ARM Bicep
Last updated:
AZUREBICEP
- [[202405011242 ARM template|ARM JSON]] is complex
- Bicep abstracts away this JSON so that it is simpler to define what we want.
- Bicep is domain specific language, so can only be used to create [[202405011242 ARM template|ARM template]]
- There is no state management, [[202404061212 Azure Resources|ARM]] knows what resources are present
- Might not be useful in multi-cloud setups or if we have a different tool already, like [[202407162143 Terraform|Terraform]]
- By default [[202404061212 Azure Resources|resources]] are deployed in parallel
- we can control this by using
@batchSize
- we can control this by using
# Convert to json
bicep compile
# Convert from json
bicep decompile
How to install
# Add the tap for bicep
brew tap azure/bicep
# Install the tool
brew install bicep
Also add to VSCode from extensions
How to deploy
# deploy resource
az deployment group create --template-file main.bicep --resource-group storage-resource-group
New-AzResourceGroupDeployment -TemplateFile main.bicep -ResourceGroupName zyz
- Use VS Code extension to simplify development
[[202407191859 Bicep parameters|Bicep parameters]] [[202407191925 Use Azure Key Vault with bicep|Use Azure Key Vault with bicep]] [[202407191900 Bicep variables|Bicep variables]] [[202407191832 Bicep Modules|Bicep Modules]] [[202407191939 Bicep loops|Bicep loops]] [[202407191932 Bicep conditionals|Bicep conditionals]]