【发布时间】:2022-01-23 05:07:52
【问题描述】:
我想要做的是将密钥名称列表提供给一个模块,该模块将用于在秘密管理器中生成许多具有不同随机密码的秘密。
我尝试了很多不同的方法,但到目前为止都失败了。
这是我目前拥有的:
module "secrets-manager-1" {
source = "lgallard/secrets-manager/aws"
for_each = var.list
secrets = {
"${each.value}" = {
description = each.value
recovery_window_in_days = 7
secret_string = random_password.special_password.result
}
}
tags = var.standard_tags
}
resource "random_password" "special_password" {
count = 2
length = 16
special = true
}
variable "list" {
type = list(string)
default = [
"secret_key_1",
"secret_key_2"
]
}
错误:
│ Error: Invalid for_each argument
│
│ on ..\..\modules\jitsi\jitsi_secrets.tf line 54, in module "secrets-manager-1":
│ 54: for_each = var.list
│ ├────────────────
│ │ var.list is list of string with 2 elements
│
│ The given "for_each" argument value is unsuitable: the "for_each" argument must be a map, or set of strings, and you have provided a value of type list of string.
╵
Releasing state lock. This may take a few moments...
【问题讨论】:
-
您已经描述了所需的行为,但没有描述当前的行为。我不会运行它只是为了看看它做了什么,所以我理解你的问题。请在问题本身中包含任何实际错误或不良行为。
-
嗨,马克,抱歉,这是错误:│错误:无效的 for_each 参数││在 ..\..\modules\jitsi\jitsi_secrets.tf 第 54 行,在模块“secrets-manager-1 ": │ 54: for_each = var.list │ ├──────────────── │ │ var.list 是包含 2 个元素的字符串列表 │ │ 给定的“for_each”参数值为不合适:“for_each”参数必须是映射或字符串集,并且您提供了字符串列表类型的值。 ╵ 释放状态锁。这可能需要一些时间...
-
请按照@MarkB 的要求将错误添加到问题中,而不是在评论中。
-
点击您的问题下方的
edit按钮。将错误添加到实际问题本身,格式化以便我们可以阅读它。
标签: amazon-web-services for-loop terraform aws-secrets-manager