# Azure Operations Manage Azure resources and authentication using the Azure CLI. ## Operations ### 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. ```csharp 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. ```csharp Azure.EnsureLoggedIn(); ``` ### Azure.ShowAccount Display current Azure account information. ```csharp Azure.ShowAccount(); ``` ### Azure.LoginWithServicePrincipal Login with a Service Principal (for CI/CD). ```csharp 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). ```csharp Azure.LoginWithManagedIdentity(); // System-assigned Azure.LoginWithManagedIdentity("client-id"); // User-assigned ``` ### Azure.SetSubscription Set the active Azure subscription. ```csharp Azure.SetSubscription("subscription-id"); Azure.SetSubscription(); // Uses AZURE_SUBSCRIPTION_ID env var ``` ### Azure.CreateResourceGroup Create a resource group if it doesn't exist. ```csharp Azure.CreateResourceGroup("my-rg", "eastus"); Azure.CreateResourceGroup("prod-rg", "westeurope"); ``` ## 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. ```csharp // 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"); ```