diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
index 15e2c61fbb65..3cfe3a0f2475 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
@@ -782,6 +782,20 @@
"type": "string",
"description": "The name of the dedicated host group."
},
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. The response shows the list of instance view of the dedicated hosts under the dedicated host group.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -2855,6 +2869,9 @@
"x-ms-examples": {
"Get a Virtual Machine.": {
"$ref": "./examples/GetVirtualMachine.json"
+ },
+ "Get a virtual machine placed on a dedicated host group through automatic placement": {
+ "$ref": "./examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json"
}
}
}
@@ -2899,6 +2916,9 @@
"x-ms-examples": {
"Get Virtual Machine Instance View.": {
"$ref": "./examples/GetVirtualMachineInstanceView.json"
+ },
+ "Get instance view of a virtual machine placed on a dedicated host group through automatic placement.": {
+ "$ref": "./examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json"
}
}
}
@@ -3791,6 +3811,11 @@
"$ref": "#/definitions/VirtualMachineScaleSet"
}
}
+ },
+ "x-ms-examples": {
+ "Get a virtual machine scale set placed on a dedicated host group through automatic placement.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json"
+ }
}
}
},
@@ -5757,6 +5782,11 @@
"$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView"
}
}
+ },
+ "x-ms-examples": {
+ "Get instance view of a virtual machine from a VM scale set placed on a dedicated host group through automatic placement.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json"
+ }
}
}
},
@@ -6629,6 +6659,17 @@
],
"description": "The List Proximity Placement Group operation response."
},
+ "DedicatedHostGroupInstanceView": {
+ "properties": {
+ "hosts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHostInstanceViewWithName"
+ },
+ "description": "List of instance view of the dedicated hosts under the dedicated host group."
+ }
+ }
+ },
"DedicatedHostGroupProperties": {
"properties": {
"platformFaultDomainCount": {
@@ -6645,6 +6686,15 @@
},
"readOnly": true,
"description": "A list of references to all dedicated hosts in the dedicated host group."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/DedicatedHostGroupInstanceView",
+ "readOnly": true,
+ "description": "The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group."
+ },
+ "supportAutomaticPlacement": {
+ "type": "boolean",
+ "description": "Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'true' when not provided.
Minimum api-version: 2020-06-01."
}
},
"required": [
@@ -6773,6 +6823,21 @@
},
"description": "The instance view of a dedicated host."
},
+ "DedicatedHostInstanceViewWithName": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the dedicated host."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DedicatedHostInstanceView"
+ }
+ ],
+ "description": "The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group."
+ },
"DedicatedHostProperties": {
"properties": {
"platformFaultDomain": {
@@ -8597,6 +8662,11 @@
"$ref": "#/definitions/BootDiagnosticsInstanceView",
"description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
},
+ "assignedHost": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.
Minimum api-version: 2020-06-01."
+ },
"statuses": {
"type": "array",
"items": {
@@ -8665,6 +8735,10 @@
"$ref": "#/definitions/SubResource",
"description": "Specifies information about the dedicated host that the virtual machine resides in.
Minimum api-version: 2018-10-01."
},
+ "hostGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the dedicated host group that the virtual machine resides in.
Minimum api-version: 2020-06-01.
NOTE: User cannot specify both host and hostGroup properties."
+ },
"provisioningState": {
"readOnly": true,
"type": "string",
@@ -10060,6 +10134,10 @@
"$ref": "#/definitions/SubResource",
"description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
},
+ "hostGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the dedicated host group that the virtual machine scale set resides in.
Minimum api-version: 2020-06-01."
+ },
"additionalCapabilities": {
"$ref": "#/definitions/AdditionalCapabilities",
"description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
@@ -10756,6 +10834,11 @@
},
"description": "The resource status information."
},
+ "assignedHost": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.
Minimum api-version: 2020-06-01."
+ },
"placementGroupId": {
"type": "string",
"description": "The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json
index 3d4ec8a42903..7d6e5d145fd1 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json
@@ -2,7 +2,7 @@
"parameters": {
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
- "api-version": "2018-10-01",
+ "api-version": "2020-06-01",
"hostGroupName": "myDedicatedHostGroup",
"parameters": {
"location": "westus",
@@ -13,7 +13,8 @@
"1"
],
"properties": {
- "platformFaultDomainCount": 3
+ "platformFaultDomainCount": 3,
+ "supportAutomaticPlacement": true
}
}
},
@@ -31,7 +32,7 @@
],
"properties": {
"platformFaultDomainCount": 3,
- "hosts": []
+ "supportAutomaticPlacement": true
}
}
},
@@ -39,7 +40,7 @@
"body": {
"properties": {
"platformFaultDomainCount": 3,
- "hosts": []
+ "supportAutomaticPlacement": true
},
"location": "westus",
"tags": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json
index f383d65e8771..cdd201b86023 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json
@@ -2,8 +2,9 @@
"parameters": {
"subscriptionId": "{subscriptionId}",
"resourceGroupName": "myResourceGroup",
- "api-version": "2018-10-01",
- "hostGroupName": "myDedicatedHostGroup"
+ "api-version": "2020-06-01",
+ "hostGroupName": "myDedicatedHostGroup",
+ "expand": "instanceView"
},
"responses": {
"200": {
@@ -17,7 +18,60 @@
{
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/myDedicatedHostGroup/myHostGroup/Hosts/myHost2"
}
- ]
+ ],
+ "supportAutomaticPlacement": true,
+ "instanceView": {
+ "hosts": [
+ {
+ "name": "myHost1",
+ "assetId": "eb3f58b8-b4e8-4882-b69f-301a01812407",
+ "availableCapacity": {
+ "allocatableVMs": [
+ {
+ "vmSize": "Standard_A1",
+ "count": 10
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ },
+ {
+ "code": "HealthState/available",
+ "level": "Info",
+ "displayStatus": "Host available"
+ }
+ ]
+ },
+ {
+ "name": "myHost2",
+ "assetId": "f293d4ac-5eea-4be2-b0c0-0fcaa09aebf8",
+ "availableCapacity": {
+ "allocatableVMs": [
+ {
+ "vmSize": "Standard_A1",
+ "count": 10
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ },
+ {
+ "code": "HealthState/available",
+ "level": "Info",
+ "displayStatus": "Host available"
+ }
+ ]
+ }
+ ]
+ }
},
"location": "westus",
"tags": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..f8f243a0a90e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "vmId": "0f47b100-583c-48e3-a4c0-aefc2c9bbcc1",
+ "hostGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter",
+ "version": "latest"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "myOsDisk",
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myOsDisk"
+ },
+ "diskSizeGB": 30
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerName": "myVM",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": false
+ },
+ "secrets": []
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{myNIC}"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..753e36339bd3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "vmName": "myVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computerName": "myVM",
+ "osName": "Windows Server 2016 Datacenter",
+ "osVersion": "Microsoft Windows NT 10.0.14393.0",
+ "vmAgent": {
+ "vmAgentVersion": "2.7.41491.949",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Ready",
+ "message": "GuestAgent is running and accepting new configurations.",
+ "time": "2020-06-01T23:11:22+00:00"
+ }
+ ]
+ },
+ "disks": [
+ {
+ "name": "myOsDisk",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2020-06-01T21:29:47.477089+00:00"
+ }
+ ]
+ }
+ ],
+ "hyperVGeneration": "V1",
+ "assignedHost": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts/myHost",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2020-06-01T21:30:12.8051917+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..1e18a2445395
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVirtualMachineScaleSet",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVirtualMachineScaleSet",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "sku": {
+ "name": "Standard_D2s_v3",
+ "tier": "Standard",
+ "capacity": 4
+ },
+ "properties": {
+ "singlePlacementGroup": false,
+ "upgradePolicy": {
+ "mode": "Automatic",
+ "automaticOSUpgradePolicy": {
+ "enableAutomaticOSUpgrade": false
+ }
+ },
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "diskSizeGB": 30
+ },
+ "imageReference": {
+ "publisher": "azuredatabricks",
+ "offer": "databricks",
+ "sku": "databricksworker",
+ "version": "3.15.2"
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerNamePrefix": "myVirtualMachineScaleSet",
+ "adminUsername": "admin",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "myNic",
+ "properties": {
+ "primary": true,
+ "ipConfigurations": [
+ {
+ "name": "myIPConfig",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet"
+ }
+ }
+ }
+ ],
+ "networkSecurityGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "provisioningState": "succeeded",
+ "overprovision": false,
+ "doNotRunExtensionsOnOverprovisionedVMs": false,
+ "platformFaultDomainCount": 1,
+ "hostGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..bd6489768829
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "instanceId": "0",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "platformUpdateDomain": 0,
+ "platformFaultDomain": 0,
+ "rdpThumbPrint": null,
+ "vmAgent": {
+ "vmAgentVersion": "Unknown",
+ "statuses": [
+ {
+ "code": "ProvisioningState/Unavailable",
+ "level": "Warning",
+ "displayStatus": "Not Ready",
+ "message": "VM status blob is found but not yet populated.",
+ "time": "2020-06-01T05:00:32+00:00"
+ }
+ ],
+ "extensionHandlers": null
+ },
+ "disks": [
+ {
+ "name": "myOSDisk",
+ "encryptionSettings": null,
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": null,
+ "time": "2020-06-01T04:58:58.0882815+00:00"
+ }
+ ]
+ }
+ ],
+ "extensions": null,
+ "assignedHost": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts/myHost",
+ "bootDiagnostics": null,
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": null,
+ "time": "2020-06-05T04:59:58.1852966+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running",
+ "message": null,
+ "time": null
+ }
+ ]
+ }
+ }
+ }
+}