【问题标题】:Terraform utilize a value passed into a Data SourceTerraform 利用传递到数据源的值
【发布时间】:2022-12-17 00:42:21
【问题描述】:

如何使用传递到数据源的值? snowflake_user.userSVC_db 似乎没有问题,因为它正确地指出我想检查 Azure Key Vault 中名称为 INGEROIS_ABB_PBI_SVC 的 Secret 是否存在

resource "snowflake_user" "userSVC_db" {
  for_each             = var.user_collection
  name                 = each.key
  ...
  password             =  ( each.value.password_overwrite == false ? random_password.password[ index(keys(var.user_collection), each.key) ].result : (                                                           
                            each.value.password_overwrite == true  ? random_password.password-overwrite.result : (
                            each.value.password_overwrite == null ? data.azurerm_key_vault_secret.secret_check["PM-${replace(each.value.name, "_", "-")}"].value : null
  )
 )
)
}

问题是我不知道我应该如何表达应该将传递的值分配给属性 name 而不是遍历整个集合:

data "azurerm_key_vault_secret" "secret_check" {
  for_each     = var.user_collection
  name         = "PM-${replace(each.value.name, "_", "-")}"
  key_vault_id = module.variables.keyVault-id
}

【问题讨论】:

    标签: azure terraform terraform-provider-azure


    【解决方案1】:

    您可以使用以下语法引用密钥保管库机密 ID:

    azurerm_key_vault_secret.secret_checkSecrets["KEY-VALUE-FROM-user_collection"].id
    

    值“KEY-VALUE-FROM-user_collection”来自您的循环 var.user_collection

    【讨论】:

      猜你喜欢
      • 2019-12-20
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 2019-04-27
      • 2018-09-20
      • 2017-06-11
      相关资源
      最近更新 更多