首页 > 解决方案 > 无法在 azurerm_app_service 中获取 site_credential.username

问题描述

我有我的应用服务:

resource "azurerm_app_service" "appservice" {

  name = name",
  location = "${var.location}",
  resource_group_name = "${azurerm_resource_group.resourcegroup.name}",
  app_service_plan_id = "${azurerm_app_service_plan.appserviceplan.id}"
    app_settings{
        ...
    }
    site_config {
    dotnet_framework_version = "v4.0"
    scm_type                 = "LocalGit"
  }

}

我尝试将 site_credential.username 添加为 key_vault_secret

resource "azurerm_key_vault_secret" "key_vault_secret_publish_profile_username" {
  name = "username"

  value = "${azurerm_app_service.appservice.site_credential.username}"
  vault_uri = "${azurerm_key_vault.keyvault.vault_uri}"
}

terraform plan 没问题,当我尝试“terraform apply”时,它返回以下错误:

发生 1 个错误:

Terraform 文档规定 scm_type 必须设置为“LocalGit”=> https://www.terraform.io/docs/providers/azurerm/r/app_service.html

标签: terraformazure-web-app-serviceazure-keyvault

解决方案


尝试这个:

resource "azurerm_key_vault_secret" "key_vault_secret_publish_profile_username" {
  name = "username"

  value = "${azurerm_app_service.appservice.site_credential.0.username}"
  vault_uri = "${azurerm_key_vault.keyvault.vault_uri}"
}

推荐阅读