首页 > 解决方案 > 有没有办法按最旧而不是最新对 aws_ami 进行排序?

问题描述

现在我正在这样做:

data "aws_ami" "windows-image" {
  most_recent = true
  filter {
    name   = "name"
    values = ["Windows_Server-2019-English-Full-Base-*"]
  }
  owners = ["amazon"]
}

但我想尝试一些过时的 amis。没有oldest参数。如果我可以让 aws_ami 返回一个列表,我想我可以使用reverse()它,但似乎我需要进行过滤,否则我会收到此错误:

Error: Your query returned more than one result. Please try a more specific search criteria, or set `most_recent` attribute to true.

标签: terraformterraform-provider-aws

解决方案


我刚刚看到有一个单独的资源用于获取id列表

data "aws_ami_ids" "windows-image" {
  sort_ascending = true // sort by oldest to newest
  filter {
    name   = "name"
    values = ["Windows_Server-2019-English-Full-Base-*"]
  }
  owners = ["amazon"]
}
output "test" {
  value = data.aws_ami_ids.windows-image.ids[0]
}

推荐阅读