Bicep Operations

Deploy Azure infrastructure using Bicep templates.

Operations

Operation Description
Bicep.DeployToResourceGroup
Deploy a Bicep template to a resource group.
Bicep.DeployToResourceGroup("my-rg", "./infra/main.bicep");
Bicep.DeployToResourceGroup("my-rg", "./main.bicep", o => o
  .WithParameterFile("./params.json")
  .WithDeploymentSlot("staging")
  .CaptureOutputs());
Bicep.DeployToSubscription
Deploy a Bicep template at subscription scope.
Bicep.DeployToSubscription("eastus", "./infra/sub.bicep");
Bicep.DeployToSubscription("eastus", "./sub.bicep", o => o
  .WithParameter("environment", "prod")
  .CaptureOutputs("infra_"));
Bicep.WhatIf
Preview what would be deployed (what-if analysis).
Bicep.WhatIf("my-rg", "./infra/main.bicep");
Bicep.WhatIf("my-rg", "./main.bicep", o => o.WithParameterFile("./params.json"));
Bicep.Build
Compile a Bicep file to ARM JSON template.
Bicep.Build("./infra/main.bicep");
Bicep.Build("./main.bicep", "./output/main.json");

Example

Deploy infrastructure and capture outputs.

build.ando
// Preview changes first
Bicep.WhatIf("my-app-rg", "./infra/main.bicep", o => o
  .WithParameterFile("./infra/params.prod.json"));

// Deploy and capture outputs for later steps
Bicep.DeployToResourceGroup("my-app-rg", "./infra/main.bicep", o => o
  .WithParameterFile("./infra/params.prod.json")
  .CaptureOutputs());

// Build Bicep to ARM for validation
Bicep.Build("./infra/main.bicep", "./artifacts/main.json");