Useful Commands When Working with Bicep in Azure

Here are some useful commands when working with Bicep in Azure. Here I mostly focus on commands for when things go wrong or you need to troubleshoot deployments.

Working with subscription deployments

# List all subscription deployments
az deployment sub list

# Show only the names of subscription deployments
az deployment sub list --query "[].name" -o tsv

# Show details of a specific subscription deployment
az deployment sub show --name <deployment-name>

# Delete a specific subscription deployment
az deployment sub delete --name <deployment-name>

# Delete all subscription deployments using PowerShell
az deployment sub list | ConvertFrom-Json | ForEach-Object {az deployment sub delete --name $_.name}

# Delete all subscription deployments using bash
az deployment sub list --query "[].name" -o tsv | xargs -I{} az deployment sub delete --name {}

That takes care of subscription deployments. Likely you will have resource group deployments as well. Next, let’s look at resource group deployments.

Working with resource group deployments

# List all resource group deployments in a specific resource group
az deployment group list --resource-group <resource-group-name>

# Show only the names of resource group deployments in a specific resource group
az deployment group list --resource-group <resource-group-name> --query "[].name" -o tsv

# Show details of a specific resource group deployment
az deployment group show --resource-group <resource-group-name> --name <deployment-name>
# Delete a specific resource group deployment
az deployment group delete --resource-group <resource-group-name> --name <deployment-name>
# Delete all resource group deployments in a specific resource group using PowerShell
az deployment group list --resource-group <resource-group-name> | ConvertFrom-Json | ForEach-Object {az deployment group delete --resource-group <resource-group-name> --name $_.name}  
# Delete all resource group deployments in a specific resource group using bash
az deployment group list --resource-group <resource-group-name> --query "[].name" -o tsv | xargs -I{} az deployment group delete --resource-group <resource-group-name> --name {}

You will probably have to delete the resource group itself if you want to clean up completely. You can do that with the following command:

# Delete a specific resource group
az group delete --name <resource-group-name>
# Delete a specific resource group without confirmation prompt
az group delete --name <resource-group-name> --yes
This post appeared first at jayvilalta.com