如何在Terraform的提供者AWS上应用计数索引?

时间:2018-09-26 06:27:55

标签: amazon-ec2 terraform

我想在3个不同的区域中创建3个ec2实例。我正在使用Terraform的迭代和计数索引功能。但是我无法将相同的功能应用于AWS提供程序中的region参数。

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

我要在其中传递如下所示的值。

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

terraform初始化后出现以下错误。

  

count变量仅在资源内有效

1 个答案:

答案 0 :(得分:0)

要在提供者块中输入的区域应该是您的默认区域。由于每个aws用户只有一个默认区域,因此它不能接受区域列表。

尝试将区域设置为:

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

它将指定为变量的区域列表的第一个元素。因此,您可以更改索引以指向列表的其他元素。