diff --git a/quickstart/101-ai-studio/README.md b/quickstart/101-ai-foundry/README.md similarity index 87% rename from quickstart/101-ai-studio/README.md rename to quickstart/101-ai-foundry/README.md index 19df45c4d..84c7bc188 100644 --- a/quickstart/101-ai-studio/README.md +++ b/quickstart/101-ai-foundry/README.md @@ -1,9 +1,8 @@ -# Azure AI Studio +# Azure AI Foundry -This deployment configuration specifies an [Azure AI hub](https://learn.microsoft.com/en-us/azure/ai-studio/concepts/ai-resources), -and its associated resources including Azure Key Vault, Azure Storage. You can optionally provision and attach Azure Application Insights and Azure Container Registry. +This deployment configuration specifies an [Azure AI hub](https://learn.microsoft.com/en-us/azure/ai-studio/concepts/ai-resources), and its associated resources including Azure Key Vault, Azure Storage. You can optionally provision and attach Azure Application Insights and Azure Container Registry. -This configuration describes the minimal set of resources you require to get started with Azure AI Studio. +This configuration describes the minimal set of resources you require to get started with Azure AI Foundry. ## Resources diff --git a/quickstart/101-ai-studio/main.tf b/quickstart/101-ai-foundry/main.tf similarity index 69% rename from quickstart/101-ai-studio/main.tf rename to quickstart/101-ai-foundry/main.tf index ca348732e..4640eeafa 100644 --- a/quickstart/101-ai-studio/main.tf +++ b/quickstart/101-ai-foundry/main.tf @@ -1,8 +1,8 @@ -resource "random_pet" "rg_name" { +// Resource group +resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } -// RESOURCE GROUP resource "azurerm_resource_group" "rg" { location = var.resource_group_location name = random_pet.rg_name.id @@ -11,7 +11,7 @@ resource "azurerm_resource_group" "rg" { data "azurerm_client_config" "current" { } -// STORAGE ACCOUNT +// Storage Account resource "azurerm_storage_account" "default" { name = "${var.prefix}storage${random_string.suffix.result}" location = azurerm_resource_group.rg.location @@ -21,7 +21,7 @@ resource "azurerm_storage_account" "default" { allow_nested_items_to_be_public = false } -// KEY VAULT +// Key Vault resource "azurerm_key_vault" "default" { name = "${var.prefix}keyvault${random_string.suffix.result}" location = azurerm_resource_group.rg.location @@ -32,51 +32,51 @@ resource "azurerm_key_vault" "default" { } // AzAPI AIServices -resource "azapi_resource" "AIServicesResource"{ - type = "Microsoft.CognitiveServices/accounts@2023-10-01-preview" - name = "AIServicesResource${random_string.suffix.result}" - location = azurerm_resource_group.rg.location +resource "azapi_resource" "AIServicesResource" { + type = "Microsoft.CognitiveServices/accounts@2024-10-01" + name = "AIServicesResource${random_string.suffix.result}" + location = azurerm_resource_group.rg.location parent_id = azurerm_resource_group.rg.id identity { type = "SystemAssigned" } - body = jsonencode({ + body = { name = "AIServicesResource${random_string.suffix.result}" properties = { //restore = true customSubDomainName = "${random_string.suffix.result}domain" - apiProperties = { - statisticsEnabled = false - } + apiProperties = { + statisticsEnabled = false + } } kind = "AIServices" sku = { - name = var.sku + name = var.sku } - }) + } response_export_values = ["*"] } // Azure AI Hub resource "azapi_resource" "hub" { - type = "Microsoft.MachineLearningServices/workspaces@2024-04-01-preview" - name = "${random_pet.rg_name.id}-aih" - location = azurerm_resource_group.rg.location + type = "Microsoft.MachineLearningServices/workspaces/connections@2024-10-01" + name = "${random_pet.rg_name.id}-aih" + location = azurerm_resource_group.rg.location parent_id = azurerm_resource_group.rg.id identity { type = "SystemAssigned" } - body = jsonencode({ + body = { properties = { - description = "This is my Azure AI hub" - friendlyName = "My Hub" + description = "This is my Azure AI hub" + friendlyName = "My Hub" storageAccount = azurerm_storage_account.default.id - keyVault = azurerm_key_vault.default.id + keyVault = azurerm_key_vault.default.id /* Optional: To enable these field, the corresponding dependent resources need to be uncommented. applicationInsight = azurerm_application_insights.default.id @@ -92,17 +92,17 @@ resource "azapi_resource" "hub" { } } */ - + } kind = "hub" - }) + } } // Azure AI Project resource "azapi_resource" "project" { - type = "Microsoft.MachineLearningServices/workspaces@2024-04-01-preview" - name = "my-ai-project${random_string.suffix.result}" - location = azurerm_resource_group.rg.location + type = "Microsoft.MachineLearningServices/workspaces@2024-04-01-preview" + name = "my-ai-project${random_string.suffix.result}" + location = azurerm_resource_group.rg.location parent_id = azurerm_resource_group.rg.id identity { @@ -111,8 +111,8 @@ resource "azapi_resource" "project" { body = jsonencode({ properties = { - description = "This is my Azure AI PROJECT" - friendlyName = "My Project" + description = "This is my Azure AI PROJECT" + friendlyName = "My Project" hubResourceId = azapi_resource.hub.id } kind = "project" @@ -121,22 +121,22 @@ resource "azapi_resource" "project" { // AzAPI AI Services Connection resource "azapi_resource" "AIServicesConnection" { - type = "Microsoft.MachineLearningServices/workspaces/connections@2024-04-01-preview" - name = "Default_AIServices${random_string.suffix.result}" + type = "Microsoft.MachineLearningServices/workspaces/connections@2024-04-01-preview" + name = "Default_AIServices${random_string.suffix.result}" parent_id = azapi_resource.hub.id body = jsonencode({ - properties = { - category = "AIServices", - target = jsondecode(azapi_resource.AIServicesResource.output).properties.endpoint, - authType = "AAD", - isSharedToAll = true, - metadata = { - ApiType = "Azure", - ResourceId = azapi_resource.AIServicesResource.id - } + properties = { + category = "AIServices", + target = jsondecode(azapi_resource.AIServicesResource.output).properties.endpoint, + authType = "AAD", + isSharedToAll = true, + metadata = { + ApiType = "Azure", + ResourceId = azapi_resource.AIServicesResource.id } - }) + } + }) response_export_values = ["*"] } diff --git a/quickstart/101-ai-studio/outputs.tf b/quickstart/101-ai-foundry/outputs.tf similarity index 50% rename from quickstart/101-ai-studio/outputs.tf rename to quickstart/101-ai-foundry/outputs.tf index 3c3f6c5f7..a44c5fb24 100644 --- a/quickstart/101-ai-studio/outputs.tf +++ b/quickstart/101-ai-foundry/outputs.tf @@ -3,9 +3,9 @@ output "resource_group_name" { } output "workspace_name" { - value = azapi_resource.project.id + value = azapi_resource.project.id } output "endpoint" { - value = jsondecode(azapi_resource.AIServicesResource.output).properties.endpoint + value = azapi_resource.AIServicesResource.output } \ No newline at end of file diff --git a/quickstart/101-ai-studio/providers.tf b/quickstart/101-ai-foundry/providers.tf similarity index 88% rename from quickstart/101-ai-studio/providers.tf rename to quickstart/101-ai-foundry/providers.tf index f802a3690..dcd6872cb 100644 --- a/quickstart/101-ai-studio/providers.tf +++ b/quickstart/101-ai-foundry/providers.tf @@ -1,13 +1,14 @@ terraform { required_version = ">= 1.0" - required_providers { + required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~>3.0" + version = "~>4.0" } azapi = { source = "azure/azapi" + version = "~>2.0" } random = { source = "hashicorp/random" diff --git a/quickstart/101-ai-studio/variables.tf b/quickstart/101-ai-foundry/variables.tf similarity index 56% rename from quickstart/101-ai-studio/variables.tf rename to quickstart/101-ai-foundry/variables.tf index 8d6d24841..d72597413 100644 --- a/quickstart/101-ai-studio/variables.tf +++ b/quickstart/101-ai-foundry/variables.tf @@ -1,40 +1,40 @@ -variable "resource_group_location" { - type = string - default = "eastus" - description = "Location of the resource group." -} - -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 "prefix" { - type = string - description="This variable is used to name the hub, project, and dependent resources." - default = "ai" -} - -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" -} - -resource "random_string" "suffix" { - length = 4 - special = false - upper = false -} - -/*Optional: For Customer Managed Keys, uncomment this part AND the corresponding section in main.tf -variable "cmk_keyvault_key_uri" { - description = "Key vault uri to access the encryption key." -} - -variable "encryption_status" { - description = "Indicates whether or not the encryption is enabled for the workspace." - default = "Enabled" -} +variable "resource_group_location" { + type = string + default = "eastus" + description = "Location of the resource group." +} + +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 "prefix" { + type = string + description = "This variable is used to name the hub, project, and dependent resources." + default = "ai" +} + +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" +} + +resource "random_string" "suffix" { + length = 4 + special = false + upper = false +} + +/*Optional: For Customer Managed Keys, uncomment this part AND the corresponding section in main.tf +variable "cmk_keyvault_key_uri" { + description = "Key vault uri to access the encryption key." +} + +variable "encryption_status" { + description = "Indicates whether or not the encryption is enabled for the workspace." + default = "Enabled" +} */ \ No newline at end of file diff --git a/quickstart/101-ai-studio/TestRecord.md b/quickstart/101-ai-studio/TestRecord.md deleted file mode 100644 index b2778a139..000000000 --- a/quickstart/101-ai-studio/TestRecord.md +++ /dev/null @@ -1,1077 +0,0 @@ -## 16 Feb 25 01:09 UTC - -Success: false - -### Versions - -Terraform v1.10.5 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.2.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - -Error: - Error Trace: /home/runtimeuser/go/pkg/mod/github.com/gruntwork-io/terratest@v0.48.1/modules/terraform/apply.go:34 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:111 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:91 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:59 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:55 - /src/test/e2e/quickstart_test.go:50 - Error: Received unexpected error: - FatalError{Underlying: error while running command: exit status 1; ╷ - │ Error: Invalid body - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 35, in resource "azapi_resource" "AIServicesResource": - │  35: resource "azapi_resource" "AIServicesResource"{ - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"AIServices\",\"name\":\"AIServicesResource7a4a\",\"properties\":{\"apiProperties\":{\"statisticsEnabled\":false},\"customSubDomainName\":\"7a4adomain\"},\"sku\":{\"name\":\"S0\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 45, in resource "azapi_resource" "AIServicesResource": - │  45: body = jsonencode({ - │  46: name = "AIServicesResource${random_string.suffix.result}" - │  47: properties = { - │  48: //restore = true - │  49: customSubDomainName = "${random_string.suffix.result}domain" - │  50: apiProperties = { - │  51: statisticsEnabled = false - │  52: } - │  53: } - │  54: kind = "AIServices" - │  55: sku = { - │  56: name = var.sku - │  57: } - │  58: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵ - ╷ - │ Error: Invalid body - │  - │  with azapi_resource.hub, - │  on main.tf line 64, in resource "azapi_resource" "hub": - │  64: resource "azapi_resource" "hub" { - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"hub\",\"properties\":{\"description\":\"This is my Azure AI - │ hub\",\"friendlyName\":\"My - │ Hub\",\"keyVault\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-wise-rattler/providers/Microsoft.KeyVault/vaults/aikeyvault7a4a\",\"storageAccount\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-wise-rattler/providers/Microsoft.Storage/storageAccounts/aistorage7a4a\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.hub, - │  on main.tf line 74, in resource "azapi_resource" "hub": - │  74: body = jsonencode({ - │  75: properties = { - │  76: description = "This is my Azure AI hub" - │  77: friendlyName = "My Hub" - │  78: storageAccount = azurerm_storage_account.default.id - │  79: keyVault = azurerm_key_vault.default.id - │  80: /* Optional: To enable these field, the corresponding dependent resources need to be uncommented. - │  81: applicationInsight = azurerm_application_insights.default.id - │  82: containerRegistry = azurerm_container_registry.default.id - │  83: */ - │  84: /*Optional: To enable Customer Managed Keys, the corresponding - │  85: encryption = { - │  86: status = var.encryption_status - │  87: keyVaultProperties = { - │  88: keyVaultArmId = azurerm_key_vault.default.id - │  89: keyIdentifier = var.cmk_keyvault_key_uri - │  90: } - │  91: } - │  92: */ - │  93: - │  94: } - │  95: kind = "hub" - │  96: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵} - Test: Test_Quickstarts/quickstart/101-ai-studio - -FailNow - ---- - -## 09 Feb 25 01:16 UTC - -Success: false - -### Versions - -Terraform v1.10.5 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.2.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - -Error: - Error Trace: /home/runtimeuser/go/pkg/mod/github.com/gruntwork-io/terratest@v0.48.1/modules/terraform/apply.go:34 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:111 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:91 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:59 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:55 - /src/test/e2e/quickstart_test.go:50 - Error: Received unexpected error: - FatalError{Underlying: error while running command: exit status 1; ╷ - │ Error: Invalid body - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 35, in resource "azapi_resource" "AIServicesResource": - │  35: resource "azapi_resource" "AIServicesResource"{ - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"AIServices\",\"name\":\"AIServicesResourcekryb\",\"properties\":{\"apiProperties\":{\"statisticsEnabled\":false},\"customSubDomainName\":\"krybdomain\"},\"sku\":{\"name\":\"S0\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 45, in resource "azapi_resource" "AIServicesResource": - │  45: body = jsonencode({ - │  46: name = "AIServicesResource${random_string.suffix.result}" - │  47: properties = { - │  48: //restore = true - │  49: customSubDomainName = "${random_string.suffix.result}domain" - │  50: apiProperties = { - │  51: statisticsEnabled = false - │  52: } - │  53: } - │  54: kind = "AIServices" - │  55: sku = { - │  56: name = var.sku - │  57: } - │  58: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵ - ╷ - │ Error: Invalid body - │  - │  with azapi_resource.hub, - │  on main.tf line 64, in resource "azapi_resource" "hub": - │  64: resource "azapi_resource" "hub" { - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"hub\",\"properties\":{\"description\":\"This is my Azure AI - │ hub\",\"friendlyName\":\"My - │ Hub\",\"keyVault\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-ideal-llama/providers/Microsoft.KeyVault/vaults/aikeyvaultkryb\",\"storageAccount\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-ideal-llama/providers/Microsoft.Storage/storageAccounts/aistoragekryb\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.hub, - │  on main.tf line 74, in resource "azapi_resource" "hub": - │  74: body = jsonencode({ - │  75: properties = { - │  76: description = "This is my Azure AI hub" - │  77: friendlyName = "My Hub" - │  78: storageAccount = azurerm_storage_account.default.id - │  79: keyVault = azurerm_key_vault.default.id - │  80: /* Optional: To enable these field, the corresponding dependent resources need to be uncommented. - │  81: applicationInsight = azurerm_application_insights.default.id - │  82: containerRegistry = azurerm_container_registry.default.id - │  83: */ - │  84: /*Optional: To enable Customer Managed Keys, the corresponding - │  85: encryption = { - │  86: status = var.encryption_status - │  87: keyVaultProperties = { - │  88: keyVaultArmId = azurerm_key_vault.default.id - │  89: keyIdentifier = var.cmk_keyvault_key_uri - │  90: } - │  91: } - │  92: */ - │  93: - │  94: } - │  95: kind = "hub" - │  96: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵} - Test: Test_Quickstarts/quickstart/101-ai-studio - -FailNow - ---- - -## 02 Feb 25 01:29 UTC - -Success: false - -### Versions - -Terraform v1.10.2 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.2.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - -Error: - Error Trace: /home/runtimeuser/go/pkg/mod/github.com/gruntwork-io/terratest@v0.48.1/modules/terraform/apply.go:34 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:111 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:91 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:59 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:55 - /src/test/e2e/quickstart_test.go:50 - Error: Received unexpected error: - FatalError{Underlying: error while running command: exit status 1; ╷ - │ Error: Invalid body - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 35, in resource "azapi_resource" "AIServicesResource": - │  35: resource "azapi_resource" "AIServicesResource"{ - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"AIServices\",\"name\":\"AIServicesResource9c63\",\"properties\":{\"apiProperties\":{\"statisticsEnabled\":false},\"customSubDomainName\":\"9c63domain\"},\"sku\":{\"name\":\"S0\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 45, in resource "azapi_resource" "AIServicesResource": - │  45: body = jsonencode({ - │  46: name = "AIServicesResource${random_string.suffix.result}" - │  47: properties = { - │  48: //restore = true - │  49: customSubDomainName = "${random_string.suffix.result}domain" - │  50: apiProperties = { - │  51: statisticsEnabled = false - │  52: } - │  53: } - │  54: kind = "AIServices" - │  55: sku = { - │  56: name = var.sku - │  57: } - │  58: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵ - ╷ - │ Error: Invalid body - │  - │  with azapi_resource.hub, - │  on main.tf line 64, in resource "azapi_resource" "hub": - │  64: resource "azapi_resource" "hub" { - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"hub\",\"properties\":{\"description\":\"This is my Azure AI - │ hub\",\"friendlyName\":\"My - │ Hub\",\"keyVault\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-divine-marlin/providers/Microsoft.KeyVault/vaults/aikeyvault9c63\",\"storageAccount\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-divine-marlin/providers/Microsoft.Storage/storageAccounts/aistorage9c63\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.hub, - │  on main.tf line 74, in resource "azapi_resource" "hub": - │  74: body = jsonencode({ - │  75: properties = { - │  76: description = "This is my Azure AI hub" - │  77: friendlyName = "My Hub" - │  78: storageAccount = azurerm_storage_account.default.id - │  79: keyVault = azurerm_key_vault.default.id - │  80: /* Optional: To enable these field, the corresponding dependent resources need to be uncommented. - │  81: applicationInsight = azurerm_application_insights.default.id - │  82: containerRegistry = azurerm_container_registry.default.id - │  83: */ - │  84: /*Optional: To enable Customer Managed Keys, the corresponding - │  85: encryption = { - │  86: status = var.encryption_status - │  87: keyVaultProperties = { - │  88: keyVaultArmId = azurerm_key_vault.default.id - │  89: keyIdentifier = var.cmk_keyvault_key_uri - │  90: } - │  91: } - │  92: */ - │  93: - │  94: } - │  95: kind = "hub" - │  96: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵} - Test: Test_Quickstarts/quickstart/101-ai-studio - -FailNow - ---- - -## 26 Jan 25 02:11 UTC - -Success: false - -### Versions - -Terraform v1.10.2 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.2.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - -Error: - Error Trace: /home/runtimeuser/go/pkg/mod/github.com/gruntwork-io/terratest@v0.48.1/modules/terraform/apply.go:34 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:111 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:91 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:59 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:55 - /src/test/e2e/quickstart_test.go:50 - Error: Received unexpected error: - FatalError{Underlying: error while running command: exit status 1; ╷ - │ Error: Invalid body - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 35, in resource "azapi_resource" "AIServicesResource": - │  35: resource "azapi_resource" "AIServicesResource"{ - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"AIServices\",\"name\":\"AIServicesResourcee2sq\",\"properties\":{\"apiProperties\":{\"statisticsEnabled\":false},\"customSubDomainName\":\"e2sqdomain\"},\"sku\":{\"name\":\"S0\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 45, in resource "azapi_resource" "AIServicesResource": - │  45: body = jsonencode({ - │  46: name = "AIServicesResource${random_string.suffix.result}" - │  47: properties = { - │  48: //restore = true - │  49: customSubDomainName = "${random_string.suffix.result}domain" - │  50: apiProperties = { - │  51: statisticsEnabled = false - │  52: } - │  53: } - │  54: kind = "AIServices" - │  55: sku = { - │  56: name = var.sku - │  57: } - │  58: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵ - ╷ - │ Error: Invalid body - │  - │  with azapi_resource.hub, - │  on main.tf line 64, in resource "azapi_resource" "hub": - │  64: resource "azapi_resource" "hub" { - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"hub\",\"properties\":{\"description\":\"This is my Azure AI - │ hub\",\"friendlyName\":\"My - │ Hub\",\"keyVault\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-suitable-dragon/providers/Microsoft.KeyVault/vaults/aikeyvaulte2sq\",\"storageAccount\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-suitable-dragon/providers/Microsoft.Storage/storageAccounts/aistoragee2sq\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.hub, - │  on main.tf line 74, in resource "azapi_resource" "hub": - │  74: body = jsonencode({ - │  75: properties = { - │  76: description = "This is my Azure AI hub" - │  77: friendlyName = "My Hub" - │  78: storageAccount = azurerm_storage_account.default.id - │  79: keyVault = azurerm_key_vault.default.id - │  80: /* Optional: To enable these field, the corresponding dependent resources need to be uncommented. - │  81: applicationInsight = azurerm_application_insights.default.id - │  82: containerRegistry = azurerm_container_registry.default.id - │  83: */ - │  84: /*Optional: To enable Customer Managed Keys, the corresponding - │  85: encryption = { - │  86: status = var.encryption_status - │  87: keyVaultProperties = { - │  88: keyVaultArmId = azurerm_key_vault.default.id - │  89: keyIdentifier = var.cmk_keyvault_key_uri - │  90: } - │  91: } - │  92: */ - │  93: - │  94: } - │  95: kind = "hub" - │  96: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵} - Test: Test_Quickstarts/quickstart/101-ai-studio - -FailNow - ---- - -## 23 Jan 25 10:35 UTC - -Success: false - -### Versions - -Terraform v1.10.2 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.2.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - -Error: - Error Trace: /home/runtimeuser/go/pkg/mod/github.com/gruntwork-io/terratest@v0.48.1/modules/terraform/apply.go:34 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:111 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:91 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:59 - /home/runtimeuser/go/pkg/mod/github.com/!azure/terraform-module-test-helper@v0.31.0/e2etest.go:55 - /src/test/e2e/quickstart_test.go:50 - Error: Received unexpected error: - FatalError{Underlying: error while running command: exit status 1; ╷ - │ Error: Invalid body - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 35, in resource "azapi_resource" "AIServicesResource": - │  35: resource "azapi_resource" "AIServicesResource"{ - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"AIServices\",\"name\":\"AIServicesResource8u1q\",\"properties\":{\"apiProperties\":{\"statisticsEnabled\":false},\"customSubDomainName\":\"8u1qdomain\"},\"sku\":{\"name\":\"S0\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.AIServicesResource, - │  on main.tf line 45, in resource "azapi_resource" "AIServicesResource": - │  45: body = jsonencode({ - │  46: name = "AIServicesResource${random_string.suffix.result}" - │  47: properties = { - │  48: //restore = true - │  49: customSubDomainName = "${random_string.suffix.result}domain" - │  50: apiProperties = { - │  51: statisticsEnabled = false - │  52: } - │  53: } - │  54: kind = "AIServices" - │  55: sku = { - │  56: name = var.sku - │  57: } - │  58: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵ - ╷ - │ Error: Invalid body - │  - │  with azapi_resource.hub, - │  on main.tf line 64, in resource "azapi_resource" "hub": - │  64: resource "azapi_resource" "hub" { - │  - │ The argument "body" is invalid: unmarshaling failed: value: - │ "{\"kind\":\"hub\",\"properties\":{\"description\":\"This is my Azure AI - │ hub\",\"friendlyName\":\"My - │ Hub\",\"keyVault\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-deciding-sunbeam/providers/Microsoft.KeyVault/vaults/aikeyvault8u1q\",\"storageAccount\":\"/subscriptions/f7a632a5-49db-4c5e-9828-cd62cb753971/resourceGroups/rg-deciding-sunbeam/providers/Microsoft.Storage/storageAccounts/aistorage8u1q\"}}", - │ err: json: cannot unmarshal string into Go value of type - │ map[string]interface {} - ╵ - ╷ - │ Error: Invalid Type - │  - │  with azapi_resource.hub, - │  on main.tf line 74, in resource "azapi_resource" "hub": - │  74: body = jsonencode({ - │  75: properties = { - │  76: description = "This is my Azure AI hub" - │  77: friendlyName = "My Hub" - │  78: storageAccount = azurerm_storage_account.default.id - │  79: keyVault = azurerm_key_vault.default.id - │  80: /* Optional: To enable these field, the corresponding dependent resources need to be uncommented. - │  81: applicationInsight = azurerm_application_insights.default.id - │  82: containerRegistry = azurerm_container_registry.default.id - │  83: */ - │  84: /*Optional: To enable Customer Managed Keys, the corresponding - │  85: encryption = { - │  86: status = var.encryption_status - │  87: keyVaultProperties = { - │  88: keyVaultArmId = azurerm_key_vault.default.id - │  89: keyIdentifier = var.cmk_keyvault_key_uri - │  90: } - │  91: } - │  92: */ - │  93: - │  94: } - │  95: kind = "hub" - │  96: }) - │  - │ The value must not be a string. From 2.0, the value only accepts an HCL - │ object. Please refer to the documentation for more information: - │ https://registry.terraform.io/providers/Azure/azapi/latest/docs/guides/2.0-upgrade-guide#dynamic-properties-support - ╵} - Test: Test_Quickstarts/quickstart/101-ai-studio - -FailNow - ---- - -## 19 Jan 25 02:00 UTC - -Success: false - -### Versions - -Terraform v1.10.2 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.2.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 12 Jan 25 02:08 UTC - -Success: false - -### Versions - -Terraform v1.10.2 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.2.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 05 Jan 25 03:00 UTC - -Success: false - -### Versions - -Terraform v1.10.2 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.2.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 29 Dec 24 00:21 UTC - -Success: false - -### Versions - -Terraform v1.10.2 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.1.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 22 Dec 24 00:29 UTC - -Success: false - -### Versions - -Terraform v1.10.2 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.1.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 15 Dec 24 02:33 UTC - -Success: false - -### Versions - -Terraform v1.10.1 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.1.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 08 Dec 24 00:11 UTC - -Success: false - -### Versions - -Terraform v1.9.6 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.1.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 01 Dec 24 00:17 UTC - -Success: false - -### Versions - -Terraform v1.9.6 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.1.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 24 Nov 24 02:51 UTC - -Success: false - -### Versions - -Terraform v1.9.6 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.0.1 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 17 Nov 24 01:32 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.0.1 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 10 Nov 24 02:58 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.0.1 -+ provider registry.terraform.io/hashicorp/azurerm v3.117.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 03 Nov 24 02:22 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.0.1 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 27 Oct 24 00:30 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v2.0.1 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 20 Oct 24 02:31 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 13 Oct 24 02:02 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 06 Oct 24 00:55 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 29 Sep 24 05:10 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 29 Sep 24 02:51 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 29 Sep 24 00:11 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 27 Sep 24 07:07 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 22 Sep 24 00:15 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 18 Sep 24 03:30 UTC - -Success: false - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.3 - -### Error - - - ---- - -## 08 Sep 24 02:33 UTC - -Success: true - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.2 - -### Error - - - ---- - -## 01 Sep 24 02:35 UTC - -Success: true - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.2 - -### Error - - - ---- - -## 25 Aug 24 02:22 UTC - -Success: true - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.2 - -### Error - - - ---- - -## 18 Aug 24 02:25 UTC - -Success: true - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.15.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.116.0 -+ provider registry.terraform.io/hashicorp/random v3.6.2 - -### Error - - - ---- - -## 11 Aug 24 02:09 UTC - -Success: true - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.14.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.115.0 -+ provider registry.terraform.io/hashicorp/random v3.6.2 - -### Error - - - ---- - -## 04 Aug 24 02:13 UTC - -Success: true - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.14.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.114.0 -+ provider registry.terraform.io/hashicorp/random v3.6.2 - -### Error - - - ---- - -## 01 Aug 24 03:14 UTC - -Success: true - -### Versions - -Terraform v1.9.3 -on linux_amd64 -+ provider registry.terraform.io/azure/azapi v1.14.0 -+ provider registry.terraform.io/hashicorp/azurerm v3.113.0 -+ provider registry.terraform.io/hashicorp/random v3.6.2 - -### Error - - - ---- -