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.tfmodules/webapps/linux_function_app/diagnostics.tfmodules/webapps/linux_function_app/linux_function_app.tfmodules/webapps/linux_function_app/linux_function_app_slot.tfmodules/webapps/linux_function_app/locals.dynamic_app_settings.tfmodules/webapps/linux_function_app/locals.tfmodules/webapps/linux_function_app/locals_function_app.tfmodules/webapps/linux_function_app/main.tfmodules/webapps/linux_function_app/managed_identities.tfmodules/webapps/linux_function_app/outputs.tfmodules/webapps/linux_function_app/private_endpoint.tfmodules/webapps/linux_function_app/providers.tfmodules/webapps/linux_function_app/variables.tf