Могу ли я перебрать поставщика данных для нескольких регионов, чтобы создать что-то вроде карты? - PullRequest
0 голосов
/ 11 мая 2018

Я хочу создать карту или список зон beanstalk, которые я могу в моей Terraform (для материала Route53), есть ли более элегантный способ сделать это, чем:

data "aws_elastic_beanstalk_hosted_zone" "eb-us-east-2" {
  region = "us-east-2"
}

data "aws_elastic_beanstalk_hosted_zone" "eb-us-east-1" {
  region = "us-east-1"
}

# ... and so on

Можно ли выполнить итерацию по aws_elastic_beanstalk_hosted_zone и просто получить идентификаторы зон для каждого региона в переменных, которые я могу использовать?

1 Ответ

0 голосов
/ 11 мая 2018

Вы всегда можете перебрать список, используя мета-параметр count :

variable "regions" {
  default = [
    "us-east-1",
    "us-east-2",
  ]
}

data "aws_elastic_beanstalk_hosted_zone" "eb_zones" {
  count  = "${length(var.regions)}"
  region = "${var.regions[count.index]}"
}

output "eb_zones" {
  value = "${data.aws_elastic_beanstalk_hosted_zone.eb_zones.*.id}"
}

Будет выведено следующее:

Outputs:

eb_zones = [
    Z117KPS5GTRQ2G,
    Z14LCN19Q5QHIC
]
...