data "template_file" "cloud-init" {
  count = var.interconnects_count

  # Should these be in a common directory? I suspect they'd be reusable
  template = file("${path.module}/cloud-init/cloud-init.tpl")

  vars = {
    hostname = "interconnect-${count.index}"
    fqdn = "interconnect-${count.index}.${var.dns_info["private"]["zone"]}"
    saltmaster = "salt-master.${ var.dns_public["name"] }"
    environment = var.environment
    aws_partition = var.aws_partition
    aws_partition_alias = var.aws_partition_alias
    aws_region = var.aws_region
    interconnect_id = count.index
    vpc_cidr = var.security_vpc_cidr
  }
}

# Render a multi-part cloud-init config making use of the part
# above, and other source files
data "template_cloudinit_config" "cloud-init" {
  count = var.interconnects_count
  gzip          = true
  base64_encode = true

  # Main cloud-config configuration file.
  part {
    filename     = "init.cfg"
    content_type = "text/cloud-config"
    content      = data.template_file.cloud-init[count.index].rendered
  }

  # Additional parts as needed
  #part {
  #  content_type = "text/x-shellscript"
  #  content      = "ffbaz"
  #}
}
