A Cascade Regional Airlines engineer authors a new outstation deployment in Bicep instead of raw ARM JSON. When the deployment is submitted to Azure Resource Manager, what actually happens to the Bicep file before the resources are created?
Select an answer to reveal the explanation.
Short Explanation
Bicep is really just a friendlier way to write the same thing ARM has always understood. Behind the scenes, the tooling transpiles your Bicep into ARM JSON, and Resource Manager deploys that JSON exactly like it always has.
Full Explanation
Bicep is a domain-specific language that compiles down to standard ARM JSON template syntax before deployment; it does not introduce a new execution engine inside Azure Resource Manager. The Bicep CLI, or the tooling built into the Azure CLI and PowerShell modules, performs this transpilation locally or during the deployment call, and the resulting ARM JSON is what Resource Manager actually processes. Claiming Resource Manager runs a dedicated Bicep runtime misstates the architecture: there is no separate Bicep execution path inside the resource provider layer, only the familiar ARM template engine. Uploading the raw Bicep file for interpretation by Azure Functions is not part of the deployment pipeline at all; Functions has no role in template deployment. Converting Bicep into an imperative PowerShell script would abandon the declarative model entirely, which is not what the compiler does. A useful check for any Bicep file is running the build command to view the generated ARM JSON directly, which confirms exactly what will be submitted to Resource Manager.