Terraform:组合变量以制作列表

Terraform: Combine Variables to make a list

locals{
instance_name = "TESTWINDOWSVM"
instance_count = 4
vm_instances = format("%s%s", local.instance_name,local.instance_count)
}

我正在通过 terraform azure 创建一个 windows VM,我想结合 instance_name 和 instance_count 并能够创建一个新的列表变量。 输出应为 [TESTWINDOWSVM001、TESTWINDOWSVM002、TESTWINDOWSVM003、TESTWINDOWSVM004]。有没有办法在 terraform 中做到这一点?

您可以使用一个直接的 for 表达式从列表构造函数中的 range 函数迭代,以及一些带有格式函数的字符串插值以确保三个数字,并且都在 return:

[for idx in range(local.instance_count) : "${local.instance_name}${format("%03d", idx + 1)}"]