はじめに
前回の続きです。
Microsoftのチュートリアルに沿ってBicepの使用感を確かめていきます。
Bicepテンプレートに変数を追加
サンプルコードを以下に示します。
param location string = 'westus3'
param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
param appServiceAppName string = 'toylaunch${uniqueString(resourceGroup().id)}'
@allowed([
'nonprod'
'prod'
])
param environmentType string
var appServicePlanName = 'toy-product-launch-plan'
var storageAccountSkuName = (environmentType == 'prod') ? 'Standard_GRS' : 'Standard_LRS'
var appServicePlanSkuName = (environmentType == 'prod') ? 'P2v3' : 'F1'
resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
name: storageAccountName
location: location
sku: {
name: storageAccountSkuName
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
resource appServicePlan 'Microsoft.Web/serverFarms@2022-03-01' = {
name: appServicePlanName
location: location
sku: {
name: appServicePlanSkuName
}
}
resource appServiceApp 'Microsoft.Web/sites@2022-03-01' = {
name: appServiceAppName
location: location
properties: {
serverFarmId: appServicePlan.id
httpsOnly: true
}
}
コード上部に変数とデフォルト値を設定しています。リソース名称にはuniqueString()
関数が含まれており一意の値が設定されます。environmentalType
はprod
とnonprod
の値をセットできる変数として宣言されていますが、デフォルト値は設定されていません。実行時に明示的に指定が必要です。もし指定しなかった場合は確認されます。
こちらのコマンドで実行します。
New-AzResourceGroupDeployment `
-TemplateFile main.bicep `
-environmentType nonprod