Terraform创建多个IP';来自CIDR区块的s

Terraform创建多个IP';来自CIDR区块的s,terraform,Terraform,我有变量cidr=10.11.12.0/16 和资源计数 resource "aws_network_interface" "first" { count = "${length(var.instance_names)}" provider = "aws.base" subnet_id = "${var.cidr}" private_ips = ["${concat( list(var.first_network_interface_private_ip

我有变量
cidr=10.11.12.0/16

和资源计数

resource "aws_network_interface" "first" {
  count     = "${length(var.instance_names)}"
  provider  = "aws.base"

  subnet_id = "${var.cidr}"

  private_ips = ["${concat(
      list(var.first_network_interface_private_ip),
      var.first_network_interface_private_ip_additional
  )}"]

  source_dest_check = "${var.first_network_interface_source_dest_check_enabled}"

security_groups = [
     "${concat(
      list(aws_security_group.this.id),
      var.first_network_interface_security_group_additional
    )}"
  ]

  depends_on = [
    "aws_security_group.this",
  ]

  tags = "${merge(
    var.tags_global,
    var.tags_module,
    map("Name", format("%s - First Interface", element(var.instance_names, count.index))),
    map("Description", format("%s", element(var.instance_names, count.index)))
  )}"
}
我希望每次迭代都能得到不同的IP

我遇到了,不知道如何从中提取前三个八位组

10.11.12,可能需要使用正则表达式从CIDR?获取八位字节,或者有其他解决方案解决我的问题?

解决了它

  private_ips = ["${concat(
      list(cidrhost(var.cidr , count.index + 249)),
      var.first_network_interface_private_ip_additional
  )}"]
为两台机器获得10.11.12.249/250 IP解决了这个问题

  private_ips = ["${concat(
      list(cidrhost(var.cidr , count.index + 249)),
      var.first_network_interface_private_ip_additional
  )}"]
为两台机器获得10.11.12.249/250 IP