Search code examples
azureterraformterraform-provider-azure

Terraform Enable or Disable Parameter inside resource block and also resource block?


I am defining network interface inside the VMSS AZURE Terraform Well what i want is disable or enable the load balancer backend address pool id if $app != "api" In other words if app is api then only add that parameter and attach pool id.

Also, How to enable or disable entire resource lets say i want to diable or enable the network interface block in whole.

Thanks in advance for helping.

load_balancer_backend_address_pool_ids       = [var.backend_address_pool_id] #enable only when var.app is api.
network_interface {
    name    = "${var.app}-vmss-nic"
    primary = true
    ip_configuration {
      name                                         = "internal"
      primary                                      = true
      subnet_id                                    = var.pvt_subnet_1_id
      load_balancer_backend_address_pool_ids       = [var.backend_address_pool_id]
    }
  }


Solution

  • you would need to test this but you could possible do something like

    load_balancer_backend_address_pool_ids = var.app == "api" ? [var.backend_address_pool_id] : null
    

    or incase the provider doesnt support null and just expects an empty list

    load_balancer_backend_address_pool_ids = var.app == "api" ? [var.backend_address_pool_id] : []