Skip to content

[Generated by SRE Agent] Add new az resiliency extension for api-version 2026-09-30-preview - #10339

Open
krtcodee wants to merge 2 commits into
Azure:mainfrom
krtcodee:feature-azureresiliencemanagement-2026-09-30-preview
Open

krtcodee wants to merge 2 commits into
Azure:mainfrom
krtcodee:feature-azureresiliencemanagement-2026-09-30-preview

Conversation

@krtcodee

@krtcodee krtcodee commented Sep 15, 2026

Copy link
Copy Markdown

This checklist is used to make sure that common guidelines for a pull request are followed.

Related command

az resiliency

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.

PR Owner Inputs

AAZ repo PR: Azure/aaz#1090

What

Add new az resiliency extension for Microsoft.AzureResilienceManagement, supporting api-version 2026-09-30-preview.

Swagger diff (2026-08-31-preview → 2026-09-30-preview)

Change Detail
Removed operations (5) Entire goalTemplates group (CRUD + list) dropped
Added body props regionalObjectives (RPO/RTO) on goalAssignments, regionalResiliency on updateGoalResources, goalAssignmentProperties on drills, inclusionDisabledReasons & replicationMode on recoveryPlans
Changed enums protectionSolutionType expanded (CosmosDB, NetAppFiles, ServiceBus, StorageAccount, Template added); planType reduced to Standard only

CLI surface (87 commands)

Command Group Commands
az resiliency drill create, delete, list, show, update, wait, add-or-update-resource, end, resync-readiness-check, start, validate-for-execution
az resiliency drill drill-run fail-over, generate-report, list, list-report-download-url, mark-as-complete, reprotect, resume, show
az resiliency drill identity assign, remove, show
az resiliency goal-assignment create, delete, list, recommend-capacity, refresh-goal-resource, show, update, update-goal-resource
az resiliency goal-assignment goal-resource list, show
az resiliency operation-status show
az resiliency recovery-plan create, delete, list, show, update, check-readiness, failover, failover-commit, finalize, reprotect, test-failover, test-failover-cleanup, update-resource, validate-for-failover, validate-for-failover-commit, validate-for-operation, validate-for-reprotect, validate-for-test-failover, validate-for-test-failover-cleanup
az resiliency recovery-plan identity assign, remove, show
az resiliency recovery-plan recovery-job cancel, list, resume, retry, show
az resiliency recovery-plan recovery-job recovery-job-resource list, show
az resiliency recovery-plan recovery-resource list, show
az resiliency unified-resilience-item list, show
az resiliency usage-plan create, delete, list, show, update
az resiliency usage-plan enrollment create, delete, list, show, update

Breaking changes

5 goalTemplates operations removed in the 2026-09-30-preview spec (the entire resource path was dropped by the service team). No existing CLI commands to break since this is a new extension.

Generated with

aaz-dev-tools 4.6.2 from aaz models in Azure/aaz#1090. Files under azext_resiliency/aaz/ are generated — do not hand-edit.


Created by Azure SRE Agent: Open thread

Copilot AI lite review requested due to automatic review settings September 15, 2026 18:22
@azure-client-tools-bot-prd

Copy link
Copy Markdown

Hi krtcodee,
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

Copy link
Copy Markdown
Contributor

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

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.

🟡 Changes recommended

Recorded command-group coverage is missing, and documentation and command inventory updates remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Adds a preview az resilience extension for Microsoft.AzureResilienceManagement, targeting API version 2026-09-30-preview.

Changes:

  • Adds 87 generated resilience commands and nested resource groups.
  • Adds packaging, CLI loading, metadata, help scaffolding, and release history.
  • Adds test scaffolding for the new command surface.
