请参阅下面的示例:
data "aws_kms_secrets" "api_key" {
count = "${length(keys(var.keys))}"
secret {
name = "secret_name"
payload = "${element(values(var.keys), count.index)}"
}
}
resource "aws_api_gateway_api_key" "access_key" {
count = "${length(keys(var.keys))}"
name = "${var.environment}-${element(keys(var.keys), count.index)}"
value = "${lookup(element(data.aws_kms_secrets.api_key.*.plaintext, count.index), "secret_name")}"
}
从数据资源中查找明文值似乎是不可能的。
value = "${lookup(element(data.aws_kms_secrets.api_key.*.plaintext, count.index), "secret_name")}"
结果是lookup: argument 1 should be type map, got type string in:
我尝试过很多组合element
,lookup
,*
,并且字典语法不起作用。
my var.keys
好像:
keys = {
key-name-one = "sssss"
key-name-two = "sss"
}
这里的技巧是使用字典语法来替换元素调用,它在映射列表中表现得更好。
value = "${lookup(data.aws_kms_secrets.api_key.*.plaintext[count.index], "secret_name")}"
这很诱人data.aws_kms_secrets.api_key[count.index].plaintext
这不是有效的 HCL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)