diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json index 67102ba29a32..14bd996ed3d1 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json @@ -337,6 +337,270 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups/{proximityPlacementGroupName}": { + "put": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_CreateOrUpdate", + "description": "Create or update a proximity placement group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "proximityPlacementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the proximity placement group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + }, + "description": "Parameters supplied to the Create Proximity Placement Group operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + } + } + }, + "x-ms-examples": { + "Create or Update a proximity placement group.": { + "$ref": "./examples/CreateOrUpdateAProximityPlacementGroup.json" + } + } + }, + "patch": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_Update", + "description": "Update a proximity placement group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "proximityPlacementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the proximity placement group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProximityPlacementGroupUpdate" + }, + "description": "Parameters supplied to the Update Proximity Placement Group operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + } + } + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/PatchAProximityPlacementGroup.json" + } + } + }, + "delete": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_Delete", + "description": "Delete a proximity placement group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "proximityPlacementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the proximity placement group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/DeleteAProximityPlacementGroup.json" + } + } + }, + "get": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_Get", + "description": "Retrieves information about a proximity placement group .", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "proximityPlacementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the proximity placement group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + } + } + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/GetAProximityPlacementGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/proximityPlacementGroups": { + "get": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_ListBySubscription", + "description": "Lists all proximity placement groups in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/ListProximityPlacementGroupsInASubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups": { + "get": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_ListByResourceGroup", + "description": "Lists all proximity placement groups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/ListProximityPlacementGroupsInAResourceGroup.json" + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}": { "get": { "tags": [ @@ -2983,7 +3247,7 @@ "in": "query", "required": false, "type": "boolean", - "default": false, + "default": false, "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified" }, { @@ -4047,7 +4311,7 @@ "in": "query", "required": false, "type": "boolean", - "default": false, + "default": false, "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified" }, { @@ -4477,6 +4741,10 @@ }, "description": "A list of references to all virtual machines in the availability set." }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the availability set should be assigned to.

Minimum api-version: 2018-04-01." + }, "statuses": { "readOnly": true, "type": "array", @@ -4555,6 +4823,89 @@ ], "description": "The List Availability Set operation response." }, + "ProximityPlacementGroupProperties": { + "properties": { + "proximityPlacementGroupType": { + "type": "string", + "description": "Specifies the type of the proximity placement group.

Possible values are:

**Standard**

