Skip to content

webapps/windows_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.windows_function_app["azurecaf_name.windows_function_app"] azurerm_windows_function_app.windows_function_app["azurerm_windows_function_app.windows_function_app"] module.diagnostics["module.diagnostics"] module.private_endpoint["module.private_endpoint"] module.slots["module.slots"] remote:api_management_apis["remote:api_management_apis"] 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:virtual_subnets["remote:virtual_subnets"] remote:vnets["remote:vnets"] azurerm_windows_function_app.windows_function_app --> azurecaf_name.windows_function_app azurerm_windows_function_app.windows_function_app --> remote:api_management_apis azurerm_windows_function_app.windows_function_app --> remote:managed_identities azurerm_windows_function_app.windows_function_app --> remote:service_plans azurerm_windows_function_app.windows_function_app --> remote:storage_accounts azurerm_windows_function_app.windows_function_app --> remote:vnets module.diagnostics --> azurerm_windows_function_app.windows_function_app module.diagnostics --> remote:diagnostics module.private_endpoint --> azurerm_windows_function_app.windows_function_app module.private_endpoint --> remote:private_dns module.private_endpoint --> remote:virtual_subnets module.private_endpoint --> remote:vnets module.slots --> azurerm_windows_function_app.windows_function_app

Module Reference

Category: webapps
Path: modules/webapps/windows_function_app
Azure Resources: azurecaf_name, azurerm_windows_function_app

Inputs

Name Description Type Required Default Validation
"global_settings" "<<DESCRIPTION The global_settings object is a map of settings that can be used to configure the naming convention fo... any yes - -
"client_config" "<<DESCRIPTION Client configuration object primarily used for specifying the Azure client context in non-interactive ... any yes - -
"location" "(Required) Specifies the supported Azure location where to create the resource. Changing this forces a new resource ... string yes - -
"settings" "<<DESCRIPTION Settings object for the Windows Function App (azurerm_windows_function_app). The attributes below do... any yes - -
"resource_group" "Resource group object" any yes - -
"base_tags" "Flag to determine if tags should be inherited" bool yes - -
"remote_objects" "Remote objects" any yes - -
"private_endpoints" "A map of objects representing the private endpoints to create." any no {} -

Outputs

Name Description Sensitive Value
"name" "The CAF-compliant name of the Windows Function App" - azurecaf_name.windows_function_app.result
"id" "The ID of the Windows Function App" - azurerm_windows_function_app.windows_function_app.id
"rbac_id" "The Principal ID of the Windows Function App managed identity, used for RBAC role assignments." - try(azurerm_windows_function_app.windows_function_app.identity[0].principal_id, null)
"custom_domain_verification_id" "The identifier used by App Service to perform domain ownership verification via DNS TXT record" - azurerm_windows_function_app.windows_function_app.custom_domain_verification_id
"default_hostname" "The default hostname of the Windows Function App" - azurerm_windows_function_app.windows_function_app.default_hostname
"hosting_environment_id" "The ID of the App Service Environment used by Function App" - azurerm_windows_function_app.windows_function_app.hosting_environment_id
"identity" "An identity block as defined below" - length(azurerm_windows_function_app.windows_function_app.identity) > 0 ? {principal_id = azurerm_windows_function_app.windows_function_app.identity[0].principal_id, tenant_id = azurerm_windows_function_app.windows_function_app.identity[0].tenant_id} : null
"kind" "The Kind value for this Windows Function App" - azurerm_windows_function_app.windows_function_app.kind
"outbound_ip_address_list" "A list of outbound IP addresses" - azurerm_windows_function_app.windows_function_app.outbound_ip_address_list
"outbound_ip_addresses" "A comma separated list of outbound IP addresses as a string" - azurerm_windows_function_app.windows_function_app.outbound_ip_addresses
"possible_outbound_ip_address_list" "A list of possible outbound IP addresses, not all of which are necessarily in use" - azurerm_windows_function_app.windows_function_app.possible_outbound_ip_address_list
"possible_outbound_ip_addresses" "A comma separated list of possible outbound IP addresses as a string" - azurerm_windows_function_app.windows_function_app.possible_outbound_ip_addresses
"site_credential" "A site_credential block as defined below" - length(azurerm_windows_function_app.windows_function_app.site_credential) > 0 ? {name = azurerm_windows_function_app.windows_function_app.site_credential[0].name, password = azurerm_windows_function_app.windows_function_app.site_credential[0].password} : null
"slots" "The Windows Function App Slots" - module.slots

Sources

  • modules/webapps/windows_function_app/azurecaf_name.tf
  • modules/webapps/windows_function_app/diagnostics.tf
  • modules/webapps/windows_function_app/locals.dynamic_app_settings.tf
  • modules/webapps/windows_function_app/locals.tf
  • modules/webapps/windows_function_app/locals_function_app.tf
  • modules/webapps/windows_function_app/main.tf
  • modules/webapps/windows_function_app/managed_identities.tf
  • modules/webapps/windows_function_app/outputs.tf
  • modules/webapps/windows_function_app/private_endpoint.tf
  • modules/webapps/windows_function_app/providers.tf
  • modules/webapps/windows_function_app/variables.tf
  • modules/webapps/windows_function_app/windows_function_app.tf