Microsoft.Compute (stable:2024-11-01)

2025/09/15 • 27 updated methods

CapacityReservationGroups_ListBySubscription (updated)
Description Lists all of the capacity reservation groups in the subscription. Use the nextLink property in the response to get the next page of capacity reservation groups.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservationGroups_ListBySubscription",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "#name": "sharingProfile",
                "Description": {
                  "new": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants.  Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                  "old": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. Pls. keep in mind the capacity reservation group resource generally can be shared across subscriptions belonging to a single azure AAD tenant or cross AAD tenant if there is a trust relationship established between the AAD tenants. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                },
                "$properties": [
                  {
                    "#name": "subscriptionIds",
                    "Description": {
                      "new": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. Block Capacity Reservations does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                      "old": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                    }
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/providers/Microsoft.Compute/capacityReservationGroups
{
api-version: string ,
subscriptionId: string ,
$expand: string ,
resourceIdsOnly: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
capacityReservations:
[
{
id: string ,
}
,
]
,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
instanceView:
{
capacityReservations:
[
{
name: string ,
}
,
]
,
sharedSubscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
sharingProfile:
{
subscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
}
,
zones:
[
string ,
]
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineRunCommands_Get (updated)
Description Gets specific run command for a subscription in a location.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineRunCommands_Get",
  "$parameters": [
    {
      "#name": "commandId",
      "Description": {
        "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
        "old": "The command id."
      }
    }
  ]
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}
{
api-version: string ,
location: string ,
commandId: string ,
subscriptionId: string ,
}

⚐ Response (200)

{
script:
[
string ,
]
,
parameters:
[
{
name: string ,
type: string ,
defaultValue: string ,
required: boolean ,
}
,
]
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachines_ListByLocation (updated)
Description Gets all the virtual machines under the specified subscription for the specified location.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachines_ListByLocation",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "placement": [
              {
                "#name": "zonePlacementPolicy",
                "Description": {
                  "new": "Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
                  "old": "Specifies the policy for virtual machine's placement in availability zone. Possible values are: **Any** - An availability zone will be automatically picked by system as part of virtual machine creation."
                }
              },
              {
                "#name": "includeZones",
                "Description": {
                  "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
                  "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection."
                }
              },
              {
                "#name": "excludeZones",
                "Description": {
                  "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
                  "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection."
                }
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines
{
api-version: string ,
subscriptionId: string ,
location: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
hardwareProfile:
{
vmSize: enum ,
vmSizeProperties:
{
vCPUsAvailable: integer ,
vCPUsPerCore: integer ,
}
,
}
,
scheduledEventsPolicy:
{
userInitiatedRedeploy:
{
automaticallyApprove: boolean ,
}
,
userInitiatedReboot:
{
automaticallyApprove: boolean ,
}
,
scheduledEventsAdditionalPublishingTargets:
{
eventGridAndResourceGraph:
{
enable: boolean ,
}
,
}
,
}
,
storageProfile:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
osDisk:
{
osType: enum ,
encryptionSettings:
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
diffDiskSettings:
{
option: enum ,
placement: enum ,
}
,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
deleteOption: enum ,
}
,
dataDisks:
[
{
lun: integer ,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
sourceResource:
{
id: string ,
}
,
toBeDetached: boolean ,
diskIOPSReadWrite: integer ,
diskMBpsReadWrite: integer ,
detachOption: enum ,
deleteOption: enum ,
}
,
]
,
diskControllerType: enum ,
alignRegionalDisksToVMZone: boolean ,
}
,
additionalCapabilities:
{
ultraSSDEnabled: boolean ,
hibernationEnabled: boolean ,
}
,
osProfile:
{
computerName: string ,
adminUsername: string ,
adminPassword: string ,
customData: string ,
windowsConfiguration:
{
provisionVMAgent: boolean ,
enableAutomaticUpdates: boolean ,
timeZone: string ,
additionalUnattendContent:
[
{
passName: enum ,
componentName: enum ,
settingName: enum ,
content: string ,
}
,
]
,
patchSettings:
{
patchMode: enum ,
enableHotpatching: boolean ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
winRM:
{
listeners:
[
{
protocol: enum ,
certificateUrl: string ,
}
,
]
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
linuxConfiguration:
{
disablePasswordAuthentication: boolean ,
ssh:
{
publicKeys:
[
{
path: string ,
keyData: string ,
}
,
]
,
}
,
provisionVMAgent: boolean ,
patchSettings:
{
patchMode: enum ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
secrets:
[
{
sourceVault:
{
id: string ,
}
,
vaultCertificates:
[
{
certificateUrl: string ,
certificateStore: string ,
}
,
]
,
}
,
]
,
allowExtensionOperations: boolean ,
requireGuestProvisionSignal: boolean ,
}
,
networkProfile:
{
networkInterfaces:
[
{
properties:
{
primary: boolean ,
deleteOption: enum ,
}
,
}
,
]
,
networkApiVersion: enum ,
networkInterfaceConfigurations:
[
{
name: string ,
properties:
{
primary: boolean ,
deleteOption: enum ,
enableAcceleratedNetworking: boolean ,
disableTcpStateTracking: boolean ,
enableFpga: boolean ,
enableIPForwarding: boolean ,
networkSecurityGroup:
{
id: string ,
}
,
dnsSettings:
{
dnsServers:
[
string ,
]
,
}
,
ipConfigurations:
[
{
name: string ,
properties:
{
subnet:
{
id: string ,
}
,
primary: boolean ,
publicIPAddressConfiguration:
{
name: string ,
properties:
{
idleTimeoutInMinutes: integer ,
deleteOption: enum ,
dnsSettings:
{
domainNameLabel: string ,
domainNameLabelScope: enum ,
}
,
ipTags:
[
{
ipTagType: string ,
tag: string ,
}
,
]
,
publicIPPrefix:
{
id: string ,
}
,
publicIPAddressVersion: enum ,
publicIPAllocationMethod: enum ,
}
,
sku:
{
name: enum ,
tier: enum ,
}
,
}
,
privateIPAddressVersion: enum ,
applicationSecurityGroups:
[
{
id: string ,
}
,
]
,
applicationGatewayBackendAddressPools:
[
{
id: string ,
}
,
]
,
loadBalancerBackendAddressPools:
[
{
id: string ,
}
,
]
,
}
,
}
,
]
,
dscpConfiguration:
{
id: string ,
}
,
auxiliaryMode: enum ,
auxiliarySku: enum ,
}
,
}
,
]
,
}
,
securityProfile:
{
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
encryptionAtHost: boolean ,
securityType: enum ,
encryptionIdentity:
{
userAssignedIdentityResourceId: string ,
}
,
proxyAgentSettings:
{
enabled: boolean ,
mode: enum ,
keyIncarnationId: integer ,
wireServer:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
imds:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
}
,
}
,
diagnosticsProfile:
{
bootDiagnostics:
{
enabled: boolean ,
storageUri: string ,
}
,
}
,
availabilitySet:
{
id: string ,
}
,
virtualMachineScaleSet:
{
id: string ,
}
,
proximityPlacementGroup:
{
id: string ,
}
,
priority: enum ,
evictionPolicy: enum ,
billingProfile:
{
maxPrice: number ,
}
,
host:
{
id: string ,
}
,
hostGroup:
{
id: string ,
}
,
provisioningState: string ,
instanceView:
{
platformUpdateDomain: integer ,
platformFaultDomain: integer ,
computerName: string ,
osName: string ,
osVersion: string ,
hyperVGeneration: enum ,
rdpThumbPrint: string ,
vmAgent:
{
vmAgentVersion: string ,
extensionHandlers:
[
{
type: string ,
typeHandlerVersion: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
maintenanceRedeployStatus:
{
isCustomerInitiatedMaintenanceAllowed: boolean ,
preMaintenanceWindowStartTime: string ,
preMaintenanceWindowEndTime: string ,
maintenanceWindowStartTime: string ,
maintenanceWindowEndTime: string ,
lastOperationResultCode: enum ,
lastOperationMessage: string ,
}
,
disks:
[
{
name: string ,
encryptionSettings:
[
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
extensions:
[
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
vmHealth:
{
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
bootDiagnostics:
{
consoleScreenshotBlobUri: string ,
serialConsoleLogBlobUri: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
assignedHost: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
patchStatus:
{
availablePatchSummary:
{
status: enum ,
assessmentActivityId: string ,
rebootPending: boolean ,
criticalAndSecurityPatchCount: integer ,
otherPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
lastPatchInstallationSummary:
{
status: enum ,
installationActivityId: string ,
maintenanceWindowExceeded: boolean ,
notSelectedPatchCount: integer ,
excludedPatchCount: integer ,
pendingPatchCount: integer ,
installedPatchCount: integer ,
failedPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
configurationStatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
isVMInStandbyPool: boolean ,
}
,
licenseType: string ,
vmId: string ,
extensionsTimeBudget: string ,
platformFaultDomain: integer ,
scheduledEventsProfile:
{
terminateNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
osImageNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
}
,
userData: string ,
capacityReservation:
{
capacityReservationGroup:
{
id: string ,
}
,
}
,
applicationProfile:
{
galleryApplications:
[
{
tags: string ,
order: integer ,
packageReferenceId: string ,
configurationReference: string ,
treatFailureAsDeploymentFailure: boolean ,
enableAutomaticUpgrade: boolean ,
}
,
]
,
}
,
timeCreated: string ,
}
,
plan:
{
name: string ,
publisher: string ,
product: string ,
promotionCode: string ,
}
,
resources:
[
{
properties:
{
forceUpdateTag: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: string ,
protectedSettings: string ,
provisioningState: string ,
instanceView:
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
suppressFailures: boolean ,
protectedSettingsFromKeyVault:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
provisionAfterExtensions:
[
string ,
]
,
}
,
}
,
]
,
identity:
{
principalId: string ,
tenantId: string ,
type: enum ,
userAssignedIdentities: object ,
}
,
zones:
[
string ,
]
,
extendedLocation:
{
name: string ,
type: enum ,
}
,
managedBy: string ,
etag: string ,
placement:
{
zonePlacementPolicy: enum ,
includeZones:
[
string ,
]
,
excludeZones:
[
string ,
]
,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachines_ListAll (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachines_ListAll",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "placement": [
              {
                "#name": "zonePlacementPolicy",
                "Description": {
                  "new": "Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
                  "old": "Specifies the policy for virtual machine's placement in availability zone. Possible values are: **Any** - An availability zone will be automatically picked by system as part of virtual machine creation."
                }
              },
              {
                "#name": "includeZones",
                "Description": {
                  "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
                  "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection."
                }
              },
              {
                "#name": "excludeZones",
                "Description": {
                  "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
                  "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection."
                }
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines
{
api-version: string ,
subscriptionId: string ,
statusOnly: string ,
$filter: string ,
$expand: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
hardwareProfile:
{
vmSize: enum ,
vmSizeProperties:
{
vCPUsAvailable: integer ,
vCPUsPerCore: integer ,
}
,
}
,
scheduledEventsPolicy:
{
userInitiatedRedeploy:
{
automaticallyApprove: boolean ,
}
,
userInitiatedReboot:
{
automaticallyApprove: boolean ,
}
,
scheduledEventsAdditionalPublishingTargets:
{
eventGridAndResourceGraph:
{
enable: boolean ,
}
,
}
,
}
,
storageProfile:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
osDisk:
{
osType: enum ,
encryptionSettings:
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
diffDiskSettings:
{
option: enum ,
placement: enum ,
}
,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
deleteOption: enum ,
}
,
dataDisks:
[
{
lun: integer ,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
sourceResource:
{
id: string ,
}
,
toBeDetached: boolean ,
diskIOPSReadWrite: integer ,
diskMBpsReadWrite: integer ,
detachOption: enum ,
deleteOption: enum ,
}
,
]
,
diskControllerType: enum ,
alignRegionalDisksToVMZone: boolean ,
}
,
additionalCapabilities:
{
ultraSSDEnabled: boolean ,
hibernationEnabled: boolean ,
}
,
osProfile:
{
computerName: string ,
adminUsername: string ,
adminPassword: string ,
customData: string ,
windowsConfiguration:
{
provisionVMAgent: boolean ,
enableAutomaticUpdates: boolean ,
timeZone: string ,
additionalUnattendContent:
[
{
passName: enum ,
componentName: enum ,
settingName: enum ,
content: string ,
}
,
]
,
patchSettings:
{
patchMode: enum ,
enableHotpatching: boolean ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
winRM:
{
listeners:
[
{
protocol: enum ,
certificateUrl: string ,
}
,
]
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
linuxConfiguration:
{
disablePasswordAuthentication: boolean ,
ssh:
{
publicKeys:
[
{
path: string ,
keyData: string ,
}
,
]
,
}
,
provisionVMAgent: boolean ,
patchSettings:
{
patchMode: enum ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
secrets:
[
{
sourceVault:
{
id: string ,
}
,
vaultCertificates:
[
{
certificateUrl: string ,
certificateStore: string ,
}
,
]
,
}
,
]
,
allowExtensionOperations: boolean ,
requireGuestProvisionSignal: boolean ,
}
,
networkProfile:
{
networkInterfaces:
[
{
properties:
{
primary: boolean ,
deleteOption: enum ,
}
,
}
,
]
,
networkApiVersion: enum ,
networkInterfaceConfigurations:
[
{
name: string ,
properties:
{
primary: boolean ,
deleteOption: enum ,
enableAcceleratedNetworking: boolean ,
disableTcpStateTracking: boolean ,
enableFpga: boolean ,
enableIPForwarding: boolean ,
networkSecurityGroup:
{
id: string ,
}
,
dnsSettings:
{
dnsServers:
[
string ,
]
,
}
,
ipConfigurations:
[
{
name: string ,
properties:
{
subnet:
{
id: string ,
}
,
primary: boolean ,
publicIPAddressConfiguration:
{
name: string ,
properties:
{
idleTimeoutInMinutes: integer ,
deleteOption: enum ,
dnsSettings:
{
domainNameLabel: string ,
domainNameLabelScope: enum ,
}
,
ipTags:
[
{
ipTagType: string ,
tag: string ,
}
,
]
,
publicIPPrefix:
{
id: string ,
}
,
publicIPAddressVersion: enum ,
publicIPAllocationMethod: enum ,
}
,
sku:
{
name: enum ,
tier: enum ,
}
,
}
,
privateIPAddressVersion: enum ,
applicationSecurityGroups:
[
{
id: string ,
}
,
]
,
applicationGatewayBackendAddressPools:
[
{
id: string ,
}
,
]
,
loadBalancerBackendAddressPools:
[
{
id: string ,
}
,
]
,
}
,
}
,
]
,
dscpConfiguration:
{
id: string ,
}
,
auxiliaryMode: enum ,
auxiliarySku: enum ,
}
,
}
,
]
,
}
,
securityProfile:
{
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
encryptionAtHost: boolean ,
securityType: enum ,
encryptionIdentity:
{
userAssignedIdentityResourceId: string ,
}
,
proxyAgentSettings:
{
enabled: boolean ,
mode: enum ,
keyIncarnationId: integer ,
wireServer:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
imds:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
}
,
}
,
diagnosticsProfile:
{
bootDiagnostics:
{
enabled: boolean ,
storageUri: string ,
}
,
}
,
availabilitySet:
{
id: string ,
}
,
virtualMachineScaleSet:
{
id: string ,
}
,
proximityPlacementGroup:
{
id: string ,
}
,
priority: enum ,
evictionPolicy: enum ,
billingProfile:
{
maxPrice: number ,
}
,
host:
{
id: string ,
}
,
hostGroup:
{
id: string ,
}
,
provisioningState: string ,
instanceView:
{
platformUpdateDomain: integer ,
platformFaultDomain: integer ,
computerName: string ,
osName: string ,
osVersion: string ,
hyperVGeneration: enum ,
rdpThumbPrint: string ,
vmAgent:
{
vmAgentVersion: string ,
extensionHandlers:
[
{
type: string ,
typeHandlerVersion: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
maintenanceRedeployStatus:
{
isCustomerInitiatedMaintenanceAllowed: boolean ,
preMaintenanceWindowStartTime: string ,
preMaintenanceWindowEndTime: string ,
maintenanceWindowStartTime: string ,
maintenanceWindowEndTime: string ,
lastOperationResultCode: enum ,
lastOperationMessage: string ,
}
,
disks:
[
{
name: string ,
encryptionSettings:
[
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
extensions:
[
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
vmHealth:
{
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
bootDiagnostics:
{
consoleScreenshotBlobUri: string ,
serialConsoleLogBlobUri: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
assignedHost: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
patchStatus:
{
availablePatchSummary:
{
status: enum ,
assessmentActivityId: string ,
rebootPending: boolean ,
criticalAndSecurityPatchCount: integer ,
otherPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
lastPatchInstallationSummary:
{
status: enum ,
installationActivityId: string ,
maintenanceWindowExceeded: boolean ,
notSelectedPatchCount: integer ,
excludedPatchCount: integer ,
pendingPatchCount: integer ,
installedPatchCount: integer ,
failedPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
configurationStatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
isVMInStandbyPool: boolean ,
}
,
licenseType: string ,
vmId: string ,
extensionsTimeBudget: string ,
platformFaultDomain: integer ,
scheduledEventsProfile:
{
terminateNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
osImageNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
}
,
userData: string ,
capacityReservation:
{
capacityReservationGroup:
{
id: string ,
}
,
}
,
applicationProfile:
{
galleryApplications:
[
{
tags: string ,
order: integer ,
packageReferenceId: string ,
configurationReference: string ,
treatFailureAsDeploymentFailure: boolean ,
enableAutomaticUpgrade: boolean ,
}
,
]
,
}
,
timeCreated: string ,
}
,
plan:
{
name: string ,
publisher: string ,
product: string ,
promotionCode: string ,
}
,
resources:
[
{
properties:
{
forceUpdateTag: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: string ,
protectedSettings: string ,
provisioningState: string ,
instanceView:
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
suppressFailures: boolean ,
protectedSettingsFromKeyVault:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
provisionAfterExtensions:
[
string ,
]
,
}
,
}
,
]
,
identity:
{
principalId: string ,
tenantId: string ,
type: enum ,
userAssignedIdentities: object ,
}
,
zones:
[
string ,
]
,
extendedLocation:
{
name: string ,
type: enum ,
}
,
managedBy: string ,
etag: string ,
placement:
{
zonePlacementPolicy: enum ,
includeZones:
[
string ,
]
,
excludeZones:
[
string ,
]
,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
CapacityReservationGroups_ListByResourceGroup (updated)
Description Lists all of the capacity reservation groups in the specified resource group. Use the nextLink property in the response to get the next page of capacity reservation groups.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservationGroups_ListByResourceGroup",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "#name": "sharingProfile",
                "Description": {
                  "new": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants.  Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                  "old": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. Pls. keep in mind the capacity reservation group resource generally can be shared across subscriptions belonging to a single azure AAD tenant or cross AAD tenant if there is a trust relationship established between the AAD tenants. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                },
                "$properties": [
                  {
                    "#name": "subscriptionIds",
                    "Description": {
                      "new": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. Block Capacity Reservations does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                      "old": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                    }
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
$expand: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
capacityReservations:
[
{
id: string ,
}
,
]
,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
instanceView:
{
capacityReservations:
[
{
name: string ,
}
,
]
,
sharedSubscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
sharingProfile:
{
subscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
}
,
zones:
[
string ,
]
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
CapacityReservationGroups_Get (updated)
Description The operation that retrieves information about a capacity reservation group.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservationGroups_Get",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "sharingProfile",
            "Description": {
              "new": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants.  Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
              "old": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. Pls. keep in mind the capacity reservation group resource generally can be shared across subscriptions belonging to a single azure AAD tenant or cross AAD tenant if there is a trust relationship established between the AAD tenants. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
            },
            "$properties": [
              {
                "#name": "subscriptionIds",
                "Description": {
                  "new": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. Block Capacity Reservations does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                  "old": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
capacityReservationGroupName: string ,
$expand: string ,
}

⚐ Response (200)

{
properties:
{
capacityReservations:
[
{
id: string ,
}
,
]
,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
instanceView:
{
capacityReservations:
[
{
name: string ,
}
,
]
,
sharedSubscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
sharingProfile:
{
subscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
}
,
zones:
[
string ,
]
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
CapacityReservationGroups_CreateOrUpdate (updated)
Description The operation to create or update a capacity reservation group. When updating a capacity reservation group, only tags and sharing profile may be modified. Please refer to https://aka.ms/CapacityReservation for more details.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservationGroups_CreateOrUpdate",
  "$parameters": {
    "parameters": {
      "$properties": {
        "properties": [
          {
            "#name": "sharingProfile",
            "Description": {
              "new": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants.  Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
              "old": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. Pls. keep in mind the capacity reservation group resource generally can be shared across subscriptions belonging to a single azure AAD tenant or cross AAD tenant if there is a trust relationship established between the AAD tenants. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
            },
            "$properties": [
              {
                "#name": "subscriptionIds",
                "Description": {
                  "new": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. Block Capacity Reservations does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                  "old": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "sharingProfile",
            "Description": {
              "new": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants.  Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
              "old": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. Pls. keep in mind the capacity reservation group resource generally can be shared across subscriptions belonging to a single azure AAD tenant or cross AAD tenant if there is a trust relationship established between the AAD tenants. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
            },
            "$properties": [
              {
                "#name": "subscriptionIds",
                "Description": {
                  "new": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. Block Capacity Reservations does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                  "old": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                }
              }
            ]
          }
        ]
      }
    },
    "201": {
      "$properties": {
        "properties": [
          {
            "#name": "sharingProfile",
            "Description": {
              "new": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants.  Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
              "old": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. Pls. keep in mind the capacity reservation group resource generally can be shared across subscriptions belonging to a single azure AAD tenant or cross AAD tenant if there is a trust relationship established between the AAD tenants. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
            },
            "$properties": [
              {
                "#name": "subscriptionIds",
                "Description": {
                  "new": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. Block Capacity Reservations does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                  "old": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
capacityReservationGroupName: string ,
parameters:
{
properties:
{
capacityReservations:
[
{
id: string ,
}
,
]
,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
instanceView:
{
capacityReservations:
[
{
name: string ,
}
,
]
,
sharedSubscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
sharingProfile:
{
subscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
}
,
zones:
[
string ,
]
,
}
,
}

⚐ Response (200)

{
properties:
{
capacityReservations:
[
{
id: string ,
}
,
]
,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
instanceView:
{
capacityReservations:
[
{
name: string ,
}
,
]
,
sharedSubscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
sharingProfile:
{
subscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
}
,
zones:
[
string ,
]
,
}

⚐ Response (201)

{
properties:
{
capacityReservations:
[
{
id: string ,
}
,
]
,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
instanceView:
{
capacityReservations:
[
{
name: string ,
}
,
]
,
sharedSubscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
sharingProfile:
{
subscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
}
,
zones:
[
string ,
]
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
CapacityReservationGroups_Update (updated)
Description The operation to update a capacity reservation group. When updating a capacity reservation group, only tags and sharing profile may be modified.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservationGroups_Update",
  "$parameters": {
    "parameters": {
      "$properties": {
        "properties": [
          {
            "#name": "sharingProfile",
            "Description": {
              "new": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants.  Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
              "old": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. Pls. keep in mind the capacity reservation group resource generally can be shared across subscriptions belonging to a single azure AAD tenant or cross AAD tenant if there is a trust relationship established between the AAD tenants. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
            },
            "$properties": [
              {
                "#name": "subscriptionIds",
                "Description": {
                  "new": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. Block Capacity Reservations does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                  "old": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "sharingProfile",
            "Description": {
              "new": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants.  Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
              "old": "Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. Pls. keep in mind the capacity reservation group resource generally can be shared across subscriptions belonging to a single azure AAD tenant or cross AAD tenant if there is a trust relationship established between the AAD tenants. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
            },
            "$properties": [
              {
                "#name": "subscriptionIds",
                "Description": {
                  "new": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. Block Capacity Reservations does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.",
                  "old": "Specifies an array of subscription resource IDs that capacity reservation group is shared with. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
capacityReservationGroupName: string ,
parameters:
{
properties:
{
capacityReservations:
[
{
id: string ,
}
,
]
,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
instanceView:
{
capacityReservations:
[
{
name: string ,
}
,
]
,
sharedSubscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
sharingProfile:
{
subscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
capacityReservations:
[
{
id: string ,
}
,
]
,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
instanceView:
{
capacityReservations:
[
{
name: string ,
}
,
]
,
sharedSubscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
sharingProfile:
{
subscriptionIds:
[
{
id: string ,
}
,
]
,
}
,
}
,
zones:
[
string ,
]
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
CapacityReservations_ListByCapacityReservationGroup (updated)
Description Lists all of the capacity reservations in the specified capacity reservation group. Use the nextLink property in the response to get the next page of capacity reservations.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservations_ListByCapacityReservationGroup",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": [
            {
              "#name": "sku",
              "Description": {
                "new": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set.  For Block capacity reservations, sku.capacity can only accept values 1, 2, 4, 8, 16, 32, 64. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. When 'CapacityReservationSupported' is true, the SKU capability also specifies the 'SupportedCapacityReservationTypes', which lists the types of capacity reservations (such as Targeted or Block) that the SKU supports. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.",
                "old": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values."
              }
            }
          ]
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
capacityReservationGroupName: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
reservationId: string ,
platformFaultDomainCount: integer ,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
provisioningTime: string ,
provisioningState: string ,
instanceView:
{
utilizationInfo:
{
currentCapacity: integer ,
virtualMachinesAllocated:
[
{
id: string ,
}
,
]
,
}
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
timeCreated: string ,
}
,
sku:
{
name: string ,
tier: string ,
capacity: integer ,
}
,
zones:
[
string ,
]
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
CapacityReservations_Get (updated)
Description The operation that retrieves information about the capacity reservation.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservations_Get",
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "sku",
          "Description": {
            "new": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set.  For Block capacity reservations, sku.capacity can only accept values 1, 2, 4, 8, 16, 32, 64. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. When 'CapacityReservationSupported' is true, the SKU capability also specifies the 'SupportedCapacityReservationTypes', which lists the types of capacity reservations (such as Targeted or Block) that the SKU supports. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.",
            "old": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations/{capacityReservationName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
capacityReservationGroupName: string ,
capacityReservationName: string ,
$expand: string ,
}

⚐ Response (200)

{
properties:
{
reservationId: string ,
platformFaultDomainCount: integer ,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
provisioningTime: string ,
provisioningState: string ,
instanceView:
{
utilizationInfo:
{
currentCapacity: integer ,
virtualMachinesAllocated:
[
{
id: string ,
}
,
]
,
}
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
timeCreated: string ,
}
,
sku:
{
name: string ,
tier: string ,
capacity: integer ,
}
,
zones:
[
string ,
]
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
CapacityReservations_CreateOrUpdate (updated)
Description The operation to create or update a capacity reservation. Please note some properties can be set only during capacity reservation creation. Please refer to https://aka.ms/CapacityReservation for more details.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservations_CreateOrUpdate",
  "$parameters": {
    "parameters": {
      "$properties": [
        {
          "#name": "sku",
          "Description": {
            "new": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set.  For Block capacity reservations, sku.capacity can only accept values 1, 2, 4, 8, 16, 32, 64. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. When 'CapacityReservationSupported' is true, the SKU capability also specifies the 'SupportedCapacityReservationTypes', which lists the types of capacity reservations (such as Targeted or Block) that the SKU supports. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.",
            "old": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values."
          }
        }
      ]
    }
  },
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "sku",
          "Description": {
            "new": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set.  For Block capacity reservations, sku.capacity can only accept values 1, 2, 4, 8, 16, 32, 64. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. When 'CapacityReservationSupported' is true, the SKU capability also specifies the 'SupportedCapacityReservationTypes', which lists the types of capacity reservations (such as Targeted or Block) that the SKU supports. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.",
            "old": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values."
          }
        }
      ]
    },
    "201": {
      "$properties": [
        {
          "#name": "sku",
          "Description": {
            "new": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set.  For Block capacity reservations, sku.capacity can only accept values 1, 2, 4, 8, 16, 32, 64. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. When 'CapacityReservationSupported' is true, the SKU capability also specifies the 'SupportedCapacityReservationTypes', which lists the types of capacity reservations (such as Targeted or Block) that the SKU supports. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.",
            "old": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values."
          }
        }
      ]
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations/{capacityReservationName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
capacityReservationGroupName: string ,
capacityReservationName: string ,
parameters:
{
properties:
{
reservationId: string ,
platformFaultDomainCount: integer ,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
provisioningTime: string ,
provisioningState: string ,
instanceView:
{
utilizationInfo:
{
currentCapacity: integer ,
virtualMachinesAllocated:
[
{
id: string ,
}
,
]
,
}
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
timeCreated: string ,
}
,
sku:
{
name: string ,
tier: string ,
capacity: integer ,
}
,
zones:
[
string ,
]
,
}
,
}

⚐ Response (200)

{
properties:
{
reservationId: string ,
platformFaultDomainCount: integer ,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
provisioningTime: string ,
provisioningState: string ,
instanceView:
{
utilizationInfo:
{
currentCapacity: integer ,
virtualMachinesAllocated:
[
{
id: string ,
}
,
]
,
}
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
timeCreated: string ,
}
,
sku:
{
name: string ,
tier: string ,
capacity: integer ,
}
,
zones:
[
string ,
]
,
}

⚐ Response (201)

{
$headers:
{
location: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
reservationId: string ,
platformFaultDomainCount: integer ,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
provisioningTime: string ,
provisioningState: string ,
instanceView:
{
utilizationInfo:
{
currentCapacity: integer ,
virtualMachinesAllocated:
[
{
id: string ,
}
,
]
,
}
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
timeCreated: string ,
}
,
sku:
{
name: string ,
tier: string ,
capacity: integer ,
}
,
zones:
[
string ,
]
,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
CapacityReservations_Update (updated)
Description The operation to update a capacity reservation.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservations_Update",
  "$parameters": {
    "parameters": {
      "Description": {
        "new": "Specifies information about the capacity reservation. sku.capacity cannot be updated for Block Capacity Reservation. Tags can be update for all Capacity Reservation Types.",
        "old": "Specifies information about the capacity reservation. Only tags and sku.capacity can be updated."
      },
      "$properties": [
        {
          "#name": "sku",
          "Description": {
            "new": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. When 'CapacityReservationSupported' is true, the SKU capability also specifies the 'SupportedCapacityReservationTypes', which lists the types of capacity reservations (such as Targeted or Block) that the SKU supports. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. **Note:** The SKU name and capacity cannot be updated for Block capacity reservations.",
            "old": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values."
          }
        }
      ]
    }
  },
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "sku",
          "Description": {
            "new": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set.  For Block capacity reservations, sku.capacity can only accept values 1, 2, 4, 8, 16, 32, 64. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. When 'CapacityReservationSupported' is true, the SKU capability also specifies the 'SupportedCapacityReservationTypes', which lists the types of capacity reservations (such as Targeted or Block) that the SKU supports. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values.",
            "old": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values."
          }
        }
      ]
    }
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations/{capacityReservationName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
capacityReservationGroupName: string ,
capacityReservationName: string ,
parameters:
{
properties:
{
reservationId: string ,
platformFaultDomainCount: integer ,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
provisioningTime: string ,
provisioningState: string ,
instanceView:
{
utilizationInfo:
{
currentCapacity: integer ,
virtualMachinesAllocated:
[
{
id: string ,
}
,
]
,
}
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
timeCreated: string ,
}
,
sku:
{
name: string ,
tier: string ,
capacity: integer ,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
reservationId: string ,
platformFaultDomainCount: integer ,
virtualMachinesAssociated:
[
{
id: string ,
}
,
]
,
provisioningTime: string ,
provisioningState: string ,
instanceView:
{
utilizationInfo:
{
currentCapacity: integer ,
virtualMachinesAllocated:
[
{
id: string ,
}
,
]
,
}
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
timeCreated: string ,
}
,
sku:
{
name: string ,
tier: string ,
capacity: integer ,
}
,
zones:
[
string ,
]
,
}

⚐ Response (202)

{
location: string ,
retry-after: integer ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
CapacityReservations_Delete (updated)
Description The operation to delete a capacity reservation. This operation is allowed only when all the associated resources are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more details. Note: Block capacity reservations cannot be deleted after it has been successfully allocated until the schedule end time.
Reference Link ¶

⚶ Changes

{
  "#id": "CapacityReservations_Delete",
  "Description": {
    "new": "The operation to delete a capacity reservation. This operation is allowed only when all the associated resources are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more details. Note: Block capacity reservations cannot be deleted after it has been successfully allocated until the schedule end time.",
    "old": "The operation to delete a capacity reservation. This operation is allowed only when all the associated resources are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more details."
  }
}

⚼ Request

DELETE:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations/{capacityReservationName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
capacityReservationGroupName: string ,
capacityReservationName: string ,
}

⚐ Response (200)

{}

⚐ Response (202)

{
location: string ,
retry-after: integer ,
}

⚐ Response (204)

{}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineScaleSetVMs_RunCommand (updated)
Description Run command on a virtual machine in a VM scale set.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineScaleSetVMs_RunCommand",
  "$parameters": {
    "parameters": {
      "$properties": [
        {
          "#name": "commandId",
          "Description": {
            "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
            "old": "The run command id."
          }
        }
      ]
    }
  }
}

⚼ Request

POST:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommand
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmScaleSetName: string ,
instanceId: string ,
parameters:
{
commandId: string ,
script:
[
string ,
]
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}

⚐ Response (200)

{
value:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}

⚐ Response (202)

{
location: string ,
retry-after: integer ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineScaleSetVMRunCommands_List (updated)
Description The operation to get all run commands of an instance in Virtual Machine Scaleset.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineScaleSetVMRunCommands_List",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "source": [
                  {
                    "#name": "commandId",
                    "Description": {
                      "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                      "old": "Specifies a commandId of predefined built-in script."
                    }
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmScaleSetName: string ,
instanceId: string ,
$expand: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineScaleSetVMRunCommands_Get (updated)
Description The operation to get the VMSS VM run command.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineScaleSetVMRunCommands_Get",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands/{runCommandName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmScaleSetName: string ,
instanceId: string ,
runCommandName: string ,
$expand: string ,
}

⚐ Response (200)

{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineScaleSetVMRunCommands_CreateOrUpdate (updated)
Description The operation to create or update the VMSS VM run command.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineScaleSetVMRunCommands_CreateOrUpdate",
  "$parameters": {
    "runCommand": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    },
    "201": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands/{runCommandName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmScaleSetName: string ,
instanceId: string ,
runCommandName: string ,
runCommand:
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}

⚐ Response (201)

{
$headers:
{
location: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineScaleSetVMRunCommands_Update (updated)
Description The operation to update the VMSS VM run command.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineScaleSetVMRunCommands_Update",
  "$parameters": {
    "runCommand": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands/{runCommandName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmScaleSetName: string ,
instanceId: string ,
runCommandName: string ,
runCommand:
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
}

⚐ Response (200)

{
$headers:
{
location: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachines_List (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachines_List",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "placement": [
              {
                "#name": "zonePlacementPolicy",
                "Description": {
                  "new": "Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
                  "old": "Specifies the policy for virtual machine's placement in availability zone. Possible values are: **Any** - An availability zone will be automatically picked by system as part of virtual machine creation."
                }
              },
              {
                "#name": "includeZones",
                "Description": {
                  "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
                  "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection."
                }
              },
              {
                "#name": "excludeZones",
                "Description": {
                  "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
                  "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection."
                }
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
$filter: string ,
$expand: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
hardwareProfile:
{
vmSize: enum ,
vmSizeProperties:
{
vCPUsAvailable: integer ,
vCPUsPerCore: integer ,
}
,
}
,
scheduledEventsPolicy:
{
userInitiatedRedeploy:
{
automaticallyApprove: boolean ,
}
,
userInitiatedReboot:
{
automaticallyApprove: boolean ,
}
,
scheduledEventsAdditionalPublishingTargets:
{
eventGridAndResourceGraph:
{
enable: boolean ,
}
,
}
,
}
,
storageProfile:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
osDisk:
{
osType: enum ,
encryptionSettings:
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
diffDiskSettings:
{
option: enum ,
placement: enum ,
}
,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
deleteOption: enum ,
}
,
dataDisks:
[
{
lun: integer ,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
sourceResource:
{
id: string ,
}
,
toBeDetached: boolean ,
diskIOPSReadWrite: integer ,
diskMBpsReadWrite: integer ,
detachOption: enum ,
deleteOption: enum ,
}
,
]
,
diskControllerType: enum ,
alignRegionalDisksToVMZone: boolean ,
}
,
additionalCapabilities:
{
ultraSSDEnabled: boolean ,
hibernationEnabled: boolean ,
}
,
osProfile:
{
computerName: string ,
adminUsername: string ,
adminPassword: string ,
customData: string ,
windowsConfiguration:
{
provisionVMAgent: boolean ,
enableAutomaticUpdates: boolean ,
timeZone: string ,
additionalUnattendContent:
[
{
passName: enum ,
componentName: enum ,
settingName: enum ,
content: string ,
}
,
]
,
patchSettings:
{
patchMode: enum ,
enableHotpatching: boolean ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
winRM:
{
listeners:
[
{
protocol: enum ,
certificateUrl: string ,
}
,
]
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
linuxConfiguration:
{
disablePasswordAuthentication: boolean ,
ssh:
{
publicKeys:
[
{
path: string ,
keyData: string ,
}
,
]
,
}
,
provisionVMAgent: boolean ,
patchSettings:
{
patchMode: enum ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
secrets:
[
{
sourceVault:
{
id: string ,
}
,
vaultCertificates:
[
{
certificateUrl: string ,
certificateStore: string ,
}
,
]
,
}
,
]
,
allowExtensionOperations: boolean ,
requireGuestProvisionSignal: boolean ,
}
,
networkProfile:
{
networkInterfaces:
[
{
properties:
{
primary: boolean ,
deleteOption: enum ,
}
,
}
,
]
,
networkApiVersion: enum ,
networkInterfaceConfigurations:
[
{
name: string ,
properties:
{
primary: boolean ,
deleteOption: enum ,
enableAcceleratedNetworking: boolean ,
disableTcpStateTracking: boolean ,
enableFpga: boolean ,
enableIPForwarding: boolean ,
networkSecurityGroup:
{
id: string ,
}
,
dnsSettings:
{
dnsServers:
[
string ,
]
,
}
,
ipConfigurations:
[
{
name: string ,
properties:
{
subnet:
{
id: string ,
}
,
primary: boolean ,
publicIPAddressConfiguration:
{
name: string ,
properties:
{
idleTimeoutInMinutes: integer ,
deleteOption: enum ,
dnsSettings:
{
domainNameLabel: string ,
domainNameLabelScope: enum ,
}
,
ipTags:
[
{
ipTagType: string ,
tag: string ,
}
,
]
,
publicIPPrefix:
{
id: string ,
}
,
publicIPAddressVersion: enum ,
publicIPAllocationMethod: enum ,
}
,
sku:
{
name: enum ,
tier: enum ,
}
,
}
,
privateIPAddressVersion: enum ,
applicationSecurityGroups:
[
{
id: string ,
}
,
]
,
applicationGatewayBackendAddressPools:
[
{
id: string ,
}
,
]
,
loadBalancerBackendAddressPools:
[
{
id: string ,
}
,
]
,
}
,
}
,
]
,
dscpConfiguration:
{
id: string ,
}
,
auxiliaryMode: enum ,
auxiliarySku: enum ,
}
,
}
,
]
,
}
,
securityProfile:
{
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
encryptionAtHost: boolean ,
securityType: enum ,
encryptionIdentity:
{
userAssignedIdentityResourceId: string ,
}
,
proxyAgentSettings:
{
enabled: boolean ,
mode: enum ,
keyIncarnationId: integer ,
wireServer:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
imds:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
}
,
}
,
diagnosticsProfile:
{
bootDiagnostics:
{
enabled: boolean ,
storageUri: string ,
}
,
}
,
availabilitySet:
{
id: string ,
}
,
virtualMachineScaleSet:
{
id: string ,
}
,
proximityPlacementGroup:
{
id: string ,
}
,
priority: enum ,
evictionPolicy: enum ,
billingProfile:
{
maxPrice: number ,
}
,
host:
{
id: string ,
}
,
hostGroup:
{
id: string ,
}
,
provisioningState: string ,
instanceView:
{
platformUpdateDomain: integer ,
platformFaultDomain: integer ,
computerName: string ,
osName: string ,
osVersion: string ,
hyperVGeneration: enum ,
rdpThumbPrint: string ,
vmAgent:
{
vmAgentVersion: string ,
extensionHandlers:
[
{
type: string ,
typeHandlerVersion: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
maintenanceRedeployStatus:
{
isCustomerInitiatedMaintenanceAllowed: boolean ,
preMaintenanceWindowStartTime: string ,
preMaintenanceWindowEndTime: string ,
maintenanceWindowStartTime: string ,
maintenanceWindowEndTime: string ,
lastOperationResultCode: enum ,
lastOperationMessage: string ,
}
,
disks:
[
{
name: string ,
encryptionSettings:
[
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
extensions:
[
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
vmHealth:
{
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
bootDiagnostics:
{
consoleScreenshotBlobUri: string ,
serialConsoleLogBlobUri: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
assignedHost: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
patchStatus:
{
availablePatchSummary:
{
status: enum ,
assessmentActivityId: string ,
rebootPending: boolean ,
criticalAndSecurityPatchCount: integer ,
otherPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
lastPatchInstallationSummary:
{
status: enum ,
installationActivityId: string ,
maintenanceWindowExceeded: boolean ,
notSelectedPatchCount: integer ,
excludedPatchCount: integer ,
pendingPatchCount: integer ,
installedPatchCount: integer ,
failedPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
configurationStatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
isVMInStandbyPool: boolean ,
}
,
licenseType: string ,
vmId: string ,
extensionsTimeBudget: string ,
platformFaultDomain: integer ,
scheduledEventsProfile:
{
terminateNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
osImageNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
}
,
userData: string ,
capacityReservation:
{
capacityReservationGroup:
{
id: string ,
}
,
}
,
applicationProfile:
{
galleryApplications:
[
{
tags: string ,
order: integer ,
packageReferenceId: string ,
configurationReference: string ,
treatFailureAsDeploymentFailure: boolean ,
enableAutomaticUpgrade: boolean ,
}
,
]
,
}
,
timeCreated: string ,
}
,
plan:
{
name: string ,
publisher: string ,
product: string ,
promotionCode: string ,
}
,
resources:
[
{
properties:
{
forceUpdateTag: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: string ,
protectedSettings: string ,
provisioningState: string ,
instanceView:
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
suppressFailures: boolean ,
protectedSettingsFromKeyVault:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
provisionAfterExtensions:
[
string ,
]
,
}
,
}
,
]
,
identity:
{
principalId: string ,
tenantId: string ,
type: enum ,
userAssignedIdentities: object ,
}
,
zones:
[
string ,
]
,
extendedLocation:
{
name: string ,
type: enum ,
}
,
managedBy: string ,
etag: string ,
placement:
{
zonePlacementPolicy: enum ,
includeZones:
[
string ,
]
,
excludeZones:
[
string ,
]
,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachines_Get (updated)
Description Retrieves information about the model view or the instance view of a virtual machine.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachines_Get",
  "$responses": {
    "200": {
      "$properties": {
        "placement": [
          {
            "#name": "zonePlacementPolicy",
            "Description": {
              "new": "Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
              "old": "Specifies the policy for virtual machine's placement in availability zone. Possible values are: **Any** - An availability zone will be automatically picked by system as part of virtual machine creation."
            }
          },
          {
            "#name": "includeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection."
            }
          },
          {
            "#name": "excludeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection."
            }
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmName: string ,
$expand: string ,
}

⚐ Response (200)

{
properties:
{
hardwareProfile:
{
vmSize: enum ,
vmSizeProperties:
{
vCPUsAvailable: integer ,
vCPUsPerCore: integer ,
}
,
}
,
scheduledEventsPolicy:
{
userInitiatedRedeploy:
{
automaticallyApprove: boolean ,
}
,
userInitiatedReboot:
{
automaticallyApprove: boolean ,
}
,
scheduledEventsAdditionalPublishingTargets:
{
eventGridAndResourceGraph:
{
enable: boolean ,
}
,
}
,
}
,
storageProfile:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
osDisk:
{
osType: enum ,
encryptionSettings:
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
diffDiskSettings:
{
option: enum ,
placement: enum ,
}
,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
deleteOption: enum ,
}
,
dataDisks:
[
{
lun: integer ,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
sourceResource:
{
id: string ,
}
,
toBeDetached: boolean ,
diskIOPSReadWrite: integer ,
diskMBpsReadWrite: integer ,
detachOption: enum ,
deleteOption: enum ,
}
,
]
,
diskControllerType: enum ,
alignRegionalDisksToVMZone: boolean ,
}
,
additionalCapabilities:
{
ultraSSDEnabled: boolean ,
hibernationEnabled: boolean ,
}
,
osProfile:
{
computerName: string ,
adminUsername: string ,
adminPassword: string ,
customData: string ,
windowsConfiguration:
{
provisionVMAgent: boolean ,
enableAutomaticUpdates: boolean ,
timeZone: string ,
additionalUnattendContent:
[
{
passName: enum ,
componentName: enum ,
settingName: enum ,
content: string ,
}
,
]
,
patchSettings:
{
patchMode: enum ,
enableHotpatching: boolean ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
winRM:
{
listeners:
[
{
protocol: enum ,
certificateUrl: string ,
}
,
]
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
linuxConfiguration:
{
disablePasswordAuthentication: boolean ,
ssh:
{
publicKeys:
[
{
path: string ,
keyData: string ,
}
,
]
,
}
,
provisionVMAgent: boolean ,
patchSettings:
{
patchMode: enum ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
secrets:
[
{
sourceVault:
{
id: string ,
}
,
vaultCertificates:
[
{
certificateUrl: string ,
certificateStore: string ,
}
,
]
,
}
,
]
,
allowExtensionOperations: boolean ,
requireGuestProvisionSignal: boolean ,
}
,
networkProfile:
{
networkInterfaces:
[
{
properties:
{
primary: boolean ,
deleteOption: enum ,
}
,
}
,
]
,
networkApiVersion: enum ,
networkInterfaceConfigurations:
[
{
name: string ,
properties:
{
primary: boolean ,
deleteOption: enum ,
enableAcceleratedNetworking: boolean ,
disableTcpStateTracking: boolean ,
enableFpga: boolean ,
enableIPForwarding: boolean ,
networkSecurityGroup:
{
id: string ,
}
,
dnsSettings:
{
dnsServers:
[
string ,
]
,
}
,
ipConfigurations:
[
{
name: string ,
properties:
{
subnet:
{
id: string ,
}
,
primary: boolean ,
publicIPAddressConfiguration:
{
name: string ,
properties:
{
idleTimeoutInMinutes: integer ,
deleteOption: enum ,
dnsSettings:
{
domainNameLabel: string ,
domainNameLabelScope: enum ,
}
,
ipTags:
[
{
ipTagType: string ,
tag: string ,
}
,
]
,
publicIPPrefix:
{
id: string ,
}
,
publicIPAddressVersion: enum ,
publicIPAllocationMethod: enum ,
}
,
sku:
{
name: enum ,
tier: enum ,
}
,
}
,
privateIPAddressVersion: enum ,
applicationSecurityGroups:
[
{
id: string ,
}
,
]
,
applicationGatewayBackendAddressPools:
[
{
id: string ,
}
,
]
,
loadBalancerBackendAddressPools:
[
{
id: string ,
}
,
]
,
}
,
}
,
]
,
dscpConfiguration:
{
id: string ,
}
,
auxiliaryMode: enum ,
auxiliarySku: enum ,
}
,
}
,
]
,
}
,
securityProfile:
{
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
encryptionAtHost: boolean ,
securityType: enum ,
encryptionIdentity:
{
userAssignedIdentityResourceId: string ,
}
,
proxyAgentSettings:
{
enabled: boolean ,
mode: enum ,
keyIncarnationId: integer ,
wireServer:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
imds:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
}
,
}
,
diagnosticsProfile:
{
bootDiagnostics:
{
enabled: boolean ,
storageUri: string ,
}
,
}
,
availabilitySet:
{
id: string ,
}
,
virtualMachineScaleSet:
{
id: string ,
}
,
proximityPlacementGroup:
{
id: string ,
}
,
priority: enum ,
evictionPolicy: enum ,
billingProfile:
{
maxPrice: number ,
}
,
host:
{
id: string ,
}
,
hostGroup:
{
id: string ,
}
,
provisioningState: string ,
instanceView:
{
platformUpdateDomain: integer ,
platformFaultDomain: integer ,
computerName: string ,
osName: string ,
osVersion: string ,
hyperVGeneration: enum ,
rdpThumbPrint: string ,
vmAgent:
{
vmAgentVersion: string ,
extensionHandlers:
[
{
type: string ,
typeHandlerVersion: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
maintenanceRedeployStatus:
{
isCustomerInitiatedMaintenanceAllowed: boolean ,
preMaintenanceWindowStartTime: string ,
preMaintenanceWindowEndTime: string ,
maintenanceWindowStartTime: string ,
maintenanceWindowEndTime: string ,
lastOperationResultCode: enum ,
lastOperationMessage: string ,
}
,
disks:
[
{
name: string ,
encryptionSettings:
[
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
extensions:
[
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
vmHealth:
{
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
bootDiagnostics:
{
consoleScreenshotBlobUri: string ,
serialConsoleLogBlobUri: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
assignedHost: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
patchStatus:
{
availablePatchSummary:
{
status: enum ,
assessmentActivityId: string ,
rebootPending: boolean ,
criticalAndSecurityPatchCount: integer ,
otherPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
lastPatchInstallationSummary:
{
status: enum ,
installationActivityId: string ,
maintenanceWindowExceeded: boolean ,
notSelectedPatchCount: integer ,
excludedPatchCount: integer ,
pendingPatchCount: integer ,
installedPatchCount: integer ,
failedPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
configurationStatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
isVMInStandbyPool: boolean ,
}
,
licenseType: string ,
vmId: string ,
extensionsTimeBudget: string ,
platformFaultDomain: integer ,
scheduledEventsProfile:
{
terminateNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
osImageNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
}
,
userData: string ,
capacityReservation:
{
capacityReservationGroup:
{
id: string ,
}
,
}
,
applicationProfile:
{
galleryApplications:
[
{
tags: string ,
order: integer ,
packageReferenceId: string ,
configurationReference: string ,
treatFailureAsDeploymentFailure: boolean ,
enableAutomaticUpgrade: boolean ,
}
,
]
,
}
,
timeCreated: string ,
}
,
plan:
{
name: string ,
publisher: string ,
product: string ,
promotionCode: string ,
}
,
resources:
[
{
properties:
{
forceUpdateTag: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: string ,
protectedSettings: string ,
provisioningState: string ,
instanceView:
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
suppressFailures: boolean ,
protectedSettingsFromKeyVault:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
provisionAfterExtensions:
[
string ,
]
,
}
,
}
,
]
,
identity:
{
principalId: string ,
tenantId: string ,
type: enum ,
userAssignedIdentities: object ,
}
,
zones:
[
string ,
]
,
extendedLocation:
{
name: string ,
type: enum ,
}
,
managedBy: string ,
etag: string ,
placement:
{
zonePlacementPolicy: enum ,
includeZones:
[
string ,
]
,
excludeZones:
[
string ,
]
,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachines_CreateOrUpdate (updated)
Description The operation to create or update a virtual machine. Please note some properties can be set only during virtual machine creation.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachines_CreateOrUpdate",
  "$parameters": {
    "parameters": {
      "$properties": {
        "placement": [
          {
            "#name": "zonePlacementPolicy",
            "Description": {
              "new": "Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
              "old": "Specifies the policy for virtual machine's placement in availability zone. Possible values are: **Any** - An availability zone will be automatically picked by system as part of virtual machine creation."
            }
          },
          {
            "#name": "includeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection."
            }
          },
          {
            "#name": "excludeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection."
            }
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "placement": [
          {
            "#name": "zonePlacementPolicy",
            "Description": {
              "new": "Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
              "old": "Specifies the policy for virtual machine's placement in availability zone. Possible values are: **Any** - An availability zone will be automatically picked by system as part of virtual machine creation."
            }
          },
          {
            "#name": "includeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection."
            }
          },
          {
            "#name": "excludeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection."
            }
          }
        ]
      }
    },
    "201": {
      "$properties": {
        "placement": [
          {
            "#name": "zonePlacementPolicy",
            "Description": {
              "new": "Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
              "old": "Specifies the policy for virtual machine's placement in availability zone. Possible values are: **Any** - An availability zone will be automatically picked by system as part of virtual machine creation."
            }
          },
          {
            "#name": "includeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection."
            }
          },
          {
            "#name": "excludeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection."
            }
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmName: string ,
If-Match: string ,
If-None-Match: string ,
parameters:
{
properties:
{
hardwareProfile:
{
vmSize: enum ,
vmSizeProperties:
{
vCPUsAvailable: integer ,
vCPUsPerCore: integer ,
}
,
}
,
scheduledEventsPolicy:
{
userInitiatedRedeploy:
{
automaticallyApprove: boolean ,
}
,
userInitiatedReboot:
{
automaticallyApprove: boolean ,
}
,
scheduledEventsAdditionalPublishingTargets:
{
eventGridAndResourceGraph:
{
enable: boolean ,
}
,
}
,
}
,
storageProfile:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
osDisk:
{
osType: enum ,
encryptionSettings:
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
diffDiskSettings:
{
option: enum ,
placement: enum ,
}
,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
deleteOption: enum ,
}
,
dataDisks:
[
{
lun: integer ,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
sourceResource:
{
id: string ,
}
,
toBeDetached: boolean ,
diskIOPSReadWrite: integer ,
diskMBpsReadWrite: integer ,
detachOption: enum ,
deleteOption: enum ,
}
,
]
,
diskControllerType: enum ,
alignRegionalDisksToVMZone: boolean ,
}
,
additionalCapabilities:
{
ultraSSDEnabled: boolean ,
hibernationEnabled: boolean ,
}
,
osProfile:
{
computerName: string ,
adminUsername: string ,
adminPassword: string ,
customData: string ,
windowsConfiguration:
{
provisionVMAgent: boolean ,
enableAutomaticUpdates: boolean ,
timeZone: string ,
additionalUnattendContent:
[
{
passName: enum ,
componentName: enum ,
settingName: enum ,
content: string ,
}
,
]
,
patchSettings:
{
patchMode: enum ,
enableHotpatching: boolean ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
winRM:
{
listeners:
[
{
protocol: enum ,
certificateUrl: string ,
}
,
]
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
linuxConfiguration:
{
disablePasswordAuthentication: boolean ,
ssh:
{
publicKeys:
[
{
path: string ,
keyData: string ,
}
,
]
,
}
,
provisionVMAgent: boolean ,
patchSettings:
{
patchMode: enum ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
secrets:
[
{
sourceVault:
{
id: string ,
}
,
vaultCertificates:
[
{
certificateUrl: string ,
certificateStore: string ,
}
,
]
,
}
,
]
,
allowExtensionOperations: boolean ,
requireGuestProvisionSignal: boolean ,
}
,
networkProfile:
{
networkInterfaces:
[
{
properties:
{
primary: boolean ,
deleteOption: enum ,
}
,
}
,
]
,
networkApiVersion: enum ,
networkInterfaceConfigurations:
[
{
name: string ,
properties:
{
primary: boolean ,
deleteOption: enum ,
enableAcceleratedNetworking: boolean ,
disableTcpStateTracking: boolean ,
enableFpga: boolean ,
enableIPForwarding: boolean ,
networkSecurityGroup:
{
id: string ,
}
,
dnsSettings:
{
dnsServers:
[
string ,
]
,
}
,
ipConfigurations:
[
{
name: string ,
properties:
{
subnet:
{
id: string ,
}
,
primary: boolean ,
publicIPAddressConfiguration:
{
name: string ,
properties:
{
idleTimeoutInMinutes: integer ,
deleteOption: enum ,
dnsSettings:
{
domainNameLabel: string ,
domainNameLabelScope: enum ,
}
,
ipTags:
[
{
ipTagType: string ,
tag: string ,
}
,
]
,
publicIPPrefix:
{
id: string ,
}
,
publicIPAddressVersion: enum ,
publicIPAllocationMethod: enum ,
}
,
sku:
{
name: enum ,
tier: enum ,
}
,
}
,
privateIPAddressVersion: enum ,
applicationSecurityGroups:
[
{
id: string ,
}
,
]
,
applicationGatewayBackendAddressPools:
[
{
id: string ,
}
,
]
,
loadBalancerBackendAddressPools:
[
{
id: string ,
}
,
]
,
}
,
}
,
]
,
dscpConfiguration:
{
id: string ,
}
,
auxiliaryMode: enum ,
auxiliarySku: enum ,
}
,
}
,
]
,
}
,
securityProfile:
{
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
encryptionAtHost: boolean ,
securityType: enum ,
encryptionIdentity:
{
userAssignedIdentityResourceId: string ,
}
,
proxyAgentSettings:
{
enabled: boolean ,
mode: enum ,
keyIncarnationId: integer ,
wireServer:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
imds:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
}
,
}
,
diagnosticsProfile:
{
bootDiagnostics:
{
enabled: boolean ,
storageUri: string ,
}
,
}
,
availabilitySet:
{
id: string ,
}
,
virtualMachineScaleSet:
{
id: string ,
}
,
proximityPlacementGroup:
{
id: string ,
}
,
priority: enum ,
evictionPolicy: enum ,
billingProfile:
{
maxPrice: number ,
}
,
host:
{
id: string ,
}
,
hostGroup:
{
id: string ,
}
,
provisioningState: string ,
instanceView:
{
platformUpdateDomain: integer ,
platformFaultDomain: integer ,
computerName: string ,
osName: string ,
osVersion: string ,
hyperVGeneration: enum ,
rdpThumbPrint: string ,
vmAgent:
{
vmAgentVersion: string ,
extensionHandlers:
[
{
type: string ,
typeHandlerVersion: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
maintenanceRedeployStatus:
{
isCustomerInitiatedMaintenanceAllowed: boolean ,
preMaintenanceWindowStartTime: string ,
preMaintenanceWindowEndTime: string ,
maintenanceWindowStartTime: string ,
maintenanceWindowEndTime: string ,
lastOperationResultCode: enum ,
lastOperationMessage: string ,
}
,
disks:
[
{
name: string ,
encryptionSettings:
[
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
extensions:
[
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
vmHealth:
{
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
bootDiagnostics:
{
consoleScreenshotBlobUri: string ,
serialConsoleLogBlobUri: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
assignedHost: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
patchStatus:
{
availablePatchSummary:
{
status: enum ,
assessmentActivityId: string ,
rebootPending: boolean ,
criticalAndSecurityPatchCount: integer ,
otherPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
lastPatchInstallationSummary:
{
status: enum ,
installationActivityId: string ,
maintenanceWindowExceeded: boolean ,
notSelectedPatchCount: integer ,
excludedPatchCount: integer ,
pendingPatchCount: integer ,
installedPatchCount: integer ,
failedPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
configurationStatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
isVMInStandbyPool: boolean ,
}
,
licenseType: string ,
vmId: string ,
extensionsTimeBudget: string ,
platformFaultDomain: integer ,
scheduledEventsProfile:
{
terminateNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
osImageNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
}
,
userData: string ,
capacityReservation:
{
capacityReservationGroup:
{
id: string ,
}
,
}
,
applicationProfile:
{
galleryApplications:
[
{
tags: string ,
order: integer ,
packageReferenceId: string ,
configurationReference: string ,
treatFailureAsDeploymentFailure: boolean ,
enableAutomaticUpgrade: boolean ,
}
,
]
,
}
,
timeCreated: string ,
}
,
plan:
{
name: string ,
publisher: string ,
product: string ,
promotionCode: string ,
}
,
resources:
[
{
properties:
{
forceUpdateTag: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: string ,
protectedSettings: string ,
provisioningState: string ,
instanceView:
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
suppressFailures: boolean ,
protectedSettingsFromKeyVault:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
provisionAfterExtensions:
[
string ,
]
,
}
,
}
,
]
,
identity:
{
principalId: string ,
tenantId: string ,
type: enum ,
userAssignedIdentities: object ,
}
,
zones:
[
string ,
]
,
extendedLocation:
{
name: string ,
type: enum ,
}
,
managedBy: string ,
etag: string ,
placement:
{
zonePlacementPolicy: enum ,
includeZones:
[
string ,
]
,
excludeZones:
[
string ,
]
,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
hardwareProfile:
{
vmSize: enum ,
vmSizeProperties:
{
vCPUsAvailable: integer ,
vCPUsPerCore: integer ,
}
,
}
,
scheduledEventsPolicy:
{
userInitiatedRedeploy:
{
automaticallyApprove: boolean ,
}
,
userInitiatedReboot:
{
automaticallyApprove: boolean ,
}
,
scheduledEventsAdditionalPublishingTargets:
{
eventGridAndResourceGraph:
{
enable: boolean ,
}
,
}
,
}
,
storageProfile:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
osDisk:
{
osType: enum ,
encryptionSettings:
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
diffDiskSettings:
{
option: enum ,
placement: enum ,
}
,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
deleteOption: enum ,
}
,
dataDisks:
[
{
lun: integer ,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
sourceResource:
{
id: string ,
}
,
toBeDetached: boolean ,
diskIOPSReadWrite: integer ,
diskMBpsReadWrite: integer ,
detachOption: enum ,
deleteOption: enum ,
}
,
]
,
diskControllerType: enum ,
alignRegionalDisksToVMZone: boolean ,
}
,
additionalCapabilities:
{
ultraSSDEnabled: boolean ,
hibernationEnabled: boolean ,
}
,
osProfile:
{
computerName: string ,
adminUsername: string ,
adminPassword: string ,
customData: string ,
windowsConfiguration:
{
provisionVMAgent: boolean ,
enableAutomaticUpdates: boolean ,
timeZone: string ,
additionalUnattendContent:
[
{
passName: enum ,
componentName: enum ,
settingName: enum ,
content: string ,
}
,
]
,
patchSettings:
{
patchMode: enum ,
enableHotpatching: boolean ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
winRM:
{
listeners:
[
{
protocol: enum ,
certificateUrl: string ,
}
,
]
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
linuxConfiguration:
{
disablePasswordAuthentication: boolean ,
ssh:
{
publicKeys:
[
{
path: string ,
keyData: string ,
}
,
]
,
}
,
provisionVMAgent: boolean ,
patchSettings:
{
patchMode: enum ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
secrets:
[
{
sourceVault:
{
id: string ,
}
,
vaultCertificates:
[
{
certificateUrl: string ,
certificateStore: string ,
}
,
]
,
}
,
]
,
allowExtensionOperations: boolean ,
requireGuestProvisionSignal: boolean ,
}
,
networkProfile:
{
networkInterfaces:
[
{
properties:
{
primary: boolean ,
deleteOption: enum ,
}
,
}
,
]
,
networkApiVersion: enum ,
networkInterfaceConfigurations:
[
{
name: string ,
properties:
{
primary: boolean ,
deleteOption: enum ,
enableAcceleratedNetworking: boolean ,
disableTcpStateTracking: boolean ,
enableFpga: boolean ,
enableIPForwarding: boolean ,
networkSecurityGroup:
{
id: string ,
}
,
dnsSettings:
{
dnsServers:
[
string ,
]
,
}
,
ipConfigurations:
[
{
name: string ,
properties:
{
subnet:
{
id: string ,
}
,
primary: boolean ,
publicIPAddressConfiguration:
{
name: string ,
properties:
{
idleTimeoutInMinutes: integer ,
deleteOption: enum ,
dnsSettings:
{
domainNameLabel: string ,
domainNameLabelScope: enum ,
}
,
ipTags:
[
{
ipTagType: string ,
tag: string ,
}
,
]
,
publicIPPrefix:
{
id: string ,
}
,
publicIPAddressVersion: enum ,
publicIPAllocationMethod: enum ,
}
,
sku:
{
name: enum ,
tier: enum ,
}
,
}
,
privateIPAddressVersion: enum ,
applicationSecurityGroups:
[
{
id: string ,
}
,
]
,
applicationGatewayBackendAddressPools:
[
{
id: string ,
}
,
]
,
loadBalancerBackendAddressPools:
[
{
id: string ,
}
,
]
,
}
,
}
,
]
,
dscpConfiguration:
{
id: string ,
}
,
auxiliaryMode: enum ,
auxiliarySku: enum ,
}
,
}
,
]
,
}
,
securityProfile:
{
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
encryptionAtHost: boolean ,
securityType: enum ,
encryptionIdentity:
{
userAssignedIdentityResourceId: string ,
}
,
proxyAgentSettings:
{
enabled: boolean ,
mode: enum ,
keyIncarnationId: integer ,
wireServer:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
imds:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
}
,
}
,
diagnosticsProfile:
{
bootDiagnostics:
{
enabled: boolean ,
storageUri: string ,
}
,
}
,
availabilitySet:
{
id: string ,
}
,
virtualMachineScaleSet:
{
id: string ,
}
,
proximityPlacementGroup:
{
id: string ,
}
,
priority: enum ,
evictionPolicy: enum ,
billingProfile:
{
maxPrice: number ,
}
,
host:
{
id: string ,
}
,
hostGroup:
{
id: string ,
}
,
provisioningState: string ,
instanceView:
{
platformUpdateDomain: integer ,
platformFaultDomain: integer ,
computerName: string ,
osName: string ,
osVersion: string ,
hyperVGeneration: enum ,
rdpThumbPrint: string ,
vmAgent:
{
vmAgentVersion: string ,
extensionHandlers:
[
{
type: string ,
typeHandlerVersion: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
maintenanceRedeployStatus:
{
isCustomerInitiatedMaintenanceAllowed: boolean ,
preMaintenanceWindowStartTime: string ,
preMaintenanceWindowEndTime: string ,
maintenanceWindowStartTime: string ,
maintenanceWindowEndTime: string ,
lastOperationResultCode: enum ,
lastOperationMessage: string ,
}
,
disks:
[
{
name: string ,
encryptionSettings:
[
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
extensions:
[
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
vmHealth:
{
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
bootDiagnostics:
{
consoleScreenshotBlobUri: string ,
serialConsoleLogBlobUri: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
assignedHost: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
patchStatus:
{
availablePatchSummary:
{
status: enum ,
assessmentActivityId: string ,
rebootPending: boolean ,
criticalAndSecurityPatchCount: integer ,
otherPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
lastPatchInstallationSummary:
{
status: enum ,
installationActivityId: string ,
maintenanceWindowExceeded: boolean ,
notSelectedPatchCount: integer ,
excludedPatchCount: integer ,
pendingPatchCount: integer ,
installedPatchCount: integer ,
failedPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
configurationStatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
isVMInStandbyPool: boolean ,
}
,
licenseType: string ,
vmId: string ,
extensionsTimeBudget: string ,
platformFaultDomain: integer ,
scheduledEventsProfile:
{
terminateNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
osImageNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
}
,
userData: string ,
capacityReservation:
{
capacityReservationGroup:
{
id: string ,
}
,
}
,
applicationProfile:
{
galleryApplications:
[
{
tags: string ,
order: integer ,
packageReferenceId: string ,
configurationReference: string ,
treatFailureAsDeploymentFailure: boolean ,
enableAutomaticUpgrade: boolean ,
}
,
]
,
}
,
timeCreated: string ,
}
,
plan:
{
name: string ,
publisher: string ,
product: string ,
promotionCode: string ,
}
,
resources:
[
{
properties:
{
forceUpdateTag: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: string ,
protectedSettings: string ,
provisioningState: string ,
instanceView:
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
suppressFailures: boolean ,
protectedSettingsFromKeyVault:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
provisionAfterExtensions:
[
string ,
]
,
}
,
}
,
]
,
identity:
{
principalId: string ,
tenantId: string ,
type: enum ,
userAssignedIdentities: object ,
}
,
zones:
[
string ,
]
,
extendedLocation:
{
name: string ,
type: enum ,
}
,
managedBy: string ,
etag: string ,
placement:
{
zonePlacementPolicy: enum ,
includeZones:
[
string ,
]
,
excludeZones:
[
string ,
]
,
}
,
}

⚐ Response (201)

{
$headers:
{
location: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
hardwareProfile:
{
vmSize: enum ,
vmSizeProperties:
{
vCPUsAvailable: integer ,
vCPUsPerCore: integer ,
}
,
}
,
scheduledEventsPolicy:
{
userInitiatedRedeploy:
{
automaticallyApprove: boolean ,
}
,
userInitiatedReboot:
{
automaticallyApprove: boolean ,
}
,
scheduledEventsAdditionalPublishingTargets:
{
eventGridAndResourceGraph:
{
enable: boolean ,
}
,
}
,
}
,
storageProfile:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
osDisk:
{
osType: enum ,
encryptionSettings:
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
diffDiskSettings:
{
option: enum ,
placement: enum ,
}
,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
deleteOption: enum ,
}
,
dataDisks:
[
{
lun: integer ,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
sourceResource:
{
id: string ,
}
,
toBeDetached: boolean ,
diskIOPSReadWrite: integer ,
diskMBpsReadWrite: integer ,
detachOption: enum ,
deleteOption: enum ,
}
,
]
,
diskControllerType: enum ,
alignRegionalDisksToVMZone: boolean ,
}
,
additionalCapabilities:
{
ultraSSDEnabled: boolean ,
hibernationEnabled: boolean ,
}
,
osProfile:
{
computerName: string ,
adminUsername: string ,
adminPassword: string ,
customData: string ,
windowsConfiguration:
{
provisionVMAgent: boolean ,
enableAutomaticUpdates: boolean ,
timeZone: string ,
additionalUnattendContent:
[
{
passName: enum ,
componentName: enum ,
settingName: enum ,
content: string ,
}
,
]
,
patchSettings:
{
patchMode: enum ,
enableHotpatching: boolean ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
winRM:
{
listeners:
[
{
protocol: enum ,
certificateUrl: string ,
}
,
]
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
linuxConfiguration:
{
disablePasswordAuthentication: boolean ,
ssh:
{
publicKeys:
[
{
path: string ,
keyData: string ,
}
,
]
,
}
,
provisionVMAgent: boolean ,
patchSettings:
{
patchMode: enum ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
secrets:
[
{
sourceVault:
{
id: string ,
}
,
vaultCertificates:
[
{
certificateUrl: string ,
certificateStore: string ,
}
,
]
,
}
,
]
,
allowExtensionOperations: boolean ,
requireGuestProvisionSignal: boolean ,
}
,
networkProfile:
{
networkInterfaces:
[
{
properties:
{
primary: boolean ,
deleteOption: enum ,
}
,
}
,
]
,
networkApiVersion: enum ,
networkInterfaceConfigurations:
[
{
name: string ,
properties:
{
primary: boolean ,
deleteOption: enum ,
enableAcceleratedNetworking: boolean ,
disableTcpStateTracking: boolean ,
enableFpga: boolean ,
enableIPForwarding: boolean ,
networkSecurityGroup:
{
id: string ,
}
,
dnsSettings:
{
dnsServers:
[
string ,
]
,
}
,
ipConfigurations:
[
{
name: string ,
properties:
{
subnet:
{
id: string ,
}
,
primary: boolean ,
publicIPAddressConfiguration:
{
name: string ,
properties:
{
idleTimeoutInMinutes: integer ,
deleteOption: enum ,
dnsSettings:
{
domainNameLabel: string ,
domainNameLabelScope: enum ,
}
,
ipTags:
[
{
ipTagType: string ,
tag: string ,
}
,
]
,
publicIPPrefix:
{
id: string ,
}
,
publicIPAddressVersion: enum ,
publicIPAllocationMethod: enum ,
}
,
sku:
{
name: enum ,
tier: enum ,
}
,
}
,
privateIPAddressVersion: enum ,
applicationSecurityGroups:
[
{
id: string ,
}
,
]
,
applicationGatewayBackendAddressPools:
[
{
id: string ,
}
,
]
,
loadBalancerBackendAddressPools:
[
{
id: string ,
}
,
]
,
}
,
}
,
]
,
dscpConfiguration:
{
id: string ,
}
,
auxiliaryMode: enum ,
auxiliarySku: enum ,
}
,
}
,
]
,
}
,
securityProfile:
{
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
encryptionAtHost: boolean ,
securityType: enum ,
encryptionIdentity:
{
userAssignedIdentityResourceId: string ,
}
,
proxyAgentSettings:
{
enabled: boolean ,
mode: enum ,
keyIncarnationId: integer ,
wireServer:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
imds:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
}
,
}
,
diagnosticsProfile:
{
bootDiagnostics:
{
enabled: boolean ,
storageUri: string ,
}
,
}
,
availabilitySet:
{
id: string ,
}
,
virtualMachineScaleSet:
{
id: string ,
}
,
proximityPlacementGroup:
{
id: string ,
}
,
priority: enum ,
evictionPolicy: enum ,
billingProfile:
{
maxPrice: number ,
}
,
host:
{
id: string ,
}
,
hostGroup:
{
id: string ,
}
,
provisioningState: string ,
instanceView:
{
platformUpdateDomain: integer ,
platformFaultDomain: integer ,
computerName: string ,
osName: string ,
osVersion: string ,
hyperVGeneration: enum ,
rdpThumbPrint: string ,
vmAgent:
{
vmAgentVersion: string ,
extensionHandlers:
[
{
type: string ,
typeHandlerVersion: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
maintenanceRedeployStatus:
{
isCustomerInitiatedMaintenanceAllowed: boolean ,
preMaintenanceWindowStartTime: string ,
preMaintenanceWindowEndTime: string ,
maintenanceWindowStartTime: string ,
maintenanceWindowEndTime: string ,
lastOperationResultCode: enum ,
lastOperationMessage: string ,
}
,
disks:
[
{
name: string ,
encryptionSettings:
[
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
extensions:
[
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
vmHealth:
{
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
bootDiagnostics:
{
consoleScreenshotBlobUri: string ,
serialConsoleLogBlobUri: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
assignedHost: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
patchStatus:
{
availablePatchSummary:
{
status: enum ,
assessmentActivityId: string ,
rebootPending: boolean ,
criticalAndSecurityPatchCount: integer ,
otherPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
lastPatchInstallationSummary:
{
status: enum ,
installationActivityId: string ,
maintenanceWindowExceeded: boolean ,
notSelectedPatchCount: integer ,
excludedPatchCount: integer ,
pendingPatchCount: integer ,
installedPatchCount: integer ,
failedPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
configurationStatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
isVMInStandbyPool: boolean ,
}
,
licenseType: string ,
vmId: string ,
extensionsTimeBudget: string ,
platformFaultDomain: integer ,
scheduledEventsProfile:
{
terminateNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
osImageNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
}
,
userData: string ,
capacityReservation:
{
capacityReservationGroup:
{
id: string ,
}
,
}
,
applicationProfile:
{
galleryApplications:
[
{
tags: string ,
order: integer ,
packageReferenceId: string ,
configurationReference: string ,
treatFailureAsDeploymentFailure: boolean ,
enableAutomaticUpgrade: boolean ,
}
,
]
,
}
,
timeCreated: string ,
}
,
plan:
{
name: string ,
publisher: string ,
product: string ,
promotionCode: string ,
}
,
resources:
[
{
properties:
{
forceUpdateTag: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: string ,
protectedSettings: string ,
provisioningState: string ,
instanceView:
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
suppressFailures: boolean ,
protectedSettingsFromKeyVault:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
provisionAfterExtensions:
[
string ,
]
,
}
,
}
,
]
,
identity:
{
principalId: string ,
tenantId: string ,
type: enum ,
userAssignedIdentities: object ,
}
,
zones:
[
string ,
]
,
extendedLocation:
{
name: string ,
type: enum ,
}
,
managedBy: string ,
etag: string ,
placement:
{
zonePlacementPolicy: enum ,
includeZones:
[
string ,
]
,
excludeZones:
[
string ,
]
,
}
,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachines_Update (updated)
Description The operation to update a virtual machine.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachines_Update",
  "$responses": {
    "200": {
      "$properties": {
        "placement": [
          {
            "#name": "zonePlacementPolicy",
            "Description": {
              "new": "Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
              "old": "Specifies the policy for virtual machine's placement in availability zone. Possible values are: **Any** - An availability zone will be automatically picked by system as part of virtual machine creation."
            }
          },
          {
            "#name": "includeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection."
            }
          },
          {
            "#name": "excludeZones",
            "Description": {
              "new": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
              "old": "This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection."
            }
          }
        ]
      }
    }
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmName: string ,
If-Match: string ,
If-None-Match: string ,
parameters:
{
plan:
{
name: string ,
publisher: string ,
product: string ,
promotionCode: string ,
}
,
properties:
{
hardwareProfile:
{
vmSize: enum ,
vmSizeProperties:
{
vCPUsAvailable: integer ,
vCPUsPerCore: integer ,
}
,
}
,
scheduledEventsPolicy:
{
userInitiatedRedeploy:
{
automaticallyApprove: boolean ,
}
,
userInitiatedReboot:
{
automaticallyApprove: boolean ,
}
,
scheduledEventsAdditionalPublishingTargets:
{
eventGridAndResourceGraph:
{
enable: boolean ,
}
,
}
,
}
,
storageProfile:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
osDisk:
{
osType: enum ,
encryptionSettings:
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
diffDiskSettings:
{
option: enum ,
placement: enum ,
}
,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
deleteOption: enum ,
}
,
dataDisks:
[
{
lun: integer ,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
sourceResource:
{
id: string ,
}
,
toBeDetached: boolean ,
diskIOPSReadWrite: integer ,
diskMBpsReadWrite: integer ,
detachOption: enum ,
deleteOption: enum ,
}
,
]
,
diskControllerType: enum ,
alignRegionalDisksToVMZone: boolean ,
}
,
additionalCapabilities:
{
ultraSSDEnabled: boolean ,
hibernationEnabled: boolean ,
}
,
osProfile:
{
computerName: string ,
adminUsername: string ,
adminPassword: string ,
customData: string ,
windowsConfiguration:
{
provisionVMAgent: boolean ,
enableAutomaticUpdates: boolean ,
timeZone: string ,
additionalUnattendContent:
[
{
passName: enum ,
componentName: enum ,
settingName: enum ,
content: string ,
}
,
]
,
patchSettings:
{
patchMode: enum ,
enableHotpatching: boolean ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
winRM:
{
listeners:
[
{
protocol: enum ,
certificateUrl: string ,
}
,
]
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
linuxConfiguration:
{
disablePasswordAuthentication: boolean ,
ssh:
{
publicKeys:
[
{
path: string ,
keyData: string ,
}
,
]
,
}
,
provisionVMAgent: boolean ,
patchSettings:
{
patchMode: enum ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
secrets:
[
{
sourceVault:
{
id: string ,
}
,
vaultCertificates:
[
{
certificateUrl: string ,
certificateStore: string ,
}
,
]
,
}
,
]
,
allowExtensionOperations: boolean ,
requireGuestProvisionSignal: boolean ,
}
,
networkProfile:
{
networkInterfaces:
[
{
properties:
{
primary: boolean ,
deleteOption: enum ,
}
,
}
,
]
,
networkApiVersion: enum ,
networkInterfaceConfigurations:
[
{
name: string ,
properties:
{
primary: boolean ,
deleteOption: enum ,
enableAcceleratedNetworking: boolean ,
disableTcpStateTracking: boolean ,
enableFpga: boolean ,
enableIPForwarding: boolean ,
networkSecurityGroup:
{
id: string ,
}
,
dnsSettings:
{
dnsServers:
[
string ,
]
,
}
,
ipConfigurations:
[
{
name: string ,
properties:
{
subnet:
{
id: string ,
}
,
primary: boolean ,
publicIPAddressConfiguration:
{
name: string ,
properties:
{
idleTimeoutInMinutes: integer ,
deleteOption: enum ,
dnsSettings:
{
domainNameLabel: string ,
domainNameLabelScope: enum ,
}
,
ipTags:
[
{
ipTagType: string ,
tag: string ,
}
,
]
,
publicIPPrefix:
{
id: string ,
}
,
publicIPAddressVersion: enum ,
publicIPAllocationMethod: enum ,
}
,
sku:
{
name: enum ,
tier: enum ,
}
,
}
,
privateIPAddressVersion: enum ,
applicationSecurityGroups:
[
{
id: string ,
}
,
]
,
applicationGatewayBackendAddressPools:
[
{
id: string ,
}
,
]
,
loadBalancerBackendAddressPools:
[
{
id: string ,
}
,
]
,
}
,
}
,
]
,
dscpConfiguration:
{
id: string ,
}
,
auxiliaryMode: enum ,
auxiliarySku: enum ,
}
,
}
,
]
,
}
,
securityProfile:
{
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
encryptionAtHost: boolean ,
securityType: enum ,
encryptionIdentity:
{
userAssignedIdentityResourceId: string ,
}
,
proxyAgentSettings:
{
enabled: boolean ,
mode: enum ,
keyIncarnationId: integer ,
wireServer:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
imds:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
}
,
}
,
diagnosticsProfile:
{
bootDiagnostics:
{
enabled: boolean ,
storageUri: string ,
}
,
}
,
availabilitySet:
{
id: string ,
}
,
virtualMachineScaleSet:
{
id: string ,
}
,
proximityPlacementGroup:
{
id: string ,
}
,
priority: enum ,
evictionPolicy: enum ,
billingProfile:
{
maxPrice: number ,
}
,
host:
{
id: string ,
}
,
hostGroup:
{
id: string ,
}
,
provisioningState: string ,
instanceView:
{
platformUpdateDomain: integer ,
platformFaultDomain: integer ,
computerName: string ,
osName: string ,
osVersion: string ,
hyperVGeneration: enum ,
rdpThumbPrint: string ,
vmAgent:
{
vmAgentVersion: string ,
extensionHandlers:
[
{
type: string ,
typeHandlerVersion: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
maintenanceRedeployStatus:
{
isCustomerInitiatedMaintenanceAllowed: boolean ,
preMaintenanceWindowStartTime: string ,
preMaintenanceWindowEndTime: string ,
maintenanceWindowStartTime: string ,
maintenanceWindowEndTime: string ,
lastOperationResultCode: enum ,
lastOperationMessage: string ,
}
,
disks:
[
{
name: string ,
encryptionSettings:
[
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
extensions:
[
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
vmHealth:
{
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
bootDiagnostics:
{
consoleScreenshotBlobUri: string ,
serialConsoleLogBlobUri: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
assignedHost: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
patchStatus:
{
availablePatchSummary:
{
status: enum ,
assessmentActivityId: string ,
rebootPending: boolean ,
criticalAndSecurityPatchCount: integer ,
otherPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
lastPatchInstallationSummary:
{
status: enum ,
installationActivityId: string ,
maintenanceWindowExceeded: boolean ,
notSelectedPatchCount: integer ,
excludedPatchCount: integer ,
pendingPatchCount: integer ,
installedPatchCount: integer ,
failedPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
configurationStatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
isVMInStandbyPool: boolean ,
}
,
licenseType: string ,
vmId: string ,
extensionsTimeBudget: string ,
platformFaultDomain: integer ,
scheduledEventsProfile:
{
terminateNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
osImageNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
}
,
userData: string ,
capacityReservation:
{
capacityReservationGroup:
{
id: string ,
}
,
}
,
applicationProfile:
{
galleryApplications:
[
{
tags: string ,
order: integer ,
packageReferenceId: string ,
configurationReference: string ,
treatFailureAsDeploymentFailure: boolean ,
enableAutomaticUpgrade: boolean ,
}
,
]
,
}
,
timeCreated: string ,
}
,
identity:
{
principalId: string ,
tenantId: string ,
type: enum ,
userAssignedIdentities: object ,
}
,
zones:
[
string ,
]
,
}
,
}

⚐ Response (200)

{
$headers:
{
location: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
hardwareProfile:
{
vmSize: enum ,
vmSizeProperties:
{
vCPUsAvailable: integer ,
vCPUsPerCore: integer ,
}
,
}
,
scheduledEventsPolicy:
{
userInitiatedRedeploy:
{
automaticallyApprove: boolean ,
}
,
userInitiatedReboot:
{
automaticallyApprove: boolean ,
}
,
scheduledEventsAdditionalPublishingTargets:
{
eventGridAndResourceGraph:
{
enable: boolean ,
}
,
}
,
}
,
storageProfile:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
osDisk:
{
osType: enum ,
encryptionSettings:
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
diffDiskSettings:
{
option: enum ,
placement: enum ,
}
,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
deleteOption: enum ,
}
,
dataDisks:
[
{
lun: integer ,
name: string ,
vhd:
{
uri: string ,
}
,
image:
{
uri: string ,
}
,
caching: enum ,
writeAcceleratorEnabled: boolean ,
createOption: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
diskEncryptionSet: object ,
securityProfile:
{
securityEncryptionType: enum ,
diskEncryptionSet: object ,
}
,
}
,
sourceResource:
{
id: string ,
}
,
toBeDetached: boolean ,
diskIOPSReadWrite: integer ,
diskMBpsReadWrite: integer ,
detachOption: enum ,
deleteOption: enum ,
}
,
]
,
diskControllerType: enum ,
alignRegionalDisksToVMZone: boolean ,
}
,
additionalCapabilities:
{
ultraSSDEnabled: boolean ,
hibernationEnabled: boolean ,
}
,
osProfile:
{
computerName: string ,
adminUsername: string ,
adminPassword: string ,
customData: string ,
windowsConfiguration:
{
provisionVMAgent: boolean ,
enableAutomaticUpdates: boolean ,
timeZone: string ,
additionalUnattendContent:
[
{
passName: enum ,
componentName: enum ,
settingName: enum ,
content: string ,
}
,
]
,
patchSettings:
{
patchMode: enum ,
enableHotpatching: boolean ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
winRM:
{
listeners:
[
{
protocol: enum ,
certificateUrl: string ,
}
,
]
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
linuxConfiguration:
{
disablePasswordAuthentication: boolean ,
ssh:
{
publicKeys:
[
{
path: string ,
keyData: string ,
}
,
]
,
}
,
provisionVMAgent: boolean ,
patchSettings:
{
patchMode: enum ,
assessmentMode: enum ,
automaticByPlatformSettings:
{
rebootSetting: enum ,
bypassPlatformSafetyChecksOnUserSchedule: boolean ,
}
,
}
,
enableVMAgentPlatformUpdates: boolean ,
}
,
secrets:
[
{
sourceVault:
{
id: string ,
}
,
vaultCertificates:
[
{
certificateUrl: string ,
certificateStore: string ,
}
,
]
,
}
,
]
,
allowExtensionOperations: boolean ,
requireGuestProvisionSignal: boolean ,
}
,
networkProfile:
{
networkInterfaces:
[
{
properties:
{
primary: boolean ,
deleteOption: enum ,
}
,
}
,
]
,
networkApiVersion: enum ,
networkInterfaceConfigurations:
[
{
name: string ,
properties:
{
primary: boolean ,
deleteOption: enum ,
enableAcceleratedNetworking: boolean ,
disableTcpStateTracking: boolean ,
enableFpga: boolean ,
enableIPForwarding: boolean ,
networkSecurityGroup:
{
id: string ,
}
,
dnsSettings:
{
dnsServers:
[
string ,
]
,
}
,
ipConfigurations:
[
{
name: string ,
properties:
{
subnet:
{
id: string ,
}
,
primary: boolean ,
publicIPAddressConfiguration:
{
name: string ,
properties:
{
idleTimeoutInMinutes: integer ,
deleteOption: enum ,
dnsSettings:
{
domainNameLabel: string ,
domainNameLabelScope: enum ,
}
,
ipTags:
[
{
ipTagType: string ,
tag: string ,
}
,
]
,
publicIPPrefix:
{
id: string ,
}
,
publicIPAddressVersion: enum ,
publicIPAllocationMethod: enum ,
}
,
sku:
{
name: enum ,
tier: enum ,
}
,
}
,
privateIPAddressVersion: enum ,
applicationSecurityGroups:
[
{
id: string ,
}
,
]
,
applicationGatewayBackendAddressPools:
[
{
id: string ,
}
,
]
,
loadBalancerBackendAddressPools:
[
{
id: string ,
}
,
]
,
}
,
}
,
]
,
dscpConfiguration:
{
id: string ,
}
,
auxiliaryMode: enum ,
auxiliarySku: enum ,
}
,
}
,
]
,
}
,
securityProfile:
{
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
encryptionAtHost: boolean ,
securityType: enum ,
encryptionIdentity:
{
userAssignedIdentityResourceId: string ,
}
,
proxyAgentSettings:
{
enabled: boolean ,
mode: enum ,
keyIncarnationId: integer ,
wireServer:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
imds:
{
mode: enum ,
inVMAccessControlProfileReferenceId: string ,
}
,
}
,
}
,
diagnosticsProfile:
{
bootDiagnostics:
{
enabled: boolean ,
storageUri: string ,
}
,
}
,
availabilitySet:
{
id: string ,
}
,
virtualMachineScaleSet:
{
id: string ,
}
,
proximityPlacementGroup:
{
id: string ,
}
,
priority: enum ,
evictionPolicy: enum ,
billingProfile:
{
maxPrice: number ,
}
,
host:
{
id: string ,
}
,
hostGroup:
{
id: string ,
}
,
provisioningState: string ,
instanceView:
{
platformUpdateDomain: integer ,
platformFaultDomain: integer ,
computerName: string ,
osName: string ,
osVersion: string ,
hyperVGeneration: enum ,
rdpThumbPrint: string ,
vmAgent:
{
vmAgentVersion: string ,
extensionHandlers:
[
{
type: string ,
typeHandlerVersion: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
maintenanceRedeployStatus:
{
isCustomerInitiatedMaintenanceAllowed: boolean ,
preMaintenanceWindowStartTime: string ,
preMaintenanceWindowEndTime: string ,
maintenanceWindowStartTime: string ,
maintenanceWindowEndTime: string ,
lastOperationResultCode: enum ,
lastOperationMessage: string ,
}
,
disks:
[
{
name: string ,
encryptionSettings:
[
{
diskEncryptionKey:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
keyEncryptionKey:
{
keyUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
enabled: boolean ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
extensions:
[
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
]
,
vmHealth:
{
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
bootDiagnostics:
{
consoleScreenshotBlobUri: string ,
serialConsoleLogBlobUri: string ,
status:
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
}
,
assignedHost: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
patchStatus:
{
availablePatchSummary:
{
status: enum ,
assessmentActivityId: string ,
rebootPending: boolean ,
criticalAndSecurityPatchCount: integer ,
otherPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
lastPatchInstallationSummary:
{
status: enum ,
installationActivityId: string ,
maintenanceWindowExceeded: boolean ,
notSelectedPatchCount: integer ,
excludedPatchCount: integer ,
pendingPatchCount: integer ,
installedPatchCount: integer ,
failedPatchCount: integer ,
startTime: string ,
lastModifiedTime: string ,
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
,
configurationStatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
isVMInStandbyPool: boolean ,
}
,
licenseType: string ,
vmId: string ,
extensionsTimeBudget: string ,
platformFaultDomain: integer ,
scheduledEventsProfile:
{
terminateNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
osImageNotificationProfile:
{
notBeforeTimeout: string ,
enable: boolean ,
}
,
}
,
userData: string ,
capacityReservation:
{
capacityReservationGroup:
{
id: string ,
}
,
}
,
applicationProfile:
{
galleryApplications:
[
{
tags: string ,
order: integer ,
packageReferenceId: string ,
configurationReference: string ,
treatFailureAsDeploymentFailure: boolean ,
enableAutomaticUpgrade: boolean ,
}
,
]
,
}
,
timeCreated: string ,
}
,
plan:
{
name: string ,
publisher: string ,
product: string ,
promotionCode: string ,
}
,
resources:
[
{
properties:
{
forceUpdateTag: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: string ,
protectedSettings: string ,
provisioningState: string ,
instanceView:
{
name: string ,
type: string ,
typeHandlerVersion: string ,
substatuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
suppressFailures: boolean ,
protectedSettingsFromKeyVault:
{
secretUrl: string ,
sourceVault:
{
id: string ,
}
,
}
,
provisionAfterExtensions:
[
string ,
]
,
}
,
}
,
]
,
identity:
{
principalId: string ,
tenantId: string ,
type: enum ,
userAssignedIdentities: object ,
}
,
zones:
[
string ,
]
,
extendedLocation:
{
name: string ,
type: enum ,
}
,
managedBy: string ,
etag: string ,
placement:
{
zonePlacementPolicy: enum ,
includeZones:
[
string ,
]
,
excludeZones:
[
string ,
]
,
}
,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachines_RunCommand (updated)
Description Run command on the VM.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachines_RunCommand",
  "$parameters": {
    "parameters": {
      "$properties": [
        {
          "#name": "commandId",
          "Description": {
            "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
            "old": "The run command id."
          }
        }
      ]
    }
  }
}

⚼ Request

POST:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmName: string ,
parameters:
{
commandId: string ,
script:
[
string ,
]
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}

⚐ Response (200)

{
value:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}

⚐ Response (202)

{
location: string ,
retry-after: integer ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineRunCommands_ListByVirtualMachine (updated)
Description The operation to get all run commands of a Virtual Machine.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineRunCommands_ListByVirtualMachine",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "source": [
                  {
                    "#name": "commandId",
                    "Description": {
                      "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                      "old": "Specifies a commandId of predefined built-in script."
                    }
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmName: string ,
$expand: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineRunCommands_GetByVirtualMachine (updated)
Description The operation to get the run command.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineRunCommands_GetByVirtualMachine",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmName: string ,
runCommandName: string ,
$expand: string ,
}

⚐ Response (200)

{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineRunCommands_CreateOrUpdate (updated)
Description The operation to create or update the run command.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineRunCommands_CreateOrUpdate",
  "$parameters": {
    "runCommand": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    },
    "201": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmName: string ,
runCommandName: string ,
runCommand:
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}

⚐ Response (201)

{
$headers:
{
location: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}
VirtualMachineRunCommands_Update (updated)
Description The operation to update the run command.
Reference Link ¶

⚶ Changes

{
  "#id": "VirtualMachineRunCommands_Update",
  "$parameters": {
    "runCommand": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "source": [
              {
                "#name": "commandId",
                "Description": {
                  "new": "Specifies a commandId of predefined built-in script. Command IDs available for Linux are listed at https://aka.ms/RunCommandManagedLinux#available-commands, Windows at https://aka.ms/RunCommandManagedWindows#available-commands.",
                  "old": "Specifies a commandId of predefined built-in script."
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
vmName: string ,
runCommandName: string ,
runCommand:
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
}

⚐ Response (200)

{
$headers:
{
location: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
source:
{
script: string ,
scriptUri: string ,
commandId: string ,
scriptUriManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
}
,
parameters:
[
{
name: string ,
value: string ,
}
,
]
,
protectedParameters:
[
{
name: string ,
value: string ,
}
,
]
,
asyncExecution: boolean ,
runAsUser: string ,
runAsPassword: string ,
timeoutInSeconds: integer ,
outputBlobUri: string ,
errorBlobUri: string ,
outputBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
errorBlobManagedIdentity:
{
clientId: string ,
objectId: string ,
}
,
provisioningState: string ,
instanceView:
{
executionState: enum ,
executionMessage: string ,
exitCode: integer ,
output: string ,
error: string ,
startTime: string ,
endTime: string ,
statuses:
[
{
code: string ,
level: enum ,
displayStatus: string ,
message: string ,
time: string ,
}
,
]
,
}
,
treatFailureAsDeploymentFailure: boolean ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
details:
[
{
code: string ,
target: string ,
message: string ,
}
,
]
,
innererror:
{
exceptiontype: string ,
errordetail: string ,
}
,
code: string ,
target: string ,
message: string ,
}
,
}