在Terraform中,我希望用户输入变量(类型列表)的值,而不必太担心列表变量的语法。例如,Terraform要求列表使用以下语法:
Enter value: ["value1", "value2", "value3"]
如果用户只需要输入一个逗号分隔的列表,而不必担心添加引号和括号,那将是很好的。例如:
Enter value: value1, value2, value3
从逗号分隔的字符串中,我想使用正确的语法将其转换为类型列表。
我当前的代码看起来像这样,我想我甚至还没有弄清楚它。任何帮助表示赞赏!
variable "subnetNames" {
description = "Enter value:"
default = "value1, value2, value3"
}
output "test" {
value = "${join(",", list("[", var.subnetNames, "]"))}"
}
答案 0 :(得分:2)
您要使用split
函数。
variable "subnetNames" {
default = "value1,value2,value3"
}
output "test" {
value = "${split(",", var.subnetNames)}"
}
$ terraform init && terraform apply
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
Outputs:
test = [
value1,
value2,
value3
]