Azure resource manager 将变量从terraform传递到arm模板

Azure resource manager 将变量从terraform传递到arm模板,azure-resource-manager,terraform-provider-azure,Azure Resource Manager,Terraform Provider Azure,我正在使用Terraform部署一个模板。 我们使用Terraform部署所有Azure infra,但对于AKS,有一些预览功能尚未在Terraform中,因此我们希望使用ARM模板部署AKS群集。 如果我使用TF创建日志分析工作区,如何将工作区id传递给ARM resource "azurerm_resource_group" "test" { name = "k8s-test-bram" location = "westeurope" } resource "azurer

我正在使用Terraform部署一个模板。 我们使用Terraform部署所有Azure infra,但对于AKS,有一些预览功能尚未在Terraform中,因此我们希望使用ARM模板部署AKS群集。 如果我使用TF创建日志分析工作区,如何将工作区id传递给ARM

resource "azurerm_resource_group" "test" {
  name     = "k8s-test-bram"
  location = "westeurope"
}

resource "azurerm_log_analytics_workspace" "test" {
  name                = "lawtest"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  sku                 = "PerGB2018"
  retention_in_days   = 30
}
这里是AKS ARM的一个片段,我想在其中启用监视,并引用workspaceresourceId。但是,如何定义/声明参数以从使用TF创建的工作区中获取id呢

        "properties": {
            "kubernetesVersion": "[parameters('kubernetesVersion')]",
            "enableRBAC": "[parameters('EnableRBAC')]",
            "dnsPrefix": "[parameters('DnsPrefix')]",
            "addonProfiles": {
                "httpApplicationRouting": {
                    "enabled": false
                },
                omsagent": {
                  "enabled": true,
                  "config": {
                    "logAnalyticsWorkspaceResourceID": "[parameters('workspaceResourceId')]"
                  }
                }
            },

您可以使用
azurerm\u template\u部署的parameters属性来传入参数:

  parameters = {
    "workspaceResourceId" = "${azurerm_log_analytics_workspace.test.id}"
  }

我认为它应该看起来或多或少像这样,这是官方文件。

您还需要在arm模板中添加参数:“参数”:{“WorkspaceSourceId”:{“type”:“string”},我想如果有人想问这个问题,可以方便地提及:)