我得到的错误是
Error: ""10.0.1.0/24","10.0.2.0/24"" is not a valid CIDR block: invalid CIDR address: "10.0.1.0/24","10.0.2.0/24"
on security_group.tf line 36, in resource "aws_security_group" "firstVPCPrivateVMSG":
36: resource "aws_security_group" "firstVPCPrivateVMSG"{
我的VPC是10.0.0.0/16
下面是安全组块
resource "aws_security_group" "firstVPCPrivateVMSG"{
vpc_id = aws_vpc.firstVPC.id
name = "firstVPCPrivateVMSG"
ingress {
description = "Allow ssh connections from VMs in Public Subnet"
protocol = "tcp"
from_port = 0
to_port = 22
cidr_blocks = [join(",", [for s in var.public_cidrs: format(""%s"",s)]),join(",", [for s in
var.private_cidrs: format(""%s"",s)])]
}
当您想要一个包含所有cidr的数组时,您正在制作一个由两个字符串组成的数组。只需使用concat
:
ingress {
description = "Allow ssh connections from VMs in Public Subnet"
protocol = "tcp"
from_port = 0
to_port = 22
cidr_blocks = concat(var.public_cidrs, var.private_cidrs)
}