[英]How to create secret in existing keyvault with Terraform?
我有一个简单的 Terraform 配置来在 Azure 密钥库中创建秘密。
provider "azurerm" {
features {}
}
data "azurerm_key_vault" "SomeApp-DEV" {
name = "SomeApp-DEV"
resource_group_name = "SomeApp"
}
resource "azurerm_key_vault_secret" "test-secret" {
name = "some-key"
value = "test value"
key_vault_id = data.azurerm_key_vault.SomeApp-DEV
}
在terraform plan
之后,我收到以下错误:
Error: Incorrect attribute value type
on secret.tf line 13, in resource "azurerm_key_vault_secret" "test-secret":
13: key_vault_id = data.azurerm_key_vault.SomeApp-DEV
├────────────────
│ data.azurerm_key_vault.SomeApp-DEV is object with 17 attributes
Inappropriate value for attribute "key_vault_id": string required.
如何让它发挥作用? 我不知道这个object with 17 attributes
是什么意思?
当您使用命名空间data.<type>.<name>
访问导出的属性时,您将访问从该数据导出的整个 Map 属性(资源的导出属性也是如此)。 在这种情况下,您只需要id
的字符串,其值分配给导出属性的 Map 中的键id
:
resource "azurerm_key_vault_secret" "test-secret" {
name = "some-key"
value = "test value"
key_vault_id = data.azurerm_key_vault.SomeApp-DEV.id
}
这将解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.