naftiko: 1.0.0-alpha2 info: label: Microsoft Azure DevTestLabsClient — Labs description: 'Microsoft Azure DevTestLabsClient — Labs. 12 operations. Lead operation: Microsoft Azure Get Subscriptions Subscriptionid Providers Microsoft Devtestlab Labs. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Labs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: devtestlabsclient-labs baseUri: https://management.azure.com description: Microsoft Azure DevTestLabsClient — Labs business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-providers-Microsoft.DevTestLab-labs path: /subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs operations: - name: microsoftazurelabslistbysubscription method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Providers Microsoft Devtestlab Labs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=defaultStorageAccount)''' - name: $filter in: query type: string description: 'The filter to apply to the operation. Example: ''$filter=contains(name,''myName'')' - name: $top in: query type: integer description: 'The maximum number of resources to return from the operation. Example: ''$top=10''' - name: $orderby in: query type: string description: 'The ordering expression for the results, using OData notation. Example: ''$orderby=name desc''' - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs operations: - name: microsoftazurelabslistbyresourcegroup method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=defaultStorageAccount)''' - name: $filter in: query type: string description: 'The filter to apply to the operation. Example: ''$filter=contains(name,''myName'')' - name: $top in: query type: integer description: 'The maximum number of resources to return from the operation. Example: ''$top=10''' - name: $orderby in: query type: string description: 'The ordering expression for the results, using OData notation. Example: ''$orderby=name desc''' - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name} operations: - name: microsoftazurelabsget method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=defaultStorageAccount)''' - name: microsoftazurelabscreateorupdate method: PUT description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true - name: lab in: body type: string description: A lab. required: true - name: microsoftazurelabsdelete method: DELETE description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true - name: microsoftazurelabsupdate method: PATCH description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true - name: lab in: body type: string description: A lab. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm operations: - name: microsoftazurelabsclaimanyvm method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Claimanyvm outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment operations: - name: microsoftazurelabscreateenvironment method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Createenvironment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true - name: labVirtualMachineCreationParameter in: body type: string description: Properties for creating a virtual machine. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage operations: - name: microsoftazurelabsexportresourceusage method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Exportresourceusage outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true - name: exportResourceUsageParameters in: body type: string description: The parameters of the export operation. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri operations: - name: microsoftazurelabsgenerateuploaduri method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Generateuploaduri outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true - name: generateUploadUriParameter in: body type: string description: Properties for generating an upload URI. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/importVirtualMachine operations: - name: microsoftazurelabsimportvirtualmachine method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Importvirtualmachine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true - name: importLabVirtualMachineRequest in: body type: string description: This represents the payload required to import a virtual machine from a different lab into the current one required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds operations: - name: microsoftazurelabslistvhds method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Listvhds outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the lab. required: true exposes: - type: rest namespace: devtestlabsclient-labs-rest port: 8080 description: REST adapter for Microsoft Azure DevTestLabsClient — Labs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-devtestlab/labs name: subscriptions-subscriptionid-providers-microsoft-devtestlab-labs description: REST surface for subscriptions-subscriptionId-providers-Microsoft.DevTestLab-labs. operations: - method: GET name: microsoftazurelabslistbysubscription description: Microsoft Azure Get Subscriptions Subscriptionid Providers Microsoft Devtestlab Labs call: devtestlabsclient-labs.microsoftazurelabslistbysubscription with: $expand: rest.$expand $filter: rest.$filter $top: rest.$top $orderby: rest.$orderby outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurelabslistbyresourcegroup description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs call: devtestlabsclient-labs.microsoftazurelabslistbyresourcegroup with: $expand: rest.$expand $filter: rest.$filter $top: rest.$top $orderby: rest.$orderby outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{name} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurelabsget description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name call: devtestlabsclient-labs.microsoftazurelabsget with: name: rest.name $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PUT name: microsoftazurelabscreateorupdate description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name call: devtestlabsclient-labs.microsoftazurelabscreateorupdate with: name: rest.name lab: rest.lab outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazurelabsdelete description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name call: devtestlabsclient-labs.microsoftazurelabsdelete with: name: rest.name outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazurelabsupdate description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name call: devtestlabsclient-labs.microsoftazurelabsupdate with: name: rest.name lab: rest.lab outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{name}/claimanyvm name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurelabsclaimanyvm description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Claimanyvm call: devtestlabsclient-labs.microsoftazurelabsclaimanyvm with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{name}/createenvironment name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurelabscreateenvironment description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Createenvironment call: devtestlabsclient-labs.microsoftazurelabscreateenvironment with: name: rest.name labVirtualMachineCreationParameter: rest.labVirtualMachineCreationParameter outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{name}/exportresourceusage name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurelabsexportresourceusage description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Exportresourceusage call: devtestlabsclient-labs.microsoftazurelabsexportresourceusage with: name: rest.name exportResourceUsageParameters: rest.exportResourceUsageParameters outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{name}/generateuploaduri name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurelabsgenerateuploaduri description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Generateuploaduri call: devtestlabsclient-labs.microsoftazurelabsgenerateuploaduri with: name: rest.name generateUploadUriParameter: rest.generateUploadUriParameter outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{name}/importvirtualmachine name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurelabsimportvirtualmachine description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Importvirtualmachine call: devtestlabsclient-labs.microsoftazurelabsimportvirtualmachine with: name: rest.name importLabVirtualMachineRequest: rest.importLabVirtualMachineRequest outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{name}/listvhds name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurelabslistvhds description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Listvhds call: devtestlabsclient-labs.microsoftazurelabslistvhds with: name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: devtestlabsclient-labs-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure DevTestLabsClient — Labs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-subscriptions-subscriptionid description: Microsoft Azure Get Subscriptions Subscriptionid Providers Microsoft Devtestlab Labs hints: readOnly: true destructive: false idempotent: true call: devtestlabsclient-labs.microsoftazurelabslistbysubscription with: $expand: tools.$expand $filter: tools.$filter $top: tools.$top $orderby: tools.$orderby outputParameters: - type: object mapping: $. - name: microsoft-azure-get-subscriptions-subscriptionid-2 description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs hints: readOnly: true destructive: false idempotent: true call: devtestlabsclient-labs.microsoftazurelabslistbyresourcegroup with: $expand: tools.$expand $filter: tools.$filter $top: tools.$top $orderby: tools.$orderby outputParameters: - type: object mapping: $. - name: microsoft-azure-get-subscriptions-subscriptionid-3 description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name hints: readOnly: true destructive: false idempotent: true call: devtestlabsclient-labs.microsoftazurelabsget with: name: tools.name $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-azure-put-subscriptions-subscriptionid description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name hints: readOnly: false destructive: false idempotent: true call: devtestlabsclient-labs.microsoftazurelabscreateorupdate with: name: tools.name lab: tools.lab outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-subscriptions-subscriptionid description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name hints: readOnly: false destructive: true idempotent: true call: devtestlabsclient-labs.microsoftazurelabsdelete with: name: tools.name outputParameters: - type: object mapping: $. - name: microsoft-azure-patch-subscriptions-subscriptionid description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name hints: readOnly: false destructive: false idempotent: true call: devtestlabsclient-labs.microsoftazurelabsupdate with: name: tools.name lab: tools.lab outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Claimanyvm hints: readOnly: false destructive: false idempotent: false call: devtestlabsclient-labs.microsoftazurelabsclaimanyvm with: name: tools.name outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-2 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Createenvironment hints: readOnly: false destructive: false idempotent: false call: devtestlabsclient-labs.microsoftazurelabscreateenvironment with: name: tools.name labVirtualMachineCreationParameter: tools.labVirtualMachineCreationParameter outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-3 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Exportresourceusage hints: readOnly: false destructive: false idempotent: false call: devtestlabsclient-labs.microsoftazurelabsexportresourceusage with: name: tools.name exportResourceUsageParameters: tools.exportResourceUsageParameters outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-4 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Generateuploaduri hints: readOnly: false destructive: false idempotent: false call: devtestlabsclient-labs.microsoftazurelabsgenerateuploaduri with: name: tools.name generateUploadUriParameter: tools.generateUploadUriParameter outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-5 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Importvirtualmachine hints: readOnly: false destructive: false idempotent: false call: devtestlabsclient-labs.microsoftazurelabsimportvirtualmachine with: name: tools.name importLabVirtualMachineRequest: tools.importLabVirtualMachineRequest outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-6 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Name Listvhds hints: readOnly: false destructive: false idempotent: false call: devtestlabsclient-labs.microsoftazurelabslistvhds with: name: tools.name outputParameters: - type: object mapping: $.