Skip to content

Creating new command group and making configuration fields optional in target and solution template#9895

Closed
rosageorge97 wants to merge 5 commits into
Azure:mainfrom
manaswita-chichili:users/rosa/may2026release
Closed

Creating new command group and making configuration fields optional in target and solution template#9895
rosageorge97 wants to merge 5 commits into
Azure:mainfrom
manaswita-chichili:users/rosa/may2026release

Conversation

@rosageorge97
Copy link
Copy Markdown


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 wheel==0.30.0 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.

Copilot AI review requested due to automatic review settings May 22, 2026 10:07
@azure-client-tools-bot-prd
Copy link
Copy Markdown

Validation for Breaking Change Starting...

Thanks for your contribution!

@azure-client-tools-bot-prd
Copy link
Copy Markdown

Hi @rosageorge97,
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 setup.py as well.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR updates the workload-orchestration CLI extension to use the 2026-05-01-preview API version across target/solution-template scenarios and introduces a new solution-deployment command group with generated CRUD and wait commands.

Changes:

  • Bumped Target-related API versions from 2025-08-01 to 2026-05-01-preview across common constants and AAZ command modules.
  • Relaxed schema/argument “required” flags for certain properties (e.g., targetSpecification, solution template configurations) and updated parsing/serialization behavior for configurations.
  • Added new generated workload-orchestration solution-deployment command group (create, delete, list, show, update, wait).

Reviewed changes

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

Show a summary per file
File Description
src/workload-orchestration/azext_workload_orchestration/common/target.py Updates target API version constant
src/workload-orchestration/azext_workload_orchestration/common/consts.py Updates TARGET_API_VERSION constant
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_wait.py Bumps api-version; relaxes required output schema for targetSpecification
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_update_external_validation_status.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_update.py Bumps api-version; relaxes required targetSpecification in request/response schema
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_unstage.py Bumps api-version for operations
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_uninstall.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_target_helper.py Bumps api-version for helper GET
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_solution_revision_list.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_solution_instance_list.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_show.py Bumps api-version; relaxes required output schema for targetSpecification
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_review_solution_version.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_remove_revision.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_publish.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_list_untitled1.py Bumps api-version; relaxes required output schema for targetSpecification
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_list.py Bumps api-version; relaxes required output schema for targetSpecification
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_install.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_delete.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/target/_create.py Bumps api-version; relaxes required arg/schema for targetSpecification
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/version/_show.py Bumps api-version; changes configurations output schema type
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/version/_list.py Bumps api-version; changes configurations output schema type
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_wait.py Bumps api-version for wait
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_update_capabilities.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_update.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_show.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_remove_version.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_list_untitled1.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_list.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_delete_version.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_delete.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_create.py Bumps api-version; relaxes required configurations arg; adds YAML parsing/serialization behavior
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_bulk_review_solution.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_bulk_publish_solution.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_template/_bulk_deploy_solution.py Bumps api-version for operation
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_deployment/_wait.py Adds wait command for solution-deployments
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_deployment/_update.py Adds update command for solution-deployments
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_deployment/_show.py Adds show command for solution-deployments
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_deployment/_list.py Adds list (paged) command for solution-deployments
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_deployment/_delete.py Adds delete (LRO) command for solution-deployments
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_deployment/_create.py Adds create/update (LRO) command for solution-deployments
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_deployment/init.py Exposes solution-deployment commands
src/workload-orchestration/azext_workload_orchestration/aaz/latest/workload_orchestration/solution_deployment/__cmd_group.py Registers solution-deployment command group

Comment on lines +202 to +214
solutionTemplateValue = {}

if self.ctx.args.configurations:
try:
solutionTemplateValue = yaml.safe_load(str(self.ctx.args.configurations))
except Exception as e:
raise ValidationError("Invalid YAML passed or error in parsing yaml")

if type(solutionTemplateValue) == "string":
raise ValidationError("Invalid YAML passed")

if not isinstance(solutionTemplateValue, dict):
solutionTemplateValue = {}
properties.configurations = AAZStrType(
flags={"required": True},
)
properties.configurations = AAZFreeFormDictType()
_aaz_info = {
"version": "2026-05-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/Microsoft.Edge/solutiondeployments/{}", "2026-05-01-preview"],
@yonzhan
Copy link
Copy Markdown
Collaborator

yonzhan commented May 22, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

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).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

@github-actions
Copy link
Copy Markdown
Contributor

Hi @rosageorge97

Release Suggestions

Module: workload-orchestration

  • Please log updates into to src/workload-orchestration/HISTORY.rst
  • Update VERSION to 5.3.0 in src/workload-orchestration/setup.py

Notes

@yonzhan yonzhan requested a review from necusjz May 22, 2026 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants