Azure DevTest Labs · Capability

DevTestLabsClient — VirtualMachines

DevTestLabsClient — VirtualMachines. 18 operations. Lead operation: Azure DevTest Labs Virtual Machines_ List. Self-contained Naftiko capability covering one Azure Test Labs business surface.

Run with Naftiko Azure Test LabsVirtualMachines

What You Can Do

GET
Virtualmachineslist — Azure DevTest Labs Virtual Machines_ List
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines
DELETE
Virtualmachinesdelete — Azure DevTest Labs Virtual Machines_ Delete
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}
GET
Virtualmachinesget — Azure DevTest Labs Virtual Machines_ Get
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}
PATCH
Virtualmachinesupdate — Azure DevTest Labs Virtual Machines_ Update
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}
PUT
Virtualmachinescreateorupdate — Azure DevTest Labs Virtual Machines_ Create or Update
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}
POST
Virtualmachinesadddatadisk — Azure DevTest Labs Virtual Machines_ Add Data Disk
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/adddatadisk
POST
Virtualmachinesapplyartifacts — Azure DevTest Labs Virtual Machines_ Apply Artifacts
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/applyartifacts
POST
Virtualmachinesclaim — Azure DevTest Labs Virtual Machines_ Claim
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/claim
POST
Virtualmachinesdetachdatadisk — Azure DevTest Labs Virtual Machines_ Detach Data Disk
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/detachdatadisk
POST
Virtualmachinesgetrdpfilecontents — Azure DevTest Labs Virtual Machines_ Get Rdp File Contents
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/getrdpfilecontents
POST
Virtualmachineslistapplicableschedules — Azure DevTest Labs Virtual Machines_ List Applicable Schedules
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/listapplicableschedules
POST
Virtualmachinesredeploy — Azure DevTest Labs Virtual Machines_ Redeploy
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/redeploy
POST
Virtualmachinesresize — Azure DevTest Labs Virtual Machines_ Resize
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/resize
POST
Virtualmachinesrestart — Azure DevTest Labs Virtual Machines_ Restart
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/restart
POST
Virtualmachinesstart — Azure DevTest Labs Virtual Machines_ Start
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/start
POST
Virtualmachinesstop — Azure DevTest Labs Virtual Machines_ Stop
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/stop
POST
Virtualmachinestransferdisks — Azure DevTest Labs Virtual Machines_ Transfer Disks
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/transferdisks
POST
Virtualmachinesunclaim — Azure DevTest Labs Virtual Machines_ Un Claim
/v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/unclaim

MCP Tools

azure-devtest-labs-virtual-machines

Azure DevTest Labs Virtual Machines_ List

read-only idempotent
azure-devtest-labs-virtual-machines-2

Azure DevTest Labs Virtual Machines_ Delete

idempotent
azure-devtest-labs-virtual-machines-3

Azure DevTest Labs Virtual Machines_ Get

read-only idempotent
azure-devtest-labs-virtual-machines-4

Azure DevTest Labs Virtual Machines_ Update

idempotent
azure-devtest-labs-virtual-machines-5

Azure DevTest Labs Virtual Machines_ Create or Update

idempotent
azure-devtest-labs-virtual-machines-6

Azure DevTest Labs Virtual Machines_ Add Data Disk

read-only
azure-devtest-labs-virtual-machines-7

Azure DevTest Labs Virtual Machines_ Apply Artifacts

read-only
azure-devtest-labs-virtual-machines-8

Azure DevTest Labs Virtual Machines_ Claim

read-only
azure-devtest-labs-virtual-machines-9

Azure DevTest Labs Virtual Machines_ Detach Data Disk

read-only
azure-devtest-labs-virtual-machines-10

Azure DevTest Labs Virtual Machines_ Get Rdp File Contents

read-only
azure-devtest-labs-virtual-machines-11

Azure DevTest Labs Virtual Machines_ List Applicable Schedules

read-only
azure-devtest-labs-virtual-machines-12

Azure DevTest Labs Virtual Machines_ Redeploy

read-only
azure-devtest-labs-virtual-machines-13

Azure DevTest Labs Virtual Machines_ Resize

read-only
azure-devtest-labs-virtual-machines-14

Azure DevTest Labs Virtual Machines_ Restart

read-only
azure-devtest-labs-virtual-machines-15

Azure DevTest Labs Virtual Machines_ Start

read-only
azure-devtest-labs-virtual-machines-16

Azure DevTest Labs Virtual Machines_ Stop

read-only
azure-devtest-labs-virtual-machines-17

Azure DevTest Labs Virtual Machines_ Transfer Disks

read-only
azure-devtest-labs-virtual-machines-18

Azure DevTest Labs Virtual Machines_ Un Claim

read-only

Capability Spec

