Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Conditional nested block in Terraform resource

Tags:

terraform

Given this resource:

resource "google_compute_instance" "instance" {
    ...
    network_interface {
        ...
        access_config {
            ...
        }
    }
}

I'd like to conditionally define the access_config property based on a condition.

[Edit] Solution

resource "google_compute_instance" "instance" {
    ...
    network_interface {
        ...
        dynamic "access_config" {
            for_each = var.condition ? [1] : []
            content {
                ...
            }
        }
    }
}
like image 408
rickyalbert Avatar asked Apr 01 '26 05:04

rickyalbert


1 Answers

Similar to what Josep Nadal mentioned, but change count to for_each like

  dynamic "access_config" {
    for_each = var.conditional_on ? ["1"] : []
    content {
      nat_ip = null
    }
  }
like image 176
jlim Avatar answered Apr 02 '26 22:04

jlim



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!