One Resource, Four Tools

You’ve now seen the same storage account deployed with ARM, Bicep, Terraform’s azurerm, and Terraform’s azapi. This capstone ties it together with one small, realistic change — add a tags block (environment = "production") — applied to all four. It’s a deliberately small task: the point isn’t the tags, it’s noticing how the same one-line intent is expressed four different ways.

Work through the four labs below in any order, then finish with the mixed quiz pulling one question from every module in this workshop.


🧪 Lab — Tag it — ARM

Tool 1 of 4 — ARM. Add a top-level "tags" property to this resource, with an "environment" key set to "production".

🧪 Lab — Tag it — Bicep

Tool 2 of 4 — Bicep. Add a tags property with environment: 'production'.

🧪 Lab — Tag it — Terraform azurerm

Tool 3 of 4 — Terraform (azurerm). Add a tags argument with environment = "production".

🧪 Lab — Tag it — Terraform azapi

Tool 4 of 4 — Terraform (azapi). In azapi, tags is a resource-level argument (a sibling of type/name/body), not something inside body. Add it.

Final Quiz

📝 Quiz — Everything, mixed

You’ve Finished the Workshop

Nice work — you’ve now seen the same Azure resource declared four ways, previewed with both what-if and terraform plan, and practiced the syntax quirks that trip people up when switching between tools. Head back to the workshop overview to revisit any module, or jump straight back to a specific tool whenever you need a refresher.