azure-test-labs-virtualmachines.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: DevTestLabsClient — VirtualMachines
  description: 'DevTestLabsClient — VirtualMachines. 18 operations. Lead operation: Azure DevTest Labs Virtual Machines_ List.
    Self-contained Naftiko capability covering one Azure Test Labs business surface.'
  tags:
  - Azure Test Labs
  - VirtualMachines
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AZURE_TEST_LABS_API_KEY: AZURE_TEST_LABS_API_KEY
capability:
  consumes:
  - type: http
    namespace: azure-test-labs-virtualmachines
    baseUri: https://management.azure.com
    description: DevTestLabsClient — VirtualMachines business capability. Self-contained, no shared references.
    resources:
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines
      operations:
      - name: virtualmachineslist
        method: GET
        description: Azure DevTest Labs Virtual Machines_ List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          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($expand=artifacts,computeVm,networkInterface,applicableSchedule)'''
        - 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/{labName}/virtualmachines/{name}
      operations:
      - name: virtualmachinesdelete
        method: DELETE
        description: Azure DevTest Labs Virtual Machines_ Delete
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
      - name: virtualmachinesget
        method: GET
        description: Azure DevTest Labs Virtual Machines_ Get
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
        - name: $expand
          in: query
          type: string
          description: 'Specify the $expand query. Example: ''properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)'''
      - name: virtualmachinesupdate
        method: PATCH
        description: Azure DevTest Labs Virtual Machines_ Update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
        - name: labVirtualMachine
          in: body
          type: string
          description: A virtual machine.
          required: true
      - name: virtualmachinescreateorupdate
        method: PUT
        description: Azure DevTest Labs Virtual Machines_ Create or Update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
        - name: labVirtualMachine
          in: body
          type: string
          description: A virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk
      operations:
      - name: virtualmachinesadddatadisk
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Add Data Disk
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
        - name: dataDiskProperties
          in: body
          type: string
          description: Request body for adding a new or existing data disk to a virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts
      operations:
      - name: virtualmachinesapplyartifacts
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Apply Artifacts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
        - name: applyArtifactsRequest
          in: body
          type: string
          description: Request body for applying artifacts to a virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim
      operations:
      - name: virtualmachinesclaim
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Claim
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk
      operations:
      - name: virtualmachinesdetachdatadisk
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Detach Data Disk
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
        - name: detachDataDiskProperties
          in: body
          type: string
          description: Request body for detaching data disk from a virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/getRdpFileContents
      operations:
      - name: virtualmachinesgetrdpfilecontents
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Get Rdp File Contents
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules
      operations:
      - name: virtualmachineslistapplicableschedules
        method: POST
        description: Azure DevTest Labs Virtual Machines_ List Applicable Schedules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/redeploy
      operations:
      - name: virtualmachinesredeploy
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Redeploy
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/resize
      operations:
      - name: virtualmachinesresize
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Resize
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
        - name: resizeLabVirtualMachineProperties
          in: body
          type: string
          description: Request body for resizing a virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/restart
      operations:
      - name: virtualmachinesrestart
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Restart
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start
      operations:
      - name: virtualmachinesstart
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Start
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop
      operations:
      - name: virtualmachinesstop
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Stop
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/transferDisks
      operations:
      - name: virtualmachinestransferdisks
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Transfer Disks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
    - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof
      path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/unClaim
      operations:
      - name: virtualmachinesunclaim
        method: POST
        description: Azure DevTest Labs Virtual Machines_ Un Claim
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: labName
          in: path
          type: string
          description: The name of the lab.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the virtual machine.
          required: true
  exposes:
  - type: rest
    namespace: azure-test-labs-virtualmachines-rest
    port: 8080
    description: REST adapter for DevTestLabsClient — VirtualMachines. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: GET
        name: virtualmachineslist
        description: Azure DevTest Labs Virtual Machines_ List
        call: azure-test-labs-virtualmachines.virtualmachineslist
        with:
          labName: rest.labName
          $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/{labname}/virtualmachines/{name}
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: DELETE
        name: virtualmachinesdelete
        description: Azure DevTest Labs Virtual Machines_ Delete
        call: azure-test-labs-virtualmachines.virtualmachinesdelete
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: virtualmachinesget
        description: Azure DevTest Labs Virtual Machines_ Get
        call: azure-test-labs-virtualmachines.virtualmachinesget
        with:
          labName: rest.labName
          name: rest.name
          $expand: rest.$expand
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: virtualmachinesupdate
        description: Azure DevTest Labs Virtual Machines_ Update
        call: azure-test-labs-virtualmachines.virtualmachinesupdate
        with:
          labName: rest.labName
          name: rest.name
          labVirtualMachine: rest.labVirtualMachine
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: virtualmachinescreateorupdate
        description: Azure DevTest Labs Virtual Machines_ Create or Update
        call: azure-test-labs-virtualmachines.virtualmachinescreateorupdate
        with:
          labName: rest.labName
          name: rest.name
          labVirtualMachine: rest.labVirtualMachine
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/adddatadisk
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesadddatadisk
        description: Azure DevTest Labs Virtual Machines_ Add Data Disk
        call: azure-test-labs-virtualmachines.virtualmachinesadddatadisk
        with:
          labName: rest.labName
          name: rest.name
          dataDiskProperties: rest.dataDiskProperties
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/applyartifacts
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesapplyartifacts
        description: Azure DevTest Labs Virtual Machines_ Apply Artifacts
        call: azure-test-labs-virtualmachines.virtualmachinesapplyartifacts
        with:
          labName: rest.labName
          name: rest.name
          applyArtifactsRequest: rest.applyArtifactsRequest
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/claim
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesclaim
        description: Azure DevTest Labs Virtual Machines_ Claim
        call: azure-test-labs-virtualmachines.virtualmachinesclaim
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/detachdatadisk
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesdetachdatadisk
        description: Azure DevTest Labs Virtual Machines_ Detach Data Disk
        call: azure-test-labs-virtualmachines.virtualmachinesdetachdatadisk
        with:
          labName: rest.labName
          name: rest.name
          detachDataDiskProperties: rest.detachDataDiskProperties
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/getrdpfilecontents
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesgetrdpfilecontents
        description: Azure DevTest Labs Virtual Machines_ Get Rdp File Contents
        call: azure-test-labs-virtualmachines.virtualmachinesgetrdpfilecontents
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/listapplicableschedules
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachineslistapplicableschedules
        description: Azure DevTest Labs Virtual Machines_ List Applicable Schedules
        call: azure-test-labs-virtualmachines.virtualmachineslistapplicableschedules
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/redeploy
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesredeploy
        description: Azure DevTest Labs Virtual Machines_ Redeploy
        call: azure-test-labs-virtualmachines.virtualmachinesredeploy
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/resize
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesresize
        description: Azure DevTest Labs Virtual Machines_ Resize
        call: azure-test-labs-virtualmachines.virtualmachinesresize
        with:
          labName: rest.labName
          name: rest.name
          resizeLabVirtualMachineProperties: rest.resizeLabVirtualMachineProperties
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/restart
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesrestart
        description: Azure DevTest Labs Virtual Machines_ Restart
        call: azure-test-labs-virtualmachines.virtualmachinesrestart
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/start
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesstart
        description: Azure DevTest Labs Virtual Machines_ Start
        call: azure-test-labs-virtualmachines.virtualmachinesstart
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/stop
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesstop
        description: Azure DevTest Labs Virtual Machines_ Stop
        call: azure-test-labs-virtualmachines.virtualmachinesstop
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/transferdisks
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinestransferdisks
        description: Azure DevTest Labs Virtual Machines_ Transfer Disks
        call: azure-test-labs-virtualmachines.virtualmachinestransferdisks
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-devtestlab/labs/{labname}/virtualmachines/{name}/unclaim
      name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof
      description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof.
      operations:
      - method: POST
        name: virtualmachinesunclaim
        description: Azure DevTest Labs Virtual Machines_ Un Claim
        call: azure-test-labs-virtualmachines.virtualmachinesunclaim
        with:
          labName: rest.labName
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: azure-test-labs-virtualmachines-mcp
    port: 9090
    transport: http
    description: MCP adapter for DevTestLabsClient — VirtualMachines. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: azure-devtest-labs-virtual-machines
      description: Azure DevTest Labs Virtual Machines_ List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: azure-test-labs-virtualmachines.virtualmachineslist
      with:
        labName: tools.labName
        $expand: tools.$expand
        $filter: tools.$filter
        $top: tools.$top
        $orderby: tools.$orderby
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-devtest-labs-virtual-machines-2
      description: Azure DevTest Labs Virtual Machines_ Delete
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: azure-test-labs-virtualmachines.virtualmachinesdelete
      with:
        labName: tools.labName
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-devtest-labs-virtual-machines-3
      description: Azure DevTest Labs Virtual Machines_ Get
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: azure-test-labs-virtualmachines.virtualmachinesget
      with:
        labName: tools.labName
        name: tools.name
        $expand: tools.$expand
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-devtest-labs-virtual-machines-4
      description: Azure DevTest Labs Virtual Machines_ Update
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: azure-test-labs-virtualmachines.virtualmachinesupdate
      with:
        labName: tools.labName
        name: tools.name
        labVirtualMachine: tools.labVirtualMachine
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-devtest-labs-virtual-machines-5
      description: Azure DevTest Labs Virtual Machines_ Create or Update
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: azure-test-labs-virtualmachines.virtualmachinescreateorupdate
      with:
        labName: tools.labName
        name: tools.name
        labVirtualMachine: tools.labVirtualMachine
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-devtest-labs-virtual-machines-6
      description: Azure DevTest Labs Virtual Machines_ Add Data Disk
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: azure-test-labs-virtualmachines.virtualmachinesadddatadisk
      with:
        labName: tools.labName
        name: tools.name
        dataDiskProperties: tools.dataDiskProperties
      outputParameters:
      - type: object
        mapping: $.
    - name: azure-devtest-labs-virtual-machines-7
      description: Azure DevTest Labs Virtual Machines_ Apply Artifacts
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: azure-test-labs-virtualmachines.virtualmachinesapplyartifacts
      with:
        labName: tools.labName
        name: tools.name
        applyArtifactsRequest: tools.

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/azure-test-labs/refs/heads/main/capabilities/azure-test-labs-virtualmachines.yaml