Skip to content

Conversation

@huiii99
Copy link
Member

@huiii99 huiii99 commented Jan 29, 2026

Related command
az vm create

Description
This PR adds support for setting DiskIOPSReadWrite and DiskMBPSReadWrite during implicit data disk creation for UltraSSD (and Premium SSD v2 where applicable) via Azure CLI create flows. The feature is requested in Disk IOPS/MBPS Support for SI VMs (#32487).

Testing Guide

History Notes


This checklist is used to make sure that common guidelines for a pull request are followed.

Copilot AI review requested due to automatic review settings January 29, 2026 05:43
@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Jan 29, 2026

🔄AzureCLI-FullTest
🔄acr
🔄latest
🔄3.12
🔄3.13
🔄acs
🔄latest
🔄3.12
🔄3.13
🔄advisor
🔄latest
🔄3.12
🔄3.13
️✔️ams
️✔️latest
️✔️3.12
️✔️3.13
🔄apim
🔄latest
🔄3.12
🔄3.13
🔄appconfig
🔄latest
🔄3.12
🔄3.13
️✔️appservice
️✔️latest
️✔️3.12
️✔️3.13
🔄aro
🔄latest
🔄3.12
🔄3.13
🔄backup
🔄latest
️✔️3.12
🔄3.13
️✔️batch
️✔️latest
️✔️3.12
️✔️3.13
️✔️batchai
️✔️latest
️✔️3.12
️✔️3.13
🔄billing
🔄latest
🔄3.12
🔄3.13
️✔️botservice
️✔️latest
️✔️3.12
️✔️3.13
🔄cdn
🔄latest
🔄3.12
🔄3.13
🔄cloud
🔄latest
🔄3.12
🔄3.13
🔄cognitiveservices
🔄latest
🔄3.12
🔄3.13
️✔️compute_recommender
️✔️latest
️✔️3.12
️✔️3.13
️✔️computefleet
️✔️latest
️✔️3.12
️✔️3.13
️✔️config
️✔️latest
️✔️3.12
️✔️3.13
🔄configure
🔄latest
🔄3.12
🔄3.13
️✔️consumption
️✔️latest
️✔️3.12
️✔️3.13
️✔️container
️✔️latest
️✔️3.12
️✔️3.13
🔄containerapp
🔄latest
🔄3.12
🔄3.13
🔄core
🔄latest
🔄3.12
🔄3.13
🔄cosmosdb
🔄latest
🔄3.12
🔄3.13
🔄databoxedge
🔄latest
🔄3.12
🔄3.13
🔄dls
🔄latest
🔄3.12
🔄3.13
🔄dms
🔄latest
🔄3.12
🔄3.13
🔄eventgrid
🔄latest
🔄3.12
🔄3.13
🔄eventhubs
🔄latest
🔄3.12
🔄3.13
️✔️feedback
️✔️latest
️✔️3.12
️✔️3.13
🔄find
🔄latest
🔄3.12
🔄3.13
🔄hdinsight
🔄latest
️✔️3.12
🔄3.13
🔄identity
🔄latest
🔄3.12
🔄3.13
🔄iot
🔄latest
🔄3.12
🔄3.13
️✔️keyvault
️✔️latest
️✔️3.12
️✔️3.13
️✔️lab
️✔️latest
️✔️3.12
️✔️3.13
️✔️managedservices
️✔️latest
️✔️3.12
️✔️3.13
️✔️maps
️✔️latest
️✔️3.12
️✔️3.13
🔄marketplaceordering
🔄latest
🔄3.12
🔄3.13
🔄monitor
🔄latest
🔄3.12
🔄3.13
🔄mysql
🔄latest
️✔️3.12
🔄3.13
🔄netappfiles
🔄latest
️✔️3.12
🔄3.13
️✔️network
️✔️latest
️✔️3.12
️✔️3.13
🔄policyinsights
🔄latest
🔄3.12
🔄3.13
🔄postgresql
🔄latest
🔄3.12
🔄3.13
🔄privatedns
🔄latest
🔄3.12
🔄3.13
🔄profile
🔄latest
🔄3.12
🔄3.13
🔄rdbms
🔄latest
️✔️3.12
🔄3.13
️✔️redis
️✔️latest
️✔️3.12
️✔️3.13
🔄relay
🔄latest
️✔️3.12
🔄3.13
🔄resource
🔄latest
🔄3.12
🔄3.13
️✔️role
️✔️latest
️✔️3.12
️✔️3.13
🔄search
🔄latest
🔄3.12
🔄3.13
️✔️security
️✔️latest
️✔️3.12
️✔️3.13
🔄servicebus
🔄latest
️✔️3.12
🔄3.13
️✔️serviceconnector
️✔️latest
️✔️3.12
️✔️3.13
️✔️servicefabric
️✔️latest
️✔️3.12
️✔️3.13
🔄signalr
🔄latest
🔄3.12
🔄3.13
🔄sql
🔄latest
🔄3.12
🔄3.13
🔄sqlvm
🔄latest
️✔️3.12
🔄3.13
🔄storage
🔄latest
🔄3.12
🔄3.13
🔄synapse
🔄latest
🔄3.12
🔄3.13
️✔️telemetry
️✔️latest
️✔️3.12
️✔️3.13
️✔️util
️✔️latest
️✔️3.12
️✔️3.13
🔄vm
🔄latest
🔄3.12
🔄3.13

@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Jan 29, 2026

⚠️AzureCLI-BreakingChangeTest
⚠️vm
rule cmd_name rule_message suggest_message
⚠️ 1006 - ParaAdd vm create cmd vm create added parameter disk_iops_read_write
⚠️ 1006 - ParaAdd vm create cmd vm create added parameter disk_mbps_read_write

@yonzhan
Copy link
Collaborator

yonzhan commented Jan 29, 2026

Thank you for your contribution! We will review the pull request and get back to you soon.

@github-actions
Copy link

The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR.

Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends az vm create and az vmss create to support setting DiskIOPSReadWrite and DiskMBPSReadWrite on implicitly created UltraSSD (and Premium SSD v2 where applicable) data disks, and moves VM / VMSS template generation to Compute API version 2025-04-01.

Changes:

  • Adds new live scenario tests (and recordings) for VM and VMSS UltraSSD data disk IOPS/MBPS, including invalid-IOPS negative tests.
  • Wires new disk_iops_read_write / disk_mbps_read_write arguments through create_vm and create_vmss into the template builder, which now stamps diskIOPSReadWrite / diskMBPSReadWrite on all data disks when provided.
  • Hard-codes the VM and VMSS ARM template apiVersion to 2025-04-01 in _template_builder.py to use the new Compute API that exposes DiskIOPSReadWrite/DiskMBPSReadWrite on implicit data disks.

Reviewed changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/azure-cli/azure/cli/command_modules/vm/tests/latest/test_vm_commands.py Adds live scenario tests for vm create and vmss create with UltraSSD data disks, verifying that DiskSizeGB, DiskIOPSReadWrite, DiskMBpsReadWrite, and storage SKU are set correctly, plus invalid-IOPS negative coverage.
src/azure-cli/azure/cli/command_modules/vm/tests/latest/recordings/test_vmss_create_ultrassd_data_disk_iops_mbps_invalid_iops.yaml Records the failing vmss create flow when UltraSSD IOPS is out of range, confirming the RP validation error for dataDisk.diskIOPSReadWrite.
src/azure-cli/azure/cli/command_modules/vm/tests/latest/recordings/test_vmss_create_ultrassd_data_disk_iops_mbps.yaml Records the successful vmss create flow with UltraSSD data disk IOPS/MBPS, validating that the resulting VMSS model reflects the requested values.
src/azure-cli/azure/cli/command_modules/vm/custom.py Extends create_vm and create_vmss signatures to accept disk_iops_read_write / disk_mbps_read_write and passes them through to build_vm_resource / build_vmss_resource.
src/azure-cli/azure/cli/command_modules/vm/_template_builder.py Updates VM and VMSS template builders to accept the new disk IOPS/MBPS parameters, apply them to all data disks when present, and pins the Compute virtualMachines and virtualMachineScaleSets resource apiVersion to 2025-04-01.
src/azure-cli/azure/cli/command_modules/vm/_params.py Adds --data-disk-iops / --data-disk-mbps wiring for vm create via disk_iops_read_write / disk_mbps_read_write, while keeping existing data_disk_iops / data_disk_mbps definitions shared between vm create and vmss create.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@huiii99 huiii99 force-pushed the vm-data-disk-iombps-support branch from fd65c1a to b77904b Compare January 29, 2026 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Auto-Assign Auto assign by bot Compute az vm/vmss/image/disk/snapshot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants