Skip to content

Configuration & Parameters

All configuration is done through azd env set commands. Parameters are passed to Bicep via main.parameters.json using ${ENV_VAR} substitution.

Parameterazd env varTypeDefaultDescription
scenarioSCENARIOstringbaselineDeployment scenario: baseline, firewall, vpn, full
locationAZURE_LOCATIONstringswedencentralAzure region: swedencentral or germanywestcentral
environmentENVIRONMENTstringprodEnvironment name: dev, staging, prod
ownerOWNERstring(required)Owner email for tags and budget alerts
hubVnetAddressSpaceHUB_VNET_ADDRESS_SPACEstring10.0.0.0/16Hub VNet CIDR
spokeVnetAddressSpaceSPOKE_VNET_ADDRESS_SPACEstring10.1.0.0/16Spoke VNet CIDR
onPremisesAddressSpaceON_PREMISES_ADDRESS_SPACEstring''On-premises CIDR (vpn/full only)
logAnalyticsDailyCapGbLOG_ANALYTICS_DAILY_CAP_GBstring0.5Log Analytics daily cap in GB
budgetAmount(Bicep default)int500Monthly budget in USD (100–10000)
budgetAlertEmail(= owner)string= ownerBudget alert recipient
budgetStartDate(auto)stringCurrent monthAuto-generated, cannot be customized
Terminal window
azd env set SCENARIO baseline # or firewall, vpn, full
azd env set OWNER "ops-team@contoso.com"
azd env set AZURE_LOCATION swedencentral
azd env set ENVIRONMENT prod
azd env set HUB_VNET_ADDRESS_SPACE "10.0.0.0/23"
azd env set SPOKE_VNET_ADDRESS_SPACE "10.0.2.0/23"
azd env set LOG_ANALYTICS_DAILY_CAP_GB "0.5"
azd env set MANAGEMENT_GROUP_ID smb-rf

For VPN or full scenarios, also set:

Terminal window
azd env set ON_PREMISES_ADDRESS_SPACE "192.168.0.0/16"

The hub and spoke VNets must not overlap with each other or with on-premises ranges. The pre-provision hook validates this automatically.

NetworkRecommended CIDRAddressesPurpose
Hub10.0.0.0/23512Shared services, Firewall, VPN
Spoke10.0.2.0/23512Production workloads
On-premises192.168.0.0/1665,536Existing on-prem network (VPN only)
SubnetCIDRPurpose
AzureFirewallSubnet/26Azure Firewall (firewall/full only)
AzureFirewallManagementSubnet/26Firewall management (Basic SKU)
snet-management/26General hub management resources
GatewaySubnet/27VPN Gateway (vpn/full only)
SubnetCIDRPurpose
snet-workload/25Production workloads
snet-data/25Data tier resources
snet-app/25Application tier
snet-private-endpoints/26Private endpoints

These parameters are read by the pre-provision hook but are not passed to Bicep:

azd env varPurposeUsed by
MANAGEMENT_GROUP_IDTarget management group nameHook step 4 (MG verification) + step 5a/5b (MG deployment + policies)

The budget defaults to $500/month. To override:

Terminal window
# Option 1: Override via azd parameter injection
azd env set infra.parameters.budgetAmount 1000

You can maintain multiple azd environments for different scenarios or customers:

Terminal window
# Create environments for different scenarios
azd env new customer-a-baseline
azd env new customer-a-firewall
# Switch between them
azd env select customer-a-baseline
azd env get-values # verify current config
# Deploy the selected environment
azd up