tf/nat_gateway.tf (41 lines of code) (raw):

resource "azurerm_nat_gateway" "natgateway" { count = local.create_nat_gateway ? 1 : 0 name = local.nat_gateway_name location = local.create_rg ? azurerm_resource_group.rg[0].location : data.azurerm_resource_group.rg[0].location resource_group_name = local.create_rg ? azurerm_resource_group.rg[0].name : data.azurerm_resource_group.rg[0].name sku_name = "Standard" idle_timeout_in_minutes = 4 } resource "azurerm_public_ip" "pip_natgateway" { count = local.create_nat_gateway ? 1 : 0 name = "pip-${local.nat_gateway_name}" location = local.create_rg ? azurerm_resource_group.rg[0].location : data.azurerm_resource_group.rg[0].location resource_group_name = local.create_rg ? azurerm_resource_group.rg[0].name : data.azurerm_resource_group.rg[0].name allocation_method = "Static" sku = "Standard" } resource "azurerm_nat_gateway_public_ip_association" "natgateway_pip_association" { count = local.create_nat_gateway ? 1 : 0 nat_gateway_id = azurerm_nat_gateway.natgateway[0].id public_ip_address_id = azurerm_public_ip.pip_natgateway[0].id } resource "azurerm_subnet_nat_gateway_association" "frontend_natgateway_association" { count = local.create_nat_gateway && local.create_frontend_subnet ? 1 : 0 subnet_id = data.azurerm_subnet.subnets["frontend"].id nat_gateway_id = azurerm_nat_gateway.natgateway[0].id } resource "azurerm_subnet_nat_gateway_association" "admin_natgateway_association" { count = local.create_nat_gateway && local.create_admin_subnet ? 1 : 0 subnet_id = data.azurerm_subnet.subnets["admin"].id nat_gateway_id = azurerm_nat_gateway.natgateway[0].id } resource "azurerm_subnet_nat_gateway_association" "compute_natgateway_association" { count = local.create_nat_gateway && local.create_compute_subnet ? 1 : 0 subnet_id = data.azurerm_subnet.subnets["compute"].id nat_gateway_id = azurerm_nat_gateway.natgateway[0].id } resource "azurerm_subnet_nat_gateway_association" "ad_natgateway_association" { count = local.create_nat_gateway && local.create_ad_subnet ? 1 : 0 subnet_id = data.azurerm_subnet.subnets["ad"].id nat_gateway_id = azurerm_nat_gateway.natgateway[0].id }