请参阅以下示例:
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")}"
}
Run Code Online (Sandbox Code Playgroud)
从数据资源中查找纯文本值似乎是不可能的。
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,*和字典的语法没有什么作品。
我的var.keys样子是:
keys = {
key-name-one = "sssss"
key-name-two = "sss"
}
Run Code Online (Sandbox Code Playgroud) 如果 Go 存储库go.mod在其根目录中有一个文件,但在子文件夹中也有一个文件,那么子模块的版本是如何发布的?
举例来说,我的团队一直在我们内部 cli 工具上使用 vault。我们最终使用了:
github.com/hashicorp/vault/api <-- 有一个 go.mod
和
github.com/hashicorp/vault/commands <-- 没有 go.mod 所以继承自 github.com/hashicorp/vault
我正在尝试将 vault/api 更新到最新版本 1.3.3:
github.com/hashicorp/vault v1.3.3
github.com/hashicorp/vault/api v1.3.3
Run Code Online (Sandbox Code Playgroud)
问题是我得到:
go: github.com/hashicorp/vault/api@v1.3.3: reading github.com/hashicorp/vault/api/api/go.mod at revision api/v1.3.3: unknown revision api/v1.3.3
我认为这是由这个根模块和冲突引起的。