terraform - 无法在 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 个错误:
- azurerm_key_vault_secret.key_vault_secret_publish_profile_username:资源“azurerm_app_service.appservice”没有变量“azurerm_app_service.appservice.site_credential.username”的属性“site_credential.username”
Terraform 文档规定 scm_type 必须设置为“LocalGit”=> https://www.terraform.io/docs/providers/azurerm/r/app_service.html
解决方案
尝试这个:
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}"
}
推荐阅读
- android - 如何声明自定义 Gradle 测试任务并定义它的依赖项
- javascript - 正确渲染 HTML,包括数学标签
- xml - 使用 CSV 序列化包装时未声明的变量
- javascript - 事件侦听器被不连续地附加
- javascript - react-dom.development.js:630 错误:
属性 x:预期长度,“NaN” - windows - 无法将变量的值与 Powershell 中的字符串进行比较
- python - 多处理;如何调试:_pickle.PicklingError: 由于需要深度递归,无法腌制对象
- python - Python Pygsheet 创建 PERCENT_STACKED 条形图
- java - RmiDataSource 无法转换为 javax.sql.DataSource
- typescript - 如何在 Typescript 中为泛型 T 赋予对象约束?