Azure Operations

Manage Azure resources and authentication using the Azure CLI.

Operations

Operation Description
Azure.EnsureAuthenticated
Authenticate to Azure using the best available method. Checks for service principal credentials (AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID), then falls back to existing CLI session or interactive login. Prompts to install Azure CLI if not available.
Azure.EnsureAuthenticated(); // Auto-detects auth method
// CI/CD: Uses env vars if set
// Local: Uses az login session or prompts for login
Azure.EnsureLoggedIn
Verify the user is logged in to Azure CLI. Fails if not authenticated.
Azure.EnsureLoggedIn();
Azure.ShowAccount
Display current Azure account information.
Azure.ShowAccount();
Azure.LoginWithServicePrincipal
Login with a Service Principal (for CI/CD).
Azure.LoginWithServicePrincipal(clientId, secret, tenantId);
Azure.LoginWithServicePrincipal(); // Uses AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID env vars
Azure.LoginWithManagedIdentity
Login with Managed Identity (for Azure-hosted environments).
Azure.LoginWithManagedIdentity(); // System-assigned
Azure.LoginWithManagedIdentity("client-id"); // User-assigned
Azure.SetSubscription
Set the active Azure subscription.
Azure.SetSubscription("subscription-id");
Azure.SetSubscription(); // Uses AZURE_SUBSCRIPTION_ID env var
Azure.CreateResourceGroup
Create a resource group if it doesn't exist.
Azure.CreateResourceGroup("my-rg", "eastus");
Azure.CreateResourceGroup("prod-rg", "westeurope");
Azure.DeleteResourceGroup
Delete a resource group and all its resources.
Azure.DeleteResourceGroup("my-rg");
Azure.DeleteResourceGroup("my-rg", noWait: true);

Authentication

Azure operations require authentication via the Azure CLI. Choose the method that fits your environment.

Environment Variables (Service Principal)

Variable Description
AZURE_CLIENT_ID Service principal application ID
AZURE_CLIENT_SECRET Service principal secret
AZURE_TENANT_ID Azure AD tenant ID
AZURE_SUBSCRIPTION_ID Target subscription ID

Example

Authenticate and create a resource group.

build.ando
// For CI/CD: login with service principal
Azure.LoginWithServicePrincipal();
Azure.SetSubscription();

// For local dev: ensure already logged in
Azure.EnsureLoggedIn();

// Create resource group
Azure.CreateResourceGroup("my-app-rg", "eastus");