小编Ric*_*ess的帖子

Terraform:如何读取地图清单?

请参阅以下示例:

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:

我已经尝试了多种组合elementlookup*和字典的语法没有什么作品。

我的var.keys样子是:

keys = {
  key-name-one = "sssss"
  key-name-two = "sss"
}
Run Code Online (Sandbox Code Playgroud)

terraform

5
推荐指数
1
解决办法
6306
查看次数

如何管理子模块的版本?

如果 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

我认为这是由这个根模块和冲突引起的。

go hashicorp-vault

2
推荐指数
1
解决办法
1062
查看次数

标签 统计

go ×1

hashicorp-vault ×1

terraform ×1