Skip to content

webapps/linux_function_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_function_app["azurecaf_name.linux_function_app"] azurerm_linux_function_app.linux_function_app["azurerm_linux_function_app.linux_function_app"] module.diagnostics["module.diagnostics"] module.linux_function_app_slot["module.linux_function_app_slot"] module.private_endpoint["module.private_endpoint"] remote:api_management_apis["remote:api_management_apis"] remote:combined_objects["remote:combined_objects"] remote:diagnostics["remote:diagnostics"] remote:keyvaults["remote:keyvaults"] 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:virtual_subnets["remote:virtual_subnets"] remote:vnets["remote:vnets"] azurerm_linux_function_app.linux_function_app --> azurecaf_name.linux_function_app azurerm_linux_function_app.linux_function_app --> remote:api_management_apis azurerm_linux_function_app.linux_function_app --> remote:managed_identities azurerm_linux_function_app.linux_function_app --> remote:service_plans azurerm_linux_function_app.linux_function_app --> remote:storage_accounts azurerm_linux_function_app.linux_function_app --> remote:vnets module.diagnostics --> azurerm_linux_function_app.linux_function_app module.diagnostics --> remote:diagnostics module.linux_function_app_slot --> azurerm_linux_function_app.linux_function_app module.linux_function_app_slot --> remote:combined_objects module.linux_function_app_slot --> remote:diagnostics module.linux_function_app_slot --> remote:keyvaults module.linux_function_app_slot --> remote:storage_accounts module.linux_function_app_slot --> remote:vnets module.private_endpoint --> azurerm_linux_function_app.linux_function_app module.private_endpoint --> remote:private_dns module.private_endpoint --> remote:virtual_subnets module.private_endpoint --> remote:vnets

Module Reference

Category: webapps
Path: modules/webapps/linux_function_app
Azure Resources: azurecaf_name, azurerm_linux_function_app

Inputs

Name Description Type Required Default Validation
"global_settings" "Global settings object" any yes - -
"client_config" "Client configuration object" any yes - -
"location" "The location of the resource." string yes - -
"base_tags" "Base tags for the resource to be inherited from the resource group." bool yes - -
"resource_group" "Resource group object" any yes - -
"remote_objects" "Remote objects to be passed to the module." any yes - -
"settings" "<<DESCRIPTION Settings object for this module (resource: azurerm_linux_function_app). Source of truth: Terraform pro... any yes - -
"private_endpoints" "A map of objects representing the private endpoints to create." any no {} -

Outputs

Name Description Sensitive Value
"id" - azurerm_linux_function_app.linux_function_app.id
"custom_domain_verification_id" - azurerm_linux_function_app.linux_function_app.custom_domain_verification_id
"default_hostname" - azurerm_linux_function_app.linux_function_app.default_hostname
"hosting_environment_id" - azurerm_linux_function_app.linux_function_app.hosting_environment_id
"identity" - length(azurerm_linux_function_app.linux_function_app.identity) > 0 ? {principal_id = azurerm_linux_function_app.linux_function_app.identity[0].principal_id, tenant_id = azurerm_linux_function_app.linux_function_app.identity[0].tenant_id} : null
"kind" - azurerm_linux_function_app.linux_function_app.kind
"outbound_ip_address_list" - azurerm_linux_function_app.linux_function_app.outbound_ip_address_list
"outbound_ip_addresses" - azurerm_linux_function_app.linux_function_app.outbound_ip_addresses
"possible_outbound_ip_address_list" - azurerm_linux_function_app.linux_function_app.possible_outbound_ip_address_list
"possible_outbound_ip_addresses" - azurerm_linux_function_app.linux_function_app.possible_outbound_ip_addresses
"site_credential" - length(azurerm_linux_function_app.linux_function_app.site_credential) > 0 ? {name = azurerm_linux_function_app.linux_function_app.site_credential[0].name, password = azurerm_linux_function_app.linux_function_app.site_credential[0].password} : null
"rbac_id" - try(azurerm_linux_function_app.linux_function_app.identity[0].principal_id, null)

Sources

  • modules/webapps/linux_function_app/azure_caf_name.tf
  • modules/webapps/linux_function_app/diagnostics.tf
  • modules/webapps/linux_function_app/linux_function_app.tf
  • modules/webapps/linux_function_app/linux_function_app_slot.tf
  • modules/webapps/linux_function_app/locals.dynamic_app_settings.tf
  • modules/webapps/linux_function_app/locals.tf
  • modules/webapps/linux_function_app/locals_function_app.tf
  • modules/webapps/linux_function_app/main.tf
  • modules/webapps/linux_function_app/managed_identities.tf
  • modules/webapps/linux_function_app/outputs.tf
  • modules/webapps/linux_function_app/private_endpoint.tf
  • modules/webapps/linux_function_app/providers.tf
  • modules/webapps/linux_function_app/variables.tf