Introduction
In this blog we will learn the basic of bicep, further we will setup it from scratch and deploy your first bicep template.
Prerequisites
Visual Studio Code
Azure CLI/ Az Module
What is Bicep
Bicep is azure native declarative, domain-specific language to deploy azure resources.
It helps to create resource manager template.
It is easy to understand and learn.
It simplifies the complexity of ARM json template.
Benefit of Bicep
Simpler Syntax
Module-specific
Automatic Dependency Management
Type validation and IntelliSense
Bicep Workflow
Setup Bicep
For creating bicep template you should have the Visual studio code Installed.
1. Download and Install VS Code from --> https://code.visualstudio.com/download
After Installation --> Open VS Code -->1. go to Extension -->2. search for Bicep -->3. Install
2. Check if the bicep cli installed if not you can follow the link below to install
bicep --version
3. Install Azure CLI or Powershell AZ if not installed.
az --version
Azure CLI
PowerShell AZ
Bicep basic keywords
param
var
resource
output
Bicep Syntax
Bicep is declarative which means the elements can appear in any order.
param <parameter-name> <parameter-data-type> = <default-value>
var <variable-name> = <variable-value>
resource <resource-symbolic-name> '<resource-type>@<api-version>' =
{
<resource-properties>
}
output <output-name> <output-data-type> = <output-value>
Create first bicep
Creating storage account
param staccount1 string = 'staccount0103'
param location string = 'East US'
resource staccount 'Microsoft.Storage/storageAccounts@2022-09-01'={
name: staccount1
kind: 'BlobStorage'
location: location
sku: {
name: 'Standard_LRS'
}
properties:{
accessTier: 'Cool'
}
}
Run the bicep
Using AZ Module
# Set the variables
$resourceGroupName = "srsdemo"
$templateFilePath = "path/to/your/template.bicep"
$parametersFilePath = "path/to/your/parameters.json"
$deploymentName = "demodeploy"
# Authenticate to Azure
Connect-AzAccount
# Select the subscription (if necessary)
Set-AzContext -SubscriptionId "your-subscription-id"
# Deploy the Bicep template
New-AzResourceGroupDeployment `
-DeploymentName $deploymentName `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFilePath `
-TemplateParameterFile $parametersFilePath
Using Azure CLI
$resourceGroupName = "test"
$deploymentName = "your11"
$bicepFile = "path/to/your/template.bicep"
$parametersFile = "path/to/your/parameters.json"
# Log in to Azure using the Azure CLI
az login
# Set the active subscription
az account set --subscription "your-subscription-id"
# Create the resource group if it doesn't exist
#az group create --name $resourceGroupName --location "your-location"
# Deploy the Bicep file
az deployment group create --name $deploymentName `
--resource-group $resourceGroupName `
--template-file $bicepFile `
--parameters $parametersFile
Comments