From e3525093f003330cc691f36b4074ed185d9d8721 Mon Sep 17 00:00:00 2001 From: Tom Archer Date: Wed, 15 Feb 2023 16:02:33 -0800 Subject: [PATCH 1/4] Example of OpenAI generated article --- .../TestRecord.md | 1 + .../101-analysis-services-create/main.tf | 22 ++++++++++++++++++ .../101-analysis-services-create/outputs.tf | 1 + .../101-analysis-services-create/providers.tf | 16 +++++++++++++ .../101-analysis-services-create/readme.md | 19 +++++++++++++++ .../101-analysis-services-create/variables.tf | 23 +++++++++++++++++++ 6 files changed, 82 insertions(+) create mode 100644 quickstart/101-analysis-services-create/TestRecord.md create mode 100644 quickstart/101-analysis-services-create/main.tf create mode 100644 quickstart/101-analysis-services-create/outputs.tf create mode 100644 quickstart/101-analysis-services-create/providers.tf create mode 100644 quickstart/101-analysis-services-create/readme.md create mode 100644 quickstart/101-analysis-services-create/variables.tf diff --git a/quickstart/101-analysis-services-create/TestRecord.md b/quickstart/101-analysis-services-create/TestRecord.md new file mode 100644 index 00000000..5808cbaa --- /dev/null +++ b/quickstart/101-analysis-services-create/TestRecord.md @@ -0,0 +1 @@ +Article not yet tested by automated testing pipeline. \ No newline at end of file diff --git a/quickstart/101-analysis-services-create/main.tf b/quickstart/101-analysis-services-create/main.tf new file mode 100644 index 00000000..d401a6a3 --- /dev/null +++ b/quickstart/101-analysis-services-create/main.tf @@ -0,0 +1,22 @@ +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +resource "azurerm_resource_group" "rg" { + name = random_pet.rg_name.id + location = var.resource_group_location +} + +resource "azurerm_analysis_services_server" "server" { + name = var.server_name + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + sku = var.sku + backup_blob_container_uri = var.backup_blob_container_uri + + ipv4_firewall_rule { + name = "AllowFromAll" + range_start = "0.0.0.0" + range_end = "255.255.255.255" + } +} diff --git a/quickstart/101-analysis-services-create/outputs.tf b/quickstart/101-analysis-services-create/outputs.tf new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/quickstart/101-analysis-services-create/outputs.tf @@ -0,0 +1 @@ + diff --git a/quickstart/101-analysis-services-create/providers.tf b/quickstart/101-analysis-services-create/providers.tf new file mode 100644 index 00000000..e395f149 --- /dev/null +++ b/quickstart/101-analysis-services-create/providers.tf @@ -0,0 +1,16 @@ +terraform { + required_version = ">=0.12" + required_providers { + azurerm = { + source = "hashicorp/azurerm" + version = "~>2.0" + } + random = { + source = "hashicorp/random" + version = "~>3.0" + } + } +} +provider "azurerm" { + features {} +} \ No newline at end of file diff --git a/quickstart/101-analysis-services-create/readme.md b/quickstart/101-analysis-services-create/readme.md new file mode 100644 index 00000000..a8f82aab --- /dev/null +++ b/quickstart/101-analysis-services-create/readme.md @@ -0,0 +1,19 @@ +# Azure Analysis Services server + +This template deploys an Azure Analysis Services server. + +## Terraform resource types + +- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) +- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) +- [azurerm_analysis_services_server](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/analysis_services_server) + +## Variables + +| Name | Description | Default | +|-|-|-| +| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg | +| `resource_group_location` | Location of the resource group. | eastus | +| `server_name` | Name of the Azure Analysis Services server. | | +| `sku` | SKU name of the Azure Analysis Services server to create. | S0 | +| `backup_blob_container_uri` | SAS URI to a private Azure Blob Storage container with read, write and list permissions. | null | diff --git a/quickstart/101-analysis-services-create/variables.tf b/quickstart/101-analysis-services-create/variables.tf new file mode 100644 index 00000000..08dcb641 --- /dev/null +++ b/quickstart/101-analysis-services-create/variables.tf @@ -0,0 +1,23 @@ +variable "resource_group_location" { + default = "eastus" + description = "Location for all resources." +} + +variable "resource_group_name_prefix" { + default = "rg" + description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." +} + +variable "server_name" { + description = "The name of the Azure Analysis Services server to create. Server name must begin with a letter, be lowercase alphanumeric, and between 3 and 63 characters in length. Server name must be unique per region." +} + +variable "sku" { + description = "The sku name of the Azure Analysis Services server to create. Choose from: B1, B2, D1, S0, S1, S2, S3, S4, S8, S9. Some skus are region specific. See https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-overview#availability-by-region" + default = "S0" +} + +variable "backup_blob_container_uri" { + description = "The SAS URI to a private Azure Blob Storage container with read, write and list permissions. Required only if you intend to use the backup/restore functionality. See https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-backup" + default = null +} From 8d76264d9970734344129fdcce9777dd68a8074d Mon Sep 17 00:00:00 2001 From: Tom Archer Date: Thu, 16 Feb 2023 11:04:32 -0800 Subject: [PATCH 2/4] Edits per Code Review --- quickstart/101-analysis-services-create/TestRecord.md | 1 - quickstart/101-analysis-services-create/providers.tf | 2 +- quickstart/101-analysis-services-create/variables.tf | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 quickstart/101-analysis-services-create/TestRecord.md diff --git a/quickstart/101-analysis-services-create/TestRecord.md b/quickstart/101-analysis-services-create/TestRecord.md deleted file mode 100644 index 5808cbaa..00000000 --- a/quickstart/101-analysis-services-create/TestRecord.md +++ /dev/null @@ -1 +0,0 @@ -Article not yet tested by automated testing pipeline. \ No newline at end of file diff --git a/quickstart/101-analysis-services-create/providers.tf b/quickstart/101-analysis-services-create/providers.tf index e395f149..9db91bd4 100644 --- a/quickstart/101-analysis-services-create/providers.tf +++ b/quickstart/101-analysis-services-create/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~>2.0" + version = "~>3.0" } random = { source = "hashicorp/random" diff --git a/quickstart/101-analysis-services-create/variables.tf b/quickstart/101-analysis-services-create/variables.tf index 08dcb641..a52136a7 100644 --- a/quickstart/101-analysis-services-create/variables.tf +++ b/quickstart/101-analysis-services-create/variables.tf @@ -10,6 +10,7 @@ variable "resource_group_name_prefix" { variable "server_name" { description = "The name of the Azure Analysis Services server to create. Server name must begin with a letter, be lowercase alphanumeric, and between 3 and 63 characters in length. Server name must be unique per region." + default = "myserver" } variable "sku" { From 0b3252df721133851939e0e92e4c6152e4b10ef0 Mon Sep 17 00:00:00 2001 From: Tom Archer Date: Sun, 5 Mar 2023 18:11:41 -0800 Subject: [PATCH 3/4] Edits per Tech Review --- quickstart/101-analysis-services-create/main.tf | 9 ++++++++- quickstart/101-analysis-services-create/outputs.tf | 6 ++++++ quickstart/101-analysis-services-create/variables.tf | 12 +++++++++--- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/quickstart/101-analysis-services-create/main.tf b/quickstart/101-analysis-services-create/main.tf index d401a6a3..04e2cf8d 100644 --- a/quickstart/101-analysis-services-create/main.tf +++ b/quickstart/101-analysis-services-create/main.tf @@ -7,8 +7,15 @@ resource "azurerm_resource_group" "rg" { location = var.resource_group_location } +resource "random_string" "azurerm_analysis_services_server_name" { + length = 25 + upper = false + numeric = false + special = false +} + resource "azurerm_analysis_services_server" "server" { - name = var.server_name + name = random_string.azurerm_analysis_services_server_name.result resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location sku = var.sku diff --git a/quickstart/101-analysis-services-create/outputs.tf b/quickstart/101-analysis-services-create/outputs.tf index 8b137891..7aa1895d 100644 --- a/quickstart/101-analysis-services-create/outputs.tf +++ b/quickstart/101-analysis-services-create/outputs.tf @@ -1 +1,7 @@ +output "resource_group_name" { + value = azurerm_resource_group.rg.name +} +output "azurerm_analysis_services_server_name" { + value = azurerm_analysis_services_server.server.name +} diff --git a/quickstart/101-analysis-services-create/variables.tf b/quickstart/101-analysis-services-create/variables.tf index a52136a7..e26140da 100644 --- a/quickstart/101-analysis-services-create/variables.tf +++ b/quickstart/101-analysis-services-create/variables.tf @@ -1,24 +1,30 @@ variable "resource_group_location" { + type = string default = "eastus" description = "Location for all resources." } variable "resource_group_name_prefix" { + type = string default = "rg" description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." } -variable "server_name" { - description = "The name of the Azure Analysis Services server to create. Server name must begin with a letter, be lowercase alphanumeric, and between 3 and 63 characters in length. Server name must be unique per region." - default = "myserver" +variable "azurerm_analysis_services_server_name_prefix" { + type = string + default = "mys" + description = "Prefix of the Azure Analysis Services Server name that's combined with a random string to create a unique server name in your Azure subscription." } variable "sku" { + type = string description = "The sku name of the Azure Analysis Services server to create. Choose from: B1, B2, D1, S0, S1, S2, S3, S4, S8, S9. Some skus are region specific. See https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-overview#availability-by-region" default = "S0" } variable "backup_blob_container_uri" { + type = string description = "The SAS URI to a private Azure Blob Storage container with read, write and list permissions. Required only if you intend to use the backup/restore functionality. See https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-backup" default = null } + From 5a1bf92dd1c8ebc7ca38ef6ace90d363f4ce891b Mon Sep 17 00:00:00 2001 From: Tom Archer Date: Tue, 7 Mar 2023 05:46:49 -0800 Subject: [PATCH 4/4] Ran 'terraform fmt' --- quickstart/101-analysis-services-create/main.tf | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/quickstart/101-analysis-services-create/main.tf b/quickstart/101-analysis-services-create/main.tf index 04e2cf8d..af1c6128 100644 --- a/quickstart/101-analysis-services-create/main.tf +++ b/quickstart/101-analysis-services-create/main.tf @@ -9,21 +9,21 @@ resource "azurerm_resource_group" "rg" { resource "random_string" "azurerm_analysis_services_server_name" { length = 25 - upper = false + upper = false numeric = false special = false } resource "azurerm_analysis_services_server" "server" { - name = random_string.azurerm_analysis_services_server_name.result - resource_group_name = azurerm_resource_group.rg.name - location = azurerm_resource_group.rg.location - sku = var.sku + name = random_string.azurerm_analysis_services_server_name.result + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + sku = var.sku backup_blob_container_uri = var.backup_blob_container_uri ipv4_firewall_rule { - name = "AllowFromAll" + name = "AllowFromAll" range_start = "0.0.0.0" - range_end = "255.255.255.255" + range_end = "255.255.255.255" } }