Skip to content

Add Workload Manager CLI extension - #10393

Open
ankowdeed wants to merge 5 commits into
Azure:mainfrom
ankowdeed:workload-manager-preview
Open

ankowdeed wants to merge 5 commits into
Azure:mainfrom
ankowdeed:workload-manager-preview

Conversation

@ankowdeed

@ankowdeed ankowdeed commented Sep 25, 2026 •

Copy link
Copy Markdown

Related commandaz workload-manager## SummaryAdds the initial AAZ-generated preview extension for Azure Workload Manager using API version 2026-11-01-preview.The extension includes commands for:- Workload spaces- Capabilities- Runtime bindings- Runtime linksThe command models are maintained in Azure/aaz#1105. The source API specification was merged in Azure/azure-rest-api-specs#46394.## Validation- AAZ command-model verification passed.- Extension wheel build passed.- Installed-wheel command and help smoke tests passed in an isolated Azure CLI profile.- azdev linter workload-manager --only-show-errors passed, including custom Pylint.## Testing notesThis is a new AAZ-generated extension. No scenario test module exists yet; validation currently covers generated-model consistency, packaging, linting, installation, and command/help loading.

@azure-client-tools-bot-prd

Copy link
Copy Markdown

Hi ankowdeed,
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.

@microsoft-github-policy-service microsoft-github-policy-service Bot added the customer-reported Issues that are reported by GitHub users external to the Azure organization. label Sep 25, 2026
@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

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

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@yonzhan

Copy link
Copy Markdown
Collaborator

workload-manager

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@ankowdeed
ankowdeed marked this pull request as ready for review September 29, 2026 17:17
Copilot AI balanced review requested due to automatic review settings September 29, 2026 17:17

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.

Copilot review overview

🟡 Changes recommended

The update commands use create-or-replace PUT operations instead of the API’s dedicated PATCH operations, and request serialization lacks automated coverage.

Review effort: Balanced
Findings: 4 High severity · 1 Medium severity · 1 Low severity

Open (6)
What changed in this PR

Adds the initial preview Workload Manager CLI extension for managing workload spaces, capabilities, runtime bindings, and runtime links.

Changes:

  • Adds extension packaging, metadata, documentation, and service registration.
  • Registers the generated AAZ command hierarchy.
  • Implements CRUD, list, update, and wait operations using API 2026-11-01-preview.
File Description
src/​service_name.json Registers the Workload Manager command.
src/​workload-manager/​HISTORY.rst Adds initial release history.
src/​workload-manager/​README.rst Documents commands and API source.
src/​workload-manager/​setup.cfg Adds packaging configuration.
src/​workload-manager/​setup.py Defines extension package metadata.
src/​workload-manager/​azext_workload_manager/​__init__.py Implements the command loader.
src/​workload-manager/​azext_workload_manager/​_help.py Initializes help registration.
src/​workload-manager/​azext_workload_manager/​_params.py Adds argument-loader scaffolding.
src/​workload-manager/​azext_workload_manager/​azext_metadata.json Marks the extension as preview.
src/​workload-manager/​azext_workload_manager/​commands.py Adds command-table scaffolding.
src/​workload-manager/​azext_workload_manager/​custom.py Adds custom-command scaffolding.
src/​workload-manager/​azext_workload_manager/​aaz/​__init__.py Initializes the AAZ package.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​__init__.py Initializes latest AAZ models.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​__init__.py Exports the root command group.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​__cmd_group.py Defines az workload-manager.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​__init__.py Exports workload-space commands.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​__cmd_group.py Defines the workload-space group.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​_create.py Creates workload spaces.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​_delete.py Deletes workload spaces.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​_list.py Lists workload spaces.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​_show.py Retrieves workload spaces.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​_update.py Updates workload spaces.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​_wait.py Waits on workload-space state.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​capability/​__init__.py Exports capability commands.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​capability/​__cmd_group.py Defines the capability group.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​capability/​_create.py Creates capabilities.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​capability/​_delete.py Deletes capabilities.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​capability/​_list.py Lists capabilities.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​capability/​_show.py Retrieves capabilities.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​capability/​_update.py Updates capabilities.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​capability/​_wait.py Waits on capability state.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_binding/​__init__.py Exports runtime-binding commands.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_binding/​__cmd_group.py Defines the runtime-binding group.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_binding/​_create.py Creates runtime bindings.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_binding/​_delete.py Deletes runtime bindings.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_binding/​_list.py Lists runtime bindings.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_binding/​_show.py Retrieves runtime bindings.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_binding/​_update.py Updates runtime bindings.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_binding/​_wait.py Waits on runtime-binding state.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_link/​__init__.py Exports runtime-link commands.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_link/​__cmd_group.py Defines the runtime-link group.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_link/​_create.py Creates runtime links.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_link/​_delete.py Deletes runtime links.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_link/​_list.py Lists runtime links.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_link/​_show.py Retrieves runtime links.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_link/​_update.py Updates runtime links.
src/​workload-manager/​azext_workload_manager/​aaz/​latest/​workload_manager/​workload_space/​runtime_link/​_wait.py Waits on runtime-link state.

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

@ankowdeed

Copy link
Copy Markdown
Author

PR2: Add Workload Manager command models - Azure/aaz#1105

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@yonzhan

Copy link
Copy Markdown
Collaborator

Please fix CI issues

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@ankowdeed

ankowdeed commented Sep 30, 2026 •

Copy link
Copy Markdown
Author

Addressed the remaining PR feedback:

  • Updated src/workload-manager/HISTORY.rst with customer-facing details for the initial release (42bbc86).
  • Restored examples for all PATCH update commands; azdev-linter and azdev-style pass (cab8480).
  • The six inline review findings were fixed earlier in 0e18129 and replied to individually. GitHub currently reports no unresolved review threads.

@ankowdeed

Copy link
Copy Markdown
Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Commenter does not have sufficient privileges for PR 10393 in repo Azure/azure-cli-extensions

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

customer-reported Issues that are reported by GitHub users external to the Azure organization.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants