[connectedmachine] release preview version 2026-06-16#10120
Conversation
|
Validation for Breaking Change Starting...
Thanks for your contribution! |
|
Hi @yaotongms, |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Pull request overview
This PR updates the connectedmachine Azure CLI extension to a new preview release by bumping the extension version and regenerating a large set of AAZ-based command modules against the 2026-06-16-preview API, including new/updated command surfaces (e.g., extension metadata discovery, license validation, and Private Link Scope enhancements).
Changes:
- Bump extension version to 4.0.0b1 and add corresponding release history entries.
- Regenerate AAZ command modules to use 2026-06-16-preview, adding new commands/groups (e.g.,
license validate,network-profile show,private-link-scope current show,extension publisher/type list). - Adjust command wiring to unify list behaviors (e.g., consolidate list-by-* commands into
listwhere appropriate).
Reviewed changes
Copilot reviewed 75 out of 76 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| src/connectedmachine/setup.py | Bumps extension VERSION to 4.0.0b1. |
| src/connectedmachine/HISTORY.rst | Adds new release history entries for preview release. |
| src/connectedmachine/azext_connectedmachine/custom.py | Adds custom AAZ command wrappers (combined list behaviors). |
| src/connectedmachine/azext_connectedmachine/commands.py | Overrides command table to point to new combined list commands. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_wait.py | Updates API version + schema changes for run-command wait. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_show.py | Updates API version + schema changes for run-command show. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_list.py | Updates API version + schema changes for run-command list. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_delete.py | Updates API version for run-command delete. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/_show.py | Updates API version and response schema fields. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/_reconcile.py | Updates LRO final-state handling and API version. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/_list.py | Updates API version and response schema fields. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/current/_show.py | Adds new private-link-scope current show command module. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/current/init.py | Adds new command-group package exports. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/current/__cmd_group.py | Adds new AAZ command group definition. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_wait.py | Updates API version and operation naming. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_update.py | Enables generic update flow for private-link-scope update. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_show.py | Updates API version and operation naming. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_list.py | Updates API version and list-by-rg vs list routing. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_delete.py | Updates API version and LRO final-state handling. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_create.py | Updates API version and adds serviceExtensions support. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_resource/_show.py | Updates API version and argument schema. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_resource/_list.py | Updates API version and response schema flags. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_wait.py | Updates API version and argument schema. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_update.py | Updates API version, schema, and LRO final-state handling. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_show.py | Updates API version and argument schema. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_list.py | Updates API version and response schema flags. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_delete.py | Updates API version and LRO final-state handling. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/network_profile/_show.py | Adds new network-profile show command module. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/network_profile/init.py | Adds new command-group package exports. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/network_profile/__cmd_group.py | Adds new AAZ command group definition. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_wait.py | Updates API version for license wait. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_validate.py | Adds new license validate command module. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_update.py | Updates API version + enables generic update flow. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_show.py | Updates API version for license show. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_list.py | Updates API version for license list. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_list_by_rg.py | Adds new license list-by-rg AAZ module. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_delete.py | Updates API version and LRO final-state handling. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_create.py | Updates API version and request schema wiring. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/init.py | Exports new license modules (validate, list-by-rg). |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_wait.py | Updates API version and schema helper naming. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_show.py | Updates API version and schema helper naming. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_list.py | Updates API version and schema helper naming. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_delete.py | Updates API version and LRO final-state handling. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_create.py | Updates API version and reorganizes arg groups. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/identity/init.py | Adds new identity command-group exports. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/identity/__cmd_group.py | Adds new identity command group definition. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/type/_list.py | Adds new extension type list command module. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/type/init.py | Adds new command-group package exports. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/type/__cmd_group.py | Adds new AAZ command group definition. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/publisher/_list.py | Adds new extension publisher list command module. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/publisher/init.py | Adds new command-group package exports. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/publisher/__cmd_group.py | Adds new AAZ command group definition. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/image/_show.py | Updates API version and operation naming for extension image show. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/image/_list.py | Updates API version and operation naming for extension image list. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_wait.py | Updates API version and schema types for extension wait. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_show.py | Updates API version and schema types for extension show. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_list.py | Updates API version and schema types for extension list. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_delete.py | Updates API version and LRO final-state handling. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_create.py | Updates API version, schema typing, and arg aliases. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_upgrade_extension.py | Updates API version and LRO final-state handling. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_install_patches.py | Updates API version and extends windows patch selection args. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_delete.py | Updates delete to support no-wait and LRO polling behavior. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_assess_patches.py | Updates API version and schema helper naming. |
| src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/init.py | Exports additional generated modules (list-by-sub, wait). |
|
connectedmachine |
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 79 out of 84 changed files in this pull request and generated 7 comments.
Comments suppressed due to low confidence (2)
src/connectedmachine/azext_connectedmachine/commands.py:22
connectedmachine license list-by-rgis removed from the command table. This is a breaking CLI surface-area change for users who still call the old command name. Please keep the command (or formally deprecate it) rather than removing it fromcommand_table.
src/connectedmachine/HISTORY.rst:7- The 4.0.0b1 HISTORY entry says
2026/06/19-previewis used for AAZ generation, but the generated command files in this PR use API version2026-06-16-preview. This mismatch makes the changelog misleading. Also, the underline lines include trailing tab characters (after+++++) which can render oddly in RST.
4.0.0b1
+++++
* 2026/06/19-preview is used for aaz generation. Migrated to aaz.
| # define Arg Group "Source" | ||
|
|
||
| _args_schema = cls._args_schema | ||
| _args_schema.command_id = AAZStrArg( | ||
| options=["--command-id"], | ||
| arg_group="Source", | ||
| help="Specifies the commandId of predefined built-in script.", | ||
| nullable=True, | ||
| ) | ||
| _args_schema.script = AAZStrArg( | ||
| options=["--script"], | ||
| arg_group="Source", | ||
| help="Specifies the script content to be executed on the machine.", | ||
| nullable=True, | ||
| ) | ||
| _args_schema.script_uri = AAZStrArg( | ||
| options=["--script-uri"], | ||
| arg_group="Source", | ||
| help="Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI.", | ||
| nullable=True, | ||
| ) | ||
| _args_schema.script_uri_managed_identity = AAZObjectArg( | ||
| options=["--script-uri-managed-id", "--script-uri-managed-identity"], | ||
| arg_group="Source", | ||
| help="User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.", | ||
| nullable=True, | ||
| ) | ||
| cls._build_args_runcommandmanagedidentity_create_or_update_update(_args_schema.script_uri_managed_identity) |
|
Hey @yaotongms could you address the Copilot review comments? |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
|
@Sebby37 addressed all Copilot review comments: update parameter names, deprecate a command not exposing to cx. The only failing test doesn't make sense. We have run-command create, which also have a parameter 'source'. An error was reported on this parameter not being flattened, so I flattened it for both create and update commands. Now I'm seeing this error on the update. We don't want these two commands to have different parameter structure. Can you verify if I need to flatten this parameter for both commands or not? |
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
General Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install azdevrequired)For new extensions:
About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update
src/index.jsonautomatically.You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify
src/index.json.🤖 PR Validation — ❌ Action needed
❌Azure CLI Extensions Breaking Change Test