我正在学习 terraform,我不明白为什么变量count.index
没有被扩展。
当我运行terraform apply
EC2 实例的名称时VM[count.index]
为什么 [count.index] 没有扩展?我期待这个名字是VM0
我为测试创建的文件
main.tf
provider "aws" {
access_key = var.aws_access_key_id
secret_key = var.aws_secret_access_key
region = "us-east-1"
}
resource "aws_instance" "aws_vm" {
ami = var.ami
instance_type = var.type
count = var.number_of_instances
key_name = var.ami_key
tags = {
Name = "${var.name_tag}[count.index]"
}
}
Terraform字符串插值仅发生在
${}
. 您必须将嵌入字符串中的任何变量或表达式包装在${}
. 你已经用var_name_tag
变量做到了这一点,但不是count.index
变量。将您的代码更改为:因此,如果
var.name_tag
是类似 的字符串值"my_server"
,那么您最终会在 EC2 实例上看到名称标签,其值如下:my_server[0]
和my_server[1]