functionapp

anoff/functionapp/azurerm

Terraform Module HCL AZURERM

Deploy a dedicated or consumption based Function App with all dependencies and minimal config

Install
module "functionapp" {
source = "anoff/functionapp/azurerm"
version = "0.4.0"
}
plain text: /constructs/tfmod-anoff-functionapp-azurerm/install.txt
⭐ Source on GitHub 📦 Registry page
README

Terraform module for Azure FunctionApp ⚡️ > Deploy a function app on Azure with minimal configuration Features - Create resource group, storage account and service plan automatically - Use name for all created resources by default, allowing custom values to be defined - Automatically set up deployment via local git repo and expose as git_url output - By default deactivate client_affinity and activate always_on (dedicated plans only) - Single parameter to start app in consumption plan plan_type = consumption - Customize all the things ✨ Usage > 🚨 Note: As Terraform and ARM do not natively support enabling local git deployment this module uses the az CLI for that. This means you need to have az installed and a valid login token when running Terraform. If you set git_enabled = false you do no

Inputs (13)
NameTypeDescriptionDefault
locationanyRegion where the resources are created. required
nameanyThe name of the function app required
plan_typeanyWhat kind of plan to use (dedicated or consumption) required
resource_group_nameanyThe name of the resource group in which the resources will be created, default =""
plan_settingsanyDefinition of the dedicated plan to use{ "capacity": 1, "kind": "Linux",
storage_account_nameanyThe name of the storage account for WebJobs, default = $function_app_name""
service_plan_nameanyThe name of the App Service Plan, default = $function_app_name""
func_versionanyThe runtime version associated with the Function App. Possible values are `~1` a"~1"
app_settingsanyA key-value pair of App Settings{}
connection_stringanyA block containing connection string definitions, see https://www.terraform.io/d[]
client_affinity_enabledanyEnable client affinity a.k.a. sticky sessionsfalse
git_enabledanySet deployment mode to local gittrue
site_configanyA key-value pair for Site Config[ { "always_on": true } ]
Outputs (5)
git_url — Git endpoint to deploy the function sourcecode to
name — Function App name (identical with input parameter..for now)
id — Function App unique ID
outbound_ip_addresses — A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
default_hostname — Unique hostname to reach the Function App
Resources (4)
azurerm_app_service_planazurerm_function_appazurerm_resource_groupazurerm_storage_account
Details
FrameworkTerraform Module
LanguageHCL
Version0.4.0
Cloud AZURERM
★ Stars11
Forks7
Total downloads6.0k
Inputs13
Outputs5
Resources4
LicenseMIT
Namespaceanoff
Updated