0
0
Azurecloud~20 mins

Bicep as ARM simplification in Azure - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Bicep Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding Bicep Resource Declaration
Which of the following Bicep resource declarations correctly creates an Azure Storage Account with the name 'mystorageacct' in the 'eastus' region?
A
resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
  name: 'mystorageacct'
  location: 'eastus'
  sku: {
    name: 'Standard_LRS'
  }
}
B
resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
  name: 'mystorageacct'
  location: 'westus'
  kind: 'StorageV2'
  sku: {
    name: 'Standard_LRS'
  }
}
C
resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
  name: 'mystorageacct'
  location: 'eastus'
  kind: 'StorageV2'
  sku: {
    name: 'Standard_LRS'
  }
}
D
resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
  name: 'mystorageacct'
  location: 'eastus'
  kind: 'BlobStorage'
  sku: {
    name: 'Standard_LRS'
  }
}
Attempts:
2 left
💡 Hint
Remember that the location must be 'eastus' and the kind should be 'StorageV2' for a general-purpose storage account.
Configuration
intermediate
2:00remaining
Bicep Module Parameter Passing
Given a Bicep module that requires a parameter 'vmName' of type string, which option correctly passes the value 'myVM01' to this module?
Azure
module vmModule './vm.bicep' = {
  name: 'deployVM'
  params: {
    vmName: 'myVM01'
  }
}
A
module vmModule './vm.bicep' = {
  name: 'deployVM'
  params: {
    vmName: 'myVM01'
  }
}
B
module vmModule './vm.bicep' = {
  name: 'deployVM'
  vmName: 'myVM01'
}
C
module vmModule './vm.bicep' = {
  name: 'deployVM'
  parameters: {
    vmName: 'myVM01'
  }
}
D
module vmModule './vm.bicep' = {
  name: 'deployVM'
  args: {
    vmName: 'myVM01'
  }
}
Attempts:
2 left
💡 Hint
Check the correct keyword for passing parameters to a module in Bicep.
Architecture
advanced
2:00remaining
Bicep Deployment Scope Selection
You want to deploy a Bicep template that creates a resource group and resources inside it in a single deployment. Which deployment scope should you use in your Bicep file to achieve this?
AUse 'targetScope = 'managementGroup'' to deploy the resource group and nested resources.
BUse 'targetScope = 'subscription'' to deploy the resource group and nested resources.
CUse 'targetScope = 'resourceGroup'' to deploy the resource group and nested resources.
DUse 'targetScope = 'tenant'' to deploy the resource group and nested resources.
Attempts:
2 left
💡 Hint
Creating a resource group requires subscription-level deployment scope.
security
advanced
2:00remaining
Secure Parameter Handling in Bicep
Which Bicep parameter declaration ensures that a sensitive value like an admin password is not logged or exposed during deployment?
Aparam adminPassword securestring
Bparam adminPassword string = 'P@ssw0rd!'
Cparam adminPassword string { secure: true }
Dparam adminPassword string
Attempts:
2 left
💡 Hint
Bicep has a special type for sensitive parameters.
service_behavior
expert
2:00remaining
Bicep Output Behavior After Deployment
After deploying a Bicep template that outputs a storage account's primary endpoint URL, what will be the value of the output if the deployment fails halfway and the storage account resource was not created?
Azure
output storageEndpoint string = storageAccount.properties.primaryEndpoints.blob
AThe output will be null because the resource was not created.
BThe output will be an empty string.
CThe output will contain the endpoint URL from the previous deployment.
DThe deployment will fail and no outputs will be returned.
Attempts:
2 left
💡 Hint
Consider what happens to outputs when deployment fails.