Bicep language preview
1. Storage account
params, decorators, and resource declarations
horizon-dark
@description('The Azure region for resources')
param location string = resourceGroup().location
@allowed(['Standard_LRS', 'Standard_GRS'])
param skuName string = 'Standard_LRS'
resource storage 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: 'st${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: skuName
}
kind: 'StorageV2'
}
output storageId string = storage.id atom-one-dark
@description('The Azure region for resources')
param location string = resourceGroup().location
@allowed(['Standard_LRS', 'Standard_GRS'])
param skuName string = 'Standard_LRS'
resource storage 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: 'st${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: skuName
}
kind: 'StorageV2'
}
output storageId string = storage.id github-dark
@description('The Azure region for resources')
param location string = resourceGroup().location
@allowed(['Standard_LRS', 'Standard_GRS'])
param skuName string = 'Standard_LRS'
resource storage 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: 'st${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: skuName
}
kind: 'StorageV2'
}
output storageId string = storage.id dracula
@description('The Azure region for resources')
param location string = resourceGroup().location
@allowed(['Standard_LRS', 'Standard_GRS'])
param skuName string = 'Standard_LRS'
resource storage 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: 'st${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: skuName
}
kind: 'StorageV2'
}
output storageId string = storage.id nord
@description('The Azure region for resources')
param location string = resourceGroup().location
@allowed(['Standard_LRS', 'Standard_GRS'])
param skuName string = 'Standard_LRS'
resource storage 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: 'st${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: skuName
}
kind: 'StorageV2'
}
output storageId string = storage.id github
@description('The Azure region for resources')
param location string = resourceGroup().location
@allowed(['Standard_LRS', 'Standard_GRS'])
param skuName string = 'Standard_LRS'
resource storage 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: 'st${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: skuName
}
kind: 'StorageV2'
}
output storageId string = storage.id 2. Modules and loops
module references and for expressions
horizon-dark
param names array = ['app', 'api', 'web']
module sites 'site.bicep' = [for name in names: {
name: 'deploy-${name}'
params: {
siteName: name
}
}] atom-one-dark
param names array = ['app', 'api', 'web']
module sites 'site.bicep' = [for name in names: {
name: 'deploy-${name}'
params: {
siteName: name
}
}] github-dark
param names array = ['app', 'api', 'web']
module sites 'site.bicep' = [for name in names: {
name: 'deploy-${name}'
params: {
siteName: name
}
}] dracula
param names array = ['app', 'api', 'web']
module sites 'site.bicep' = [for name in names: {
name: 'deploy-${name}'
params: {
siteName: name
}
}] nord
param names array = ['app', 'api', 'web']
module sites 'site.bicep' = [for name in names: {
name: 'deploy-${name}'
params: {
siteName: name
}
}] github
param names array = ['app', 'api', 'web']
module sites 'site.bicep' = [for name in names: {
name: 'deploy-${name}'
params: {
siteName: name
}
}]