Skip to content

[connectedmachine] release stable version 2026-07-15 - #10271

Merged
Ethan Yang (necusjz) merged 5 commits into
Azure:mainfrom
yaotongms:connectedmachine-3.0.0-release
Aug 28, 2026
Merged

Ethan Yang (necusjz) merged 5 commits into
Azure:mainfrom
yaotongms:connectedmachine-3.0.0-release

Conversation

@yaotongms

@yaotongms yaotongms commented Aug 28, 2026 •

Copy link
Copy Markdown
Member

🤖 PR Validation — ❌ Action needed

Breaking Changes
❌ 1
❌Azure CLI Extensions Breaking Change Test
❌connectedmachine
rule cmd_name rule_message suggest_message
❌ 1007 - ParaRemove connectedmachine license validate cmd connectedmachine license validate removed parameter license_details please add back parameter license_details for cmd connectedmachine license validate
❌ 1007 - ParaRemove connectedmachine private-link-scope network-security-perimeter-configuration reconcile cmd connectedmachine private-link-scope network-security-perimeter-configuration reconcile removed parameter no_wait please add back parameter no_wait for cmd connectedmachine private-link-scope network-security-perimeter-configuration reconcile
❌ 1010 - ParaPropUpdate connectedmachine run-command update cmd connectedmachine run-command update update parameter script_uri_managed_identity: updated property options from ['--script-uri-id', '--script-uri-managed-id', '--script-uri-managed-identity'] to ['--script-uri-id', '--script-uri-managed-identity'] please change property options from ['--script-uri-id', '--script-uri-managed-identity'] to ['--script-uri-id', '--script-uri-managed-id', '--script-uri-managed-identity'] for parameter script_uri_managed_identity of cmd connectedmachine run-command update
⚠️ 1006 - ParaAdd connectedmachine license validate cmd connectedmachine license validate added parameter edition
⚠️ 1006 - ParaAdd connectedmachine license validate cmd connectedmachine license validate added parameter processors
⚠️ 1006 - ParaAdd connectedmachine license validate cmd connectedmachine license validate added parameter state
⚠️ 1006 - ParaAdd connectedmachine license validate cmd connectedmachine license validate added parameter target
⚠️ 1006 - ParaAdd connectedmachine license validate cmd connectedmachine license validate added parameter type
⚠️ 1006 - ParaAdd connectedmachine license validate cmd connectedmachine license validate added parameter volume_license_details
⚠️ 1002 - CmdRemove connectedmachine private-link-scope network-security-perimeter-configuration wait cmd connectedmachine private-link-scope network-security-perimeter-configuration wait removed
⚠️ 1006 - ParaAdd connectedmachine run-command create cmd connectedmachine run-command create added parameter source
⚠️ 1010 - ParaPropUpdate connectedmachine run-command create cmd connectedmachine run-command create update parameter error_blob_managed_identity: updated property options from ['--error-blob-id', '--error-blob-managed-identity'] to ['--error-blob-id', '--error-blob-identity', '--error-blob-managed-identity']
⚠️ 1010 - ParaPropUpdate connectedmachine run-command create cmd connectedmachine run-command create update parameter output_blob_managed_identity: updated property options from ['--output-blob-id', '--output-blob-managed-identity'] to ['--output-blob-id', '--output-blob-identity', '--output-blob-managed-identity']
⚠️ 1008 - ParaPropAdd connectedmachine run-command create cmd connectedmachine run-command create update parameter run_as_password: added property nargs=?
⚠️ 1010 - ParaPropUpdate connectedmachine run-command create cmd connectedmachine run-command create update parameter run_as_password: updated property aaz_type from string to AAZPasswordArg
⚠️ 1010 - ParaPropUpdate connectedmachine run-command create cmd connectedmachine run-command create update parameter run_as_password: updated property type from string to Password
⚠️ 1006 - ParaAdd connectedmachine run-command update cmd connectedmachine run-command update added parameter source
⚠️ 1010 - ParaPropUpdate connectedmachine run-command update cmd connectedmachine run-command update update parameter error_blob_managed_identity: updated property options from ['--error-blob-id', '--error-blob-managed-identity'] to ['--error-blob-id', '--error-blob-identity', '--error-blob-managed-identity']
⚠️ 1010 - ParaPropUpdate connectedmachine run-command update cmd connectedmachine run-command update update parameter output_blob_managed_identity: updated property options from ['--output-blob-id', '--output-blob-managed-identity'] to ['--output-blob-id', '--output-blob-identity', '--output-blob-managed-identity']
⚠️ 1008 - ParaPropAdd connectedmachine run-command update cmd connectedmachine run-command update update parameter run_as_password: added property nargs=?
⚠️ 1010 - ParaPropUpdate connectedmachine run-command update cmd connectedmachine run-command update update parameter run_as_password: updated property aaz_type from string to AAZPasswordArg
⚠️ 1010 - ParaPropUpdate connectedmachine run-command update cmd connectedmachine run-command update update parameter run_as_password: updated property type from string to Password
  • Upgrade from API version 2026-06-16-preview to 2026-07-15 (stable)
  • Fix AAZ paging bugs in 14 list commands
  • Fix reconcile output null-safety
  • Add short parameter abbreviations for update command
  • Remove no-wait support from reconcile (no wait command exists)
  • Update test recordings to 2026-07-15 API
  • All tests passing (5 passed, 1 skipped)
  • All linter checks passing

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

Related command

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install azdev required)
  • My extension version conforms to the Extension version schema

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.json automatically.
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.

- Upgrade from API version 2026-06-16-preview to 2026-07-15 (stable)
- Fix AAZ paging bugs in 14 list commands
- Fix reconcile output null-safety
- Add short parameter abbreviations for update command
- Remove no-wait support from reconcile (no wait command exists)
- Update test recordings to 2026-07-15 API
- All tests passing (5 passed, 1 skipped)
- All linter checks passing
Copilot AI lite review requested due to automatic review settings August 28, 2026 06:10
@azure-client-tools-bot-prd

Copy link
Copy Markdown

Hi yaotongms,
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in pyproject.toml (or setup.py, if the extension has not migrated yet) as well.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 promotes the connectedmachine extension to a stable 3.0.0 release while updating AAZ-generated command modules and test recordings to use the 2026-07-15 (stable) HybridCompute API version.

Changes:

  • Bump extension version to 3.0.0 and add a corresponding HISTORY.rst entry.
  • Update AAZ-generated command modules to api-version=2026-07-15 and adjust several generated schemas/operations.
  • Refresh test recordings to the 2026-07-15 API.

Reviewed changes

Copilot reviewed 61 out of 65 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/connectedmachine/setup.py Bumps extension package version to stable 3.0.0.
src/connectedmachine/HISTORY.rst Adds release notes entry for 3.0.0 (2026-07-15 API).
src/connectedmachine/azext_connectedmachine/tests/latest/recordings/test_netowrk_configuration.yaml Updates recorded NSP configuration calls to api-version=2026-07-15.
src/connectedmachine/azext_connectedmachine/tests/latest/recordings/test_identity.yaml Updates recorded identity calls to api-version=2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_wait.py Updates run-command wait resource API version and schema helper naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_show.py Updates run-command show to 2026-07-15 and schema helper naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_list.py Updates run-command list to 2026-07-15 and schema helper naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_delete.py Updates run-command delete to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_create.py Updates run-command create to 2026-07-15 and modifies argument/schema generation (incl. managed identity/source shaping).
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/_show.py Updates NSP configuration show to 2026-07-15 and helper naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/_reconcile.py Updates reconcile to 2026-07-15 and removes generated no-wait behavior.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/_list.py Updates NSP configuration list to 2026-07-15 and helper naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/init.py Stops exporting the NSP configuration wait command module.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_wait.py Updates private-link-scope wait to 2026-07-15 and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_update.py Updates private-link-scope update to 2026-07-15, refactors schema reuse, and reorganizes args.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_show.py Updates private-link-scope show to 2026-07-15 and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_list.py Updates private-link-scope list to 2026-07-15 and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_delete.py Updates private-link-scope delete to 2026-07-15 and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_create.py Updates private-link-scope create to 2026-07-15 and reorganizes args.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_resource/_show.py Updates private-link-resource show to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_resource/_list.py Updates private-link-resource list to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_wait.py Updates private-endpoint-connection wait to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_update.py Updates private-endpoint-connection update to 2026-07-15 and refactors schema reuse.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_show.py Updates private-endpoint-connection show to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_list.py Updates private-endpoint-connection list to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_delete.py Updates private-endpoint-connection delete to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_wait.py Updates license wait to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_validate.py Updates validate to 2026-07-15 and reshapes input arguments/schema mapping.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_update.py Updates license update to 2026-07-15 and refactors schema reuse/arg grouping.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_show.py Updates license show to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_list.py Updates license list to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_list_by_rg.py Updates license list-by-rg to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_delete.py Updates license delete to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_create.py Updates license create to 2026-07-15 and reorganizes arg grouping.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_wait.py Updates license-profile wait to 2026-07-15 and refactors error-detail schema typing.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_update.py Updates license-profile update to 2026-07-15 and refactors schema reuse.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_show.py Updates license-profile show to 2026-07-15 and refactors error-detail schema typing.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_list.py Updates license-profile list to 2026-07-15 and refactors error-detail schema typing.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_delete.py Updates license-profile delete to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_create.py Updates license-profile create to 2026-07-15 and refactors error-detail schema typing.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/type/_list.py Updates extension type list to 2026-07-15 and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/publisher/_list.py Updates extension publisher list to 2026-07-15 and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/image/_show.py Updates extension image show to 2026-07-15 and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/image/_list.py Updates extension image list to 2026-07-15 and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_wait.py Updates extension wait to 2026-07-15 and adjusts settings/protectedSettings schema typing.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_update.py Updates extension update to 2026-07-15, refactors schema reuse, and reorganizes arg grouping.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_show.py Updates extension show to 2026-07-15 and adjusts settings/protectedSettings schema typing.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_list.py Updates extension list to 2026-07-15 and adjusts settings/protectedSettings schema typing.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_delete.py Updates extension delete to 2026-07-15.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_create.py Updates extension create to 2026-07-15 and reorganizes arg grouping.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_wait.py Updates machine wait to 2026-07-15 and refactors schema helpers/types.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_upgrade_extension.py Updates upgrade-extension to 2026-07-15 and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_show.py Updates machine show to 2026-07-15 and refactors schema helpers/types.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_delete.py Updates machine delete to 2026-07-15.
Suppressed comments (1)

src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_validate.py:248

  • licenseDetails is currently created unconditionally in the request payload (via properties.set_prop("licenseDetails", AAZObjectType)), which can result in sending an empty {} when the user doesn’t provide any license-details fields. Since the sample usage only requires --location, it’s safer to only include licenseDetails when at least one of its fields is provided.
            properties = _builder.get(".properties")
            if properties is not None:
                properties.set_prop("licenseDetails", AAZObjectType)
                properties.set_prop("licenseType", AAZStrType, ".license_type")
                properties.set_prop("tenantId", AAZStrType, ".tenant_id")

            license_details = _builder.get(".properties.licenseDetails")
            if license_details is not None:
                license_details.set_prop("edition", AAZStrType, ".edition")
                license_details.set_prop("processors", AAZIntType, ".processors")
                license_details.set_prop("state", AAZStrType, ".state")
                license_details.set_prop("target", AAZStrType, ".target")
                license_details.set_prop("type", AAZStrType, ".type")
                license_details.set_prop("volumeLicenseDetails", AAZListType, ".volume_license_details")


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@yonzhan

Copy link
Copy Markdown
Collaborator

connectedmachine

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

…parameters

- Add --error-blob-id and --output-blob-id as backward-compatible aliases
- Document all breaking changes in HISTORY.rst for 3.0.0 major version
- Script parameters moved to --source object (documented as breaking)
- Identity management moved to dedicated commands (documented as breaking)
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

- Add top-level --command-id, --script, --script-uri, --script-uri-managed-identity as aliases
- Automatically map top-level parameters to --source object in pre_operations
- Maintains backward compatibility while supporting new structured --source syntax
- Fixes breaking change violations for run-command create/update
- Re-added --identity parameter with type field for identity management
- Maintains backward compatibility with 3.0.0b1
- Users can use --identity type=<value> for simple identity type changes
- Dedicated identity commands still available for user-assigned identities
- Fixes ParaRemove breaking change violation for identity parameter
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@necusjz
Ethan Yang (necusjz) merged commit ffafad4 into Azure:main Aug 28, 2026
24 checks passed
@azclibot

Copy link
Copy Markdown
Collaborator

[Release] Update index.json for extension [ connectedmachine-3.0.0 ] : https://dev.azure.com/msazure/One/_build/results?buildId=178661400&view=results

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants