{Network} Optimize import logic in network module#32838
Draft
{Network} Optimize import logic in network module#32838
Conversation
…lp in network module
…ecursively when args is empty
❌AzureCLI-FullTest
|
️✔️AzureCLI-BreakingChangeTest
|
Collaborator
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
|
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). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
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.
Related command
az network --helpDescription
Lazy-load AAZ commands for az network via directory-tree navigation
The original
commands.pyused a dict-based registration pattern that eagerly imported every AAZ command class at module load time. Running any az network subcommand — or even az network --help — caused all command classes across all network subgroups to be imported and instantiated, regardless of which subcommand the user actually invoked.Changes:
Replaced the monolithic registration in
commands.pywith a directory-tree layout under operations/latest/network/, where each command lives in its own file (e.g.,_create.py,_list.py). The core function_load_aaz_by_path()navigates this tree guided by CLI args at runtime, so only the relevant subtree is ever imported.commands.pyno longer contains any AAZ imports or registrationsResult:
Current Azure CLI on DevBox:

Optimized Network --help on DevBox:

We update the import logic of aaz modules and refactor aaz-based customization into structure of aaz commands.
Testing Guide
History Notes
[Component Name 1] BREAKING CHANGE:
az command a: Make some customer-facing breaking change[Component Name 2]
az command b: Add some customer-facing featureThis checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.