Skip to content

az ppg create and az ppg update commands to support User Intent #22466

Closed

Description

Related command
Optional parameters and values need to be added to the following commands to support user intent:

  • az ppg create
  • az ppg update

Is your feature request related to a problem? Please describe.
No. This is a new feature request.

Describe the solution you'd like
Intent
Intent is an optional parameter which you can provide while creating a proximity placement group. It can also be added or modified while updating the PPG after deallocating all VMs in the proximity placement group.

The intent allows you to provide one or more VM Sizes that you require to be deployed as part of the proximity placement group(across single VMs, Availability Sets and VM Scale Sets).

Availability zone
In addition to the intent, an optional availability zone can be provided using zones parameter in case the proximity placement group must be created within a specific zone. Please note:

The availability zone can be provided only during proximity placement group creation and cannot be modified subsequently; unlike the intent, it cannot be updated even when the proximity placement group has all VM resources deallocated

The availability zone can be provided only when an intent is provided

Only one zone can be indicated as part of the availability zone

Please note that specifying a zone does not allow the proximity placement group to span the entire zone. It only helps select a data center within the specified zone rather than anywhere in the region.

The PPG create and update API with zones and intent parameters will look like the following:

API Version
API version must be 2021-11-01 or higher for using proximity placement group Intent

{
"apiVersion": "2021-11-01",
"type": "Microsoft.Compute/proximityPlacementGroups",
"name": "[parameters('ppgName')]",
"location": "[resourceGroup().location]",
“zones”: [“2”],
"properties": {
    "proximityPlacementGroupType": "Standard",
    “intent”: {
 "vmSizes": ["Standard_E64s_v4", "Standard_M416ms_v2"]
}
}

Example of az pgg create command with user intent:
az ppg create --name MyProximityPlacementGroup --resource-group MyResourceGroup --location eastus2 --type 'Standard' --zone 1 --intentvmsizes 'Standard_E64s_v4, Standard_M416ms_v2'

New Parameter Description/Value
zone Availability Zone where the PPG should be created - accepted values 1,2,3
intentvmsizes One or more VM Sizes that you require to be deployed as part of the PPG (across single VMs, Availability Sets and VM Scale Sets) - it is an array of strings

Note that zone can only be provided when intentvmsizes is provided; otherwise error should be thrown

Example of az ppg update with user intent:
az ppg create --name MyProximityPlacementGroup --resource-group MyResourceGroup --intentvmsizes 'Standard_E64s_v4, Standard_M416ms_v2'

New Parameter Description/Value
intentvmsizes One or more VM Sizes that you require to be deployed as part of the PPG (across single VMs, Availability Sets and VM Scale Sets) - it is an array of strings

Note that zone is NOT a parameter to be added in the update command as it can be used only during PPG creation time

Describe alternatives you've considered
It is a new feature request - so no new alternatives

Additional context

Role Contact
Developer aspand@microsoft.com
PM dejv@microsoft.com
Reviewer abver@microsoft.com

Link to the OpenAPI (swagger) spec: Azure/azure-rest-api-specs#18159

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions