# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Microsoft Azure Resources API version: 1.0.0 extends: openapi/microsoft-azure-resources-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 16 - target: $.paths['/providers/Microsoft.ResourceGraph/resources'].post update: x-apievangelist-phrasing: intent: Query resources with Resource Graph effect: read questions: - How do I run a Kusto-style query across all my Azure resources? - Can I query resources across several subscriptions or management groups at once? - Can a Resource Graph query return facets alongside the results? instructions: - text: Run the Resource Graph query {query} across my subscriptions. slots: query: requestBody.query - text: Query {query} against subscriptions {subscriptions} in Resource Graph. slots: query: requestBody.query subscriptions: requestBody.subscriptions method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resources'].get update: x-apievangelist-phrasing: intent: List all resources in a subscription effect: read questions: - What resources exist across my whole Azure subscription? - Can I filter the subscription's resource list by type or tag? instructions: - text: List every resource in subscription {subscriptionId}. slots: subscriptionId: path.subscriptionId - text: List subscription resources matching {filter}, top {top}. slots: filter: query.$filter top: query.$top method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/resources'].get update: x-apievangelist-phrasing: intent: List resources in a resource group effect: read questions: - Which resources are inside a particular resource group? - Can I narrow a resource group's contents with a filter? instructions: - text: List the resources in resource group {resourceGroupName} of subscription {subscriptionId}. slots: resourceGroupName: path.resourceGroupName subscriptionId: path.subscriptionId - text: Show resources in group {resourceGroupName} matching {filter}. slots: resourceGroupName: path.resourceGroupName filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationResults/{operationId}'].get update: x-apievangelist-phrasing: intent: Check a backup vault operation result effect: read questions: - Did the long-running operation on my Data Protection backup vault finish? - Where can I poll the result of an async backup vault operation? instructions: - text: Get the result of operation {operationId} on backup vault {vaultName}. slots: operationId: path.operationId vaultName: path.vaultName - text: Check whether backup vault {vaultName} operation {operationId} has completed. slots: vaultName: path.vaultName operationId: path.operationId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources'].post update: x-apievangelist-phrasing: intent: Move resources to another resource group effect: write questions: - How do I move resources from one resource group to another? - Can the target resource group be in a different subscription when moving resources? instructions: - text: Move resources {resources} from group {sourceResourceGroupName} to {targetResourceGroup}. slots: resources: requestBody.resources sourceResourceGroupName: path.sourceResourceGroupName targetResourceGroup: requestBody.targetResourceGroup - text: Relocate everything listed in {resources} out of {sourceResourceGroupName} in subscription {subscriptionId}. slots: resources: requestBody.resources sourceResourceGroupName: path.sourceResourceGroupName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources'].post update: x-apievangelist-phrasing: intent: Check whether resources can be moved effect: read questions: - Before I move resources, can I check that the move will succeed? - Is there a dry run for moving resources between resource groups? instructions: - text: Validate moving {resources} from {sourceResourceGroupName} to {targetResourceGroup} without moving them. slots: resources: requestBody.resources sourceResourceGroupName: path.sourceResourceGroupName targetResourceGroup: requestBody.targetResourceGroup - text: Dry-run a resource move out of group {sourceResourceGroupName} in subscription {subscriptionId}. slots: sourceResourceGroupName: path.sourceResourceGroupName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].get update: x-apievangelist-phrasing: intent: Get a resource by provider, type and name effect: read questions: - How do I fetch any Azure resource when I know its provider namespace, type and name? - Can I read a generic resource without using its full resource ID? instructions: - text: Get {resourceType} {resourceName} from provider {resourceProviderNamespace} under {parentResourcePath} in group {resourceGroupName}. slots: resourceType: path.resourceType resourceName: path.resourceName resourceProviderNamespace: path.resourceProviderNamespace parentResourcePath: path.parentResourcePath resourceGroupName: path.resourceGroupName - text: Show the {resourceType} named {resourceName} in resource group {resourceGroupName} of subscription {subscriptionId}. slots: resourceType: path.resourceType resourceName: path.resourceName resourceGroupName: path.resourceGroupName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].put update: x-apievangelist-phrasing: intent: Create a resource by provider, type and name effect: write questions: - Can I create any kind of Azure resource generically by naming its provider and type? - How do I deploy a resource into a resource group without its resource ID? instructions: - text: Create {resourceType} {resourceName} in {location} under provider {resourceProviderNamespace}, parent {parentResourcePath}, group {resourceGroupName}. slots: resourceType: path.resourceType resourceName: path.resourceName location: requestBody.location resourceProviderNamespace: path.resourceProviderNamespace parentResourcePath: path.parentResourcePath resourceGroupName: path.resourceGroupName - text: Create or replace the {resourceType} named {resourceName} in group {resourceGroupName} of subscription {subscriptionId} with properties {properties}. slots: resourceType: path.resourceType resourceName: path.resourceName resourceGroupName: path.resourceGroupName properties: requestBody.properties subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].delete update: x-apievangelist-phrasing: intent: Delete a resource by provider, type and name effect: destructive questions: - How do I delete a resource when I know its type and name but not its ID? - Can I remove any generic Azure resource from a resource group? instructions: - text: Delete {resourceType} {resourceName} of provider {resourceProviderNamespace} under {parentResourcePath} in group {resourceGroupName}. slots: resourceType: path.resourceType resourceName: path.resourceName resourceProviderNamespace: path.resourceProviderNamespace parentResourcePath: path.parentResourcePath resourceGroupName: path.resourceGroupName - text: Remove the {resourceType} called {resourceName} from resource group {resourceGroupName} of subscription {subscriptionId}. slots: resourceType: path.resourceType resourceName: path.resourceName resourceGroupName: path.resourceGroupName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].patch update: x-apievangelist-phrasing: intent: Update a resource by provider, type and name effect: write questions: - Can I patch tags or SKU on a resource identified by its type and name? - What's the way to partially update a generic resource inside a resource group? instructions: - text: Update tags on {resourceType} {resourceName} (provider {resourceProviderNamespace}, parent {parentResourcePath}, group {resourceGroupName}) to {tags}. slots: resourceType: path.resourceType resourceName: path.resourceName resourceProviderNamespace: path.resourceProviderNamespace parentResourcePath: path.parentResourcePath resourceGroupName: path.resourceGroupName tags: requestBody.tags - text: Patch the sku of {resourceType} {resourceName} in group {resourceGroupName} of subscription {subscriptionId} to {sku}. slots: resourceType: path.resourceType resourceName: path.resourceName resourceGroupName: path.resourceGroupName sku: requestBody.sku subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'].head update: x-apievangelist-phrasing: intent: Check a resource exists by type and name effect: read questions: - Is there a quick way to tell whether a named resource exists in a resource group? - Can I check a resource exists by its provider and type without downloading it? instructions: - text: Check whether {resourceType} {resourceName} exists under {resourceProviderNamespace}/{parentResourcePath} in group {resourceGroupName}. slots: resourceType: path.resourceType resourceName: path.resourceName resourceProviderNamespace: path.resourceProviderNamespace parentResourcePath: path.parentResourcePath resourceGroupName: path.resourceGroupName - text: Tell me if a {resourceType} named {resourceName} is in resource group {resourceGroupName} of subscription {subscriptionId}. slots: resourceType: path.resourceType resourceName: path.resourceName resourceGroupName: path.resourceGroupName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/{resourceId}'].get update: x-apievangelist-phrasing: intent: Get a resource by its full ID effect: read questions: - I have a full Azure resource ID — how do I fetch that resource? - Can I read any resource just from its fully qualified ID? instructions: - text: Get the resource with ID {resourceId}. slots: resourceId: path.resourceId - text: Look up resource {resourceId} by its full ID. slots: resourceId: path.resourceId method: generated generated: '2026-09-26' - target: $.paths['/{resourceId}'].put update: x-apievangelist-phrasing: intent: Create a resource by its full ID effect: write questions: - Can I create or replace a resource by PUTting to its full resource ID? - Which fields can I set when creating a resource by ID? instructions: - text: Create the resource with ID {resourceId} in {location}. slots: resourceId: path.resourceId location: requestBody.location - text: Create or replace resource {resourceId} by ID with properties {properties}. slots: resourceId: path.resourceId properties: requestBody.properties method: generated generated: '2026-09-26' - target: $.paths['/{resourceId}'].delete update: x-apievangelist-phrasing: intent: Delete a resource by its full ID effect: destructive questions: - How do I delete a resource if all I have is its resource ID? - Can I remove any resource by its fully qualified ID? instructions: - text: Delete the resource with ID {resourceId}. slots: resourceId: path.resourceId - text: Remove resource {resourceId} by its full ID. slots: resourceId: path.resourceId method: generated generated: '2026-09-26' - target: $.paths['/{resourceId}'].patch update: x-apievangelist-phrasing: intent: Update a resource by its full ID effect: write questions: - Can I patch a resource's tags using only its resource ID? - What's the way to partially update a resource addressed by ID? instructions: - text: Update the tags on resource ID {resourceId} to {tags}. slots: resourceId: path.resourceId tags: requestBody.tags - text: Patch resource {resourceId} by ID with sku {sku}. slots: resourceId: path.resourceId sku: requestBody.sku method: generated generated: '2026-09-26' - target: $.paths['/{resourceId}'].head update: x-apievangelist-phrasing: intent: Check a resource exists by its full ID effect: read questions: - Does a resource with this exact resource ID exist? - Why might an existence check by ID fail for some resource providers? instructions: - text: Check whether resource ID {resourceId} exists. slots: resourceId: path.resourceId - text: Confirm that {resourceId} is a real resource by ID without fetching it. slots: resourceId: path.resourceId method: generated generated: '2026-09-26'