naftiko: 1.0.0-alpha2 info: label: Azure Virtual Machines REST API — Virtual Machines description: 'Azure Virtual Machines REST API — Virtual Machines. 26 operations. Lead operation: Azure Virtual Machines List virtual machines by location. Self-contained Naftiko capability covering one Microsoft Azure Virtual Machines business surface.' tags: - Microsoft Azure Virtual Machines - Virtual Machines created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_VIRTUAL_MACHINES_API_KEY: MICROSOFT_AZURE_VIRTUAL_MACHINES_API_KEY capability: consumes: - type: http namespace: azure-virtual-machines-virtual-machines baseUri: https://management.azure.com description: Azure Virtual Machines REST API — Virtual Machines business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-providers-Microsoft.Compute-locations-location-virt path: /subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines operations: - name: virtualmachineslistbylocation method: GET description: Azure Virtual Machines List virtual machines by location outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-providers-Microsoft.Compute-virtualMachines path: /subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines operations: - name: virtualmachineslistall method: GET description: Azure Virtual Machines List all virtual machines in a subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: statusOnly in: query type: string description: statusOnly=true enables fetching run time status of all Virtual Machines in the subscription. - name: $filter in: query type: string description: The system query option to filter VMs returned in the response. - name: $expand in: query type: string description: The expand expression to apply on the operation. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines operations: - name: virtualmachineslist method: GET description: Azure Virtual Machines List virtual machines in a resource group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $filter in: query type: string description: The system query option to filter VMs returned in the response. Allowed value is 'virtualMachineScaleSet/id' eq /subscriptions/{subId}/resourceGroups/{rgName}/p - name: $expand in: query type: string description: The expand expression to apply on the operation. 'instanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the pla - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName} operations: - name: virtualmachinescreateorupdate method: PUT description: Azure Virtual Machines Create or update a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: virtualmachinesget method: GET description: Azure Virtual Machines Get a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $expand in: query type: string description: The expand expression to apply on the operation. 'instanceView' retrieves a snapshot of the runtime properties of the virtual machine. - name: virtualmachinesupdate method: PATCH description: Azure Virtual Machines Update a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: virtualmachinesdelete method: DELETE description: Azure Virtual Machines Delete a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: forceDeletion in: query type: boolean description: Optional parameter to force delete virtual machines. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/assessPatches operations: - name: virtualmachinesassesspatches method: POST description: Azure Virtual Machines Assess patches on a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/attachDetachDataDisks operations: - name: virtualmachinesattachdetachdatadisks method: POST description: Azure Virtual Machines Attach or detach data disks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture operations: - name: virtualmachinescapture method: POST description: Azure Virtual Machines Capture a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks operations: - name: virtualmachinesconverttomanageddisks method: POST description: Azure Virtual Machines Convert to managed disks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate operations: - name: virtualmachinesdeallocate method: POST description: Azure Virtual Machines Deallocate a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: hibernate in: query type: boolean description: Optional parameter to hibernate a virtual machine. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize operations: - name: virtualmachinesgeneralize method: POST description: Azure Virtual Machines Generalize a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/installPatches operations: - name: virtualmachinesinstallpatches method: POST description: Azure Virtual Machines Install patches on a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView operations: - name: virtualmachinesinstanceview method: GET description: Azure Virtual Machines Get the instance view of a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance operations: - name: virtualmachinesperformmaintenance method: POST description: Azure Virtual Machines Perform maintenance on a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff operations: - name: virtualmachinespoweroff method: POST description: Azure Virtual Machines Power off a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: skipShutdown in: query type: boolean description: The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reapply operations: - name: virtualmachinesreapply method: POST description: Azure Virtual Machines Reapply a virtual machine state outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy operations: - name: virtualmachinesredeploy method: POST description: Azure Virtual Machines Redeploy a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reimage operations: - name: virtualmachinesreimage method: POST description: Azure Virtual Machines Reimage a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart operations: - name: virtualmachinesrestart method: POST description: Azure Virtual Machines Restart a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/retrieveBootDiagnosticsData operations: - name: virtualmachinesretrievebootdiagnosticsdata method: POST description: Azure Virtual Machines Retrieve boot diagnostics data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sasUriExpirationTimeInMinutes in: query type: integer description: Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand operations: - name: virtualmachinesruncommand method: POST description: Azure Virtual Machines Run command on a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction operations: - name: virtualmachinessimulateeviction method: POST description: Azure Virtual Machines Simulate eviction of a spot virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start operations: - name: virtualmachinesstart method: POST description: Azure Virtual Machines Start a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes operations: - name: virtualmachineslistavailablesizes method: GET description: Azure Virtual Machines List available sizes for a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.MICROSOFT_AZURE_VIRTUAL_MACHINES_API_KEY}}' exposes: - type: rest namespace: azure-virtual-machines-virtual-machines-rest port: 8080 description: REST adapter for Azure Virtual Machines REST API — Virtual Machines. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-compute/locations/{location}/virtualmachines name: subscriptions-subscriptionid-providers-microsoft-compute-locations-location-virt description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Compute-locations-location-virt. operations: - method: GET name: virtualmachineslistbylocation description: Azure Virtual Machines List virtual machines by location call: azure-virtual-machines-virtual-machines.virtualmachineslistbylocation outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-compute/virtualmachines name: subscriptions-subscriptionid-providers-microsoft-compute-virtualmachines description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Compute-virtualMachines. operations: - method: GET name: virtualmachineslistall description: Azure Virtual Machines List all virtual machines in a subscription call: azure-virtual-machines-virtual-machines.virtualmachineslistall with: statusOnly: rest.statusOnly $filter: rest.$filter $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/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 Virtual Machines List virtual machines in a resource group call: azure-virtual-machines-virtual-machines.virtualmachineslist with: $filter: rest.$filter $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: PUT name: virtualmachinescreateorupdate description: Azure Virtual Machines Create or update a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinescreateorupdate with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: virtualmachinesget description: Azure Virtual Machines Get a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesget with: $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: virtualmachinesupdate description: Azure Virtual Machines Update a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesupdate with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: virtualmachinesdelete description: Azure Virtual Machines Delete a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesdelete with: forceDeletion: rest.forceDeletion outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/assesspatches name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesassesspatches description: Azure Virtual Machines Assess patches on a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesassesspatches outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/attachdetachdatadisks name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesattachdetachdatadisks description: Azure Virtual Machines Attach or detach data disks call: azure-virtual-machines-virtual-machines.virtualmachinesattachdetachdatadisks with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/capture name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinescapture description: Azure Virtual Machines Capture a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinescapture with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/converttomanageddisks name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesconverttomanageddisks description: Azure Virtual Machines Convert to managed disks call: azure-virtual-machines-virtual-machines.virtualmachinesconverttomanageddisks outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/deallocate name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesdeallocate description: Azure Virtual Machines Deallocate a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesdeallocate with: hibernate: rest.hibernate outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/generalize name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesgeneralize description: Azure Virtual Machines Generalize a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesgeneralize outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/installpatches name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesinstallpatches description: Azure Virtual Machines Install patches on a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesinstallpatches with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/instanceview name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: virtualmachinesinstanceview description: Azure Virtual Machines Get the instance view of a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesinstanceview outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/performmaintenance name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesperformmaintenance description: Azure Virtual Machines Perform maintenance on a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesperformmaintenance outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/poweroff name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinespoweroff description: Azure Virtual Machines Power off a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinespoweroff with: skipShutdown: rest.skipShutdown outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/reapply name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesreapply description: Azure Virtual Machines Reapply a virtual machine state call: azure-virtual-machines-virtual-machines.virtualmachinesreapply outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/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 Virtual Machines Redeploy a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesredeploy outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/reimage name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesreimage description: Azure Virtual Machines Reimage a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesreimage outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/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 Virtual Machines Restart a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesrestart outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/retrievebootdiagnosticsdata name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesretrievebootdiagnosticsdata description: Azure Virtual Machines Retrieve boot diagnostics data call: azure-virtual-machines-virtual-machines.virtualmachinesretrievebootdiagnosticsdata with: sasUriExpirationTimeInMinutes: rest.sasUriExpirationTimeInMinutes outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/runcommand name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinesruncommand description: Azure Virtual Machines Run command on a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesruncommand with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/simulateeviction name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: virtualmachinessimulateeviction description: Azure Virtual Machines Simulate eviction of a spot virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinessimulateeviction outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/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 Virtual Machines Start a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachinesstart outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-compute/virtualmachines/{vmname}/vmsizes name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: virtualmachineslistavailablesizes description: Azure Virtual Machines List available sizes for a virtual machine call: azure-virtual-machines-virtual-machines.virtualmachineslistavailablesizes outputParameters: - type: object mapping: $. - type: mcp namespace: azure-virtual-machines-virtual-machines-mcp port: 9090 transport: http description: MCP adapter for Azure Virtual Machines REST API — Virtual Machines. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: azure-virtual-machines-list-virtual description: Azure Virtual Machines List virtual machines by location hints: readOnly: true destructive: false idempotent: true call: azure-virtual-machines-virtual-machines.virtualmachineslistbylocation outputParameters: - type: object mapping: $. - name: azure-virtual-machines-list-all description: Azure Virtual Machines List all virtual machines in a subscription hints: readOnly: true destructive: false idempotent: true call: azure-virtual-machines-virtual-machines.virtualmachineslistall with: statusOnly: tools.statusOnly $filter: tools.$filter $expand: tools.$expand outputParameters: - type: object mapping: $. - name: azure-virtual-machines-list-virtual-2 description: Azure Virtual Machines List virtual machines in a resource group hints: readOnly: true destructive: false idempotent: true call: azure-virtual-machines-virtual-machines.virtualmachineslist with: $filter: tools.$filter $expand: tools.$expand outputParameters: - type: object mapping: $. - name: azure-virtual-machines-create-update description: Azure Virtual Machines Create or update a virtual machine hints: readOnly: false destructive: false idempotent: true call: azure-virtual-machines-virtual-machines.virtualmachinescreateorupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: azure-virtual-machines-get-virtual description: Azure Virtual Machines Get a virtual machine hints: readOnly: true destructive: false idempotent: true call: azure-virtual-machines-virtual-machines.virtualmachinesget with: $expand: tools.$expand outputParameters: - type: object mapping: $. - name: azure-virtual-machines-update-virtual description: Azure Virtual Machines Update a virtual machine hints: readOnly: false destructive: false idempotent: true call: azure-virtual-machines-virtual-machines.virtualmachinesupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: azure-virtual-machines-delete-virtual description: Azure Virtual Machines Delete a virtual machine hints: readOnly: false destructive: true idempotent: true call: azure-virtual-machines-virtual-machines.virtualmachinesdelete with: forceDeletion: tools.forceDeletion outputParameters: - type: object mapping: $. - name: azure-virtual-machines-assess-patches description: Azure Virtual Machines Assess patches on a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesassesspatches outputParameters: - type: object mapping: $. - name: azure-virtual-machines-attach-detach description: Azure Virtual Machines Attach or detach data disks hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesattachdetachdatadisks with: body: tools.body outputParameters: - type: object mapping: $. - name: azure-virtual-machines-capture-virtual description: Azure Virtual Machines Capture a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinescapture with: body: tools.body outputParameters: - type: object mapping: $. - name: azure-virtual-machines-convert-managed description: Azure Virtual Machines Convert to managed disks hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesconverttomanageddisks outputParameters: - type: object mapping: $. - name: azure-virtual-machines-deallocate-virtual description: Azure Virtual Machines Deallocate a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesdeallocate with: hibernate: tools.hibernate outputParameters: - type: object mapping: $. - name: azure-virtual-machines-generalize-virtual description: Azure Virtual Machines Generalize a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesgeneralize outputParameters: - type: object mapping: $. - name: azure-virtual-machines-install-patches description: Azure Virtual Machines Install patches on a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesinstallpatches with: body: tools.body outputParameters: - type: object mapping: $. - name: azure-virtual-machines-get-instance description: Azure Virtual Machines Get the instance view of a virtual machine hints: readOnly: true destructive: false idempotent: true call: azure-virtual-machines-virtual-machines.virtualmachinesinstanceview outputParameters: - type: object mapping: $. - name: azure-virtual-machines-perform-maintenance description: Azure Virtual Machines Perform maintenance on a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesperformmaintenance outputParameters: - type: object mapping: $. - name: azure-virtual-machines-power-off description: Azure Virtual Machines Power off a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinespoweroff with: skipShutdown: tools.skipShutdown outputParameters: - type: object mapping: $. - name: azure-virtual-machines-reapply-virtual description: Azure Virtual Machines Reapply a virtual machine state hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesreapply outputParameters: - type: object mapping: $. - name: azure-virtual-machines-redeploy-virtual description: Azure Virtual Machines Redeploy a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesredeploy outputParameters: - type: object mapping: $. - name: azure-virtual-machines-reimage-virtual description: Azure Virtual Machines Reimage a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesreimage outputParameters: - type: object mapping: $. - name: azure-virtual-machines-restart-virtual description: Azure Virtual Machines Restart a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesrestart outputParameters: - type: object mapping: $. - name: azure-virtual-machines-retrieve-boot description: Azure Virtual Machines Retrieve boot diagnostics data hints: readOnly: true destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesretrievebootdiagnosticsdata with: sasUriExpirationTimeInMinutes: tools.sasUriExpirationTimeInMinutes outputParameters: - type: object mapping: $. - name: azure-virtual-machines-run-command description: Azure Virtual Machines Run command on a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesruncommand with: body: tools.body outputParameters: - type: object mapping: $. - name: azure-virtual-machines-simulate-eviction description: Azure Virtual Machines Simulate eviction of a spot virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinessimulateeviction outputParameters: - type: object mapping: $. - name: azure-virtual-machines-start-virtual description: Azure Virtual Machines Start a virtual machine hints: readOnly: false destructive: false idempotent: false call: azure-virtual-machines-virtual-machines.virtualmachinesstart outputParameters: - type: object mapping: $. - name: azure-virtual-machines-list-available description: Azure Virtual Machines List available sizes for a virtual machine hints: readOnly: true destructive: false idempotent: true call: azure-virtual-machines-virtual-machines.virtualmachineslistavailablesizes outputParameters: - type: object mapping: $.