1

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

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

我可以使用上面的本地人为每个服务器获取数据,例如我要的实例等吗?无需为每个服务器定义单独的数据块。

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


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

1 回答 1

1

您可以为您的过滤器instance-id提供my_list(假设server1是 instance-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
  }
}

并获取list实例 ID:

values(data.aws_instance.my_instances)[*].id
于 2021-01-02T22:04:32.757 回答