Azure Functions App
Function app (Flex Consumption or Premium) with storage, Application Insights, managed identity and VNet integration.
Verification
Live-testedReally deployed to a cloud sandbox, verified against its outputs and assertions, then destroyed - with the teardown confirmed.
Conformance
- Static validation (fmt · validate · tflint)
- Security scan clean (Checkov)
- Plan test superseded by live test
Provenance
- SHA-256 checksum
- Cosign signature
Functional
- Live-tested - applied, verified, destroyed
Last verified 2026-06-29 · how we verify
Verify this download
cosign · sha-256Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.
# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub
# 2. This module's Sigstore bundle
curl -o azure-functions-1.0.0.sigstore.json \
https://www.iac-bazaar.com/api/artifacts/azure-functions/signature
# 3. Verify the tarball you downloaded
cosign verify-blob \
--key cosign.pub \
--bundle azure-functions-1.0.0.sigstore.json \
azure-functions-1.0.0.tar.gz
# → Verified OK
# 4. (optional) confirm the checksum too
echo "2fcfbe1e762aaeea3495ce7e441cf11237cd06ac28a11129a855473c47f62c4b azure-functions-1.0.0.tar.gz" | sha256sum -cUse it from the registry
terraform · opentofumodule "functions" {
source = "www.iac-bazaar.com/iac-bazaar/azure-functions/azure"
version = "1.0.0"
}Paid module — needs a purchase (or a subscription that covers it) plus a registry token from /account/tokens. Full setup: registry docs.
Inputs & outputs
Create a free account to read this module's contract
The declared contract — every input name, type, default and description, plus every output — is shown to signed-in accounts, not to anonymous visitors.
A free account sees the contract of every Free module. This one is Premium, so its contract unlocks when you buy it.
Documentation
azure-functions
Function app (Flex Consumption or Premium) with storage, Application Insights,
managed identity and VNet integration. Works with Terraform and OpenTofu
(>= 1.6), AzureRM provider >= 4.31, < 5.0.
Secure defaults:
- HTTPS-only, TLS 1.2 minimum, HTTP/2 on, FTPS disabled (premium path)
- System-assigned managed identity on the app — no service principals
- Backing storage: TLS 1.2, HTTPS-only, no public nested items, 7-day
blob/container soft-delete, queue-service Storage Analytics logging
(read/write/delete, 7-day retention) and a 7-day SAS expiration policy
(action
Log— long-lived SAS tokens are surfaced, nothing breaks) - Workspace-based Application Insights (classic AI is deprecated)
- Flex Consumption: private deployment container; optional identity-based
access (module grants
Storage Blob Data Contributorautomatically)
Requirements
- Terraform or OpenTofu
>= 1.6 hashicorp/azurerm>= 4.31, < 5.0(4.31.0 is the first release where theazurerm_function_app_flex_consumptionresource supports everything this module configures, includinghttps_only; older 4.x releases fail validate)
Notes for integrators:
- Flex Consumption is the strategic replacement for the classic Consumption (Y1) plan — this module deliberately offers flex + premium only.
- The derived storage account name is deterministic from
name; storage names are globally unique, so passstorage_account_nameif you hit a clash. - VNet integration on Flex Consumption requires a subnet delegated to
Microsoft.App/environments; for Premium, delegate toMicrosoft.Web/serverFarms.
License
Commercial — IaC Bazaar EULA. © IaC Bazaar. Original work (not derived from a third-party module).
Usage code & full reference unlock after purchase
The complete copy-paste usage, the full input/output reference, and operational notes ship with your licence - shown here and bundled in the download.
- Usage
- Inputs
- Outputs
Related modules
Azure App Service (Linux Web App)
App Service plan + Linux web app with deployment slots, custom domain + managed TLS, VNet integration and autoscale.
Azure Container Apps Environment
Container Apps environment with workload profiles, Dapr, KEDA scale rules, ACR pull identity and custom domain.
Azure Container Instances (ACI)
Runs one or more containers on Azure Container Instances without VMs or an orchestrator - secure by default with no privileged containers, redacted secret fields, and an optional managed identity.
Azure Static Web App
Globally distributed hosting for static sites and SPAs on Azure Static Web Apps with optional serverless APIs, free auto-renewing TLS, and a built-in global CDN - defaulting to the cost-free Free SKU.
Logic App (Consumption) Workflow
An Azure Logic App (Consumption) workflow with a built-in Recurrence trigger - serverless pay-per-execution automation with a system-assigned managed identity and inbound IP allowlists.
Cloud Run Function (gen2)
Event-driven or HTTP gen2 function with source upload, dedicated runtime SA and Eventarc trigger wiring.