Azure
Azure infrastructure management via az CLI — 43 model types covering compute, networking, data, security, RBAC, Azure Policy, Defender for Cloud, Entra directory, monitoring, DNS, DevOps, Azure AI Foundry (accounts, model deployments, projects, quota), AI Search, Cosmos DB, PostgreSQL Flexible Server, Static Web Apps, Service Bus, Event Grid, Recovery Services, Log Analytics, subscription-wide topology with Mermaid diagrams and cost estimation, actual-spend cost analysis and waste auditing via Cost Management/Resource Graph/Advisor, and the Azure AI Vision Face REST API for identity-aware room services.
Add auditDirectoryRoles to azure-ad-user: fan-out resolution of effective directory roles, including roles inherited through role-assignable groups that a principalId-filtered query silently omits.
| Argument | Type | Description |
|---|---|---|
| filter? | string | OData filter |
| Argument | Type | Description |
|---|---|---|
| id | string | Application (client) id or object id |
| Argument | Type | Description |
|---|---|---|
| id | string | Application (client) id or object id |
| Argument | Type | Description |
|---|---|---|
| id | string | Application (client) id or object id |
| Argument | Type | Description |
|---|---|---|
| id | string | Application (client) id or object id |
Resources
| Argument | Type | Description |
|---|---|---|
| group | string | Group object id or display name |
| Argument | Type | Description |
|---|---|---|
| group | string | Group object id or display name |
| Argument | Type | Description |
|---|---|---|
| group | string | Group object id or display name |
| Argument | Type | Description |
|---|---|---|
| group | string | Group object id or display name |
| Argument | Type | Description |
|---|---|---|
| group | string | Group object id or display name |
| memberId | string | Object id of the principal to remove |
| Argument | Type | Description |
|---|---|---|
| displayName | string | Group display name |
| mailNickname | string | Mail nickname (alias) |
| description? | string | Group description |
| Argument | Type | Description |
|---|---|---|
| group | string | Group object id or display name |
Resources
| Argument | Type | Description |
|---|---|---|
| filter? | string | OData filter |
| spn? | string | Service principal name |
| Argument | Type | Description |
|---|---|---|
| id | string | Application (client) id or object id |
| Argument | Type | Description |
|---|---|---|
| id | string | Application (client) id or object id |
| Argument | Type | Description |
|---|---|---|
| id | string | Application (client) id or object id |
| Argument | Type | Description |
|---|---|---|
| id | string | Application (client) id or object id |
| Argument | Type | Description |
|---|---|---|
| id | string | Service principal object id |
| Argument | Type | Description |
|---|---|---|
| id | string | Service principal object id |
Resources
| Argument | Type | Description |
|---|---|---|
| id | string | User principal name or object id |
| Argument | Type | Description |
|---|---|---|
| id | string | User principal name or object id |
| Argument | Type | Description |
|---|---|---|
| id | string | User principal name or object id |
| Argument | Type | Description |
|---|---|---|
| displayName | string | User display name |
| jobTitle? | string | Job title |
| department? | string | Department |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Account name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Account name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| accountName | string | AI Services account name |
| resourceGroup? | string | Resource group name |
| deploymentName | string | Deployment name |
| modelName | string | Model name, e.g. gpt-4o |
| Argument | Type | Description |
|---|---|---|
| accountName | string | AI Services account name |
| resourceGroup? | string | Resource group name |
| deploymentName | string | Deployment name to delete |
| Argument | Type | Description |
|---|---|---|
| accountName | string | AI Services account name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| accountName | string | AI Services account name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Search service name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Search service name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Search service name (globally unique) |
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | Search service name to delete |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Application gateway name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Application gateway name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Application gateway name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Bastion host name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Bastion host name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Bastion host name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
| Argument | Type | Description |
|---|---|---|
| name | string | Bastion host name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Cosmos DB account name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Cosmos DB account name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| accountName | string | Cosmos DB account name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| accountName | string | Cosmos DB account name |
| databaseName | string | SQL API database name |
| resourceGroup? | string | Resource group name |
Resources
Resources
Resources
Global Arguments
| Argument | Type | Description |
|---|---|---|
| organization | string | Azure DevOps organization URL. Use: ${{ vault.get('azure-devops', 'ORG_URL') }} |
| Argument | Type | Description |
|---|---|---|
| project | string | Project name |
| Argument | Type | Description |
|---|---|---|
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| repository | string | Repository name or ID |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| name | string | Repository name |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| id | string | Repository ID |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| id | number | Pipeline ID |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| id | number | Pipeline ID |
| branch? | string | Source branch to build |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| top? | number | Number of builds to return (default 20) |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| id | number | Build ID |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| wiql? | string | WIQL query string |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| id | number | Work item ID |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| title | string | Work item title |
| type | string | Work item type (e.g. Bug, Task, User Story) |
| assignedTo? | string | Assigned user |
| areaPath? | string | Area path |
| description? | string | Work item description |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| id | number | Work item ID |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| project? | string | Project name (overrides global) |
| todoState? | string | State meaning 'not started' (default 'To Do'; Agile uses 'New') |
| doingState? | string | State meaning 'in progress' (default 'Doing'; Agile uses 'Active') |
| doneState? | string | State meaning 'complete' (default 'Done'; Agile uses 'Closed') |
| Argument | Type | Description |
|---|---|---|
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| id | string | Service endpoint id |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| top? | number | Maximum number to return |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| id | number | Variable group id |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| repository? | string | Repository name or id |
| sourceBranch? | string | Source branch filter |
| targetBranch? | string | Target branch filter |
| project? | string | Project name (overrides global) |
| Argument | Type | Description |
|---|---|---|
| id | number | Pull request id |
| Argument | Type | Description |
|---|---|---|
| poolName? | string | Filter by matching pool name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Disk name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Disk name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Disk name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
| sizeGb | number | Disk size in GB |
| zone? | string | Availability zone (1, 2, or 3) |
| Argument | Type | Description |
|---|---|---|
| name | string | Disk name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | DNS zone name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | DNS zone name, e.g. example.com |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | DNS zone name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | DNS zone name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| zoneName | string | DNS zone name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| zoneName | string | DNS zone name |
| name | string | Record set name (e.g. 'www', '@' for apex) |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| zoneName | string | DNS zone name |
| name | string | Record set name (e.g. 'www', '@' for apex) |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| zoneName | string | DNS zone name |
| name | string | Record set name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| zoneName | string | DNS zone name |
| name | string | Record set name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| zoneName | string | DNS zone name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Topic name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Topic name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| imageUrl | string | Publicly accessible URL of the image frame to analyze |
| returnFaceId | boolean | Whether to return a faceId (required for identify) |
| returnFaceLandmarks | boolean | Whether to return face landmark points |
| returnFaceAttributes | string | Comma-separated face attribute names to return, e.g. `age,gender,headPose`. Leave empty to minimize quota usage. |
| recognitionModel | string | Recognition model to use. recognition_04 is the most accurate as of 2024. |
| detectionModel | string | Detection model to use. detection_03 is recommended for still images. |
| Argument | Type | Description |
|---|---|---|
| faceIds | array | One or more faceIds returned by `detect` (max 10, TTL 24h) |
| personGroupId | string | Id of the PersonGroup to search against. Each Person's userData must hold the Entra objectId. |
| maxNumOfCandidatesReturned | number | Max candidates per face (1-5). Default 1 returns only the best match. |
| confidenceThreshold | number | Minimum confidence score to include a candidate (0.0-1.0). Default 0.5. |
| Argument | Type | Description |
|---|---|---|
| personGroupId | string | Unique id for the group (lowercase, alphanumeric, hyphens, underscores; max 64 chars) |
| name | string | Human-readable display name for the group (max 128 chars) |
| userData | string | Optional metadata string (max 16KB). Useful for tagging the deployment site or environment. |
| recognitionModel | string | Recognition model for faces enrolled in this group. Must match the model used during detect. |
| Argument | Type | Description |
|---|---|---|
| start | string | List groups with id > start (for pagination) |
| top | number | Max groups to return (1-1000) |
| returnRecognitionModel | boolean | Include the recognitionModel field in each group |
| Argument | Type | Description |
|---|---|---|
| personGroupId | string | Id of the PersonGroup to delete |
| Argument | Type | Description |
|---|---|---|
| personGroupId | string | Id of the PersonGroup to add to |
| name | string | Display name for the person (e.g. the employee's full name) |
| userData | string | Entra objectId of the employee — this is what `identify` returns as the identity assertion. Max 16KB. |
| Argument | Type | Description |
|---|---|---|
| personGroupId | string | Id of the PersonGroup |
| personId | string | Id of the Person (returned by `addPerson`) |
| imageUrl | string | Publicly accessible URL of the enrollment image (face clearly visible) |
| userData | string | Optional metadata for this specific face image |
| targetFace | string | Optional bounding box to target a specific face in the image: left,top,width,height (pixels) |
| detectionModel | string | Detection model to use when adding the face |
| Argument | Type | Description |
|---|---|---|
| personGroupId | string | Id of the PersonGroup |
| start | string | List persons with id > start (for pagination) |
| top | number | Max persons to return (1-1000) |
| Argument | Type | Description |
|---|---|---|
| personGroupId | string | Id of the PersonGroup to train |
| Argument | Type | Description |
|---|---|---|
| personGroupId | string | Id of the PersonGroup to check |
| Argument | Type | Description |
|---|---|---|
| sessionId? | string | Reserved: sessionId for polling a completed liveness session result (not yet implemented) |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Firewall name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Firewall name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Firewall name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
| vnetName | string | VNet name (must have AzureFirewallSubnet) |
| Argument | Type | Description |
|---|---|---|
| name | string | Firewall name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Firewall policy name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Firewall policy name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| policyName | string | Firewall policy name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Rule collection group name |
| policyName | string | Firewall policy name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Rule collection group name |
| policyName | string | Firewall policy name |
| resourceGroup? | string | Resource group name |
| priority | number | Priority (100-65000, lower = higher priority) |
| Argument | Type | Description |
|---|---|---|
| name | string | Rule collection group name |
| policyName | string | Firewall policy name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| rcgName | string | Rule collection group name |
| policyName | string | Firewall policy name |
| resourceGroup? | string | Resource group name |
| collectionName | string | New rule collection name |
| collectionPriority | number | Collection priority (100-65000) |
| actionType | enum | Filter action |
| Argument | Type | Description |
|---|---|---|
| rcgName | string | Rule collection group name |
| policyName | string | Firewall policy name |
| resourceGroup? | string | Resource group name |
| collectionName | string | New NAT collection name |
| collectionPriority | number | Collection priority (100-65000) |
| ruleName | string | First DNAT rule name |
| sourceAddresses | array | Source IP(s) or * for any |
| destinationAddresses | array | Firewall public IP(s) to match |
| destinationPorts | array | External port(s) to match |
| translatedAddress | string | Internal IP to forward to |
| translatedPort | string | Internal port to forward to |
| ipProtocols | array | Protocols |
| Argument | Type | Description |
|---|---|---|
| rcgName | string | Rule collection group name |
| policyName | string | Firewall policy name |
| collectionName | string | Existing rule collection name |
| resourceGroup? | string | Resource group name |
| ruleType | enum | Rule type |
| ruleName | string | Rule name |
| sourceAddresses | array | Source IP(s), CIDR(s), or * for any |
| destinationAddresses? | array | Destination IP(s) or CIDR(s) |
| destinationPorts? | array | Destination port(s) |
| ipProtocols? | array | Protocols: TCP, UDP, Any, ICMP |
| translatedAddress? | string | DNAT translated internal IP (NatRule only) |
| translatedPort? | string | DNAT translated internal port (NatRule only) |
| targetFqdns? | array | Target FQDNs (ApplicationRule only) |
| protocols? | array | App protocols, e.g. Http=80 Https=443 (ApplicationRule only) |
| description? | string | Rule description |
| Argument | Type | Description |
|---|---|---|
| rcgName | string | Rule collection group name |
| policyName | string | Firewall policy name |
| collectionName | string | Rule collection name |
| ruleName | string | Rule name to remove |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| rcgName | string | Rule collection group name |
| policyName | string | Firewall policy name |
| collectionName | string | Rule collection name to remove |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Policy name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Key Vault name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Key Vault name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | Key Vault name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Load balancer name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Load balancer name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Load balancer name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
| Argument | Type | Description |
|---|---|---|
| name | string | Load balancer name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| lbName | string | Load balancer name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| lbName | string | Load balancer name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Workspace name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Workspace name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Identity name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Identity name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Identity name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
| Argument | Type | Description |
|---|---|---|
| name | string | Identity name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| identityName | string | Managed identity name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| identityName | string | Managed identity name |
| resourceGroup? | string | Resource group name |
| name | string | Federated credential name |
| Argument | Type | Description |
|---|---|---|
| identityName | string | Managed identity name |
| resourceGroup? | string | Resource group name |
| name | string | Federated credential name |
| Argument | Type | Description |
|---|---|---|
| name | string | Identity name |
| resourceGroup? | string | Resource group name |
Resources
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | NAT gateway name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | NAT gateway name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | NAT gateway name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | NAT gateway name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Network interface (NIC) name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Network interface (NIC) name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| watcherName | string | Network Watcher name |
| Argument | Type | Description |
|---|---|---|
| watcherName | string | Network Watcher name |
| Argument | Type | Description |
|---|---|---|
| sourceVmId | string | Source VM resource ID |
| destPort | number | Destination port |
| Argument | Type | Description |
|---|---|---|
| name | string | Flow log resource name |
| enabled | boolean | Enable the flow log |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | NSG name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | NSG name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | NSG name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | NSG name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| nsgName | string | NSG name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| nsgName | string | NSG name |
| ruleName | string | Rule name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| nsgName | string | NSG name |
| ruleName | string | Rule name |
| access | enum | Allow or deny traffic |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| nsgName | string | NSG name |
| ruleName | string | Rule name |
| resourceGroup? | string | Resource group name |
| priority? | number | New priority |
| access? | enum | New access |
| protocol? | string | New protocol |
| description? | string | New description |
| Argument | Type | Description |
|---|---|---|
| nsgName | string | NSG name |
| ruleName | string | Rule name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| nsgName | string | NSG name |
| resourceGroup? | string | Resource group name |
| name | string | |
| priority | number | |
| direction | enum | |
| access | enum | |
| protocol | string | |
| sourceAddressPrefixes | array | |
| destinationPortRanges | array | |
| destinationAddressPrefixes | array | |
| sourcePortRanges | array | |
| description? | string |
Resources
| Argument | Type | Description |
|---|---|---|
| scope? | string | Explicit ARM scope id |
| Argument | Type | Description |
|---|---|---|
| name | string | Assignment name |
| scope? | string | Explicit ARM scope id |
| Argument | Type | Description |
|---|---|---|
| name | string | Assignment name |
| scope? | string | Explicit ARM scope id |
| displayName? | string | Friendly display name |
| Argument | Type | Description |
|---|---|---|
| name | string | Assignment name |
| scope? | string | Explicit ARM scope id |
| Argument | Type | Description |
|---|---|---|
| name | string | Policy definition name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Flexible server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Flexible server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| serverName | string | Flexible server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| serverName | string | Flexible server name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Private endpoint name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Private endpoint name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Private endpoint name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
| vnetName | string | VNet containing the subnet |
| subnetName | string | Subnet for the private endpoint NIC |
| Argument | Type | Description |
|---|---|---|
| name | string | Private endpoint name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Public IP name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Public IP name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Public IP name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | Public IP name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Vault name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Vault name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vaultName | string | Vault name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Vault name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. centralus |
| Argument | Type | Description |
|---|---|---|
| name | string | Vault name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vaultName | string | Vault name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | Resource group name to delete |
Resources
Resources
| Argument | Type | Description |
|---|---|---|
| role | string | Role name or role definition id |
| Argument | Type | Description |
|---|---|---|
| name | string | Role name, e.g. Contributor or Reader |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Route table name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Route table name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Route table name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | Route table name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| routeTableName | string | Route table name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| routeTableName | string | Route table name |
| routeName | string | Route name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| routeTableName | string | Route table name |
| routeName | string | Route name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| routeTableName | string | Route table name |
| routeName | string | Route name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Namespace name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Namespace name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| namespaceName | string | Service Bus namespace name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| namespaceName | string | Service Bus namespace name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| namespaceName | string | Service Bus namespace name |
| topicName | string | Topic name within the namespace |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | SQL server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | SQL server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Database name |
| serverName | string | SQL server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| adminUser | string | Server admin username |
| Argument | Type | Description |
|---|---|---|
| name | string | SQL server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| serverName | string | SQL server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Database name |
| serverName | string | SQL server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Database name |
| serverName | string | SQL server name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Database name |
| serverName | string | SQL server name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | SSH public key name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | SSH public key name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | SSH public key name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | SSH public key name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Static Web App name |
| Argument | Type | Description |
|---|---|---|
| name | string | Static Web App name |
| Argument | Type | Description |
|---|---|---|
| name | string | Static Web App name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | Storage account name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Storage account name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | Storage account name |
| Argument | Type | Description |
|---|---|---|
| name | string | Storage account name |
| container | string | Container name |
| Argument | Type | Description |
|---|---|---|
| name | string | Storage account name |
| container | string | Destination container |
| file | string | Absolute path to the local file |
| Argument | Type | Description |
|---|---|---|
| name | string | Storage account name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| adminUsername | string | Admin username |
| vnetName? | string | Existing VNet name |
| subnetName? | string | Existing subnet name |
| osDiskSizeGb? | number | OS disk size in GB |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| size | string | New VM size, e.g. Standard_D4s_v5 |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VM name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | VNet name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VNet name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VNet name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region, e.g. eastus2 |
| Argument | Type | Description |
|---|---|---|
| name | string | VNet name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vnetName | string | VNet name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vnetName | string | VNet name |
| subnetName | string | Subnet name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vnetName | string | VNet name |
| subnetName | string | Subnet name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vnetName | string | VNet name |
| subnetName | string | Subnet name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vnetName | string | VNet name |
| subnetName | string | Subnet name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vnetName | string | VNet name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vnetName | string | Local VNet name |
| peeringName | string | Peering connection name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| vnetName | string | VNet name |
| peeringName | string | Peering connection name |
| resourceGroup? | string | Resource group name |
Resources
| Argument | Type | Description |
|---|---|---|
| name | string | vWAN name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | vWAN name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
| Argument | Type | Description |
|---|---|---|
| name | string | vWAN name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Virtual hub name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Virtual hub name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
| vwanName | string | Parent vWAN name |
| Argument | Type | Description |
|---|---|---|
| name | string | Virtual hub name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| hubName | string | Virtual hub name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Connection name |
| hubName | string | Virtual hub name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | Connection name |
| hubName | string | Virtual hub name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VPN site name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VPN site name |
| resourceGroup? | string | Resource group name |
| location | string | Azure region |
| vwanName | string | Associated vWAN name |
| deviceModel? | string | VPN device model |
| Argument | Type | Description |
|---|---|---|
| name | string | VPN site name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VPN gateway name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| name | string | VPN gateway name |
| resourceGroup? | string | Resource group name |
| Argument | Type | Description |
|---|---|---|
| resourceGroup? | string | Resource group name |
Resources
Operator-facing entrypoint to provision a new Entra ID user from non-secret profile fields. Delegates to @dougschaefer/azure-ad-user.provision on the `entra-users` instance, which generates a single-use temporary password in-process (force-change-on-next-sign-in) and discards it — no credential is ever an input, logged, persisted to model data, or vaulted. Only the non-secret action and profile fields land in swamp's audit trail.
Subscription RBAC snapshot for access reviews: every role assignment at every scope (including management-group inheritance on az CLI 2.87+), every deny assignment, and every custom role definition, captured as versioned model data. Runs against an @dougschaefer/azure-role-assignment instance named `rbac-assignments`. Read-only — changes nothing. Steps run sequentially because they share one model's lock. Set fast to true to skip principal/role-name resolution on large tenants.
Subscription AI footprint snapshot: every AI Services / Cognitive Services account (Foundry AIServices, OpenAI, Face, Speech, ...), every model deployment on every account (single fan-out run), and every AI Search service, captured as versioned model data. Read-only — changes nothing. Runs against an @dougschaefer/azure-ai-foundry instance named `ai-foundry` and an @dougschaefer/azure-ai-search instance named `ai-search`. The account/deployment steps run sequentially (shared model lock); the sea
Repeatable Azure cost review for a subscription. Pulls actual billed spend from Cost Management sliced three ways (by service for the shape of the bill, by meter to expose silent rate changes such as an added VPN scale unit or connection unit, and by resource to rank individual line items), then gathers the evidence needed to act on it: per-VM CPU and network utilization, a network-spend audit that checks whether expensive plumbing is actually in the data path, an orphaned-resource sweep, and fi
Roll Azure Boards parent work-item state up from children: a parent moves to in-progress as soon as any child starts, and to done once every child is done. Azure DevOps cannot do this natively. Inherited-process rules only act on the work item that triggered them — no rule action writes to a parent — and the stock Basic process is a system process that cannot carry custom rules at all. Marketplace extensions close the gap by taking org-wide board write access; this workflow keeps the writes insi
Add addProjectsToUserEntitlement, which grants one user project membership directly instead of through a group rule. Use mirrorGroupRule to copy the exact project set a rule already grants, for the case where someone cannot be placed in the backing directory group yet. Batch every entitlement PATCH at 50 operations, which is the server-side cap: mirroring a 107-project rule fails outright without it, and the group-rule method had the same latent ceiling. Read current user entitlements from the per-user detail endpoint, since the filtered list endpoint omits projectEntitlements and would make every project look unheld on each run.
Modified 1 models
Add four Azure DevOps access methods for group-rule reconciliation: listSecurityGroups, listGroupRules, auditGroupRuleCoverage, and addProjectsToGroupRules, which is add-only and defaults to a server-side dry run. Add the blob data plane to the storage account model with listContainers, listBlobs, and uploadBlob, all authenticating as the signed-in principal so no account key is handled. Add listWithManagers to the Entra user model, resolving the whole reporting hierarchy in one paged sweep. Fix role assignment create, which passed --assignee alongside --assignee-principal-type and was rejected by az. Fix listProjects, which passed --project to a command that rejects it and so failed on any instance carrying a default project.
Modified 3 models
Adds azure-vm assignIdentity — enable a system-assigned managed identity on a VM, idempotent, and safe to run across a fleet because the identity carries no role assignments until one is made. Fills the gap that left four VMs unable to reach Key Vault without a credential on the box.
Modified 1 models
Adds azure-nsg applyRuleSet: converge an NSG onto a declared rule set in one fan-out execution — creates what is missing, updates what drifted, reports what is undeclared. Plans by default (dryRun true) because the method rewrites a firewall, and applies creates before updates and deletes so an interrupted run leaves an NSG more closed rather than more open. Comparison normalises Azure's scalar-or-list source and port fields and its inconsistent protocol casing, so a converged NSG reports zero drift on re-run instead of rewriting identical rules forever.
Modified 1 models
Adds azure-resource-provider (list/get/register) — a subscription that has never used a namespace fails resource creation with MissingSubscriptionRegistration, which names the symptom not the cause, so registration belongs in the model rather than being rediscovered by hand. Fixes setBackupProperties: redundancy and soft delete must be SEPARATE az invocations, because a combined call silently ignores --backup-storage-redundancy while reporting success; soft delete owned by the newer Vault API is now detected and left alone rather than failing the run. Vault sku fields accept null.
Added 1 models
listBackupItems now fans out across every vault in scope when vaultName is omitted, so an audit can ask whether a VM is backed up anywhere without knowing vault names, and each item carries its vaultName. Follows 2026.07.28.1's write side (create, setBackupProperties, enableProtection).
Recovery Services vault gains a write side: idempotent create, setBackupProperties (storage redundancy, cross-region restore, soft delete) and a fan-out enableProtection that enrolls N VMs in one execution, resolving each to a full resource id so a central vault can protect VMs in any resource group. Adds listPolicies. Restore and disable-protection stay out of scope.
Modified 1 models
2026.07.24.3 — add azure-network-watcher.setFlowLog: create or converge a flow log on a VNet, subnet, or NIC with optional Traffic Analytics, deriving the CLI target flag from the resource ID. Target virtual networks rather than NSGs; Azure blocked creation of new NSG flow logs on 2025-06-30 ahead of their 2027-09-30 retirement, and VNet flow logs supersede them with broader coverage.
Modified 1 models
2026.07.24.2 — add azure-monitor.setDiagnosticSetting for idempotent, resource-specific diagnostic settings. azure-cost.auditNetworkSpend gains a no-diagnostic-logging check (an expensive security appliance emitting no logs) and no longer reports a firewall's deployment cost as recoverable savings, since DNAT must be re-homed first.
Modified 1 models
Add @dougschaefer/azure-cost — actual-spend analysis and waste auditing via Cost Management, Resource Graph, Advisor and Consumption APIs (queryCosts, vmUtilization, auditNetworkSpend, findOrphans, advisorCostRecommendations). Add setVpnGatewayScaleUnit to azure-vwan for vWAN S2S gateway right-sizing. Add azure-cost-review workflow. Shared armToken/armRequest helpers.
Added 1, modified 1 models. Added 1 workflows. updated labels
azure-ad-service-principal: add listAppRoleAssignments (paginated via @odata.nextLink) and listSynchronizationJobs. Community PR #4 by @webframp.
Modified 1 models
v2026.07.14.1 — Azure Boards parent-state rollup: new rollupParentStates method (one WIQL sweep, bottom-up desired-state computation, advance-only by default, configurable state names for Basic/Agile/Scrum) that fills the gap where ADO rules can never write to a parent, plus the @dougschaefer/boards-state-rollup workflow bundle. All 42 model versions realigned.
Modified 1 models. Added 1 workflows
Community contribution from NeilHanlon (github.com/dougschaefer6/swamp-azure PR #3): four read-only model types — azure-postgres-flexible-server (servers/databases/firewall rules), azure-recovery-services-vault (vaults + backup items), azure-log-analytics-workspace, azure-network-interface (38→42 types). App Service and Container Apps portions of the PR were declined in favor of composing with @rkcoleman/azure-app-service and @rkcoleman/azure-containers.
Added 4 models. updated labels
AI + app development expansion: new azure-ai-foundry (AI Services accounts, model deployment create/delete, Foundry projects/connections via ARM, per-region model catalog + quota snapshots, fan-out deployment sweep), azure-ai-search lifecycle, and read-only azure-cosmos, azure-staticwebapp, azure-servicebus, azure-eventgrid inventory models (32→38 types); new bundled azure-ai-inventory workflow. Data-plane keys deliberately never fetched.
Added 6 models. Added 1 workflows. updated labels
az CLI 2.88 alignment: managed-identity update + federated credentials (workload identity federation, incl. preview claims-matching expressions), RBAC deny-assignment listing + fast bulk list flags, VM hibernate on deallocate, new bundled azure-rbac-audit workflow
Modified 2 models. Added 1 workflows
Sync deno fmt line-wrap fix (face.ts) after swamp update to 20260706.015952.0
Add model JSDoc to azure-vm (symbols-docs scoring); republish to sync current source (incl. folded-in Face capabilities) to registry/GitHub.
Added 32, removed 1 models. updated labels
Added 1, removed 1 workflows
Security: genericized production IP and internal references in JSDoc. No functional change to any model.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned