sca-arm-bicep-iac

Teaches deploying Azure VNet and VM infrastructure with Bicep templates and Azure CLI.

2|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/jay-steenbergen/MSSAMentorAgent --skill sca-arm-bicep-iac-jay-steenbergen
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sca-arm-bicep-iac
Source: https://github.com/jay-steenbergen/MSSAMentorAgent/tree/main/.github/skills/tracks/server-cloud-admin/sca-arm-bicep-iac
Command: npx skills add https://github.com/jay-steenbergen/MSSAMentorAgent --skill sca-arm-bicep-iac-jay-steenbergen

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Learners who built Azure infrastructure by clicking through the portal need to convert that manual work into repeatable Infrastructure as Code, but lack a guided path from a single Bicep file to parameterized, modular, redeployable templates. ## Core Features & Use Cases - Guided Bicep authoring: Walks through writing a single-file main.bicep that deploys a VNet, subnet, NSG, public IP, NIC, and Windows VM with parameters, variables, and outputs. - Safe deployment workflow: Covers az bicep build, az deployment group what-if previews, incremental vs complete mode, and secure password handling with Read-Host -AsSecureString. - Repeatability proof and modularization: Teaches teardown and redeploy as the IaC litmus test, then refactors networking resources into a reusable Bicep module consumed by main. - Use Case: An MSSA learner finishing the Server & Cloud Administration track converts their project #5 portal-built VM lab into a Bicep template, deploys it via Azure CLI, tears it down, and redeploys to prove repeatability before AZ-104 prep. ## Quick Start Ask the mentor to walk you through converting your Azure VNet and VM lab into a parameterized Bicep template and deploying it with the Azure CLI.

Frequently Asked Questions about sca-arm-bicep-iac

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy a Bicep template with the Azure CLI?

Create a resource group with az group create, preview changes with az deployment group what-if, then deploy using az deployment group create with --template-file main.bicep and your parameters. Read outputs afterward with az deployment group show.

What is the difference between Bicep parameters and variables?

Parameters come from outside the template, such as CLI arguments or parameter files, and suit values that change per environment. Variables are computed inside the template and suit values derived from parameters, like resource names built from a VM name prefix.

Bicep vs Terraform for Azure infrastructure, which should I use?

Both work for Azure. Bicep is first-party Microsoft, compiles 1:1 to ARM JSON, and has no state file to manage, while Terraform is cross-cloud. Microsoft-only shops commonly pick Bicep.

Why does az deployment group what-if show changes on an unchanged template?

This almost always means a parameter value changed, such as a different admin password. what-if evaluates the exact template and parameters, so any difference forces the affected resource, like the VM, to be redeployed.

How do I avoid exposing the VM admin password in Bicep deployments?

Mark the parameter with @secure() so it is never logged or shown in the portal or deployment history. Pass it at deploy time using Read-Host -AsSecureString in PowerShell instead of a literal string in scripts.

When should I split a Bicep file into modules?

Split when resource groups have different lifecycles, such as networking that changes rarely versus VMs that come and go. For a small one-file lab, inline resources are fine and modularizing would be over-engineering.