This example defines a Windows Consumption plan for Function Apps. For new serverless apps, Microsoft recommends the Linux-based FlexConsumption plan; see the Function App Flex Consumption example.
Plan kind metadata; Function-only SKUs require function_app
diagnostic_settings
diagnostic settings
Optional supported logs and metrics with storage, Event Hub, or Log Analytics destinations.
instance_count
integer
Initial capacity for Dedicated and Premium plans (defaults to 1). Consumption always emits the Azure-required capacity 0; Flex doesn’t emit plan capacity.
maximum_elastic_worker_count
integer
Maximum elastic workers, usually used with an Elastic Premium plan (range 1–100).
zone_redundant
bool
Whether the plan is redundant inside of the location, will impact instance count (defaults to false)
Resource Location (defaults to the resource group location)
external
bool
A reference to an existing App Service Plan (defaults to false)
resource_group_name
string
The name of the resource group where the resource is located, only with external resources (defaults to the resource group of the deployment)
tags
object
Additional tags for the resource (defaults to no additional tags)
PlanKind
Value
Azure SKU / tier
Intended use
Consumption
Y1 / Dynamic
Classic serverless Function Apps.
FlexConsumption
FC1 / FlexConsumption
Linux Flex Consumption Function Apps.
EP1, EP2, EP3
same name / ElasticPremium
Elastic Premium Function Apps.
B1
B1 / Basic
Dedicated apps.
S1
S1 / Standard
Dedicated apps.
P1v2, P2v2, P3v2
same name / PremiumV2
Dedicated Premium v2 apps.
P0v3
P0v3 / Premium0V3
Dedicated Premium v3 P0 apps.
P1v3, P2v3, P3v3
same name / PremiumV3
Dedicated Premium v3 apps.
P1mv3, P2mv3, P3mv3, P4mv3, P5mv3
same name / PremiumV3
Memory-optimized Dedicated Premium v3 apps.
Hulk emits the Azure SKU metadata appropriate to each kind. In particular, Consumption uses capacity 0, Flex uses no plan capacity, and Elastic Premium uses the EP family. See Microsoft’s hosting plan Bicep guidance.
OsType
Value
Description
windows
A plan running on Windows
linux
A plan running on Linux
AppType
Value
Description
function_app
Emits Function App plan kind metadata. Required for Consumption, Flex Consumption, and Elastic Premium.
web_app
Emits Web App plan kind metadata for a Dedicated plan.
Web Apps require a Dedicated SKU (B1, S1, or a Premium v2/v3 option). A Dedicated App Service Plan can host both Web Apps and Function Apps regardless of whether its type metadata is web_app or function_app; this supports existing mixed plans without replacing them. Consumption, FlexConsumption, and EP1–EP3 are Function-only plans and must use type: "function_app". A Flex plan must also use os: "linux".