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 ... 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