File summaries
File Summary
src/resilience/setup.py Extension packaging metadata.
src/resilience/setup.cfg Packaging configuration.
src/resilience/README.md Extension documentation; installation, help, and usage guidance remain needed (nit, 1 vote).
src/resilience/HISTORY.rst Release history and command inventory; update needed to match registered commands (nit, 3 votes).
src/resilience/azext_resilience/tests/latest/test_resilience.py Placeholder scenario test; recorded coverage for command groups remains needed (moderate, 2 votes).
src/resilience/azext_resilience/tests/latest/__init__.py Latest test package initializer.
src/resilience/azext_resilience/tests/__init__.py Test package initializer.
src/resilience/azext_resilience/custom.py Custom operation scaffold.
src/resilience/azext_resilience/commands.py Custom command-table hook.
src/resilience/azext_resilience/azext_metadata.json Preview extension metadata and minimum CLI version.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/enrollment/_wait.py Enrollment wait command.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/enrollment/_show.py Enrollment show command.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/enrollment/_list.py Enrollment list command.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/enrollment/_delete.py Enrollment delete command.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/enrollment/__init__.py Enrollment command imports.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/enrollment/__cmd_group.py Registers the enrollment command group.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/_wait.py Usage-plan wait command.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/_show.py Usage-plan show command.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/_delete.py Usage-plan delete command.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/__init__.py Usage-plan command imports.
src/resilience/azext_resilience/aaz/latest/resilience/usage_plan/__cmd_group.py Registers the usage-plan command group.
src/resilience/azext_resilience/aaz/latest/resilience/unified_resilience_item/_show.py Unified resilience item show command.
src/resilience/azext_resilience/aaz/latest/resilience/unified_resilience_item/__init__.py Unified resilience item imports.
src/resilience/azext_resilience/aaz/latest/resilience/unified_resilience_item/__cmd_group.py Registers the unified resilience item group.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/recovery_resource/__init__.py Recovery-resource imports.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/recovery_resource/__cmd_group.py Registers the recovery-resource group.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/recovery_job/recovery_job_resource/__init__.py Recovery-job-resource imports.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/recovery_job/recovery_job_resource/__cmd_group.py Registers the recovery-job-resource group.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/recovery_job/_retry.py Recovery-job retry command.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/recovery_job/__init__.py Recovery-job command imports.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/recovery_job/__cmd_group.py Registers the recovery-job group.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/identity/__init__.py Recovery-plan identity imports.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/identity/__cmd_group.py Registers the recovery-plan identity group.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/_test_failover.py Test-failover command.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/_test_failover_cleanup.py Test-failover cleanup command.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/_reprotect.py Recovery-plan reprotect command.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/_finalize.py Recovery-plan finalize command.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/_failover.py Recovery-plan failover command.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/_failover_commit.py Failover-commit command.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/_delete.py Recovery-plan delete command.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/_check_readiness.py Recovery-plan readiness check command.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/__init__.py Recovery-plan command imports.
src/resilience/azext_resilience/aaz/latest/resilience/recovery_plan/__cmd_group.py Registers the recovery-plan group.
src/resilience/azext_resilience/aaz/latest/resilience/operation_status/_show.py Operation-status show command.
src/resilience/azext_resilience/aaz/latest/resilience/operation_status/__init__.py Operation-status imports.
src/resilience/azext_resilience/aaz/latest/resilience/operation_status/__cmd_group.py Registers the operation-status group.
src/resilience/azext_resilience/aaz/latest/resilience/goal_assignment/goal_resource/__init__.py Goal-resource imports.
src/resilience/azext_resilience/aaz/latest/resilience/goal_assignment/goal_resource/__cmd_group.py Registers the goal-resource group.
src/resilience/azext_resilience/aaz/latest/resilience/goal_assignment/_refresh_goal_resource.py Goal-resource refresh command.
src/resilience/azext_resilience/aaz/latest/resilience/goal_assignment/_recommend_capacity.py Capacity recommendation command.
src/resilience/azext_resilience/aaz/latest/resilience/goal_assignment/_delete.py Goal-assignment delete command.
src/resilience/azext_resilience/aaz/latest/resilience/goal_assignment/__init__.py Goal-assignment command imports.
src/resilience/azext_resilience/aaz/latest/resilience/goal_assignment/__cmd_group.py Registers the goal-assignment group.
src/resilience/azext_resilience/aaz/latest/resilience/drill/identity/__init__.py Drill identity imports.
src/resilience/azext_resilience/aaz/latest/resilience/drill/identity/__cmd_group.py Registers the drill identity group.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_run/drill_run_resource/__init__.py Drill-run-resource imports.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_run/drill_run_resource/__cmd_group.py Registers the drill-run-resource group.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_run/_resume.py Drill-run resume command.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_run/_reprotect.py Drill-run reprotect command.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_run/_mark_as_complete.py Drill-run completion command.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_run/_list_report_download_url.py Drill-run report URL command.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_run/_add_note.py Drill-run note command.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_run/__init__.py Drill-run command imports.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_run/__cmd_group.py Registers the drill-run group.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_resource/__init__.py Drill-resource imports.
src/resilience/azext_resilience/aaz/latest/resilience/drill/drill_resource/__cmd_group.py Registers the drill-resource group.
src/resilience/azext_resilience/aaz/latest/resilience/drill/_start.py Drill start command.
src/resilience/azext_resilience/aaz/latest/resilience/drill/_resync_readiness_check.py Drill readiness resync command.
src/resilience/azext_resilience/aaz/latest/resilience/drill/_end.py Drill end command.
src/resilience/azext_resilience/aaz/latest/resilience/drill/_delete.py Drill delete command.
src/resilience/azext_resilience/aaz/latest/resilience/drill/__init__.py Drill command imports.
src/resilience/azext_resilience/aaz/latest/resilience/drill/__cmd_group.py Registers the drill group.
src/resilience/azext_resilience/aaz/latest/resilience/__init__.py Resilience command imports.
src/resilience/azext_resilience/aaz/latest/resilience/__cmd_group.py Registers the root resilience group.
src/resilience/azext_resilience/aaz/latest/__init__.py Latest generated AAZ package initializer.
src/resilience/azext_resilience/aaz/__init__.py Generated AAZ package initializer.
src/resilience/azext_resilience/_params.py Generated parameter-loading hook.
src/resilience/azext_resilience/_help.py Generated help definitions.
src/resilience/azext_resilience/__init__.py Extension command loader.
Review details

Suppressed comments (1)

src/resilience/README.md:5

  • This README still contains the generator placeholder and provides no installation, help, or usage guidance for the 87-command extension. Please replace it with at least the standard install/az resilience --help instructions and a link or examples, following the documentation pattern in src/networkcloud/README.md.
  • Files reviewed: 71/137 changed files
  • Comments generated: 2
  • Review effort level: Lite

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

Comment on lines +11 to +13
class ResilienceScenario(ScenarioTest):
# TODO: add tests here
pass
Comment thread src/resilience/HISTORY.rst Outdated
Comment on lines +9 to +20
* Support for `az resilience drill` commands: create, delete, list, show, update, wait, add-or-update-resource, end, resync-readiness-check, start, validate-for-execution.
* Support for `az resilience drill drill-run` commands: fail-over, generate-report, list, list-report-download-url, mark-as-complete, reprotect, resume, show.
* Support for `az resilience drill identity` commands: assign, remove, show.
* Support for `az resilience goal-assignment` commands: create, delete, list, recommend-capacity, refresh-goal-resource, show, update, update-goal-resource.
* Support for `az resilience goal-assignment goal-resource` commands: list, show.
* Support for `az resilience operation-status` commands: show.
* Support for `az resilience recovery-plan` commands: create, delete, list, show, update, check-readiness, failover, failover-commit, finalize, reprotect, test-failover, test-failover-cleanup, update-resource, validate-for-failover, validate-for-failover-commit, validate-for-operation, validate-for-reprotect, validate-for-test-failover, validate-for-test-failover-cleanup.
* Support for `az resilience recovery-plan identity` commands: assign, remove, show.
* Support for `az resilience recovery-plan recovery-job` commands: cancel, list, resume, retry, show.
* Support for `az resilience unified-resilience-item` commands: list, show.
* Support for `az resilience usage-plan` commands: create, delete, list, show, update.
* Support for `az resilience usage-plan enrollment` commands: create, delete, list, show, update.
@yonzhan

Copy link
Copy Markdown
Collaborator

resilience

@krtcodee

Copy link
Copy Markdown
Author

/azp run

@azure-pipelines

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

@yonzhan

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command.

…nt api-version 2026-09-30-preview

New extension providing 87 commands across 6 command groups:
- resiliency drill, goal-assignment, operation-status, recovery-plan,
  unified-resilience-item, usage-plan

Generated from aaz command models using aaz-dev-tools.
Command group renamed from azure-resilience-management to resiliency.

Co-authored-by: Azure SRE Agent <noreply@microsoft.com>
@krtcodee
krtcodee force-pushed the feature-azureresiliencemanagement-2026-09-30-preview branch from a9b8fb0 to de1eed8 Compare September 16, 2026 13:49
@krtcodee krtcodee changed the title [Generated by SRE Agent] Add new az resilience extension for api-version 2026-09-30-preview [Generated by SRE Agent] Add new az resiliency extension for api-version 2026-09-30-preview Sep 16, 2026
Co-authored-by: Azure SRE Agent <noreply@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

act-codegen-extensibility-squad Auto-Assign Auto assign by bot CosmosDB 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