Skip to content

networking/load_balancers

Overview

This page documents the Terraform module implementation, key configuration surfaces, and how it integrates with CAF.

Dependency diagram (Mermaid)

graph TD azurecaf_name.lb_name["azurecaf_name.lb_name"] azurerm_lb.lb["azurerm_lb.lb"] azurerm_lb_backend_address_pool.backend_address_pool["azurerm_lb_backend_address_pool.backend_address_pool"] azurerm_lb_backend_address_pool_address.backend_address_pool_address["azurerm_lb_backend_address_pool_address.backend_address_pool_address"] azurerm_lb_nat_pool.nat_pool["azurerm_lb_nat_pool.nat_pool"] azurerm_lb_nat_rule.nat_rule["azurerm_lb_nat_rule.nat_rule"] azurerm_lb_outbound_rule.outbound_rule["azurerm_lb_outbound_rule.outbound_rule"] azurerm_lb_probe.lb_probe["azurerm_lb_probe.lb_probe"] azurerm_lb_rule.lb_rule["azurerm_lb_rule.lb_rule"] azurerm_network_interface_backend_address_pool_association.vm_nic_bap_association["azurerm_network_interface_backend_address_pool_association.vm_nic_bap_association"] azurerm_network_interface_backend_address_pool_association.vm_nic_bap_association_key["azurerm_network_interface_backend_address_pool_association.vm_nic_bap_association_key"] module.diagnostics["module.diagnostics"] azurerm_lb.lb --> azurecaf_name.lb_name azurerm_lb_backend_address_pool.backend_address_pool --> azurerm_lb.lb azurerm_lb_backend_address_pool_address.backend_address_pool_address --> azurerm_lb_backend_address_pool.backend_address_pool azurerm_lb_nat_pool.nat_pool --> azurerm_lb.lb azurerm_lb_nat_rule.nat_rule --> azurerm_lb.lb azurerm_lb_outbound_rule.outbound_rule --> azurerm_lb.lb azurerm_lb_outbound_rule.outbound_rule --> azurerm_lb_backend_address_pool.backend_address_pool azurerm_lb_outbound_rule.outbound_rule --> azurerm_lb_probe.lb_probe azurerm_lb_probe.lb_probe --> azurerm_lb.lb azurerm_lb_probe.lb_probe --> azurerm_lb_backend_address_pool.backend_address_pool azurerm_lb_rule.lb_rule --> azurerm_lb.lb azurerm_lb_rule.lb_rule --> azurerm_lb_backend_address_pool.backend_address_pool azurerm_lb_rule.lb_rule --> azurerm_lb_probe.lb_probe azurerm_network_interface_backend_address_pool_association.vm_nic_bap_association --> azurerm_lb_backend_address_pool.backend_address_pool azurerm_network_interface_backend_address_pool_association.vm_nic_bap_association_key --> azurerm_lb_backend_address_pool.backend_address_pool module.diagnostics --> azurerm_lb.lb

Module Reference

Category: networking
Path: modules/networking/load_balancers
Azure Resources: azurecaf_name, azurerm_lb, azurerm_lb_backend_address_pool, azurerm_lb_backend_address_pool_address, azurerm_lb_nat_pool, azurerm_lb_nat_rule, azurerm_lb_outbound_rule, azurerm_lb_probe, azurerm_lb_rule, azurerm_network_interface_backend_address_pool_association

Inputs

Name Description Type Required Default Validation
resource_group_name (Required) The name of the resource group where to create the resource. string yes - -
location (Required) Specifies the supported Azure location where to create the resource. Changing this forces a new resource t... string yes - -
base_tags Base tags for the resource to be inherited from the resource group. map(any) yes - -
settings The settings for the Azure resource. any yes - -
global_settings Global settings object (see module README.md) any yes - -
vnets any yes - -
client_config Client configuration object (see module README.md). any yes - -
public_ip_addresses any yes - -
combined_objects any no {} -
diagnostic_profiles any no {} -
diagnostics any no - -

Outputs

Name Description Sensitive Value
id - azurerm_lb.lb.id
private_ip_addresses The list of private IP address assigned to the load balancer in frontend_ip_configuration blocks, if any - azurerm_lb.lb.private_ip_addresses
private_ip_address The first private IP address assigned to the load balancer in frontend_ip_configuration - azurerm_lb.lb.private_ip_address
frontend_ip_configuration - azurerm_lb.lb.frontend_ip_configuration
bap - {for backend_address_pool_name , value in var.settings : backend_address_pool_name => {"id": "${azurerm_lb_backend_address_pool.backend_address_pool[0].id}", "name": "${azurerm_lb_backend_address_pool.backend_address_pool[0].name}"}}
backend_address_pool_id - azurerm_lb_backend_address_pool.backend_address_pool[0].id
probes - azurerm_lb_probe.lb_probe

Sources

  • modules/networking/load_balancers/diagnostic.tf
  • modules/networking/load_balancers/load_balancers.tf
  • modules/networking/load_balancers/locals.tf
  • modules/networking/load_balancers/main.tf
  • modules/networking/load_balancers/outputs.tf
  • modules/networking/load_balancers/variables.tf