Terraform,如何将传入的字符串变量附加到值?

Terraform,如何将传入的字符串变量附加到值?,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,地形v0.12.17 我有一个脚本,我想在其中执行此操作,也就是说,我希望它使用传入的jenkins\u version变量搜索AMI $ terraform plan -var "jenkins_version=2.249.3" -out out.output data "aws_ami" "jenkins_master_ami" { most_recent = true filter { name = &quo

地形v0.12.17

我有一个脚本,我想在其中执行此操作,也就是说,我希望它使用传入的
jenkins\u version
变量搜索AMI

$ terraform plan -var "jenkins_version=2.249.3" -out out.output

data "aws_ami" "jenkins_master_ami" {
  most_recent = true
  filter {
    name   = "name"
    values = ["packer-jenkins-master-${var.jenkins_version}"]
  }
  owners = ["1234567890"]
}
在我的示例中,我希望它给我一个名为
packer-jenkins-master-2.249.3
的AMI,我知道它存在,因为我刚刚创建了它,并且拥有正确的所有者。然而,我得到了一个错误,因为我显然有错误的语法。正确的语法是什么

Error: Your query returned no results. Please change your search criteria and try again.
根据评论

我使用自己的沙箱帐户验证了
数据.aws\u ami.jenkins\u master\u ami
,并且数据源定义正确


如果AMI名为
packer-jenkins-master-2.249.3
,它将按预期返回该AMI,如果它存在于给定的区域和帐户中。

如果跳过
过滤器,它是否返回任何内容?语法正确。请检查用于创建ami和运行terraform的区域和帐户。@Marcin谢谢,您的评论使我意识到了我的错误。我在搜索我给它的标签“Name”,而不是我在创建AMI(使用Packer)时给它的实际AMI名称,这是不同的。没问题。如果你不介意的话,我可以提供一个答案供将来参考。