VCD: Howto expand a NSXT IP-Set

Hi there,

We’re using Terraform to deploy an NSX-T Edge gateway.
But in some cases we need to expand an existing IP-Set with more addresses.

I’m trying to write the TF code for it, but I keep facing a chicken vs egg issue:

data “vcd_nsxt_ip_set” “cur-backends” {
edge_gateway_id = “${var.edge.id}”
name = “backend-ranges”
}

locals {
backend_in_ipset = contains(data.vcd_nsxt_ip_set.cur-backends.ip_addresses, var.backend-ip-range) == true ? true : false
ipset_cur_backends = local.backend_in_ipset == true ? [data.vcd_nsxt_ip_set.cur-backends.ip_addresses] :
ipset_backends = local.backend_in_ipset == true ? concat(local.ipset_cur_backends, [var.backend-ip-range]) : [var.backend-ip-range]
}

resource “vcd_nsxt_ip_set” “backend-ranges” {

count = “${var.backend-network-name == “” ? 1 : 0}”

edge_gateway_id = “${var.edge.id}”

name = “backend-ranges”
description = “IP Set containing the backend range for ${var.prefix}”

ip_addresses = “${local.ipset_backends}”
}

The problem is, that data “vcd_nsxt_ip_set” “cur-backends” will return an error if the ip-set backends hasn’t been created before.
How can I work around this?