【发布时间】:2021-12-01 23:42:02
【问题描述】:
我正在尝试使用随机生成的密码创建三个 elasticache redis 用户。这些 ES Redis 用户每个都有不同的名称,因此我使用for_each 根据service_name 设置用户名。这很好用!我正在运行的问题是为该用户使用随机密码。我正在使用随机密码生成器,每个用户的计数为3。我无法将密码作为列表传递并遇到此错误:Inappropriate value for attribute "passwords": set of string required. 任何帮助将不胜感激。
resource "random_password" "my_passwords" {
count = 3
length = 19
special = true
override_special = "_%@"
}
resource "aws_elasticache_user" "my-users" {
for_each = toset(var.my_service_names)
user_id = "${each.key}-${var.env}"
user_name = "${each.key}-${var.env}"
access_string = "on ~* +@all"
engine = "REDIS"
passwords = "[for r random_password.my_passwords : r.result]"
【问题讨论】:
-
passwords参数的值中有错字。由于"的拼写错误,您将list构造函数中的for表达式转换为文字字符串。从值中删除拼写错误",让我们知道接下来会发生什么。 -
我解决了这个问题 - 仍然是同样的问题。
标签: amazon-web-services terraform