从数据 ec2_instance/'s?

Make a list from data ec2_instance/'s?

我有一个服务器列表存储为本地列表

locals {
  my_list = [
    "server1",
    "server2",
    "server3",
    "server4"
  ]
}

我可以使用上面的本地变量为每个服务器获取数据吗?没有为每个服务器定义单独的数据块。

然后我可以将这些属性放在列表中吗?最后,对于下面仅针对一台服务器的示例,我将如何使用它。 (下面的例子是一个云手表报警维度)


dimensions = {
  instanceid   = data.aws_instance.server1.instance_id
}

您可以使用 my_list 提供过滤器 instance-id(假设 server1 是实例 ID):

data "aws_instances" "my_instances" {

  filter {
    name   = "instance-id"
    values = local.my_list
  }

}

如果 my_list 包含 实例名称 ,那么您可以使用:


data "aws_instance" "my_instances" {

  for_each = toset(local.my_list)  

  instance_tags = {
    Name = each.key
  }
}

并获取实例 ID 的 list

values(data.aws_instance.my_instances)[*].id