Kar*_*hik 0 amazon-web-services terraform
我正在尝试从一个资源块创建多个子网,但出现以下错误
错误:aws_subnet.private:cidr_block必须是单个值,而不是列表
主文件
resource "aws_subnet" "private" {
vpc_id = "${aws_vpc.vpcname.id}"
cidr_block = "${var.private_subnet}"
availability_zone = "${data.aws_availability_zones.available.names[count.index]}"
map_public_ip_on_launch = false
tags {
Name = "${var.private}"
Environment = "${terraform.workspace}"
}
}
Run Code Online (Sandbox Code Playgroud)
变量
variable "private_subnet" {
type = "list"
default = []
}
Run Code Online (Sandbox Code Playgroud)
开发者
private_subnet = ["10.0.2.0/24", "10.0.3.0/24"]
Run Code Online (Sandbox Code Playgroud)
您必须aws_subnet通过利用count参数为var.private_subnet列表中的每个条目创建一个资源来创建多个资源:
resource "aws_subnet" "private" {
count = "${length(var.private_subnet)}"
vpc_id = "${aws_vpc.vpcname.id}"
cidr_block = "${var.private_subnet[count.index]}"
availability_zone = "${data.aws_availability_zones.available.names[count.index]}"
map_public_ip_on_launch = false
}
Run Code Online (Sandbox Code Playgroud)
aws_subnet根据将count每个资源块通过terraform评估时的枚举,这会将单个资源扩展为两个,每个值的值略有不同。
| 归档时间: |
|
| 查看次数: |
1818 次 |
| 最近记录: |