Terraform: Conditional creation of a resource based on a variable in .tfvars

Terraform: Conditional creation of a resource based on a variable in .tfvars

Add a count parameter with a ternary conditional using the variable declared in .tfvars like this:

resource cloudflare_record record {
  count = var.cloudflare ? 1 : 0
  zone_id = ${data.cloudflare_zones.domain.zones[0].id}
  name    = ${var.subdomain}
  value   = ${var.origin_server}
  type    = CNAME
  ttl     = 1
  proxied = true
}

In this example var.cloudflare is a boolean declared in the .tfvars file. If it is true a count of 1 record will be created. If it is false a count of 0 record will be created.

After the count apply the resource becomes a group, so later in the reference use 0-index of the group:

cloudflare_record.record[0].some_field

Terraform: Conditional creation of a resource based on a variable in .tfvars

Leave a Reply

Your email address will not be published.