为了我们项目的需要,我们需要通过 Terraform (v. 0.13.5) 自动创建 AWS 实例。我们正在使用 Jenkins 管道,它有一个 groovy 脚本并使用这个 shell 调用 terraform:
sh """
terraform init
terraform apply -auto-approve \
-var-file=${terraform_vars_filename} \
-var 'vm-state=running' \
-var 'vm-private-key=${AWS_KEY}' \
""".stripIndent()
因为我们会在不同的AWS实例上进行操作,所以我们需要在创建过程中管理AWS实例的Name,所以每个实例都应该有唯一的名称(由Jenkins作业中的字段管理。所以换句话说我们需要“将一个 groovy 变量(比如说 ${nameAwsInstance})导入 Terraform 名称标签(在 AWS 实例创建中使用)。
我尝试了不同的方法,主要基于“-var”选项,试图覆盖名称标签,例如:
-var 'var.tags["Name"]=${nameAwsInstance}
但是他们都没有工作。
那么,是否可以覆盖名称标签,语法是什么?
PS如果有其他想法,我会很高兴。
此致。