Azure Virtual Machines Virtual Machines API

Operations for creating, updating, deleting, and managing the lifecycle of Azure Virtual Machines including power operations, patching, and diagnostics.

Documentation

Specifications

Other Resources

OpenAPI Specification

microsoft-azure-virtual-machines-virtual-machines-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure REST Virtual Machines API
  description: REST API for creating and managing Azure Virtual Machines. Provides operations for provisioning, starting, stopping, deallocating, restarting, reimaging, capturing, and deleting virtual machines, as well as managing data disks, extensions, patching, and run commands. All operations follow the Azure Resource Manager pattern and require OAuth 2.0 authentication via Microsoft Entra ID.
  version: '2024-07-01'
  contact:
    name: Microsoft Azure Support
    url: https://azure.microsoft.com/en-us/support/
  license:
    name: Microsoft API License
    url: https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use
  termsOfService: https://azure.microsoft.com/en-us/support/legal/
servers:
- url: https://management.azure.com
  description: Azure Resource Manager Production Endpoint
security:
- OAuth2Auth: []
tags:
- name: Virtual Machines
  description: Operations for creating, updating, deleting, and managing the lifecycle of Azure Virtual Machines including power operations, patching, and diagnostics.
paths:
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines:
    get:
      operationId: VirtualMachines_List
      summary: Azure Virtual Machines List virtual machines in a resource group
      description: Lists all of the virtual machines in the specified resource group. Use the nextLink property in the response to get the next page of virtual machines.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: $filter
        in: query
        description: The system query option to filter VMs returned in the response. Allowed value is 'virtualMachineScaleSet/id' eq /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}'.
        schema:
          type: string
      - name: $expand
        in: query
        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 platform and can change outside of control plane operations.
        schema:
          type: string
          enum:
          - instanceView
      responses:
        '200':
          description: Successfully retrieved the list of virtual machines.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineListResult'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  /subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines:
    get:
      operationId: VirtualMachines_ListAll
      summary: Azure Virtual Machines List all virtual machines in a subscription
      description: Lists all of the virtual machines in the specified subscription. Use the nextLink property in the response to get the next page of virtual machines.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: statusOnly
        in: query
        description: statusOnly=true enables fetching run time status of all Virtual Machines in the subscription.
        schema:
          type: string
      - name: $filter
        in: query
        description: The system query option to filter VMs returned in the response.
        schema:
          type: string
      - name: $expand
        in: query
        description: The expand expression to apply on the operation.
        schema:
          type: string
          enum:
          - instanceView
      responses:
        '200':
          description: Successfully retrieved the list of virtual machines.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineListResult'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  /subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines:
    get:
      operationId: VirtualMachines_ListByLocation
      summary: Azure Virtual Machines List virtual machines by location
      description: Gets all the virtual machines under the specified subscription for the specified location.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/LocationParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully retrieved the list of virtual machines.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineListResult'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}:
    put:
      operationId: VirtualMachines_CreateOrUpdate
      summary: Azure Virtual Machines Create or update a virtual machine
      description: The operation to create or update a virtual machine. Please note some properties can be set only during virtual machine creation.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      requestBody:
        required: true
        description: Parameters supplied to the create or update virtual machine operation.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualMachine'
      responses:
        '200':
          description: Successfully updated the virtual machine.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
        '201':
          description: Successfully created the virtual machine.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
    get:
      operationId: VirtualMachines_Get
      summary: Azure Virtual Machines Get a virtual machine
      description: Retrieves information about the model view or the instance view of a virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: $expand
        in: query
        description: The expand expression to apply on the operation. 'instanceView' retrieves a snapshot of the runtime properties of the virtual machine.
        schema:
          type: string
          enum:
          - instanceView
          - userData
      responses:
        '200':
          description: Successfully retrieved the virtual machine.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
    patch:
      operationId: VirtualMachines_Update
      summary: Azure Virtual Machines Update a virtual machine
      description: The operation to update a virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      requestBody:
        required: true
        description: Parameters supplied to the update virtual machine operation.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualMachineUpdate'
      responses:
        '200':
          description: Successfully updated the virtual machine.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
    delete:
      operationId: VirtualMachines_Delete
      summary: Azure Virtual Machines Delete a virtual machine
      description: The operation to delete a virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: forceDeletion
        in: query
        description: Optional parameter to force delete virtual machines.
        schema:
          type: boolean
      responses:
        '200':
          description: Successfully deleted the virtual machine.
        '202':
          description: Accepted. The operation will complete asynchronously.
        '204':
          description: No content. The virtual machine does not exist.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView
  : get:
      operationId: VirtualMachines_InstanceView
      summary: Azure Virtual Machines Get the instance view of a virtual machine
      description: Retrieves information about the run-time state of a virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully retrieved the instance view.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineInstanceView'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start
  : post:
      operationId: VirtualMachines_Start
      summary: Azure Virtual Machines Start a virtual machine
      description: The operation to start a virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully started the virtual machine.
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff
  : post:
      operationId: VirtualMachines_PowerOff
      summary: Azure Virtual Machines Power off a virtual machine
      description: The operation to power off (stop) a virtual machine. The virtual machine can be restarted with the same provisioned resources. You are still charged for this virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: skipShutdown
        in: query
        description: The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Successfully powered off the virtual machine.
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate
  : post:
      operationId: VirtualMachines_Deallocate
      summary: Azure Virtual Machines Deallocate a virtual machine
      description: Shuts down the virtual machine and releases the compute resources. You are not billed for the compute resources that this virtual machine uses.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: hibernate
        in: query
        description: Optional parameter to hibernate a virtual machine.
        schema:
          type: boolean
      responses:
        '200':
          description: Successfully deallocated the virtual machine.
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart
  : post:
      operationId: VirtualMachines_Restart
      summary: Azure Virtual Machines Restart a virtual machine
      description: The operation to restart a virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully restarted the virtual machine.
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy
  : post:
      operationId: VirtualMachines_Redeploy
      summary: Azure Virtual Machines Redeploy a virtual machine
      description: Shuts down the virtual machine, moves it to a new node, and powers it back on.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully redeployed the virtual machine.
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reimage
  : post:
      operationId: VirtualMachines_Reimage
      summary: Azure Virtual Machines Reimage a virtual machine
      description: Reimages (upgrades the operating system) a virtual machine which does not have an ephemeral OS disk. For virtual machines that have an ephemeral OS disk, the virtual machine is reset to initial state.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully reimaged the virtual machine.
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture
  : post:
      operationId: VirtualMachines_Capture
      summary: Azure Virtual Machines Capture a virtual machine
      description: Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create similar VMs.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      requestBody:
        required: true
        description: Parameters supplied to the capture virtual machine operation.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualMachineCaptureParameters'
      responses:
        '200':
          description: Successfully captured the virtual machine.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineCaptureResult'
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize
  : post:
      operationId: VirtualMachines_Generalize
      summary: Azure Virtual Machines Generalize a virtual machine
      description: Sets the OS state of the virtual machine to generalized. It is recommended to sysprep the virtual machine before performing this operation.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully generalized the virtual machine.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks
  : post:
      operationId: VirtualMachines_ConvertToManagedDisks
      summary: Azure Virtual Machines Convert to managed disks
      description: Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully converted to managed disks.
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance
  : post:
      operationId: VirtualMachines_PerformMaintenance
      summary: Azure Virtual Machines Perform maintenance on a virtual machine
      description: The operation to perform maintenance on a virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully performed maintenance.
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction
  : post:
      operationId: VirtualMachines_SimulateEviction
      summary: Azure Virtual Machines Simulate eviction of a spot virtual machine
      description: The operation to simulate the eviction of a spot virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '204':
          description: Successfully simulated eviction.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reapply
  : post:
      operationId: VirtualMachines_Reapply
      summary: Azure Virtual Machines Reapply a virtual machine state
      description: The operation to reapply a virtual machine's state.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully reapplied.
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/retrieveBootDiagnosticsData
  : post:
      operationId: VirtualMachines_RetrieveBootDiagnosticsData
      summary: Azure Virtual Machines Retrieve boot diagnostics data
      description: The operation to retrieve SAS URIs for a virtual machine's boot diagnostic logs.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: sasUriExpirationTimeInMinutes
        in: query
        description: Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Successfully retrieved boot diagnostics data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveBootDiagnosticsDataResult'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/assessPatches
  : post:
      operationId: VirtualMachines_AssessPatches
      summary: Azure Virtual Machines Assess patches on a virtual machine
      description: Assess patches on the VM.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully assessed patches.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineAssessPatchesResult'
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/installPatches
  : post:
      operationId: VirtualMachines_InstallPatches
      summary: Azure Virtual Machines Install patches on a virtual machine
      description: Installs patches on the VM.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      requestBody:
        required: true
        description: Input for InstallPatches as directly received by the API.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualMachineInstallPatchesParameters'
      responses:
        '200':
          description: Successfully installed patches.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineInstallPatchesResult'
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/attachDetachDataDisks
  : post:
      operationId: VirtualMachines_AttachDetachDataDisks
      summary: Azure Virtual Machines Attach or detach data disks
      description: Attach and detach data disks to/from the virtual machine.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      requestBody:
        required: true
        description: Parameters supplied to the attach/detach data disks operation.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachDetachDataDisksRequest'
      responses:
        '200':
          description: Successfully attached/detached data disks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StorageProfile'
        '202':
          description: Accepted. The operation will complete asynchronously.
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes
  : get:
      operationId: VirtualMachines_ListAvailableSizes
      summary: Azure Virtual Machines List available sizes for a virtual machine
      description: Lists all available virtual machine sizes to which the specified virtual machine can be resized.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameters/VmNameParameter'
      - $ref: '#/components/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Successfully retrieved available sizes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachineSizeListResult'
        default:
          description: Error response describing why the operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudError'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand
  : post:
      operationId: VirtualMachines_RunCommand
      summary: Azure Virtual Machines Run command on a virtual machine
      description: Run command on the VM.
      tags:
      - Virtual Machines
      parameters:
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - $ref: '#/components/parameter

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure-virtual-machines/refs/heads/main/openapi/microsoft-azure-virtual-machines-virtual-machines-api-openapi.yml