Как применить индекс подсчета для провайдера aws terraform? - PullRequest
0 голосов
/ 26 сентября 2018

Я хочу создать 3 экземпляра ec2 в 3 разных регионах.Я использую функцию индексации итераций terraform.Но я не могу применить ту же функцию для параметра региона в провайдере aws.

provider "aws" {
  region = "${element(var.region, count.index)}"
}

Когда я передаю значения, как показано ниже.

region = [ "us-east-1" , "eu-central-1" ]
instance_type = [ "t2.small" , "t2.micro" ]

Я получаю следующую ошибку послеterraform init.

Переменные числа действительны только в пределах ресурсов

1 Ответ

0 голосов
/ 04 октября 2018

Регион, который нужно ввести в блоке провайдера, должен быть вашим регионом по умолчанию.Поскольку для каждого пользователя aws существует только один регион по умолчанию, он не может принять список регионов.

Попробуйте указать регион следующим образом:

region = "${var.region[0]}"

Требуется первый элемент спискарегионы, которые вы указали в качестве переменных.Соответственно, вы можете изменить индекс, чтобы он указывал на какой-то другой элемент списка.

...