Skip to content

webapps/linux_web_app

Overview

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

Dependency diagram (Mermaid)

graph TD azurecaf_name.linux_web_app["azurecaf_name.linux_web_app"] azurerm_linux_web_app.linux_web_app["azurerm_linux_web_app.linux_web_app"] data.azurerm_storage_account.backup_storage_account["data.azurerm_storage_account.backup_storage_account"] data.azurerm_storage_account_blob_container_sas.backup["data.azurerm_storage_account_blob_container_sas.backup"] data.azurerm_storage_account_blob_container_sas.http_logs["data.azurerm_storage_account_blob_container_sas.http_logs"] data.azurerm_storage_account_blob_container_sas.logs["data.azurerm_storage_account_blob_container_sas.logs"] module.diagnostics["module.diagnostics"] module.private_endpoint["module.private_endpoint"] module.slots["module.slots"] remote:diagnostics["remote:diagnostics"] remote:managed_identities["remote:managed_identities"] remote:private_dns["remote:private_dns"] remote:service_plans["remote:service_plans"] remote:storage_accounts["remote:storage_accounts"] remote:vnets["remote:vnets"] time_rotating.http_logs_sas["time_rotating.http_logs_sas"] time_rotating.logs_sas["time_rotating.logs_sas"] time_rotating.sas["time_rotating.sas"] azurerm_linux_web_app.linux_web_app --> azurecaf_name.linux_web_app azurerm_linux_web_app.linux_web_app --> remote:managed_identities azurerm_linux_web_app.linux_web_app --> remote:service_plans azurerm_linux_web_app.linux_web_app --> remote:storage_accounts azurerm_linux_web_app.linux_web_app --> remote:vnets data.azurerm_storage_account_blob_container_sas.backup --> data.azurerm_storage_account.backup_storage_account data.azurerm_storage_account_blob_container_sas.backup --> time_rotating.sas data.azurerm_storage_account_blob_container_sas.http_logs --> data.azurerm_storage_account.backup_storage_account data.azurerm_storage_account_blob_container_sas.http_logs --> time_rotating.http_logs_sas data.azurerm_storage_account_blob_container_sas.logs --> data.azurerm_storage_account.backup_storage_account data.azurerm_storage_account_blob_container_sas.logs --> time_rotating.logs_sas module.diagnostics --> azurerm_linux_web_app.linux_web_app module.diagnostics --> remote:diagnostics module.private_endpoint --> azurerm_linux_web_app.linux_web_app module.private_endpoint --> remote:private_dns module.private_endpoint --> remote:vnets module.slots --> azurerm_linux_web_app.linux_web_app module.slots --> remote:storage_accounts module.slots --> remote:vnets

Module Reference

Category: webapps
Path: modules/webapps/linux_web_app
Azure Resources: azurecaf_name, azurerm_linux_web_app, time_rotating

Inputs

Name Description Type Required Default Validation
"global_settings" "<<DESCRIPTION Global CAF settings used by this module for naming and inherited tags. Typical values consumed by this... any yes - -
"client_config" "<<DESCRIPTION Client context for the current deployment. Used to resolve cross-object references through remote_obj... |any| yes |-` -
"location" "Azure region where the Linux Web App is created. If null at call-site, callers typically coalesce with resource grou... string yes - -
"settings" "<<DESCRIPTION Configuration object for the Linux Web App resource (azurerm_linux_web_app). This contract documents... any yes - -
"resource_group" "Resolved resource group object used by this module. Expected keys include at least name, and typically location ... any yes - -
"base_tags" "When true, merge global/resource-group tags into module tags; when false, only module and explicit settings tags are... bool yes - -
"remote_objects" "<<DESCRIPTION Dependency objects resolved outside this module and injected by the root layer. This module can consum... any yes - -
"private_endpoints" "Private endpoint definitions for this web app. Entries are processed by the module's private endpoint integration lo... any no {} -

Outputs

Name Description Sensitive Value
"name" "The CAF-compliant name of the Linux Web App" - azurecaf_name.linux_web_app.result
"id" - try(azurerm_linux_web_app.linux_web_app.identity[0].principal_id, null)
"custom_domain_verification_id" - azurerm_linux_web_app.linux_web_app.custom_domain_verification_id
"hosting_environment_id" - azurerm_linux_web_app.linux_web_app.hosting_environment_id
"default_hostname" - azurerm_linux_web_app.linux_web_app.default_hostname
"kind" - azurerm_linux_web_app.linux_web_app.kind
"outbound_ip_address_list" - azurerm_linux_web_app.linux_web_app.outbound_ip_address_list
"outbound_ip_addresses" - azurerm_linux_web_app.linux_web_app.outbound_ip_addresses
"possible_outbound_ip_address_list" - azurerm_linux_web_app.linux_web_app.possible_outbound_ip_address_list
"possible_outbound_ip_addresses" - azurerm_linux_web_app.linux_web_app.possible_outbound_ip_addresses
"site_credential" true azurerm_linux_web_app.linux_web_app.site_credential
"identity" - azurerm_linux_web_app.linux_web_app.identity
"slots" - module.slots
"rbac_id" - try(azurerm_linux_web_app.linux_web_app.identity[0].principal_id, null)

Sources

  • modules/webapps/linux_web_app/azurecaf_name.tf
  • modules/webapps/linux_web_app/diagnostics.tf
  • modules/webapps/linux_web_app/linux_web_app.tf
  • modules/webapps/linux_web_app/locals.connection_strings.tf
  • modules/webapps/linux_web_app/locals.dynamic_app_settings.tf
  • modules/webapps/linux_web_app/locals.tf
  • modules/webapps/linux_web_app/locals_linux_web_app.tf
  • modules/webapps/linux_web_app/main.tf
  • modules/webapps/linux_web_app/managed_identities.tf
  • modules/webapps/linux_web_app/outputs.tf
  • modules/webapps/linux_web_app/private_endpoint.tf
  • modules/webapps/linux_web_app/providers.tf
  • modules/webapps/linux_web_app/slots.tf
  • modules/webapps/linux_web_app/storage_account.tf
  • modules/webapps/linux_web_app/variables.tf