---
title: "Updates a virtual machine."
method: PATCH
path: "/{resourceUri}/providers/Microsoft.ScVmm/virtualMachineInstances/default"
tags: ["VirtualMachineInstances"]
---

# Updates a virtual machine.

`PATCH /{resourceUri}/providers/Microsoft.ScVmm/virtualMachineInstances/default`

The operation to update a virtual machine instance.

## Path parameters

- `resourceUri` string, required

## Parameters

- `../../../../../common-types/resource-management/v5/types.json#/components/parameters/ApiVersionParameter` — unresolved $ref

## Request body

- VirtualMachineInstanceUpdate — The type used for update operations of the VirtualMachineInstance.
  - `properties` VirtualMachineInstanceUpdateProperties — Virtual Machine Instance Properties Update model
    - `availabilitySets` AvailabilitySetListItem[] — Availability Sets in vm.
      - `id` string, arm-id — Gets the ARM Id of the microsoft.scvmm/availabilitySets resource.
      - `name` string — Gets or sets the name of the availability set.
    - `hardwareProfile` HardwareProfileUpdate — Defines the resource update properties.
      - `memoryMB` integer — MemoryMB is the size of a virtual machine's memory, in MB.
      - `cpuCount` integer — Gets or sets the number of vCPUs for the vm.
      - `limitCpuForMigration` 'true' | 'false' — Limit CPU for migration.
      - `dynamicMemoryEnabled` 'true' | 'false' — Dynamic memory enabled.
      - `dynamicMemoryMaxMB` integer — Gets or sets the max dynamic memory for the vm.
      - `dynamicMemoryMinMB` integer — Gets or sets the min dynamic memory for the vm.
    - `networkProfile` NetworkProfileUpdate — Defines the resource update properties.
      - `networkInterfaces` NetworkInterfaceUpdate[] — Gets or sets the list of network interfaces associated with the virtual machine.
        - `name` string — Gets or sets the name of the network interface.
        - `macAddress` string — Gets or sets the nic MAC address.
        - `virtualNetworkId` string, arm-id — Gets or sets the ARM Id of the Microsoft.ScVmm/virtualNetwork resource to connect the nic.
        - `ipv4AddressType` 'Dynamic' | 'Static' — Network address allocation method.
        - `ipv6AddressType` 'Dynamic' | 'Static' — Network address allocation method.
        - `macAddressType` 'Dynamic' | 'Static' — Network address allocation method.
        - `nicId` string — Gets or sets the nic id.
    - `storageProfile` StorageProfileUpdate — Defines the resource update properties.
      - `disks` VirtualDiskUpdate[] — Gets or sets the list of virtual disks associated with the virtual machine.
        - `name` string — Gets or sets the name of the disk.
        - `diskId` string — Gets or sets the disk id.
        - `diskSizeGB` integer — Gets or sets the disk total size.
        - `bus` integer — Gets or sets the disk bus.
        - `lun` integer — Gets or sets the disk lun.
        - `busType` string — Gets or sets the disk bus type.
        - `vhdType` string — Gets or sets the disk vhd type.
        - `storageQoSPolicy` StorageQosPolicyDetails — The StorageQoSPolicyDetails definition.
          - `name` string — The name of the policy.
          - `id` string — The ID of the QoS policy.
    - `infrastructureProfile` InfrastructureProfileUpdate — Specifies the vmmServer infrastructure specific update settings for the virtual machine instance.
      - `checkpointType` string — Type of checkpoint supported for the vm.

## Response `200`

Azure operation completed successfully.

- VirtualMachineInstance — unresolved $ref

## Other responses

- `202` — Resource update request accepted.
- `default` — An unexpected error response.

---

[API](https://skmtc.net/azure/apis/scvmm-microsoft-scvmm.md) · [All operations](https://skmtc.net/azure/apis/scvmm-microsoft-scvmm/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/azure/scvmm-microsoft-scvmm/revisions/2cc656a4c500/schema)
