我正在嘗試使用隨機生成的密碼創建三個 elasticache redis 用戶。這些 ES Redis 用戶每個都有不同的名稱,因此我使用for_each基于service_name. 這很好用!我正在運行的問題是為該用戶使用隨機密碼。我正在使用隨機密碼生成器,3每個用戶的計數為1。我無法將密碼作為串列傳遞并遇到此錯誤: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]"
uj5u.com熱心網友回復:
random_password我將使用相同的 for 回圈,而不是對數量進行硬編碼...
見下面的代碼:
resource "random_password" "pws" {
for_each = toset(var.my_service_names)
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 = [ random_password.pws[each.key].result ]
}
這樣兩個資源上的鍵是相同的,我們可以從任何回圈的資源訪問它們,my_service_names就像我在那里做的那樣:
random_password.pws[each.key].result
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/371367.html
