[英]Iterating through a Terraform object list variable and outputting string value
可以在這里使用一些指導。
我有以下列表變量,其中包含許多美國州的兩個字符串值(名稱、短名稱):
variable "states" {
type = list(object({
name = string
short_name = string
}))
description = "State List"
default = [
{
name = "New Jersey"
short_name = "nj"
},
{
name = "Michigan"
short_name = "mi"
]
}
我需要遍歷此列表和 output 將“short_name”字符串的每個索引放入我的 common.tfvars 文件中的通用代碼塊中。
代碼塊看起來像這樣並且只包含字符串:
generic_code_block = [
"Stateofnj"
"Stateofmi"
]
我想調整此代碼塊,因此只需要編寫一行代碼,它將遍歷 short_name 字符串值的列表。
這對於未創建資源的通用代碼塊是否可行?
我想象一個類似於此的概念可以工作,但我不確定如何將它組合在一起。
generic_code_block = [
"Stateof" + for_each = toSet(var.States.short_name) + "
]
將不勝感激任何幫助謝謝。
這可以通過一個簡單for
循環來完成:
variable "states" {
type = list(object({
name = string
short_name = string
}))
description = "State List"
default = [
{
name = "New Jersey"
short_name = "nj"
},
{
name = "Michigan"
short_name = "mi"
}
]
}
locals {
generic_code_block = [
for state in var.states: "Stateof${state.short_name}"
]
}
您可以這樣使用局部變量:
output "generic_code_block " {
value = local.generic_code_block
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.