**Ultra**", + "enum": [ + "Standard", + "Ultra" + ], + "x-ms-enum": { + "name": "ProximityPlacementGroupType", + "modelAsString": true + } + }, + "virtualMachines": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "A list of references to all virtual machines in the proximity placement group." + }, + "virtualMachineScaleSets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "A list of references to all virtual machine scale sets in the proximity placement group." + }, + "availabilitySets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "A list of references to all availability sets in the proximity placement group." + } + }, + "description": "Describes the properties of a Proximity Placement Group." + }, + "ProximityPlacementGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProximityPlacementGroupProperties", + "description": "Describes the properties of a Proximity Placement Group." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the proximity placement group." + }, + "ProximityPlacementGroupUpdate": { + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the proximity placement group." + }, + "ProximityPlacementGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProximityPlacementGroup" + }, + "description": "The list of proximity placement groups" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of proximity placement groups." + } + }, + "required": [ + "value" + ], + "description": "The List Proximity Placement Group operation response." + }, "VirtualMachineSize": { "properties": { "name": { @@ -6103,6 +6454,10 @@ "$ref": "#/definitions/SubResource", "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the virtual machine should be assigned to.

Minimum api-version: 2018-04-01." + }, "provisioningState": { "readOnly": true, "type": "string", @@ -7406,6 +7761,10 @@ "type": "integer", "format": "int32", "description": "Fault Domain count for each placement group." + }, + "proximityPlacementGroup": { + "$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." } }, "description": "Describes the properties of a Virtual Machine Scale Set." @@ -7902,9 +8261,9 @@ "description": "Specifies the network interfaces of the virtual machine." }, "networkProfileConfiguration": { - "$ref": "#/definitions/VirtualMachineScaleSetVMNetworkProfileConfiguration", - "description": "Specifies the network profile configuration of the virtual machine." - }, + "$ref": "#/definitions/VirtualMachineScaleSetVMNetworkProfileConfiguration", + "description": "Specifies the network profile configuration of the virtual machine." + }, "diagnosticsProfile": { "$ref": "#/definitions/DiagnosticsProfile", "description": "Specifies the boot diagnostic settings state.

Minimum api-version: 2015-06-15." @@ -7922,15 +8281,15 @@ "type": "string", "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

Possible values are:

Windows_Client

Windows_Server

If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

Minimum api-version: 2015-06-15" }, - "modelDefinitionApplied": { + "modelDefinitionApplied": { "readOnly": true, "type": "string", "description": "Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine." }, - "protectionPolicy": { - "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy", - "description": "Specifies the protection policy of the virtual machine." - } + "protectionPolicy": { + "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy", + "description": "Specifies the protection policy of the virtual machine." + } }, "description": "Describes the properties of a virtual machine scale set virtual machine." }, @@ -8039,31 +8398,31 @@ }, "description": "The instance view of a virtual machine scale set VM." }, - "VirtualMachineScaleSetVMNetworkProfileConfiguration": { + "VirtualMachineScaleSetVMNetworkProfileConfiguration": { "properties": { "networkInterfaceConfigurations": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" - }, - "description": "The list of network configurations." + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + }, + "description": "The list of network configurations." } }, "description": "Describes a virtual machine scale set VM network profile." }, - "VirtualMachineScaleSetVMProtectionPolicy": { - "properties": { + "VirtualMachineScaleSetVMProtectionPolicy": { + "properties": { "protectFromScaleIn": { "type": "boolean", "description": "Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation." }, - "protectFromScaleSetActions": { + "protectFromScaleSetActions": { "type": "boolean", "description": "Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM." } - }, - "description": "The protection policy of a virtual machine scale set VM." - }, + }, + "description": "The protection policy of a virtual machine scale set VM." + }, "VirtualMachineHealthStatus": { "properties": { "status": { @@ -8440,11 +8799,11 @@ "VMScaleSetConvertToSinglePlacementGroupInput": { "properties":{ "activePlacementGroupId": { - "type": "string", - "description": "Id of the placement group in which you want future virtual machine instances to be placed. To query placement group Id, please use Virtual Machine Scale Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual machine instances." - } + "type": "string", + "description": "Id of the placement group in which you want future virtual machine instances to be placed. To query placement group Id, please use Virtual Machine Scale Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual machine instances." } } + } }, "parameters": { "SubscriptionIdParameter": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateOrUpdateAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateOrUpdateAProximityPlacementGroup.json new file mode 100644 index 000000000000..00a9c55b9489 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateOrUpdateAProximityPlacementGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2019-03-01", + "proximityPlacementGroupName": "myProximityPlacementGroup", + "parameters": { + "location": "westus", + "properties": { + "proximityPlacementGroupType": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "name": "myProximityPlacementGroup", + "properties": { + "proximityPlacementGroupType": "Standard" + }, + "location": "westus", + "type": "Microsoft.Compute/proximityPlacementGroups", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + }, + "201": { + "body": { + "name": "myProximityPlacementGroup", + "properties": { + "proximityPlacementGroupType": "Standard" + }, + "location": "westus", + "type": "Microsoft.Compute/proximityPlacementGroups", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + } + } +} \ No newline at end of file diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/DeleteAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/DeleteAProximityPlacementGroup.json new file mode 100644 index 000000000000..b09cdc9ad9b5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/DeleteAProximityPlacementGroup.json @@ -0,0 +1,13 @@ +{ + "parameters":{ + "subscriptionId":"{subscription-id}", + "resourceGroupName":"myResourceGroup", + "api-version":"2019-03-01", + "proximityPlacementGroupName":"myProximityPlacementGroup", + "parameters":{ + } + }, + "responses":{ + "200":{} + } +} \ No newline at end of file diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetAProximityPlacementGroup.json new file mode 100644 index 000000000000..3e0e98077c62 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetAProximityPlacementGroup.json @@ -0,0 +1,39 @@ +{ + "parameters":{ + "subscriptionId":"{subscription-id}", + "resourceGroupName":"myResourceGroup", + "api-version":"2019-03-01", + "proximityPlacementGroupName":"myProximityPlacementGroup", + "parameters":{ + + } + }, + "responses":{ + "200":{ + "body":{ + "name":"myProximityPlacementGroup", + "properties":{ + "proximityPlacementGroupType":"Standard", + "virtualMachines":[ + { + "id":"string" + } + ], + "virtualMachineScaleSets":[ + { + "id":"string" + } + ], + "availabilitySets":[ + { + "id":"string" + } + ] + }, + "location":"westus", + "type":"Microsoft.Compute/proximityPlacementGroups", + "id":"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + } + } +} \ No newline at end of file diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListProximityPlacementGroupsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListProximityPlacementGroupsInAResourceGroup.json new file mode 100644 index 000000000000..9ad75fc5340a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListProximityPlacementGroupsInAResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters":{ + "subscriptionId":"{subscription-id}", + "resourceGroupName":"myResourceGroup", + "api-version":"2019-03-01", + "parameters":{ + + } + }, + "responses":{ + "200":{ + "body":{ + "value":[ + { + "name":"myProximityPlacementGroup", + "properties":{ + "proximityPlacementGroupType":"Standard", + "virtualMachines":[ + { + "id":"string" + } + ], + "virtualMachineScaleSets":[ + { + "id":"string" + } + ], + "availabilitySets":[ + { + "id":"string" + } + ] + }, + "location":"westus", + "type":"Microsoft.Compute/proximityPlacementGroups", + "id":"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + ], + "nextLink":"string" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListProximityPlacementGroupsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListProximityPlacementGroupsInASubscription.json new file mode 100644 index 000000000000..57bbf184cbb9 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListProximityPlacementGroupsInASubscription.json @@ -0,0 +1,42 @@ +{ + "parameters":{ + "subscriptionId":"{subscription-id}", + "api-version":"2019-03-01", + "parameters":{ + + } + }, + "responses":{ + "200":{ + "body":{ + "value":[ + { + "name":"myProximityPlacementGroup", + "properties":{ + "proximityPlacementGroupType":"Standard", + "virtualMachines":[ + { + "id":"string" + } + ], + "virtualMachineScaleSets":[ + { + "id":"string" + } + ], + "availabilitySets":[ + { + "id":"string" + } + ] + }, + "location":"westus", + "type":"Microsoft.Compute/proximityPlacementGroups", + "id":"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + ], + "nextLink":"string" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/PatchAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/PatchAProximityPlacementGroup.json new file mode 100644 index 000000000000..2bb7899812ce --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/PatchAProximityPlacementGroup.json @@ -0,0 +1,26 @@ +{ + "parameters":{ + "subscriptionId":"{subscription-id}", + "resourceGroupName":"myResourceGroup", + "api-version":"2019-03-01", + "proximityPlacementGroupName":"myProximityPlacementGroup", + "parameters":{ + "tags":{ + "additionalProp1":"string" + } + } + }, + "responses":{ + "200":{ + "body":{ + "name":"myProximityPlacementGroup", + "properties":{ + "proximityPlacementGroupType":"Standard" + }, + "location":"westus", + "type":"Microsoft.Compute/proximityPlacementGroups", + "id":"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + } + } +} \ No newline at end of file diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md index f9ccaf29526b..e98e35585694 100644 --- a/specification/compute/resource-manager/readme.md +++ b/specification/compute/resource-manager/readme.md @@ -110,6 +110,10 @@ directive: - $.definitions.AvailabilitySetUpdate suppress: - RequiredPropertiesMissingInResourceModel + - where: + - $.definitions.ProximityPlacementGroupUpdate + suppress: + - RequiredPropertiesMissingInResourceModel - where: - $.definitions.VirtualMachineExtensionUpdate suppress: