[Network] az interconnect-group: Add support for managing interconnect groups and subgroups - #10171
Open
huiii99 wants to merge 3 commits into
Open
[Network] az interconnect-group: Add support for managing interconnect groups and subgroups#10171huiii99 wants to merge 3 commits into
az interconnect-group: Add support for managing interconnect groups and subgroups#10171huiii99 wants to merge 3 commits into
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
microsoft-github-policy-service
Bot
requested review from
jsntcy,
necusjz and
yonzhan
August 3, 2026 01:18
Member
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Member
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
huiii99
marked this pull request as ready for review
August 3, 2026 02:56
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Member
Author
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new preview Azure CLI extension (interconnect) that introduces the az interconnect-group command group (and subgroup subcommands) backed by Network API version 2025-07-01, plus a live scenario test and service mapping metadata.
Changes:
- Introduces AAZ-generated command implementations for interconnect group CRUD, node availability, and subgroup list/show.
- Adds scenario test + recording for interconnect group CRUD flow.
- Registers
az interconnect-groupinsrc/service_name.jsonand adds packaging docs/history for the new extension.
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/service_name.json | Maps az interconnect-group to an Azure service name for reporting/telemetry classification. |
| src/interconnect/setup.py | Python packaging entrypoint for the new interconnect extension. |
| src/interconnect/setup.cfg | Placeholder setup.cfg added for the extension package. |
| src/interconnect/README.md | Usage documentation and examples for az interconnect-group and subgroup commands. |
| src/interconnect/HISTORY.rst | Initial changelog entry for 1.0.0b1. |
| src/interconnect/azext_interconnect/init.py | Extension command loader wiring (AAZ table + conventional hooks). |
| src/interconnect/azext_interconnect/azext_metadata.json | Declares preview status and minimum CLI core version. |
| src/interconnect/azext_interconnect/_help.py | Help registration module stub (imports helps). |
| src/interconnect/azext_interconnect/_params.py | Argument hook stub (currently no custom args). |
| src/interconnect/azext_interconnect/commands.py | Command-table hook stub (AAZ commands loaded separately). |
| src/interconnect/azext_interconnect/custom.py | Custom module stub + logger. |
| src/interconnect/azext_interconnect/aaz/init.py | AAZ package marker for the extension. |
| src/interconnect/azext_interconnect/aaz/latest/init.py | AAZ “latest” version package marker. |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/__cmd_group.py | Registers the interconnect-group command group. |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/init.py | Exports interconnect-group command implementations. |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/_create.py | Implements interconnect-group create. |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/_delete.py | Implements interconnect-group delete. |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/_get_node_availability.py | Implements interconnect-group get-node-availability (LRO/no-wait). |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/_list.py | Implements interconnect-group list (subscription/RG scope). |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/_show.py | Implements interconnect-group show. |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/_update.py | Implements interconnect-group update (generic update). |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/subgroup/__cmd_group.py | Registers the interconnect-group subgroup command group. |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/subgroup/init.py | Exports subgroup list/show implementations. |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/subgroup/_list.py | Implements interconnect-group subgroup list. |
| src/interconnect/azext_interconnect/aaz/latest/interconnect_group/subgroup/_show.py | Implements interconnect-group subgroup show. |
| src/interconnect/azext_interconnect/tests/init.py | Test package marker. |
| src/interconnect/azext_interconnect/tests/latest/init.py | Latest-tests package marker. |
| src/interconnect/azext_interconnect/tests/latest/test_interconnect_group.py | Scenario test covering create/show/list/update/nodeAvailability/subgroup/delete. |
| src/interconnect/azext_interconnect/tests/latest/recordings/test_interconnect_group_crud.yaml | Live-test recording for playback. |
Suppressed comments (1)
src/interconnect/azext_interconnect/aaz/latest/interconnect_group/_create.py:72
--subgroup-profileappears to be required for a valid create payload (the request builder markssubgroupProfileas required, andvm-sizeis required). Mark the--subgroup-profileargument itself as required so users get a clear CLI validation error instead of a server-side failure.
_args_schema.subgroup_profile = AAZObjectArg(
options=["--subgroup-profile"],
arg_group="Properties",
help="The subgroup profile of the interconnect group resource.",
)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
az interconnect-group createaz interconnect-group showaz interconnect-group listaz interconnect-group updateaz interconnect-group deleteaz interconnect-group get-node-availabilityaz interconnect-group subgroup showaz interconnect-group subgroup listDescription
Closes Azure/azure-cli#33788.
AAZ Azure/aaz#1057
Add the preview
interconnect-groupextension using Network API version2025-07-01. The extension supports CRUD operations for interconnect groups, node availability queries, and subgroup list/show operations.The scenario test uses the supported
Standard_ND128isr_NDR_GB200_v6VM size with subgroup size18. It also handles synchronous node-availability responses without polling the returnedLocationURL.Testing
azdev test test_interconnect_group_crud --liveGeneral 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.