# 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 Labs API version: 1.0.0 extends: openapi/microsoft-azure-labs-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: 25 - target: $.paths['/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs'].get update: x-apievangelist-phrasing: intent: List DevTest labs in a subscription effect: read questions: - Which DevTest Labs exist across my whole Azure subscription? - Can I sort or cap the subscription-wide list of DevTest labs? instructions: - text: List every DevTest lab in subscription {sub}. slots: sub: path.subscriptionId - text: Show the first {top} DevTest labs in subscription {sub}, ordered by {orderby}. slots: top: query.$top sub: path.subscriptionId orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs'].get update: x-apievangelist-phrasing: intent: List DevTest labs in a resource group effect: read questions: - What DevTest labs live in one particular resource group? - Can I filter the DevTest labs of a resource group by name? instructions: - text: List the DevTest labs in resource group {rg} of subscription {sub}. slots: rg: path.resourceGroupName sub: path.subscriptionId - text: Find DevTest labs in resource group {rg} matching {filter}. slots: rg: path.resourceGroupName filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}'].get update: x-apievangelist-phrasing: intent: Get a DevTest lab effect: read questions: - How do I look up the settings of a single DevTest lab? - Can I expand the default storage account when reading a DevTest lab? instructions: - text: Get DevTest lab {name} in resource group {rg}, subscription {sub}. slots: name: path.name rg: path.resourceGroupName sub: path.subscriptionId - text: Show DevTest lab {name} with {expand} expanded. slots: name: path.name expand: query.$expand method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}'].put update: x-apievangelist-phrasing: intent: Create or replace a DevTest lab effect: write questions: - How do I spin up a new DevTest lab in a resource group? - Can I overwrite an existing DevTest lab's whole definition in one call? instructions: - text: Create DevTest lab {name} in resource group {rg} of subscription {sub} in region {location}. slots: name: path.name rg: path.resourceGroupName sub: path.subscriptionId location: requestBody.location - text: Replace the DevTest lab {name} definition and tag it {tags}. slots: name: path.name tags: requestBody.tags method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}'].delete update: x-apievangelist-phrasing: intent: Delete a DevTest lab effect: destructive questions: - Can I tear down a whole DevTest lab I no longer need? - Is deleting a DevTest lab a long-running operation? instructions: - text: Delete DevTest lab {name} from resource group {rg} in subscription {sub}. slots: name: path.name rg: path.resourceGroupName sub: path.subscriptionId - text: Tear down the DevTest lab called {name}. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}'].patch update: x-apievangelist-phrasing: intent: Update tags on a DevTest lab effect: write questions: - Can I change only the tags on a DevTest lab without redeploying it? - Which DevTest lab properties does a patch actually change? instructions: - text: Set tags {tags} on DevTest lab {name} in resource group {rg}, subscription {sub}. slots: tags: requestBody.tags name: path.name rg: path.resourceGroupName sub: path.subscriptionId - text: Retag DevTest lab {name} with {tags}. slots: name: path.name tags: requestBody.tags method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm'].post update: x-apievangelist-phrasing: intent: Claim any available VM in a DevTest lab effect: write questions: - How do I grab a random claimable virtual machine from a DevTest lab? - Can I claim whichever lab VM is free without picking one by name? instructions: - text: Claim any available VM in DevTest lab {name} (resource group {rg}, subscription {sub}). slots: name: path.name rg: path.resourceGroupName sub: path.subscriptionId - text: Get me a claimable virtual machine from lab {name}. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment'].post update: x-apievangelist-phrasing: intent: Create virtual machines in a DevTest lab effect: write questions: - Can I provision new virtual machines inside a DevTest lab? - What does the create-environment action build in a DevTest lab? instructions: - text: Create lab virtual machine {vmName} in DevTest lab {name} of resource group {rg}, subscription {sub}. slots: vmName: requestBody.name name: path.name rg: path.resourceGroupName sub: path.subscriptionId - text: Provision a new VM in lab {name} at location {location}. slots: name: path.name location: requestBody.location method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage'].post update: x-apievangelist-phrasing: intent: Export DevTest lab resource usage to storage effect: write questions: - How do I export a DevTest lab's resource usage into a storage account? - Can I choose the start date for an exported lab usage report? instructions: - text: Export resource usage of DevTest lab {name} in resource group {rg}, subscription {sub} to blob SAS URI {sasUri}. slots: name: path.name rg: path.resourceGroupName sub: path.subscriptionId sasUri: requestBody.blobStorageAbsoluteSasUri - text: Export lab {name} usage since {startDate} to {sasUri}. slots: name: path.name startDate: requestBody.usageStartDate sasUri: requestBody.blobStorageAbsoluteSasUri method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri'].post update: x-apievangelist-phrasing: intent: Generate an upload URI for custom disk images effect: write questions: - Where do I upload a custom disk image for a DevTest lab? - Can I get an upload URL for a specific blob name in a lab? instructions: - text: Generate an upload URI for custom images in DevTest lab {name}, resource group {rg}, subscription {sub}. slots: name: path.name rg: path.resourceGroupName sub: path.subscriptionId - text: Create an image upload URI for blob {blobName} in lab {name}. slots: blobName: requestBody.blobName name: path.name method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/importVirtualMachine'].post update: x-apievangelist-phrasing: intent: Import a VM into a DevTest lab effect: write questions: - How do I move a virtual machine from one DevTest lab into another? - Can I give a VM a new name while importing it into a different lab? instructions: - text: Import VM {sourceVmId} into DevTest lab {name} in resource group {rg}, subscription {sub}. slots: sourceVmId: requestBody.sourceVirtualMachineResourceId name: path.name rg: path.resourceGroupName sub: path.subscriptionId - text: Import {sourceVmId} into lab {name} under the name {destName}. slots: sourceVmId: requestBody.sourceVirtualMachineResourceId name: path.name destName: requestBody.destinationVirtualMachineName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds'].post update: x-apievangelist-phrasing: intent: List VHDs available for custom images effect: read questions: - Which disk images can I turn into a custom image in a DevTest lab? - What VHDs are sitting in my lab ready for image creation? instructions: - text: List VHDs available for custom images in DevTest lab {name}, resource group {rg}, subscription {sub}. slots: name: path.name rg: path.resourceGroupName sub: path.subscriptionId - text: Show the VHDs I can build custom images from in lab {name}. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/providers/Microsoft.Education/labs'].get update: x-apievangelist-phrasing: intent: List education labs for a billing profile effect: read questions: - Which Azure Education labs are billed to a given billing profile? - Can I include deleted labs and budget details when listing a profile's education labs? instructions: - text: List education labs under billing account {ba} and billing profile {bp}. slots: ba: path.billingAccountName bp: path.billingProfileName - text: 'List education labs for profile {bp} in account {ba}, including deleted ones: {includeDeleted}.' slots: bp: path.billingProfileName ba: path.billingAccountName includeDeleted: query.includeDeleted method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs'].get update: x-apievangelist-phrasing: intent: List education labs in an invoice section effect: read questions: - What education labs sit under a specific invoice section? - Can I see budget figures for the labs billed to one invoice section? instructions: - text: List education labs in invoice section {is} of billing profile {bp}, account {ba}. slots: is: path.invoiceSectionName bp: path.billingProfileName ba: path.billingAccountName - text: 'Show education labs in invoice section {is} with budget included: {includeBudget}.' slots: is: path.invoiceSectionName includeBudget: query.includeBudget method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default'].get update: x-apievangelist-phrasing: intent: Get the education lab for an invoice section effect: read questions: - How can I fetch the classroom lab tied to one invoice section? - Can I check an education lab's budget from its invoice section? instructions: - text: Get the education lab for invoice section {is} under profile {bp} in billing account {ba}. slots: is: path.invoiceSectionName bp: path.billingProfileName ba: path.billingAccountName - text: Show the default lab of invoice section {is}, budget details {includeBudget}. slots: is: path.invoiceSectionName includeBudget: query.includeBudget method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default'].put update: x-apievangelist-phrasing: intent: Create or update an education lab effect: write questions: - Can I set up a new classroom lab under an invoice section? - How do I change the settings of an existing education lab? instructions: - text: Create an education lab for invoice section {is} in billing profile {bp}, account {ba}. slots: is: path.invoiceSectionName bp: path.billingProfileName ba: path.billingAccountName - text: Update the education lab of invoice section {is} with properties {properties}. slots: is: path.invoiceSectionName properties: requestBody.properties method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default'].delete update: x-apievangelist-phrasing: intent: Delete an education lab effect: destructive questions: - Do all students have to be removed before an education lab can be deleted? - Can I delete the classroom lab attached to an invoice section? instructions: - text: Delete the education lab for invoice section {is}, billing profile {bp}, account {ba}. slots: is: path.invoiceSectionName bp: path.billingProfileName ba: path.billingAccountName - text: Remove the classroom lab under invoice section {is}. slots: is: path.invoiceSectionName method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default/generateInviteCode'].post update: x-apievangelist-phrasing: intent: Generate a student invite code for a lab effect: write questions: - How do I create an invite code so students can join my education lab? - Can I change only the maximum student count without regenerating the code? instructions: - text: Generate an invite code for the lab in invoice section {is}, profile {bp}, account {ba}. slots: is: path.invoiceSectionName bp: path.billingProfileName ba: path.billingAccountName - text: Generate a lab invite code allowing up to {max} students for invoice section {is}. slots: max: requestBody.maxStudentCount is: path.invoiceSectionName - text: Set the lab student limit to {max} for invoice section {is}, student-count-only update {onlyCount}. slots: max: requestBody.maxStudentCount is: path.invoiceSectionName onlyCount: query.onlyUpdateStudentCountParameter method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs'].get update: x-apievangelist-phrasing: intent: List labs in a Lab Services lab account effect: read questions: - Which classroom labs exist in a Lab Services lab account? - Can I filter or limit the labs returned for one lab account? instructions: - text: List labs in lab account {la}, resource group {rg}, subscription {sub}. slots: la: path.labAccountName rg: path.resourceGroupName sub: path.subscriptionId - text: Find labs in lab account {la} matching {filter}. slots: la: path.labAccountName filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}'].get update: x-apievangelist-phrasing: intent: Get a lab in a Lab Services lab account effect: read questions: - How do I view one lab inside a Lab Services lab account? - Can I expand extra properties when reading a lab account's lab? instructions: - text: Get lab {lab} in lab account {la}, resource group {rg}, subscription {sub}. slots: lab: path.labName la: path.labAccountName rg: path.resourceGroupName sub: path.subscriptionId - text: Show lab {lab} of lab account {la} expanding {expand}. slots: lab: path.labName la: path.labAccountName expand: query.$expand method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}'].put update: x-apievangelist-phrasing: intent: Create or replace a lab in a lab account effect: write questions: - Can I add a brand-new lab to an existing Lab Services lab account? - Is there a call that replaces a lab account's lab definition outright? instructions: - text: Create lab {lab} in lab account {la}, resource group {rg}, subscription {sub}. slots: lab: path.labName la: path.labAccountName rg: path.resourceGroupName sub: path.subscriptionId - text: Replace lab {lab} in lab account {la} at location {location}. slots: lab: path.labName la: path.labAccountName location: requestBody.location method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}'].delete update: x-apievangelist-phrasing: intent: Delete a lab from a lab account effect: destructive questions: - How can I remove a lab from a Lab Services lab account? - Does deleting a lab from a lab account finish right away? instructions: - text: Delete lab {lab} from lab account {la}, resource group {rg}, subscription {sub}. slots: lab: path.labName la: path.labAccountName rg: path.resourceGroupName sub: path.subscriptionId - text: Remove lab {lab} belonging to lab account {la}. slots: lab: path.labName la: path.labAccountName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}'].patch update: x-apievangelist-phrasing: intent: Modify a lab in a lab account effect: write questions: - Can I change a lab account lab's properties without replacing it? - Which settings of a Lab Services lab can be patched in place? instructions: - text: Update lab {lab} in lab account {la}, resource group {rg}, subscription {sub} with {properties}. slots: lab: path.labName la: path.labAccountName rg: path.resourceGroupName sub: path.subscriptionId properties: requestBody.properties - text: Patch tags on lab {lab} in lab account {la} to {tags}. slots: lab: path.labName la: path.labAccountName tags: requestBody.tags method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/addUsers'].post update: x-apievangelist-phrasing: intent: Add users to a lab by email effect: write questions: - How do I add students to a Lab Services lab by email address? - Can I add several users to a lab in one request? instructions: - text: Add {emails} to lab {lab} in lab account {la}, resource group {rg}, subscription {sub}. slots: emails: requestBody.emailAddresses lab: path.labName la: path.labAccountName rg: path.resourceGroupName sub: path.subscriptionId - text: Invite the email addresses {emails} into lab {lab}. slots: emails: requestBody.emailAddresses lab: path.labName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/register'].post update: x-apievangelist-phrasing: intent: Register to a managed lab effect: write questions: - What does a user call to register for a managed lab? - Can I sign myself up to a lab in a lab account? instructions: - text: Register me to lab {lab} in lab account {la}, resource group {rg}, subscription {sub}. slots: lab: path.labName la: path.labAccountName rg: path.resourceGroupName sub: path.subscriptionId - text: Register to managed lab {lab}. slots: lab: path.labName method: generated generated: '2026-09-26'