Creating new command group and making configuration fields optional in target and solution template#9895
Conversation
|
Validation for Breaking Change Starting...
Thanks for your contribution! |
|
Hi @rosageorge97, |
There was a problem hiding this comment.
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-01to2026-05-01-previewacross common constants and AAZ command modules. - Relaxed schema/argument “required” flags for certain properties (e.g.,
targetSpecification, solution templateconfigurations) and updated parsing/serialization behavior for configurations. - Added new generated
workload-orchestration solution-deploymentcommand 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 |
| 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"], |
|
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>
|
Release SuggestionsModule: workload-orchestration
Notes
|
This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
General Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install wheel==0.30.0required)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.