function-app

claranet/function-app/azurerm

Terraform Module HCL AZURERM

Terraform module for Azure Function App

Install
module "function-app" {
source = "claranet/function-app/azurerm"
version = "8.8.1"
}
plain text: /constructs/tfmod-claranet-function-app-azurerm/install.txt
⭐ Source on GitHub 📦 Registry page
README

Azure Function App ![Changelog](CHANGELOG.md) ![Notice](NOTICE) ![Apache V2 License](LICENSE) ![OpenTofu Registry](https://search.opentofu.org/module/claranet/function-app/azurerm/) This Terraform module creates an Azure Function App with its App Service Plan, a consumption plan by default. A Storage Account and an Application Insights are required and are created if not provided. This module allows to deploy a application from a local or remote ZIP file that will be stored on the associated storage account. The module automatically selects the appropriate Function App resource type: Linux - Creates azurerm_linux_function_app when var.os_type = "Linux" - Flex - Creates azurerm_linux_function_app_flex_consumption when var.os_type = "Linux" and var.sku_name = "FC1" Windows - Creates azurerm_

Inputs (50)
NameTypeDescriptionDefault
environmentstringProject environment. required
logs_destinations_idslist(string)List of destination resources IDs for logs diagnostic destination. Can be `Stora required
locationstringAzure location for Function App and related resources. required
location_shortstringShort string for Azure location. required
identity_idslist(string)User Assigned Identities IDs to add to Function App. Mandatory if type is `UserAnull
client_certificate_modestringThe mode of the Function App's client certificates requirement for incoming requnull
logs_categorieslist(string)Log categories to send to destinations.null
storage_account_name_prefixstringStorage Account name prefix.""
storage_account_identity_idslist(string)Specifies a list of User Assigned Managed Identity IDs to be assigned to the Stonull
application_settings_drift_ignoreboolIgnore drift from settings manually set.true
staging_slot_custom_application_settingsmap(string)Override staging slot with custom application settings.null
storage_account_kindstringStorage Account kind."StorageV2"
storage_account_min_tls_versionstringStorage Account minimal TLS version."TLS1_2"
rbac_storage_blob_role_principal_idsobject({ owners = opThe principal IDs of the users, groups, and service principals to assign the `St{}
application_insights_extra_tagsmap(string)Extra tags to add to Application Insights.{}
application_insights_internet_ingestion_enabledboolWhether ingestion support from Application Insights component over the Public Intrue
builtin_logging_enabledboolWhether built-in logging is enabled.true
scm_allowed_ipslist(string)SCM IPs restriction for Function App. [See documentation](https://registry.terra[]
worker_countnumberNumber of Workers (instances) to be allocated.null
storage_account_https_traffic_only_enabledboolWhether HTTPS traffic only is enabled for Storage Account.true
sticky_settingsobject({ app_setting_namesLists of connection strings and app settings to prevent from swapping between slnull
logs_metrics_categorieslist(string)Metrics categories to send to destinations.null
storage_logs_categorieslist(string)Override storage_logs_categories for the storage. Log categories to send to destnull
storage_logs_metrics_categorieslist(string)Override storage_logs_metrics_categories for the storage. Metrics categories to null
… and 10 more inputs
Outputs (31)
storage_account_secondary_access_key — Storage Account secondary access key.
slot_id — ID of the Function App slot.
application_insights_id — ID of the associated Application Insights.
default_hostname — Default hostname of the created Function App.
identity_principal_id — Identity principal ID output of the Function App.
slot_identity_principal_id — Identity block output of the Function App slot.
application_insights_application_type — Application Type of the associated Application Insights.
possible_outbound_ip_addresses — All possible outbound IP adresses of the created Function App.
slot_default_hostname — Default hostname of the Function App slot.
service_plan_id — ID of the created Service Plan.
storage_account_network_rules — Storage Account associated network rules.
id — ID of the created Function App.
connection_string — Connection string of the created Function App.
application_insights_name — Name of the associated Application Insights.
storage_account_id — Storage Account ID.
storage_account_name — Storage Account name.
outbound_ip_addresses — Outbound IP adresses of the created Function App.
slot_name — Name of the Function App slot.
resource_application_insights — Application Insights resource object.
storage_account_primary_connection_string — Storage Account primary connection string.
storage_account_secondary_connection_string — Storage Account secondary connection string.
module_storage_account — Storage Account module object.
resource_slot — Function App staging slot resource object.
application_insights_app_id — App ID of the associated Application Insights.
application_insights_instrumentation_key — Instrumentation key of the associated Application Insights.
module_diagnostics — Diagnostic Settings module object.
module_service_plan — Service Plan module object.
storage_account_primary_access_key — Storage Account primary access key.
name — Name of the created Function App.
resource — Function App resource object.
… and 1 more outputs
Resources (7)
azurerm_application_insightsazurerm_function_app_flex_consumptionazurerm_linux_function_appazurerm_storage_account_network_rulesazurerm_storage_blobazurerm_storage_containerazurerm_windows_function_app
Details
FrameworkTerraform Module
LanguageHCL
Version8.8.1
Cloud AZURERM
★ Stars21
Forks30
Total downloads116.0k
Inputs50
Outputs31
Resources7
Examples9
Submodules1
LicenseApache-2.0
Namespaceclaranet
Updated