From 18c7fe56007ebcd854c80b047ad46f5962bcc530 Mon Sep 17 00:00:00 2001 From: azure-sdk Date: Sat, 22 Aug 2026 13:52:54 +0000 Subject: [PATCH 1/3] Configurations: 'specification/azureresiliencemanagement/resource-manager/Microsoft.AzureResilienceManagement/AzureResilienceManagement/tspconfig.yaml', SDK Release Type: beta, and CommitSHA: '736e61cb6c5059d5f75bac47b54ce57c6ad130f7' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6734682 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. --- .../CHANGELOG.md | 60 + .../_metadata.json | 10 +- .../azure-mgmt-resiliencemanagement/api.md | 1631 ++++++++++- .../api.metadata.yml | 6 +- .../apiview-properties.json | 31 +- .../mgmt/resiliencemanagement/_client.py | 5 +- .../resiliencemanagement/_configuration.py | 7 +- .../azure/mgmt/resiliencemanagement/_patch.py | 1 - .../resiliencemanagement/_utils/model_base.py | 72 +- .../_utils/serialization.py | 115 +- .../mgmt/resiliencemanagement/_version.py | 2 +- .../mgmt/resiliencemanagement/aio/_client.py | 5 +- .../aio/_configuration.py | 7 +- .../mgmt/resiliencemanagement/aio/_patch.py | 1 - .../aio/operations/_operations.py | 1250 ++++++--- .../aio/operations/_patch.py | 1 - .../resiliencemanagement/models/__init__.py | 50 +- .../resiliencemanagement/models/_enums.py | 82 + .../resiliencemanagement/models/_models.py | 1151 ++++++-- .../resiliencemanagement/models/_patch.py | 1 - .../operations/_operations.py | 1517 ++++++++--- .../resiliencemanagement/operations/_patch.py | 1 - .../azure/mgmt/resiliencemanagement/types.py | 2406 +++++++++++++++++ .../drill_resources_get_maximum_set_gen.py | 2 +- .../drill_resources_list_maximum_set_gen.py | 2 +- ...drill_run_resources_get_maximum_set_gen.py | 2 +- ...rill_run_resources_list_maximum_set_gen.py | 2 +- .../drill_runs_add_notes_maximum_set_gen.py | 2 +- .../drill_runs_fail_over_maximum_set_gen.py | 9 +- ...ll_runs_generate_report_maximum_set_gen.py | 43 + .../drill_runs_get_maximum_set_gen.py | 2 +- .../drill_runs_list_maximum_set_gen.py | 2 +- ...ist_report_download_url_maximum_set_gen.py | 43 + ...l_runs_mark_as_complete_maximum_set_gen.py | 2 +- .../drill_runs_reprotect_maximum_set_gen.py | 2 +- .../drill_runs_resume_maximum_set_gen.py | 2 +- ...add_or_update_resources_maximum_set_gen.py | 2 +- .../drills_create_maximum_set_gen.py | 51 +- .../drills_delete_maximum_set_gen.py | 2 +- .../drills_end_maximum_set_gen.py | 2 +- .../drills_get_maximum_set_gen.py | 2 +- .../drills_list_maximum_set_gen.py | 2 +- ..._resync_readiness_check_maximum_set_gen.py | 2 +- .../drills_start_maximum_set_gen.py | 2 +- .../drills_update_maximum_set_gen.py | 21 +- ..._validate_for_execution_maximum_set_gen.py | 2 +- ...lments_create_or_update_maximum_set_gen.py | 2 +- .../enrollments_delete_maximum_set_gen.py | 2 +- .../enrollments_get_maximum_set_gen.py | 2 +- .../enrollments_list_maximum_set_gen.py | 2 +- ...nments_create_or_update_maximum_set_gen.py | 2 +- ...nments_create_or_update_minimum_set_gen.py | 2 +- ...goal_assignments_delete_maximum_set_gen.py | 2 +- .../goal_assignments_get_maximum_set_gen.py | 2 +- .../goal_assignments_list_maximum_set_gen.py | 2 +- .../goal_assignments_list_minimum_set_gen.py | 2 +- ...ents_recommend_capacity_maximum_set_gen.py | 2 +- ..._refresh_goal_resources_maximum_set_gen.py | 2 +- ...s_update_goal_resources_maximum_set_gen.py | 2 +- ...goal_assignments_update_maximum_set_gen.py | 2 +- .../goal_resources_get_complete_example.py | 2 +- .../goal_resources_get_maximum_set_gen.py | 2 +- .../goal_resources_get_minimum_set_gen.py | 2 +- .../goal_resources_list_maximum_set_gen.py | 2 +- ...plates_create_or_update_maximum_set_gen.py | 2 +- ...plates_create_or_update_minimum_set_gen.py | 2 +- .../goal_templates_delete_maximum_set_gen.py | 2 +- .../goal_templates_delete_minimum_set_gen.py | 2 +- .../goal_templates_get_maximum_set_gen.py | 2 +- .../goal_templates_list_maximum_set_gen.py | 2 +- .../goal_templates_list_minimum_set_gen.py | 2 +- .../goal_templates_update_maximum_set_gen.py | 2 +- .../operation_status_get_maximum_set_gen.py | 2 +- .../operations_list_maximum_set_gen.py | 2 +- .../operations_list_minimum_set_gen.py | 2 +- ...overy_job_resources_get_maximum_set_gen.py | 2 +- ...very_job_resources_list_maximum_set_gen.py | 2 +- .../recovery_jobs_cancel_maximum_set_gen.py | 4 +- .../recovery_jobs_get_maximum_set_gen.py | 2 +- .../recovery_jobs_list_maximum_set_gen.py | 2 +- .../recovery_jobs_resume_maximum_set_gen.py | 4 +- .../recovery_jobs_retry_maximum_set_gen.py | 4 +- ...actions_check_readiness_maximum_set_gen.py | 2 +- ...actions_failover_commit_maximum_set_gen.py | 4 +- ...y_plan_actions_failover_maximum_set_gen.py | 4 +- ...y_plan_actions_finalize_maximum_set_gen.py | 4 +- ..._plan_actions_reprotect_maximum_set_gen.py | 4 +- ...s_test_failover_cleanup_maximum_set_gen.py | 4 +- ...n_actions_test_failover_maximum_set_gen.py | 2 +- ...ctions_update_resources_maximum_set_gen.py | 4 +- ...ate_for_failover_commit_maximum_set_gen.py | 4 +- ...s_validate_for_failover_maximum_set_gen.py | 4 +- ..._validate_for_operation_maximum_set_gen.py | 4 +- ..._validate_for_reprotect_maximum_set_gen.py | 4 +- ...r_test_failover_cleanup_maximum_set_gen.py | 4 +- ...idate_for_test_failover_maximum_set_gen.py | 4 +- ..._plans_create_or_update_maximum_set_gen.py | 2 +- .../recovery_plans_delete_maximum_set_gen.py | 2 +- .../recovery_plans_get_maximum_set_gen.py | 2 +- .../recovery_plans_list_maximum_set_gen.py | 2 +- .../recovery_plans_update_maximum_set_gen.py | 2 +- ...ry_resources_get_cross_zone_vm_recovery.py | 43 + .../recovery_resources_get_maximum_set_gen.py | 2 +- ...recovery_resources_list_maximum_set_gen.py | 2 +- ...ed_resilience_items_get_maximum_set_gen.py | 2 +- ...d_resilience_items_list_maximum_set_gen.py | 2 +- ...d_resilience_items_list_minimum_set_gen.py | 2 +- ..._plans_create_or_update_maximum_set_gen.py | 2 +- .../usage_plans_delete_maximum_set_gen.py | 2 +- .../usage_plans_get_maximum_set_gen.py | 2 +- ..._list_by_resource_group_maximum_set_gen.py | 2 +- ...ns_list_by_subscription_maximum_set_gen.py | 2 +- .../usage_plans_update_maximum_set_gen.py | 2 +- ...lience_management_drill_runs_operations.py | 36 +- ..._management_drill_runs_operations_async.py | 38 +- ...resilience_management_drills_operations.py | 10 +- ...ence_management_drills_operations_async.py | 10 +- ..._management_goal_assignments_operations.py | 26 +- ...ement_goal_assignments_operations_async.py | 26 +- .../tsp-location.yaml | 2 +- 120 files changed, 7675 insertions(+), 1293 deletions(-) create mode 100644 sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/types.py create mode 100644 sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_generate_report_maximum_set_gen.py create mode 100644 sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_list_report_download_url_maximum_set_gen.py create mode 100644 sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_get_cross_zone_vm_recovery.py diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md index 05e11a291faa..59589b37ad36 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md @@ -1,5 +1,65 @@ # Release History +## 1.0.0b2 (2026-08-22) + +### Features Added + + - Model `AttentionReason` added property `discovery_rule_exists` + - Model `AttentionReason` added property `drill_rbac_on_health_model` + - Model `AttentionReason` added property `drill_rbac_on_sli` + - Model `AttentionReason` added property `health_model_exists` + - Model `AttentionReason` added property `monitoring_source_not_configured` + - Model `AttentionReason` added property `rbac_needed_for_drill_on_health_model` + - Model `AttentionReason` added property `sli_attention_statuses` + - Model `DrillProperties` added property `health_model_monitoring_properties` + - Model `DrillProperties` added property `sli_monitoring_properties` + - Model `DrillRunProperties` added property `report` + - Model `DrillUpdateProperties` added property `health_model_monitoring_properties` + - Model `DrillUpdateProperties` added property `sli_monitoring_properties` + - Model `GoalAssignmentProperties` added property `require_zonal_resiliency` + - Model `GoalResourceProperties` added property `zonal_resiliency` + - Model `OperationQualificationDetails` added property `resource_feasibility_reviews` + - Enum `ProvisioningState` added member `NEEDS_ATTENTION` + - Model `RegionalDrillProperties` added property `health_model_monitoring_properties` + - Model `RegionalDrillProperties` added property `sli_monitoring_properties` + - Model `ValidateForExecutionProperties` added property `operation_name` + - Model `ZonalDrillProperties` added property `health_model_monitoring_properties` + - Model `ZonalDrillProperties` added property `sli_monitoring_properties` + - Added enum `DrillReportFinalizationState` + - Added enum `DrillReportFormat` + - Added enum `DrillReportGenerationStatus` + - Added model `DrillReportSummary` + - Added model `DrillRunReprotectRequest` + - Added enum `DrillRunTasks` + - Added model `HealthModelMonitoringProperties` + - Added model `ListReportDownloadUrlRequest` + - Added model `ListReportDownloadUrlResponse` + - Added model `ReportStageStatus` + - Added model `ResiliencyProperties` + - Added model `ResourceCrossZoneVmRecoveryProtectionSetting` + - Added model `ResourceFeasibilityReview` + - Added enum `ResourceFeasibilityReviewStatus` + - Added enum `ResourceFeasibilityReviewType` + - Added model `SkuDetails` + - Added model `SliAttentionStatus` + - Added model `SliMonitoringProperties` + - Added model `SliSelection` + - Added enum `SliType` + - Added enum `SliTypeMatchState` + - Added model `UserConfirmationItem` + - Model `DrillRunsOperations` added parameter `content_type` in method `begin_reprotect` + - Model `DrillRunsOperations` added method `begin_generate_report` + - Model `DrillRunsOperations` added method `list_report_download_url` + +### Breaking Changes + + - Model `DrillProperties` deleted or renamed its instance variable `managed_on_behalf_of_configuration` + - Model `RegionalDrillProperties` deleted or renamed its instance variable `managed_on_behalf_of_configuration` + - Model `ZonalDrillProperties` deleted or renamed its instance variable `managed_on_behalf_of_configuration` + - Deleted or renamed model `ManagedOnBehalfOfConfiguration` + - Deleted or renamed model `MoboBrokerResource` + - Deleted or renamed model `UserConfirmationForHighAvailabilityItem` + ## 1.0.0b1 (2026-06-16) ### Other Changes diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/_metadata.json b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/_metadata.json index ee59a9f04eaf..7ffdde5c3ed7 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/_metadata.json +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/_metadata.json @@ -1,11 +1,11 @@ { - "apiVersion": "2026-04-01-preview", + "apiVersion": "2026-08-31-preview", "apiVersions": { - "Microsoft.AzureResilienceManagement": "2026-04-01-preview" + "Microsoft.AzureResilienceManagement": "2026-08-31-preview" }, - "commit": "589a0fec47674e91982ecef00d23aa60e53ff281", + "commit": "736e61cb6c5059d5f75bac47b54ce57c6ad130f7", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/azureresiliencemanagement/resource-manager/Microsoft.AzureResilienceManagement/AzureResilienceManagement", - "emitterVersion": "0.63.1", - "httpClientPythonVersion": "^0.31.1" + "emitterVersion": "0.63.5", + "httpClientPythonVersion": "^0.36.0" } \ No newline at end of file diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/api.md b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/api.md index 9864cac142ec..3974cc06aa58 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/api.md +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/api.md @@ -173,7 +173,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: DrillRunAddNotesRequest, *, content_type: str = "application/json", operation_id: str, @@ -199,7 +199,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: DrillRunFailoverRequest, + body: Optional[DrillRunFailoverRequest] = None, *, content_type: str = "application/json", operation_id: str, @@ -212,7 +212,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: Optional[DrillRunFailoverRequest] = None, *, content_type: str = "application/json", operation_id: str, @@ -225,13 +225,25 @@ namespace azure.mgmt.resiliencemanagement.aio.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: IO[bytes], + body: Optional[IO[bytes]] = None, *, content_type: str = "application/json", operation_id: str, **kwargs: Any ) -> AsyncLROPoller[None]: ... + @distributed_trace_async + @api_version_validation(method_added_on='2026-08-31-preview', params_added_on={'2026-08-31-preview': ['service_group_name', 'api_version', 'operation_id', 'drill_name', 'drill_run_name', 'accept']}, api_versions_list=['2026-08-31-preview']) + async def begin_generate_report( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + *, + operation_id: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: ... + @overload async def begin_mark_as_complete( self, @@ -251,7 +263,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: MarkAsCompleteRequest, *, content_type: str = "application/json", operation_id: str, @@ -271,13 +283,41 @@ namespace azure.mgmt.resiliencemanagement.aio.operations **kwargs: Any ) -> AsyncLROPoller[None]: ... - @distributed_trace_async + @overload + async def begin_reprotect( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[DrillRunReprotectRequest] = None, + *, + content_type: str = "application/json", + operation_id: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: ... + + @overload + async def begin_reprotect( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[DrillRunReprotectRequest] = None, + *, + content_type: str = "application/json", + operation_id: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: ... + + @overload async def begin_reprotect( self, service_group_name: str, drill_name: str, drill_run_name: str, + body: Optional[IO[bytes]] = None, *, + content_type: str = "application/json", operation_id: str, **kwargs: Any ) -> AsyncLROPoller[None]: ... @@ -310,6 +350,42 @@ namespace azure.mgmt.resiliencemanagement.aio.operations **kwargs: Any ) -> AsyncItemPaged[DrillRun]: ... + @overload + async def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[ListReportDownloadUrlRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> ListReportDownloadUrlResponse: ... + + @overload + async def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[ListReportDownloadUrlRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> ListReportDownloadUrlResponse: ... + + @overload + async def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> ListReportDownloadUrlResponse: ... + class azure.mgmt.resiliencemanagement.aio.operations.DrillsOperations: @@ -336,7 +412,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, drill_name: str, - body: JSON, + body: AddOrUpdateResourcesRequest, *, content_type: str = "application/json", operation_id: str, @@ -371,7 +447,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, drill_name: str, - resource: JSON, + resource: Drill, *, content_type: str = "application/json", **kwargs: Any @@ -413,7 +489,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, drill_name: str, - body: JSON, + body: DrillEndRequest, *, content_type: str = "application/json", operation_id: str, @@ -433,7 +509,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations ) -> AsyncLROPoller[None]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['service_group_name', 'api_version', 'operation_id', 'drill_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['service_group_name', 'api_version', 'operation_id', 'drill_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) async def begin_resync_readiness_check( self, service_group_name: str, @@ -460,7 +536,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, drill_name: str, - body: JSON, + body: DrillStartRequest, *, content_type: str = "application/json", operation_id: str, @@ -495,7 +571,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, drill_name: str, - properties: JSON, + properties: DrillUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -529,7 +605,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, drill_name: str, - body: JSON, + body: ValidateForExecutionRequest, *, content_type: str = "application/json", operation_id: str, @@ -593,7 +669,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations resource_group_name: str, usage_plan_name: str, enrollment_name: str, - resource: JSON, + resource: Enrollment, *, content_type: str = "application/json", **kwargs: Any @@ -612,7 +688,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations ) -> AsyncLROPoller[Enrollment]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'enrollment_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'enrollment_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) async def begin_delete( self, resource_group_name: str, @@ -622,7 +698,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations ) -> AsyncLROPoller[None]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'enrollment_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'enrollment_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) async def get( self, resource_group_name: str, @@ -632,7 +708,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations ) -> Enrollment: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def list( self, resource_group_name: str, @@ -665,7 +741,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, goal_assignment_name: str, - resource: JSON, + resource: GoalAssignment, *, content_type: str = "application/json", **kwargs: Any @@ -706,7 +782,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, goal_assignment_name: str, - body: JSON, + body: RecommendCapacityRequest, *, content_type: str = "application/json", **kwargs: Any @@ -747,7 +823,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, goal_assignment_name: str, - properties: JSON, + properties: GoalAssignment, *, content_type: str = "application/json", **kwargs: Any @@ -780,7 +856,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, goal_assignment_name: str, - body: JSON, + body: UpdateGoalResourceRequest, *, content_type: str = "application/json", **kwargs: Any @@ -869,7 +945,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, goal_template_name: str, - resource: JSON, + resource: GoalTemplate, *, content_type: str = "application/json", **kwargs: Any @@ -910,7 +986,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, goal_template_name: str, - properties: JSON, + properties: GoalTemplate, *, content_type: str = "application/json", **kwargs: Any @@ -1030,7 +1106,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: JSON, + body: RecoveryActionRequest, *, content_type: str = "application/json", operation_id: str, @@ -1069,7 +1145,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: JSON, + body: RecoveryActionRequest, *, content_type: str = "application/json", operation_id: str, @@ -1153,7 +1229,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: FailoverRequest, *, content_type: str = "application/json", operation_id: str, @@ -1209,7 +1285,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - body: Optional[JSON] = None, + body: Optional[ReprotectRequest] = None, *, content_type: str = "application/json", operation_id: str, @@ -1245,7 +1321,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: FailoverRequest, *, content_type: str = "application/json", operation_id: str, @@ -1281,7 +1357,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: TestFailoverCleanupRequest, *, content_type: str = "application/json", operation_id: str, @@ -1317,7 +1393,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: UpdateRecoveryResourcesRequest, *, content_type: str = "application/json", operation_id: str, @@ -1353,7 +1429,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: FailoverRequest, *, content_type: str = "application/json", operation_id: str, @@ -1399,7 +1475,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: ValidateForOperationRequest, *, content_type: str = "application/json", operation_id: str, @@ -1435,7 +1511,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - body: Optional[JSON] = None, + body: Optional[ReprotectRequest] = None, *, content_type: str = "application/json", operation_id: str, @@ -1471,7 +1547,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: FailoverRequest, *, content_type: str = "application/json", operation_id: str, @@ -1525,7 +1601,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - resource: JSON, + resource: RecoveryPlan, *, content_type: str = "application/json", **kwargs: Any @@ -1566,7 +1642,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, service_group_name: str, recovery_plan_name: str, - properties: JSON, + properties: RecoveryPlan, *, content_type: str = "application/json", **kwargs: Any @@ -1679,7 +1755,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, resource_group_name: str, usage_plan_name: str, - resource: JSON, + resource: UsagePlan, *, content_type: str = "application/json", **kwargs: Any @@ -1697,7 +1773,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations ) -> AsyncLROPoller[UsagePlan]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) async def begin_delete( self, resource_group_name: str, @@ -1721,7 +1797,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations self, resource_group_name: str, usage_plan_name: str, - properties: JSON, + properties: UsagePlanTagsUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -1739,7 +1815,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations ) -> AsyncLROPoller[UsagePlan]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) async def get( self, resource_group_name: str, @@ -1748,7 +1824,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations ) -> UsagePlan: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def list_by_resource_group( self, resource_group_name: str, @@ -1756,7 +1832,7 @@ namespace azure.mgmt.resiliencemanagement.aio.operations ) -> AsyncItemPaged[UsagePlan]: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def list_by_subscription(self, **kwargs: Any) -> AsyncItemPaged[UsagePlan]: ... @@ -1842,24 +1918,31 @@ namespace azure.mgmt.resiliencemanagement.models chaos_resource: Optional[Union[str, ExtensionObjectState]] chaos_resource_creation_failure_reasons: Optional[list[str]] chaos_resource_user_msi: Optional[Union[str, ExtensionObjectState]] + discovery_rule_exists: Optional[Union[str, ExtensionObjectState]] drill_monitoring_errors: Optional[list[ErrorDetails]] drill_monitoring_resources: Optional[Union[str, ExtensionObjectState]] drill_rbac_on_chaos_resource: Optional[Union[str, RBACState]] + drill_rbac_on_health_model: Optional[Union[str, RBACState]] drill_rbac_on_monitoring_resources: Optional[Union[str, RBACState]] drill_rbac_on_recovery_plan: Optional[Union[str, RBACState]] + drill_rbac_on_sli: Optional[Union[str, RBACState]] drill_user_msi: Optional[Union[str, ExtensionObjectState]] + health_model_exists: Optional[Union[str, ExtensionObjectState]] included_resource_in_drill: Optional[Union[str, ExtensionObjectState]] missing_required_resource_providers: Optional[list[str]] monitoring_rbac_on_drill_resources: Optional[Union[str, RBACState]] + monitoring_source_not_configured: Optional[bool] rbac_needed_for_drill_on_chaos_resource: Optional[list[str]] rbac_needed_for_drill_on_drill_monitoring_resources: Optional[list[str]] rbac_needed_for_drill_on_drill_resources: Optional[list[str]] + rbac_needed_for_drill_on_health_model: Optional[list[str]] rbac_needed_for_drill_on_recovery_plan: Optional[list[str]] rbac_on_target_resources: Optional[Union[str, RBACState]] recovery_plan_and_drill_resources_state: Optional[Union[str, RelativeResourceCompositionState]] ro_readiness: Optional[Union[str, RecoveryPlanState]] runbook_fault_rbac_on_targets: Optional[Union[str, RBACState]] service_group_and_drill_resources_state: Optional[Union[str, RelativeResourceCompositionState]] + sli_attention_statuses: Optional[list[SliAttentionStatus]] @overload def __init__( @@ -1868,23 +1951,30 @@ namespace azure.mgmt.resiliencemanagement.models chaos_resource: Optional[Union[str, ExtensionObjectState]] = ..., chaos_resource_creation_failure_reasons: Optional[list[str]] = ..., chaos_resource_user_msi: Optional[Union[str, ExtensionObjectState]] = ..., + discovery_rule_exists: Optional[Union[str, ExtensionObjectState]] = ..., drill_monitoring_errors: Optional[list[ErrorDetails]] = ..., drill_rbac_on_chaos_resource: Optional[Union[str, RBACState]] = ..., + drill_rbac_on_health_model: Optional[Union[str, RBACState]] = ..., drill_rbac_on_monitoring_resources: Optional[Union[str, RBACState]] = ..., drill_rbac_on_recovery_plan: Optional[Union[str, RBACState]] = ..., + drill_rbac_on_sli: Optional[Union[str, RBACState]] = ..., drill_user_msi: Optional[Union[str, ExtensionObjectState]] = ..., + health_model_exists: Optional[Union[str, ExtensionObjectState]] = ..., included_resource_in_drill: Optional[Union[str, ExtensionObjectState]] = ..., missing_required_resource_providers: Optional[list[str]] = ..., monitoring_rbac_on_drill_resources: Optional[Union[str, RBACState]] = ..., + monitoring_source_not_configured: Optional[bool] = ..., rbac_needed_for_drill_on_chaos_resource: Optional[list[str]] = ..., rbac_needed_for_drill_on_drill_monitoring_resources: Optional[list[str]] = ..., rbac_needed_for_drill_on_drill_resources: Optional[list[str]] = ..., + rbac_needed_for_drill_on_health_model: Optional[list[str]] = ..., rbac_needed_for_drill_on_recovery_plan: Optional[list[str]] = ..., rbac_on_target_resources: Optional[Union[str, RBACState]] = ..., recovery_plan_and_drill_resources_state: Optional[Union[str, RelativeResourceCompositionState]] = ..., ro_readiness: Optional[Union[str, RecoveryPlanState]] = ..., runbook_fault_rbac_on_targets: Optional[Union[str, RBACState]] = ..., - service_group_and_drill_resources_state: Optional[Union[str, RelativeResourceCompositionState]] = ... + service_group_and_drill_resources_state: Optional[Union[str, RelativeResourceCompositionState]] = ..., + sli_attention_statuses: Optional[list[SliAttentionStatus]] = ... ) -> None: ... @overload @@ -2023,15 +2113,16 @@ namespace azure.mgmt.resiliencemanagement.models error_details: Optional[ErrorDetail] execution_readiness_state: Optional[Union[str, ExecutionReadinessState]] execution_state: Optional[Union[str, ExecutionState]] + health_model_monitoring_properties: Optional[HealthModelMonitoringProperties] last_resync_readiness_check_time: Optional[datetime] last_run_properties: Optional[LastRunProperties] last_sync_time: Optional[datetime] - managed_on_behalf_of_configuration: Optional[ManagedOnBehalfOfConfiguration] monitoring_properties: Optional[MonitoringPropertiesOfDrill] provisioning_state: Optional[Union[str, ProvisioningState]] rbac_setup_mode: Optional[Union[str, RBACSetupMode]] recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] service_group_id: Optional[str] + sli_monitoring_properties: Optional[SliMonitoringProperties] system_metadata: Optional[SystemMetadata] @overload @@ -2041,15 +2132,43 @@ namespace azure.mgmt.resiliencemanagement.models chaos_resource_properties: Optional[ChaosResourcePropertiesOfDrill] = ..., drill_asset_properties: Optional[AssetPropertiesOfDrill] = ..., drill_type: str, + health_model_monitoring_properties: Optional[HealthModelMonitoringProperties] = ..., monitoring_properties: Optional[MonitoringPropertiesOfDrill] = ..., rbac_setup_mode: Optional[Union[str, RBACSetupMode]] = ..., - recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] = ... + recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] = ..., + sli_monitoring_properties: Optional[SliMonitoringProperties] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.resiliencemanagement.models.DrillReportFinalizationState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FINALIZED = "Finalized" + NOT_FINALIZED = "NotFinalized" + + + class azure.mgmt.resiliencemanagement.models.DrillReportFormat(str, Enum, metaclass=CaseInsensitiveEnumMeta): + HTML = "Html" + + + class azure.mgmt.resiliencemanagement.models.DrillReportGenerationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FAILED = "Failed" + IN_PROGRESS = "InProgress" + NOT_STARTED = "NotStarted" + SUCCEEDED = "Succeeded" + + + class azure.mgmt.resiliencemanagement.models.DrillReportSummary(_Model): + available_formats: Optional[list[Union[str, DrillReportFormat]]] + finalization_state: Optional[Union[str, DrillReportFinalizationState]] + generation_status: Optional[Union[str, DrillReportGenerationStatus]] + last_error: Optional[ErrorDetails] + last_generated_timestamp: Optional[datetime] + schema_version: Optional[str] + stage_statuses: Optional[list[ReportStageStatus]] + + class azure.mgmt.resiliencemanagement.models.DrillResource(ProxyResource): id: str name: str @@ -2218,6 +2337,7 @@ namespace azure.mgmt.resiliencemanagement.models job_type: Literal[JobType.DRILL_RUN] notes: Optional[list[str]] operation: str + report: Optional[DrillReportSummary] resource_id: str retry_details: list[JobRetryDetails] start_time: datetime @@ -2239,6 +2359,20 @@ namespace azure.mgmt.resiliencemanagement.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.resiliencemanagement.models.DrillRunReprotectRequest(_Model): + reprotect_properties: ReprotectRequest + + @overload + def __init__( + self, + *, + reprotect_properties: ReprotectRequest + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.resiliencemanagement.models.DrillRunResource(ProxyResource): id: str name: str @@ -2295,6 +2429,13 @@ namespace azure.mgmt.resiliencemanagement.models REPROTECT_REVERSE = "ReprotectReverse" + class azure.mgmt.resiliencemanagement.models.DrillRunTasks(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FAILOVER = "Failover" + FAILOVER_REVERSE = "FailoverReverse" + REPROTECT = "Reprotect" + REPROTECT_REVERSE = "ReprotectReverse" + + class azure.mgmt.resiliencemanagement.models.DrillStartRequest(_Model): mode: Union[str, DrillMode] @@ -2333,9 +2474,11 @@ namespace azure.mgmt.resiliencemanagement.models class azure.mgmt.resiliencemanagement.models.DrillUpdateProperties(_Model): chaos_resource_properties: Optional[ChaosResourcePropertiesOfDrill] drill_asset_properties: Optional[AssetPropertiesOfDrill] + health_model_monitoring_properties: Optional[HealthModelMonitoringProperties] monitoring_properties: Optional[MonitoringPropertiesOfDrill] rbac_setup_mode: Optional[Union[str, RBACSetupMode]] recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] + sli_monitoring_properties: Optional[SliMonitoringProperties] @overload def __init__( @@ -2343,9 +2486,11 @@ namespace azure.mgmt.resiliencemanagement.models *, chaos_resource_properties: Optional[ChaosResourcePropertiesOfDrill] = ..., drill_asset_properties: Optional[AssetPropertiesOfDrill] = ..., + health_model_monitoring_properties: Optional[HealthModelMonitoringProperties] = ..., monitoring_properties: Optional[MonitoringPropertiesOfDrill] = ..., rbac_setup_mode: Optional[Union[str, RBACSetupMode]] = ..., - recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] = ... + recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] = ..., + sli_monitoring_properties: Optional[SliMonitoringProperties] = ... ) -> None: ... @overload @@ -2578,17 +2723,19 @@ namespace azure.mgmt.resiliencemanagement.models class azure.mgmt.resiliencemanagement.models.GoalAssignmentProperties(_Model): error_details: Optional[ErrorDetail] - goal_assignment_type: Union[str, GoalAssignmentType] - goal_template_id: str + goal_assignment_type: Optional[Union[str, GoalAssignmentType]] + goal_template_id: Optional[str] provisioning_state: Optional[Union[str, ProvisioningState]] + require_zonal_resiliency: Optional[bool] service_level_resources: Optional[list[ServiceLevelResource]] @overload def __init__( self, *, - goal_assignment_type: Union[str, GoalAssignmentType], - goal_template_id: str, + goal_assignment_type: Optional[Union[str, GoalAssignmentType]] = ..., + goal_template_id: Optional[str] = ..., + require_zonal_resiliency: Optional[bool] = ..., service_level_resources: Optional[list[ServiceLevelResource]] = ... ) -> None: ... @@ -2623,12 +2770,13 @@ namespace azure.mgmt.resiliencemanagement.models disaster_recovery_goal_participation: Optional[Union[str, ExclusionState]] exclusion_reason_for_disaster_recovery_goals: Optional[Union[str, ExclusionReason]] exclusion_reason_for_high_availability_goals: Optional[Union[str, ExclusionReason]] - high_availability_attestation_status: Union[str, AttestationState] - high_availability_goal_participation: Union[str, ExclusionState] + high_availability_attestation_status: Optional[Union[str, AttestationState]] + high_availability_goal_participation: Optional[Union[str, ExclusionState]] provisioning_state: Optional[Union[str, ProvisioningState]] resource_arm_id: str service_group_memberships: Optional[list[ServiceGroupMembership]] - user_confirmation_for_high_availability: Optional[list[UserConfirmationForHighAvailabilityItem]] + user_confirmation_for_high_availability: Optional[list[UserConfirmationItem]] + zonal_resiliency: Optional[ResiliencyProperties] @overload def __init__( @@ -2636,10 +2784,11 @@ namespace azure.mgmt.resiliencemanagement.models *, disaster_recovery_attestation_status: Optional[Union[str, AttestationState]] = ..., disaster_recovery_goal_participation: Optional[Union[str, ExclusionState]] = ..., - high_availability_attestation_status: Union[str, AttestationState], - high_availability_goal_participation: Union[str, ExclusionState], + high_availability_attestation_status: Optional[Union[str, AttestationState]] = ..., + high_availability_goal_participation: Optional[Union[str, ExclusionState]] = ..., resource_arm_id: str, - user_confirmation_for_high_availability: Optional[list[UserConfirmationForHighAvailabilityItem]] = ... + user_confirmation_for_high_availability: Optional[list[UserConfirmationItem]] = ..., + zonal_resiliency: Optional[ResiliencyProperties] = ... ) -> None: ... @overload @@ -2729,6 +2878,22 @@ namespace azure.mgmt.resiliencemanagement.models NOT_ENABLED = "NotEnabled" + class azure.mgmt.resiliencemanagement.models.HealthModelMonitoringProperties(_Model): + discovery_rule_id: str + identity: AssociatedIdentity + + @overload + def __init__( + self, + *, + discovery_rule_id: str, + identity: AssociatedIdentity + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.resiliencemanagement.models.IncludeOrUpdateResource(_Model): fault_properties: Optional[FaultProperties] id: str @@ -2916,8 +3081,24 @@ namespace azure.mgmt.resiliencemanagement.models last_run_time: Optional[datetime] - class azure.mgmt.resiliencemanagement.models.ManagedOnBehalfOfConfiguration(_Model): - mobo_broker_resources: Optional[list[MoboBrokerResource]] + class azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlRequest(_Model): + format: Optional[Union[str, DrillReportFormat]] + + @overload + def __init__( + self, + *, + format: Optional[Union[str, DrillReportFormat]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse(_Model): + download_url: Optional[str] + expiry_timestamp: Optional[datetime] + format: Optional[Union[str, DrillReportFormat]] class azure.mgmt.resiliencemanagement.models.ManagedServiceIdentity(_Model): @@ -2965,10 +3146,6 @@ namespace azure.mgmt.resiliencemanagement.models THROUGH_SUBSCRIPTION = "ThroughSubscription" - class azure.mgmt.resiliencemanagement.models.MoboBrokerResource(_Model): - id: Optional[str] - - class azure.mgmt.resiliencemanagement.models.MonitoringPropertiesOfDrill(_Model): data_collection_endpoint_id: Optional[str] identity: Optional[AssociatedIdentity] @@ -3015,13 +3192,15 @@ namespace azure.mgmt.resiliencemanagement.models class azure.mgmt.resiliencemanagement.models.OperationQualificationDetails(_Model): not_qualified_reasons: Optional[list[str]] qualification_state: Union[str, QualificationState] + resource_feasibility_reviews: Optional[list[ResourceFeasibilityReview]] @overload def __init__( self, *, not_qualified_reasons: Optional[list[str]] = ..., - qualification_state: Union[str, QualificationState] + qualification_state: Union[str, QualificationState], + resource_feasibility_reviews: Optional[list[ResourceFeasibilityReview]] = ... ) -> None: ... @overload @@ -3068,6 +3247,7 @@ namespace azure.mgmt.resiliencemanagement.models CANCELED = "Canceled" DELETING = "Deleting" FAILED = "Failed" + NEEDS_ATTENTION = "NeedsAttention" PROVISIONING = "Provisioning" SUCCEEDED = "Succeeded" UPDATING = "Updating" @@ -3591,15 +3771,16 @@ namespace azure.mgmt.resiliencemanagement.models error_details: ErrorDetail execution_readiness_state: Union[str, ExecutionReadinessState] execution_state: Union[str, ExecutionState] + health_model_monitoring_properties: HealthModelMonitoringProperties last_resync_readiness_check_time: datetime last_run_properties: LastRunProperties last_sync_time: datetime - managed_on_behalf_of_configuration: ManagedOnBehalfOfConfiguration monitoring_properties: MonitoringPropertiesOfDrill provisioning_state: Union[str, ProvisioningState] rbac_setup_mode: Union[str, RBACSetupMode] recovery_plan_properties: RecoveryPlanPropertiesOfDrill service_group_id: str + sli_monitoring_properties: SliMonitoringProperties system_metadata: SystemMetadata @overload @@ -3608,9 +3789,11 @@ namespace azure.mgmt.resiliencemanagement.models *, chaos_resource_properties: Optional[ChaosResourcePropertiesOfDrill] = ..., drill_asset_properties: Optional[AssetPropertiesOfDrill] = ..., + health_model_monitoring_properties: Optional[HealthModelMonitoringProperties] = ..., monitoring_properties: Optional[MonitoringPropertiesOfDrill] = ..., rbac_setup_mode: Optional[Union[str, RBACSetupMode]] = ..., - recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] = ... + recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] = ..., + sli_monitoring_properties: Optional[SliMonitoringProperties] = ... ) -> None: ... @overload @@ -3622,6 +3805,23 @@ namespace azure.mgmt.resiliencemanagement.models OUT_OF_SYNC = "OutOfSync" + class azure.mgmt.resiliencemanagement.models.ReportStageStatus(_Model): + drill_run_stage: Union[str, DrillRunSubtasks] + generation_status: Optional[Union[str, DrillReportGenerationStatus]] + last_attempt_timestamp: Optional[datetime] + last_error: Optional[ErrorDetails] + + @overload + def __init__( + self, + *, + drill_run_stage: Union[str, DrillRunSubtasks] + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.resiliencemanagement.models.ReprotectRequest(_Model): reprotect_request_properties: Optional[ReprotectRequestProperties] @@ -3661,6 +3861,25 @@ namespace azure.mgmt.resiliencemanagement.models UNHEALTHY = "Unhealthy" + class azure.mgmt.resiliencemanagement.models.ResiliencyProperties(_Model): + attestation_status: Optional[Union[str, AttestationState]] + exclusion_reason: Optional[Union[str, ExclusionReason]] + goal_participation: Optional[Union[str, ExclusionState]] + user_confirmation: Optional[list[UserConfirmationItem]] + + @overload + def __init__( + self, + *, + attestation_status: Optional[Union[str, AttestationState]] = ..., + goal_participation: Optional[Union[str, ExclusionState]] = ..., + user_confirmation: Optional[list[UserConfirmationItem]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.resiliencemanagement.models.Resource(_Model): id: Optional[str] name: Optional[str] @@ -3682,6 +3901,23 @@ namespace azure.mgmt.resiliencemanagement.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.resiliencemanagement.models.ResourceCrossZoneVmRecoveryProtectionSetting(ResourceBaseProtectionSolutionSetting, discriminator='CrossZoneVMRecovery'): + capacity_reservation_group_id: Optional[str] + protection_solution_type: Literal[ResourceProtectionSolutionType.CROSS_ZONE_VM_RECOVERY] + target_zone: Optional[str] + + @overload + def __init__( + self, + *, + capacity_reservation_group_id: Optional[str] = ..., + target_zone: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.resiliencemanagement.models.ResourceCustomProtectionAction(_Model): resource_id: str @@ -3719,6 +3955,39 @@ namespace azure.mgmt.resiliencemanagement.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.resiliencemanagement.models.ResourceFeasibilityReview(_Model): + current_target_sku: Optional[SkuDetails] + feasibility_type: Union[str, ResourceFeasibilityReviewType] + recommended_target_skus: Optional[list[SkuDetails]] + resource_type: str + status: Union[str, ResourceFeasibilityReviewStatus] + + @overload + def __init__( + self, + *, + current_target_sku: Optional[SkuDetails] = ..., + feasibility_type: Union[str, ResourceFeasibilityReviewType], + recommended_target_skus: Optional[list[SkuDetails]] = ..., + resource_type: str, + status: Union[str, ResourceFeasibilityReviewStatus] + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.resiliencemanagement.models.ResourceFeasibilityReviewStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + FLAGGED = "Flagged" + NOT_APPLICABLE = "NotApplicable" + PASSED = "Passed" + UNAVAILABLE = "Unavailable" + + + class azure.mgmt.resiliencemanagement.models.ResourceFeasibilityReviewType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + SKU_CAPACITY = "SkuCapacity" + + class azure.mgmt.resiliencemanagement.models.ResourceInclusionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): EXCLUDED = "Excluded" INCLUDED = "Included" @@ -3872,20 +4141,106 @@ namespace azure.mgmt.resiliencemanagement.models class azure.mgmt.resiliencemanagement.models.ServiceLevelResource(_Model): service_level_indicator_resource_id: str - service_level_objective_resource_id: str + service_level_objective_resource_id: Optional[str] @overload def __init__( self, *, service_level_indicator_resource_id: str, - service_level_objective_resource_id: str + service_level_objective_resource_id: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.resiliencemanagement.models.SkuDetails(_Model): + currency: Optional[str] + monthly_price: Optional[float] + offering_id: Optional[str] + ram: Optional[int] + sku: str + v_cpu: Optional[int] + + @overload + def __init__( + self, + *, + currency: Optional[str] = ..., + monthly_price: Optional[float] = ..., + offering_id: Optional[str] = ..., + ram: Optional[int] = ..., + sku: str, + v_cpu: Optional[int] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.resiliencemanagement.models.SliAttentionStatus(_Model): + drill_rbac_on_destination_amw: Optional[Union[str, RBACState]] + exists: Optional[Union[str, ExtensionObjectState]] + rbac_needed_on_destination_amws: Optional[list[str]] + sli_id: str + type: Union[str, SliType] + type_match: Optional[Union[str, SliTypeMatchState]] + + @overload + def __init__( + self, + *, + sli_id: str, + type: Union[str, SliType] + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.resiliencemanagement.models.SliMonitoringProperties(_Model): + identity: AssociatedIdentity + slis: list[SliSelection] + + @overload + def __init__( + self, + *, + identity: AssociatedIdentity, + slis: list[SliSelection] + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.resiliencemanagement.models.SliSelection(_Model): + sli_id: str + type: Union[str, SliType] + + @overload + def __init__( + self, + *, + sli_id: str, + type: Union[str, SliType] ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.resiliencemanagement.models.SliType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AVAILABILITY = "Availability" + LATENCY = "Latency" + + + class azure.mgmt.resiliencemanagement.models.SliTypeMatchState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + MATCHED = "Matched" + MISMATCHED = "Mismatched" + + class azure.mgmt.resiliencemanagement.models.SolutionDisplayName(str, Enum, metaclass=CaseInsensitiveEnumMeta): VM_IN_MULTI_ZONE_VMSS = "VmInMultiZoneVmss" ZONE_PINNED_VM_WITH_ZRS_DISK = "ZonePinnedVmWithZrsDisk" @@ -4134,7 +4489,7 @@ namespace azure.mgmt.resiliencemanagement.models principal_id: Optional[str] - class azure.mgmt.resiliencemanagement.models.UserConfirmationForHighAvailabilityItem(_Model): + class azure.mgmt.resiliencemanagement.models.UserConfirmationItem(_Model): confirmation_status: Union[str, ConfirmationStatus] reason_for_requesting_confirmation: Optional[Union[str, ReasonForRequestingConfirmation]] solution_display_name: Union[str, SolutionDisplayName] @@ -4163,13 +4518,15 @@ namespace azure.mgmt.resiliencemanagement.models class azure.mgmt.resiliencemanagement.models.ValidateForExecutionProperties(_Model): - source_locations: list[str] + operation_name: Optional[Union[str, DrillRunTasks]] + source_locations: Optional[list[str]] @overload def __init__( self, *, - source_locations: list[str] + operation_name: Optional[Union[str, DrillRunTasks]] = ..., + source_locations: Optional[list[str]] = ... ) -> None: ... @overload @@ -4226,15 +4583,16 @@ namespace azure.mgmt.resiliencemanagement.models error_details: ErrorDetail execution_readiness_state: Union[str, ExecutionReadinessState] execution_state: Union[str, ExecutionState] + health_model_monitoring_properties: HealthModelMonitoringProperties last_resync_readiness_check_time: datetime last_run_properties: LastRunProperties last_sync_time: datetime - managed_on_behalf_of_configuration: ManagedOnBehalfOfConfiguration monitoring_properties: MonitoringPropertiesOfDrill provisioning_state: Union[str, ProvisioningState] rbac_setup_mode: Union[str, RBACSetupMode] recovery_plan_properties: RecoveryPlanPropertiesOfDrill service_group_id: str + sli_monitoring_properties: SliMonitoringProperties system_metadata: SystemMetadata vms_present: Optional[Union[str, VMPresent]] @@ -4244,9 +4602,11 @@ namespace azure.mgmt.resiliencemanagement.models *, chaos_resource_properties: Optional[ChaosResourcePropertiesOfDrill] = ..., drill_asset_properties: Optional[AssetPropertiesOfDrill] = ..., + health_model_monitoring_properties: Optional[HealthModelMonitoringProperties] = ..., monitoring_properties: Optional[MonitoringPropertiesOfDrill] = ..., rbac_setup_mode: Optional[Union[str, RBACSetupMode]] = ..., - recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] = ... + recovery_plan_properties: Optional[RecoveryPlanPropertiesOfDrill] = ..., + sli_monitoring_properties: Optional[SliMonitoringProperties] = ... ) -> None: ... @overload @@ -4339,7 +4699,7 @@ namespace azure.mgmt.resiliencemanagement.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: DrillRunAddNotesRequest, *, content_type: str = "application/json", operation_id: str, @@ -4365,7 +4725,7 @@ namespace azure.mgmt.resiliencemanagement.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: DrillRunFailoverRequest, + body: Optional[DrillRunFailoverRequest] = None, *, content_type: str = "application/json", operation_id: str, @@ -4378,7 +4738,7 @@ namespace azure.mgmt.resiliencemanagement.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: Optional[DrillRunFailoverRequest] = None, *, content_type: str = "application/json", operation_id: str, @@ -4391,13 +4751,25 @@ namespace azure.mgmt.resiliencemanagement.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: IO[bytes], + body: Optional[IO[bytes]] = None, *, content_type: str = "application/json", operation_id: str, **kwargs: Any ) -> LROPoller[None]: ... + @distributed_trace + @api_version_validation(method_added_on='2026-08-31-preview', params_added_on={'2026-08-31-preview': ['service_group_name', 'api_version', 'operation_id', 'drill_name', 'drill_run_name', 'accept']}, api_versions_list=['2026-08-31-preview']) + def begin_generate_report( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + *, + operation_id: str, + **kwargs: Any + ) -> LROPoller[None]: ... + @overload def begin_mark_as_complete( self, @@ -4417,7 +4789,7 @@ namespace azure.mgmt.resiliencemanagement.operations service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: MarkAsCompleteRequest, *, content_type: str = "application/json", operation_id: str, @@ -4437,13 +4809,41 @@ namespace azure.mgmt.resiliencemanagement.operations **kwargs: Any ) -> LROPoller[None]: ... - @distributed_trace + @overload def begin_reprotect( self, service_group_name: str, drill_name: str, drill_run_name: str, + body: Optional[DrillRunReprotectRequest] = None, *, + content_type: str = "application/json", + operation_id: str, + **kwargs: Any + ) -> LROPoller[None]: ... + + @overload + def begin_reprotect( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[DrillRunReprotectRequest] = None, + *, + content_type: str = "application/json", + operation_id: str, + **kwargs: Any + ) -> LROPoller[None]: ... + + @overload + def begin_reprotect( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", operation_id: str, **kwargs: Any ) -> LROPoller[None]: ... @@ -4476,6 +4876,42 @@ namespace azure.mgmt.resiliencemanagement.operations **kwargs: Any ) -> ItemPaged[DrillRun]: ... + @overload + def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[ListReportDownloadUrlRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> ListReportDownloadUrlResponse: ... + + @overload + def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[ListReportDownloadUrlRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> ListReportDownloadUrlResponse: ... + + @overload + def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> ListReportDownloadUrlResponse: ... + class azure.mgmt.resiliencemanagement.operations.DrillsOperations: @@ -4502,7 +4938,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, drill_name: str, - body: JSON, + body: AddOrUpdateResourcesRequest, *, content_type: str = "application/json", operation_id: str, @@ -4537,7 +4973,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, drill_name: str, - resource: JSON, + resource: Drill, *, content_type: str = "application/json", **kwargs: Any @@ -4579,7 +5015,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, drill_name: str, - body: JSON, + body: DrillEndRequest, *, content_type: str = "application/json", operation_id: str, @@ -4599,7 +5035,7 @@ namespace azure.mgmt.resiliencemanagement.operations ) -> LROPoller[None]: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['service_group_name', 'api_version', 'operation_id', 'drill_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['service_group_name', 'api_version', 'operation_id', 'drill_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def begin_resync_readiness_check( self, service_group_name: str, @@ -4626,7 +5062,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, drill_name: str, - body: JSON, + body: DrillStartRequest, *, content_type: str = "application/json", operation_id: str, @@ -4661,7 +5097,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, drill_name: str, - properties: JSON, + properties: DrillUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -4695,7 +5131,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, drill_name: str, - body: JSON, + body: ValidateForExecutionRequest, *, content_type: str = "application/json", operation_id: str, @@ -4759,7 +5195,7 @@ namespace azure.mgmt.resiliencemanagement.operations resource_group_name: str, usage_plan_name: str, enrollment_name: str, - resource: JSON, + resource: Enrollment, *, content_type: str = "application/json", **kwargs: Any @@ -4778,7 +5214,7 @@ namespace azure.mgmt.resiliencemanagement.operations ) -> LROPoller[Enrollment]: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'enrollment_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'enrollment_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def begin_delete( self, resource_group_name: str, @@ -4788,7 +5224,7 @@ namespace azure.mgmt.resiliencemanagement.operations ) -> LROPoller[None]: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'enrollment_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'enrollment_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def get( self, resource_group_name: str, @@ -4798,7 +5234,7 @@ namespace azure.mgmt.resiliencemanagement.operations ) -> Enrollment: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def list( self, resource_group_name: str, @@ -4831,7 +5267,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, goal_assignment_name: str, - resource: JSON, + resource: GoalAssignment, *, content_type: str = "application/json", **kwargs: Any @@ -4872,7 +5308,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, goal_assignment_name: str, - body: JSON, + body: RecommendCapacityRequest, *, content_type: str = "application/json", **kwargs: Any @@ -4913,7 +5349,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, goal_assignment_name: str, - properties: JSON, + properties: GoalAssignment, *, content_type: str = "application/json", **kwargs: Any @@ -4946,7 +5382,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, goal_assignment_name: str, - body: JSON, + body: UpdateGoalResourceRequest, *, content_type: str = "application/json", **kwargs: Any @@ -5035,7 +5471,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, goal_template_name: str, - resource: JSON, + resource: GoalTemplate, *, content_type: str = "application/json", **kwargs: Any @@ -5076,7 +5512,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, goal_template_name: str, - properties: JSON, + properties: GoalTemplate, *, content_type: str = "application/json", **kwargs: Any @@ -5196,7 +5632,7 @@ namespace azure.mgmt.resiliencemanagement.operations service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: JSON, + body: RecoveryActionRequest, *, content_type: str = "application/json", operation_id: str, @@ -5235,7 +5671,7 @@ namespace azure.mgmt.resiliencemanagement.operations service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: JSON, + body: RecoveryActionRequest, *, content_type: str = "application/json", operation_id: str, @@ -5319,7 +5755,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: FailoverRequest, *, content_type: str = "application/json", operation_id: str, @@ -5375,7 +5811,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - body: Optional[JSON] = None, + body: Optional[ReprotectRequest] = None, *, content_type: str = "application/json", operation_id: str, @@ -5411,7 +5847,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: FailoverRequest, *, content_type: str = "application/json", operation_id: str, @@ -5447,7 +5883,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: TestFailoverCleanupRequest, *, content_type: str = "application/json", operation_id: str, @@ -5483,7 +5919,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: UpdateRecoveryResourcesRequest, *, content_type: str = "application/json", operation_id: str, @@ -5519,7 +5955,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: FailoverRequest, *, content_type: str = "application/json", operation_id: str, @@ -5565,7 +6001,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: ValidateForOperationRequest, *, content_type: str = "application/json", operation_id: str, @@ -5601,7 +6037,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - body: Optional[JSON] = None, + body: Optional[ReprotectRequest] = None, *, content_type: str = "application/json", operation_id: str, @@ -5637,7 +6073,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: FailoverRequest, *, content_type: str = "application/json", operation_id: str, @@ -5691,7 +6127,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - resource: JSON, + resource: RecoveryPlan, *, content_type: str = "application/json", **kwargs: Any @@ -5732,7 +6168,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, service_group_name: str, recovery_plan_name: str, - properties: JSON, + properties: RecoveryPlan, *, content_type: str = "application/json", **kwargs: Any @@ -5845,7 +6281,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, resource_group_name: str, usage_plan_name: str, - resource: JSON, + resource: UsagePlan, *, content_type: str = "application/json", **kwargs: Any @@ -5863,7 +6299,7 @@ namespace azure.mgmt.resiliencemanagement.operations ) -> LROPoller[UsagePlan]: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def begin_delete( self, resource_group_name: str, @@ -5887,7 +6323,7 @@ namespace azure.mgmt.resiliencemanagement.operations self, resource_group_name: str, usage_plan_name: str, - properties: JSON, + properties: UsagePlanTagsUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -5905,7 +6341,7 @@ namespace azure.mgmt.resiliencemanagement.operations ) -> LROPoller[UsagePlan]: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'usage_plan_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def get( self, resource_group_name: str, @@ -5914,7 +6350,7 @@ namespace azure.mgmt.resiliencemanagement.operations ) -> UsagePlan: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def list_by_resource_group( self, resource_group_name: str, @@ -5922,8 +6358,975 @@ namespace azure.mgmt.resiliencemanagement.operations ) -> ItemPaged[UsagePlan]: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview']) + @api_version_validation(method_added_on='2026-03-01-preview', params_added_on={'2026-03-01-preview': ['api_version', 'subscription_id', 'accept']}, api_versions_list=['2026-03-01-preview', '2026-04-01-preview', '2026-06-01-preview', '2026-08-31-preview']) def list_by_subscription(self, **kwargs: Any) -> ItemPaged[UsagePlan]: ... +namespace azure.mgmt.resiliencemanagement.types + + class azure.mgmt.resiliencemanagement.types.AddOrUpdateResourcesRequest(TypedDict, total=False): + key "faultDurationInMin": Required[int] + key "forceInclusionAndUpdate": Union[str, ForceInclusionAndUpdate] + key "resourceLists": ForwardRef('ResourceLists', module='types') + faultDurationInMin: int + forceInclusionAndUpdate: Union[str, ForceInclusionAndUpdate] + resourceLists: ResourceLists + + + class azure.mgmt.resiliencemanagement.types.AssetPropertiesOfDrill(TypedDict, total=False): + key "region": Required[str] + key "resourceGroup": str + key "subscription": Required[str] + region: str + resourceGroup: str + subscription: str + + + class azure.mgmt.resiliencemanagement.types.AssociatedIdentity(TypedDict, total=False): + key "type": Required[Union[str, ManagedServiceIdentityType]] + key "userAssignedIdentity": str + type: Union[str, ManagedServiceIdentityType] + userAssignedIdentity: str + + + class azure.mgmt.resiliencemanagement.types.AttentionReason(TypedDict, total=False): + key "chaosResource": Union[str, ExtensionObjectState] + key "chaosResourceUserMsi": Union[str, ExtensionObjectState] + key "discoveryRuleExists": Union[str, ExtensionObjectState] + key "drillMonitoringResources": Union[str, ExtensionObjectState] + key "drillRbacOnChaosResource": Union[str, RBACState] + key "drillRbacOnHealthModel": Union[str, RBACState] + key "drillRbacOnMonitoringResources": Union[str, RBACState] + key "drillRbacOnRecoveryPlan": Union[str, RBACState] + key "drillRbacOnSli": Union[str, RBACState] + key "drillUserMsi": Union[str, ExtensionObjectState] + key "healthModelExists": Union[str, ExtensionObjectState] + key "includedResourceInDrill": Union[str, ExtensionObjectState] + key "monitoringRbacOnDrillResources": Union[str, RBACState] + key "monitoringSourceNotConfigured": bool + key "rbacOnTargetResources": Union[str, RBACState] + key "recoveryPlanAndDrillResourcesState": Union[str, RelativeResourceCompositionState] + key "roReadiness": Union[str, RecoveryPlanState] + key "runbookFaultRbacOnTargets": Union[str, RBACState] + key "serviceGroupAndDrillResourcesState": Union[str, RelativeResourceCompositionState] + chaosResource: Union[str, ExtensionObjectState] + chaosResourceCreationFailureReasons: list[str] + chaosResourceUserMsi: Union[str, ExtensionObjectState] + discoveryRuleExists: Union[str, ExtensionObjectState] + drillMonitoringErrors: list[ErrorDetails] + drillMonitoringResources: Union[str, ExtensionObjectState] + drillRbacOnChaosResource: Union[str, RBACState] + drillRbacOnHealthModel: Union[str, RBACState] + drillRbacOnMonitoringResources: Union[str, RBACState] + drillRbacOnRecoveryPlan: Union[str, RBACState] + drillRbacOnSli: Union[str, RBACState] + drillUserMsi: Union[str, ExtensionObjectState] + healthModelExists: Union[str, ExtensionObjectState] + includedResourceInDrill: Union[str, ExtensionObjectState] + missingRequiredResourceProviders: list[str] + monitoringRbacOnDrillResources: Union[str, RBACState] + monitoringSourceNotConfigured: bool + rbacNeededForDrillOnChaosResource: list[str] + rbacNeededForDrillOnDrillMonitoringResources: list[str] + rbacNeededForDrillOnDrillResources: list[str] + rbacNeededForDrillOnHealthModel: list[str] + rbacNeededForDrillOnRecoveryPlan: list[str] + rbacOnTargetResources: Union[str, RBACState] + recoveryPlanAndDrillResourcesState: Union[str, RelativeResourceCompositionState] + roReadiness: Union[str, RecoveryPlanState] + runbookFaultRbacOnTargets: Union[str, RBACState] + serviceGroupAndDrillResourcesState: Union[str, RelativeResourceCompositionState] + sliAttentionStatuses: list[SliAttentionStatus] + + + class azure.mgmt.resiliencemanagement.types.ChaosResourcePropertiesOfDrill(TypedDict, total=False): + key "chaosResourceId": str + key "chaosResourceIdentityForFaults": Required[AssociatedIdentity] + key "faultDurationInMin": int + key "identity": Required[AssociatedIdentity] + chaosResourceId: str + chaosResourceIdentityForFaults: AssociatedIdentity + faultDurationInMin: int + identity: AssociatedIdentity + + + class azure.mgmt.resiliencemanagement.types.CustomFaultDetails(TypedDict, total=False): + key "faultName": Required[str] + key "scriptResourceId": Required[str] + faultName: str + scriptResourceId: str + + + class azure.mgmt.resiliencemanagement.types.DiskReprotectInputDetails(TypedDict, total=False): + key "diskResourceId": str + key "stagingStorageAccountResourceId": str + diskResourceId: str + stagingStorageAccountResourceId: str + + + class azure.mgmt.resiliencemanagement.types.Drill(ProxyResource): + key "id": str + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "name": str + key "properties": ForwardRef('DrillProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + identity: ManagedServiceIdentity + name: str + properties: DrillProperties + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.DrillEndRequest(TypedDict, total=False): + key "attestation": Required[Union[str, DrillAttestation]] + key "attestationNotes": Required[str] + attestation: Union[str, DrillAttestation] + attestationNotes: str + + + class azure.mgmt.resiliencemanagement.types.DrillRunAddNotesRequest(TypedDict, total=False): + key "author": str + key "notes": str + key "timestamp": str + author: str + notes: str + timestamp: str + + + class azure.mgmt.resiliencemanagement.types.DrillRunFailoverRequest(TypedDict, total=False): + key "autoFailover": Required[Union[str, AutoFailover]] + key "failoverProperties": Required[FailoverRequest] + autoFailover: Union[str, AutoFailover] + failoverProperties: FailoverRequest + + + class azure.mgmt.resiliencemanagement.types.DrillRunReprotectRequest(TypedDict, total=False): + key "reprotectProperties": Required[ReprotectRequest] + reprotectProperties: ReprotectRequest + + + class azure.mgmt.resiliencemanagement.types.DrillStartRequest(TypedDict, total=False): + key "mode": Required[Union[str, DrillMode]] + mode: Union[str, DrillMode] + + + class azure.mgmt.resiliencemanagement.types.DrillType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + REGIONAL = "Regional" + ZONAL = "Zonal" + + + class azure.mgmt.resiliencemanagement.types.DrillUpdate(TypedDict, total=False): + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "properties": ForwardRef('DrillUpdateProperties', module='types') + identity: ManagedServiceIdentity + properties: DrillUpdateProperties + + + class azure.mgmt.resiliencemanagement.types.DrillUpdateProperties(TypedDict, total=False): + key "chaosResourceProperties": ForwardRef('ChaosResourcePropertiesOfDrill', module='types') + key "drillAssetProperties": ForwardRef('AssetPropertiesOfDrill', module='types') + key "healthModelMonitoringProperties": Optional[HealthModelMonitoringProperties] + key "monitoringProperties": ForwardRef('MonitoringPropertiesOfDrill', module='types') + key "rbacSetupMode": Union[str, RBACSetupMode] + key "recoveryPlanProperties": ForwardRef('RecoveryPlanPropertiesOfDrill', module='types') + key "sliMonitoringProperties": Optional[SliMonitoringProperties] + chaosResourceProperties: ChaosResourcePropertiesOfDrill + drillAssetProperties: AssetPropertiesOfDrill + healthModelMonitoringProperties: HealthModelMonitoringProperties + monitoringProperties: MonitoringPropertiesOfDrill + rbacSetupMode: Union[str, RBACSetupMode] + recoveryPlanProperties: RecoveryPlanPropertiesOfDrill + sliMonitoringProperties: SliMonitoringProperties + + + class azure.mgmt.resiliencemanagement.types.Enrollment(ProxyResource): + key "id": str + key "name": str + key "properties": ForwardRef('EnrollmentProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + properties: EnrollmentProperties + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.EnrollmentProperties(TypedDict, total=False): + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "provisioningState": Union[str, ProvisioningState] + key "serviceGroupId": Required[str] + errorDetails: ErrorDetail + provisioningState: Union[str, ProvisioningState] + serviceGroupId: str + + + class azure.mgmt.resiliencemanagement.types.ErrorAdditionalInfo(TypedDict, total=False): + key "info": Any + key "type": str + info: Any + type: str + + + class azure.mgmt.resiliencemanagement.types.ErrorDetail(TypedDict, total=False): + key "code": str + key "message": str + key "target": str + additionalInfo: list[ErrorAdditionalInfo] + code: str + details: list[ErrorDetail] + message: str + target: str + + + class azure.mgmt.resiliencemanagement.types.ErrorDetails(TypedDict, total=False): + key "code": Required[str] + key "message": Required[str] + code: str + message: str + recommendations: list[str] + + + class azure.mgmt.resiliencemanagement.types.ExecutionConfigurations(TypedDict, total=False): + key "userConsent": Required[Union[str, UserConsent]] + userConsent: Union[str, UserConsent] + + + class azure.mgmt.resiliencemanagement.types.FailoverRequest(TypedDict, total=False): + key "failoverDirection": Required[Union[str, FailoverDirectionTypes]] + key "failoverRequestProperties": ForwardRef('FailoverRequestProperties', module='types') + failoverDirection: Union[str, FailoverDirectionTypes] + failoverRequestProperties: FailoverRequestProperties + + + class azure.mgmt.resiliencemanagement.types.FailoverRequestProperties(TypedDict, total=False): + key "executionConfigurations": ForwardRef('ExecutionConfigurations', module='types') + key "sourceLocations": Required[list[str]] + executionConfigurations: ExecutionConfigurations + selectedResourceIds: list[str] + sourceLocations: list[str] + + + class azure.mgmt.resiliencemanagement.types.FaultDetails(TypedDict, total=False): + key "faultName": Required[str] + key "faultUrn": Required[str] + key "targetResourceId": Required[str] + faultName: str + faultUrn: str + targetResourceId: str + + + class azure.mgmt.resiliencemanagement.types.FaultProperties(TypedDict, total=False): + key "customFault": ForwardRef('CustomFaultDetails', module='types') + key "defaultFault": ForwardRef('FaultDetails', module='types') + key "overriddenDefaultFault": ForwardRef('FaultDetails', module='types') + availableFaults: list[FaultDetails] + customFault: CustomFaultDetails + defaultFault: FaultDetails + overriddenDefaultFault: FaultDetails + + + class azure.mgmt.resiliencemanagement.types.GoalAssignment(ProxyResource): + key "id": str + key "name": str + key "properties": ForwardRef('GoalAssignmentProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + properties: GoalAssignmentProperties + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.GoalAssignmentProperties(TypedDict, total=False): + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "goalAssignmentType": Union[str, GoalAssignmentType] + key "goalTemplateId": str + key "provisioningState": Union[str, ProvisioningState] + key "requireZonalResiliency": bool + errorDetails: ErrorDetail + goalAssignmentType: Union[str, GoalAssignmentType] + goalTemplateId: str + provisioningState: Union[str, ProvisioningState] + requireZonalResiliency: bool + serviceLevelResources: list[ServiceLevelResource] + + + class azure.mgmt.resiliencemanagement.types.GoalResource(ProxyResource): + key "id": str + key "name": str + key "properties": ForwardRef('GoalResourceProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + properties: GoalResourceProperties + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.GoalResourceProperties(TypedDict, total=False): + key "disasterRecoveryAttestationStatus": Union[str, AttestationState] + key "disasterRecoveryGoalParticipation": Union[str, ExclusionState] + key "exclusionReasonForDisasterRecoveryGoals": Union[str, ExclusionReason] + key "exclusionReasonForHighAvailabilityGoals": Union[str, ExclusionReason] + key "highAvailabilityAttestationStatus": Union[str, AttestationState] + key "highAvailabilityGoalParticipation": Union[str, ExclusionState] + key "provisioningState": Union[str, ProvisioningState] + key "resourceArmId": Required[str] + key "zonalResiliency": ForwardRef('ResiliencyProperties', module='types') + disasterRecoveryAttestationStatus: Union[str, AttestationState] + disasterRecoveryGoalParticipation: Union[str, ExclusionState] + exclusionReasonForDisasterRecoveryGoals: Union[str, ExclusionReason] + exclusionReasonForHighAvailabilityGoals: Union[str, ExclusionReason] + highAvailabilityAttestationStatus: Union[str, AttestationState] + highAvailabilityGoalParticipation: Union[str, ExclusionState] + provisioningState: Union[str, ProvisioningState] + resourceArmId: str + serviceGroupMemberships: list[ServiceGroupMembership] + userConfirmationForHighAvailability: list[UserConfirmationItem] + zonalResiliency: ResiliencyProperties + + + class azure.mgmt.resiliencemanagement.types.GoalTemplate(ProxyResource): + key "id": str + key "name": str + key "properties": ForwardRef('GoalTemplateProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + properties: GoalTemplateProperties + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.GoalTemplateProperties(TypedDict, total=False): + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "goalType": Required[Union[str, GoalType]] + key "provisioningState": Union[str, ProvisioningState] + key "regionalRecoveryPointObjective": str + key "regionalRecoveryTimeObjective": str + key "requireDisasterRecovery": Union[str, RequirementSelected] + key "requireHighAvailability": Union[str, RequirementSelected] + errorDetails: ErrorDetail + goalType: Union[str, GoalType] + provisioningState: Union[str, ProvisioningState] + regionalRecoveryPointObjective: str + regionalRecoveryTimeObjective: str + requireDisasterRecovery: Union[str, RequirementSelected] + requireHighAvailability: Union[str, RequirementSelected] + + + class azure.mgmt.resiliencemanagement.types.HealthModelMonitoringProperties(TypedDict, total=False): + key "discoveryRuleId": Required[str] + key "identity": Required[AssociatedIdentity] + discoveryRuleId: str + identity: AssociatedIdentity + + + class azure.mgmt.resiliencemanagement.types.IncludeOrUpdateResource(TypedDict, total=False): + key "faultProperties": ForwardRef('FaultProperties', module='types') + key "id": Required[str] + faultProperties: FaultProperties + id: str + + + class azure.mgmt.resiliencemanagement.types.LastRunProperties(TypedDict, total=False): + key "lastRunAttestation": Union[str, DrillAttestation] + key "lastRunDuration": str + key "lastRunState": Union[str, JobStatus] + key "lastRunTime": str + lastRunAttestation: Union[str, DrillAttestation] + lastRunDuration: str + lastRunState: Union[str, JobStatus] + lastRunTime: str + + + class azure.mgmt.resiliencemanagement.types.ListReportDownloadUrlRequest(TypedDict, total=False): + key "format": Union[str, DrillReportFormat] + format: Union[str, DrillReportFormat] + + + class azure.mgmt.resiliencemanagement.types.ManagedServiceIdentity(TypedDict, total=False): + key "principalId": str + key "tenantId": str + key "type": Required[Union[str, ManagedServiceIdentityType]] + principalId: str + tenantId: str + type: Union[str, ManagedServiceIdentityType] + userAssignedIdentities: dict[str, UserAssignedIdentity] + + + class azure.mgmt.resiliencemanagement.types.MarkAsCompleteRequest(TypedDict, total=False): + key "drillRunStage": Required[Union[str, DrillRunSubtasks]] + drillRunStage: Union[str, DrillRunSubtasks] + + + class azure.mgmt.resiliencemanagement.types.MonitoringPropertiesOfDrill(TypedDict, total=False): + key "dataCollectionEndpointId": str + key "identity": ForwardRef('AssociatedIdentity', module='types') + key "logAnalyticsWorkspaceId": str + key "rawMetricsDataCollectionRuleId": str + key "serviceGroupMetricsDataCollectionRuleId": str + dataCollectionEndpointId: str + identity: AssociatedIdentity + logAnalyticsWorkspaceId: str + rawMetricsDataCollectionRuleId: str + serviceGroupMetricsDataCollectionRuleId: str + + + class azure.mgmt.resiliencemanagement.types.ProxyResource(Resource): + key "id": str + key "name": str + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.RecommendCapacityRequest(TypedDict, total=False): + key "resourceIds": Required[list[str]] + resourceIds: list[str] + + + class azure.mgmt.resiliencemanagement.types.RecoveryActionRequest(TypedDict, total=False): + key "description": str + description: str + + + class azure.mgmt.resiliencemanagement.types.RecoveryGroup(ProxyResource): + key "id": str + key "name": str + key "properties": ForwardRef('RecoveryGroupProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + properties: RecoveryGroupProperties + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.RecoveryGroupActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CUSTOM_RUNBOOK = "CustomRunbook" + MANUAL_ACTION = "ManualAction" + + + class azure.mgmt.resiliencemanagement.types.RecoveryGroupCustomRunbookAction(TypedDict, total=False): + key "actionResourceId": str + key "associatedIdentity": ForwardRef('AssociatedIdentity', module='types') + key "description": str + key "name": Required[str] + key "timeoutInMinutes": Required[int] + key "type": Required[Literal[RecoveryGroupActionType.CUSTOM_RUNBOOK]] + actionResourceId: str + associatedIdentity: AssociatedIdentity + description: str + name: str + parameters: dict[str, str] + timeoutInMinutes: int + type: Literal[RecoveryGroupActionType.CUSTOM_RUNBOOK] + + + class azure.mgmt.resiliencemanagement.types.RecoveryGroupManualAction(TypedDict, total=False): + key "description": str + key "name": Required[str] + key "timeoutInMinutes": Required[int] + key "type": Required[Literal[RecoveryGroupActionType.MANUAL_ACTION]] + description: str + name: str + timeoutInMinutes: int + type: Literal[RecoveryGroupActionType.MANUAL_ACTION] + + + class azure.mgmt.resiliencemanagement.types.RecoveryGroupProperties(TypedDict, total=False): + key "description": Required[str] + key "groupUniqueId": Required[str] + key "orderId": Required[int] + description: str + groupUniqueId: str + orderId: int + postActions: list[RecoveryGroupBaseAction] + preActions: list[RecoveryGroupBaseAction] + + + class azure.mgmt.resiliencemanagement.types.RecoveryGroupsSetting(TypedDict, total=False): + key "defaultGroup": Required[RecoveryGroup] + additionalGroups: list[RecoveryGroup] + defaultGroup: RecoveryGroup + + + class azure.mgmt.resiliencemanagement.types.RecoveryPlan(ProxyResource): + key "id": str + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "name": str + key "properties": ForwardRef('RecoveryPlanProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + identity: ManagedServiceIdentity + name: str + properties: RecoveryPlanProperties + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.RecoveryPlanFailoverOperationStatus(TypedDict, total=False): + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "lastExecutedAt": str + key "operationStatus": Union[str, RecoveryOperationStatus] + key "recoveryTimeActual": str + errorDetails: ErrorDetail + lastExecutedAt: str + operationStatus: Union[str, RecoveryOperationStatus] + recoveryTimeActual: str + + + class azure.mgmt.resiliencemanagement.types.RecoveryPlanOperationStatus(TypedDict, total=False): + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "lastExecutedAt": str + key "operationStatus": Union[str, RecoveryOperationStatus] + errorDetails: ErrorDetail + lastExecutedAt: str + operationStatus: Union[str, RecoveryOperationStatus] + + + class azure.mgmt.resiliencemanagement.types.RecoveryPlanProperties(TypedDict, total=False): + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "latestFailoverStatus": ForwardRef('RecoveryPlanFailoverOperationStatus', module='types') + key "latestValidationStatus": ForwardRef('RecoveryPlanOperationStatus', module='types') + key "planDescription": Required[str] + key "planState": Union[str, RecoveryPlanState] + key "planType": Required[Union[str, RecoveryPlanType]] + key "provisioningState": Union[str, ProvisioningState] + key "recoveryGroupsSetting": Required[RecoveryGroupsSetting] + errorDetails: ErrorDetail + latestFailoverStatus: RecoveryPlanFailoverOperationStatus + latestValidationStatus: RecoveryPlanOperationStatus + planDescription: str + planState: Union[str, RecoveryPlanState] + planType: Union[str, RecoveryPlanType] + provisioningState: Union[str, ProvisioningState] + recoveryGroupsSetting: RecoveryGroupsSetting + + + class azure.mgmt.resiliencemanagement.types.RecoveryPlanPropertiesOfDrill(TypedDict, total=False): + key "identity": Required[AssociatedIdentity] + key "recoveryPlanId": str + key "recoveryPlanResourceExcludedCount": int + identity: AssociatedIdentity + recoveryPlanId: str + recoveryPlanResourceExcludedCount: int + + + class azure.mgmt.resiliencemanagement.types.RecoveryResource(ProxyResource): + key "id": str + key "name": str + key "properties": ForwardRef('RecoveryResourceProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + properties: RecoveryResourceProperties + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.RecoveryResourceProperties(TypedDict, total=False): + key "associatedIdentity": ForwardRef('AssociatedIdentity', module='types') + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "inclusionState": Union[str, ResourceInclusionState] + key "needsAttention": bool + key "protectionStatus": Union[str, ResourceProtectionStatus] + key "provisioningState": Union[str, ProvisioningState] + key "recoveryGroupId": str + key "recoveryResourceUniqueId": Required[str] + key "resourceId": str + key "resourceLocation": str + key "selectedProtectionSolutionSetting": ForwardRef('ResourceBaseProtectionSolutionSetting', module='types') + key "selectedProtectionSolutionType": Union[str, ResourceProtectionSolutionType] + associatedIdentity: AssociatedIdentity + attentionReasons: list[str] + errorDetails: ErrorDetail + inclusionState: Union[str, ResourceInclusionState] + needsAttention: bool + protectionStatus: Union[str, ResourceProtectionStatus] + provisioningState: Union[str, ProvisioningState] + recoveryGroupId: str + recoveryResourceUniqueId: str + resourceId: str + resourceLocation: str + resourcePhysicalZones: list[str] + resourceProtectionSolutions: list[ResourceProtectionSolutionSettings] + selectedProtectionSolutionSetting: ResourceBaseProtectionSolutionSetting + selectedProtectionSolutionType: Union[str, ResourceProtectionSolutionType] + + + class azure.mgmt.resiliencemanagement.types.RegionalDrillProperties(TypedDict, total=False): + key "attentionReason": ForwardRef('AttentionReason', module='types') + key "chaosResourceProperties": ForwardRef('ChaosResourcePropertiesOfDrill', module='types') + key "drillAssetProperties": ForwardRef('AssetPropertiesOfDrill', module='types') + key "drillType": Required[Literal[DrillType.REGIONAL]] + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "executionReadinessState": Union[str, ExecutionReadinessState] + key "executionState": Union[str, ExecutionState] + key "healthModelMonitoringProperties": ForwardRef('HealthModelMonitoringProperties', module='types') + key "lastResyncReadinessCheckTime": str + key "lastRunProperties": ForwardRef('LastRunProperties', module='types') + key "lastSyncTime": str + key "monitoringProperties": ForwardRef('MonitoringPropertiesOfDrill', module='types') + key "provisioningState": Union[str, ProvisioningState] + key "rbacSetupMode": Union[str, RBACSetupMode] + key "recoveryPlanProperties": ForwardRef('RecoveryPlanPropertiesOfDrill', module='types') + key "serviceGroupId": str + key "sliMonitoringProperties": ForwardRef('SliMonitoringProperties', module='types') + key "systemMetadata": ForwardRef('SystemMetadata', module='types') + attentionReason: AttentionReason + chaosResourceProperties: ChaosResourcePropertiesOfDrill + drillAssetProperties: AssetPropertiesOfDrill + drillType: Literal[DrillType.REGIONAL] + errorDetails: ErrorDetail + executionReadinessState: Union[str, ExecutionReadinessState] + executionState: Union[str, ExecutionState] + healthModelMonitoringProperties: HealthModelMonitoringProperties + lastResyncReadinessCheckTime: str + lastRunProperties: LastRunProperties + lastSyncTime: str + monitoringProperties: MonitoringPropertiesOfDrill + provisioningState: Union[str, ProvisioningState] + rbacSetupMode: Union[str, RBACSetupMode] + recoveryPlanProperties: RecoveryPlanPropertiesOfDrill + serviceGroupId: str + sliMonitoringProperties: SliMonitoringProperties + systemMetadata: SystemMetadata + + + class azure.mgmt.resiliencemanagement.types.ReprotectRequest(TypedDict, total=False): + key "reprotectRequestProperties": ForwardRef('ReprotectRequestProperties', module='types') + reprotectRequestProperties: ReprotectRequestProperties + + + class azure.mgmt.resiliencemanagement.types.ReprotectRequestProperties(TypedDict, total=False): + selectedResourceIds: list[str] + + + class azure.mgmt.resiliencemanagement.types.ResiliencyProperties(TypedDict, total=False): + key "attestationStatus": Union[str, AttestationState] + key "exclusionReason": Union[str, ExclusionReason] + key "goalParticipation": Union[str, ExclusionState] + attestationStatus: Union[str, AttestationState] + exclusionReason: Union[str, ExclusionReason] + goalParticipation: Union[str, ExclusionState] + userConfirmation: list[UserConfirmationItem] + + + class azure.mgmt.resiliencemanagement.types.Resource(TypedDict, total=False): + key "id": str + key "name": str + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + systemData: SystemData + type: str + + + class azure.mgmt.resiliencemanagement.types.ResourceCrossZoneVmRecoveryProtectionSetting(TypedDict, total=False): + key "capacityReservationGroupId": str + key "protectionSolutionType": Required[Literal[ResourceProtectionSolutionType.CROSS_ZONE_VM_RECOVERY]] + key "targetZone": str + capacityReservationGroupId: str + protectionSolutionType: Literal[ResourceProtectionSolutionType.CROSS_ZONE_VM_RECOVERY] + targetZone: str + + + class azure.mgmt.resiliencemanagement.types.ResourceCustomProtectionAction(TypedDict, total=False): + key "resourceId": Required[str] + resourceId: str + + + class azure.mgmt.resiliencemanagement.types.ResourceCustomProtectionSetting(TypedDict, total=False): + key "failoverAction": ForwardRef('ResourceCustomProtectionAction', module='types') + key "failoverCommitAction": ForwardRef('ResourceCustomProtectionAction', module='types') + key "protectionSolutionType": Required[Literal[ResourceProtectionSolutionType.CUSTOM_RUNBOOK]] + key "reprotectAction": ForwardRef('ResourceCustomProtectionAction', module='types') + key "testFailoverAction": ForwardRef('ResourceCustomProtectionAction', module='types') + key "testFailoverCleanupAction": ForwardRef('ResourceCustomProtectionAction', module='types') + failoverAction: ResourceCustomProtectionAction + failoverCommitAction: ResourceCustomProtectionAction + protectionSolutionType: Literal[ResourceProtectionSolutionType.CUSTOM_RUNBOOK] + reprotectAction: ResourceCustomProtectionAction + testFailoverAction: ResourceCustomProtectionAction + testFailoverCleanupAction: ResourceCustomProtectionAction + + + class azure.mgmt.resiliencemanagement.types.ResourceLists(TypedDict, total=False): + excludeResources: list[str] + includeResources: list[IncludeOrUpdateResource] + updateResources: list[IncludeOrUpdateResource] + + + class azure.mgmt.resiliencemanagement.types.ResourceNativeProtectionSolutionSetting(TypedDict, total=False): + key "protectionSolutionType": Required[Literal[ResourceProtectionSolutionType.AZURE_NATIVE]] + protectionSolutionType: Literal[ResourceProtectionSolutionType.AZURE_NATIVE] + + + class azure.mgmt.resiliencemanagement.types.ResourceProtectionSolutionSettings(TypedDict, total=False): + key "activeLocation": str + key "failoverState": Union[str, FailoverState] + key "isAutoFailover": Required[bool] + key "primaryResource": str + key "protectionSolutionType": Union[str, ResourceProtectionSolutionType] + key "protectionStatus": Union[str, ResourceProtectionStatus] + key "replicationRole": Union[str, ResourceReplicationRole] + key "resourceId": str + key "testFailoverState": Union[str, TestFailoverState] + activeLocation: str + activeLocations: list[str] + activePhysicalZones: list[str] + failoverState: Union[str, FailoverState] + isAutoFailover: bool + primaryResource: str + protectionSolutionType: Union[str, ResourceProtectionSolutionType] + protectionStatus: Union[str, ResourceProtectionStatus] + recoveryLocations: list[str] + replicaResources: list[str] + replicationRole: Union[str, ResourceReplicationRole] + resourceId: str + testFailoverState: Union[str, TestFailoverState] + + + class azure.mgmt.resiliencemanagement.types.ResourceProtectionSolutionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AZURE_NATIVE = "AzureNative" + AZURE_SITE_RECOVERY = "AzureSiteRecovery" + CROSS_ZONE_VM_RECOVERY = "CrossZoneVMRecovery" + CUSTOM_RUNBOOK = "CustomRunbook" + NONE = "None" + + + class azure.mgmt.resiliencemanagement.types.ResourceSiteRecoveryProtectionSetting(TypedDict, total=False): + key "protectionSolutionType": Required[Literal[ResourceProtectionSolutionType.AZURE_SITE_RECOVERY]] + key "reprotectParams": ForwardRef('ResourceSiteRecoveryReprotectParams', module='types') + key "testFailoverCleanupParams": ForwardRef('ResourceSiteRecoveryTestFailoverCleanupParams', module='types') + key "testFailoverParams": ForwardRef('ResourceSiteRecoveryTestFailoverParams', module='types') + protectionSolutionType: Literal[ResourceProtectionSolutionType.AZURE_SITE_RECOVERY] + reprotectParams: ResourceSiteRecoveryReprotectParams + testFailoverCleanupParams: ResourceSiteRecoveryTestFailoverCleanupParams + testFailoverParams: ResourceSiteRecoveryTestFailoverParams + + + class azure.mgmt.resiliencemanagement.types.ResourceSiteRecoveryReprotectParams(TypedDict, total=False): + diskReprotectInputDetails: list[DiskReprotectInputDetails] + + + class azure.mgmt.resiliencemanagement.types.ResourceSiteRecoveryTestFailoverCleanupParams(TypedDict, total=False): + key "comments": str + comments: str + + + class azure.mgmt.resiliencemanagement.types.ResourceSiteRecoveryTestFailoverParams(TypedDict, total=False): + key "networkResourceId": str + networkResourceId: str + + + class azure.mgmt.resiliencemanagement.types.ServiceGroupMembership(TypedDict, total=False): + key "membershipType": Required[Union[str, MembershipType]] + key "serviceGroupId": Required[str] + membershipType: Union[str, MembershipType] + serviceGroupId: str + + + class azure.mgmt.resiliencemanagement.types.ServiceLevelResource(TypedDict, total=False): + key "serviceLevelIndicatorResourceId": Required[str] + key "serviceLevelObjectiveResourceId": str + serviceLevelIndicatorResourceId: str + serviceLevelObjectiveResourceId: str + + + class azure.mgmt.resiliencemanagement.types.SliAttentionStatus(TypedDict, total=False): + key "drillRbacOnDestinationAmw": Union[str, RBACState] + key "exists": Union[str, ExtensionObjectState] + key "sliId": Required[str] + key "type": Required[Union[str, SliType]] + key "typeMatch": Union[str, SliTypeMatchState] + drillRbacOnDestinationAmw: Union[str, RBACState] + exists: Union[str, ExtensionObjectState] + rbacNeededOnDestinationAmws: list[str] + sliId: str + type: Union[str, SliType] + typeMatch: Union[str, SliTypeMatchState] + + + class azure.mgmt.resiliencemanagement.types.SliMonitoringProperties(TypedDict, total=False): + key "identity": Required[AssociatedIdentity] + key "slis": Required[list[SliSelection]] + identity: AssociatedIdentity + slis: list[SliSelection] + + + class azure.mgmt.resiliencemanagement.types.SliSelection(TypedDict, total=False): + key "sliId": Required[str] + key "type": Required[Union[str, SliType]] + sliId: str + type: Union[str, SliType] + + + class azure.mgmt.resiliencemanagement.types.SystemData(TypedDict, total=False): + key "createdAt": str + key "createdBy": str + key "createdByType": Union[str, CreatedByType] + key "lastModifiedAt": str + key "lastModifiedBy": str + key "lastModifiedByType": Union[str, CreatedByType] + createdAt: str + createdBy: str + createdByType: Union[str, CreatedByType] + lastModifiedAt: str + lastModifiedBy: str + lastModifiedByType: Union[str, CreatedByType] + + + class azure.mgmt.resiliencemanagement.types.SystemMetadata(TypedDict, total=False): + key "initialConfig": Required[Union[str, InitialConfig]] + initialConfig: Union[str, InitialConfig] + resourceTypeCategories: list[Union[str, ResourceTypeCategories]] + + + class azure.mgmt.resiliencemanagement.types.TestFailoverCleanupRequest(TypedDict, total=False): + key "comments": str + comments: str + + + class azure.mgmt.resiliencemanagement.types.TrackedResource(Resource): + key "id": str + key "location": Required[str] + key "name": str + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + location: str + name: str + systemData: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.resiliencemanagement.types.UpdateGoalResourceRequest(TypedDict, total=False): + key "resources": Required[list[GoalResource]] + resources: list[GoalResource] + + + class azure.mgmt.resiliencemanagement.types.UpdateRecoveryResourcesRequest(TypedDict, total=False): + resourcesToRemove: list[str] + resourcesToUpdate: list[RecoveryResource] + + + class azure.mgmt.resiliencemanagement.types.UsagePlan(TrackedResource): + key "id": str + key "location": Required[str] + key "name": str + key "properties": ForwardRef('UsagePlanProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + location: str + name: str + properties: UsagePlanProperties + systemData: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.resiliencemanagement.types.UsagePlanProperties(TypedDict, total=False): + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "planType": Union[str, UsagePlanType] + key "provisioningState": Union[str, ProvisioningState] + errorDetails: ErrorDetail + planType: Union[str, UsagePlanType] + provisioningState: Union[str, ProvisioningState] + + + class azure.mgmt.resiliencemanagement.types.UsagePlanTagsUpdate(TypedDict, total=False): + tags: dict[str, str] + + + class azure.mgmt.resiliencemanagement.types.UserAssignedIdentity(TypedDict, total=False): + key "clientId": str + key "principalId": str + clientId: str + principalId: str + + + class azure.mgmt.resiliencemanagement.types.UserConfirmationItem(TypedDict, total=False): + key "confirmationStatus": Required[Union[str, ConfirmationStatus]] + key "reasonForRequestingConfirmation": Union[str, ReasonForRequestingConfirmation] + key "solutionDisplayName": Required[Union[str, SolutionDisplayName]] + confirmationStatus: Union[str, ConfirmationStatus] + reasonForRequestingConfirmation: Union[str, ReasonForRequestingConfirmation] + solutionDisplayName: Union[str, SolutionDisplayName] + + + class azure.mgmt.resiliencemanagement.types.ValidateForExecutionProperties(TypedDict, total=False): + key "operationName": Union[str, DrillRunTasks] + operationName: Union[str, DrillRunTasks] + sourceLocations: list[str] + + + class azure.mgmt.resiliencemanagement.types.ValidateForExecutionRequest(TypedDict, total=False): + key "validateForExecutionProperties": ForwardRef('ValidateForExecutionProperties', module='types') + validateForExecutionProperties: ValidateForExecutionProperties + + + class azure.mgmt.resiliencemanagement.types.ValidateForOperationRequest(TypedDict, total=False): + key "operationName": Required[Union[str, RecoveryOperationNames]] + operationName: Union[str, RecoveryOperationNames] + + + class azure.mgmt.resiliencemanagement.types.ZonalDrillProperties(TypedDict, total=False): + key "attentionReason": ForwardRef('AttentionReason', module='types') + key "chaosResourceProperties": ForwardRef('ChaosResourcePropertiesOfDrill', module='types') + key "drillAssetProperties": ForwardRef('AssetPropertiesOfDrill', module='types') + key "drillType": Required[Literal[DrillType.ZONAL]] + key "errorDetails": ForwardRef('ErrorDetail', module='types') + key "executionReadinessState": Union[str, ExecutionReadinessState] + key "executionState": Union[str, ExecutionState] + key "healthModelMonitoringProperties": ForwardRef('HealthModelMonitoringProperties', module='types') + key "lastResyncReadinessCheckTime": str + key "lastRunProperties": ForwardRef('LastRunProperties', module='types') + key "lastSyncTime": str + key "monitoringProperties": ForwardRef('MonitoringPropertiesOfDrill', module='types') + key "provisioningState": Union[str, ProvisioningState] + key "rbacSetupMode": Union[str, RBACSetupMode] + key "recoveryPlanProperties": ForwardRef('RecoveryPlanPropertiesOfDrill', module='types') + key "serviceGroupId": str + key "sliMonitoringProperties": ForwardRef('SliMonitoringProperties', module='types') + key "systemMetadata": ForwardRef('SystemMetadata', module='types') + key "vmsPresent": Union[str, VMPresent] + attentionReason: AttentionReason + chaosResourceProperties: ChaosResourcePropertiesOfDrill + drillAssetProperties: AssetPropertiesOfDrill + drillType: Literal[DrillType.ZONAL] + errorDetails: ErrorDetail + executionReadinessState: Union[str, ExecutionReadinessState] + executionState: Union[str, ExecutionState] + healthModelMonitoringProperties: HealthModelMonitoringProperties + lastResyncReadinessCheckTime: str + lastRunProperties: LastRunProperties + lastSyncTime: str + monitoringProperties: MonitoringPropertiesOfDrill + provisioningState: Union[str, ProvisioningState] + rbacSetupMode: Union[str, RBACSetupMode] + recoveryPlanProperties: RecoveryPlanPropertiesOfDrill + serviceGroupId: str + sliMonitoringProperties: SliMonitoringProperties + systemMetadata: SystemMetadata + vmsPresent: Union[str, VMPresent] + + ``` \ No newline at end of file diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/api.metadata.yml b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/api.metadata.yml index 190ee2a93647..9e6f1d73b5ad 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/api.metadata.yml +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/api.metadata.yml @@ -1,3 +1,3 @@ -apiMdSha256: 236f62a4c2e2de0271f50dc82b4b897750e8e3581bc9c5e070d06179fd1fa01e -parserVersion: 0.3.28 -pythonVersion: 3.13.13 +apiMdSha256: 016503978b7d0d8762e9ad728934ba33beb668e6df83c9f82d961ef78fd7f97b +parserVersion: 0.3.31 +pythonVersion: 3.13.15 diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/apiview-properties.json b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/apiview-properties.json index b11f8d0bfc57..6fbbb6cf363e 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/apiview-properties.json +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/apiview-properties.json @@ -14,6 +14,7 @@ "azure.mgmt.resiliencemanagement.models.Drill": "Microsoft.AzureResilienceManagement.Drill", "azure.mgmt.resiliencemanagement.models.DrillEndRequest": "Microsoft.AzureResilienceManagement.DrillEndRequest", "azure.mgmt.resiliencemanagement.models.DrillProperties": "Microsoft.AzureResilienceManagement.DrillProperties", + "azure.mgmt.resiliencemanagement.models.DrillReportSummary": "Microsoft.AzureResilienceManagement.DrillReportSummary", "azure.mgmt.resiliencemanagement.models.DrillResource": "Microsoft.AzureResilienceManagement.DrillResource", "azure.mgmt.resiliencemanagement.models.DrillResourceAttentionReason": "Microsoft.AzureResilienceManagement.DrillResourceAttentionReason", "azure.mgmt.resiliencemanagement.models.DrillResourceProperties": "Microsoft.AzureResilienceManagement.DrillResourceProperties", @@ -22,6 +23,7 @@ "azure.mgmt.resiliencemanagement.models.DrillRunFailoverRequest": "Microsoft.AzureResilienceManagement.DrillRunFailoverRequest", "azure.mgmt.resiliencemanagement.models.JobProperties": "Microsoft.AzureResilienceManagement.JobProperties", "azure.mgmt.resiliencemanagement.models.DrillRunProperties": "Microsoft.AzureResilienceManagement.DrillRunProperties", + "azure.mgmt.resiliencemanagement.models.DrillRunReprotectRequest": "Microsoft.AzureResilienceManagement.DrillRunReprotectRequest", "azure.mgmt.resiliencemanagement.models.DrillRunResource": "Microsoft.AzureResilienceManagement.DrillRunResource", "azure.mgmt.resiliencemanagement.models.JobResourceProperties": "Microsoft.AzureResilienceManagement.JobResourceProperties", "azure.mgmt.resiliencemanagement.models.DrillRunResourceProperties": "Microsoft.AzureResilienceManagement.DrillRunResourceProperties", @@ -46,6 +48,7 @@ "azure.mgmt.resiliencemanagement.models.GoalsData": "Microsoft.AzureResilienceManagement.GoalsData", "azure.mgmt.resiliencemanagement.models.GoalTemplate": "Microsoft.AzureResilienceManagement.GoalTemplate", "azure.mgmt.resiliencemanagement.models.GoalTemplateProperties": "Microsoft.AzureResilienceManagement.GoalTemplateProperties", + "azure.mgmt.resiliencemanagement.models.HealthModelMonitoringProperties": "Microsoft.AzureResilienceManagement.HealthModelMonitoringProperties", "azure.mgmt.resiliencemanagement.models.IncludeOrUpdateResource": "Microsoft.AzureResilienceManagement.IncludeOrUpdateResource", "azure.mgmt.resiliencemanagement.models.JobErrorInfo": "Microsoft.AzureResilienceManagement.JobErrorInfo", "azure.mgmt.resiliencemanagement.models.JobExtendedInfo": "Microsoft.AzureResilienceManagement.JobExtendedInfo", @@ -53,10 +56,10 @@ "azure.mgmt.resiliencemanagement.models.JobTaskDetail": "Microsoft.AzureResilienceManagement.JobTaskDetail", "azure.mgmt.resiliencemanagement.models.JobUserComment": "Microsoft.AzureResilienceManagement.JobUserComment", "azure.mgmt.resiliencemanagement.models.LastRunProperties": "Microsoft.AzureResilienceManagement.LastRunProperties", - "azure.mgmt.resiliencemanagement.models.ManagedOnBehalfOfConfiguration": "Microsoft.AzureResilienceManagement.ManagedOnBehalfOfConfiguration", + "azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlRequest": "Microsoft.AzureResilienceManagement.ListReportDownloadUrlRequest", + "azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse": "Microsoft.AzureResilienceManagement.ListReportDownloadUrlResponse", "azure.mgmt.resiliencemanagement.models.ManagedServiceIdentity": "Azure.ResourceManager.CommonTypes.ManagedServiceIdentity", "azure.mgmt.resiliencemanagement.models.MarkAsCompleteRequest": "Microsoft.AzureResilienceManagement.MarkAsCompleteRequest", - "azure.mgmt.resiliencemanagement.models.MoboBrokerResource": "Microsoft.AzureResilienceManagement.MoboBrokerResource", "azure.mgmt.resiliencemanagement.models.MonitoringPropertiesOfDrill": "Microsoft.AzureResilienceManagement.MonitoringPropertiesOfDrill", "azure.mgmt.resiliencemanagement.models.Operation": "Azure.ResourceManager.CommonTypes.Operation", "azure.mgmt.resiliencemanagement.models.OperationDisplay": "Azure.ResourceManager.CommonTypes.OperationDisplay", @@ -87,11 +90,15 @@ "azure.mgmt.resiliencemanagement.models.RecoveryResourceProperties": "Microsoft.AzureResilienceManagement.RecoveryResourceProperties", "azure.mgmt.resiliencemanagement.models.RecoveryResourceQualification": "Microsoft.AzureResilienceManagement.RecoveryResourceQualification", "azure.mgmt.resiliencemanagement.models.RegionalDrillProperties": "Microsoft.AzureResilienceManagement.RegionalDrillProperties", + "azure.mgmt.resiliencemanagement.models.ReportStageStatus": "Microsoft.AzureResilienceManagement.ReportStageStatus", "azure.mgmt.resiliencemanagement.models.ReprotectRequest": "Microsoft.AzureResilienceManagement.ReprotectRequest", "azure.mgmt.resiliencemanagement.models.ReprotectRequestProperties": "Microsoft.AzureResilienceManagement.ReprotectRequestProperties", + "azure.mgmt.resiliencemanagement.models.ResiliencyProperties": "Microsoft.AzureResilienceManagement.ResiliencyProperties", "azure.mgmt.resiliencemanagement.models.ResourceBaseProtectionSolutionSetting": "Microsoft.AzureResilienceManagement.ResourceBaseProtectionSolutionSetting", + "azure.mgmt.resiliencemanagement.models.ResourceCrossZoneVmRecoveryProtectionSetting": "Microsoft.AzureResilienceManagement.ResourceCrossZoneVmRecoveryProtectionSetting", "azure.mgmt.resiliencemanagement.models.ResourceCustomProtectionAction": "Microsoft.AzureResilienceManagement.ResourceCustomProtectionAction", "azure.mgmt.resiliencemanagement.models.ResourceCustomProtectionSetting": "Microsoft.AzureResilienceManagement.ResourceCustomProtectionSetting", + "azure.mgmt.resiliencemanagement.models.ResourceFeasibilityReview": "Microsoft.AzureResilienceManagement.ResourceFeasibilityReview", "azure.mgmt.resiliencemanagement.models.ResourceLists": "Microsoft.AzureResilienceManagement.ResourceLists", "azure.mgmt.resiliencemanagement.models.ResourceNativeProtectionSolutionSetting": "Microsoft.AzureResilienceManagement.ResourceNativeProtectionSolutionSetting", "azure.mgmt.resiliencemanagement.models.ResourceProtectionSolutionSettings": "Microsoft.AzureResilienceManagement.ResourceProtectionSolutionSettings", @@ -101,6 +108,10 @@ "azure.mgmt.resiliencemanagement.models.ResourceSiteRecoveryTestFailoverParams": "Microsoft.AzureResilienceManagement.ResourceSiteRecoveryTestFailoverParams", "azure.mgmt.resiliencemanagement.models.ServiceGroupMembership": "Microsoft.AzureResilienceManagement.ServiceGroupMembership", "azure.mgmt.resiliencemanagement.models.ServiceLevelResource": "Microsoft.AzureResilienceManagement.ServiceLevelResource", + "azure.mgmt.resiliencemanagement.models.SkuDetails": "Microsoft.AzureResilienceManagement.SkuDetails", + "azure.mgmt.resiliencemanagement.models.SliAttentionStatus": "Microsoft.AzureResilienceManagement.SliAttentionStatus", + "azure.mgmt.resiliencemanagement.models.SliMonitoringProperties": "Microsoft.AzureResilienceManagement.SliMonitoringProperties", + "azure.mgmt.resiliencemanagement.models.SliSelection": "Microsoft.AzureResilienceManagement.SliSelection", "azure.mgmt.resiliencemanagement.models.SupportedVerbsForStage": "Microsoft.AzureResilienceManagement.SupportedVerbsForStage", "azure.mgmt.resiliencemanagement.models.SystemData": "Azure.ResourceManager.CommonTypes.SystemData", "azure.mgmt.resiliencemanagement.models.SystemMetadata": "Microsoft.AzureResilienceManagement.SystemMetadata", @@ -115,7 +126,7 @@ "azure.mgmt.resiliencemanagement.models.UsagePlanProperties": "Microsoft.AzureResilienceManagement.UsagePlanProperties", "azure.mgmt.resiliencemanagement.models.UsagePlanTagsUpdate": "Azure.ResourceManager.Foundations.TagsUpdateModel", "azure.mgmt.resiliencemanagement.models.UserAssignedIdentity": "Azure.ResourceManager.CommonTypes.UserAssignedIdentity", - "azure.mgmt.resiliencemanagement.models.UserConfirmationForHighAvailabilityItem": "Microsoft.AzureResilienceManagement.UserConfirmationForHighAvailabilityItem", + "azure.mgmt.resiliencemanagement.models.UserConfirmationItem": "Microsoft.AzureResilienceManagement.UserConfirmationItem", "azure.mgmt.resiliencemanagement.models.ValidateForExecutionProperties": "Microsoft.AzureResilienceManagement.ValidateForExecutionProperties", "azure.mgmt.resiliencemanagement.models.ValidateForExecutionRequest": "Microsoft.AzureResilienceManagement.ValidateForExecutionRequest", "azure.mgmt.resiliencemanagement.models.ValidateForOperationRequest": "Microsoft.AzureResilienceManagement.ValidateForOperationRequest", @@ -148,6 +159,8 @@ "azure.mgmt.resiliencemanagement.models.TestFailoverState": "Microsoft.AzureResilienceManagement.TestFailoverState", "azure.mgmt.resiliencemanagement.models.RecoveryOperationNames": "Microsoft.AzureResilienceManagement.RecoveryOperationNames", "azure.mgmt.resiliencemanagement.models.QualificationState": "Microsoft.AzureResilienceManagement.QualificationState", + "azure.mgmt.resiliencemanagement.models.ResourceFeasibilityReviewType": "Microsoft.AzureResilienceManagement.ResourceFeasibilityReviewType", + "azure.mgmt.resiliencemanagement.models.ResourceFeasibilityReviewStatus": "Microsoft.AzureResilienceManagement.ResourceFeasibilityReviewStatus", "azure.mgmt.resiliencemanagement.models.FailoverDirectionTypes": "Microsoft.AzureResilienceManagement.FailoverDirectionTypes", "azure.mgmt.resiliencemanagement.models.UserConsent": "Microsoft.AzureResilienceManagement.UserConsent", "azure.mgmt.resiliencemanagement.models.JobStatus": "Microsoft.AzureResilienceManagement.JobStatus", @@ -158,6 +171,9 @@ "azure.mgmt.resiliencemanagement.models.DrillAttestation": "Microsoft.AzureResilienceManagement.DrillAttestation", "azure.mgmt.resiliencemanagement.models.DrillRunSubtasks": "Microsoft.AzureResilienceManagement.DrillRunSubtasks", "azure.mgmt.resiliencemanagement.models.DrillRunOperationVerbs": "Microsoft.AzureResilienceManagement.DrillRunOperationVerbs", + "azure.mgmt.resiliencemanagement.models.DrillReportGenerationStatus": "Microsoft.AzureResilienceManagement.DrillReportGenerationStatus", + "azure.mgmt.resiliencemanagement.models.DrillReportFormat": "Microsoft.AzureResilienceManagement.DrillReportFormat", + "azure.mgmt.resiliencemanagement.models.DrillReportFinalizationState": "Microsoft.AzureResilienceManagement.DrillReportFinalizationState", "azure.mgmt.resiliencemanagement.models.JobResourceType": "Microsoft.AzureResilienceManagement.JobResourceType", "azure.mgmt.resiliencemanagement.models.ActionTask": "Microsoft.AzureResilienceManagement.ActionTask", "azure.mgmt.resiliencemanagement.models.ExecutionState": "Microsoft.AzureResilienceManagement.ExecutionState", @@ -166,10 +182,13 @@ "azure.mgmt.resiliencemanagement.models.RBACState": "Microsoft.AzureResilienceManagement.RBACState", "azure.mgmt.resiliencemanagement.models.ExtensionObjectState": "Microsoft.AzureResilienceManagement.ExtensionObjectState", "azure.mgmt.resiliencemanagement.models.RelativeResourceCompositionState": "Microsoft.AzureResilienceManagement.RelativeResourceCompositionState", + "azure.mgmt.resiliencemanagement.models.SliType": "Microsoft.AzureResilienceManagement.SliType", + "azure.mgmt.resiliencemanagement.models.SliTypeMatchState": "Microsoft.AzureResilienceManagement.SliTypeMatchState", "azure.mgmt.resiliencemanagement.models.InitialConfig": "Microsoft.AzureResilienceManagement.InitialConfig", "azure.mgmt.resiliencemanagement.models.ResourceTypeCategories": "Microsoft.AzureResilienceManagement.ResourceTypeCategories", "azure.mgmt.resiliencemanagement.models.DrillType": "Microsoft.AzureResilienceManagement.DrillType", "azure.mgmt.resiliencemanagement.models.VMPresent": "Microsoft.AzureResilienceManagement.VMPresent", + "azure.mgmt.resiliencemanagement.models.DrillRunTasks": "Microsoft.AzureResilienceManagement.DrillRunTasks", "azure.mgmt.resiliencemanagement.models.ForceInclusionAndUpdate": "Microsoft.AzureResilienceManagement.ForceInclusionAndUpdate", "azure.mgmt.resiliencemanagement.models.DrillResourceInclusionState": "Microsoft.AzureResilienceManagement.DrillResourceInclusionState", "azure.mgmt.resiliencemanagement.models.RecoveryPlanExclusionReason": "Microsoft.AzureResilienceManagement.RecoveryPlanExclusionReason", @@ -310,6 +329,10 @@ "azure.mgmt.resiliencemanagement.aio.operations.DrillRunsOperations.begin_resume": "Microsoft.AzureResilienceManagement.DrillRuns.resume", "azure.mgmt.resiliencemanagement.operations.DrillRunsOperations.begin_mark_as_complete": "Microsoft.AzureResilienceManagement.DrillRuns.markAsComplete", "azure.mgmt.resiliencemanagement.aio.operations.DrillRunsOperations.begin_mark_as_complete": "Microsoft.AzureResilienceManagement.DrillRuns.markAsComplete", + "azure.mgmt.resiliencemanagement.operations.DrillRunsOperations.begin_generate_report": "Microsoft.AzureResilienceManagement.DrillRuns.generateReport", + "azure.mgmt.resiliencemanagement.aio.operations.DrillRunsOperations.begin_generate_report": "Microsoft.AzureResilienceManagement.DrillRuns.generateReport", + "azure.mgmt.resiliencemanagement.operations.DrillRunsOperations.list_report_download_url": "Microsoft.AzureResilienceManagement.DrillRuns.listReportDownloadUrl", + "azure.mgmt.resiliencemanagement.aio.operations.DrillRunsOperations.list_report_download_url": "Microsoft.AzureResilienceManagement.DrillRuns.listReportDownloadUrl", "azure.mgmt.resiliencemanagement.operations.DrillRunResourcesOperations.get": "Microsoft.AzureResilienceManagement.DrillRunResources.get", "azure.mgmt.resiliencemanagement.aio.operations.DrillRunResourcesOperations.get": "Microsoft.AzureResilienceManagement.DrillRunResources.get", "azure.mgmt.resiliencemanagement.operations.DrillRunResourcesOperations.list": "Microsoft.AzureResilienceManagement.DrillRunResources.list", @@ -339,5 +362,5 @@ "azure.mgmt.resiliencemanagement.operations.EnrollmentsOperations.list": "Microsoft.AzureResilienceManagement.Enrollments.list", "azure.mgmt.resiliencemanagement.aio.operations.EnrollmentsOperations.list": "Microsoft.AzureResilienceManagement.Enrollments.list" }, - "CrossLanguageVersion": "f6bc6ae28274" + "CrossLanguageVersion": "966171c2b49e" } \ No newline at end of file diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_client.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_client.py index 981d5f8630c0..d9743c44acb2 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_client.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_client.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -49,7 +50,7 @@ from azure.core.credentials import TokenCredential -class ResilienceManagementClient: # pylint: disable=too-many-instance-attributes +class ResilienceManagementClient: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """ResilienceManagementClient. :ivar operations: Operations operations @@ -101,7 +102,7 @@ class ResilienceManagementClient: # pylint: disable=too-many-instance-attribute None. :paramtype cloud_setting: ~azure.core.AzureClouds :keyword api_version: The API version to use for this operation. Known values are - "2026-04-01-preview" and None. Default value is None. If not set, the operation's default API + "2026-08-31-preview" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_configuration.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_configuration.py index a15f825a38dd..c3010fc3abc5 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_configuration.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_configuration.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -18,7 +19,7 @@ from azure.core.credentials import TokenCredential -class ResilienceManagementClientConfiguration: # pylint: disable=too-many-instance-attributes +class ResilienceManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """Configuration for ResilienceManagementClient. Note that all parameters used to create this instance are saved as instance @@ -34,7 +35,7 @@ class ResilienceManagementClientConfiguration: # pylint: disable=too-many-insta None. :type cloud_setting: ~azure.core.AzureClouds :keyword api_version: The API version to use for this operation. Known values are - "2026-04-01-preview" and None. Default value is None. If not set, the operation's default API + "2026-08-31-preview" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -48,7 +49,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-04-01-preview") + api_version: str = kwargs.pop("api_version", "2026-08-31-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_patch.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_patch.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_utils/model_base.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_utils/model_base.py index d725c55906d3..35d5fc024978 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_utils/model_base.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_utils/model_base.py @@ -109,6 +109,29 @@ def _serialize_bytes(o, format: typing.Optional[str] = None) -> str: return encoded +def _serialize_duration(td: timedelta, format: typing.Optional[str] = None): + """Serialize a timedelta to its wire representation. + + For the ``seconds``/``milliseconds`` encodings the value is converted to a + numeric value, otherwise it falls back to an ISO 8601 duration string. + + :param timedelta td: The timedelta to serialize. + :param str format: The duration encoding format. + :rtype: int or float or str + :return: serialized duration + """ + seconds = td.total_seconds() + if format == "duration-seconds-int": + return int(seconds) + if format == "duration-seconds-float": + return seconds + if format == "duration-milliseconds-int": + return int(seconds * 1000) + if format == "duration-milliseconds-float": + return seconds * 1000 + return _timedelta_as_isostr(td) + + def _serialize_datetime(o, format: typing.Optional[str] = None): if hasattr(o, "year") and hasattr(o, "hour"): if format == "rfc7231": @@ -135,7 +158,15 @@ def _is_readonly(p): class SdkJSONEncoder(JSONEncoder): - """A JSON encoder that's capable of serializing datetime objects and bytes.""" + """A JSON encoder that's capable of serializing datetime objects and bytes. + + :param args: Additional positional arguments passed to the base ``JSONEncoder``. + :type args: typing.Any + :keyword exclude_readonly: Whether to exclude readonly properties. Defaults to False. + :paramtype exclude_readonly: bool + :keyword format: The format to use for serialization. Defaults to None. + :paramtype format: typing.Optional[str] + """ def __init__(self, *args, exclude_readonly: bool = False, format: typing.Optional[str] = None, **kwargs): super().__init__(*args, **kwargs) @@ -301,6 +332,12 @@ def _deserialize_duration(attr): return isodate.parse_duration(attr) +def _deserialize_duration_numeric(attr, unit): + if isinstance(attr, timedelta): + return attr + return timedelta(**{unit: float(attr)}) + + def _deserialize_decimal(attr): if isinstance(attr, decimal.Decimal): return attr @@ -313,6 +350,12 @@ def _deserialize_int_as_str(attr): return int(attr) +def _deserialize_bool_as_str(attr): + if isinstance(attr, bool): + return attr + return attr.lower() == "true" + + _DESERIALIZE_MAPPING = { datetime: _deserialize_datetime, date: _deserialize_date, @@ -330,12 +373,18 @@ def _deserialize_int_as_str(attr): "unix-timestamp": _deserialize_datetime_unix_timestamp, "base64": _deserialize_bytes, "base64url": _deserialize_bytes_base64, + "duration-seconds-int": functools.partial(_deserialize_duration_numeric, unit="seconds"), + "duration-seconds-float": functools.partial(_deserialize_duration_numeric, unit="seconds"), + "duration-milliseconds-int": functools.partial(_deserialize_duration_numeric, unit="milliseconds"), + "duration-milliseconds-float": functools.partial(_deserialize_duration_numeric, unit="milliseconds"), } def get_deserializer(annotation: typing.Any, rf: typing.Optional["_RestField"] = None): if annotation is int and rf and rf._format == "str": return _deserialize_int_as_str + if annotation is bool and rf and rf._format == "str": + return _deserialize_bool_as_str if annotation is str and rf and rf._format in _ARRAY_ENCODE_MAPPING: return functools.partial(_deserialize_array_encoded, _ARRAY_ENCODE_MAPPING[rf._format]) if rf and rf._format: @@ -425,21 +474,21 @@ def __ne__(self, other: typing.Any) -> bool: def keys(self) -> typing.KeysView[str]: """ - :returns: a set-like object providing a view on D's keys + :returns: a set-like object providing a view on the mapping's keys :rtype: ~typing.KeysView """ return self._data.keys() def values(self) -> typing.ValuesView[typing.Any]: """ - :returns: an object providing a view on D's values + :returns: an object providing a view on the mapping's values :rtype: ~typing.ValuesView """ return self._data.values() def items(self) -> typing.ItemsView[str, typing.Any]: """ - :returns: set-like object providing a view on D's items + :returns: a set-like object providing a view on the mapping's items :rtype: ~typing.ItemsView """ return self._data.items() @@ -449,7 +498,7 @@ def get(self, key: str, default: typing.Any = None) -> typing.Any: Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ try: @@ -484,19 +533,19 @@ def popitem(self) -> tuple[str, typing.Any]: Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple - :raises KeyError: if D is empty. + :raises KeyError: if the dictionary is empty. """ return self._data.popitem() def clear(self) -> None: """ - Remove all items from D. + Remove all items from the dictionary. """ self._data.clear() def update(self, *args: typing.Any, **kwargs: typing.Any) -> None: # pylint: disable=arguments-differ """ - Updates D from mapping/iterable E and F. + Update the dictionary from a mapping or an iterable of key-value pairs. :param any args: Either a mapping object or an iterable of key-value pairs. """ self._data.update(*args, **kwargs) @@ -509,10 +558,11 @@ def setdefault(self, key: str, default: typing.Any) -> typing.Any: ... # pylint def setdefault(self, key: str, default: typing.Any = _UNSET) -> typing.Any: """ - Same as calling D.get(k, d), and setting D[k]=d if k not found + Return the value for key if key is in the dictionary; otherwise set the key to + default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ if default is _UNSET: @@ -564,7 +614,7 @@ def _serialize(o, format: typing.Optional[str] = None): # pylint: disable=too-m pass # Last, try datetime.timedelta try: - return _timedelta_as_isostr(o) + return _serialize_duration(o, format) except AttributeError: # This will be raised when it hits value.total_seconds in the method above pass diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_utils/serialization.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_utils/serialization.py index a088671e9c51..ae08f9d89f74 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_utils/serialization.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_utils/serialization.py @@ -480,7 +480,11 @@ def _decode_attribute_map_key(key): class Serializer: # pylint: disable=too-many-public-methods - """Request object model serializer.""" + """Request object model serializer. + + :param classes: Mapping of model names to model types, used to resolve models during serialization. + :type classes: typing.Optional[typing.Mapping[str, type]] + """ basic_types = {str: "str", int: "int", bool: "bool", float: "float"} @@ -520,6 +524,10 @@ def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None: "rfc-1123": Serializer.serialize_rfc, "unix-time": Serializer.serialize_unix, "duration": Serializer.serialize_duration, + "duration-seconds-int": Serializer.serialize_duration_seconds_int, + "duration-seconds-float": Serializer.serialize_duration_seconds_float, + "duration-milliseconds-int": Serializer.serialize_duration_milliseconds_int, + "duration-milliseconds-float": Serializer.serialize_duration_milliseconds_float, "date": Serializer.serialize_date, "time": Serializer.serialize_time, "decimal": Serializer.serialize_decimal, @@ -1109,6 +1117,61 @@ def serialize_duration(attr, **kwargs): # pylint: disable=unused-argument attr = isodate.parse_duration(attr) return isodate.duration_isoformat(attr) + @staticmethod + def _serialize_duration_numeric(attr, scale, as_int): + """Serialize a TimeDelta into a numeric value scaled to the wire unit. + + :param TimeDelta attr: Object to be serialized. + :param int scale: Multiplier applied to total seconds (1 for seconds, 1000 for milliseconds). + :param bool as_int: Whether to truncate the result to an int. + :rtype: int or float + :return: serialized duration + """ + if isinstance(attr, str): + attr = isodate.parse_duration(attr) + value = attr.total_seconds() * scale if isinstance(attr, datetime.timedelta) else attr + return int(value) if as_int else float(value) + + @staticmethod + def serialize_duration_seconds_int(attr, **kwargs): # pylint: disable=unused-argument + """Serialize TimeDelta object into an integer number of seconds. + + :param TimeDelta attr: Object to be serialized. + :rtype: int + :return: serialized duration + """ + return Serializer._serialize_duration_numeric(attr, 1, True) + + @staticmethod + def serialize_duration_seconds_float(attr, **kwargs): # pylint: disable=unused-argument + """Serialize TimeDelta object into a floating point number of seconds. + + :param TimeDelta attr: Object to be serialized. + :rtype: float + :return: serialized duration + """ + return Serializer._serialize_duration_numeric(attr, 1, False) + + @staticmethod + def serialize_duration_milliseconds_int(attr, **kwargs): # pylint: disable=unused-argument + """Serialize TimeDelta object into an integer number of milliseconds. + + :param TimeDelta attr: Object to be serialized. + :rtype: int + :return: serialized duration + """ + return Serializer._serialize_duration_numeric(attr, 1000, True) + + @staticmethod + def serialize_duration_milliseconds_float(attr, **kwargs): # pylint: disable=unused-argument + """Serialize TimeDelta object into a floating point number of milliseconds. + + :param TimeDelta attr: Object to be serialized. + :rtype: float + :return: serialized duration + """ + return Serializer._serialize_duration_numeric(attr, 1000, False) + @staticmethod def serialize_rfc(attr, **kwargs): # pylint: disable=unused-argument """Serialize Datetime object into RFC-1123 formatted string. @@ -1381,6 +1444,10 @@ def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None: "rfc-1123": Deserializer.deserialize_rfc, "unix-time": Deserializer.deserialize_unix, "duration": Deserializer.deserialize_duration, + "duration-seconds-int": Deserializer.deserialize_duration_seconds, + "duration-seconds-float": Deserializer.deserialize_duration_seconds, + "duration-milliseconds-int": Deserializer.deserialize_duration_milliseconds, + "duration-milliseconds-float": Deserializer.deserialize_duration_milliseconds, "date": Deserializer.deserialize_date, "time": Deserializer.deserialize_time, "decimal": Deserializer.deserialize_decimal, @@ -1393,6 +1460,10 @@ def __init__(self, classes: Optional[Mapping[str, type]] = None) -> None: } self.deserialize_expected_types = { "duration": (isodate.Duration, datetime.timedelta), + "duration-seconds-int": (isodate.Duration, datetime.timedelta), + "duration-seconds-float": (isodate.Duration, datetime.timedelta), + "duration-milliseconds-int": (isodate.Duration, datetime.timedelta), + "duration-milliseconds-float": (isodate.Duration, datetime.timedelta), "iso-8601": (datetime.datetime), } self.dependencies: dict[str, type] = dict(classes) if classes else {} @@ -1954,6 +2025,48 @@ def deserialize_duration(attr): raise DeserializationError(msg) from err return duration + @staticmethod + def _deserialize_duration_numeric(attr, unit): + """Deserialize a numeric duration value into a TimeDelta object. + + :param float attr: response value to be deserialized. + :param str unit: The wire unit, used as the ``timedelta`` keyword + (``"seconds"`` or ``"milliseconds"``). + :return: Deserialized duration + :rtype: TimeDelta + :raises DeserializationError: if value is invalid. + """ + if isinstance(attr, ET.Element): + attr = attr.text + try: + duration = datetime.timedelta(**{unit: float(attr)}) # type: ignore + except (ValueError, OverflowError, TypeError) as err: + msg = "Cannot deserialize duration object." + raise DeserializationError(msg) from err + return duration + + @staticmethod + def deserialize_duration_seconds(attr): + """Deserialize a numeric number of seconds into a TimeDelta object. + + :param float attr: response value to be deserialized. + :return: Deserialized duration + :rtype: TimeDelta + :raises DeserializationError: if value is invalid. + """ + return Deserializer._deserialize_duration_numeric(attr, "seconds") + + @staticmethod + def deserialize_duration_milliseconds(attr): + """Deserialize a numeric number of milliseconds into a TimeDelta object. + + :param float attr: response value to be deserialized. + :return: Deserialized duration + :rtype: TimeDelta + :raises DeserializationError: if value is invalid. + """ + return Deserializer._deserialize_duration_numeric(attr, "milliseconds") + @staticmethod def deserialize_date(attr): """Deserialize ISO-8601 formatted string into Date object. diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_version.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_version.py index be71c81bd282..bbcd28b4aa67 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_version.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.0.0b1" +VERSION = "1.0.0b2" diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_client.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_client.py index 61f969f9a2eb..615207c3635f 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_client.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_client.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -49,7 +50,7 @@ from azure.core.credentials_async import AsyncTokenCredential -class ResilienceManagementClient: # pylint: disable=too-many-instance-attributes +class ResilienceManagementClient: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """ResilienceManagementClient. :ivar operations: Operations operations @@ -104,7 +105,7 @@ class ResilienceManagementClient: # pylint: disable=too-many-instance-attribute None. :paramtype cloud_setting: ~azure.core.AzureClouds :keyword api_version: The API version to use for this operation. Known values are - "2026-04-01-preview" and None. Default value is None. If not set, the operation's default API + "2026-08-31-preview" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_configuration.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_configuration.py index 1623401201d5..1022839ec71e 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_configuration.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_configuration.py @@ -1,3 +1,4 @@ +# pylint: disable=line-too-long,useless-suppression # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -18,7 +19,7 @@ from azure.core.credentials_async import AsyncTokenCredential -class ResilienceManagementClientConfiguration: # pylint: disable=too-many-instance-attributes +class ResilienceManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,docstring-keyword-should-match-keyword-only """Configuration for ResilienceManagementClient. Note that all parameters used to create this instance are saved as instance @@ -34,7 +35,7 @@ class ResilienceManagementClientConfiguration: # pylint: disable=too-many-insta None. :type cloud_setting: ~azure.core.AzureClouds :keyword api_version: The API version to use for this operation. Known values are - "2026-04-01-preview" and None. Default value is None. If not set, the operation's default API + "2026-08-31-preview" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -48,7 +49,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-04-01-preview") + api_version: str = kwargs.pop("api_version", "2026-08-31-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_patch.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_patch.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/operations/_operations.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/operations/_operations.py index 4e1fcfc1ea11..b2411383c97a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/operations/_operations.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/operations/_operations.py @@ -33,7 +33,7 @@ from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling -from ... import models as _models +from ... import models as _models, types as _types from ..._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from ..._utils.serialization import Deserializer, Serializer from ..._validation import api_version_validation @@ -44,7 +44,9 @@ build_drill_run_resources_list_request, build_drill_runs_add_notes_request, build_drill_runs_fail_over_request, + build_drill_runs_generate_report_request, build_drill_runs_get_request, + build_drill_runs_list_report_download_url_request, build_drill_runs_list_request, build_drill_runs_mark_as_complete_request, build_drill_runs_reprotect_request, @@ -121,11 +123,10 @@ T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -JSON = MutableMapping[str, Any] List = list -class Operations: +class Operations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -238,7 +239,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class OperationStatusOperations: +class OperationStatusOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -326,7 +327,7 @@ async def get(self, location: str, operation_id: str, **kwargs: Any) -> _models. return deserialized # type: ignore -class GoalAssignmentsOperations: +class GoalAssignmentsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -417,7 +418,7 @@ async def _create_or_update_initial( self, service_group_name: str, goal_assignment_name: str, - resource: Union[_models.GoalAssignment, JSON, IO[bytes]], + resource: Union[_models.GoalAssignment, _types.GoalAssignment, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -521,7 +522,7 @@ async def begin_create_or_update( self, service_group_name: str, goal_assignment_name: str, - resource: JSON, + resource: _types.GoalAssignment, *, content_type: str = "application/json", **kwargs: Any @@ -533,7 +534,7 @@ async def begin_create_or_update( :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.GoalAssignment :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -573,7 +574,7 @@ async def begin_create_or_update( self, service_group_name: str, goal_assignment_name: str, - resource: Union[_models.GoalAssignment, JSON, IO[bytes]], + resource: Union[_models.GoalAssignment, _types.GoalAssignment, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[None]: """Create a GoalAssignment. @@ -582,9 +583,10 @@ async def begin_create_or_update( :type service_group_name: str :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str - :param resource: Resource create parameters. Is one of the following types: GoalAssignment, - JSON, IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.GoalAssignment or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a GoalAssignment type or a IO[bytes] + type. Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.GoalAssignment or + ~azure.mgmt.resiliencemanagement.types.GoalAssignment or IO[bytes] :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -640,7 +642,7 @@ async def _update_initial( self, service_group_name: str, goal_assignment_name: str, - properties: Union[_models.GoalAssignment, JSON, IO[bytes]], + properties: Union[_models.GoalAssignment, _types.GoalAssignment, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -744,7 +746,7 @@ async def begin_update( self, service_group_name: str, goal_assignment_name: str, - properties: JSON, + properties: _types.GoalAssignment, *, content_type: str = "application/json", **kwargs: Any @@ -756,7 +758,7 @@ async def begin_update( :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.GoalAssignment :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -796,7 +798,7 @@ async def begin_update( self, service_group_name: str, goal_assignment_name: str, - properties: Union[_models.GoalAssignment, JSON, IO[bytes]], + properties: Union[_models.GoalAssignment, _types.GoalAssignment, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[None]: """Update a GoalAssignment. @@ -805,9 +807,10 @@ async def begin_update( :type service_group_name: str :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str - :param properties: The resource properties to be updated. Is one of the following types: - GoalAssignment, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.GoalAssignment or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a GoalAssignment type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.GoalAssignment or + ~azure.mgmt.resiliencemanagement.types.GoalAssignment or IO[bytes] :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -863,7 +866,7 @@ async def _update_goal_resources_initial( self, service_group_name: str, goal_assignment_name: str, - body: Union[_models.UpdateGoalResourceRequest, JSON, IO[bytes]], + body: Union[_models.UpdateGoalResourceRequest, _types.UpdateGoalResourceRequest, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -967,7 +970,7 @@ async def begin_update_goal_resources( self, service_group_name: str, goal_assignment_name: str, - body: JSON, + body: _types.UpdateGoalResourceRequest, *, content_type: str = "application/json", **kwargs: Any @@ -979,7 +982,7 @@ async def begin_update_goal_resources( :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.UpdateGoalResourceRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1019,7 +1022,7 @@ async def begin_update_goal_resources( self, service_group_name: str, goal_assignment_name: str, - body: Union[_models.UpdateGoalResourceRequest, JSON, IO[bytes]], + body: Union[_models.UpdateGoalResourceRequest, _types.UpdateGoalResourceRequest, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[None]: """Action to exclude a resource from goal assignment. @@ -1028,10 +1031,10 @@ async def begin_update_goal_resources( :type service_group_name: str :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str - :param body: The content of the action request. Is one of the following types: - UpdateGoalResourceRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.UpdateGoalResourceRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a UpdateGoalResourceRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.UpdateGoalResourceRequest or + ~azure.mgmt.resiliencemanagement.types.UpdateGoalResourceRequest or IO[bytes] :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -1337,13 +1340,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _recommend_capacity_initial( self, service_group_name: str, goal_assignment_name: str, - body: Union[_models.RecommendCapacityRequest, JSON, IO[bytes]], + body: Union[_models.RecommendCapacityRequest, _types.RecommendCapacityRequest, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -1448,7 +1451,7 @@ async def begin_recommend_capacity( self, service_group_name: str, goal_assignment_name: str, - body: JSON, + body: _types.RecommendCapacityRequest, *, content_type: str = "application/json", **kwargs: Any @@ -1461,7 +1464,7 @@ async def begin_recommend_capacity( :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.RecommendCapacityRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1509,13 +1512,13 @@ async def begin_recommend_capacity( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_recommend_capacity( self, service_group_name: str, goal_assignment_name: str, - body: Union[_models.RecommendCapacityRequest, JSON, IO[bytes]], + body: Union[_models.RecommendCapacityRequest, _types.RecommendCapacityRequest, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[None]: """Recommends capacity improvements for resources under the goal assignments scope. Returns @@ -1525,10 +1528,10 @@ async def begin_recommend_capacity( :type service_group_name: str :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str - :param body: The content of the action request. Is one of the following types: - RecommendCapacityRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.RecommendCapacityRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a RecommendCapacityRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.RecommendCapacityRequest or + ~azure.mgmt.resiliencemanagement.types.RecommendCapacityRequest or IO[bytes] :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -1685,7 +1688,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class GoalTemplatesOperations: +class GoalTemplatesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -1776,7 +1779,7 @@ async def _create_or_update_initial( self, service_group_name: str, goal_template_name: str, - resource: Union[_models.GoalTemplate, JSON, IO[bytes]], + resource: Union[_models.GoalTemplate, _types.GoalTemplate, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -1881,7 +1884,7 @@ async def begin_create_or_update( self, service_group_name: str, goal_template_name: str, - resource: JSON, + resource: _types.GoalTemplate, *, content_type: str = "application/json", **kwargs: Any @@ -1893,7 +1896,7 @@ async def begin_create_or_update( :param goal_template_name: The name of the goalTemplate. Required. :type goal_template_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.GoalTemplate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1937,7 +1940,7 @@ async def begin_create_or_update( self, service_group_name: str, goal_template_name: str, - resource: Union[_models.GoalTemplate, JSON, IO[bytes]], + resource: Union[_models.GoalTemplate, _types.GoalTemplate, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.GoalTemplate]: """Create a GoalTemplate. @@ -1946,9 +1949,10 @@ async def begin_create_or_update( :type service_group_name: str :param goal_template_name: The name of the goalTemplate. Required. :type goal_template_name: str - :param resource: Resource create parameters. Is one of the following types: GoalTemplate, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.GoalTemplate or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a GoalTemplate type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.GoalTemplate or + ~azure.mgmt.resiliencemanagement.types.GoalTemplate or IO[bytes] :return: An instance of AsyncLROPoller that returns GoalTemplate. The GoalTemplate is compatible with MutableMapping :rtype: @@ -2011,7 +2015,7 @@ async def _update_initial( self, service_group_name: str, goal_template_name: str, - properties: Union[_models.GoalTemplate, JSON, IO[bytes]], + properties: Union[_models.GoalTemplate, _types.GoalTemplate, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -2115,7 +2119,7 @@ async def begin_update( self, service_group_name: str, goal_template_name: str, - properties: JSON, + properties: _types.GoalTemplate, *, content_type: str = "application/json", **kwargs: Any @@ -2127,7 +2131,7 @@ async def begin_update( :param goal_template_name: The name of the goalTemplate. Required. :type goal_template_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.GoalTemplate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2167,7 +2171,7 @@ async def begin_update( self, service_group_name: str, goal_template_name: str, - properties: Union[_models.GoalTemplate, JSON, IO[bytes]], + properties: Union[_models.GoalTemplate, _types.GoalTemplate, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[None]: """Update a GoalTemplate. @@ -2176,9 +2180,10 @@ async def begin_update( :type service_group_name: str :param goal_template_name: The name of the goalTemplate. Required. :type goal_template_name: str - :param properties: The resource properties to be updated. Is one of the following types: - GoalTemplate, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.GoalTemplate or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a GoalTemplate type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.GoalTemplate or + ~azure.mgmt.resiliencemanagement.types.GoalTemplate or IO[bytes] :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -2453,7 +2458,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class GoalResourcesOperations: +class GoalResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -2659,7 +2664,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class RecoveryPlansOperations: +class RecoveryPlansOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -2750,7 +2755,7 @@ async def _create_or_update_initial( self, service_group_name: str, recovery_plan_name: str, - resource: Union[_models.RecoveryPlan, JSON, IO[bytes]], + resource: Union[_models.RecoveryPlan, _types.RecoveryPlan, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -2855,7 +2860,7 @@ async def begin_create_or_update( self, service_group_name: str, recovery_plan_name: str, - resource: JSON, + resource: _types.RecoveryPlan, *, content_type: str = "application/json", **kwargs: Any @@ -2867,7 +2872,7 @@ async def begin_create_or_update( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.RecoveryPlan :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2911,7 +2916,7 @@ async def begin_create_or_update( self, service_group_name: str, recovery_plan_name: str, - resource: Union[_models.RecoveryPlan, JSON, IO[bytes]], + resource: Union[_models.RecoveryPlan, _types.RecoveryPlan, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.RecoveryPlan]: """Create a RecoveryPlan. @@ -2920,9 +2925,10 @@ async def begin_create_or_update( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param resource: Resource create parameters. Is one of the following types: RecoveryPlan, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.RecoveryPlan or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a RecoveryPlan type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.RecoveryPlan or + ~azure.mgmt.resiliencemanagement.types.RecoveryPlan or IO[bytes] :return: An instance of AsyncLROPoller that returns RecoveryPlan. The RecoveryPlan is compatible with MutableMapping :rtype: @@ -2985,7 +2991,7 @@ async def _update_initial( self, service_group_name: str, recovery_plan_name: str, - properties: Union[_models.RecoveryPlan, JSON, IO[bytes]], + properties: Union[_models.RecoveryPlan, _types.RecoveryPlan, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -3088,7 +3094,7 @@ async def begin_update( self, service_group_name: str, recovery_plan_name: str, - properties: JSON, + properties: _types.RecoveryPlan, *, content_type: str = "application/json", **kwargs: Any @@ -3100,7 +3106,7 @@ async def begin_update( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.RecoveryPlan :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3144,7 +3150,7 @@ async def begin_update( self, service_group_name: str, recovery_plan_name: str, - properties: Union[_models.RecoveryPlan, JSON, IO[bytes]], + properties: Union[_models.RecoveryPlan, _types.RecoveryPlan, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.RecoveryPlan]: """Update a RecoveryPlan. @@ -3153,9 +3159,10 @@ async def begin_update( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param properties: The resource properties to be updated. Is one of the following types: - RecoveryPlan, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.RecoveryPlan or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a RecoveryPlan type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.RecoveryPlan or + ~azure.mgmt.resiliencemanagement.types.RecoveryPlan or IO[bytes] :return: An instance of AsyncLROPoller that returns RecoveryPlan. The RecoveryPlan is compatible with MutableMapping :rtype: @@ -3437,7 +3444,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class RecoveryPlanActionsOperations: # pylint: disable=too-many-public-methods +class RecoveryPlanActionsOperations: # pylint: disable=docstring-missing-param,too-many-public-methods """ .. warning:: **DO NOT** instantiate this class directly. @@ -3597,7 +3604,7 @@ async def _update_resources_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.UpdateRecoveryResourcesRequest, JSON, IO[bytes]], + body: Union[_models.UpdateRecoveryResourcesRequest, _types.UpdateRecoveryResourcesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -3706,7 +3713,7 @@ async def begin_update_resources( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.UpdateRecoveryResourcesRequest, *, operation_id: str, content_type: str = "application/json", @@ -3719,7 +3726,7 @@ async def begin_update_resources( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.UpdateRecoveryResourcesRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -3768,7 +3775,7 @@ async def begin_update_resources( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.UpdateRecoveryResourcesRequest, JSON, IO[bytes]], + body: Union[_models.UpdateRecoveryResourcesRequest, _types.UpdateRecoveryResourcesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -3779,10 +3786,10 @@ async def begin_update_resources( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - UpdateRecoveryResourcesRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.UpdateRecoveryResourcesRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a UpdateRecoveryResourcesRequest type + or a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.UpdateRecoveryResourcesRequest or + ~azure.mgmt.resiliencemanagement.types.UpdateRecoveryResourcesRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns UpdateRecoveryResourcesResponse. The @@ -3848,7 +3855,7 @@ async def _validate_for_operation_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.ValidateForOperationRequest, JSON, IO[bytes]], + body: Union[_models.ValidateForOperationRequest, _types.ValidateForOperationRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -3961,7 +3968,7 @@ async def begin_validate_for_operation( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.ValidateForOperationRequest, *, operation_id: str, content_type: str = "application/json", @@ -3975,7 +3982,7 @@ async def begin_validate_for_operation( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.ValidateForOperationRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -4025,7 +4032,7 @@ async def begin_validate_for_operation( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.ValidateForOperationRequest, JSON, IO[bytes]], + body: Union[_models.ValidateForOperationRequest, _types.ValidateForOperationRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -4037,10 +4044,10 @@ async def begin_validate_for_operation( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - ValidateForOperationRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.ValidateForOperationRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a ValidateForOperationRequest type or + a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.ValidateForOperationRequest or + ~azure.mgmt.resiliencemanagement.types.ValidateForOperationRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns ArmResponseErrorResponse. The @@ -4110,7 +4117,7 @@ async def _validate_for_failover_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -4221,7 +4228,7 @@ async def begin_validate_for_failover( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.FailoverRequest, *, operation_id: str, content_type: str = "application/json", @@ -4236,7 +4243,7 @@ async def begin_validate_for_failover( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.FailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -4287,7 +4294,7 @@ async def begin_validate_for_failover( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -4300,9 +4307,10 @@ async def begin_validate_for_failover( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: FailoverRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a FailoverRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or + ~azure.mgmt.resiliencemanagement.types.FailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns ValidateForRecoveryOperationBaseResponse. @@ -4499,7 +4507,7 @@ async def _validate_for_test_failover_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -4610,7 +4618,7 @@ async def begin_validate_for_test_failover( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.FailoverRequest, *, operation_id: str, content_type: str = "application/json", @@ -4625,7 +4633,7 @@ async def begin_validate_for_test_failover( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.FailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -4676,7 +4684,7 @@ async def begin_validate_for_test_failover( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -4689,9 +4697,10 @@ async def begin_validate_for_test_failover( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: FailoverRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a FailoverRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or + ~azure.mgmt.resiliencemanagement.types.FailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns ValidateForRecoveryOperationBaseResponse. @@ -4896,13 +4905,13 @@ def get_long_running_output(pipeline_response): "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _validate_for_reprotect_initial( self, service_group_name: str, recovery_plan_name: str, - body: Optional[Union[_models.ReprotectRequest, JSON, IO[bytes]]] = None, + body: Optional[Union[_models.ReprotectRequest, _types.ReprotectRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -5017,7 +5026,7 @@ async def begin_validate_for_reprotect( self, service_group_name: str, recovery_plan_name: str, - body: Optional[JSON] = None, + body: Optional[_types.ReprotectRequest] = None, *, operation_id: str, content_type: str = "application/json", @@ -5032,7 +5041,7 @@ async def begin_validate_for_reprotect( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Default value is None. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.ReprotectRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -5091,13 +5100,13 @@ async def begin_validate_for_reprotect( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_validate_for_reprotect( self, service_group_name: str, recovery_plan_name: str, - body: Optional[Union[_models.ReprotectRequest, JSON, IO[bytes]]] = None, + body: Optional[Union[_models.ReprotectRequest, _types.ReprotectRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -5110,9 +5119,10 @@ async def begin_validate_for_reprotect( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - ReprotectRequest, JSON, IO[bytes] Default value is None. - :type body: ~azure.mgmt.resiliencemanagement.models.ReprotectRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a ReprotectRequest type or a + IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.ReprotectRequest or + ~azure.mgmt.resiliencemanagement.types.ReprotectRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns ValidateForRecoveryOperationBaseResponse. @@ -5306,7 +5316,7 @@ async def _failover_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -5416,7 +5426,7 @@ async def begin_failover( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.FailoverRequest, *, operation_id: str, content_type: str = "application/json", @@ -5430,7 +5440,7 @@ async def begin_failover( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.FailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -5480,7 +5490,7 @@ async def begin_failover( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -5492,9 +5502,10 @@ async def begin_failover( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: FailoverRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a FailoverRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or + ~azure.mgmt.resiliencemanagement.types.FailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns RecoveryPlanActionBaseResponse. The @@ -5698,13 +5709,13 @@ def get_long_running_output(pipeline_response): "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _reprotect_initial( self, service_group_name: str, recovery_plan_name: str, - body: Optional[Union[_models.ReprotectRequest, JSON, IO[bytes]]] = None, + body: Optional[Union[_models.ReprotectRequest, _types.ReprotectRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -5818,7 +5829,7 @@ async def begin_reprotect( self, service_group_name: str, recovery_plan_name: str, - body: Optional[JSON] = None, + body: Optional[_types.ReprotectRequest] = None, *, operation_id: str, content_type: str = "application/json", @@ -5832,7 +5843,7 @@ async def begin_reprotect( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Default value is None. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.ReprotectRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -5890,13 +5901,13 @@ async def begin_reprotect( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_reprotect( self, service_group_name: str, recovery_plan_name: str, - body: Optional[Union[_models.ReprotectRequest, JSON, IO[bytes]]] = None, + body: Optional[Union[_models.ReprotectRequest, _types.ReprotectRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -5908,9 +5919,10 @@ async def begin_reprotect( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - ReprotectRequest, JSON, IO[bytes] Default value is None. - :type body: ~azure.mgmt.resiliencemanagement.models.ReprotectRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a ReprotectRequest type or a + IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.ReprotectRequest or + ~azure.mgmt.resiliencemanagement.types.ReprotectRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns RecoveryPlanActionBaseResponse. The @@ -5977,7 +5989,7 @@ async def _test_failover_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6087,7 +6099,7 @@ async def begin_test_failover( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.FailoverRequest, *, operation_id: str, content_type: str = "application/json", @@ -6101,7 +6113,7 @@ async def begin_test_failover( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.FailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -6151,7 +6163,7 @@ async def begin_test_failover( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6163,9 +6175,10 @@ async def begin_test_failover( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: FailoverRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a FailoverRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or + ~azure.mgmt.resiliencemanagement.types.FailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns RecoveryPlanActionBaseResponse. The @@ -6231,7 +6244,7 @@ async def _test_failover_cleanup_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.TestFailoverCleanupRequest, JSON, IO[bytes]], + body: Union[_models.TestFailoverCleanupRequest, _types.TestFailoverCleanupRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6341,7 +6354,7 @@ async def begin_test_failover_cleanup( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.TestFailoverCleanupRequest, *, operation_id: str, content_type: str = "application/json", @@ -6355,7 +6368,7 @@ async def begin_test_failover_cleanup( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.TestFailoverCleanupRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -6405,7 +6418,7 @@ async def begin_test_failover_cleanup( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.TestFailoverCleanupRequest, JSON, IO[bytes]], + body: Union[_models.TestFailoverCleanupRequest, _types.TestFailoverCleanupRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6417,10 +6430,10 @@ async def begin_test_failover_cleanup( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - TestFailoverCleanupRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.TestFailoverCleanupRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a TestFailoverCleanupRequest type or + a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.TestFailoverCleanupRequest or + ~azure.mgmt.resiliencemanagement.types.TestFailoverCleanupRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns RecoveryPlanActionBaseResponse. The @@ -6483,7 +6496,7 @@ def get_long_running_output(pipeline_response): ) -class RecoveryResourcesOperations: +class RecoveryResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -6677,7 +6690,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class RecoveryJobsOperations: +class RecoveryJobsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -6882,14 +6895,14 @@ async def get_next(next_link=None): "content_type", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _cancel_initial( self, service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: Union[_models.RecoveryActionRequest, JSON, IO[bytes]], + body: Union[_models.RecoveryActionRequest, _types.RecoveryActionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -7006,7 +7019,7 @@ async def begin_cancel( service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: JSON, + body: _types.RecoveryActionRequest, *, operation_id: str, content_type: str = "application/json", @@ -7021,7 +7034,7 @@ async def begin_cancel( :param recovery_job_name: The unique name (GUID) of the recovery job. Required. :type recovery_job_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.RecoveryActionRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -7081,14 +7094,14 @@ async def begin_cancel( "content_type", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_cancel( self, service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: Union[_models.RecoveryActionRequest, JSON, IO[bytes]], + body: Union[_models.RecoveryActionRequest, _types.RecoveryActionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -7101,9 +7114,10 @@ async def begin_cancel( :type recovery_plan_name: str :param recovery_job_name: The unique name (GUID) of the recovery job. Required. :type recovery_job_name: str - :param body: The content of the action request. Is one of the following types: - RecoveryActionRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.RecoveryActionRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a RecoveryActionRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.RecoveryActionRequest or + ~azure.mgmt.resiliencemanagement.types.RecoveryActionRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns ArmResponseErrorResponse. The @@ -7182,14 +7196,14 @@ def get_long_running_output(pipeline_response): "content_type", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _resume_initial( self, service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: Union[_models.RecoveryActionRequest, JSON, IO[bytes]], + body: Union[_models.RecoveryActionRequest, _types.RecoveryActionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -7307,7 +7321,7 @@ async def begin_resume( service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: JSON, + body: _types.RecoveryActionRequest, *, operation_id: str, content_type: str = "application/json", @@ -7323,7 +7337,7 @@ async def begin_resume( :param recovery_job_name: The unique name (GUID) of the recovery job. Required. :type recovery_job_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.RecoveryActionRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -7384,14 +7398,14 @@ async def begin_resume( "content_type", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_resume( self, service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: Union[_models.RecoveryActionRequest, JSON, IO[bytes]], + body: Union[_models.RecoveryActionRequest, _types.RecoveryActionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -7405,9 +7419,10 @@ async def begin_resume( :type recovery_plan_name: str :param recovery_job_name: The unique name (GUID) of the recovery job. Required. :type recovery_job_name: str - :param body: The content of the action request. Is one of the following types: - RecoveryActionRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.RecoveryActionRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a RecoveryActionRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.RecoveryActionRequest or + ~azure.mgmt.resiliencemanagement.types.RecoveryActionRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns ArmResponseErrorResponse. The @@ -7628,7 +7643,7 @@ def get_long_running_output(pipeline_response): ) -class RecoveryJobResourcesOperations: +class RecoveryJobResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -7834,7 +7849,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class DrillsOperations: +class DrillsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -7922,7 +7937,11 @@ async def get(self, service_group_name: str, drill_name: str, **kwargs: Any) -> return deserialized # type: ignore async def _create_initial( - self, service_group_name: str, drill_name: str, resource: Union[_models.Drill, JSON, IO[bytes]], **kwargs: Any + self, + service_group_name: str, + drill_name: str, + resource: Union[_models.Drill, _types.Drill, IO[bytes]], + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -8025,7 +8044,7 @@ async def begin_create( self, service_group_name: str, drill_name: str, - resource: JSON, + resource: _types.Drill, *, content_type: str = "application/json", **kwargs: Any @@ -8037,7 +8056,7 @@ async def begin_create( :param drill_name: The name of the Drill. Required. :type drill_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.Drill :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8076,7 +8095,11 @@ async def begin_create( @distributed_trace_async async def begin_create( - self, service_group_name: str, drill_name: str, resource: Union[_models.Drill, JSON, IO[bytes]], **kwargs: Any + self, + service_group_name: str, + drill_name: str, + resource: Union[_models.Drill, _types.Drill, IO[bytes]], + **kwargs: Any ) -> AsyncLROPoller[_models.Drill]: """Create a Drill. @@ -8084,9 +8107,10 @@ async def begin_create( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param resource: Resource create parameters. Is one of the following types: Drill, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.Drill or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a Drill type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.Drill or + ~azure.mgmt.resiliencemanagement.types.Drill or IO[bytes] :return: An instance of AsyncLROPoller that returns Drill. The Drill is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.resiliencemanagement.models.Drill] @@ -8148,7 +8172,7 @@ async def _update_initial( self, service_group_name: str, drill_name: str, - properties: Union[_models.DrillUpdate, JSON, IO[bytes]], + properties: Union[_models.DrillUpdate, _types.DrillUpdate, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -8252,7 +8276,7 @@ async def begin_update( self, service_group_name: str, drill_name: str, - properties: JSON, + properties: _types.DrillUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -8264,7 +8288,7 @@ async def begin_update( :param drill_name: The name of the Drill. Required. :type drill_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.DrillUpdate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8304,7 +8328,7 @@ async def begin_update( self, service_group_name: str, drill_name: str, - properties: Union[_models.DrillUpdate, JSON, IO[bytes]], + properties: Union[_models.DrillUpdate, _types.DrillUpdate, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[None]: """Update a Drill. @@ -8313,9 +8337,10 @@ async def begin_update( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param properties: The resource properties to be updated. Is one of the following types: - DrillUpdate, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.DrillUpdate or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a DrillUpdate type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.DrillUpdate or + ~azure.mgmt.resiliencemanagement.types.DrillUpdate or IO[bytes] :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -8596,13 +8621,13 @@ async def get_next(next_link=None): "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _validate_for_execution_initial( self, service_group_name: str, drill_name: str, - body: Union[_models.ValidateForExecutionRequest, JSON, IO[bytes]], + body: Union[_models.ValidateForExecutionRequest, _types.ValidateForExecutionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -8712,7 +8737,7 @@ async def begin_validate_for_execution( self, service_group_name: str, drill_name: str, - body: JSON, + body: _types.ValidateForExecutionRequest, *, operation_id: str, content_type: str = "application/json", @@ -8725,7 +8750,7 @@ async def begin_validate_for_execution( :param drill_name: The name of the Drill. Required. :type drill_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.ValidateForExecutionRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -8778,13 +8803,13 @@ async def begin_validate_for_execution( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_validate_for_execution( self, service_group_name: str, drill_name: str, - body: Union[_models.ValidateForExecutionRequest, JSON, IO[bytes]], + body: Union[_models.ValidateForExecutionRequest, _types.ValidateForExecutionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -8795,10 +8820,10 @@ async def begin_validate_for_execution( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param body: The content of the action request. Is one of the following types: - ValidateForExecutionRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.ValidateForExecutionRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a ValidateForExecutionRequest type or + a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.ValidateForExecutionRequest or + ~azure.mgmt.resiliencemanagement.types.ValidateForExecutionRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns None @@ -8857,7 +8882,7 @@ async def _start_initial( self, service_group_name: str, drill_name: str, - body: Union[_models.DrillStartRequest, JSON, IO[bytes]], + body: Union[_models.DrillStartRequest, _types.DrillStartRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -8967,7 +8992,7 @@ async def begin_start( self, service_group_name: str, drill_name: str, - body: JSON, + body: _types.DrillStartRequest, *, operation_id: str, content_type: str = "application/json", @@ -8980,7 +9005,7 @@ async def begin_start( :param drill_name: The name of the Drill. Required. :type drill_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.DrillStartRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -9025,7 +9050,7 @@ async def begin_start( self, service_group_name: str, drill_name: str, - body: Union[_models.DrillStartRequest, JSON, IO[bytes]], + body: Union[_models.DrillStartRequest, _types.DrillStartRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -9036,9 +9061,10 @@ async def begin_start( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param body: The content of the action request. Is one of the following types: - DrillStartRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.DrillStartRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a DrillStartRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillStartRequest or + ~azure.mgmt.resiliencemanagement.types.DrillStartRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns None @@ -9097,7 +9123,7 @@ async def _end_initial( self, service_group_name: str, drill_name: str, - body: Union[_models.DrillEndRequest, JSON, IO[bytes]], + body: Union[_models.DrillEndRequest, _types.DrillEndRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -9207,7 +9233,7 @@ async def begin_end( self, service_group_name: str, drill_name: str, - body: JSON, + body: _types.DrillEndRequest, *, operation_id: str, content_type: str = "application/json", @@ -9220,7 +9246,7 @@ async def begin_end( :param drill_name: The name of the Drill. Required. :type drill_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.DrillEndRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -9265,7 +9291,7 @@ async def begin_end( self, service_group_name: str, drill_name: str, - body: Union[_models.DrillEndRequest, JSON, IO[bytes]], + body: Union[_models.DrillEndRequest, _types.DrillEndRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -9276,9 +9302,10 @@ async def begin_end( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param body: The content of the action request. Is one of the following types: DrillEndRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.DrillEndRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a DrillEndRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillEndRequest or + ~azure.mgmt.resiliencemanagement.types.DrillEndRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns None @@ -9338,13 +9365,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- params_added_on={ "2026-04-01-preview": ["service_group_name", "api_version", "operation_id", "drill_name", "content_type"] }, - api_versions_list=["2026-04-01-preview"], + api_versions_list=["2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _add_or_update_resources_initial( self, service_group_name: str, drill_name: str, - body: Union[_models.AddOrUpdateResourcesRequest, JSON, IO[bytes]], + body: Union[_models.AddOrUpdateResourcesRequest, _types.AddOrUpdateResourcesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -9454,7 +9481,7 @@ async def begin_add_or_update_resources( self, service_group_name: str, drill_name: str, - body: JSON, + body: _types.AddOrUpdateResourcesRequest, *, operation_id: str, content_type: str = "application/json", @@ -9467,7 +9494,7 @@ async def begin_add_or_update_resources( :param drill_name: The name of the Drill. Required. :type drill_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.AddOrUpdateResourcesRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -9513,13 +9540,13 @@ async def begin_add_or_update_resources( params_added_on={ "2026-04-01-preview": ["service_group_name", "api_version", "operation_id", "drill_name", "content_type"] }, - api_versions_list=["2026-04-01-preview"], + api_versions_list=["2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_add_or_update_resources( self, service_group_name: str, drill_name: str, - body: Union[_models.AddOrUpdateResourcesRequest, JSON, IO[bytes]], + body: Union[_models.AddOrUpdateResourcesRequest, _types.AddOrUpdateResourcesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -9530,10 +9557,10 @@ async def begin_add_or_update_resources( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param body: The content of the action request. Is one of the following types: - AddOrUpdateResourcesRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.AddOrUpdateResourcesRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a AddOrUpdateResourcesRequest type or + a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.AddOrUpdateResourcesRequest or + ~azure.mgmt.resiliencemanagement.types.AddOrUpdateResourcesRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns None @@ -9591,7 +9618,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- @api_version_validation( method_added_on="2026-03-01-preview", params_added_on={"2026-03-01-preview": ["service_group_name", "api_version", "operation_id", "drill_name"]}, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _resync_readiness_check_initial( self, service_group_name: str, drill_name: str, *, operation_id: str, **kwargs: Any @@ -9661,7 +9688,7 @@ async def _resync_readiness_check_initial( @api_version_validation( method_added_on="2026-03-01-preview", params_added_on={"2026-03-01-preview": ["service_group_name", "api_version", "operation_id", "drill_name"]}, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_resync_readiness_check( self, service_group_name: str, drill_name: str, *, operation_id: str, **kwargs: Any @@ -9724,7 +9751,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore -class DrillResourcesOperations: +class DrillResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -9930,7 +9957,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class DrillRunsOperations: +class DrillRunsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -10121,12 +10148,27 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) + @api_version_validation( + method_added_on="2026-06-01-preview", + params_added_on={ + "2026-06-01-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-06-01-preview", "2026-08-31-preview"], + ) async def _fail_over_initial( self, service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.DrillRunFailoverRequest, JSON, IO[bytes]], + body: Optional[Union[_models.DrillRunFailoverRequest, _types.DrillRunFailoverRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -10143,14 +10185,18 @@ async def _fail_over_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = content_type or "application/json" if body else None _content = None if isinstance(body, (IOBase, bytes)): _content = body else: - _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if body is not None: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None _request = build_drill_runs_fail_over_request( service_group_name=service_group_name, @@ -10209,7 +10255,7 @@ async def begin_fail_over( service_group_name: str, drill_name: str, drill_run_name: str, - body: _models.DrillRunFailoverRequest, + body: Optional[_models.DrillRunFailoverRequest] = None, *, operation_id: str, content_type: str = "application/json", @@ -10223,7 +10269,7 @@ async def begin_fail_over( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Required. + :param body: The content of the action request. Default value is None. :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunFailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str @@ -10241,7 +10287,7 @@ async def begin_fail_over( service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: Optional[_types.DrillRunFailoverRequest] = None, *, operation_id: str, content_type: str = "application/json", @@ -10255,8 +10301,8 @@ async def begin_fail_over( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Required. - :type body: JSON + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.types.DrillRunFailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -10273,7 +10319,7 @@ async def begin_fail_over( service_group_name: str, drill_name: str, drill_run_name: str, - body: IO[bytes], + body: Optional[IO[bytes]] = None, *, operation_id: str, content_type: str = "application/json", @@ -10287,7 +10333,7 @@ async def begin_fail_over( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Required. + :param body: The content of the action request. Default value is None. :type body: IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str @@ -10300,12 +10346,27 @@ async def begin_fail_over( """ @distributed_trace_async + @api_version_validation( + method_added_on="2026-06-01-preview", + params_added_on={ + "2026-06-01-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-06-01-preview", "2026-08-31-preview"], + ) async def begin_fail_over( self, service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.DrillRunFailoverRequest, JSON, IO[bytes]], + body: Optional[Union[_models.DrillRunFailoverRequest, _types.DrillRunFailoverRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -10318,10 +10379,10 @@ async def begin_fail_over( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Is one of the following types: - DrillRunFailoverRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunFailoverRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a DrillRunFailoverRequest type or a + IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunFailoverRequest or + ~azure.mgmt.resiliencemanagement.types.DrillRunFailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns None @@ -10332,6 +10393,7 @@ async def begin_fail_over( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -10377,8 +10439,30 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- ) return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + @api_version_validation( + method_added_on="2026-06-01-preview", + params_added_on={ + "2026-06-01-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-06-01-preview", "2026-08-31-preview"], + ) async def _reprotect_initial( - self, service_group_name: str, drill_name: str, drill_run_name: str, *, operation_id: str, **kwargs: Any + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[Union[_models.DrillRunReprotectRequest, _types.DrillRunReprotectRequest, IO[bytes]]] = None, + *, + operation_id: str, + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -10388,17 +10472,31 @@ async def _reprotect_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + content_type = content_type or "application/json" if body else None + _content = None + if isinstance(body, (IOBase, bytes)): + _content = body + else: + if body is not None: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + _request = build_drill_runs_reprotect_request( service_group_name=service_group_name, drill_name=drill_name, drill_run_name=drill_run_name, operation_id=operation_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -10442,9 +10540,127 @@ async def _reprotect_initial( return deserialized # type: ignore + @overload + async def begin_reprotect( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[_models.DrillRunReprotectRequest] = None, + *, + operation_id: str, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This initiates a new Reprotect operation on this Drill Run. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunReprotectRequest + :keyword operation_id: A GUID that represents the Long Running OperationId. Required. + :paramtype operation_id: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_reprotect( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[_types.DrillRunReprotectRequest] = None, + *, + operation_id: str, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This initiates a new Reprotect operation on this Drill Run. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.types.DrillRunReprotectRequest + :keyword operation_id: A GUID that represents the Long Running OperationId. Required. + :paramtype operation_id: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_reprotect( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[IO[bytes]] = None, + *, + operation_id: str, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This initiates a new Reprotect operation on this Drill Run. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: IO[bytes] + :keyword operation_id: A GUID that represents the Long Running OperationId. Required. + :paramtype operation_id: str + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + @distributed_trace_async + @api_version_validation( + method_added_on="2026-06-01-preview", + params_added_on={ + "2026-06-01-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-06-01-preview", "2026-08-31-preview"], + ) async def begin_reprotect( - self, service_group_name: str, drill_name: str, drill_run_name: str, *, operation_id: str, **kwargs: Any + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[Union[_models.DrillRunReprotectRequest, _types.DrillRunReprotectRequest, IO[bytes]]] = None, + *, + operation_id: str, + **kwargs: Any ) -> AsyncLROPoller[None]: """This initiates a new Reprotect operation on this Drill Run. @@ -10454,15 +10670,21 @@ async def begin_reprotect( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str + :param body: The content of the action request. Is either a DrillRunReprotectRequest type or a + IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunReprotectRequest or + ~azure.mgmt.resiliencemanagement.types.DrillRunReprotectRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns None :rtype: ~azure.core.polling.AsyncLROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -10472,7 +10694,9 @@ async def begin_reprotect( service_group_name=service_group_name, drill_name=drill_name, drill_run_name=drill_run_name, + body=body, operation_id=operation_id, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -10511,7 +10735,7 @@ async def _add_notes_initial( service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.DrillRunAddNotesRequest, JSON, IO[bytes]], + body: Union[_models.DrillRunAddNotesRequest, _types.DrillRunAddNotesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -10626,7 +10850,7 @@ async def begin_add_notes( service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: _types.DrillRunAddNotesRequest, *, operation_id: str, content_type: str = "application/json", @@ -10641,7 +10865,7 @@ async def begin_add_notes( :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.DrillRunAddNotesRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -10690,7 +10914,7 @@ async def begin_add_notes( service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.DrillRunAddNotesRequest, JSON, IO[bytes]], + body: Union[_models.DrillRunAddNotesRequest, _types.DrillRunAddNotesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -10703,10 +10927,10 @@ async def begin_add_notes( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Is one of the following types: - DrillRunAddNotesRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunAddNotesRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a DrillRunAddNotesRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunAddNotesRequest or + ~azure.mgmt.resiliencemanagement.types.DrillRunAddNotesRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns None @@ -10897,7 +11121,7 @@ async def _mark_as_complete_initial( service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.MarkAsCompleteRequest, JSON, IO[bytes]], + body: Union[_models.MarkAsCompleteRequest, _types.MarkAsCompleteRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -11012,7 +11236,7 @@ async def begin_mark_as_complete( service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: _types.MarkAsCompleteRequest, *, operation_id: str, content_type: str = "application/json", @@ -11027,7 +11251,7 @@ async def begin_mark_as_complete( :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.MarkAsCompleteRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -11076,7 +11300,7 @@ async def begin_mark_as_complete( service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.MarkAsCompleteRequest, JSON, IO[bytes]], + body: Union[_models.MarkAsCompleteRequest, _types.MarkAsCompleteRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -11089,9 +11313,10 @@ async def begin_mark_as_complete( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Is one of the following types: - MarkAsCompleteRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.MarkAsCompleteRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a MarkAsCompleteRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.MarkAsCompleteRequest or + ~azure.mgmt.resiliencemanagement.types.MarkAsCompleteRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of AsyncLROPoller that returns None @@ -11147,44 +11372,23 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- ) return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - -class DrillRunResourcesOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.resiliencemanagement.aio.ResilienceManagementClient`'s - :attr:`drill_run_resources` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: ResilienceManagementClientConfiguration = ( - input_args.pop(0) if input_args else kwargs.pop("config") - ) - self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") - self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") - - @distributed_trace_async - async def get( - self, service_group_name: str, drill_name: str, drill_run_name: str, drill_run_resource_name: str, **kwargs: Any - ) -> _models.DrillRunResource: - """Get a DrillRunResource. - - :param service_group_name: The name of the service group. Required. - :type service_group_name: str - :param drill_name: The name of the Drill. Required. - :type drill_name: str - :param drill_run_name: The name of the DrillRun (GUID). Required. - :type drill_run_name: str - :param drill_run_resource_name: The unique name (GUID) of the recovery job resource. Required. - :type drill_run_resource_name: str - :return: DrillRunResource. The DrillRunResource is compatible with MutableMapping - :rtype: ~azure.mgmt.resiliencemanagement.models.DrillRunResource - :raises ~azure.core.exceptions.HttpResponseError: - """ + @api_version_validation( + method_added_on="2026-08-31-preview", + params_added_on={ + "2026-08-31-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "accept", + ] + }, + api_versions_list=["2026-08-31-preview"], + ) + async def _generate_report_initial( + self, service_group_name: str, drill_name: str, drill_run_name: str, *, operation_id: str, **kwargs: Any + ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -11196,13 +11400,401 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.DrillRunResource] = kwargs.pop("cls", None) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_drill_run_resources_get_request( + _request = build_drill_runs_generate_report_request( service_group_name=service_group_name, drill_name=drill_name, drill_run_name=drill_run_name, - drill_run_resource_name=drill_run_resource_name, + operation_id=operation_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + @api_version_validation( + method_added_on="2026-08-31-preview", + params_added_on={ + "2026-08-31-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "accept", + ] + }, + api_versions_list=["2026-08-31-preview"], + ) + async def begin_generate_report( + self, service_group_name: str, drill_name: str, drill_run_name: str, *, operation_id: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """This generates, or regenerates, the report for this Drill Run. The action is idempotent and is + safe to call at any time: a call that arrives while a generation is already running joins it, + and a call made after a failed attempt retries it. A report that has been finalized is never + regenerated. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :keyword operation_id: A GUID that represents the Long Running OperationId. Required. + :paramtype operation_id: str + :return: An instance of AsyncLROPoller that returns None + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = await self._generate_report_initial( + service_group_name=service_group_name, + drill_name=drill_name, + drill_run_name=drill_run_name, + operation_id=operation_id, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @overload + async def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[_models.ListReportDownloadUrlRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.ListReportDownloadUrlResponse: + """This returns a short-lived, read-only URL to download the report for this Drill Run. The URL + expires at the returned expiryTimestamp and grants access to that single report only. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: ListReportDownloadUrlResponse. The ListReportDownloadUrlResponse is compatible with + MutableMapping + :rtype: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[_types.ListReportDownloadUrlRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.ListReportDownloadUrlResponse: + """This returns a short-lived, read-only URL to download the report for this Drill Run. The URL + expires at the returned expiryTimestamp and grants access to that single report only. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.types.ListReportDownloadUrlRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: ListReportDownloadUrlResponse. The ListReportDownloadUrlResponse is compatible with + MutableMapping + :rtype: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.ListReportDownloadUrlResponse: + """This returns a short-lived, read-only URL to download the report for this Drill Run. The URL + expires at the returned expiryTimestamp and grants access to that single report only. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: ListReportDownloadUrlResponse. The ListReportDownloadUrlResponse is compatible with + MutableMapping + :rtype: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + @api_version_validation( + method_added_on="2026-08-31-preview", + params_added_on={ + "2026-08-31-preview": [ + "service_group_name", + "api_version", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-08-31-preview"], + ) + async def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[ + Union[_models.ListReportDownloadUrlRequest, _types.ListReportDownloadUrlRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> _models.ListReportDownloadUrlResponse: + """This returns a short-lived, read-only URL to download the report for this Drill Run. The URL + expires at the returned expiryTimestamp and grants access to that single report only. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Is either a ListReportDownloadUrlRequest type + or a IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlRequest or + ~azure.mgmt.resiliencemanagement.types.ListReportDownloadUrlRequest or IO[bytes] + :return: ListReportDownloadUrlResponse. The ListReportDownloadUrlResponse is compatible with + MutableMapping + :rtype: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None + cls: ClsType[_models.ListReportDownloadUrlResponse] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if body else None + _content = None + if isinstance(body, (IOBase, bytes)): + _content = body + else: + if body is not None: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_drill_runs_list_report_download_url_request( + service_group_name=service_group_name, + drill_name=drill_name, + drill_run_name=drill_run_name, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.ListReportDownloadUrlResponse, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + +class DrillRunResourcesOperations: # pylint: disable=docstring-missing-param + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.resiliencemanagement.aio.ResilienceManagementClient`'s + :attr:`drill_run_resources` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ResilienceManagementClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace_async + async def get( + self, service_group_name: str, drill_name: str, drill_run_name: str, drill_run_resource_name: str, **kwargs: Any + ) -> _models.DrillRunResource: + """Get a DrillRunResource. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param drill_run_resource_name: The unique name (GUID) of the recovery job resource. Required. + :type drill_run_resource_name: str + :return: DrillRunResource. The DrillRunResource is compatible with MutableMapping + :rtype: ~azure.mgmt.resiliencemanagement.models.DrillRunResource + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.DrillRunResource] = kwargs.pop("cls", None) + + _request = build_drill_run_resources_get_request( + service_group_name=service_group_name, + drill_name=drill_name, + drill_run_name=drill_run_name, + drill_run_resource_name=drill_run_resource_name, api_version=self._config.api_version, headers=_headers, params=_params, @@ -11348,7 +11940,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class UnifiedResilienceItemsOperations: +class UnifiedResilienceItemsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -11542,7 +12134,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class UsagePlansOperations: +class UsagePlansOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -11567,7 +12159,7 @@ def __init__(self, *args, **kwargs) -> None: params_added_on={ "2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "usage_plan_name", "accept"] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def get(self, resource_group_name: str, usage_plan_name: str, **kwargs: Any) -> _models.UsagePlan: """Get a UsagePlan. @@ -11650,13 +12242,13 @@ async def get(self, resource_group_name: str, usage_plan_name: str, **kwargs: An "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _create_or_update_initial( self, resource_group_name: str, usage_plan_name: str, - resource: Union[_models.UsagePlan, JSON, IO[bytes]], + resource: Union[_models.UsagePlan, _types.UsagePlan, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -11762,7 +12354,7 @@ async def begin_create_or_update( self, resource_group_name: str, usage_plan_name: str, - resource: JSON, + resource: _types.UsagePlan, *, content_type: str = "application/json", **kwargs: Any @@ -11775,7 +12367,7 @@ async def begin_create_or_update( :param usage_plan_name: The name of the usage plan. Required. :type usage_plan_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.UsagePlan :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -11826,13 +12418,13 @@ async def begin_create_or_update( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_create_or_update( self, resource_group_name: str, usage_plan_name: str, - resource: Union[_models.UsagePlan, JSON, IO[bytes]], + resource: Union[_models.UsagePlan, _types.UsagePlan, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.UsagePlan]: """Create a UsagePlan. @@ -11842,9 +12434,10 @@ async def begin_create_or_update( :type resource_group_name: str :param usage_plan_name: The name of the usage plan. Required. :type usage_plan_name: str - :param resource: Resource create parameters. Is one of the following types: UsagePlan, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.UsagePlan or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a UsagePlan type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.UsagePlan or + ~azure.mgmt.resiliencemanagement.types.UsagePlan or IO[bytes] :return: An instance of AsyncLROPoller that returns UsagePlan. The UsagePlan is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.resiliencemanagement.models.UsagePlan] @@ -11914,13 +12507,13 @@ def get_long_running_output(pipeline_response): "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _update_initial( self, resource_group_name: str, usage_plan_name: str, - properties: Union[_models.UsagePlanTagsUpdate, JSON, IO[bytes]], + properties: Union[_models.UsagePlanTagsUpdate, _types.UsagePlanTagsUpdate, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -12024,7 +12617,7 @@ async def begin_update( self, resource_group_name: str, usage_plan_name: str, - properties: JSON, + properties: _types.UsagePlanTagsUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -12037,7 +12630,7 @@ async def begin_update( :param usage_plan_name: The name of the usage plan. Required. :type usage_plan_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.UsagePlanTagsUpdate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12088,13 +12681,13 @@ async def begin_update( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_update( self, resource_group_name: str, usage_plan_name: str, - properties: Union[_models.UsagePlanTagsUpdate, JSON, IO[bytes]], + properties: Union[_models.UsagePlanTagsUpdate, _types.UsagePlanTagsUpdate, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.UsagePlan]: """Update a UsagePlan. @@ -12104,10 +12697,10 @@ async def begin_update( :type resource_group_name: str :param usage_plan_name: The name of the usage plan. Required. :type usage_plan_name: str - :param properties: The resource properties to be updated. Is one of the following types: - UsagePlanTagsUpdate, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.UsagePlanTagsUpdate or JSON or - IO[bytes] + :param properties: The resource properties to be updated. Is either a UsagePlanTagsUpdate type + or a IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.UsagePlanTagsUpdate or + ~azure.mgmt.resiliencemanagement.types.UsagePlanTagsUpdate or IO[bytes] :return: An instance of AsyncLROPoller that returns UsagePlan. The UsagePlan is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.resiliencemanagement.models.UsagePlan] @@ -12170,7 +12763,7 @@ def get_long_running_output(pipeline_response): params_added_on={ "2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "usage_plan_name"] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _delete_initial( self, resource_group_name: str, usage_plan_name: str, **kwargs: Any @@ -12239,7 +12832,7 @@ async def _delete_initial( params_added_on={ "2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "usage_plan_name"] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_delete(self, resource_group_name: str, usage_plan_name: str, **kwargs: Any) -> AsyncLROPoller[None]: """Delete a UsagePlan. @@ -12301,7 +12894,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- @api_version_validation( method_added_on="2026-03-01-preview", params_added_on={"2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "accept"]}, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> AsyncItemPaged["_models.UsagePlan"]: """List UsagePlan resources by resource group. @@ -12404,7 +12997,7 @@ async def get_next(next_link=None): @api_version_validation( method_added_on="2026-03-01-preview", params_added_on={"2026-03-01-preview": ["api_version", "subscription_id", "accept"]}, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def list_by_subscription(self, **kwargs: Any) -> AsyncItemPaged["_models.UsagePlan"]: """List UsagePlan resources by subscription ID. @@ -12500,7 +13093,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class EnrollmentsOperations: +class EnrollmentsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -12532,7 +13125,7 @@ def __init__(self, *args, **kwargs) -> None: "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def get( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, **kwargs: Any @@ -12621,14 +13214,14 @@ async def get( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _create_or_update_initial( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, - resource: Union[_models.Enrollment, JSON, IO[bytes]], + resource: Union[_models.Enrollment, _types.Enrollment, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -12739,7 +13332,7 @@ async def begin_create_or_update( resource_group_name: str, usage_plan_name: str, enrollment_name: str, - resource: JSON, + resource: _types.Enrollment, *, content_type: str = "application/json", **kwargs: Any @@ -12754,7 +13347,7 @@ async def begin_create_or_update( :param enrollment_name: The name of the enrollment. Required. :type enrollment_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.Enrollment :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12809,14 +13402,14 @@ async def begin_create_or_update( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_create_or_update( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, - resource: Union[_models.Enrollment, JSON, IO[bytes]], + resource: Union[_models.Enrollment, _types.Enrollment, IO[bytes]], **kwargs: Any ) -> AsyncLROPoller[_models.Enrollment]: """Create or update an Enrollment. @@ -12828,9 +13421,10 @@ async def begin_create_or_update( :type usage_plan_name: str :param enrollment_name: The name of the enrollment. Required. :type enrollment_name: str - :param resource: Resource create parameters. Is one of the following types: Enrollment, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.Enrollment or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a Enrollment type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.Enrollment or + ~azure.mgmt.resiliencemanagement.types.Enrollment or IO[bytes] :return: An instance of AsyncLROPoller that returns Enrollment. The Enrollment is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.resiliencemanagement.models.Enrollment] @@ -12900,7 +13494,7 @@ def get_long_running_output(pipeline_response): "enrollment_name", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def _delete_initial( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, **kwargs: Any @@ -12976,7 +13570,7 @@ async def _delete_initial( "enrollment_name", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) async def begin_delete( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, **kwargs: Any @@ -13045,7 +13639,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- params_added_on={ "2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "usage_plan_name", "accept"] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def list( self, resource_group_name: str, usage_plan_name: str, **kwargs: Any diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/operations/_patch.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/operations/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/operations/_patch.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/aio/operations/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/__init__.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/__init__.py index 0c687e8eb988..0d407fea0cb5 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/__init__.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/__init__.py @@ -25,6 +25,7 @@ Drill, DrillEndRequest, DrillProperties, + DrillReportSummary, DrillResource, DrillResourceAttentionReason, DrillResourceProperties, @@ -32,6 +33,7 @@ DrillRunAddNotesRequest, DrillRunFailoverRequest, DrillRunProperties, + DrillRunReprotectRequest, DrillRunResource, DrillRunResourceProperties, DrillStartRequest, @@ -55,6 +57,7 @@ GoalTemplate, GoalTemplateProperties, GoalsData, + HealthModelMonitoringProperties, IncludeOrUpdateResource, JobErrorInfo, JobExtendedInfo, @@ -64,10 +67,10 @@ JobTaskDetail, JobUserComment, LastRunProperties, - ManagedOnBehalfOfConfiguration, + ListReportDownloadUrlRequest, + ListReportDownloadUrlResponse, ManagedServiceIdentity, MarkAsCompleteRequest, - MoboBrokerResource, MonitoringPropertiesOfDrill, Operation, OperationDisplay, @@ -99,12 +102,16 @@ RecoveryResourceProperties, RecoveryResourceQualification, RegionalDrillProperties, + ReportStageStatus, ReprotectRequest, ReprotectRequestProperties, + ResiliencyProperties, Resource, ResourceBaseProtectionSolutionSetting, + ResourceCrossZoneVmRecoveryProtectionSetting, ResourceCustomProtectionAction, ResourceCustomProtectionSetting, + ResourceFeasibilityReview, ResourceLists, ResourceNativeProtectionSolutionSetting, ResourceProtectionSolutionSettings, @@ -114,6 +121,10 @@ ResourceSiteRecoveryTestFailoverParams, ServiceGroupMembership, ServiceLevelResource, + SkuDetails, + SliAttentionStatus, + SliMonitoringProperties, + SliSelection, SupportedVerbsForStage, SystemData, SystemMetadata, @@ -128,7 +139,7 @@ UsagePlanProperties, UsagePlanTagsUpdate, UserAssignedIdentity, - UserConfirmationForHighAvailabilityItem, + UserConfirmationItem, ValidateForExecutionProperties, ValidateForExecutionRequest, ValidateForOperationRequest, @@ -146,12 +157,16 @@ CreatedByType, DrillAttestation, DrillMode, + DrillReportFinalizationState, + DrillReportFormat, + DrillReportGenerationStatus, DrillResourceFaultState, DrillResourceInclusionState, DrillResourceReadinessState, DrillResourceState, DrillRunOperationVerbs, DrillRunSubtasks, + DrillRunTasks, DrillType, ExclusionReason, ExclusionState, @@ -187,11 +202,15 @@ RelativeResourceCompositionState, RequirementSelected, ResilienceHealthStatus, + ResourceFeasibilityReviewStatus, + ResourceFeasibilityReviewType, ResourceInclusionState, ResourceProtectionSolutionType, ResourceProtectionStatus, ResourceReplicationRole, ResourceTypeCategories, + SliType, + SliTypeMatchState, SolutionDisplayName, TestFailoverState, UnifiedResilienceItemRequirementSelected, @@ -215,6 +234,7 @@ "Drill", "DrillEndRequest", "DrillProperties", + "DrillReportSummary", "DrillResource", "DrillResourceAttentionReason", "DrillResourceProperties", @@ -222,6 +242,7 @@ "DrillRunAddNotesRequest", "DrillRunFailoverRequest", "DrillRunProperties", + "DrillRunReprotectRequest", "DrillRunResource", "DrillRunResourceProperties", "DrillStartRequest", @@ -245,6 +266,7 @@ "GoalTemplate", "GoalTemplateProperties", "GoalsData", + "HealthModelMonitoringProperties", "IncludeOrUpdateResource", "JobErrorInfo", "JobExtendedInfo", @@ -254,10 +276,10 @@ "JobTaskDetail", "JobUserComment", "LastRunProperties", - "ManagedOnBehalfOfConfiguration", + "ListReportDownloadUrlRequest", + "ListReportDownloadUrlResponse", "ManagedServiceIdentity", "MarkAsCompleteRequest", - "MoboBrokerResource", "MonitoringPropertiesOfDrill", "Operation", "OperationDisplay", @@ -289,12 +311,16 @@ "RecoveryResourceProperties", "RecoveryResourceQualification", "RegionalDrillProperties", + "ReportStageStatus", "ReprotectRequest", "ReprotectRequestProperties", + "ResiliencyProperties", "Resource", "ResourceBaseProtectionSolutionSetting", + "ResourceCrossZoneVmRecoveryProtectionSetting", "ResourceCustomProtectionAction", "ResourceCustomProtectionSetting", + "ResourceFeasibilityReview", "ResourceLists", "ResourceNativeProtectionSolutionSetting", "ResourceProtectionSolutionSettings", @@ -304,6 +330,10 @@ "ResourceSiteRecoveryTestFailoverParams", "ServiceGroupMembership", "ServiceLevelResource", + "SkuDetails", + "SliAttentionStatus", + "SliMonitoringProperties", + "SliSelection", "SupportedVerbsForStage", "SystemData", "SystemMetadata", @@ -318,7 +348,7 @@ "UsagePlanProperties", "UsagePlanTagsUpdate", "UserAssignedIdentity", - "UserConfirmationForHighAvailabilityItem", + "UserConfirmationItem", "ValidateForExecutionProperties", "ValidateForExecutionRequest", "ValidateForOperationRequest", @@ -333,12 +363,16 @@ "CreatedByType", "DrillAttestation", "DrillMode", + "DrillReportFinalizationState", + "DrillReportFormat", + "DrillReportGenerationStatus", "DrillResourceFaultState", "DrillResourceInclusionState", "DrillResourceReadinessState", "DrillResourceState", "DrillRunOperationVerbs", "DrillRunSubtasks", + "DrillRunTasks", "DrillType", "ExclusionReason", "ExclusionState", @@ -374,11 +408,15 @@ "RelativeResourceCompositionState", "RequirementSelected", "ResilienceHealthStatus", + "ResourceFeasibilityReviewStatus", + "ResourceFeasibilityReviewType", "ResourceInclusionState", "ResourceProtectionSolutionType", "ResourceProtectionStatus", "ResourceReplicationRole", "ResourceTypeCategories", + "SliType", + "SliTypeMatchState", "SolutionDisplayName", "TestFailoverState", "UnifiedResilienceItemRequirementSelected", diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_enums.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_enums.py index c21461f2ce98..40ee742ba184 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_enums.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_enums.py @@ -99,6 +99,35 @@ class DrillMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Failover mode.""" +class DrillReportFinalizationState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Finalization state of a Drill Run report.""" + + NOT_FINALIZED = "NotFinalized" + """The report is not finalized and may still change.""" + FINALIZED = "Finalized" + """The report is finalized and immutable.""" + + +class DrillReportFormat(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Format of a Drill Run report.""" + + HTML = "Html" + """Human readable HTML report.""" + + +class DrillReportGenerationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Report generation status.""" + + NOT_STARTED = "NotStarted" + """Report generation has not been attempted yet.""" + IN_PROGRESS = "InProgress" + """Report generation is currently running.""" + SUCCEEDED = "Succeeded" + """Report generation completed successfully.""" + FAILED = "Failed" + """Report generation failed. Details are captured in the lastError field.""" + + class DrillResourceFaultState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Drill Resource Fault State.""" @@ -171,6 +200,19 @@ class DrillRunSubtasks(str, Enum, metaclass=CaseInsensitiveEnumMeta): """ReprotectReverse Subtasks.""" +class DrillRunTasks(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Enum for DrillRun Tasks.""" + + FAILOVER = "Failover" + """Failover task.""" + REPROTECT = "Reprotect" + """Reprotect task.""" + FAILOVER_REVERSE = "FailoverReverse" + """FailoverReverse task.""" + REPROTECT_REVERSE = "ReprotectReverse" + """ReprotectReverse task.""" + + class DrillType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Enum for Drill type object hierarchy.""" @@ -417,6 +459,8 @@ class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Deletion in progress.""" ACCEPTED = "Accepted" """Change accepted for processing.""" + NEEDS_ATTENTION = "NeedsAttention" + """The resource needs attention from the user.""" class QualificationState(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -567,6 +611,26 @@ class ResilienceHealthStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Resource is Healthy.""" +class ResourceFeasibilityReviewStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Outcome of a resource feasibility review for a recovery resource.""" + + UNAVAILABLE = "Unavailable" + """The review could not complete. Advisory only; it never blocks failover.""" + PASSED = "Passed" + """The review identified no risk.""" + FLAGGED = "Flagged" + """The review identified a risk the operator should consider.""" + NOT_APPLICABLE = "NotApplicable" + """The review did not apply to this resource and was skipped.""" + + +class ResourceFeasibilityReviewType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The resource feasibility review category for a recovery resource.""" + + SKU_CAPACITY = "SkuCapacity" + """SKU capacity availability check in the target region or zone.""" + + class ResourceInclusionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """A state type that indicates inclusion of the resource with respect to the resiliency support.""" @@ -627,6 +691,24 @@ class ResourceTypeCategories(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Indicates that alteast one Azure Site Recovery VMs are present.""" +class SliType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Category of an SLI selected for Drill monitoring.""" + + AVAILABILITY = "Availability" + """Availability SLI.""" + LATENCY = "Latency" + """Latency SLI.""" + + +class SliTypeMatchState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Whether the user-declared SLI type matches the SLI's actual category.""" + + MATCHED = "Matched" + """Declared type matches the SLI's actual category.""" + MISMATCHED = "Mismatched" + """Declared type does not match the SLI's actual category.""" + + class SolutionDisplayName(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Identifies a high-availability solution that can be applied to a resource (for example, zone-pinned VM with ZRS disk). diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_models.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_models.py index 0c1ad7dbca20..0be776138492 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_models.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_models.py @@ -18,7 +18,7 @@ from .. import models as _models -class AddOrUpdateResourcesRequest(_Model): +class AddOrUpdateResourcesRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request body of the AddOrUpdateResources API. :ivar fault_duration_in_min: Duration of faults. Required. @@ -65,7 +65,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ArmResponseErrorResponse(_Model): +class ArmResponseErrorResponse(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Azure operation completed successfully. :ivar body: The body type of the operation request or response. Required. @@ -93,7 +93,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AssetPropertiesOfDrill(_Model): +class AssetPropertiesOfDrill(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Drill asset properties. :ivar subscription: Subscription where Drill's internal resources will be created. Required. @@ -134,7 +134,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AssociatedIdentity(_Model): +class AssociatedIdentity(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of associated identity linked with the various resources. :ivar type: Identity type linked with the resource. Required. Known values are: "None", @@ -173,7 +173,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class AttentionReason(_Model): +class AttentionReason(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Reason why the Drill is in NeedsAttention state, and not ready to run. :ivar drill_rbac_on_chaos_resource: Drill object does not have the necessary RBAC to run the @@ -245,6 +245,30 @@ class AttentionReason(_Model): :ivar missing_required_resource_providers: List of required required Azure resource providers that are not registered in the subscription specified for chaos resource. :vartype missing_required_resource_providers: list[str] + :ivar monitoring_source_not_configured: Neither an Azure Health Model nor an SLI is configured + for the Drill. Execution is blocked until a monitoring source is configured. + :vartype monitoring_source_not_configured: bool + :ivar health_model_exists: Whether the selected Azure Health Model still exists. Known values + are: "Exists" and "NotExists". + :vartype health_model_exists: str or + ~azure.mgmt.resiliencemanagement.models.ExtensionObjectState + :ivar discovery_rule_exists: Whether the selected discovery rule still exists. Known values + are: "Exists" and "NotExists". + :vartype discovery_rule_exists: str or + ~azure.mgmt.resiliencemanagement.models.ExtensionObjectState + :ivar drill_rbac_on_health_model: Whether the Drill identity has the necessary RBAC (Reader) to + read the selected Azure Health Model. Known values are: "Set" and "NotSet". + :vartype drill_rbac_on_health_model: str or ~azure.mgmt.resiliencemanagement.models.RBACState + :ivar rbac_needed_for_drill_on_health_model: Permissions needed by the Drill identity to read + the selected Azure Health Model. + :vartype rbac_needed_for_drill_on_health_model: list[str] + :ivar drill_rbac_on_sli: Rolled-up RBAC state: NotSet if the Drill identity is missing the + necessary RBAC to read any selected SLI. Known values are: "Set" and "NotSet". + :vartype drill_rbac_on_sli: str or ~azure.mgmt.resiliencemanagement.models.RBACState + :ivar sli_attention_statuses: Per-SLI attention status for each SLI selected for Drill + monitoring. + :vartype sli_attention_statuses: + list[~azure.mgmt.resiliencemanagement.models.SliAttentionStatus] """ drill_rbac_on_chaos_resource: Optional[Union[str, "_models.RBACState"]] = rest_field( @@ -346,9 +370,42 @@ class AttentionReason(_Model): ) """List of required required Azure resource providers that are not registered in the subscription specified for chaos resource.""" + monitoring_source_not_configured: Optional[bool] = rest_field( + name="monitoringSourceNotConfigured", visibility=["read", "create", "update", "delete", "query"] + ) + """Neither an Azure Health Model nor an SLI is configured for the Drill. Execution is blocked + until a monitoring source is configured.""" + health_model_exists: Optional[Union[str, "_models.ExtensionObjectState"]] = rest_field( + name="healthModelExists", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether the selected Azure Health Model still exists. Known values are: \"Exists\" and + \"NotExists\".""" + discovery_rule_exists: Optional[Union[str, "_models.ExtensionObjectState"]] = rest_field( + name="discoveryRuleExists", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether the selected discovery rule still exists. Known values are: \"Exists\" and + \"NotExists\".""" + drill_rbac_on_health_model: Optional[Union[str, "_models.RBACState"]] = rest_field( + name="drillRbacOnHealthModel", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether the Drill identity has the necessary RBAC (Reader) to read the selected Azure Health + Model. Known values are: \"Set\" and \"NotSet\".""" + rbac_needed_for_drill_on_health_model: Optional[list[str]] = rest_field( + name="rbacNeededForDrillOnHealthModel", visibility=["read", "create", "update", "delete", "query"] + ) + """Permissions needed by the Drill identity to read the selected Azure Health Model.""" + drill_rbac_on_sli: Optional[Union[str, "_models.RBACState"]] = rest_field( + name="drillRbacOnSli", visibility=["read", "create", "update", "delete", "query"] + ) + """Rolled-up RBAC state: NotSet if the Drill identity is missing the necessary RBAC to read any + selected SLI. Known values are: \"Set\" and \"NotSet\".""" + sli_attention_statuses: Optional[list["_models.SliAttentionStatus"]] = rest_field( + name="sliAttentionStatuses", visibility=["read", "create", "update", "delete", "query"] + ) + """Per-SLI attention status for each SLI selected for Drill monitoring.""" @overload - def __init__( + def __init__( # pylint: disable=too-many-locals self, *, drill_rbac_on_chaos_resource: Optional[Union[str, "_models.RBACState"]] = None, @@ -375,6 +432,13 @@ def __init__( rbac_needed_for_drill_on_drill_monitoring_resources: Optional[list[str]] = None, rbac_needed_for_drill_on_drill_resources: Optional[list[str]] = None, missing_required_resource_providers: Optional[list[str]] = None, + monitoring_source_not_configured: Optional[bool] = None, + health_model_exists: Optional[Union[str, "_models.ExtensionObjectState"]] = None, + discovery_rule_exists: Optional[Union[str, "_models.ExtensionObjectState"]] = None, + drill_rbac_on_health_model: Optional[Union[str, "_models.RBACState"]] = None, + rbac_needed_for_drill_on_health_model: Optional[list[str]] = None, + drill_rbac_on_sli: Optional[Union[str, "_models.RBACState"]] = None, + sli_attention_statuses: Optional[list["_models.SliAttentionStatus"]] = None, ) -> None: ... @overload @@ -388,7 +452,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ChaosResourcePropertiesOfDrill(_Model): +class ChaosResourcePropertiesOfDrill(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Chaos Resource properties. :ivar identity: Identity to use for Chaos Resource operations. Required. @@ -433,7 +497,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class CustomFaultDetails(_Model): +class CustomFaultDetails(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Custom fault details. :ivar fault_name: fault name. Required. @@ -469,7 +533,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DiskReprotectInputDetails(_Model): +class DiskReprotectInputDetails(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Disk Reprotect Input Details. :ivar disk_resource_id: Disk Resource Id to Reprotect. @@ -551,7 +615,7 @@ class ProxyResource(Resource): """ -class Drill(ProxyResource): +class Drill(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Drill resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -599,7 +663,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillEndRequest(_Model): +class DrillEndRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request body of the End Action of Drill. :ivar attestation: Attestation Status. Required. Known values are: "Success" and "Failed". @@ -636,14 +700,14 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillProperties(_Model): +class DrillProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of the Resiliency Drill. You probably want to use the sub-classes and not this class directly. Known sub-classes are: RegionalDrillProperties, ZonalDrillProperties :ivar provisioning_state: Status of the last operation. Known values are: "Succeeded", - "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar service_group_id: Parent SG resource. :vartype service_group_id: str @@ -675,15 +739,19 @@ class DrillProperties(_Model): :vartype last_sync_time: ~datetime.datetime :ivar last_resync_readiness_check_time: Last resync and readiness check time. :vartype last_resync_readiness_check_time: ~datetime.datetime - :ivar managed_on_behalf_of_configuration: Managed RG v2 properties. - :vartype managed_on_behalf_of_configuration: - ~azure.mgmt.resiliencemanagement.models.ManagedOnBehalfOfConfiguration :ivar drill_type: The discriminator for the Drill object hierarchy. Required. Known values are: "Zonal" and "Regional". :vartype drill_type: str or ~azure.mgmt.resiliencemanagement.models.DrillType :ivar monitoring_properties: Monitoring properties of the Drill. :vartype monitoring_properties: ~azure.mgmt.resiliencemanagement.models.MonitoringPropertiesOfDrill + :ivar health_model_monitoring_properties: Azure Health Model monitoring properties of the + Drill. + :vartype health_model_monitoring_properties: + ~azure.mgmt.resiliencemanagement.models.HealthModelMonitoringProperties + :ivar sli_monitoring_properties: SLI monitoring properties of the Drill. + :vartype sli_monitoring_properties: + ~azure.mgmt.resiliencemanagement.models.SliMonitoringProperties :ivar error_details: Error details associated with the resource. :vartype error_details: ~azure.mgmt.resiliencemanagement.models.ErrorDetail """ @@ -693,7 +761,7 @@ class DrillProperties(_Model): name="provisioningState", visibility=["read"] ) """Status of the last operation. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", - \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" service_group_id: Optional[str] = rest_field(name="serviceGroupId", visibility=["read"]) """Parent SG resource.""" recovery_plan_properties: Optional["_models.RecoveryPlanPropertiesOfDrill"] = rest_field( @@ -736,10 +804,6 @@ class DrillProperties(_Model): name="lastResyncReadinessCheckTime", visibility=["read"], format="rfc3339" ) """Last resync and readiness check time.""" - managed_on_behalf_of_configuration: Optional["_models.ManagedOnBehalfOfConfiguration"] = rest_field( - name="managedOnBehalfOfConfiguration", visibility=["read"] - ) - """Managed RG v2 properties.""" drill_type: str = rest_discriminator(name="drillType", visibility=["create"]) """The discriminator for the Drill object hierarchy. Required. Known values are: \"Zonal\" and \"Regional\".""" @@ -747,6 +811,14 @@ class DrillProperties(_Model): name="monitoringProperties", visibility=["read", "create", "update", "delete", "query"] ) """Monitoring properties of the Drill.""" + health_model_monitoring_properties: Optional["_models.HealthModelMonitoringProperties"] = rest_field( + name="healthModelMonitoringProperties", visibility=["read", "create", "update", "delete", "query"] + ) + """Azure Health Model monitoring properties of the Drill.""" + sli_monitoring_properties: Optional["_models.SliMonitoringProperties"] = rest_field( + name="sliMonitoringProperties", visibility=["read", "create", "update", "delete", "query"] + ) + """SLI monitoring properties of the Drill.""" error_details: Optional["_models.ErrorDetail"] = rest_field(name="errorDetails", visibility=["read"]) """Error details associated with the resource.""" @@ -760,6 +832,8 @@ def __init__( chaos_resource_properties: Optional["_models.ChaosResourcePropertiesOfDrill"] = None, rbac_setup_mode: Optional[Union[str, "_models.RBACSetupMode"]] = None, monitoring_properties: Optional["_models.MonitoringPropertiesOfDrill"] = None, + health_model_monitoring_properties: Optional["_models.HealthModelMonitoringProperties"] = None, + sli_monitoring_properties: Optional["_models.SliMonitoringProperties"] = None, ) -> None: ... @overload @@ -773,7 +847,58 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillResource(ProxyResource): +class DrillReportSummary(_Model): + """Public, read-only summary of report generation for a Drill Run. Exposes status and pointers + only - the report content and internal storage locations are never surfaced. + + :ivar generation_status: Overall report generation status for the Drill Run. Known values are: + "NotStarted", "InProgress", "Succeeded", and "Failed". + :vartype generation_status: str or + ~azure.mgmt.resiliencemanagement.models.DrillReportGenerationStatus + :ivar stage_statuses: Per-stage report generation statuses. + :vartype stage_statuses: list[~azure.mgmt.resiliencemanagement.models.ReportStageStatus] + :ivar available_formats: Formats the report is currently available for download in. + :vartype available_formats: list[str or + ~azure.mgmt.resiliencemanagement.models.DrillReportFormat] + :ivar last_generated_timestamp: Timestamp of the last successful report generation. + :vartype last_generated_timestamp: ~datetime.datetime + :ivar schema_version: Schema version of the generated report content. + :vartype schema_version: str + :ivar finalization_state: Finalization state of the report. A finalized report is immutable. + Known values are: "NotFinalized" and "Finalized". + :vartype finalization_state: str or + ~azure.mgmt.resiliencemanagement.models.DrillReportFinalizationState + :ivar last_error: Error from the last failed report generation attempt. + :vartype last_error: ~azure.mgmt.resiliencemanagement.models.ErrorDetails + """ + + generation_status: Optional[Union[str, "_models.DrillReportGenerationStatus"]] = rest_field( + name="generationStatus", visibility=["read"] + ) + """Overall report generation status for the Drill Run. Known values are: \"NotStarted\", + \"InProgress\", \"Succeeded\", and \"Failed\".""" + stage_statuses: Optional[list["_models.ReportStageStatus"]] = rest_field(name="stageStatuses", visibility=["read"]) + """Per-stage report generation statuses.""" + available_formats: Optional[list[Union[str, "_models.DrillReportFormat"]]] = rest_field( + name="availableFormats", visibility=["read"] + ) + """Formats the report is currently available for download in.""" + last_generated_timestamp: Optional[datetime.datetime] = rest_field( + name="lastGeneratedTimestamp", visibility=["read"], format="rfc3339" + ) + """Timestamp of the last successful report generation.""" + schema_version: Optional[str] = rest_field(name="schemaVersion", visibility=["read"]) + """Schema version of the generated report content.""" + finalization_state: Optional[Union[str, "_models.DrillReportFinalizationState"]] = rest_field( + name="finalizationState", visibility=["read"] + ) + """Finalization state of the report. A finalized report is immutable. Known values are: + \"NotFinalized\" and \"Finalized\".""" + last_error: Optional["_models.ErrorDetails"] = rest_field(name="lastError", visibility=["read"]) + """Error from the last failed report generation attempt.""" + + +class DrillResource(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Drill Resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -814,7 +939,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillResourceAttentionReason(_Model): +class DrillResourceAttentionReason(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Reason why the Drill resource is in NeedsAttention state. :ivar fault_rbac_on_target_resource: Chaos Resource MSI does not have the desired RBAC on the @@ -874,7 +999,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillResourceProperties(_Model): +class DrillResourceProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of the Resiliency Drill Resource. :ivar resource_id: ARM Id of the underlying resource. Required. @@ -934,7 +1059,7 @@ class DrillResourceProperties(_Model): :ivar monitoring_rbac_assignment_error: Monitoring RBAC assignment error, if any. :vartype monitoring_rbac_assignment_error: ~azure.mgmt.resiliencemanagement.models.ErrorDetails :ivar provisioning_state: Provisioning state. Known values are: "Succeeded", "Failed", - "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState """ @@ -1008,7 +1133,7 @@ class DrillResourceProperties(_Model): name="provisioningState", visibility=["read"] ) """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", - \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" @overload def __init__( @@ -1030,7 +1155,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillRun(ProxyResource): +class DrillRun(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """DrillRun resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -1071,7 +1196,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillRunAddNotesRequest(_Model): +class DrillRunAddNotesRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request body for AddNotes API. :ivar notes: The notes string. @@ -1107,7 +1232,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillRunFailoverRequest(_Model): +class DrillRunFailoverRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request body for Failover API. :ivar auto_failover: AutoFailover - whether to pause between Fault and Failover for manual @@ -1146,7 +1271,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class JobProperties(_Model): +class JobProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of a job, including its type, status, timing, and additional details. You probably want to use the sub-classes and not this class directly. Known sub-classes are: @@ -1246,7 +1371,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillRunProperties(JobProperties, discriminator="DrillRun"): +class DrillRunProperties( + JobProperties, discriminator="DrillRun" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of the Resiliency DrillRun. :ivar status: The current status of the job execution. Known values are: "NotApplicable", @@ -1295,6 +1422,8 @@ class DrillRunProperties(JobProperties, discriminator="DrillRun"): :ivar current_active_operation_id: The currently active operationID on this Drill Run. There can be only one active. :vartype current_active_operation_id: str + :ivar report: Summary of report generation for this Drill Run. + :vartype report: ~azure.mgmt.resiliencemanagement.models.DrillReportSummary """ job_type: Literal[JobType.DRILL_RUN] = rest_discriminator(name="jobType", visibility=["read", "create", "update", "delete", "query"]) # type: ignore @@ -1314,6 +1443,8 @@ class DrillRunProperties(JobProperties, discriminator="DrillRun"): """Matrix of Actions supported on Operations.""" current_active_operation_id: Optional[str] = rest_field(name="currentActiveOperationId", visibility=["read"]) """The currently active operationID on this Drill Run. There can be only one active.""" + report: Optional["_models.DrillReportSummary"] = rest_field(visibility=["read"]) + """Summary of report generation for this Drill Run.""" @overload def __init__( @@ -1336,7 +1467,37 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.job_type = JobType.DRILL_RUN # type: ignore -class DrillRunResource(ProxyResource): +class DrillRunReprotectRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Request body for Reprotect API. + + :ivar reprotect_properties: The reprotect properties. Required. + :vartype reprotect_properties: ~azure.mgmt.resiliencemanagement.models.ReprotectRequest + """ + + reprotect_properties: "_models.ReprotectRequest" = rest_field( + name="reprotectProperties", visibility=["read", "create", "update", "delete", "query"] + ) + """The reprotect properties. Required.""" + + @overload + def __init__( + self, + *, + reprotect_properties: "_models.ReprotectRequest", + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class DrillRunResource(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Represents a Drill Run job resource in the Azure Resilience Management provider namespace. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -1377,7 +1538,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class JobResourceProperties(_Model): +class JobResourceProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of job-resource. You probably want to use the sub-classes and not this class directly. Known sub-classes are: @@ -1480,7 +1641,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillRunResourceProperties(JobResourceProperties, discriminator="DrillRun"): +class DrillRunResourceProperties( + JobResourceProperties, discriminator="DrillRun" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of a Drill Run resource. :ivar status: The current status of the job execution. Known values are: "NotApplicable", @@ -1516,7 +1679,8 @@ class DrillRunResourceProperties(JobResourceProperties, discriminator="DrillRun" resource. :vartype job_resource_type: str or ~azure.mgmt.resiliencemanagement.models.DRILL_RUN :ivar provisioning_state: The provisioning state of the Drill Run Resource. Known values are: - "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and + "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState """ @@ -1526,7 +1690,8 @@ class DrillRunResourceProperties(JobResourceProperties, discriminator="DrillRun" name="provisioningState", visibility=["read"] ) """The provisioning state of the Drill Run Resource. Known values are: \"Succeeded\", \"Failed\", - \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and + \"NeedsAttention\".""" @overload def __init__( @@ -1549,7 +1714,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.job_resource_type = JobResourceType.DRILL_RUN # type: ignore -class DrillStartRequest(_Model): +class DrillStartRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request body of the Start Action of Drill. :ivar mode: Mode of starting the Drill. Required. "Failover" @@ -1577,7 +1742,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillUpdate(_Model): +class DrillUpdate(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The type used for update operations of the Drill. :ivar identity: The managed service identities assigned to this resource. @@ -1614,7 +1779,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class DrillUpdateProperties(_Model): +class DrillUpdateProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The updatable properties of the Drill. :ivar recovery_plan_properties: Recovery Plan properties. @@ -1631,6 +1796,14 @@ class DrillUpdateProperties(_Model): :ivar monitoring_properties: Monitoring properties of the Drill. :vartype monitoring_properties: ~azure.mgmt.resiliencemanagement.models.MonitoringPropertiesOfDrill + :ivar health_model_monitoring_properties: Azure Health Model monitoring properties of the + Drill. Send null to clear the selection. + :vartype health_model_monitoring_properties: + ~azure.mgmt.resiliencemanagement.models.HealthModelMonitoringProperties + :ivar sli_monitoring_properties: SLI monitoring properties of the Drill. Send null to clear the + selection; the submitted slis array is the new desired state. + :vartype sli_monitoring_properties: + ~azure.mgmt.resiliencemanagement.models.SliMonitoringProperties """ recovery_plan_properties: Optional["_models.RecoveryPlanPropertiesOfDrill"] = rest_field( @@ -1654,6 +1827,15 @@ class DrillUpdateProperties(_Model): name="monitoringProperties", visibility=["read", "create", "update", "delete", "query"] ) """Monitoring properties of the Drill.""" + health_model_monitoring_properties: Optional["_models.HealthModelMonitoringProperties"] = rest_field( + name="healthModelMonitoringProperties", visibility=["read", "create", "update", "delete", "query"] + ) + """Azure Health Model monitoring properties of the Drill. Send null to clear the selection.""" + sli_monitoring_properties: Optional["_models.SliMonitoringProperties"] = rest_field( + name="sliMonitoringProperties", visibility=["read", "create", "update", "delete", "query"] + ) + """SLI monitoring properties of the Drill. Send null to clear the selection; the submitted slis + array is the new desired state.""" @overload def __init__( @@ -1664,6 +1846,8 @@ def __init__( chaos_resource_properties: Optional["_models.ChaosResourcePropertiesOfDrill"] = None, rbac_setup_mode: Optional[Union[str, "_models.RBACSetupMode"]] = None, monitoring_properties: Optional["_models.MonitoringPropertiesOfDrill"] = None, + health_model_monitoring_properties: Optional["_models.HealthModelMonitoringProperties"] = None, + sli_monitoring_properties: Optional["_models.SliMonitoringProperties"] = None, ) -> None: ... @overload @@ -1677,7 +1861,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Enrollment(ProxyResource): +class Enrollment(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """An enrollment that links a usage plan to a service group. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -1718,14 +1902,14 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class EnrollmentProperties(_Model): +class EnrollmentProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of enrollment properties. :ivar service_group_id: ARM resource identifier of the service group associated with this usage plan. Required. :vartype service_group_id: str :ivar provisioning_state: Provisioning state of the enrollment. Known values are: "Succeeded", - "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar error_details: Details of any errors encountered during Enrollment create or update. :vartype error_details: ~azure.mgmt.resiliencemanagement.models.ErrorDetail @@ -1739,7 +1923,8 @@ class EnrollmentProperties(_Model): name="provisioningState", visibility=["read"] ) """Provisioning state of the enrollment. Known values are: \"Succeeded\", \"Failed\", - \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and + \"NeedsAttention\".""" error_details: Optional["_models.ErrorDetail"] = rest_field(name="errorDetails", visibility=["read"]) """Details of any errors encountered during Enrollment create or update.""" @@ -1805,7 +1990,7 @@ class ErrorDetail(_Model): """The error additional info.""" -class ErrorDetails(_Model): +class ErrorDetails(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Errors in T&C / RBAC assignment. :ivar code: Error code. Required. @@ -1843,7 +2028,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ErrorResponse(_Model): +class ErrorResponse(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Error response. :ivar error: The error object. @@ -1871,7 +2056,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ExecutionConfigurations(_Model): +class ExecutionConfigurations(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Execution configurations for recovery action. :ivar user_consent: User consent for performing recovery action. Required. Known values are: @@ -1903,7 +2088,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FailoverRequest(_Model): +class FailoverRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Failover post action request. :ivar failover_direction: Type of Failover direction. Required. "FromSpecificLocations" @@ -1942,7 +2127,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FailoverRequestProperties(_Model): +class FailoverRequestProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Additional properties for Failover. :ivar source_locations: Source locations from where resources to be failed-over. Required. @@ -1989,7 +2174,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FaultDetails(_Model): +class FaultDetails(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Fault Details. :ivar fault_urn: fault urn. Required. @@ -2033,7 +2218,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class FaultProperties(_Model): +class FaultProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Fault Properties. :ivar available_faults: Available faults for this resource. @@ -2078,7 +2263,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class GoalAssignment(ProxyResource): +class GoalAssignment(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Goal assignment a AzureResilienceProviderHub resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -2119,32 +2304,38 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class GoalAssignmentProperties(_Model): +class GoalAssignmentProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of goal assignment property. - :ivar goal_template_id: Arm id of the goal template. Required. + :ivar goal_template_id: Arm id of the goal template. :vartype goal_template_id: str - :ivar goal_assignment_type: The type of goal assignment. Required. "Resiliency" + :ivar goal_assignment_type: The type of goal assignment. "Resiliency" :vartype goal_assignment_type: str or ~azure.mgmt.resiliencemanagement.models.GoalAssignmentType + :ivar require_zonal_resiliency: Whether zonal resiliency is required for this goal assignment. + :vartype require_zonal_resiliency: bool :ivar service_level_resources: List of service level resources. :vartype service_level_resources: list[~azure.mgmt.resiliencemanagement.models.ServiceLevelResource] :ivar provisioning_state: Provisioning state. Known values are: "Succeeded", "Failed", - "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar error_details: Details of any errors encountered during the operation. :vartype error_details: ~azure.mgmt.resiliencemanagement.models.ErrorDetail """ - goal_template_id: str = rest_field( + goal_template_id: Optional[str] = rest_field( name="goalTemplateId", visibility=["read", "create", "update", "delete", "query"] ) - """Arm id of the goal template. Required.""" - goal_assignment_type: Union[str, "_models.GoalAssignmentType"] = rest_field( + """Arm id of the goal template.""" + goal_assignment_type: Optional[Union[str, "_models.GoalAssignmentType"]] = rest_field( name="goalAssignmentType", visibility=["read", "create", "update", "delete", "query"] ) - """The type of goal assignment. Required. \"Resiliency\"""" + """The type of goal assignment. \"Resiliency\"""" + require_zonal_resiliency: Optional[bool] = rest_field( + name="requireZonalResiliency", visibility=["read", "create", "update", "delete", "query"] + ) + """Whether zonal resiliency is required for this goal assignment.""" service_level_resources: Optional[list["_models.ServiceLevelResource"]] = rest_field( name="serviceLevelResources", visibility=["read", "create", "update", "delete", "query"] ) @@ -2153,7 +2344,7 @@ class GoalAssignmentProperties(_Model): name="provisioningState", visibility=["read"] ) """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", - \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" error_details: Optional["_models.ErrorDetail"] = rest_field(name="errorDetails", visibility=["read"]) """Details of any errors encountered during the operation.""" @@ -2161,8 +2352,9 @@ class GoalAssignmentProperties(_Model): def __init__( self, *, - goal_template_id: str, - goal_assignment_type: Union[str, "_models.GoalAssignmentType"], + goal_template_id: Optional[str] = None, + goal_assignment_type: Optional[Union[str, "_models.GoalAssignmentType"]] = None, + require_zonal_resiliency: Optional[bool] = None, service_level_resources: Optional[list["_models.ServiceLevelResource"]] = None, ) -> None: ... @@ -2177,7 +2369,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class GoalResource(ProxyResource): +class GoalResource(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Goal Resource a AzureResilienceProviderHub resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -2218,22 +2410,24 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class GoalResourceProperties(_Model): +class GoalResourceProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of goal assignment property. :ivar resource_arm_id: Arm Id of resource under the SG for which the extension resource is maintained. Required. :vartype resource_arm_id: str :ivar high_availability_goal_participation: Flag which depicts whether the Arm resource is - excluded for high availability recommendation. Required. Known values are: "Excluded" and - "Included". + excluded for high availability recommendation. Known values are: "Excluded" and "Included". :vartype high_availability_goal_participation: str or ~azure.mgmt.resiliencemanagement.models.ExclusionState :ivar high_availability_attestation_status: Flag which depicts whether the Arm resource is - manually attested for high availability recommendation. Required. Known values are: - "NotAttested" and "ManuallyAttested". + manually attested for high availability recommendation. Known values are: "NotAttested" and + "ManuallyAttested". :vartype high_availability_attestation_status: str or ~azure.mgmt.resiliencemanagement.models.AttestationState + :ivar zonal_resiliency: Zonal resiliency posture (participation, attestation, exclusion reason, + and user confirmations) for the Arm resource. + :vartype zonal_resiliency: ~azure.mgmt.resiliencemanagement.models.ResiliencyProperties :ivar disaster_recovery_goal_participation: Flag which depicts whether the Arm resource is excluded for disaster recovery recommendation. Known values are: "Excluded" and "Included". :vartype disaster_recovery_goal_participation: str or @@ -2256,27 +2450,32 @@ class GoalResourceProperties(_Model): :ivar user_confirmation_for_high_availability: List of user confirmations for high availability solutions. :vartype user_confirmation_for_high_availability: - list[~azure.mgmt.resiliencemanagement.models.UserConfirmationForHighAvailabilityItem] + list[~azure.mgmt.resiliencemanagement.models.UserConfirmationItem] :ivar service_group_memberships: List of service groups of which this resource is memberof. :vartype service_group_memberships: list[~azure.mgmt.resiliencemanagement.models.ServiceGroupMembership] :ivar provisioning_state: Provisioning state. Known values are: "Succeeded", "Failed", - "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState """ resource_arm_id: str = rest_field(name="resourceArmId", visibility=["read", "create", "update", "delete", "query"]) """Arm Id of resource under the SG for which the extension resource is maintained. Required.""" - high_availability_goal_participation: Union[str, "_models.ExclusionState"] = rest_field( + high_availability_goal_participation: Optional[Union[str, "_models.ExclusionState"]] = rest_field( name="highAvailabilityGoalParticipation", visibility=["read", "create", "update", "delete", "query"] ) """Flag which depicts whether the Arm resource is excluded for high availability recommendation. - Required. Known values are: \"Excluded\" and \"Included\".""" - high_availability_attestation_status: Union[str, "_models.AttestationState"] = rest_field( + Known values are: \"Excluded\" and \"Included\".""" + high_availability_attestation_status: Optional[Union[str, "_models.AttestationState"]] = rest_field( name="highAvailabilityAttestationStatus", visibility=["read", "create", "update", "delete", "query"] ) """Flag which depicts whether the Arm resource is manually attested for high availability - recommendation. Required. Known values are: \"NotAttested\" and \"ManuallyAttested\".""" + recommendation. Known values are: \"NotAttested\" and \"ManuallyAttested\".""" + zonal_resiliency: Optional["_models.ResiliencyProperties"] = rest_field( + name="zonalResiliency", visibility=["read", "create", "update", "delete", "query"] + ) + """Zonal resiliency posture (participation, attestation, exclusion reason, and user confirmations) + for the Arm resource.""" disaster_recovery_goal_participation: Optional[Union[str, "_models.ExclusionState"]] = rest_field( name="disasterRecoveryGoalParticipation", visibility=["read", "create", "update", "delete", "query"] ) @@ -2297,10 +2496,8 @@ class GoalResourceProperties(_Model): ) """Reason for exclusion from disaster recovery goals. Known values are: \"UserSelectedExclusion\", \"FailedOverResource\", and \"UnsupportedResource\".""" - user_confirmation_for_high_availability: Optional[list["_models.UserConfirmationForHighAvailabilityItem"]] = ( - rest_field( - name="userConfirmationForHighAvailability", visibility=["read", "create", "update", "delete", "query"] - ) + user_confirmation_for_high_availability: Optional[list["_models.UserConfirmationItem"]] = rest_field( + name="userConfirmationForHighAvailability", visibility=["read", "create", "update", "delete", "query"] ) """List of user confirmations for high availability solutions.""" service_group_memberships: Optional[list["_models.ServiceGroupMembership"]] = rest_field( @@ -2311,20 +2508,19 @@ class GoalResourceProperties(_Model): name="provisioningState", visibility=["read"] ) """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", - \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" @overload def __init__( self, *, resource_arm_id: str, - high_availability_goal_participation: Union[str, "_models.ExclusionState"], - high_availability_attestation_status: Union[str, "_models.AttestationState"], + high_availability_goal_participation: Optional[Union[str, "_models.ExclusionState"]] = None, + high_availability_attestation_status: Optional[Union[str, "_models.AttestationState"]] = None, + zonal_resiliency: Optional["_models.ResiliencyProperties"] = None, disaster_recovery_goal_participation: Optional[Union[str, "_models.ExclusionState"]] = None, disaster_recovery_attestation_status: Optional[Union[str, "_models.AttestationState"]] = None, - user_confirmation_for_high_availability: Optional[ - list["_models.UserConfirmationForHighAvailabilityItem"] - ] = None, + user_confirmation_for_high_availability: Optional[list["_models.UserConfirmationItem"]] = None, ) -> None: ... @overload @@ -2338,7 +2534,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class GoalsData(_Model): +class GoalsData(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of goals data in unified resilience item. :ivar template_id: Arm id of the goal template. Required. @@ -2451,7 +2647,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class GoalTemplate(ProxyResource): +class GoalTemplate(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Goal template a AzureResilienceProviderHub resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -2492,7 +2688,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class GoalTemplateProperties(_Model): +class GoalTemplateProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of goal template property. :ivar require_high_availability: Option specified by customer under high availability section @@ -2512,7 +2708,7 @@ class GoalTemplateProperties(_Model): :ivar goal_type: Type of Goal Template created by customer. Required. "Resiliency" :vartype goal_type: str or ~azure.mgmt.resiliencemanagement.models.GoalType :ivar provisioning_state: Provisioning state. Known values are: "Succeeded", "Failed", - "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar error_details: Details of any errors encountered during the operation. :vartype error_details: ~azure.mgmt.resiliencemanagement.models.ErrorDetail @@ -2544,7 +2740,7 @@ class GoalTemplateProperties(_Model): name="provisioningState", visibility=["read"] ) """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", - \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" error_details: Optional["_models.ErrorDetail"] = rest_field(name="errorDetails", visibility=["read"]) """Details of any errors encountered during the operation.""" @@ -2570,7 +2766,48 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class IncludeOrUpdateResource(_Model): +class HealthModelMonitoringProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Azure Health Model monitoring properties of a Drill. Exactly one Health Model may be selected + per Drill. + + :ivar identity: Identity that the Drill uses to read the Azure Health Model. The Drill is + granted Reader on the Health Model for this identity. Required. + :vartype identity: ~azure.mgmt.resiliencemanagement.models.AssociatedIdentity + :ivar discovery_rule_id: Full ARM Id of the discovery rule inside the Azure Health Model. The + parent Health Model is derived from this Id; it is the only identifier accepted on the wire. + Required. + :vartype discovery_rule_id: str + """ + + identity: "_models.AssociatedIdentity" = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Identity that the Drill uses to read the Azure Health Model. The Drill is granted Reader on the + Health Model for this identity. Required.""" + discovery_rule_id: str = rest_field( + name="discoveryRuleId", visibility=["read", "create", "update", "delete", "query"] + ) + """Full ARM Id of the discovery rule inside the Azure Health Model. The parent Health Model is + derived from this Id; it is the only identifier accepted on the wire. Required.""" + + @overload + def __init__( + self, + *, + identity: "_models.AssociatedIdentity", + discovery_rule_id: str, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class IncludeOrUpdateResource(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Include or Update resource. :ivar id: Id of the DrillResource to be included (NOT the ARM Id of the underlying resource). @@ -2640,7 +2877,7 @@ class JobExtendedInfo(_Model): """Non localized error message on job execution.""" -class JobRetryDetails(_Model): +class JobRetryDetails(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Job Retry Details. :ivar status: The current status of the job execution. Known values are: "NotApplicable", @@ -2699,7 +2936,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class JobTaskDetail(_Model): +class JobTaskDetail(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Job task details. :ivar status: The current status of the job execution. Known values are: "NotApplicable", @@ -2823,21 +3060,58 @@ class LastRunProperties(_Model): """Attestation state of the last run of this Drill. Known values are: \"Success\" and \"Failed\".""" -class ManagedOnBehalfOfConfiguration(_Model): - """Configuration of the managed on behalf of resource. +class ListReportDownloadUrlRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Request to mint a short-lived, read-only download URL for a Drill Run report. + + :ivar format: Format of the report to download. Defaults to Html when not specified. "Html" + :vartype format: str or ~azure.mgmt.resiliencemanagement.models.DrillReportFormat + """ + + format: Optional[Union[str, "_models.DrillReportFormat"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Format of the report to download. Defaults to Html when not specified. \"Html\"""" + + @overload + def __init__( + self, + *, + format: Optional[Union[str, "_models.DrillReportFormat"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ListReportDownloadUrlResponse(_Model): + """Response containing a short-lived, read-only download URL for a Drill Run report. - :ivar mobo_broker_resources: Associated MoboBrokerResources. - :vartype mobo_broker_resources: - list[~azure.mgmt.resiliencemanagement.models.MoboBrokerResource] + :ivar format: Format of the report the download URL refers to. "Html" + :vartype format: str or ~azure.mgmt.resiliencemanagement.models.DrillReportFormat + :ivar download_url: Short-lived, read-only URL to download the report. + :vartype download_url: str + :ivar expiry_timestamp: Timestamp at which the download URL expires. + :vartype expiry_timestamp: ~datetime.datetime """ - mobo_broker_resources: Optional[list["_models.MoboBrokerResource"]] = rest_field( - name="moboBrokerResources", visibility=["read"] + format: Optional[Union[str, "_models.DrillReportFormat"]] = rest_field(visibility=["read"]) + """Format of the report the download URL refers to. \"Html\"""" + download_url: Optional[str] = rest_field(name="downloadUrl", visibility=["read"]) + """Short-lived, read-only URL to download the report.""" + expiry_timestamp: Optional[datetime.datetime] = rest_field( + name="expiryTimestamp", visibility=["read"], format="rfc3339" ) - """Associated MoboBrokerResources.""" + """Timestamp at which the download URL expires.""" -class ManagedServiceIdentity(_Model): +class ManagedServiceIdentity(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Managed service identity (system assigned and/or user assigned identities). :ivar principal_id: The service principal ID of the system assigned identity. This property @@ -2889,7 +3163,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MarkAsCompleteRequest(_Model): +class MarkAsCompleteRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request body for MarkAsComplete API. :ivar drill_run_stage: State of the Drill Run. Required. Known values are: "FaultInjection", @@ -2921,20 +3195,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class MoboBrokerResource(_Model): - """MoboBroker resource. - - :ivar id: The fully qualified resource ID of the MoboBroker resource. Example: - ``/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}``. - :vartype id: str - """ - - id: Optional[str] = rest_field(visibility=["read"]) - """The fully qualified resource ID of the MoboBroker resource. Example: - ``/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}``.""" - - -class MonitoringPropertiesOfDrill(_Model): +class MonitoringPropertiesOfDrill(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Drill monitoring properties. :ivar identity: Identity to use for Drill monitoring operations. @@ -2992,7 +3253,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Operation(_Model): +class Operation(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """REST API Operation. :ivar name: The name of the operation, as per Resource-Based Access Control (RBAC). Examples: @@ -3080,7 +3341,7 @@ class OperationDisplay(_Model): views.""" -class OperationQualificationDetails(_Model): +class OperationQualificationDetails(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Details of qualification for an operation. :ivar qualification_state: Resource qualification state for the operation. Required. Known @@ -3088,6 +3349,10 @@ class OperationQualificationDetails(_Model): :vartype qualification_state: str or ~azure.mgmt.resiliencemanagement.models.QualificationState :ivar not_qualified_reasons: Reasons for resource not qualified for the operation. :vartype not_qualified_reasons: list[str] + :ivar resource_feasibility_reviews: Advisory resource feasibility reviews. Absent when no + review was evaluated for this resource. + :vartype resource_feasibility_reviews: + list[~azure.mgmt.resiliencemanagement.models.ResourceFeasibilityReview] """ qualification_state: Union[str, "_models.QualificationState"] = rest_field( @@ -3099,6 +3364,10 @@ class OperationQualificationDetails(_Model): name="notQualifiedReasons", visibility=["read", "create", "update", "delete", "query"] ) """Reasons for resource not qualified for the operation.""" + resource_feasibility_reviews: Optional[list["_models.ResourceFeasibilityReview"]] = rest_field( + name="resourceFeasibilityReviews", visibility=["read", "create", "update", "delete", "query"] + ) + """Advisory resource feasibility reviews. Absent when no review was evaluated for this resource.""" @overload def __init__( @@ -3106,6 +3375,7 @@ def __init__( *, qualification_state: Union[str, "_models.QualificationState"], not_qualified_reasons: Optional[list[str]] = None, + resource_feasibility_reviews: Optional[list["_models.ResourceFeasibilityReview"]] = None, ) -> None: ... @overload @@ -3119,7 +3389,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class OperationStatusResult(_Model): +class OperationStatusResult(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The current status of an async operation. :ivar id: Fully qualified ID for the async operation. @@ -3195,7 +3465,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecommendationsData(_Model): +class RecommendationsData(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recommendations data in unified resilience item. :ivar high_availability: The high availability section of resilience recommendation. Required. @@ -3226,7 +3496,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecommendationsHighAvailabilityData(_Model): +class RecommendationsHighAvailabilityData(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recommendation data related to high availability in unified resilience item. :ivar enabled_resource_count: Count of resources that have high availability enabled. @@ -3280,7 +3550,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecommendCapacityRequest(_Model): +class RecommendCapacityRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request body for the recommend capacity action. Provide specific resource IDs to evaluate, or pass an empty array to let the service automatically select non-resilient resources from the goal assignment. @@ -3314,7 +3584,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryActionRequest(_Model): +class RecoveryActionRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request body for providing user input for a recovery action. :ivar description: User-provided input for the action. @@ -3342,7 +3612,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryGroup(ProxyResource): +class RecoveryGroup(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Represents a recovery orchestration group resource in the Azure Resilience Management provider namespace. @@ -3417,7 +3687,7 @@ class RecoveryGroupActionSettings(_Model): """User description of the action.""" -class RecoveryGroupBaseAction(_Model): +class RecoveryGroupBaseAction(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines an action for the recovery orchestration group. You probably want to use the sub-classes and not this class directly. Known sub-classes are: @@ -3472,7 +3742,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryGroupCustomRunbookAction(RecoveryGroupBaseAction, discriminator="CustomRunbook"): +class RecoveryGroupCustomRunbookAction( + RecoveryGroupBaseAction, discriminator="CustomRunbook" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines a custom runbook action for the recovery orchestration group. :ivar name: The name of the recovery orchestration group action. Required. @@ -3534,7 +3806,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.type = RecoveryGroupActionType.CUSTOM_RUNBOOK # type: ignore -class RecoveryGroupManualAction(RecoveryGroupBaseAction, discriminator="ManualAction"): +class RecoveryGroupManualAction( + RecoveryGroupBaseAction, discriminator="ManualAction" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Defines a manual action for the recovery orchestration group. :ivar name: The name of the recovery orchestration group action. Required. @@ -3575,7 +3849,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.type = RecoveryGroupActionType.MANUAL_ACTION # type: ignore -class RecoveryGroupProperties(_Model): +class RecoveryGroupProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of the recovery orchestration group. :ivar group_unique_id: A unique id for the recovery orchestration group, which is a GUID. @@ -3628,7 +3902,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryGroupsSetting(_Model): +class RecoveryGroupsSetting(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Settings for the recovery orchestration groups. :ivar default_group: The default recovery orchestration group setting. Every recovery @@ -3667,7 +3941,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryJob(ProxyResource): +class RecoveryJob(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Represents a recovery job resource in the Azure Resilience Management provider namespace. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -3708,7 +3982,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryJobProperties(JobProperties, discriminator="RecoveryPlan"): +class RecoveryJobProperties( + JobProperties, discriminator="RecoveryPlan" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recovery job associated with Recovery Orchestration Plan. :ivar status: The current status of the job execution. Known values are: "NotApplicable", @@ -3744,7 +4020,8 @@ class RecoveryJobProperties(JobProperties, discriminator="RecoveryPlan"): Plan created job. :vartype job_type: str or ~azure.mgmt.resiliencemanagement.models.RECOVERY_PLAN :ivar provisioning_state: The provisioning state of the recovery job. Known values are: - "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and + "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState """ @@ -3754,7 +4031,8 @@ class RecoveryJobProperties(JobProperties, discriminator="RecoveryPlan"): name="provisioningState", visibility=["read"] ) """The provisioning state of the recovery job. Known values are: \"Succeeded\", \"Failed\", - \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and + \"NeedsAttention\".""" @overload def __init__( @@ -3777,7 +4055,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.job_type = JobType.RECOVERY_PLAN # type: ignore -class RecoveryJobResource(ProxyResource): +class RecoveryJobResource(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Represents a recovery orchestration job resource in the Azure Resilience Management provider namespace. @@ -3819,7 +4097,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryJobResourceProperties(JobResourceProperties, discriminator="RecoveryPlan"): +class RecoveryJobResourceProperties( + JobResourceProperties, discriminator="RecoveryPlan" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of a recovery orchestration job resource associated with a recovery orchestration plan. @@ -3856,7 +4136,8 @@ class RecoveryJobResourceProperties(JobResourceProperties, discriminator="Recove Orchestration Plan created job resource. :vartype job_resource_type: str or ~azure.mgmt.resiliencemanagement.models.RECOVERY_PLAN :ivar provisioning_state: The provisioning state of the recovery job resource. Known values - are: "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + are: "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and + "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar protection_solution_type: A setting that indicates the protection solution selected. Known values are: "None", "AzureNative", "AzureSiteRecovery", "CrossZoneVMRecovery", and @@ -3875,7 +4156,8 @@ class RecoveryJobResourceProperties(JobResourceProperties, discriminator="Recove name="provisioningState", visibility=["read"] ) """The provisioning state of the recovery job resource. Known values are: \"Succeeded\", - \"Failed\", \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Failed\", \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and + \"NeedsAttention\".""" protection_solution_type: Optional[Union[str, "_models.ResourceProtectionSolutionType"]] = rest_field( name="protectionSolutionType", visibility=["read"] ) @@ -3907,7 +4189,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.job_resource_type = JobResourceType.RECOVERY_PLAN # type: ignore -class RecoveryPlan(ProxyResource): +class RecoveryPlan(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """Represents a recovery orchestration plan resource in the Azure Resilience Management provider namespace. @@ -3956,7 +4238,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryPlanActionBaseResponse(_Model): +class RecoveryPlanActionBaseResponse(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Recovery Orchestration Plan post action response. :ivar job_id: JobId of the job triggered for Recovery Orchestration Plan. Required. @@ -4049,12 +4331,12 @@ class RecoveryPlanOperationStatus(_Model): """Error details for the most recent execution of the recovery orchestration plan.""" -class RecoveryPlanProperties(_Model): +class RecoveryPlanProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Properties of the recovery orchestration plan. :ivar provisioning_state: The provisioning state of the recovery orchestration plan. Known - values are: "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and - "Accepted". + values are: "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", + "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar plan_type: The type of the recovery orchestration plan, which can be set during creation but cannot be changed afterward. Required. Known values are: "Regional" and "Zonal". @@ -4081,7 +4363,8 @@ class RecoveryPlanProperties(_Model): name="provisioningState", visibility=["read"] ) """The provisioning state of the recovery orchestration plan. Known values are: \"Succeeded\", - \"Failed\", \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Failed\", \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and + \"NeedsAttention\".""" plan_type: Union[str, "_models.RecoveryPlanType"] = rest_field(name="planType", visibility=["create"]) """The type of the recovery orchestration plan, which can be set during creation but cannot be changed afterward. Required. Known values are: \"Regional\" and \"Zonal\".""" @@ -4128,7 +4411,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryPlanPropertiesOfDrill(_Model): +class RecoveryPlanPropertiesOfDrill(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """RecoveryPlan properties. :ivar identity: Identity to use for RecoveryPlan operations. Required. @@ -4166,7 +4449,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryResource(ProxyResource): +class RecoveryResource(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """RecoveryPlan Resource a AzureResilienceProviderHub resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -4207,7 +4490,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryResourceProperties(_Model): +class RecoveryResourceProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recovery orchestration resource property associated with recovery orchestration plan. @@ -4215,7 +4498,7 @@ class RecoveryResourceProperties(_Model): Required. :vartype recovery_resource_unique_id: str :ivar provisioning_state: Provisioning state. Known values are: "Succeeded", "Failed", - "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar resource_id: Resource ID of the Azure resource associated with the recovery orchestration plan and linked to the recovery resource. @@ -4270,7 +4553,7 @@ class RecoveryResourceProperties(_Model): name="provisioningState", visibility=["read"] ) """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", - \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" resource_id: Optional[str] = rest_field(name="resourceId", visibility=["read"]) """Resource ID of the Azure resource associated with the recovery orchestration plan and linked to the recovery resource.""" @@ -4346,7 +4629,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RecoveryResourceQualification(_Model): +class RecoveryResourceQualification(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Details of resource and its qualification for an operation. :ivar recovery_resource: Recovery orchestration resource. Required. @@ -4384,11 +4667,13 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class RegionalDrillProperties(DrillProperties, discriminator="Regional"): +class RegionalDrillProperties( + DrillProperties, discriminator="Regional" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of Regional Drill properties. :ivar provisioning_state: Status of the last operation. Known values are: "Succeeded", - "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar service_group_id: Parent SG resource. :vartype service_group_id: str @@ -4420,12 +4705,16 @@ class RegionalDrillProperties(DrillProperties, discriminator="Regional"): :vartype last_sync_time: ~datetime.datetime :ivar last_resync_readiness_check_time: Last resync and readiness check time. :vartype last_resync_readiness_check_time: ~datetime.datetime - :ivar managed_on_behalf_of_configuration: Managed RG v2 properties. - :vartype managed_on_behalf_of_configuration: - ~azure.mgmt.resiliencemanagement.models.ManagedOnBehalfOfConfiguration :ivar monitoring_properties: Monitoring properties of the Drill. :vartype monitoring_properties: ~azure.mgmt.resiliencemanagement.models.MonitoringPropertiesOfDrill + :ivar health_model_monitoring_properties: Azure Health Model monitoring properties of the + Drill. + :vartype health_model_monitoring_properties: + ~azure.mgmt.resiliencemanagement.models.HealthModelMonitoringProperties + :ivar sli_monitoring_properties: SLI monitoring properties of the Drill. + :vartype sli_monitoring_properties: + ~azure.mgmt.resiliencemanagement.models.SliMonitoringProperties :ivar error_details: Error details associated with the resource. :vartype error_details: ~azure.mgmt.resiliencemanagement.models.ErrorDetail :ivar drill_type: The discriminator for the Drill object hierarchy. Required. Regional Drill. @@ -4444,6 +4733,8 @@ def __init__( chaos_resource_properties: Optional["_models.ChaosResourcePropertiesOfDrill"] = None, rbac_setup_mode: Optional[Union[str, "_models.RBACSetupMode"]] = None, monitoring_properties: Optional["_models.MonitoringPropertiesOfDrill"] = None, + health_model_monitoring_properties: Optional["_models.HealthModelMonitoringProperties"] = None, + sli_monitoring_properties: Optional["_models.SliMonitoringProperties"] = None, ) -> None: ... @overload @@ -4458,7 +4749,59 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.drill_type = DrillType.REGIONAL # type: ignore -class ReprotectRequest(_Model): +class ReportStageStatus(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Report generation status for a single Drill Run stage. + + :ivar drill_run_stage: Name of the Drill Run stage this status applies to. Required. Known + values are: "FaultInjection", "Failover", "Reprotect", "FailoverReverse", and + "ReprotectReverse". + :vartype drill_run_stage: str or ~azure.mgmt.resiliencemanagement.models.DrillRunSubtasks + :ivar generation_status: Report generation status for this stage. Known values are: + "NotStarted", "InProgress", "Succeeded", and "Failed". + :vartype generation_status: str or + ~azure.mgmt.resiliencemanagement.models.DrillReportGenerationStatus + :ivar last_attempt_timestamp: Timestamp of the last report generation attempt for this stage. + :vartype last_attempt_timestamp: ~datetime.datetime + :ivar last_error: Error from the last failed report generation attempt for this stage. + :vartype last_error: ~azure.mgmt.resiliencemanagement.models.ErrorDetails + """ + + drill_run_stage: Union[str, "_models.DrillRunSubtasks"] = rest_field( + name="drillRunStage", visibility=["read", "create", "update", "delete", "query"] + ) + """Name of the Drill Run stage this status applies to. Required. Known values are: + \"FaultInjection\", \"Failover\", \"Reprotect\", \"FailoverReverse\", and \"ReprotectReverse\".""" + generation_status: Optional[Union[str, "_models.DrillReportGenerationStatus"]] = rest_field( + name="generationStatus", visibility=["read"] + ) + """Report generation status for this stage. Known values are: \"NotStarted\", \"InProgress\", + \"Succeeded\", and \"Failed\".""" + last_attempt_timestamp: Optional[datetime.datetime] = rest_field( + name="lastAttemptTimestamp", visibility=["read"], format="rfc3339" + ) + """Timestamp of the last report generation attempt for this stage.""" + last_error: Optional["_models.ErrorDetails"] = rest_field(name="lastError", visibility=["read"]) + """Error from the last failed report generation attempt for this stage.""" + + @overload + def __init__( + self, + *, + drill_run_stage: Union[str, "_models.DrillRunSubtasks"], + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ReprotectRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Reprotect post action request. :ivar reprotect_request_properties: Additional properties for Reprotect. @@ -4489,7 +4832,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ReprotectRequestProperties(_Model): +class ReprotectRequestProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Additional properties for Reprotect. :ivar selected_resource_ids: Selected recovery resource Ids to be processed. If not provided, @@ -4521,13 +4864,69 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ResourceBaseProtectionSolutionSetting(_Model): +class ResiliencyProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Resiliency posture for a goal resource. + + :ivar goal_participation: Flag which depicts whether the Arm resource is excluded for + resiliency recommendation. Known values are: "Excluded" and "Included". + :vartype goal_participation: str or ~azure.mgmt.resiliencemanagement.models.ExclusionState + :ivar attestation_status: Flag which depicts whether the Arm resource is manually attested for + resiliency recommendation. Known values are: "NotAttested" and "ManuallyAttested". + :vartype attestation_status: str or ~azure.mgmt.resiliencemanagement.models.AttestationState + :ivar exclusion_reason: Reason for exclusion from resiliency goals. Known values are: + "UserSelectedExclusion", "FailedOverResource", and "UnsupportedResource". + :vartype exclusion_reason: str or ~azure.mgmt.resiliencemanagement.models.ExclusionReason + :ivar user_confirmation: List of user confirmations for resiliency solutions. + :vartype user_confirmation: list[~azure.mgmt.resiliencemanagement.models.UserConfirmationItem] + """ + + goal_participation: Optional[Union[str, "_models.ExclusionState"]] = rest_field( + name="goalParticipation", visibility=["read", "create", "update", "delete", "query"] + ) + """Flag which depicts whether the Arm resource is excluded for resiliency recommendation. Known + values are: \"Excluded\" and \"Included\".""" + attestation_status: Optional[Union[str, "_models.AttestationState"]] = rest_field( + name="attestationStatus", visibility=["read", "create", "update", "delete", "query"] + ) + """Flag which depicts whether the Arm resource is manually attested for resiliency recommendation. + Known values are: \"NotAttested\" and \"ManuallyAttested\".""" + exclusion_reason: Optional[Union[str, "_models.ExclusionReason"]] = rest_field( + name="exclusionReason", visibility=["read"] + ) + """Reason for exclusion from resiliency goals. Known values are: \"UserSelectedExclusion\", + \"FailedOverResource\", and \"UnsupportedResource\".""" + user_confirmation: Optional[list["_models.UserConfirmationItem"]] = rest_field( + name="userConfirmation", visibility=["read", "create", "update", "delete", "query"] + ) + """List of user confirmations for resiliency solutions.""" + + @overload + def __init__( + self, + *, + goal_participation: Optional[Union[str, "_models.ExclusionState"]] = None, + attestation_status: Optional[Union[str, "_models.AttestationState"]] = None, + user_confirmation: Optional[list["_models.UserConfirmationItem"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ResourceBaseProtectionSolutionSetting(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recovery orchestration resource protection solution setting with recovery orchestration plan. You probably want to use the sub-classes and not this class directly. Known sub-classes are: ResourceNativeProtectionSolutionSetting, ResourceSiteRecoveryProtectionSetting, - ResourceCustomProtectionSetting + ResourceCrossZoneVmRecoveryProtectionSetting, ResourceCustomProtectionSetting :ivar protection_solution_type: A setting that indicates the resource protected with which recovery solution. Required. Known values are: "None", "AzureNative", "AzureSiteRecovery", @@ -4562,7 +4961,61 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ResourceCustomProtectionAction(_Model): +class ResourceCrossZoneVmRecoveryProtectionSetting( + ResourceBaseProtectionSolutionSetting, discriminator="CrossZoneVMRecovery" +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only + """Definition of recovery orchestration resource protection with cross-zone (zonally resilient) VM + recovery. + + :ivar protection_solution_type: Required. Cross zone recovery enabled Azure VMs. + :vartype protection_solution_type: str or + ~azure.mgmt.resiliencemanagement.models.CROSS_ZONE_VM_RECOVERY + :ivar target_zone: Customer-requested logical target availability zone for zonal failover (a + positive availability-zone id, e.g. "1", "2", "3"; additional zones are accepted where the + region exposes them). Always optional; when omitted the service selects a healthy zone. + Immutable per failover. + :vartype target_zone: str + :ivar capacity_reservation_group_id: ARM resource ID of the Capacity Reservation Group (in the + same subscription as the VM) to use when moving the VM to the target zone. + :vartype capacity_reservation_group_id: str + """ + + protection_solution_type: Literal[ResourceProtectionSolutionType.CROSS_ZONE_VM_RECOVERY] = rest_discriminator(name="protectionSolutionType", visibility=["read", "create", "update", "delete", "query"]) # type: ignore + """Required. Cross zone recovery enabled Azure VMs.""" + target_zone: Optional[str] = rest_field( + name="targetZone", visibility=["read", "create", "update", "delete", "query"] + ) + """Customer-requested logical target availability zone for zonal failover (a positive + availability-zone id, e.g. \"1\", \"2\", \"3\"; additional zones are accepted where the region + exposes them). Always optional; when omitted the service selects a healthy zone. Immutable per + failover.""" + capacity_reservation_group_id: Optional[str] = rest_field( + name="capacityReservationGroupId", visibility=["read", "create", "update", "delete", "query"] + ) + """ARM resource ID of the Capacity Reservation Group (in the same subscription as the VM) to use + when moving the VM to the target zone.""" + + @overload + def __init__( + self, + *, + target_zone: Optional[str] = None, + capacity_reservation_group_id: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + self.protection_solution_type = ResourceProtectionSolutionType.CROSS_ZONE_VM_RECOVERY # type: ignore + + +class ResourceCustomProtectionAction(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recovery resource custom action setting with Recovery Orchestration Plan. :ivar resource_id: The Azure resource ID hosting the custom action automation script. Required. @@ -4590,7 +5043,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ResourceCustomProtectionSetting(ResourceBaseProtectionSolutionSetting, discriminator="CustomRunbook"): +class ResourceCustomProtectionSetting( + ResourceBaseProtectionSolutionSetting, discriminator="CustomRunbook" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recovery orchestration resource custom protection setting with recovery orchestration plan. @@ -4664,7 +5119,78 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.protection_solution_type = ResourceProtectionSolutionType.CUSTOM_RUNBOOK # type: ignore -class ResourceLists(_Model): +class ResourceFeasibilityReview(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Result of a single feasibility review performed against one resource in a recovery plan. + + :ivar feasibility_type: The resource feasibility review type. Required. "SkuCapacity" + :vartype feasibility_type: str or + ~azure.mgmt.resiliencemanagement.models.ResourceFeasibilityReviewType + :ivar resource_type: Fully qualified ARM resource type evaluated, e.g. + ``Microsoft.Compute/virtualMachines``. Required. + :vartype resource_type: str + :ivar current_target_sku: The SKU the resource is currently configured to recover into, + enriched for comparison against the recommendations. Absent when it could not be resolved, and + always absent on ``Passed`` and ``NotApplicable`` reviews. + :vartype current_target_sku: ~azure.mgmt.resiliencemanagement.models.SkuDetails + :ivar status: Outcome of this feasibility review. Required. Known values are: "Unavailable", + "Passed", "Flagged", and "NotApplicable". + :vartype status: str or ~azure.mgmt.resiliencemanagement.models.ResourceFeasibilityReviewStatus + :ivar recommended_target_skus: Alternative SKUs surfaced for this review. Absent or empty means + a ``Flagged`` review has no alternatives, an ``Unavailable`` review has no applicable + recommendations to surface, or the review has a minimal ``Passed`` / ``NotApplicable`` outcome. + Callers should treat an absent array and an empty array identically. + :vartype recommended_target_skus: list[~azure.mgmt.resiliencemanagement.models.SkuDetails] + """ + + feasibility_type: Union[str, "_models.ResourceFeasibilityReviewType"] = rest_field( + name="feasibilityType", visibility=["read", "create", "update", "delete", "query"] + ) + """The resource feasibility review type. Required. \"SkuCapacity\"""" + resource_type: str = rest_field(name="resourceType", visibility=["read", "create", "update", "delete", "query"]) + """Fully qualified ARM resource type evaluated, e.g. ``Microsoft.Compute/virtualMachines``. + Required.""" + current_target_sku: Optional["_models.SkuDetails"] = rest_field( + name="currentTargetSku", visibility=["read", "create", "update", "delete", "query"] + ) + """The SKU the resource is currently configured to recover into, enriched for comparison against + the recommendations. Absent when it could not be resolved, and always absent on ``Passed`` and + ``NotApplicable`` reviews.""" + status: Union[str, "_models.ResourceFeasibilityReviewStatus"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Outcome of this feasibility review. Required. Known values are: \"Unavailable\", \"Passed\", + \"Flagged\", and \"NotApplicable\".""" + recommended_target_skus: Optional[list["_models.SkuDetails"]] = rest_field( + name="recommendedTargetSkus", visibility=["read", "create", "update", "delete", "query"] + ) + """Alternative SKUs surfaced for this review. Absent or empty means a ``Flagged`` review has no + alternatives, an ``Unavailable`` review has no applicable recommendations to surface, or the + review has a minimal ``Passed`` / ``NotApplicable`` outcome. Callers should treat an absent + array and an empty array identically.""" + + @overload + def __init__( + self, + *, + feasibility_type: Union[str, "_models.ResourceFeasibilityReviewType"], + resource_type: str, + status: Union[str, "_models.ResourceFeasibilityReviewStatus"], + current_target_sku: Optional["_models.SkuDetails"] = None, + recommended_target_skus: Optional[list["_models.SkuDetails"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ResourceLists(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Add, Update, Delete resource lists. :ivar include_resources: Include resource. @@ -4835,7 +5361,9 @@ class ResourceProtectionSolutionSettings(_Model): \"TestFailoverCleanupPending\".""" -class ResourceSiteRecoveryProtectionSetting(ResourceBaseProtectionSolutionSetting, discriminator="AzureSiteRecovery"): +class ResourceSiteRecoveryProtectionSetting( + ResourceBaseProtectionSolutionSetting, discriminator="AzureSiteRecovery" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recovery orchestration resource protection with azure site recovery. :ivar protection_solution_type: Required. Resource protected with the Azure solution provided @@ -4890,7 +5418,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self.protection_solution_type = ResourceProtectionSolutionType.AZURE_SITE_RECOVERY # type: ignore -class ResourceSiteRecoveryReprotectParams(_Model): +class ResourceSiteRecoveryReprotectParams(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recovery resource reprotect params for site recovery solution. :ivar disk_reprotect_input_details: Disk Reprotect Input Details. @@ -4921,7 +5449,9 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ResourceSiteRecoveryTestFailoverCleanupParams(_Model): # pylint: disable=name-too-long +class ResourceSiteRecoveryTestFailoverCleanupParams( + _Model +): # pylint: disable=name-too-long,docstring-keyword-should-match-keyword-only """Definition of recovery resource reprotect params for site recovery solution. :ivar comments: Comments for testfailover cleanup. @@ -4949,7 +5479,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ResourceSiteRecoveryTestFailoverParams(_Model): +class ResourceSiteRecoveryTestFailoverParams(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of recovery resource failover params for site recovery solution. :ivar network_resource_id: The Azure network resource is which will be used for test failover @@ -4980,7 +5510,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ServiceGroupMembership(_Model): +class ServiceGroupMembership(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Model for service group membership. :ivar service_group_id: Arm Id of the service group. Required. @@ -5019,14 +5549,13 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ServiceLevelResource(_Model): +class ServiceLevelResource(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The Service level resource model. :ivar service_level_indicator_resource_id: The arm id of the service level indicator resource. Required. :vartype service_level_indicator_resource_id: str :ivar service_level_objective_resource_id: The arm id of the service level object resource. - Required. :vartype service_level_objective_resource_id: str """ @@ -5034,17 +5563,17 @@ class ServiceLevelResource(_Model): name="serviceLevelIndicatorResourceId", visibility=["read", "create", "update", "delete", "query"] ) """The arm id of the service level indicator resource. Required.""" - service_level_objective_resource_id: str = rest_field( + service_level_objective_resource_id: Optional[str] = rest_field( name="serviceLevelObjectiveResourceId", visibility=["read", "create", "update", "delete", "query"] ) - """The arm id of the service level object resource. Required.""" + """The arm id of the service level object resource.""" @overload def __init__( self, *, service_level_indicator_resource_id: str, - service_level_objective_resource_id: str, + service_level_objective_resource_id: Optional[str] = None, ) -> None: ... @overload @@ -5058,7 +5587,205 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SupportedVerbsForStage(_Model): +class SkuDetails(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """SKU details for a resource feasibility review, used for both the current target SKU and the + recommended alternate SKUs. + + :ivar sku: The Azure SKU name. Required. + :vartype sku: str + :ivar v_cpu: Number of virtual CPUs for the SKU. Absent when SKU specifications are + unavailable. + :vartype v_cpu: int + :ivar ram: Memory in GiB for the SKU. Absent when SKU specifications are unavailable. + :vartype ram: int + :ivar monthly_price: Estimated monthly price. Absent when pricing is unavailable. + :vartype monthly_price: float + :ivar currency: ISO 4217 currency code for ``monthlyPrice``. + :vartype currency: str + :ivar offering_id: Identifier of the Azure offering used to estimate ``monthlyPrice``. + :vartype offering_id: str + """ + + sku: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The Azure SKU name. Required.""" + v_cpu: Optional[int] = rest_field(name="vCpu", visibility=["read", "create", "update", "delete", "query"]) + """Number of virtual CPUs for the SKU. Absent when SKU specifications are unavailable.""" + ram: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Memory in GiB for the SKU. Absent when SKU specifications are unavailable.""" + monthly_price: Optional[float] = rest_field( + name="monthlyPrice", visibility=["read", "create", "update", "delete", "query"] + ) + """Estimated monthly price. Absent when pricing is unavailable.""" + currency: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """ISO 4217 currency code for ``monthlyPrice``.""" + offering_id: Optional[str] = rest_field( + name="offeringId", visibility=["read", "create", "update", "delete", "query"] + ) + """Identifier of the Azure offering used to estimate ``monthlyPrice``.""" + + @overload + def __init__( + self, + *, + sku: str, + v_cpu: Optional[int] = None, + ram: Optional[int] = None, + monthly_price: Optional[float] = None, + currency: Optional[str] = None, + offering_id: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SliAttentionStatus(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """Per-SLI attention status of a Drill. + + :ivar sli_id: Full ARM Id of the SLI this status refers to. Required. + :vartype sli_id: str + :ivar type: User-declared category of the SLI. Required. Known values are: "Availability" and + "Latency". + :vartype type: str or ~azure.mgmt.resiliencemanagement.models.SliType + :ivar exists: Whether the selected SLI still exists. Known values are: "Exists" and + "NotExists". + :vartype exists: str or ~azure.mgmt.resiliencemanagement.models.ExtensionObjectState + :ivar type_match: Whether the user-declared SLI type matches the SLI's actual category. Known + values are: "Matched" and "Mismatched". + :vartype type_match: str or ~azure.mgmt.resiliencemanagement.models.SliTypeMatchState + :ivar drill_rbac_on_destination_amw: Rolled-up RBAC state: NotSet if the Drill identity is + missing Monitoring Reader on any of the SLI's destination Azure Monitor Workspaces. Known + values are: "Set" and "NotSet". + :vartype drill_rbac_on_destination_amw: str or + ~azure.mgmt.resiliencemanagement.models.RBACState + :ivar rbac_needed_on_destination_amws: The destination Azure Monitor Workspaces that are still + missing the Monitoring Reader grant for the Drill identity. + :vartype rbac_needed_on_destination_amws: list[str] + """ + + sli_id: str = rest_field(name="sliId", visibility=["read", "create", "update", "delete", "query"]) + """Full ARM Id of the SLI this status refers to. Required.""" + type: Union[str, "_models.SliType"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """User-declared category of the SLI. Required. Known values are: \"Availability\" and + \"Latency\".""" + exists: Optional[Union[str, "_models.ExtensionObjectState"]] = rest_field(visibility=["read"]) + """Whether the selected SLI still exists. Known values are: \"Exists\" and \"NotExists\".""" + type_match: Optional[Union[str, "_models.SliTypeMatchState"]] = rest_field(name="typeMatch", visibility=["read"]) + """Whether the user-declared SLI type matches the SLI's actual category. Known values are: + \"Matched\" and \"Mismatched\".""" + drill_rbac_on_destination_amw: Optional[Union[str, "_models.RBACState"]] = rest_field( + name="drillRbacOnDestinationAmw", visibility=["read"] + ) + """Rolled-up RBAC state: NotSet if the Drill identity is missing Monitoring Reader on any of the + SLI's destination Azure Monitor Workspaces. Known values are: \"Set\" and \"NotSet\".""" + rbac_needed_on_destination_amws: Optional[list[str]] = rest_field( + name="rbacNeededOnDestinationAmws", visibility=["read"] + ) + """The destination Azure Monitor Workspaces that are still missing the Monitoring Reader grant for + the Drill identity.""" + + @overload + def __init__( + self, + *, + sli_id: str, + type: Union[str, "_models.SliType"], + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SliMonitoringProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """SLI monitoring properties of a Drill. At most two SLIs may be selected: at most one + Availability and one Latency. + + :ivar identity: Identity that the Drill uses to read evaluated SLI results from each SLI's + destination Azure Monitor Workspace. The Drill is granted Monitoring Reader on every + destination AMW of every selected SLI for this identity. Required. + :vartype identity: ~azure.mgmt.resiliencemanagement.models.AssociatedIdentity + :ivar slis: The SLIs selected for Drill monitoring. Maximum of two entries: at most one + Availability and one Latency. Duplicate types or duplicate SLI Ids are rejected. Required. + :vartype slis: list[~azure.mgmt.resiliencemanagement.models.SliSelection] + """ + + identity: "_models.AssociatedIdentity" = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Identity that the Drill uses to read evaluated SLI results from each SLI's destination Azure + Monitor Workspace. The Drill is granted Monitoring Reader on every destination AMW of every + selected SLI for this identity. Required.""" + slis: list["_models.SliSelection"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The SLIs selected for Drill monitoring. Maximum of two entries: at most one Availability and + one Latency. Duplicate types or duplicate SLI Ids are rejected. Required.""" + + @overload + def __init__( + self, + *, + identity: "_models.AssociatedIdentity", + slis: list["_models.SliSelection"], + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SliSelection(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only + """A single SLI selected for Drill monitoring. + + :ivar sli_id: Full ARM Id of the SLI. Required. + :vartype sli_id: str + :ivar type: User-declared category of the SLI. Must be unique across the selected SLIs. + Required. Known values are: "Availability" and "Latency". + :vartype type: str or ~azure.mgmt.resiliencemanagement.models.SliType + """ + + sli_id: str = rest_field(name="sliId", visibility=["read", "create", "update", "delete", "query"]) + """Full ARM Id of the SLI. Required.""" + type: Union[str, "_models.SliType"] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """User-declared category of the SLI. Must be unique across the selected SLIs. Required. Known + values are: \"Availability\" and \"Latency\".""" + + @overload + def __init__( + self, + *, + sli_id: str, + type: Union[str, "_models.SliType"], + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class SupportedVerbsForStage(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Model for supported verbs for stage. :ivar drill_run_stage: Name of stage. Required. Known values are: "FaultInjection", "Failover", @@ -5098,7 +5825,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SystemData(_Model): +class SystemData(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Metadata pertaining to creation and last modification of the resource. :ivar created_by: The identity that created the resource. @@ -5165,7 +5892,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class SystemMetadata(_Model): +class SystemMetadata(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Internal System Metadata, to be used by internal components only. :ivar initial_config: Indicates if the Initial system configuration of the Drill is complete or @@ -5205,7 +5932,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class TestFailoverCleanupRequest(_Model): +class TestFailoverCleanupRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """TestFailoverCleanup post action request. :ivar comments: Comments for test failover cleanup. @@ -5233,7 +5960,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class TrackedResource(Resource): +class TrackedResource(Resource): # pylint: disable=docstring-keyword-should-match-keyword-only """Tracked Resource. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -5277,7 +6004,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class UnifiedResilienceItem(ProxyResource): +class UnifiedResilienceItem(ProxyResource): # pylint: disable=docstring-keyword-should-match-keyword-only """A unified resilience item represents a computed and aggregated resilience information of Azure Applications. @@ -5319,11 +6046,11 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class UnifiedResilienceItemProperties(_Model): +class UnifiedResilienceItemProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of unified resilience item property. :ivar provisioning_state: Provisioning state. Known values are: "Succeeded", "Failed", - "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar goals: Computed and copied data of resilience goals. Required. :vartype goals: ~azure.mgmt.resiliencemanagement.models.GoalsData @@ -5337,7 +6064,7 @@ class UnifiedResilienceItemProperties(_Model): name="provisioningState", visibility=["read"] ) """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", - \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" goals: "_models.GoalsData" = rest_field(visibility=["read", "create", "update", "delete", "query"]) """Computed and copied data of resilience goals. Required.""" recommendations: "_models.RecommendationsData" = rest_field( @@ -5369,7 +6096,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class UpdateGoalResourceRequest(_Model): +class UpdateGoalResourceRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request model for update goal resource. :ivar resources: List of update goal resource. Required. @@ -5397,7 +6124,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class UpdateRecoveryResourcesRequest(_Model): +class UpdateRecoveryResourcesRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """RecoveryResources post action request to update in batch. :ivar resources_to_update: A list of recovery orchestration resources whose properties need to @@ -5437,7 +6164,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class UpdateRecoveryResourcesResponse(_Model): +class UpdateRecoveryResourcesResponse(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """RecoveryResources post action request to update in batch. :ivar failed_resources: A list of error details associated with resources for which the update @@ -5468,7 +6195,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class UsagePlan(TrackedResource): +class UsagePlan(TrackedResource): # pylint: disable=docstring-keyword-should-match-keyword-only """A usage plan resource for Resiliency feature billing. :ivar id: Fully qualified resource ID for the resource. Ex - @@ -5515,13 +6242,13 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class UsagePlanProperties(_Model): +class UsagePlanProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of usage plan properties. :ivar plan_type: The type of the usage plan. Known values are: "Basic" and "Standard". :vartype plan_type: str or ~azure.mgmt.resiliencemanagement.models.UsagePlanType :ivar provisioning_state: Provisioning state of the usage plan. Known values are: "Succeeded", - "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar error_details: Details of any errors encountered during Usage Plan create or update. :vartype error_details: ~azure.mgmt.resiliencemanagement.models.ErrorDetail @@ -5535,7 +6262,8 @@ class UsagePlanProperties(_Model): name="provisioningState", visibility=["read"] ) """Provisioning state of the usage plan. Known values are: \"Succeeded\", \"Failed\", - \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", and \"Accepted\".""" + \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and + \"NeedsAttention\".""" error_details: Optional["_models.ErrorDetail"] = rest_field(name="errorDetails", visibility=["read"]) """Details of any errors encountered during Usage Plan create or update.""" @@ -5557,7 +6285,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class UsagePlanTagsUpdate(_Model): +class UsagePlanTagsUpdate(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """The type used for updating tags in UsagePlan resources. :ivar tags: Resource tags. @@ -5600,7 +6328,7 @@ class UserAssignedIdentity(_Model): """The client ID of the assigned identity.""" -class UserConfirmationForHighAvailabilityItem(_Model): +class UserConfirmationItem(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Represents a user confirmation for a high availability solution. :ivar solution_display_name: The solution display name of the high availability solution. @@ -5654,24 +6382,35 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ValidateForExecutionProperties(_Model): +class ValidateForExecutionProperties(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Additional properties for Failover. + :ivar operation_name: Operation name for which the validation is being done. This is needed to + determine the set of validations to be done for the operation. Known values are: "Failover", + "Reprotect", "FailoverReverse", and "ReprotectReverse". + :vartype operation_name: str or ~azure.mgmt.resiliencemanagement.models.DrillRunTasks :ivar source_locations: Physiscal Source locations from where resources to be failed-over or - faulted. Required. + faulted. :vartype source_locations: list[str] """ - source_locations: list[str] = rest_field( + operation_name: Optional[Union[str, "_models.DrillRunTasks"]] = rest_field( + name="operationName", visibility=["read", "create", "update", "delete", "query"] + ) + """Operation name for which the validation is being done. This is needed to determine the set of + validations to be done for the operation. Known values are: \"Failover\", \"Reprotect\", + \"FailoverReverse\", and \"ReprotectReverse\".""" + source_locations: Optional[list[str]] = rest_field( name="sourceLocations", visibility=["read", "create", "update", "delete", "query"] ) - """Physiscal Source locations from where resources to be failed-over or faulted. Required.""" + """Physiscal Source locations from where resources to be failed-over or faulted.""" @overload def __init__( self, *, - source_locations: list[str], + operation_name: Optional[Union[str, "_models.DrillRunTasks"]] = None, + source_locations: Optional[list[str]] = None, ) -> None: ... @overload @@ -5685,7 +6424,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ValidateForExecutionRequest(_Model): +class ValidateForExecutionRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """Request body of the Validate For Execute Action of Drill. :ivar validate_for_execution_properties: Additional properties for Validate for execute. @@ -5716,7 +6455,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ValidateForOperationRequest(_Model): +class ValidateForOperationRequest(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """ValidateForOperation post action request to check if operation can be performed. :ivar operation_name: Operation Name to validate. Required. Known values are: "Failover", @@ -5748,7 +6487,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ValidateForRecoveryOperationBaseResponse(_Model): +class ValidateForRecoveryOperationBaseResponse(_Model): # pylint: disable=docstring-keyword-should-match-keyword-only """ValidateForRecoveryOperation post action response. :ivar recovery_resource_qualifications: Qualification details of resources for the operation. @@ -5780,11 +6519,13 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ZonalDrillProperties(DrillProperties, discriminator="Zonal"): +class ZonalDrillProperties( + DrillProperties, discriminator="Zonal" +): # pylint: disable=docstring-keyword-should-match-keyword-only """Definition of Zonal Drill properties. :ivar provisioning_state: Status of the last operation. Known values are: "Succeeded", - "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". + "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". :vartype provisioning_state: str or ~azure.mgmt.resiliencemanagement.models.ProvisioningState :ivar service_group_id: Parent SG resource. :vartype service_group_id: str @@ -5816,12 +6557,16 @@ class ZonalDrillProperties(DrillProperties, discriminator="Zonal"): :vartype last_sync_time: ~datetime.datetime :ivar last_resync_readiness_check_time: Last resync and readiness check time. :vartype last_resync_readiness_check_time: ~datetime.datetime - :ivar managed_on_behalf_of_configuration: Managed RG v2 properties. - :vartype managed_on_behalf_of_configuration: - ~azure.mgmt.resiliencemanagement.models.ManagedOnBehalfOfConfiguration :ivar monitoring_properties: Monitoring properties of the Drill. :vartype monitoring_properties: ~azure.mgmt.resiliencemanagement.models.MonitoringPropertiesOfDrill + :ivar health_model_monitoring_properties: Azure Health Model monitoring properties of the + Drill. + :vartype health_model_monitoring_properties: + ~azure.mgmt.resiliencemanagement.models.HealthModelMonitoringProperties + :ivar sli_monitoring_properties: SLI monitoring properties of the Drill. + :vartype sli_monitoring_properties: + ~azure.mgmt.resiliencemanagement.models.SliMonitoringProperties :ivar error_details: Error details associated with the resource. :vartype error_details: ~azure.mgmt.resiliencemanagement.models.ErrorDetail :ivar drill_type: The discriminator for the Drill object hierarchy. Required. Zonal Drill. @@ -5846,6 +6591,8 @@ def __init__( chaos_resource_properties: Optional["_models.ChaosResourcePropertiesOfDrill"] = None, rbac_setup_mode: Optional[Union[str, "_models.RBACSetupMode"]] = None, monitoring_properties: Optional["_models.MonitoringPropertiesOfDrill"] = None, + health_model_monitoring_properties: Optional["_models.HealthModelMonitoringProperties"] = None, + sli_monitoring_properties: Optional["_models.SliMonitoringProperties"] = None, ) -> None: ... @overload diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_patch.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_patch.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/models/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/operations/_operations.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/operations/_operations.py index b9f0c1fb4697..57d9335b4582 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/operations/_operations.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/operations/_operations.py @@ -32,7 +32,7 @@ from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling -from .. import models as _models +from .. import models as _models, types as _types from .._configuration import ResilienceManagementClientConfiguration from .._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from .._utils.serialization import Deserializer, Serializer @@ -40,7 +40,6 @@ T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -JSON = MutableMapping[str, Any] List = list _SERIALIZER = Serializer() @@ -51,7 +50,7 @@ def build_operations_list_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -70,7 +69,7 @@ def build_operation_status_get_request(location: str, operation_id: str, **kwarg _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -97,7 +96,7 @@ def build_goal_assignments_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -125,7 +124,7 @@ def build_goal_assignments_create_or_update_request( # pylint: disable=name-too _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -155,7 +154,7 @@ def build_goal_assignments_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -185,7 +184,7 @@ def build_goal_assignments_update_goal_resources_request( # pylint: disable=nam _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -214,7 +213,7 @@ def build_goal_assignments_refresh_goal_resources_request( # pylint: disable=na _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -240,7 +239,7 @@ def build_goal_assignments_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/goalAssignments/{goalAssignmentName}" path_format_arguments = { @@ -263,7 +262,7 @@ def build_goal_assignments_recommend_capacity_request( # pylint: disable=name-t _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -292,7 +291,7 @@ def build_goal_assignments_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -320,7 +319,7 @@ def build_goal_templates_get_request(service_group_name: str, goal_template_name _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -348,7 +347,7 @@ def build_goal_templates_create_or_update_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -376,7 +375,7 @@ def build_goal_templates_update_request(service_group_name: str, goal_template_n _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -402,7 +401,7 @@ def build_goal_templates_update_request(service_group_name: str, goal_template_n def build_goal_templates_delete_request(service_group_name: str, goal_template_name: str, **kwargs: Any) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/goalTemplates/{goalTemplateName}" path_format_arguments = { @@ -424,7 +423,7 @@ def build_goal_templates_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -454,7 +453,7 @@ def build_goal_resources_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -487,7 +486,7 @@ def build_goal_resources_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -516,7 +515,7 @@ def build_recovery_plans_get_request(service_group_name: str, recovery_plan_name _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -544,7 +543,7 @@ def build_recovery_plans_create_or_update_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -572,7 +571,7 @@ def build_recovery_plans_update_request(service_group_name: str, recovery_plan_n _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -598,7 +597,7 @@ def build_recovery_plans_update_request(service_group_name: str, recovery_plan_n def build_recovery_plans_delete_request(service_group_name: str, recovery_plan_name: str, **kwargs: Any) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/recoveryPlans/{recoveryPlanName}" path_format_arguments = { @@ -620,7 +619,7 @@ def build_recovery_plans_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -650,7 +649,7 @@ def build_recovery_plan_actions_finalize_request( # pylint: disable=name-too-lo _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/recoveryPlans/{recoveryPlanName}/finalize" path_format_arguments = { @@ -676,7 +675,7 @@ def build_recovery_plan_actions_update_resources_request( # pylint: disable=nam _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -707,7 +706,7 @@ def build_recovery_plan_actions_validate_for_operation_request( # pylint: disab _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/recoveryPlans/{recoveryPlanName}/validateForOperation" path_format_arguments = { @@ -735,7 +734,7 @@ def build_recovery_plan_actions_validate_for_failover_request( # pylint: disabl _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -765,7 +764,7 @@ def build_recovery_plan_actions_validate_for_failover_commit_request( # pylint: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -794,7 +793,7 @@ def build_recovery_plan_actions_validate_for_test_failover_request( # pylint: d _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -824,7 +823,7 @@ def build_recovery_plan_actions_validate_for_test_failover_cleanup_request( # p _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -853,7 +852,7 @@ def build_recovery_plan_actions_validate_for_reprotect_request( # pylint: disab _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -883,7 +882,7 @@ def build_recovery_plan_actions_check_readiness_request( # pylint: disable=name _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -912,7 +911,7 @@ def build_recovery_plan_actions_failover_request( # pylint: disable=name-too-lo _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -942,7 +941,7 @@ def build_recovery_plan_actions_failover_commit_request( # pylint: disable=name _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -971,7 +970,7 @@ def build_recovery_plan_actions_reprotect_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1002,7 +1001,7 @@ def build_recovery_plan_actions_test_failover_request( # pylint: disable=name-t _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1033,7 +1032,7 @@ def build_recovery_plan_actions_test_failover_cleanup_request( # pylint: disabl _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1063,7 +1062,7 @@ def build_recovery_resources_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1091,7 +1090,7 @@ def build_recovery_resources_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1118,7 +1117,7 @@ def build_recovery_jobs_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1144,7 +1143,7 @@ def build_recovery_jobs_list_request(service_group_name: str, recovery_plan_name _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1172,7 +1171,7 @@ def build_recovery_jobs_cancel_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/recoveryPlans/{recoveryPlanName}/recoveryJobs/{recoveryJobName}/cancel" path_format_arguments = { @@ -1201,7 +1200,7 @@ def build_recovery_jobs_resume_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/recoveryPlans/{recoveryPlanName}/recoveryJobs/{recoveryJobName}/resume" path_format_arguments = { @@ -1229,7 +1228,7 @@ def build_recovery_jobs_retry_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/recoveryPlans/{recoveryPlanName}/recoveryJobs/{recoveryJobName}/retry" path_format_arguments = { @@ -1259,7 +1258,7 @@ def build_recovery_job_resources_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1288,7 +1287,7 @@ def build_recovery_job_resources_list_request( # pylint: disable=name-too-long _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1314,7 +1313,7 @@ def build_drills_get_request(service_group_name: str, drill_name: str, **kwargs: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1340,7 +1339,7 @@ def build_drills_create_request(service_group_name: str, drill_name: str, **kwar _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1368,7 +1367,7 @@ def build_drills_update_request(service_group_name: str, drill_name: str, **kwar _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1394,7 +1393,7 @@ def build_drills_update_request(service_group_name: str, drill_name: str, **kwar def build_drills_delete_request(service_group_name: str, drill_name: str, **kwargs: Any) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/drills/{drillName}" path_format_arguments = { @@ -1416,7 +1415,7 @@ def build_drills_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1447,7 +1446,7 @@ def build_drills_validate_for_execution_request( # pylint: disable=name-too-lon _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1478,7 +1477,7 @@ def build_drills_start_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1509,7 +1508,7 @@ def build_drills_end_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1540,7 +1539,7 @@ def build_drills_add_or_update_resources_request( # pylint: disable=name-too-lo _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/drills/{drillName}/addOrUpdateResources" path_format_arguments = { @@ -1567,7 +1566,7 @@ def build_drills_resync_readiness_check_request( # pylint: disable=name-too-lon _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/drills/{drillName}/resyncReadinessCheck" path_format_arguments = { @@ -1592,7 +1591,7 @@ def build_drill_resources_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1625,7 +1624,7 @@ def build_drill_resources_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1656,7 +1655,7 @@ def build_drill_runs_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1682,7 +1681,7 @@ def build_drill_runs_list_request(service_group_name: str, drill_name: str, **kw _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1710,7 +1709,7 @@ def build_drill_runs_fail_over_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1741,7 +1740,8 @@ def build_drill_runs_reprotect_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1759,6 +1759,8 @@ def build_drill_runs_reprotect_request( # Construct headers _headers["operation-id"] = _SERIALIZER.header("operation_id", operation_id, "str") + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) @@ -1771,7 +1773,7 @@ def build_drill_runs_add_notes_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1802,7 +1804,7 @@ def build_drill_runs_resume_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1832,7 +1834,7 @@ def build_drill_runs_mark_as_complete_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1857,13 +1859,73 @@ def build_drill_runs_mark_as_complete_request( # pylint: disable=name-too-long return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) +def build_drill_runs_generate_report_request( + service_group_name: str, drill_name: str, drill_run_name: str, *, operation_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/drills/{drillName}/drillRuns/{drillRunName}/generateReport" + path_format_arguments = { + "serviceGroupName": _SERIALIZER.url("service_group_name", service_group_name, "str"), + "drillName": _SERIALIZER.url("drill_name", drill_name, "str"), + "drillRunName": _SERIALIZER.url("drill_run_name", drill_run_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["operation-id"] = _SERIALIZER.header("operation_id", operation_id, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_drill_runs_list_report_download_url_request( # pylint: disable=name-too-long + service_group_name: str, drill_name: str, drill_run_name: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/providers/Microsoft.Management/serviceGroups/{serviceGroupName}/providers/Microsoft.AzureResilienceManagement/drills/{drillName}/drillRuns/{drillRunName}/listReportDownloadUrl" + path_format_arguments = { + "serviceGroupName": _SERIALIZER.url("service_group_name", service_group_name, "str"), + "drillName": _SERIALIZER.url("drill_name", drill_name, "str"), + "drillRunName": _SERIALIZER.url("drill_run_name", drill_run_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + def build_drill_run_resources_get_request( service_group_name: str, drill_name: str, drill_run_name: str, drill_run_resource_name: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1892,7 +1954,7 @@ def build_drill_run_resources_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1920,7 +1982,7 @@ def build_unified_resilience_items_get_request( # pylint: disable=name-too-long _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1949,7 +2011,7 @@ def build_unified_resilience_items_list_request( # pylint: disable=name-too-lon _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1979,7 +2041,7 @@ def build_usage_plans_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2008,7 +2070,7 @@ def build_usage_plans_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2039,7 +2101,7 @@ def build_usage_plans_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2068,7 +2130,7 @@ def build_usage_plans_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureResilienceManagement/usagePlans/{usagePlanName}" path_format_arguments = { @@ -2091,7 +2153,7 @@ def build_usage_plans_list_by_resource_group_request( # pylint: disable=name-to _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2118,7 +2180,7 @@ def build_usage_plans_list_by_subscription_request( # pylint: disable=name-too- _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2144,7 +2206,7 @@ def build_enrollments_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2174,7 +2236,7 @@ def build_enrollments_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2204,7 +2266,7 @@ def build_enrollments_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureResilienceManagement/usagePlans/{usagePlanName}/enrollments/{enrollmentName}" path_format_arguments = { @@ -2228,7 +2290,7 @@ def build_enrollments_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-08-31-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2250,7 +2312,7 @@ def build_enrollments_list_request( return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class Operations: +class Operations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -2362,7 +2424,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class OperationStatusOperations: +class OperationStatusOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -2450,7 +2512,7 @@ def get(self, location: str, operation_id: str, **kwargs: Any) -> _models.Operat return deserialized # type: ignore -class GoalAssignmentsOperations: +class GoalAssignmentsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -2541,7 +2603,7 @@ def _create_or_update_initial( self, service_group_name: str, goal_assignment_name: str, - resource: Union[_models.GoalAssignment, JSON, IO[bytes]], + resource: Union[_models.GoalAssignment, _types.GoalAssignment, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -2645,7 +2707,7 @@ def begin_create_or_update( self, service_group_name: str, goal_assignment_name: str, - resource: JSON, + resource: _types.GoalAssignment, *, content_type: str = "application/json", **kwargs: Any @@ -2657,7 +2719,7 @@ def begin_create_or_update( :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.GoalAssignment :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2697,7 +2759,7 @@ def begin_create_or_update( self, service_group_name: str, goal_assignment_name: str, - resource: Union[_models.GoalAssignment, JSON, IO[bytes]], + resource: Union[_models.GoalAssignment, _types.GoalAssignment, IO[bytes]], **kwargs: Any ) -> LROPoller[None]: """Create a GoalAssignment. @@ -2706,9 +2768,10 @@ def begin_create_or_update( :type service_group_name: str :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str - :param resource: Resource create parameters. Is one of the following types: GoalAssignment, - JSON, IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.GoalAssignment or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a GoalAssignment type or a IO[bytes] + type. Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.GoalAssignment or + ~azure.mgmt.resiliencemanagement.types.GoalAssignment or IO[bytes] :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -2764,7 +2827,7 @@ def _update_initial( self, service_group_name: str, goal_assignment_name: str, - properties: Union[_models.GoalAssignment, JSON, IO[bytes]], + properties: Union[_models.GoalAssignment, _types.GoalAssignment, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -2868,7 +2931,7 @@ def begin_update( self, service_group_name: str, goal_assignment_name: str, - properties: JSON, + properties: _types.GoalAssignment, *, content_type: str = "application/json", **kwargs: Any @@ -2880,7 +2943,7 @@ def begin_update( :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.GoalAssignment :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2920,7 +2983,7 @@ def begin_update( self, service_group_name: str, goal_assignment_name: str, - properties: Union[_models.GoalAssignment, JSON, IO[bytes]], + properties: Union[_models.GoalAssignment, _types.GoalAssignment, IO[bytes]], **kwargs: Any ) -> LROPoller[None]: """Update a GoalAssignment. @@ -2929,9 +2992,10 @@ def begin_update( :type service_group_name: str :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str - :param properties: The resource properties to be updated. Is one of the following types: - GoalAssignment, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.GoalAssignment or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a GoalAssignment type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.GoalAssignment or + ~azure.mgmt.resiliencemanagement.types.GoalAssignment or IO[bytes] :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -2987,7 +3051,7 @@ def _update_goal_resources_initial( self, service_group_name: str, goal_assignment_name: str, - body: Union[_models.UpdateGoalResourceRequest, JSON, IO[bytes]], + body: Union[_models.UpdateGoalResourceRequest, _types.UpdateGoalResourceRequest, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -3091,7 +3155,7 @@ def begin_update_goal_resources( self, service_group_name: str, goal_assignment_name: str, - body: JSON, + body: _types.UpdateGoalResourceRequest, *, content_type: str = "application/json", **kwargs: Any @@ -3103,7 +3167,7 @@ def begin_update_goal_resources( :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.UpdateGoalResourceRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3143,7 +3207,7 @@ def begin_update_goal_resources( self, service_group_name: str, goal_assignment_name: str, - body: Union[_models.UpdateGoalResourceRequest, JSON, IO[bytes]], + body: Union[_models.UpdateGoalResourceRequest, _types.UpdateGoalResourceRequest, IO[bytes]], **kwargs: Any ) -> LROPoller[None]: """Action to exclude a resource from goal assignment. @@ -3152,10 +3216,10 @@ def begin_update_goal_resources( :type service_group_name: str :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str - :param body: The content of the action request. Is one of the following types: - UpdateGoalResourceRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.UpdateGoalResourceRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a UpdateGoalResourceRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.UpdateGoalResourceRequest or + ~azure.mgmt.resiliencemanagement.types.UpdateGoalResourceRequest or IO[bytes] :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -3457,13 +3521,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _recommend_capacity_initial( self, service_group_name: str, goal_assignment_name: str, - body: Union[_models.RecommendCapacityRequest, JSON, IO[bytes]], + body: Union[_models.RecommendCapacityRequest, _types.RecommendCapacityRequest, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -3568,7 +3632,7 @@ def begin_recommend_capacity( self, service_group_name: str, goal_assignment_name: str, - body: JSON, + body: _types.RecommendCapacityRequest, *, content_type: str = "application/json", **kwargs: Any @@ -3581,7 +3645,7 @@ def begin_recommend_capacity( :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.RecommendCapacityRequest :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3629,13 +3693,13 @@ def begin_recommend_capacity( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_recommend_capacity( self, service_group_name: str, goal_assignment_name: str, - body: Union[_models.RecommendCapacityRequest, JSON, IO[bytes]], + body: Union[_models.RecommendCapacityRequest, _types.RecommendCapacityRequest, IO[bytes]], **kwargs: Any ) -> LROPoller[None]: """Recommends capacity improvements for resources under the goal assignments scope. Returns @@ -3645,10 +3709,10 @@ def begin_recommend_capacity( :type service_group_name: str :param goal_assignment_name: The name of the GoalAssignment. Required. :type goal_assignment_name: str - :param body: The content of the action request. Is one of the following types: - RecommendCapacityRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.RecommendCapacityRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a RecommendCapacityRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.RecommendCapacityRequest or + ~azure.mgmt.resiliencemanagement.types.RecommendCapacityRequest or IO[bytes] :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -3804,7 +3868,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class GoalTemplatesOperations: +class GoalTemplatesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -3895,7 +3959,7 @@ def _create_or_update_initial( self, service_group_name: str, goal_template_name: str, - resource: Union[_models.GoalTemplate, JSON, IO[bytes]], + resource: Union[_models.GoalTemplate, _types.GoalTemplate, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -3999,7 +4063,7 @@ def begin_create_or_update( self, service_group_name: str, goal_template_name: str, - resource: JSON, + resource: _types.GoalTemplate, *, content_type: str = "application/json", **kwargs: Any @@ -4011,7 +4075,7 @@ def begin_create_or_update( :param goal_template_name: The name of the goalTemplate. Required. :type goal_template_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.GoalTemplate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4053,7 +4117,7 @@ def begin_create_or_update( self, service_group_name: str, goal_template_name: str, - resource: Union[_models.GoalTemplate, JSON, IO[bytes]], + resource: Union[_models.GoalTemplate, _types.GoalTemplate, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.GoalTemplate]: """Create a GoalTemplate. @@ -4062,9 +4126,10 @@ def begin_create_or_update( :type service_group_name: str :param goal_template_name: The name of the goalTemplate. Required. :type goal_template_name: str - :param resource: Resource create parameters. Is one of the following types: GoalTemplate, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.GoalTemplate or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a GoalTemplate type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.GoalTemplate or + ~azure.mgmt.resiliencemanagement.types.GoalTemplate or IO[bytes] :return: An instance of LROPoller that returns GoalTemplate. The GoalTemplate is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.resiliencemanagement.models.GoalTemplate] @@ -4126,7 +4191,7 @@ def _update_initial( self, service_group_name: str, goal_template_name: str, - properties: Union[_models.GoalTemplate, JSON, IO[bytes]], + properties: Union[_models.GoalTemplate, _types.GoalTemplate, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -4230,7 +4295,7 @@ def begin_update( self, service_group_name: str, goal_template_name: str, - properties: JSON, + properties: _types.GoalTemplate, *, content_type: str = "application/json", **kwargs: Any @@ -4242,7 +4307,7 @@ def begin_update( :param goal_template_name: The name of the goalTemplate. Required. :type goal_template_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.GoalTemplate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4282,7 +4347,7 @@ def begin_update( self, service_group_name: str, goal_template_name: str, - properties: Union[_models.GoalTemplate, JSON, IO[bytes]], + properties: Union[_models.GoalTemplate, _types.GoalTemplate, IO[bytes]], **kwargs: Any ) -> LROPoller[None]: """Update a GoalTemplate. @@ -4291,9 +4356,10 @@ def begin_update( :type service_group_name: str :param goal_template_name: The name of the goalTemplate. Required. :type goal_template_name: str - :param properties: The resource properties to be updated. Is one of the following types: - GoalTemplate, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.GoalTemplate or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a GoalTemplate type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.GoalTemplate or + ~azure.mgmt.resiliencemanagement.types.GoalTemplate or IO[bytes] :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -4563,7 +4629,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class GoalResourcesOperations: +class GoalResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -4768,7 +4834,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class RecoveryPlansOperations: +class RecoveryPlansOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -4859,7 +4925,7 @@ def _create_or_update_initial( self, service_group_name: str, recovery_plan_name: str, - resource: Union[_models.RecoveryPlan, JSON, IO[bytes]], + resource: Union[_models.RecoveryPlan, _types.RecoveryPlan, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -4963,7 +5029,7 @@ def begin_create_or_update( self, service_group_name: str, recovery_plan_name: str, - resource: JSON, + resource: _types.RecoveryPlan, *, content_type: str = "application/json", **kwargs: Any @@ -4975,7 +5041,7 @@ def begin_create_or_update( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.RecoveryPlan :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5017,7 +5083,7 @@ def begin_create_or_update( self, service_group_name: str, recovery_plan_name: str, - resource: Union[_models.RecoveryPlan, JSON, IO[bytes]], + resource: Union[_models.RecoveryPlan, _types.RecoveryPlan, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.RecoveryPlan]: """Create a RecoveryPlan. @@ -5026,9 +5092,10 @@ def begin_create_or_update( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param resource: Resource create parameters. Is one of the following types: RecoveryPlan, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.RecoveryPlan or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a RecoveryPlan type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.RecoveryPlan or + ~azure.mgmt.resiliencemanagement.types.RecoveryPlan or IO[bytes] :return: An instance of LROPoller that returns RecoveryPlan. The RecoveryPlan is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.resiliencemanagement.models.RecoveryPlan] @@ -5090,7 +5157,7 @@ def _update_initial( self, service_group_name: str, recovery_plan_name: str, - properties: Union[_models.RecoveryPlan, JSON, IO[bytes]], + properties: Union[_models.RecoveryPlan, _types.RecoveryPlan, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -5192,7 +5259,7 @@ def begin_update( self, service_group_name: str, recovery_plan_name: str, - properties: JSON, + properties: _types.RecoveryPlan, *, content_type: str = "application/json", **kwargs: Any @@ -5204,7 +5271,7 @@ def begin_update( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.RecoveryPlan :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5246,7 +5313,7 @@ def begin_update( self, service_group_name: str, recovery_plan_name: str, - properties: Union[_models.RecoveryPlan, JSON, IO[bytes]], + properties: Union[_models.RecoveryPlan, _types.RecoveryPlan, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.RecoveryPlan]: """Update a RecoveryPlan. @@ -5255,9 +5322,10 @@ def begin_update( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param properties: The resource properties to be updated. Is one of the following types: - RecoveryPlan, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.RecoveryPlan or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a RecoveryPlan type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.RecoveryPlan or + ~azure.mgmt.resiliencemanagement.types.RecoveryPlan or IO[bytes] :return: An instance of LROPoller that returns RecoveryPlan. The RecoveryPlan is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.resiliencemanagement.models.RecoveryPlan] @@ -5533,7 +5601,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class RecoveryPlanActionsOperations: # pylint: disable=too-many-public-methods +class RecoveryPlanActionsOperations: # pylint: disable=docstring-missing-param,too-many-public-methods """ .. warning:: **DO NOT** instantiate this class directly. @@ -5693,7 +5761,7 @@ def _update_resources_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.UpdateRecoveryResourcesRequest, JSON, IO[bytes]], + body: Union[_models.UpdateRecoveryResourcesRequest, _types.UpdateRecoveryResourcesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -5802,7 +5870,7 @@ def begin_update_resources( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.UpdateRecoveryResourcesRequest, *, operation_id: str, content_type: str = "application/json", @@ -5815,7 +5883,7 @@ def begin_update_resources( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.UpdateRecoveryResourcesRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -5864,7 +5932,7 @@ def begin_update_resources( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.UpdateRecoveryResourcesRequest, JSON, IO[bytes]], + body: Union[_models.UpdateRecoveryResourcesRequest, _types.UpdateRecoveryResourcesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -5875,10 +5943,10 @@ def begin_update_resources( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - UpdateRecoveryResourcesRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.UpdateRecoveryResourcesRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a UpdateRecoveryResourcesRequest type + or a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.UpdateRecoveryResourcesRequest or + ~azure.mgmt.resiliencemanagement.types.UpdateRecoveryResourcesRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns UpdateRecoveryResourcesResponse. The @@ -5944,7 +6012,7 @@ def _validate_for_operation_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.ValidateForOperationRequest, JSON, IO[bytes]], + body: Union[_models.ValidateForOperationRequest, _types.ValidateForOperationRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6057,7 +6125,7 @@ def begin_validate_for_operation( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.ValidateForOperationRequest, *, operation_id: str, content_type: str = "application/json", @@ -6071,7 +6139,7 @@ def begin_validate_for_operation( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.ValidateForOperationRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -6121,7 +6189,7 @@ def begin_validate_for_operation( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.ValidateForOperationRequest, JSON, IO[bytes]], + body: Union[_models.ValidateForOperationRequest, _types.ValidateForOperationRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6133,10 +6201,10 @@ def begin_validate_for_operation( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - ValidateForOperationRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.ValidateForOperationRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a ValidateForOperationRequest type or + a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.ValidateForOperationRequest or + ~azure.mgmt.resiliencemanagement.types.ValidateForOperationRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns ArmResponseErrorResponse. The @@ -6206,7 +6274,7 @@ def _validate_for_failover_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6317,7 +6385,7 @@ def begin_validate_for_failover( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.FailoverRequest, *, operation_id: str, content_type: str = "application/json", @@ -6332,7 +6400,7 @@ def begin_validate_for_failover( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.FailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -6383,7 +6451,7 @@ def begin_validate_for_failover( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6396,9 +6464,10 @@ def begin_validate_for_failover( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: FailoverRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a FailoverRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or + ~azure.mgmt.resiliencemanagement.types.FailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns ValidateForRecoveryOperationBaseResponse. The @@ -6595,7 +6664,7 @@ def _validate_for_test_failover_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6706,7 +6775,7 @@ def begin_validate_for_test_failover( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.FailoverRequest, *, operation_id: str, content_type: str = "application/json", @@ -6721,7 +6790,7 @@ def begin_validate_for_test_failover( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.FailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -6772,7 +6841,7 @@ def begin_validate_for_test_failover( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -6785,9 +6854,10 @@ def begin_validate_for_test_failover( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: FailoverRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a FailoverRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or + ~azure.mgmt.resiliencemanagement.types.FailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns ValidateForRecoveryOperationBaseResponse. The @@ -6992,13 +7062,13 @@ def get_long_running_output(pipeline_response): "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _validate_for_reprotect_initial( self, service_group_name: str, recovery_plan_name: str, - body: Optional[Union[_models.ReprotectRequest, JSON, IO[bytes]]] = None, + body: Optional[Union[_models.ReprotectRequest, _types.ReprotectRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -7113,7 +7183,7 @@ def begin_validate_for_reprotect( self, service_group_name: str, recovery_plan_name: str, - body: Optional[JSON] = None, + body: Optional[_types.ReprotectRequest] = None, *, operation_id: str, content_type: str = "application/json", @@ -7128,7 +7198,7 @@ def begin_validate_for_reprotect( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Default value is None. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.ReprotectRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -7187,13 +7257,13 @@ def begin_validate_for_reprotect( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_validate_for_reprotect( self, service_group_name: str, recovery_plan_name: str, - body: Optional[Union[_models.ReprotectRequest, JSON, IO[bytes]]] = None, + body: Optional[Union[_models.ReprotectRequest, _types.ReprotectRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -7206,9 +7276,10 @@ def begin_validate_for_reprotect( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - ReprotectRequest, JSON, IO[bytes] Default value is None. - :type body: ~azure.mgmt.resiliencemanagement.models.ReprotectRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a ReprotectRequest type or a + IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.ReprotectRequest or + ~azure.mgmt.resiliencemanagement.types.ReprotectRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns ValidateForRecoveryOperationBaseResponse. The @@ -7402,7 +7473,7 @@ def _failover_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -7512,7 +7583,7 @@ def begin_failover( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.FailoverRequest, *, operation_id: str, content_type: str = "application/json", @@ -7526,7 +7597,7 @@ def begin_failover( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.FailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -7576,7 +7647,7 @@ def begin_failover( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -7588,9 +7659,10 @@ def begin_failover( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: FailoverRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a FailoverRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or + ~azure.mgmt.resiliencemanagement.types.FailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns RecoveryPlanActionBaseResponse. The @@ -7794,13 +7866,13 @@ def get_long_running_output(pipeline_response): "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _reprotect_initial( self, service_group_name: str, recovery_plan_name: str, - body: Optional[Union[_models.ReprotectRequest, JSON, IO[bytes]]] = None, + body: Optional[Union[_models.ReprotectRequest, _types.ReprotectRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -7914,7 +7986,7 @@ def begin_reprotect( self, service_group_name: str, recovery_plan_name: str, - body: Optional[JSON] = None, + body: Optional[_types.ReprotectRequest] = None, *, operation_id: str, content_type: str = "application/json", @@ -7928,7 +8000,7 @@ def begin_reprotect( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Default value is None. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.ReprotectRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -7986,13 +8058,13 @@ def begin_reprotect( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_reprotect( self, service_group_name: str, recovery_plan_name: str, - body: Optional[Union[_models.ReprotectRequest, JSON, IO[bytes]]] = None, + body: Optional[Union[_models.ReprotectRequest, _types.ReprotectRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -8004,9 +8076,10 @@ def begin_reprotect( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - ReprotectRequest, JSON, IO[bytes] Default value is None. - :type body: ~azure.mgmt.resiliencemanagement.models.ReprotectRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a ReprotectRequest type or a + IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.ReprotectRequest or + ~azure.mgmt.resiliencemanagement.types.ReprotectRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns RecoveryPlanActionBaseResponse. The @@ -8073,7 +8146,7 @@ def _test_failover_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -8183,7 +8256,7 @@ def begin_test_failover( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.FailoverRequest, *, operation_id: str, content_type: str = "application/json", @@ -8197,7 +8270,7 @@ def begin_test_failover( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.FailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -8247,7 +8320,7 @@ def begin_test_failover( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.FailoverRequest, JSON, IO[bytes]], + body: Union[_models.FailoverRequest, _types.FailoverRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -8259,9 +8332,10 @@ def begin_test_failover( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: FailoverRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a FailoverRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.FailoverRequest or + ~azure.mgmt.resiliencemanagement.types.FailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns RecoveryPlanActionBaseResponse. The @@ -8327,7 +8401,7 @@ def _test_failover_cleanup_initial( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.TestFailoverCleanupRequest, JSON, IO[bytes]], + body: Union[_models.TestFailoverCleanupRequest, _types.TestFailoverCleanupRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -8437,7 +8511,7 @@ def begin_test_failover_cleanup( self, service_group_name: str, recovery_plan_name: str, - body: JSON, + body: _types.TestFailoverCleanupRequest, *, operation_id: str, content_type: str = "application/json", @@ -8451,7 +8525,7 @@ def begin_test_failover_cleanup( :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.TestFailoverCleanupRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -8501,7 +8575,7 @@ def begin_test_failover_cleanup( self, service_group_name: str, recovery_plan_name: str, - body: Union[_models.TestFailoverCleanupRequest, JSON, IO[bytes]], + body: Union[_models.TestFailoverCleanupRequest, _types.TestFailoverCleanupRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -8513,10 +8587,10 @@ def begin_test_failover_cleanup( :type service_group_name: str :param recovery_plan_name: The name of the recovery orchestration plan. Required. :type recovery_plan_name: str - :param body: The content of the action request. Is one of the following types: - TestFailoverCleanupRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.TestFailoverCleanupRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a TestFailoverCleanupRequest type or + a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.TestFailoverCleanupRequest or + ~azure.mgmt.resiliencemanagement.types.TestFailoverCleanupRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns RecoveryPlanActionBaseResponse. The @@ -8579,7 +8653,7 @@ def get_long_running_output(pipeline_response): ) -class RecoveryResourcesOperations: +class RecoveryResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -8772,7 +8846,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class RecoveryJobsOperations: +class RecoveryJobsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -8974,14 +9048,14 @@ def get_next(next_link=None): "content_type", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _cancel_initial( self, service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: Union[_models.RecoveryActionRequest, JSON, IO[bytes]], + body: Union[_models.RecoveryActionRequest, _types.RecoveryActionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -9098,7 +9172,7 @@ def begin_cancel( service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: JSON, + body: _types.RecoveryActionRequest, *, operation_id: str, content_type: str = "application/json", @@ -9113,7 +9187,7 @@ def begin_cancel( :param recovery_job_name: The unique name (GUID) of the recovery job. Required. :type recovery_job_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.RecoveryActionRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -9173,14 +9247,14 @@ def begin_cancel( "content_type", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_cancel( self, service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: Union[_models.RecoveryActionRequest, JSON, IO[bytes]], + body: Union[_models.RecoveryActionRequest, _types.RecoveryActionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -9193,9 +9267,10 @@ def begin_cancel( :type recovery_plan_name: str :param recovery_job_name: The unique name (GUID) of the recovery job. Required. :type recovery_job_name: str - :param body: The content of the action request. Is one of the following types: - RecoveryActionRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.RecoveryActionRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a RecoveryActionRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.RecoveryActionRequest or + ~azure.mgmt.resiliencemanagement.types.RecoveryActionRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns ArmResponseErrorResponse. The @@ -9274,14 +9349,14 @@ def get_long_running_output(pipeline_response): "content_type", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _resume_initial( self, service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: Union[_models.RecoveryActionRequest, JSON, IO[bytes]], + body: Union[_models.RecoveryActionRequest, _types.RecoveryActionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -9399,7 +9474,7 @@ def begin_resume( service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: JSON, + body: _types.RecoveryActionRequest, *, operation_id: str, content_type: str = "application/json", @@ -9415,7 +9490,7 @@ def begin_resume( :param recovery_job_name: The unique name (GUID) of the recovery job. Required. :type recovery_job_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.RecoveryActionRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -9476,14 +9551,14 @@ def begin_resume( "content_type", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_resume( self, service_group_name: str, recovery_plan_name: str, recovery_job_name: str, - body: Union[_models.RecoveryActionRequest, JSON, IO[bytes]], + body: Union[_models.RecoveryActionRequest, _types.RecoveryActionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -9497,9 +9572,10 @@ def begin_resume( :type recovery_plan_name: str :param recovery_job_name: The unique name (GUID) of the recovery job. Required. :type recovery_job_name: str - :param body: The content of the action request. Is one of the following types: - RecoveryActionRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.RecoveryActionRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a RecoveryActionRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.RecoveryActionRequest or + ~azure.mgmt.resiliencemanagement.types.RecoveryActionRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns ArmResponseErrorResponse. The @@ -9720,7 +9796,7 @@ def get_long_running_output(pipeline_response): ) -class RecoveryJobResourcesOperations: +class RecoveryJobResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -9926,7 +10002,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class DrillsOperations: +class DrillsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -10014,7 +10090,11 @@ def get(self, service_group_name: str, drill_name: str, **kwargs: Any) -> _model return deserialized # type: ignore def _create_initial( - self, service_group_name: str, drill_name: str, resource: Union[_models.Drill, JSON, IO[bytes]], **kwargs: Any + self, + service_group_name: str, + drill_name: str, + resource: Union[_models.Drill, _types.Drill, IO[bytes]], + **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -10117,7 +10197,7 @@ def begin_create( self, service_group_name: str, drill_name: str, - resource: JSON, + resource: _types.Drill, *, content_type: str = "application/json", **kwargs: Any @@ -10129,7 +10209,7 @@ def begin_create( :param drill_name: The name of the Drill. Required. :type drill_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.Drill :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -10168,7 +10248,11 @@ def begin_create( @distributed_trace def begin_create( - self, service_group_name: str, drill_name: str, resource: Union[_models.Drill, JSON, IO[bytes]], **kwargs: Any + self, + service_group_name: str, + drill_name: str, + resource: Union[_models.Drill, _types.Drill, IO[bytes]], + **kwargs: Any ) -> LROPoller[_models.Drill]: """Create a Drill. @@ -10176,9 +10260,10 @@ def begin_create( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param resource: Resource create parameters. Is one of the following types: Drill, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.Drill or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a Drill type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.Drill or + ~azure.mgmt.resiliencemanagement.types.Drill or IO[bytes] :return: An instance of LROPoller that returns Drill. The Drill is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.resiliencemanagement.models.Drill] @@ -10240,7 +10325,7 @@ def _update_initial( self, service_group_name: str, drill_name: str, - properties: Union[_models.DrillUpdate, JSON, IO[bytes]], + properties: Union[_models.DrillUpdate, _types.DrillUpdate, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -10344,7 +10429,7 @@ def begin_update( self, service_group_name: str, drill_name: str, - properties: JSON, + properties: _types.DrillUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -10356,7 +10441,7 @@ def begin_update( :param drill_name: The name of the Drill. Required. :type drill_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.DrillUpdate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -10396,7 +10481,7 @@ def begin_update( self, service_group_name: str, drill_name: str, - properties: Union[_models.DrillUpdate, JSON, IO[bytes]], + properties: Union[_models.DrillUpdate, _types.DrillUpdate, IO[bytes]], **kwargs: Any ) -> LROPoller[None]: """Update a Drill. @@ -10405,9 +10490,10 @@ def begin_update( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param properties: The resource properties to be updated. Is one of the following types: - DrillUpdate, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.DrillUpdate or JSON or IO[bytes] + :param properties: The resource properties to be updated. Is either a DrillUpdate type or a + IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.DrillUpdate or + ~azure.mgmt.resiliencemanagement.types.DrillUpdate or IO[bytes] :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: @@ -10688,13 +10774,13 @@ def get_next(next_link=None): "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _validate_for_execution_initial( self, service_group_name: str, drill_name: str, - body: Union[_models.ValidateForExecutionRequest, JSON, IO[bytes]], + body: Union[_models.ValidateForExecutionRequest, _types.ValidateForExecutionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -10804,7 +10890,7 @@ def begin_validate_for_execution( self, service_group_name: str, drill_name: str, - body: JSON, + body: _types.ValidateForExecutionRequest, *, operation_id: str, content_type: str = "application/json", @@ -10817,7 +10903,7 @@ def begin_validate_for_execution( :param drill_name: The name of the Drill. Required. :type drill_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.ValidateForExecutionRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -10870,13 +10956,13 @@ def begin_validate_for_execution( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_validate_for_execution( self, service_group_name: str, drill_name: str, - body: Union[_models.ValidateForExecutionRequest, JSON, IO[bytes]], + body: Union[_models.ValidateForExecutionRequest, _types.ValidateForExecutionRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -10887,10 +10973,10 @@ def begin_validate_for_execution( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param body: The content of the action request. Is one of the following types: - ValidateForExecutionRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.ValidateForExecutionRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a ValidateForExecutionRequest type or + a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.ValidateForExecutionRequest or + ~azure.mgmt.resiliencemanagement.types.ValidateForExecutionRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns None @@ -10949,7 +11035,7 @@ def _start_initial( self, service_group_name: str, drill_name: str, - body: Union[_models.DrillStartRequest, JSON, IO[bytes]], + body: Union[_models.DrillStartRequest, _types.DrillStartRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -11059,7 +11145,7 @@ def begin_start( self, service_group_name: str, drill_name: str, - body: JSON, + body: _types.DrillStartRequest, *, operation_id: str, content_type: str = "application/json", @@ -11072,7 +11158,7 @@ def begin_start( :param drill_name: The name of the Drill. Required. :type drill_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.DrillStartRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -11117,7 +11203,7 @@ def begin_start( self, service_group_name: str, drill_name: str, - body: Union[_models.DrillStartRequest, JSON, IO[bytes]], + body: Union[_models.DrillStartRequest, _types.DrillStartRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -11128,9 +11214,10 @@ def begin_start( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param body: The content of the action request. Is one of the following types: - DrillStartRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.DrillStartRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a DrillStartRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillStartRequest or + ~azure.mgmt.resiliencemanagement.types.DrillStartRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns None @@ -11189,7 +11276,7 @@ def _end_initial( self, service_group_name: str, drill_name: str, - body: Union[_models.DrillEndRequest, JSON, IO[bytes]], + body: Union[_models.DrillEndRequest, _types.DrillEndRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -11299,7 +11386,7 @@ def begin_end( self, service_group_name: str, drill_name: str, - body: JSON, + body: _types.DrillEndRequest, *, operation_id: str, content_type: str = "application/json", @@ -11312,7 +11399,7 @@ def begin_end( :param drill_name: The name of the Drill. Required. :type drill_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.DrillEndRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -11357,7 +11444,7 @@ def begin_end( self, service_group_name: str, drill_name: str, - body: Union[_models.DrillEndRequest, JSON, IO[bytes]], + body: Union[_models.DrillEndRequest, _types.DrillEndRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -11368,9 +11455,10 @@ def begin_end( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param body: The content of the action request. Is one of the following types: DrillEndRequest, - JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.DrillEndRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a DrillEndRequest type or a IO[bytes] + type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillEndRequest or + ~azure.mgmt.resiliencemanagement.types.DrillEndRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns None @@ -11430,13 +11518,13 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- params_added_on={ "2026-04-01-preview": ["service_group_name", "api_version", "operation_id", "drill_name", "content_type"] }, - api_versions_list=["2026-04-01-preview"], + api_versions_list=["2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _add_or_update_resources_initial( self, service_group_name: str, drill_name: str, - body: Union[_models.AddOrUpdateResourcesRequest, JSON, IO[bytes]], + body: Union[_models.AddOrUpdateResourcesRequest, _types.AddOrUpdateResourcesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -11546,7 +11634,7 @@ def begin_add_or_update_resources( self, service_group_name: str, drill_name: str, - body: JSON, + body: _types.AddOrUpdateResourcesRequest, *, operation_id: str, content_type: str = "application/json", @@ -11559,7 +11647,7 @@ def begin_add_or_update_resources( :param drill_name: The name of the Drill. Required. :type drill_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.AddOrUpdateResourcesRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -11605,13 +11693,13 @@ def begin_add_or_update_resources( params_added_on={ "2026-04-01-preview": ["service_group_name", "api_version", "operation_id", "drill_name", "content_type"] }, - api_versions_list=["2026-04-01-preview"], + api_versions_list=["2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_add_or_update_resources( self, service_group_name: str, drill_name: str, - body: Union[_models.AddOrUpdateResourcesRequest, JSON, IO[bytes]], + body: Union[_models.AddOrUpdateResourcesRequest, _types.AddOrUpdateResourcesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -11622,10 +11710,10 @@ def begin_add_or_update_resources( :type service_group_name: str :param drill_name: The name of the Drill. Required. :type drill_name: str - :param body: The content of the action request. Is one of the following types: - AddOrUpdateResourcesRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.AddOrUpdateResourcesRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a AddOrUpdateResourcesRequest type or + a IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.AddOrUpdateResourcesRequest or + ~azure.mgmt.resiliencemanagement.types.AddOrUpdateResourcesRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns None @@ -11683,7 +11771,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- @api_version_validation( method_added_on="2026-03-01-preview", params_added_on={"2026-03-01-preview": ["service_group_name", "api_version", "operation_id", "drill_name"]}, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _resync_readiness_check_initial( self, service_group_name: str, drill_name: str, *, operation_id: str, **kwargs: Any @@ -11753,7 +11841,7 @@ def _resync_readiness_check_initial( @api_version_validation( method_added_on="2026-03-01-preview", params_added_on={"2026-03-01-preview": ["service_group_name", "api_version", "operation_id", "drill_name"]}, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_resync_readiness_check( self, service_group_name: str, drill_name: str, *, operation_id: str, **kwargs: Any @@ -11816,7 +11904,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore -class DrillResourcesOperations: +class DrillResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -12021,7 +12109,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class DrillRunsOperations: +class DrillRunsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -12209,12 +12297,27 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) + @api_version_validation( + method_added_on="2026-06-01-preview", + params_added_on={ + "2026-06-01-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-06-01-preview", "2026-08-31-preview"], + ) def _fail_over_initial( self, service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.DrillRunFailoverRequest, JSON, IO[bytes]], + body: Optional[Union[_models.DrillRunFailoverRequest, _types.DrillRunFailoverRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -12231,14 +12334,18 @@ def _fail_over_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = content_type or "application/json" if body else None _content = None if isinstance(body, (IOBase, bytes)): _content = body else: - _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if body is not None: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None _request = build_drill_runs_fail_over_request( service_group_name=service_group_name, @@ -12297,7 +12404,7 @@ def begin_fail_over( service_group_name: str, drill_name: str, drill_run_name: str, - body: _models.DrillRunFailoverRequest, + body: Optional[_models.DrillRunFailoverRequest] = None, *, operation_id: str, content_type: str = "application/json", @@ -12311,7 +12418,7 @@ def begin_fail_over( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Required. + :param body: The content of the action request. Default value is None. :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunFailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str @@ -12329,7 +12436,7 @@ def begin_fail_over( service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: Optional[_types.DrillRunFailoverRequest] = None, *, operation_id: str, content_type: str = "application/json", @@ -12343,8 +12450,8 @@ def begin_fail_over( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Required. - :type body: JSON + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.types.DrillRunFailoverRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -12361,7 +12468,7 @@ def begin_fail_over( service_group_name: str, drill_name: str, drill_run_name: str, - body: IO[bytes], + body: Optional[IO[bytes]] = None, *, operation_id: str, content_type: str = "application/json", @@ -12375,7 +12482,7 @@ def begin_fail_over( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Required. + :param body: The content of the action request. Default value is None. :type body: IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str @@ -12388,12 +12495,27 @@ def begin_fail_over( """ @distributed_trace + @api_version_validation( + method_added_on="2026-06-01-preview", + params_added_on={ + "2026-06-01-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-06-01-preview", "2026-08-31-preview"], + ) def begin_fail_over( self, service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.DrillRunFailoverRequest, JSON, IO[bytes]], + body: Optional[Union[_models.DrillRunFailoverRequest, _types.DrillRunFailoverRequest, IO[bytes]]] = None, *, operation_id: str, **kwargs: Any @@ -12406,10 +12528,10 @@ def begin_fail_over( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Is one of the following types: - DrillRunFailoverRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunFailoverRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a DrillRunFailoverRequest type or a + IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunFailoverRequest or + ~azure.mgmt.resiliencemanagement.types.DrillRunFailoverRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns None @@ -12420,6 +12542,7 @@ def begin_fail_over( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -12465,8 +12588,30 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- ) return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + @api_version_validation( + method_added_on="2026-06-01-preview", + params_added_on={ + "2026-06-01-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-06-01-preview", "2026-08-31-preview"], + ) def _reprotect_initial( - self, service_group_name: str, drill_name: str, drill_run_name: str, *, operation_id: str, **kwargs: Any + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[Union[_models.DrillRunReprotectRequest, _types.DrillRunReprotectRequest, IO[bytes]]] = None, + *, + operation_id: str, + **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -12476,17 +12621,31 @@ def _reprotect_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + content_type = content_type or "application/json" if body else None + _content = None + if isinstance(body, (IOBase, bytes)): + _content = body + else: + if body is not None: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + _request = build_drill_runs_reprotect_request( service_group_name=service_group_name, drill_name=drill_name, drill_run_name=drill_run_name, operation_id=operation_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -12530,9 +12689,17 @@ def _reprotect_initial( return deserialized # type: ignore - @distributed_trace + @overload def begin_reprotect( - self, service_group_name: str, drill_name: str, drill_run_name: str, *, operation_id: str, **kwargs: Any + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[_models.DrillRunReprotectRequest] = None, + *, + operation_id: str, + content_type: str = "application/json", + **kwargs: Any ) -> LROPoller[None]: """This initiates a new Reprotect operation on this Drill Run. @@ -12542,88 +12709,206 @@ def begin_reprotect( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunReprotectRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str :return: An instance of LROPoller that returns None :rtype: ~azure.core.polling.LROPoller[None] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[None] = kwargs.pop("cls", None) - polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) - lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) - cont_token: Optional[str] = kwargs.pop("continuation_token", None) - if cont_token is None: - raw_result = self._reprotect_initial( - service_group_name=service_group_name, - drill_name=drill_name, - drill_run_name=drill_run_name, - operation_id=operation_id, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs - ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements - if cls: - return cls(pipeline_response, None, {}) # type: ignore - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[None].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore - def _add_notes_initial( + @overload + def begin_reprotect( self, service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.DrillRunAddNotesRequest, JSON, IO[bytes]], + body: Optional[_types.DrillRunReprotectRequest] = None, *, operation_id: str, + content_type: str = "application/json", **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} + ) -> LROPoller[None]: + """This initiates a new Reprotect operation on this Drill Run. - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.types.DrillRunReprotectRequest + :keyword operation_id: A GUID that represents the Long Running OperationId. Required. + :paramtype operation_id: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ - content_type = content_type or "application/json" - _content = None - if isinstance(body, (IOBase, bytes)): - _content = body - else: - _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + @overload + def begin_reprotect( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[IO[bytes]] = None, + *, + operation_id: str, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[None]: + """This initiates a new Reprotect operation on this Drill Run. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: IO[bytes] + :keyword operation_id: A GUID that represents the Long Running OperationId. Required. + :paramtype operation_id: str + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + @api_version_validation( + method_added_on="2026-06-01-preview", + params_added_on={ + "2026-06-01-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-06-01-preview", "2026-08-31-preview"], + ) + def begin_reprotect( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[Union[_models.DrillRunReprotectRequest, _types.DrillRunReprotectRequest, IO[bytes]]] = None, + *, + operation_id: str, + **kwargs: Any + ) -> LROPoller[None]: + """This initiates a new Reprotect operation on this Drill Run. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Is either a DrillRunReprotectRequest type or a + IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunReprotectRequest or + ~azure.mgmt.resiliencemanagement.types.DrillRunReprotectRequest or IO[bytes] + :keyword operation_id: A GUID that represents the Long Running OperationId. Required. + :paramtype operation_id: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._reprotect_initial( + service_group_name=service_group_name, + drill_name=drill_name, + drill_run_name=drill_run_name, + body=body, + operation_id=operation_id, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + def _add_notes_initial( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Union[_models.DrillRunAddNotesRequest, _types.DrillRunAddNotesRequest, IO[bytes]], + *, + operation_id: str, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(body, (IOBase, bytes)): + _content = body + else: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore _request = build_drill_runs_add_notes_request( service_group_name=service_group_name, @@ -12714,7 +12999,7 @@ def begin_add_notes( service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: _types.DrillRunAddNotesRequest, *, operation_id: str, content_type: str = "application/json", @@ -12729,7 +13014,7 @@ def begin_add_notes( :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.DrillRunAddNotesRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -12778,7 +13063,7 @@ def begin_add_notes( service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.DrillRunAddNotesRequest, JSON, IO[bytes]], + body: Union[_models.DrillRunAddNotesRequest, _types.DrillRunAddNotesRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -12791,10 +13076,10 @@ def begin_add_notes( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Is one of the following types: - DrillRunAddNotesRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunAddNotesRequest or JSON or - IO[bytes] + :param body: The content of the action request. Is either a DrillRunAddNotesRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.DrillRunAddNotesRequest or + ~azure.mgmt.resiliencemanagement.types.DrillRunAddNotesRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns None @@ -12985,7 +13270,7 @@ def _mark_as_complete_initial( service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.MarkAsCompleteRequest, JSON, IO[bytes]], + body: Union[_models.MarkAsCompleteRequest, _types.MarkAsCompleteRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -13100,7 +13385,7 @@ def begin_mark_as_complete( service_group_name: str, drill_name: str, drill_run_name: str, - body: JSON, + body: _types.MarkAsCompleteRequest, *, operation_id: str, content_type: str = "application/json", @@ -13115,7 +13400,7 @@ def begin_mark_as_complete( :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str :param body: The content of the action request. Required. - :type body: JSON + :type body: ~azure.mgmt.resiliencemanagement.types.MarkAsCompleteRequest :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. @@ -13164,7 +13449,7 @@ def begin_mark_as_complete( service_group_name: str, drill_name: str, drill_run_name: str, - body: Union[_models.MarkAsCompleteRequest, JSON, IO[bytes]], + body: Union[_models.MarkAsCompleteRequest, _types.MarkAsCompleteRequest, IO[bytes]], *, operation_id: str, **kwargs: Any @@ -13177,9 +13462,10 @@ def begin_mark_as_complete( :type drill_name: str :param drill_run_name: The name of the DrillRun (GUID). Required. :type drill_run_name: str - :param body: The content of the action request. Is one of the following types: - MarkAsCompleteRequest, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.resiliencemanagement.models.MarkAsCompleteRequest or JSON or IO[bytes] + :param body: The content of the action request. Is either a MarkAsCompleteRequest type or a + IO[bytes] type. Required. + :type body: ~azure.mgmt.resiliencemanagement.models.MarkAsCompleteRequest or + ~azure.mgmt.resiliencemanagement.types.MarkAsCompleteRequest or IO[bytes] :keyword operation_id: A GUID that represents the Long Running OperationId. Required. :paramtype operation_id: str :return: An instance of LROPoller that returns None @@ -13235,8 +13521,375 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- ) return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + @api_version_validation( + method_added_on="2026-08-31-preview", + params_added_on={ + "2026-08-31-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "accept", + ] + }, + api_versions_list=["2026-08-31-preview"], + ) + def _generate_report_initial( + self, service_group_name: str, drill_name: str, drill_run_name: str, *, operation_id: str, **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_drill_runs_generate_report_request( + service_group_name=service_group_name, + drill_name=drill_name, + drill_run_name=drill_run_name, + operation_id=operation_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + @api_version_validation( + method_added_on="2026-08-31-preview", + params_added_on={ + "2026-08-31-preview": [ + "service_group_name", + "api_version", + "operation_id", + "drill_name", + "drill_run_name", + "accept", + ] + }, + api_versions_list=["2026-08-31-preview"], + ) + def begin_generate_report( + self, service_group_name: str, drill_name: str, drill_run_name: str, *, operation_id: str, **kwargs: Any + ) -> LROPoller[None]: + """This generates, or regenerates, the report for this Drill Run. The action is idempotent and is + safe to call at any time: a call that arrives while a generation is already running joins it, + and a call made after a failed attempt retries it. A report that has been finalized is never + regenerated. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :keyword operation_id: A GUID that represents the Long Running OperationId. Required. + :paramtype operation_id: str + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._generate_report_initial( + service_group_name=service_group_name, + drill_name=drill_name, + drill_run_name=drill_run_name, + operation_id=operation_id, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + @overload + def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[_models.ListReportDownloadUrlRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.ListReportDownloadUrlResponse: + """This returns a short-lived, read-only URL to download the report for this Drill Run. The URL + expires at the returned expiryTimestamp and grants access to that single report only. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: ListReportDownloadUrlResponse. The ListReportDownloadUrlResponse is compatible with + MutableMapping + :rtype: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[_types.ListReportDownloadUrlRequest] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.ListReportDownloadUrlResponse: + """This returns a short-lived, read-only URL to download the report for this Drill Run. The URL + expires at the returned expiryTimestamp and grants access to that single report only. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.types.ListReportDownloadUrlRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: ListReportDownloadUrlResponse. The ListReportDownloadUrlResponse is compatible with + MutableMapping + :rtype: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.ListReportDownloadUrlResponse: + """This returns a short-lived, read-only URL to download the report for this Drill Run. The URL + expires at the returned expiryTimestamp and grants access to that single report only. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Default value is None. + :type body: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: ListReportDownloadUrlResponse. The ListReportDownloadUrlResponse is compatible with + MutableMapping + :rtype: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + @api_version_validation( + method_added_on="2026-08-31-preview", + params_added_on={ + "2026-08-31-preview": [ + "service_group_name", + "api_version", + "drill_name", + "drill_run_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-08-31-preview"], + ) + def list_report_download_url( + self, + service_group_name: str, + drill_name: str, + drill_run_name: str, + body: Optional[ + Union[_models.ListReportDownloadUrlRequest, _types.ListReportDownloadUrlRequest, IO[bytes]] + ] = None, + **kwargs: Any + ) -> _models.ListReportDownloadUrlResponse: + """This returns a short-lived, read-only URL to download the report for this Drill Run. The URL + expires at the returned expiryTimestamp and grants access to that single report only. + + :param service_group_name: The name of the service group. Required. + :type service_group_name: str + :param drill_name: The name of the Drill. Required. + :type drill_name: str + :param drill_run_name: The name of the DrillRun (GUID). Required. + :type drill_run_name: str + :param body: The content of the action request. Is either a ListReportDownloadUrlRequest type + or a IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlRequest or + ~azure.mgmt.resiliencemanagement.types.ListReportDownloadUrlRequest or IO[bytes] + :return: ListReportDownloadUrlResponse. The ListReportDownloadUrlResponse is compatible with + MutableMapping + :rtype: ~azure.mgmt.resiliencemanagement.models.ListReportDownloadUrlResponse + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} -class DrillRunResourcesOperations: + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None + cls: ClsType[_models.ListReportDownloadUrlResponse] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if body else None + _content = None + if isinstance(body, (IOBase, bytes)): + _content = body + else: + if body is not None: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_drill_runs_list_report_download_url_request( + service_group_name=service_group_name, + drill_name=drill_name, + drill_run_name=drill_run_name, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.ListReportDownloadUrlResponse, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + +class DrillRunResourcesOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -13435,7 +14088,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class UnifiedResilienceItemsOperations: +class UnifiedResilienceItemsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -13629,7 +14282,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class UsagePlansOperations: +class UsagePlansOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -13654,7 +14307,7 @@ def __init__(self, *args, **kwargs) -> None: params_added_on={ "2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "usage_plan_name", "accept"] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def get(self, resource_group_name: str, usage_plan_name: str, **kwargs: Any) -> _models.UsagePlan: """Get a UsagePlan. @@ -13737,13 +14390,13 @@ def get(self, resource_group_name: str, usage_plan_name: str, **kwargs: Any) -> "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _create_or_update_initial( self, resource_group_name: str, usage_plan_name: str, - resource: Union[_models.UsagePlan, JSON, IO[bytes]], + resource: Union[_models.UsagePlan, _types.UsagePlan, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -13849,7 +14502,7 @@ def begin_create_or_update( self, resource_group_name: str, usage_plan_name: str, - resource: JSON, + resource: _types.UsagePlan, *, content_type: str = "application/json", **kwargs: Any @@ -13862,7 +14515,7 @@ def begin_create_or_update( :param usage_plan_name: The name of the usage plan. Required. :type usage_plan_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.UsagePlan :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -13913,13 +14566,13 @@ def begin_create_or_update( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_create_or_update( self, resource_group_name: str, usage_plan_name: str, - resource: Union[_models.UsagePlan, JSON, IO[bytes]], + resource: Union[_models.UsagePlan, _types.UsagePlan, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.UsagePlan]: """Create a UsagePlan. @@ -13929,9 +14582,10 @@ def begin_create_or_update( :type resource_group_name: str :param usage_plan_name: The name of the usage plan. Required. :type usage_plan_name: str - :param resource: Resource create parameters. Is one of the following types: UsagePlan, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.UsagePlan or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a UsagePlan type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.UsagePlan or + ~azure.mgmt.resiliencemanagement.types.UsagePlan or IO[bytes] :return: An instance of LROPoller that returns UsagePlan. The UsagePlan is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.resiliencemanagement.models.UsagePlan] @@ -14001,13 +14655,13 @@ def get_long_running_output(pipeline_response): "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _update_initial( self, resource_group_name: str, usage_plan_name: str, - properties: Union[_models.UsagePlanTagsUpdate, JSON, IO[bytes]], + properties: Union[_models.UsagePlanTagsUpdate, _types.UsagePlanTagsUpdate, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -14111,7 +14765,7 @@ def begin_update( self, resource_group_name: str, usage_plan_name: str, - properties: JSON, + properties: _types.UsagePlanTagsUpdate, *, content_type: str = "application/json", **kwargs: Any @@ -14124,7 +14778,7 @@ def begin_update( :param usage_plan_name: The name of the usage plan. Required. :type usage_plan_name: str :param properties: The resource properties to be updated. Required. - :type properties: JSON + :type properties: ~azure.mgmt.resiliencemanagement.types.UsagePlanTagsUpdate :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -14175,13 +14829,13 @@ def begin_update( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_update( self, resource_group_name: str, usage_plan_name: str, - properties: Union[_models.UsagePlanTagsUpdate, JSON, IO[bytes]], + properties: Union[_models.UsagePlanTagsUpdate, _types.UsagePlanTagsUpdate, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.UsagePlan]: """Update a UsagePlan. @@ -14191,10 +14845,10 @@ def begin_update( :type resource_group_name: str :param usage_plan_name: The name of the usage plan. Required. :type usage_plan_name: str - :param properties: The resource properties to be updated. Is one of the following types: - UsagePlanTagsUpdate, JSON, IO[bytes] Required. - :type properties: ~azure.mgmt.resiliencemanagement.models.UsagePlanTagsUpdate or JSON or - IO[bytes] + :param properties: The resource properties to be updated. Is either a UsagePlanTagsUpdate type + or a IO[bytes] type. Required. + :type properties: ~azure.mgmt.resiliencemanagement.models.UsagePlanTagsUpdate or + ~azure.mgmt.resiliencemanagement.types.UsagePlanTagsUpdate or IO[bytes] :return: An instance of LROPoller that returns UsagePlan. The UsagePlan is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.resiliencemanagement.models.UsagePlan] @@ -14257,7 +14911,7 @@ def get_long_running_output(pipeline_response): params_added_on={ "2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "usage_plan_name"] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _delete_initial(self, resource_group_name: str, usage_plan_name: str, **kwargs: Any) -> Iterator[bytes]: error_map: MutableMapping = { @@ -14324,7 +14978,7 @@ def _delete_initial(self, resource_group_name: str, usage_plan_name: str, **kwar params_added_on={ "2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "usage_plan_name"] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_delete(self, resource_group_name: str, usage_plan_name: str, **kwargs: Any) -> LROPoller[None]: """Delete a UsagePlan. @@ -14386,7 +15040,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- @api_version_validation( method_added_on="2026-03-01-preview", params_added_on={"2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "accept"]}, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.UsagePlan"]: """List UsagePlan resources by resource group. @@ -14488,7 +15142,7 @@ def get_next(next_link=None): @api_version_validation( method_added_on="2026-03-01-preview", params_added_on={"2026-03-01-preview": ["api_version", "subscription_id", "accept"]}, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def list_by_subscription(self, **kwargs: Any) -> ItemPaged["_models.UsagePlan"]: """List UsagePlan resources by subscription ID. @@ -14583,7 +15237,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class EnrollmentsOperations: +class EnrollmentsOperations: # pylint: disable=docstring-missing-param """ .. warning:: **DO NOT** instantiate this class directly. @@ -14615,7 +15269,7 @@ def __init__(self, *args, **kwargs) -> None: "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def get( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, **kwargs: Any @@ -14704,14 +15358,14 @@ def get( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _create_or_update_initial( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, - resource: Union[_models.Enrollment, JSON, IO[bytes]], + resource: Union[_models.Enrollment, _types.Enrollment, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -14822,7 +15476,7 @@ def begin_create_or_update( resource_group_name: str, usage_plan_name: str, enrollment_name: str, - resource: JSON, + resource: _types.Enrollment, *, content_type: str = "application/json", **kwargs: Any @@ -14837,7 +15491,7 @@ def begin_create_or_update( :param enrollment_name: The name of the enrollment. Required. :type enrollment_name: str :param resource: Resource create parameters. Required. - :type resource: JSON + :type resource: ~azure.mgmt.resiliencemanagement.types.Enrollment :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -14892,14 +15546,14 @@ def begin_create_or_update( "accept", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_create_or_update( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, - resource: Union[_models.Enrollment, JSON, IO[bytes]], + resource: Union[_models.Enrollment, _types.Enrollment, IO[bytes]], **kwargs: Any ) -> LROPoller[_models.Enrollment]: """Create or update an Enrollment. @@ -14911,9 +15565,10 @@ def begin_create_or_update( :type usage_plan_name: str :param enrollment_name: The name of the enrollment. Required. :type enrollment_name: str - :param resource: Resource create parameters. Is one of the following types: Enrollment, JSON, - IO[bytes] Required. - :type resource: ~azure.mgmt.resiliencemanagement.models.Enrollment or JSON or IO[bytes] + :param resource: Resource create parameters. Is either a Enrollment type or a IO[bytes] type. + Required. + :type resource: ~azure.mgmt.resiliencemanagement.models.Enrollment or + ~azure.mgmt.resiliencemanagement.types.Enrollment or IO[bytes] :return: An instance of LROPoller that returns Enrollment. The Enrollment is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.resiliencemanagement.models.Enrollment] @@ -14983,7 +15638,7 @@ def get_long_running_output(pipeline_response): "enrollment_name", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def _delete_initial( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, **kwargs: Any @@ -15059,7 +15714,7 @@ def _delete_initial( "enrollment_name", ] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def begin_delete( self, resource_group_name: str, usage_plan_name: str, enrollment_name: str, **kwargs: Any @@ -15128,7 +15783,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- params_added_on={ "2026-03-01-preview": ["api_version", "subscription_id", "resource_group_name", "usage_plan_name", "accept"] }, - api_versions_list=["2026-03-01-preview", "2026-04-01-preview"], + api_versions_list=["2026-03-01-preview", "2026-04-01-preview", "2026-06-01-preview", "2026-08-31-preview"], ) def list(self, resource_group_name: str, usage_plan_name: str, **kwargs: Any) -> ItemPaged["_models.Enrollment"]: """List Enrollments by Usage Plan. diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/operations/_patch.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/operations/_patch.py index 87676c65a8f0..ea765788358a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/operations/_patch.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/operations/_patch.py @@ -8,7 +8,6 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ - __all__: list[str] = [] # Add all objects you want publicly available to users at this package level diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/types.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/types.py new file mode 100644 index 000000000000..86ffd0c1ee29 --- /dev/null +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/azure/mgmt/resiliencemanagement/types.py @@ -0,0 +1,2406 @@ +# pylint: disable=line-too-long,useless-suppression,too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Literal, Optional, TYPE_CHECKING, Union +from typing_extensions import Required, TypedDict + +from .models._enums import DrillType, RecoveryGroupActionType, ResourceProtectionSolutionType + +if TYPE_CHECKING: + from .models import ( + AttestationState, + AutoFailover, + ConfirmationStatus, + CreatedByType, + DrillAttestation, + DrillMode, + DrillReportFormat, + DrillRunSubtasks, + DrillRunTasks, + ExclusionReason, + ExclusionState, + ExecutionReadinessState, + ExecutionState, + ExtensionObjectState, + FailoverDirectionTypes, + FailoverState, + ForceInclusionAndUpdate, + GoalAssignmentType, + GoalType, + InitialConfig, + JobStatus, + ManagedServiceIdentityType, + MembershipType, + ProvisioningState, + RBACSetupMode, + RBACState, + ReasonForRequestingConfirmation, + RecoveryOperationNames, + RecoveryOperationStatus, + RecoveryPlanState, + RecoveryPlanType, + RelativeResourceCompositionState, + RequirementSelected, + ResourceInclusionState, + ResourceProtectionSolutionType, + ResourceProtectionStatus, + ResourceReplicationRole, + ResourceTypeCategories, + SliType, + SliTypeMatchState, + SolutionDisplayName, + TestFailoverState, + UsagePlanType, + UserConsent, + VMPresent, + ) + + +class AddOrUpdateResourcesRequest(TypedDict, total=False): + """Request body of the AddOrUpdateResources API. + + :ivar faultDurationInMin: Duration of faults. Required. + :vartype faultDurationInMin: int + :ivar resourceLists: Add, Update, Delete resource lists. + :vartype resourceLists: "ResourceLists" + :ivar forceInclusionAndUpdate: Whether to allow inclusion and update despite attention reasons. + Known values are: "Enable" and "Disable". + :vartype forceInclusionAndUpdate: Union[str, "ForceInclusionAndUpdate"] + """ + + faultDurationInMin: Required[int] + """Duration of faults. Required.""" + resourceLists: "ResourceLists" + """Add, Update, Delete resource lists.""" + forceInclusionAndUpdate: Union[str, "ForceInclusionAndUpdate"] + """Whether to allow inclusion and update despite attention reasons. Known values are: \"Enable\" + and \"Disable\".""" + + +class AssetPropertiesOfDrill(TypedDict, total=False): + """Drill asset properties. + + :ivar subscription: Subscription where Drill's internal resources will be created. Required. + :vartype subscription: str + :ivar region: Region where Drill's internal resources will be created. Required. + :vartype region: str + :ivar resourceGroup: Resource group where Drill's internal resources will be created. If not + specified, defaults to 'AzureResilienceManagementDrills'. This value is immutable after drill + creation. + :vartype resourceGroup: str + """ + + subscription: Required[str] + """Subscription where Drill's internal resources will be created. Required.""" + region: Required[str] + """Region where Drill's internal resources will be created. Required.""" + resourceGroup: str + """Resource group where Drill's internal resources will be created. If not specified, defaults to + 'AzureResilienceManagementDrills'. This value is immutable after drill creation.""" + + +class AssociatedIdentity(TypedDict, total=False): + """Definition of associated identity linked with the various resources. + + :ivar type: Identity type linked with the resource. Required. Known values are: "None", + "SystemAssigned", "UserAssigned", and "SystemAssigned,UserAssigned". + :vartype type: Union[str, "ManagedServiceIdentityType"] + :ivar userAssignedIdentity: User assigned identity id linked with the resource. + :vartype userAssignedIdentity: str + """ + + type: Required[Union[str, "ManagedServiceIdentityType"]] + """Identity type linked with the resource. Required. Known values are: \"None\", + \"SystemAssigned\", \"UserAssigned\", and \"SystemAssigned,UserAssigned\".""" + userAssignedIdentity: str + """User assigned identity id linked with the resource.""" + + +class AttentionReason(TypedDict, total=False): + """Reason why the Drill is in NeedsAttention state, and not ready to run. + + :ivar drillRbacOnChaosResource: Drill object does not have the necessary RBAC to run the chaos + resource. Known values are: "Set" and "NotSet". + :vartype drillRbacOnChaosResource: Union[str, "RBACState"] + :ivar rbacNeededForDrillOnChaosResource: Permissions needed by the Drill MSI to run the chaos + resource. + :vartype rbacNeededForDrillOnChaosResource: list[str] + :ivar drillRbacOnRecoveryPlan: Drill object does not have the necessary RBAC to run the + Recovery Plan. Known values are: "Set" and "NotSet". + :vartype drillRbacOnRecoveryPlan: Union[str, "RBACState"] + :ivar rbacNeededForDrillOnRecoveryPlan: Permissions needed by the Drill MSI to run the Recovery + Plan. + :vartype rbacNeededForDrillOnRecoveryPlan: list[str] + :ivar roReadiness: Associated RO ready or not. Known values are: "UnderEdit", "Warning", and + "Ready". + :vartype roReadiness: Union[str, "RecoveryPlanState"] + :ivar rbacOnTargetResources: RBAC required by Chaos Resource MSI not setup on the target + resources. Known values are: "Set" and "NotSet". + :vartype rbacOnTargetResources: Union[str, "RBACState"] + :ivar runbookFaultRbacOnTargets: RBAC required by AutomationAccount for runbook MSI not setup + on the target resources. Known values are: "Set" and "NotSet". + :vartype runbookFaultRbacOnTargets: Union[str, "RBACState"] + :ivar chaosResource: Chaos resource for faulting exists or not. Known values are: "Exists" and + "NotExists". + :vartype chaosResource: Union[str, "ExtensionObjectState"] + :ivar chaosResourceCreationFailureReasons: Reason for Chaos Resource Creation failure. + :vartype chaosResourceCreationFailureReasons: list[str] + :ivar recoveryPlanAndDrillResourcesState: Resources associated in Recovery Plan and Drill are + out of sync. Known values are: "InSync" and "OutOfSync". + :vartype recoveryPlanAndDrillResourcesState: Union[str, "RelativeResourceCompositionState"] + :ivar serviceGroupAndDrillResourcesState: Resources in Service Group and Drill are out of sync. + Known values are: "InSync" and "OutOfSync". + :vartype serviceGroupAndDrillResourcesState: Union[str, "RelativeResourceCompositionState"] + :ivar drillUserMsi: User MSI associated with Drill object is deleted. Known values are: + "Exists" and "NotExists". + :vartype drillUserMsi: Union[str, "ExtensionObjectState"] + :ivar chaosResourceUserMsi: User MSI associated with chaos resource object is deleted. Known + values are: "Exists" and "NotExists". + :vartype chaosResourceUserMsi: Union[str, "ExtensionObjectState"] + :ivar includedResourceInDrill: Included resource in Drill. Known values are: "Exists" and + "NotExists". + :vartype includedResourceInDrill: Union[str, "ExtensionObjectState"] + :ivar drillRbacOnMonitoringResources: Drill MSI does not have the necessary RBAC to read the + Drill Monitoring resources. Known values are: "Set" and "NotSet". + :vartype drillRbacOnMonitoringResources: Union[str, "RBACState"] + :ivar drillMonitoringErrors: Errors related to Drill Monitoring resources. + :vartype drillMonitoringErrors: list["ErrorDetails"] + :ivar drillMonitoringResources: Monitoring Resources created for Drill. Known values are: + "Exists" and "NotExists". + :vartype drillMonitoringResources: Union[str, "ExtensionObjectState"] + :ivar monitoringRbacOnDrillResources: Monitoring RBAC required by Drill MSI not setup on the + target resources. Known values are: "Set" and "NotSet". + :vartype monitoringRbacOnDrillResources: Union[str, "RBACState"] + :ivar rbacNeededForDrillOnDrillMonitoringResources: Permissions needed by the Drill MSI to + Upload service group health data for monitoring. + :vartype rbacNeededForDrillOnDrillMonitoringResources: list[str] + :ivar rbacNeededForDrillOnDrillResources: Permissions needed by the Drill MSI to read health + metrics data for resources in service group. + :vartype rbacNeededForDrillOnDrillResources: list[str] + :ivar missingRequiredResourceProviders: List of required required Azure resource providers that + are not registered in the subscription specified for chaos resource. + :vartype missingRequiredResourceProviders: list[str] + :ivar monitoringSourceNotConfigured: Neither an Azure Health Model nor an SLI is configured for + the Drill. Execution is blocked until a monitoring source is configured. + :vartype monitoringSourceNotConfigured: bool + :ivar healthModelExists: Whether the selected Azure Health Model still exists. Known values + are: "Exists" and "NotExists". + :vartype healthModelExists: Union[str, "ExtensionObjectState"] + :ivar discoveryRuleExists: Whether the selected discovery rule still exists. Known values are: + "Exists" and "NotExists". + :vartype discoveryRuleExists: Union[str, "ExtensionObjectState"] + :ivar drillRbacOnHealthModel: Whether the Drill identity has the necessary RBAC (Reader) to + read the selected Azure Health Model. Known values are: "Set" and "NotSet". + :vartype drillRbacOnHealthModel: Union[str, "RBACState"] + :ivar rbacNeededForDrillOnHealthModel: Permissions needed by the Drill identity to read the + selected Azure Health Model. + :vartype rbacNeededForDrillOnHealthModel: list[str] + :ivar drillRbacOnSli: Rolled-up RBAC state: NotSet if the Drill identity is missing the + necessary RBAC to read any selected SLI. Known values are: "Set" and "NotSet". + :vartype drillRbacOnSli: Union[str, "RBACState"] + :ivar sliAttentionStatuses: Per-SLI attention status for each SLI selected for Drill + monitoring. + :vartype sliAttentionStatuses: list["SliAttentionStatus"] + """ + + drillRbacOnChaosResource: Union[str, "RBACState"] + """Drill object does not have the necessary RBAC to run the chaos resource. Known values are: + \"Set\" and \"NotSet\".""" + rbacNeededForDrillOnChaosResource: list[str] + """Permissions needed by the Drill MSI to run the chaos resource.""" + drillRbacOnRecoveryPlan: Union[str, "RBACState"] + """Drill object does not have the necessary RBAC to run the Recovery Plan. Known values are: + \"Set\" and \"NotSet\".""" + rbacNeededForDrillOnRecoveryPlan: list[str] + """Permissions needed by the Drill MSI to run the Recovery Plan.""" + roReadiness: Union[str, "RecoveryPlanState"] + """Associated RO ready or not. Known values are: \"UnderEdit\", \"Warning\", and \"Ready\".""" + rbacOnTargetResources: Union[str, "RBACState"] + """RBAC required by Chaos Resource MSI not setup on the target resources. Known values are: + \"Set\" and \"NotSet\".""" + runbookFaultRbacOnTargets: Union[str, "RBACState"] + """RBAC required by AutomationAccount for runbook MSI not setup on the target resources. Known + values are: \"Set\" and \"NotSet\".""" + chaosResource: Union[str, "ExtensionObjectState"] + """Chaos resource for faulting exists or not. Known values are: \"Exists\" and \"NotExists\".""" + chaosResourceCreationFailureReasons: list[str] + """Reason for Chaos Resource Creation failure.""" + recoveryPlanAndDrillResourcesState: Union[str, "RelativeResourceCompositionState"] + """Resources associated in Recovery Plan and Drill are out of sync. Known values are: \"InSync\" + and \"OutOfSync\".""" + serviceGroupAndDrillResourcesState: Union[str, "RelativeResourceCompositionState"] + """Resources in Service Group and Drill are out of sync. Known values are: \"InSync\" and + \"OutOfSync\".""" + drillUserMsi: Union[str, "ExtensionObjectState"] + """User MSI associated with Drill object is deleted. Known values are: \"Exists\" and + \"NotExists\".""" + chaosResourceUserMsi: Union[str, "ExtensionObjectState"] + """User MSI associated with chaos resource object is deleted. Known values are: \"Exists\" and + \"NotExists\".""" + includedResourceInDrill: Union[str, "ExtensionObjectState"] + """Included resource in Drill. Known values are: \"Exists\" and \"NotExists\".""" + drillRbacOnMonitoringResources: Union[str, "RBACState"] + """Drill MSI does not have the necessary RBAC to read the Drill Monitoring resources. Known values + are: \"Set\" and \"NotSet\".""" + drillMonitoringErrors: list["ErrorDetails"] + """Errors related to Drill Monitoring resources.""" + drillMonitoringResources: Union[str, "ExtensionObjectState"] + """Monitoring Resources created for Drill. Known values are: \"Exists\" and \"NotExists\".""" + monitoringRbacOnDrillResources: Union[str, "RBACState"] + """Monitoring RBAC required by Drill MSI not setup on the target resources. Known values are: + \"Set\" and \"NotSet\".""" + rbacNeededForDrillOnDrillMonitoringResources: list[str] + """Permissions needed by the Drill MSI to Upload service group health data for monitoring.""" + rbacNeededForDrillOnDrillResources: list[str] + """Permissions needed by the Drill MSI to read health metrics data for resources in service group.""" + missingRequiredResourceProviders: list[str] + """List of required required Azure resource providers that are not registered in the subscription + specified for chaos resource.""" + monitoringSourceNotConfigured: bool + """Neither an Azure Health Model nor an SLI is configured for the Drill. Execution is blocked + until a monitoring source is configured.""" + healthModelExists: Union[str, "ExtensionObjectState"] + """Whether the selected Azure Health Model still exists. Known values are: \"Exists\" and + \"NotExists\".""" + discoveryRuleExists: Union[str, "ExtensionObjectState"] + """Whether the selected discovery rule still exists. Known values are: \"Exists\" and + \"NotExists\".""" + drillRbacOnHealthModel: Union[str, "RBACState"] + """Whether the Drill identity has the necessary RBAC (Reader) to read the selected Azure Health + Model. Known values are: \"Set\" and \"NotSet\".""" + rbacNeededForDrillOnHealthModel: list[str] + """Permissions needed by the Drill identity to read the selected Azure Health Model.""" + drillRbacOnSli: Union[str, "RBACState"] + """Rolled-up RBAC state: NotSet if the Drill identity is missing the necessary RBAC to read any + selected SLI. Known values are: \"Set\" and \"NotSet\".""" + sliAttentionStatuses: list["SliAttentionStatus"] + """Per-SLI attention status for each SLI selected for Drill monitoring.""" + + +class ChaosResourcePropertiesOfDrill(TypedDict, total=False): + """Chaos Resource properties. + + :ivar identity: Identity to use for Chaos Resource operations. Required. + :vartype identity: "AssociatedIdentity" + :ivar chaosResourceIdentityForFaults: Identity to be used by the Chaos Resource for invoking + faults on resources. Required. + :vartype chaosResourceIdentityForFaults: "AssociatedIdentity" + :ivar chaosResourceId: Chaos Resource created for this Drill. + :vartype chaosResourceId: str + :ivar faultDurationInMin: Duration of faults. + :vartype faultDurationInMin: int + """ + + identity: Required["AssociatedIdentity"] + """Identity to use for Chaos Resource operations. Required.""" + chaosResourceIdentityForFaults: Required["AssociatedIdentity"] + """Identity to be used by the Chaos Resource for invoking faults on resources. Required.""" + chaosResourceId: str + """Chaos Resource created for this Drill.""" + faultDurationInMin: int + """Duration of faults.""" + + +class CustomFaultDetails(TypedDict, total=False): + """Custom fault details. + + :ivar faultName: fault name. Required. + :vartype faultName: str + :ivar scriptResourceId: ID of ARM resource used for automation (e.g. Automation runbook URL). + Required. + :vartype scriptResourceId: str + """ + + faultName: Required[str] + """fault name. Required.""" + scriptResourceId: Required[str] + """ID of ARM resource used for automation (e.g. Automation runbook URL). Required.""" + + +class DiskReprotectInputDetails(TypedDict, total=False): + """Disk Reprotect Input Details. + + :ivar diskResourceId: Disk Resource Id to Reprotect. + :vartype diskResourceId: str + :ivar stagingStorageAccountResourceId: The staging StorageAccount Resource Id. + :vartype stagingStorageAccountResourceId: str + """ + + diskResourceId: str + """Disk Resource Id to Reprotect.""" + stagingStorageAccountResourceId: str + """The staging StorageAccount Resource Id.""" + + +class Resource(TypedDict, total=False): + """Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + """ + + id: str + """Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" + name: str + """The name of the resource.""" + type: str + """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or + \"Microsoft.Storage/storageAccounts\".""" + systemData: "SystemData" + """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" + + +class ProxyResource(Resource): + """Proxy Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + """ + + +class Drill(ProxyResource): + """Drill resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "DrillProperties" + :ivar identity: The managed service identities assigned to this resource. + :vartype identity: "ManagedServiceIdentity" + """ + + properties: "DrillProperties" + """The resource-specific properties for this resource.""" + identity: "ManagedServiceIdentity" + """The managed service identities assigned to this resource.""" + + +class DrillEndRequest(TypedDict, total=False): + """Request body of the End Action of Drill. + + :ivar attestation: Attestation Status. Required. Known values are: "Success" and "Failed". + :vartype attestation: Union[str, "DrillAttestation"] + :ivar attestationNotes: Notes. Required. + :vartype attestationNotes: str + """ + + attestation: Required[Union[str, "DrillAttestation"]] + """Attestation Status. Required. Known values are: \"Success\" and \"Failed\".""" + attestationNotes: Required[str] + """Notes. Required.""" + + +class DrillRunAddNotesRequest(TypedDict, total=False): + """Request body for AddNotes API. + + :ivar notes: The notes string. + :vartype notes: str + :ivar timestamp: System generated current Timestamp. + :vartype timestamp: str + :ivar author: System generated Object Id of the notes author. + :vartype author: str + """ + + notes: str + """The notes string.""" + timestamp: str + """System generated current Timestamp.""" + author: str + """System generated Object Id of the notes author.""" + + +class DrillRunFailoverRequest(TypedDict, total=False): + """Request body for Failover API. + + :ivar autoFailover: AutoFailover - whether to pause between Fault and Failover for manual + input. Required. Known values are: "Enable" and "Disable". + :vartype autoFailover: Union[str, "AutoFailover"] + :ivar failoverProperties: The failover properties. Required. + :vartype failoverProperties: "FailoverRequest" + """ + + autoFailover: Required[Union[str, "AutoFailover"]] + """AutoFailover - whether to pause between Fault and Failover for manual input. Required. Known + values are: \"Enable\" and \"Disable\".""" + failoverProperties: Required["FailoverRequest"] + """The failover properties. Required.""" + + +class DrillRunReprotectRequest(TypedDict, total=False): + """Request body for Reprotect API. + + :ivar reprotectProperties: The reprotect properties. Required. + :vartype reprotectProperties: "ReprotectRequest" + """ + + reprotectProperties: Required["ReprotectRequest"] + """The reprotect properties. Required.""" + + +class DrillStartRequest(TypedDict, total=False): + """Request body of the Start Action of Drill. + + :ivar mode: Mode of starting the Drill. Required. "Failover" + :vartype mode: Union[str, "DrillMode"] + """ + + mode: Required[Union[str, "DrillMode"]] + """Mode of starting the Drill. Required. \"Failover\"""" + + +class DrillUpdate(TypedDict, total=False): + """The type used for update operations of the Drill. + + :ivar identity: The managed service identities assigned to this resource. + :vartype identity: "ManagedServiceIdentity" + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "DrillUpdateProperties" + """ + + identity: "ManagedServiceIdentity" + """The managed service identities assigned to this resource.""" + properties: "DrillUpdateProperties" + """The resource-specific properties for this resource.""" + + +class DrillUpdateProperties(TypedDict, total=False): + """The updatable properties of the Drill. + + :ivar recoveryPlanProperties: Recovery Plan properties. + :vartype recoveryPlanProperties: "RecoveryPlanPropertiesOfDrill" + :ivar drillAssetProperties: Properties for internal resources that are created for the Drill. + :vartype drillAssetProperties: "AssetPropertiesOfDrill" + :ivar chaosResourceProperties: Chaos Resource properties. + :vartype chaosResourceProperties: "ChaosResourcePropertiesOfDrill" + :ivar rbacSetupMode: RBAC setup mode. Known values are: "AutomatedCustomRole", + "AutomatedBuiltinRoles", and "Manual". + :vartype rbacSetupMode: Union[str, "RBACSetupMode"] + :ivar monitoringProperties: Monitoring properties of the Drill. + :vartype monitoringProperties: "MonitoringPropertiesOfDrill" + :ivar healthModelMonitoringProperties: Azure Health Model monitoring properties of the Drill. + Send null to clear the selection. + :vartype healthModelMonitoringProperties: "HealthModelMonitoringProperties" + :ivar sliMonitoringProperties: SLI monitoring properties of the Drill. Send null to clear the + selection; the submitted slis array is the new desired state. + :vartype sliMonitoringProperties: "SliMonitoringProperties" + """ + + recoveryPlanProperties: "RecoveryPlanPropertiesOfDrill" + """Recovery Plan properties.""" + drillAssetProperties: "AssetPropertiesOfDrill" + """Properties for internal resources that are created for the Drill.""" + chaosResourceProperties: "ChaosResourcePropertiesOfDrill" + """Chaos Resource properties.""" + rbacSetupMode: Union[str, "RBACSetupMode"] + """RBAC setup mode. Known values are: \"AutomatedCustomRole\", \"AutomatedBuiltinRoles\", and + \"Manual\".""" + monitoringProperties: "MonitoringPropertiesOfDrill" + """Monitoring properties of the Drill.""" + healthModelMonitoringProperties: Optional["HealthModelMonitoringProperties"] + """Azure Health Model monitoring properties of the Drill. Send null to clear the selection.""" + sliMonitoringProperties: Optional["SliMonitoringProperties"] + """SLI monitoring properties of the Drill. Send null to clear the selection; the submitted slis + array is the new desired state.""" + + +class Enrollment(ProxyResource): + """An enrollment that links a usage plan to a service group. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "EnrollmentProperties" + """ + + properties: "EnrollmentProperties" + """The resource-specific properties for this resource.""" + + +class EnrollmentProperties(TypedDict, total=False): + """Definition of enrollment properties. + + :ivar serviceGroupId: ARM resource identifier of the service group associated with this usage + plan. Required. + :vartype serviceGroupId: str + :ivar provisioningState: Provisioning state of the enrollment. Known values are: "Succeeded", + "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". + :vartype provisioningState: Union[str, "ProvisioningState"] + :ivar errorDetails: Details of any errors encountered during Enrollment create or update. + :vartype errorDetails: "ErrorDetail" + """ + + serviceGroupId: Required[str] + """ARM resource identifier of the service group associated with this usage plan. Required.""" + provisioningState: Union[str, "ProvisioningState"] + """Provisioning state of the enrollment. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and + \"NeedsAttention\".""" + errorDetails: "ErrorDetail" + """Details of any errors encountered during Enrollment create or update.""" + + +class ErrorAdditionalInfo(TypedDict, total=False): + """The resource management error additional info. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: Any + """ + + type: str + """The additional info type.""" + info: Any + """The additional info.""" + + +class ErrorDetail(TypedDict, total=False): + """The error detail. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list["ErrorDetail"] + :ivar additionalInfo: The error additional info. + :vartype additionalInfo: list["ErrorAdditionalInfo"] + """ + + code: str + """The error code.""" + message: str + """The error message.""" + target: str + """The error target.""" + details: list["ErrorDetail"] + """The error details.""" + additionalInfo: list["ErrorAdditionalInfo"] + """The error additional info.""" + + +class ErrorDetails(TypedDict, total=False): + """Errors in T&C / RBAC assignment. + + :ivar code: Error code. Required. + :vartype code: str + :ivar message: Error message. Required. + :vartype message: str + :ivar recommendations: A list of recommendations to resolve the error. + :vartype recommendations: list[str] + """ + + code: Required[str] + """Error code. Required.""" + message: Required[str] + """Error message. Required.""" + recommendations: list[str] + """A list of recommendations to resolve the error.""" + + +class ExecutionConfigurations(TypedDict, total=False): + """Execution configurations for recovery action. + + :ivar userConsent: User consent for performing recovery action. Required. Known values are: + "Unspecified" and "Allowed". + :vartype userConsent: Union[str, "UserConsent"] + """ + + userConsent: Required[Union[str, "UserConsent"]] + """User consent for performing recovery action. Required. Known values are: \"Unspecified\" and + \"Allowed\".""" + + +class FailoverRequest(TypedDict, total=False): + """Failover post action request. + + :ivar failoverDirection: Type of Failover direction. Required. "FromSpecificLocations" + :vartype failoverDirection: Union[str, "FailoverDirectionTypes"] + :ivar failoverRequestProperties: Additional properties for Failover. + :vartype failoverRequestProperties: "FailoverRequestProperties" + """ + + failoverDirection: Required[Union[str, "FailoverDirectionTypes"]] + """Type of Failover direction. Required. \"FromSpecificLocations\"""" + failoverRequestProperties: "FailoverRequestProperties" + """Additional properties for Failover.""" + + +class FailoverRequestProperties(TypedDict, total=False): + """Additional properties for Failover. + + :ivar sourceLocations: Source locations from where resources to be failed-over. Required. + :vartype sourceLocations: list[str] + :ivar selectedResourceIds: Selected recovery resource Ids to be processed. If not provided, all + qualified resources based on the source location(s) will be processed. + :vartype selectedResourceIds: list[str] + :ivar executionConfigurations: Execution configurations for the recovery action. + :vartype executionConfigurations: "ExecutionConfigurations" + """ + + sourceLocations: Required[list[str]] + """Source locations from where resources to be failed-over. Required.""" + selectedResourceIds: list[str] + """Selected recovery resource Ids to be processed. If not provided, all qualified resources based + on the source location(s) will be processed.""" + executionConfigurations: "ExecutionConfigurations" + """Execution configurations for the recovery action.""" + + +class FaultDetails(TypedDict, total=False): + """Fault Details. + + :ivar faultUrn: fault urn. Required. + :vartype faultUrn: str + :ivar faultName: fault name. Required. + :vartype faultName: str + :ivar targetResourceId: ARMId of the target resource where fault will be applied. For non-NSG, + same as ResourceId. For NSG, its the NSG resource and not the actual resource which is to be + simulated for faulting. Required. + :vartype targetResourceId: str + """ + + faultUrn: Required[str] + """fault urn. Required.""" + faultName: Required[str] + """fault name. Required.""" + targetResourceId: Required[str] + """ARMId of the target resource where fault will be applied. For non-NSG, same as ResourceId. For + NSG, its the NSG resource and not the actual resource which is to be simulated for faulting. + Required.""" + + +class FaultProperties(TypedDict, total=False): + """Fault Properties. + + :ivar availableFaults: Available faults for this resource. + :vartype availableFaults: list["FaultDetails"] + :ivar defaultFault: Default fault provided by the system. + :vartype defaultFault: "FaultDetails" + :ivar overriddenDefaultFault: Override fault provided by the user. + :vartype overriddenDefaultFault: "FaultDetails" + :ivar customFault: Custom Fault Details selected by user. + :vartype customFault: "CustomFaultDetails" + """ + + availableFaults: list["FaultDetails"] + """Available faults for this resource.""" + defaultFault: "FaultDetails" + """Default fault provided by the system.""" + overriddenDefaultFault: "FaultDetails" + """Override fault provided by the user.""" + customFault: "CustomFaultDetails" + """Custom Fault Details selected by user.""" + + +class GoalAssignment(ProxyResource): + """Goal assignment a AzureResilienceProviderHub resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "GoalAssignmentProperties" + """ + + properties: "GoalAssignmentProperties" + """The resource-specific properties for this resource.""" + + +class GoalAssignmentProperties(TypedDict, total=False): + """Definition of goal assignment property. + + :ivar goalTemplateId: Arm id of the goal template. + :vartype goalTemplateId: str + :ivar goalAssignmentType: The type of goal assignment. "Resiliency" + :vartype goalAssignmentType: Union[str, "GoalAssignmentType"] + :ivar requireZonalResiliency: Whether zonal resiliency is required for this goal assignment. + :vartype requireZonalResiliency: bool + :ivar serviceLevelResources: List of service level resources. + :vartype serviceLevelResources: list["ServiceLevelResource"] + :ivar provisioningState: Provisioning state. Known values are: "Succeeded", "Failed", + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". + :vartype provisioningState: Union[str, "ProvisioningState"] + :ivar errorDetails: Details of any errors encountered during the operation. + :vartype errorDetails: "ErrorDetail" + """ + + goalTemplateId: str + """Arm id of the goal template.""" + goalAssignmentType: Union[str, "GoalAssignmentType"] + """The type of goal assignment. \"Resiliency\"""" + requireZonalResiliency: bool + """Whether zonal resiliency is required for this goal assignment.""" + serviceLevelResources: list["ServiceLevelResource"] + """List of service level resources.""" + provisioningState: Union[str, "ProvisioningState"] + """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" + errorDetails: "ErrorDetail" + """Details of any errors encountered during the operation.""" + + +class GoalResource(ProxyResource): + """Goal Resource a AzureResilienceProviderHub resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "GoalResourceProperties" + """ + + properties: "GoalResourceProperties" + """The resource-specific properties for this resource.""" + + +class GoalResourceProperties(TypedDict, total=False): + """Definition of goal assignment property. + + :ivar resourceArmId: Arm Id of resource under the SG for which the extension resource is + maintained. Required. + :vartype resourceArmId: str + :ivar highAvailabilityGoalParticipation: Flag which depicts whether the Arm resource is + excluded for high availability recommendation. Known values are: "Excluded" and "Included". + :vartype highAvailabilityGoalParticipation: Union[str, "ExclusionState"] + :ivar highAvailabilityAttestationStatus: Flag which depicts whether the Arm resource is + manually attested for high availability recommendation. Known values are: "NotAttested" and + "ManuallyAttested". + :vartype highAvailabilityAttestationStatus: Union[str, "AttestationState"] + :ivar zonalResiliency: Zonal resiliency posture (participation, attestation, exclusion reason, + and user confirmations) for the Arm resource. + :vartype zonalResiliency: "ResiliencyProperties" + :ivar disasterRecoveryGoalParticipation: Flag which depicts whether the Arm resource is + excluded for disaster recovery recommendation. Known values are: "Excluded" and "Included". + :vartype disasterRecoveryGoalParticipation: Union[str, "ExclusionState"] + :ivar disasterRecoveryAttestationStatus: Flag which depicts whether the Arm resource is + manually attested for disaster recovery recommendation. Known values are: "NotAttested" and + "ManuallyAttested". + :vartype disasterRecoveryAttestationStatus: Union[str, "AttestationState"] + :ivar exclusionReasonForHighAvailabilityGoals: Reason for exclusion from high availability + goals. Known values are: "UserSelectedExclusion", "FailedOverResource", and + "UnsupportedResource". + :vartype exclusionReasonForHighAvailabilityGoals: Union[str, "ExclusionReason"] + :ivar exclusionReasonForDisasterRecoveryGoals: Reason for exclusion from disaster recovery + goals. Known values are: "UserSelectedExclusion", "FailedOverResource", and + "UnsupportedResource". + :vartype exclusionReasonForDisasterRecoveryGoals: Union[str, "ExclusionReason"] + :ivar userConfirmationForHighAvailability: List of user confirmations for high availability + solutions. + :vartype userConfirmationForHighAvailability: list["UserConfirmationItem"] + :ivar serviceGroupMemberships: List of service groups of which this resource is memberof. + :vartype serviceGroupMemberships: list["ServiceGroupMembership"] + :ivar provisioningState: Provisioning state. Known values are: "Succeeded", "Failed", + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". + :vartype provisioningState: Union[str, "ProvisioningState"] + """ + + resourceArmId: Required[str] + """Arm Id of resource under the SG for which the extension resource is maintained. Required.""" + highAvailabilityGoalParticipation: Union[str, "ExclusionState"] + """Flag which depicts whether the Arm resource is excluded for high availability recommendation. + Known values are: \"Excluded\" and \"Included\".""" + highAvailabilityAttestationStatus: Union[str, "AttestationState"] + """Flag which depicts whether the Arm resource is manually attested for high availability + recommendation. Known values are: \"NotAttested\" and \"ManuallyAttested\".""" + zonalResiliency: "ResiliencyProperties" + """Zonal resiliency posture (participation, attestation, exclusion reason, and user confirmations) + for the Arm resource.""" + disasterRecoveryGoalParticipation: Union[str, "ExclusionState"] + """Flag which depicts whether the Arm resource is excluded for disaster recovery recommendation. + Known values are: \"Excluded\" and \"Included\".""" + disasterRecoveryAttestationStatus: Union[str, "AttestationState"] + """Flag which depicts whether the Arm resource is manually attested for disaster recovery + recommendation. Known values are: \"NotAttested\" and \"ManuallyAttested\".""" + exclusionReasonForHighAvailabilityGoals: Union[str, "ExclusionReason"] + """Reason for exclusion from high availability goals. Known values are: \"UserSelectedExclusion\", + \"FailedOverResource\", and \"UnsupportedResource\".""" + exclusionReasonForDisasterRecoveryGoals: Union[str, "ExclusionReason"] + """Reason for exclusion from disaster recovery goals. Known values are: \"UserSelectedExclusion\", + \"FailedOverResource\", and \"UnsupportedResource\".""" + userConfirmationForHighAvailability: list["UserConfirmationItem"] + """List of user confirmations for high availability solutions.""" + serviceGroupMemberships: list["ServiceGroupMembership"] + """List of service groups of which this resource is memberof.""" + provisioningState: Union[str, "ProvisioningState"] + """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" + + +class GoalTemplate(ProxyResource): + """Goal template a AzureResilienceProviderHub resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "GoalTemplateProperties" + """ + + properties: "GoalTemplateProperties" + """The resource-specific properties for this resource.""" + + +class GoalTemplateProperties(TypedDict, total=False): + """Definition of goal template property. + + :ivar requireHighAvailability: Option specified by customer under high availability section of + goal template. Known values are: "NotRequired" and "Required". + :vartype requireHighAvailability: Union[str, "RequirementSelected"] + :ivar requireDisasterRecovery: Option specified by customer under disaster recovery section of + goal template. Known values are: "NotRequired" and "Required". + :vartype requireDisasterRecovery: Union[str, "RequirementSelected"] + :ivar regionalRecoveryPointObjective: Regional recovery point objective specified by customer. + eg, PT15M for 15 minutes. + :vartype regionalRecoveryPointObjective: str + :ivar regionalRecoveryTimeObjective: Regional recovery time objective specified by customer. + eg, PT15M for 15 minutes. + :vartype regionalRecoveryTimeObjective: str + :ivar goalType: Type of Goal Template created by customer. Required. "Resiliency" + :vartype goalType: Union[str, "GoalType"] + :ivar provisioningState: Provisioning state. Known values are: "Succeeded", "Failed", + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". + :vartype provisioningState: Union[str, "ProvisioningState"] + :ivar errorDetails: Details of any errors encountered during the operation. + :vartype errorDetails: "ErrorDetail" + """ + + requireHighAvailability: Union[str, "RequirementSelected"] + """Option specified by customer under high availability section of goal template. Known values + are: \"NotRequired\" and \"Required\".""" + requireDisasterRecovery: Union[str, "RequirementSelected"] + """Option specified by customer under disaster recovery section of goal template. Known values + are: \"NotRequired\" and \"Required\".""" + regionalRecoveryPointObjective: str + """Regional recovery point objective specified by customer. eg, PT15M for 15 minutes.""" + regionalRecoveryTimeObjective: str + """Regional recovery time objective specified by customer. eg, PT15M for 15 minutes.""" + goalType: Required[Union[str, "GoalType"]] + """Type of Goal Template created by customer. Required. \"Resiliency\"""" + provisioningState: Union[str, "ProvisioningState"] + """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" + errorDetails: "ErrorDetail" + """Details of any errors encountered during the operation.""" + + +class HealthModelMonitoringProperties(TypedDict, total=False): + """Azure Health Model monitoring properties of a Drill. Exactly one Health Model may be selected + per Drill. + + :ivar identity: Identity that the Drill uses to read the Azure Health Model. The Drill is + granted Reader on the Health Model for this identity. Required. + :vartype identity: "AssociatedIdentity" + :ivar discoveryRuleId: Full ARM Id of the discovery rule inside the Azure Health Model. The + parent Health Model is derived from this Id; it is the only identifier accepted on the wire. + Required. + :vartype discoveryRuleId: str + """ + + identity: Required["AssociatedIdentity"] + """Identity that the Drill uses to read the Azure Health Model. The Drill is granted Reader on the + Health Model for this identity. Required.""" + discoveryRuleId: Required[str] + """Full ARM Id of the discovery rule inside the Azure Health Model. The parent Health Model is + derived from this Id; it is the only identifier accepted on the wire. Required.""" + + +class IncludeOrUpdateResource(TypedDict, total=False): + """Include or Update resource. + + :ivar id: Id of the DrillResource to be included (NOT the ARM Id of the underlying resource). + Required. + :vartype id: str + :ivar faultProperties: Fault properties. + :vartype faultProperties: "FaultProperties" + """ + + id: Required[str] + """Id of the DrillResource to be included (NOT the ARM Id of the underlying resource). Required.""" + faultProperties: "FaultProperties" + """Fault properties.""" + + +class LastRunProperties(TypedDict, total=False): + """Definition of Last Run properties. + + :ivar lastRunTime: Timestamp of the last run of this Drill. + :vartype lastRunTime: str + :ivar lastRunState: Status of the last run of this Drill. Known values are: "NotApplicable", + "NotStarted", "Pending", "InProgress", "Completed", "CompletedWithWarnings", "Failed", + "Skipped", "Cancelling", "Cancelled", and "Paused". + :vartype lastRunState: Union[str, "JobStatus"] + :ivar lastRunDuration: Timespan of the last run of this Drill. + :vartype lastRunDuration: str + :ivar lastRunAttestation: Attestation state of the last run of this Drill. Known values are: + "Success" and "Failed". + :vartype lastRunAttestation: Union[str, "DrillAttestation"] + """ + + lastRunTime: str + """Timestamp of the last run of this Drill.""" + lastRunState: Union[str, "JobStatus"] + """Status of the last run of this Drill. Known values are: \"NotApplicable\", \"NotStarted\", + \"Pending\", \"InProgress\", \"Completed\", \"CompletedWithWarnings\", \"Failed\", \"Skipped\", + \"Cancelling\", \"Cancelled\", and \"Paused\".""" + lastRunDuration: str + """Timespan of the last run of this Drill.""" + lastRunAttestation: Union[str, "DrillAttestation"] + """Attestation state of the last run of this Drill. Known values are: \"Success\" and \"Failed\".""" + + +class ListReportDownloadUrlRequest(TypedDict, total=False): + """Request to mint a short-lived, read-only download URL for a Drill Run report. + + :ivar format: Format of the report to download. Defaults to Html when not specified. "Html" + :vartype format: Union[str, "DrillReportFormat"] + """ + + format: Union[str, "DrillReportFormat"] + """Format of the report to download. Defaults to Html when not specified. \"Html\"""" + + +class ManagedServiceIdentity(TypedDict, total=False): + """Managed service identity (system assigned and/or user assigned identities). + + :ivar principalId: The service principal ID of the system assigned identity. This property will + only be provided for a system assigned identity. + :vartype principalId: str + :ivar tenantId: The tenant ID of the system assigned identity. This property will only be + provided for a system assigned identity. + :vartype tenantId: str + :ivar type: The type of managed identity assigned to this resource. Required. Known values are: + "None", "SystemAssigned", "UserAssigned", and "SystemAssigned,UserAssigned". + :vartype type: Union[str, "ManagedServiceIdentityType"] + :ivar userAssignedIdentities: The identities assigned to this resource by the user. + :vartype userAssignedIdentities: dict[str, "UserAssignedIdentity"] + """ + + principalId: str + """The service principal ID of the system assigned identity. This property will only be provided + for a system assigned identity.""" + tenantId: str + """The tenant ID of the system assigned identity. This property will only be provided for a system + assigned identity.""" + type: Required[Union[str, "ManagedServiceIdentityType"]] + """The type of managed identity assigned to this resource. Required. Known values are: \"None\", + \"SystemAssigned\", \"UserAssigned\", and \"SystemAssigned,UserAssigned\".""" + userAssignedIdentities: dict[str, "UserAssignedIdentity"] + """The identities assigned to this resource by the user.""" + + +class MarkAsCompleteRequest(TypedDict, total=False): + """Request body for MarkAsComplete API. + + :ivar drillRunStage: State of the Drill Run. Required. Known values are: "FaultInjection", + "Failover", "Reprotect", "FailoverReverse", and "ReprotectReverse". + :vartype drillRunStage: Union[str, "DrillRunSubtasks"] + """ + + drillRunStage: Required[Union[str, "DrillRunSubtasks"]] + """State of the Drill Run. Required. Known values are: \"FaultInjection\", \"Failover\", + \"Reprotect\", \"FailoverReverse\", and \"ReprotectReverse\".""" + + +class MonitoringPropertiesOfDrill(TypedDict, total=False): + """Drill monitoring properties. + + :ivar identity: Identity to use for Drill monitoring operations. + :vartype identity: "AssociatedIdentity" + :ivar logAnalyticsWorkspaceId: Full ARM Id of the Log analytics workspace created by Resiliency + service where health data is collected. + :vartype logAnalyticsWorkspaceId: str + :ivar rawMetricsDataCollectionRuleId: Full ARM Id of the Data collection rule created by + Resiliency service which will route data for RAW health data for service group resources. + :vartype rawMetricsDataCollectionRuleId: str + :ivar serviceGroupMetricsDataCollectionRuleId: Full ARM Id of the Data collection rule created + by Resiliency service which will route data for Aggregate health data of service group. + :vartype serviceGroupMetricsDataCollectionRuleId: str + :ivar dataCollectionEndpointId: Full ARM Id of the Data collection endpoint created by + Resiliency service which will route data for service group and its resources. + :vartype dataCollectionEndpointId: str + """ + + identity: "AssociatedIdentity" + """Identity to use for Drill monitoring operations.""" + logAnalyticsWorkspaceId: str + """Full ARM Id of the Log analytics workspace created by Resiliency service where health data is + collected.""" + rawMetricsDataCollectionRuleId: str + """Full ARM Id of the Data collection rule created by Resiliency service which will route data for + RAW health data for service group resources.""" + serviceGroupMetricsDataCollectionRuleId: str + """Full ARM Id of the Data collection rule created by Resiliency service which will route data for + Aggregate health data of service group.""" + dataCollectionEndpointId: str + """Full ARM Id of the Data collection endpoint created by Resiliency service which will route data + for service group and its resources.""" + + +class RecommendCapacityRequest(TypedDict, total=False): + """Request body for the recommend capacity action. Provide specific resource IDs to evaluate, or + pass an empty array to let the service automatically select non-resilient resources from the + goal assignment. + + :ivar resourceIds: Azure resource IDs to evaluate for resiliency. Pass an empty array to + automatically discover and evaluate non-resilient resources in the service group. Maximum 50 + resources per request. Required. + :vartype resourceIds: list[str] + """ + + resourceIds: Required[list[str]] + """Azure resource IDs to evaluate for resiliency. Pass an empty array to automatically discover + and evaluate non-resilient resources in the service group. Maximum 50 resources per request. + Required.""" + + +class RecoveryActionRequest(TypedDict, total=False): + """Request body for providing user input for a recovery action. + + :ivar description: User-provided input for the action. + :vartype description: str + """ + + description: str + """User-provided input for the action.""" + + +class RecoveryGroup(ProxyResource): + """Represents a recovery orchestration group resource in the Azure Resilience Management provider + namespace. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "RecoveryGroupProperties" + """ + + properties: "RecoveryGroupProperties" + """The resource-specific properties for this resource.""" + + +class RecoveryGroupCustomRunbookAction(TypedDict, total=False): + """Defines a custom runbook action for the recovery orchestration group. + + :ivar name: The name of the recovery orchestration group action. Required. + :vartype name: str + :ivar description: A description of the recovery orchestration group action, containing the + instructions to be performed during this action. + :vartype description: str + :ivar timeoutInMinutes: The maximum amount of time, in minutes, allowed for the action to + complete before it times out. Required. + :vartype timeoutInMinutes: int + :ivar type: The type of the recovery orchestration group action. Required. A custom runbook + action type for the recovery orchestration group. + :vartype type: Literal[RecoveryGroupActionType.CUSTOM_RUNBOOK] + :ivar actionResourceId: The ARM Resource ID of the resource that includes the actionable + script, such as a Runbook in an Automation Account. + :vartype actionResourceId: str + :ivar parameters: Key-value parameters for the operation. + :vartype parameters: dict[str, str] + :ivar associatedIdentity: The identity associated with actionResourceId for RBAC. + :vartype associatedIdentity: "AssociatedIdentity" + """ + + name: Required[str] + """The name of the recovery orchestration group action. Required.""" + description: str + """A description of the recovery orchestration group action, containing the instructions to be + performed during this action.""" + timeoutInMinutes: Required[int] + """The maximum amount of time, in minutes, allowed for the action to complete before it times out. + Required.""" + type: Required[Literal[RecoveryGroupActionType.CUSTOM_RUNBOOK]] + """The type of the recovery orchestration group action. Required. A custom runbook action type for + the recovery orchestration group.""" + actionResourceId: str + """The ARM Resource ID of the resource that includes the actionable script, such as a Runbook in + an Automation Account.""" + parameters: dict[str, str] + """Key-value parameters for the operation.""" + associatedIdentity: "AssociatedIdentity" + """The identity associated with actionResourceId for RBAC.""" + + +class RecoveryGroupManualAction(TypedDict, total=False): + """Defines a manual action for the recovery orchestration group. + + :ivar name: The name of the recovery orchestration group action. Required. + :vartype name: str + :ivar description: A description of the recovery orchestration group action, containing the + instructions to be performed during this action. + :vartype description: str + :ivar timeoutInMinutes: The maximum amount of time, in minutes, allowed for the action to + complete before it times out. Required. + :vartype timeoutInMinutes: int + :ivar type: The type of the recovery orchestration group action. Required. A manual action type + for the recovery orchestration group. + :vartype type: Literal[RecoveryGroupActionType.MANUAL_ACTION] + """ + + name: Required[str] + """The name of the recovery orchestration group action. Required.""" + description: str + """A description of the recovery orchestration group action, containing the instructions to be + performed during this action.""" + timeoutInMinutes: Required[int] + """The maximum amount of time, in minutes, allowed for the action to complete before it times out. + Required.""" + type: Required[Literal[RecoveryGroupActionType.MANUAL_ACTION]] + """The type of the recovery orchestration group action. Required. A manual action type for the + recovery orchestration group.""" + + +class RecoveryGroupProperties(TypedDict, total=False): + """Properties of the recovery orchestration group. + + :ivar groupUniqueId: A unique id for the recovery orchestration group, which is a GUID. + Required. + :vartype groupUniqueId: str + :ivar orderId: The order ID of the recovery orchestration group. Required. + :vartype orderId: int + :ivar description: A description of the recovery orchestration group. Required. + :vartype description: str + :ivar preActions: Pre-actions for the recovery orchestration group. + :vartype preActions: list["RecoveryGroupBaseAction"] + :ivar postActions: Post-actions for the recovery orchestration group. + :vartype postActions: list["RecoveryGroupBaseAction"] + """ + + groupUniqueId: Required[str] + """A unique id for the recovery orchestration group, which is a GUID. Required.""" + orderId: Required[int] + """The order ID of the recovery orchestration group. Required.""" + description: Required[str] + """A description of the recovery orchestration group. Required.""" + preActions: list["RecoveryGroupBaseAction"] + """Pre-actions for the recovery orchestration group.""" + postActions: list["RecoveryGroupBaseAction"] + """Post-actions for the recovery orchestration group.""" + + +class RecoveryGroupsSetting(TypedDict, total=False): + """Settings for the recovery orchestration groups. + + :ivar defaultGroup: The default recovery orchestration group setting. Every recovery + orchestration plan has a default recovery orchestration group. Required. + :vartype defaultGroup: "RecoveryGroup" + :ivar additionalGroups: Additional recovery orchestration group settings. + :vartype additionalGroups: list["RecoveryGroup"] + """ + + defaultGroup: Required["RecoveryGroup"] + """The default recovery orchestration group setting. Every recovery orchestration plan has a + default recovery orchestration group. Required.""" + additionalGroups: list["RecoveryGroup"] + """Additional recovery orchestration group settings.""" + + +class RecoveryPlan(ProxyResource): + """Represents a recovery orchestration plan resource in the Azure Resilience Management provider + namespace. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "RecoveryPlanProperties" + :ivar identity: The managed service identities assigned to this resource. + :vartype identity: "ManagedServiceIdentity" + """ + + properties: "RecoveryPlanProperties" + """The resource-specific properties for this resource.""" + identity: "ManagedServiceIdentity" + """The managed service identities assigned to this resource.""" + + +class RecoveryPlanFailoverOperationStatus(TypedDict, total=False): + """Details of the recovery orchestration plan failover operation execution. + + :ivar lastExecutedAt: The most recent execution time of the recovery orchestration plan in UTC. + :vartype lastExecutedAt: str + :ivar operationStatus: The status of the most recent execution of the recovery orchestration + plan. Known values are: "NotStarted", "ValidationInProgress", "InProgress", "Succeeded", + "CompletedWithWarning", "ValidationFailed", "Failed", and "Canceled". + :vartype operationStatus: Union[str, "RecoveryOperationStatus"] + :ivar errorDetails: Error details for the most recent execution of the recovery orchestration + plan. + :vartype errorDetails: "ErrorDetail" + :ivar recoveryTimeActual: The actual recovery time of the most recent recovery orchestration + plan. + :vartype recoveryTimeActual: str + """ + + lastExecutedAt: str + """The most recent execution time of the recovery orchestration plan in UTC.""" + operationStatus: Union[str, "RecoveryOperationStatus"] + """The status of the most recent execution of the recovery orchestration plan. Known values are: + \"NotStarted\", \"ValidationInProgress\", \"InProgress\", \"Succeeded\", + \"CompletedWithWarning\", \"ValidationFailed\", \"Failed\", and \"Canceled\".""" + errorDetails: "ErrorDetail" + """Error details for the most recent execution of the recovery orchestration plan.""" + recoveryTimeActual: str + """The actual recovery time of the most recent recovery orchestration plan.""" + + +class RecoveryPlanOperationStatus(TypedDict, total=False): + """Details of the recovery orchestration plan operation execution. + + :ivar lastExecutedAt: The most recent execution time of the recovery orchestration plan in UTC. + :vartype lastExecutedAt: str + :ivar operationStatus: The status of the most recent execution of the recovery orchestration + plan. Known values are: "NotStarted", "ValidationInProgress", "InProgress", "Succeeded", + "CompletedWithWarning", "ValidationFailed", "Failed", and "Canceled". + :vartype operationStatus: Union[str, "RecoveryOperationStatus"] + :ivar errorDetails: Error details for the most recent execution of the recovery orchestration + plan. + :vartype errorDetails: "ErrorDetail" + """ + + lastExecutedAt: str + """The most recent execution time of the recovery orchestration plan in UTC.""" + operationStatus: Union[str, "RecoveryOperationStatus"] + """The status of the most recent execution of the recovery orchestration plan. Known values are: + \"NotStarted\", \"ValidationInProgress\", \"InProgress\", \"Succeeded\", + \"CompletedWithWarning\", \"ValidationFailed\", \"Failed\", and \"Canceled\".""" + errorDetails: "ErrorDetail" + """Error details for the most recent execution of the recovery orchestration plan.""" + + +class RecoveryPlanProperties(TypedDict, total=False): + """Properties of the recovery orchestration plan. + + :ivar provisioningState: The provisioning state of the recovery orchestration plan. Known + values are: "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", + "Accepted", and "NeedsAttention". + :vartype provisioningState: Union[str, "ProvisioningState"] + :ivar planType: The type of the recovery orchestration plan, which can be set during creation + but cannot be changed afterward. Required. Known values are: "Regional" and "Zonal". + :vartype planType: Union[str, "RecoveryPlanType"] + :ivar planState: The current state of the recovery orchestration plan. Known values are: + "UnderEdit", "Warning", and "Ready". + :vartype planState: Union[str, "RecoveryPlanState"] + :ivar planDescription: A description of the recovery orchestration plan. Required. + :vartype planDescription: str + :ivar recoveryGroupsSetting: Settings for the recovery orchestration groups associated with the + recovery orchestration plan. Required. + :vartype recoveryGroupsSetting: "RecoveryGroupsSetting" + :ivar latestFailoverStatus: The status of the most recent failover operation executed. + :vartype latestFailoverStatus: "RecoveryPlanFailoverOperationStatus" + :ivar latestValidationStatus: The status of the most recent validation performed. + :vartype latestValidationStatus: "RecoveryPlanOperationStatus" + :ivar errorDetails: Error details associated with the resource. + :vartype errorDetails: "ErrorDetail" + """ + + provisioningState: Union[str, "ProvisioningState"] + """The provisioning state of the recovery orchestration plan. Known values are: \"Succeeded\", + \"Failed\", \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and + \"NeedsAttention\".""" + planType: Required[Union[str, "RecoveryPlanType"]] + """The type of the recovery orchestration plan, which can be set during creation but cannot be + changed afterward. Required. Known values are: \"Regional\" and \"Zonal\".""" + planState: Union[str, "RecoveryPlanState"] + """The current state of the recovery orchestration plan. Known values are: \"UnderEdit\", + \"Warning\", and \"Ready\".""" + planDescription: Required[str] + """A description of the recovery orchestration plan. Required.""" + recoveryGroupsSetting: Required["RecoveryGroupsSetting"] + """Settings for the recovery orchestration groups associated with the recovery orchestration plan. + Required.""" + latestFailoverStatus: "RecoveryPlanFailoverOperationStatus" + """The status of the most recent failover operation executed.""" + latestValidationStatus: "RecoveryPlanOperationStatus" + """The status of the most recent validation performed.""" + errorDetails: "ErrorDetail" + """Error details associated with the resource.""" + + +class RecoveryPlanPropertiesOfDrill(TypedDict, total=False): + """RecoveryPlan properties. + + :ivar identity: Identity to use for RecoveryPlan operations. Required. + :vartype identity: "AssociatedIdentity" + :ivar recoveryPlanId: Recovery Orchestration plan associated with this Drill. + :vartype recoveryPlanId: str + :ivar recoveryPlanResourceExcludedCount: Excluded resource count in RecoveryPlan. + :vartype recoveryPlanResourceExcludedCount: int + """ + + identity: Required["AssociatedIdentity"] + """Identity to use for RecoveryPlan operations. Required.""" + recoveryPlanId: str + """Recovery Orchestration plan associated with this Drill.""" + recoveryPlanResourceExcludedCount: int + """Excluded resource count in RecoveryPlan.""" + + +class RecoveryResource(ProxyResource): + """RecoveryPlan Resource a AzureResilienceProviderHub resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "RecoveryResourceProperties" + """ + + properties: "RecoveryResourceProperties" + """The resource-specific properties for this resource.""" + + +class RecoveryResourceProperties(TypedDict, total=False): + """Definition of recovery orchestration resource property associated with recovery orchestration + plan. + + :ivar recoveryResourceUniqueId: A unique id for the recovery resource, which is a GUID. + Required. + :vartype recoveryResourceUniqueId: str + :ivar provisioningState: Provisioning state. Known values are: "Succeeded", "Failed", + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". + :vartype provisioningState: Union[str, "ProvisioningState"] + :ivar resourceId: Resource ID of the Azure resource associated with the recovery orchestration + plan and linked to the recovery resource. + :vartype resourceId: str + :ivar resourceLocation: Original location of the Azure resource associated with the recovery + orchestration plan and linked to the recovery resource. + :vartype resourceLocation: str + :ivar resourcePhysicalZones: Physical zones of the Azure resource associated with the recovery + orchestration plan and linked to the recovery resource. + :vartype resourcePhysicalZones: list[str] + :ivar inclusionState: A state that indicates the resource status with respect to the recovery + orchestration plan. Known values are: "Included" and "Excluded". + :vartype inclusionState: Union[str, "ResourceInclusionState"] + :ivar needsAttention: Indicating if resource needs user attention and action, details will be + found in attentionReasons. + :vartype needsAttention: bool + :ivar attentionReasons: Reason for the resource to be in need of attention. + :vartype attentionReasons: list[str] + :ivar protectionStatus: A status that indicates the protection status of a resource with an + Azure solution for regional or zonal recovery. Known values are: "Unknown", "Protected", + "NotProtected", and "HighlyAvailable". + :vartype protectionStatus: Union[str, "ResourceProtectionStatus"] + :ivar resourceProtectionSolutions: A list of ResourceProtectionSolutions with which the + recovery orchestration resource is protected. + :vartype resourceProtectionSolutions: list["ResourceProtectionSolutionSettings"] + :ivar selectedProtectionSolutionType: A setting that indicates the protection solution + selected. Known values are: "None", "AzureNative", "AzureSiteRecovery", "CrossZoneVMRecovery", + and "CustomRunbook". + :vartype selectedProtectionSolutionType: Union[str, "ResourceProtectionSolutionType"] + :ivar selectedProtectionSolutionSetting: Resource protection solution settings of the + protection solutions recovery orchestration resource is protected with. + :vartype selectedProtectionSolutionSetting: "ResourceBaseProtectionSolutionSetting" + :ivar recoveryGroupId: The recovery orchestration group id associated with the recovery + resources. + :vartype recoveryGroupId: str + :ivar associatedIdentity: Identity details associated to the resource, which will be used for + performing any operations on it. + :vartype associatedIdentity: "AssociatedIdentity" + :ivar errorDetails: Error details associated with the resource. + :vartype errorDetails: "ErrorDetail" + """ + + recoveryResourceUniqueId: Required[str] + """A unique id for the recovery resource, which is a GUID. Required.""" + provisioningState: Union[str, "ProvisioningState"] + """Provisioning state. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" + resourceId: str + """Resource ID of the Azure resource associated with the recovery orchestration plan and linked to + the recovery resource.""" + resourceLocation: str + """Original location of the Azure resource associated with the recovery orchestration plan and + linked to the recovery resource.""" + resourcePhysicalZones: list[str] + """Physical zones of the Azure resource associated with the recovery orchestration plan and linked + to the recovery resource.""" + inclusionState: Union[str, "ResourceInclusionState"] + """A state that indicates the resource status with respect to the recovery orchestration plan. + Known values are: \"Included\" and \"Excluded\".""" + needsAttention: bool + """Indicating if resource needs user attention and action, details will be found in + attentionReasons.""" + attentionReasons: list[str] + """Reason for the resource to be in need of attention.""" + protectionStatus: Union[str, "ResourceProtectionStatus"] + """A status that indicates the protection status of a resource with an Azure solution for regional + or zonal recovery. Known values are: \"Unknown\", \"Protected\", \"NotProtected\", and + \"HighlyAvailable\".""" + resourceProtectionSolutions: list["ResourceProtectionSolutionSettings"] + """A list of ResourceProtectionSolutions with which the recovery orchestration resource is + protected.""" + selectedProtectionSolutionType: Union[str, "ResourceProtectionSolutionType"] + """A setting that indicates the protection solution selected. Known values are: \"None\", + \"AzureNative\", \"AzureSiteRecovery\", \"CrossZoneVMRecovery\", and \"CustomRunbook\".""" + selectedProtectionSolutionSetting: "ResourceBaseProtectionSolutionSetting" + """Resource protection solution settings of the protection solutions recovery orchestration + resource is protected with.""" + recoveryGroupId: str + """The recovery orchestration group id associated with the recovery resources.""" + associatedIdentity: "AssociatedIdentity" + """Identity details associated to the resource, which will be used for performing any operations + on it.""" + errorDetails: "ErrorDetail" + """Error details associated with the resource.""" + + +class RegionalDrillProperties(TypedDict, total=False): + """Definition of Regional Drill properties. + + :ivar provisioningState: Status of the last operation. Known values are: "Succeeded", "Failed", + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". + :vartype provisioningState: Union[str, "ProvisioningState"] + :ivar serviceGroupId: Parent SG resource. + :vartype serviceGroupId: str + :ivar recoveryPlanProperties: ROPlan properties. + :vartype recoveryPlanProperties: "RecoveryPlanPropertiesOfDrill" + :ivar drillAssetProperties: Properties for internal resources that are created for the Drill. + :vartype drillAssetProperties: "AssetPropertiesOfDrill" + :ivar chaosResourceProperties: Chaos Resource properties. + :vartype chaosResourceProperties: "ChaosResourcePropertiesOfDrill" + :ivar executionState: Execution state of the Drill. Whether it is currently running or not. + Known values are: "NotRunning", "Running", and "Paused". + :vartype executionState: Union[str, "ExecutionState"] + :ivar executionReadinessState: Readiness state of the Drill. Known values are: "Ready" and + "NeedsAttention". + :vartype executionReadinessState: Union[str, "ExecutionReadinessState"] + :ivar rbacSetupMode: RBAC setup mode. Known values are: "AutomatedCustomRole", + "AutomatedBuiltinRoles", and "Manual". + :vartype rbacSetupMode: Union[str, "RBACSetupMode"] + :ivar attentionReason: Attention reason if the ReadinessState is 'NeedsAttention'. + :vartype attentionReason: "AttentionReason" + :ivar systemMetadata: Internal System Metadata, to be used by internal components only. + :vartype systemMetadata: "SystemMetadata" + :ivar lastRunProperties: Last run properties. + :vartype lastRunProperties: "LastRunProperties" + :ivar lastSyncTime: Last sync time. + :vartype lastSyncTime: str + :ivar lastResyncReadinessCheckTime: Last resync and readiness check time. + :vartype lastResyncReadinessCheckTime: str + :ivar monitoringProperties: Monitoring properties of the Drill. + :vartype monitoringProperties: "MonitoringPropertiesOfDrill" + :ivar healthModelMonitoringProperties: Azure Health Model monitoring properties of the Drill. + :vartype healthModelMonitoringProperties: "HealthModelMonitoringProperties" + :ivar sliMonitoringProperties: SLI monitoring properties of the Drill. + :vartype sliMonitoringProperties: "SliMonitoringProperties" + :ivar errorDetails: Error details associated with the resource. + :vartype errorDetails: "ErrorDetail" + :ivar drillType: The discriminator for the Drill object hierarchy. Required. Regional Drill. + :vartype drillType: Literal[DrillType.REGIONAL] + """ + + provisioningState: Union[str, "ProvisioningState"] + """Status of the last operation. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" + serviceGroupId: str + """Parent SG resource.""" + recoveryPlanProperties: "RecoveryPlanPropertiesOfDrill" + """ROPlan properties.""" + drillAssetProperties: "AssetPropertiesOfDrill" + """Properties for internal resources that are created for the Drill.""" + chaosResourceProperties: "ChaosResourcePropertiesOfDrill" + """Chaos Resource properties.""" + executionState: Union[str, "ExecutionState"] + """Execution state of the Drill. Whether it is currently running or not. Known values are: + \"NotRunning\", \"Running\", and \"Paused\".""" + executionReadinessState: Union[str, "ExecutionReadinessState"] + """Readiness state of the Drill. Known values are: \"Ready\" and \"NeedsAttention\".""" + rbacSetupMode: Union[str, "RBACSetupMode"] + """RBAC setup mode. Known values are: \"AutomatedCustomRole\", \"AutomatedBuiltinRoles\", and + \"Manual\".""" + attentionReason: "AttentionReason" + """Attention reason if the ReadinessState is 'NeedsAttention'.""" + systemMetadata: "SystemMetadata" + """Internal System Metadata, to be used by internal components only.""" + lastRunProperties: "LastRunProperties" + """Last run properties.""" + lastSyncTime: str + """Last sync time.""" + lastResyncReadinessCheckTime: str + """Last resync and readiness check time.""" + monitoringProperties: "MonitoringPropertiesOfDrill" + """Monitoring properties of the Drill.""" + healthModelMonitoringProperties: "HealthModelMonitoringProperties" + """Azure Health Model monitoring properties of the Drill.""" + sliMonitoringProperties: "SliMonitoringProperties" + """SLI monitoring properties of the Drill.""" + errorDetails: "ErrorDetail" + """Error details associated with the resource.""" + drillType: Required[Literal[DrillType.REGIONAL]] + """The discriminator for the Drill object hierarchy. Required. Regional Drill.""" + + +class ReprotectRequest(TypedDict, total=False): + """Reprotect post action request. + + :ivar reprotectRequestProperties: Additional properties for Reprotect. + :vartype reprotectRequestProperties: "ReprotectRequestProperties" + """ + + reprotectRequestProperties: "ReprotectRequestProperties" + """Additional properties for Reprotect.""" + + +class ReprotectRequestProperties(TypedDict, total=False): + """Additional properties for Reprotect. + + :ivar selectedResourceIds: Selected recovery resource Ids to be processed. If not provided, all + qualified resources will be processed. + :vartype selectedResourceIds: list[str] + """ + + selectedResourceIds: list[str] + """Selected recovery resource Ids to be processed. If not provided, all qualified resources will + be processed.""" + + +class ResiliencyProperties(TypedDict, total=False): + """Resiliency posture for a goal resource. + + :ivar goalParticipation: Flag which depicts whether the Arm resource is excluded for resiliency + recommendation. Known values are: "Excluded" and "Included". + :vartype goalParticipation: Union[str, "ExclusionState"] + :ivar attestationStatus: Flag which depicts whether the Arm resource is manually attested for + resiliency recommendation. Known values are: "NotAttested" and "ManuallyAttested". + :vartype attestationStatus: Union[str, "AttestationState"] + :ivar exclusionReason: Reason for exclusion from resiliency goals. Known values are: + "UserSelectedExclusion", "FailedOverResource", and "UnsupportedResource". + :vartype exclusionReason: Union[str, "ExclusionReason"] + :ivar userConfirmation: List of user confirmations for resiliency solutions. + :vartype userConfirmation: list["UserConfirmationItem"] + """ + + goalParticipation: Union[str, "ExclusionState"] + """Flag which depicts whether the Arm resource is excluded for resiliency recommendation. Known + values are: \"Excluded\" and \"Included\".""" + attestationStatus: Union[str, "AttestationState"] + """Flag which depicts whether the Arm resource is manually attested for resiliency recommendation. + Known values are: \"NotAttested\" and \"ManuallyAttested\".""" + exclusionReason: Union[str, "ExclusionReason"] + """Reason for exclusion from resiliency goals. Known values are: \"UserSelectedExclusion\", + \"FailedOverResource\", and \"UnsupportedResource\".""" + userConfirmation: list["UserConfirmationItem"] + """List of user confirmations for resiliency solutions.""" + + +class ResourceCrossZoneVmRecoveryProtectionSetting(TypedDict, total=False): # pylint: disable=name-too-long + """Definition of recovery orchestration resource protection with cross-zone (zonally resilient) VM + recovery. + + :ivar protectionSolutionType: Required. Cross zone recovery enabled Azure VMs. + :vartype protectionSolutionType: Literal[ResourceProtectionSolutionType.CROSS_ZONE_VM_RECOVERY] + :ivar targetZone: Customer-requested logical target availability zone for zonal failover (a + positive availability-zone id, e.g. "1", "2", "3"; additional zones are accepted where the + region exposes them). Always optional; when omitted the service selects a healthy zone. + Immutable per failover. + :vartype targetZone: str + :ivar capacityReservationGroupId: ARM resource ID of the Capacity Reservation Group (in the + same subscription as the VM) to use when moving the VM to the target zone. + :vartype capacityReservationGroupId: str + """ + + protectionSolutionType: Required[Literal[ResourceProtectionSolutionType.CROSS_ZONE_VM_RECOVERY]] + """Required. Cross zone recovery enabled Azure VMs.""" + targetZone: str + """Customer-requested logical target availability zone for zonal failover (a positive + availability-zone id, e.g. \"1\", \"2\", \"3\"; additional zones are accepted where the region + exposes them). Always optional; when omitted the service selects a healthy zone. Immutable per + failover.""" + capacityReservationGroupId: str + """ARM resource ID of the Capacity Reservation Group (in the same subscription as the VM) to use + when moving the VM to the target zone.""" + + +class ResourceCustomProtectionAction(TypedDict, total=False): + """Definition of recovery resource custom action setting with Recovery Orchestration Plan. + + :ivar resourceId: The Azure resource ID hosting the custom action automation script. Required. + :vartype resourceId: str + """ + + resourceId: Required[str] + """The Azure resource ID hosting the custom action automation script. Required.""" + + +class ResourceCustomProtectionSetting(TypedDict, total=False): + """Definition of recovery orchestration resource custom protection setting with recovery + orchestration plan. + + :ivar protectionSolutionType: Required. Resource is not protected with native solution and + using custom runbook automation scripts for recovery verbs. + :vartype protectionSolutionType: Literal[ResourceProtectionSolutionType.CUSTOM_RUNBOOK] + :ivar failoverAction: The Azure resource ID hosting the failover automation script. + :vartype failoverAction: "ResourceCustomProtectionAction" + :ivar failoverCommitAction: The Azure resource ID hosting the failover commit automation + script. + :vartype failoverCommitAction: "ResourceCustomProtectionAction" + :ivar testFailoverAction: The Azure resource ID hosting the test failover automation script. + :vartype testFailoverAction: "ResourceCustomProtectionAction" + :ivar testFailoverCleanupAction: The Azure resource ID hosting the test failover cleanup + automation script. + :vartype testFailoverCleanupAction: "ResourceCustomProtectionAction" + :ivar reprotectAction: The Azure resource ID hosting the reprotect automation script. + :vartype reprotectAction: "ResourceCustomProtectionAction" + """ + + protectionSolutionType: Required[Literal[ResourceProtectionSolutionType.CUSTOM_RUNBOOK]] + """Required. Resource is not protected with native solution and using custom runbook automation + scripts for recovery verbs.""" + failoverAction: "ResourceCustomProtectionAction" + """The Azure resource ID hosting the failover automation script.""" + failoverCommitAction: "ResourceCustomProtectionAction" + """The Azure resource ID hosting the failover commit automation script.""" + testFailoverAction: "ResourceCustomProtectionAction" + """The Azure resource ID hosting the test failover automation script.""" + testFailoverCleanupAction: "ResourceCustomProtectionAction" + """The Azure resource ID hosting the test failover cleanup automation script.""" + reprotectAction: "ResourceCustomProtectionAction" + """The Azure resource ID hosting the reprotect automation script.""" + + +class ResourceLists(TypedDict, total=False): + """Add, Update, Delete resource lists. + + :ivar includeResources: Include resource. + :vartype includeResources: list["IncludeOrUpdateResource"] + :ivar excludeResources: Excluded resource. + :vartype excludeResources: list[str] + :ivar updateResources: Update resource. + :vartype updateResources: list["IncludeOrUpdateResource"] + """ + + includeResources: list["IncludeOrUpdateResource"] + """Include resource.""" + excludeResources: list[str] + """Excluded resource.""" + updateResources: list["IncludeOrUpdateResource"] + """Update resource.""" + + +class ResourceNativeProtectionSolutionSetting(TypedDict, total=False): + """Definition of recovery orchestration resource native protection solution setting with recovery + orchestration plan. + + :ivar protectionSolutionType: A setting that indicates the resource protected with which + recovery solution. Required. Resource is protected with the Azure native solution provided by + the native Azure service. + :vartype protectionSolutionType: Literal[ResourceProtectionSolutionType.AZURE_NATIVE] + """ + + protectionSolutionType: Required[Literal[ResourceProtectionSolutionType.AZURE_NATIVE]] + """A setting that indicates the resource protected with which recovery solution. Required. + Resource is protected with the Azure native solution provided by the native Azure service.""" + + +class ResourceProtectionSolutionSettings(TypedDict, total=False): + """Definition of recovery resource resource protection solution settings. + + :ivar protectionSolutionType: A setting that indicates the resource protected with which + recovery solution. Known values are: "None", "AzureNative", "AzureSiteRecovery", + "CrossZoneVMRecovery", and "CustomRunbook". + :vartype protectionSolutionType: Union[str, "ResourceProtectionSolutionType"] + :ivar protectionStatus: A status that indicates the protection status of a resource with an + Azure solution for regional or zonal recovery. Known values are: "Unknown", "Protected", + "NotProtected", and "HighlyAvailable". + :vartype protectionStatus: Union[str, "ResourceProtectionStatus"] + :ivar resourceId: Resource ID of the Azure resource associated with the recovery orchestration + plan and linked to the recovery resource. + :vartype resourceId: str + :ivar activeLocation: Active location of the Azure resource associated with the recovery + orchestration plan and linked to the recovery resource. + :vartype activeLocation: str + :ivar activeLocations: Active locations of the Azure resource associated with the recovery + orchestration plan and linked to the recovery resource. + :vartype activeLocations: list[str] + :ivar activePhysicalZones: Active Resource location and physical zones of Azure Resource. + :vartype activePhysicalZones: list[str] + :ivar recoveryLocations: List of recovery locations of the Azure resource associated with the + recovery orchestration plan and linked to the recovery resource. + :vartype recoveryLocations: list[str] + :ivar replicationRole: Specifies the role of the resource in the replication process. Known + values are: "Unknown", "Primary", and "Replica". + :vartype replicationRole: Union[str, "ResourceReplicationRole"] + :ivar primaryResource: Primary resource which is getting replicated. + :vartype primaryResource: str + :ivar replicaResources: List of Replica resources to which replication is happening. + :vartype replicaResources: list[str] + :ivar isAutoFailover: Is AutoFailover configured for the resource replication. Required. + :vartype isAutoFailover: bool + :ivar failoverState: Failover state of the recovery orchestration resource. Known values are: + "None", "FailedOver", "FailedOverCommitPending", and "FailedOverReprotectPending". + :vartype failoverState: Union[str, "FailoverState"] + :ivar testFailoverState: TestFailover state of the recovery orchestration resource. Known + values are: "None" and "TestFailoverCleanupPending". + :vartype testFailoverState: Union[str, "TestFailoverState"] + """ + + protectionSolutionType: Union[str, "ResourceProtectionSolutionType"] + """A setting that indicates the resource protected with which recovery solution. Known values are: + \"None\", \"AzureNative\", \"AzureSiteRecovery\", \"CrossZoneVMRecovery\", and + \"CustomRunbook\".""" + protectionStatus: Union[str, "ResourceProtectionStatus"] + """A status that indicates the protection status of a resource with an Azure solution for regional + or zonal recovery. Known values are: \"Unknown\", \"Protected\", \"NotProtected\", and + \"HighlyAvailable\".""" + resourceId: str + """Resource ID of the Azure resource associated with the recovery orchestration plan and linked to + the recovery resource.""" + activeLocation: str + """Active location of the Azure resource associated with the recovery orchestration plan and + linked to the recovery resource.""" + activeLocations: list[str] + """Active locations of the Azure resource associated with the recovery orchestration plan and + linked to the recovery resource.""" + activePhysicalZones: list[str] + """Active Resource location and physical zones of Azure Resource.""" + recoveryLocations: list[str] + """List of recovery locations of the Azure resource associated with the recovery orchestration + plan and linked to the recovery resource.""" + replicationRole: Union[str, "ResourceReplicationRole"] + """Specifies the role of the resource in the replication process. Known values are: \"Unknown\", + \"Primary\", and \"Replica\".""" + primaryResource: str + """Primary resource which is getting replicated.""" + replicaResources: list[str] + """List of Replica resources to which replication is happening.""" + isAutoFailover: Required[bool] + """Is AutoFailover configured for the resource replication. Required.""" + failoverState: Union[str, "FailoverState"] + """Failover state of the recovery orchestration resource. Known values are: \"None\", + \"FailedOver\", \"FailedOverCommitPending\", and \"FailedOverReprotectPending\".""" + testFailoverState: Union[str, "TestFailoverState"] + """TestFailover state of the recovery orchestration resource. Known values are: \"None\" and + \"TestFailoverCleanupPending\".""" + + +class ResourceSiteRecoveryProtectionSetting(TypedDict, total=False): + """Definition of recovery orchestration resource protection with azure site recovery. + + :ivar protectionSolutionType: Required. Resource protected with the Azure solution provided by + the native Azure Site Service for Azure VMs. + :vartype protectionSolutionType: Literal[ResourceProtectionSolutionType.AZURE_SITE_RECOVERY] + :ivar testFailoverParams: Test failover params for azure site recovery solution. + :vartype testFailoverParams: "ResourceSiteRecoveryTestFailoverParams" + :ivar testFailoverCleanupParams: Test failover params for azure site recovery solution. + :vartype testFailoverCleanupParams: "ResourceSiteRecoveryTestFailoverCleanupParams" + :ivar reprotectParams: Reprotect params for azure site recovery solution. + :vartype reprotectParams: "ResourceSiteRecoveryReprotectParams" + """ + + protectionSolutionType: Required[Literal[ResourceProtectionSolutionType.AZURE_SITE_RECOVERY]] + """Required. Resource protected with the Azure solution provided by the native Azure Site Service + for Azure VMs.""" + testFailoverParams: "ResourceSiteRecoveryTestFailoverParams" + """Test failover params for azure site recovery solution.""" + testFailoverCleanupParams: "ResourceSiteRecoveryTestFailoverCleanupParams" + """Test failover params for azure site recovery solution.""" + reprotectParams: "ResourceSiteRecoveryReprotectParams" + """Reprotect params for azure site recovery solution.""" + + +class ResourceSiteRecoveryReprotectParams(TypedDict, total=False): + """Definition of recovery resource reprotect params for site recovery solution. + + :ivar diskReprotectInputDetails: Disk Reprotect Input Details. + :vartype diskReprotectInputDetails: list["DiskReprotectInputDetails"] + """ + + diskReprotectInputDetails: list["DiskReprotectInputDetails"] + """Disk Reprotect Input Details.""" + + +class ResourceSiteRecoveryTestFailoverCleanupParams(TypedDict, total=False): # pylint: disable=name-too-long + """Definition of recovery resource reprotect params for site recovery solution. + + :ivar comments: Comments for testfailover cleanup. + :vartype comments: str + """ + + comments: str + """Comments for testfailover cleanup.""" + + +class ResourceSiteRecoveryTestFailoverParams(TypedDict, total=False): + """Definition of recovery resource failover params for site recovery solution. + + :ivar networkResourceId: The Azure network resource is which will be used for test failover + virtual machine. + :vartype networkResourceId: str + """ + + networkResourceId: str + """The Azure network resource is which will be used for test failover virtual machine.""" + + +class ServiceGroupMembership(TypedDict, total=False): + """Model for service group membership. + + :ivar serviceGroupId: Arm Id of the service group. Required. + :vartype serviceGroupId: str + :ivar membershipType: Membership type of the service group to resource. Required. Known values + are: "Direct", "ThroughSubscription", and "ThroughResourceGroup". + :vartype membershipType: Union[str, "MembershipType"] + """ + + serviceGroupId: Required[str] + """Arm Id of the service group. Required.""" + membershipType: Required[Union[str, "MembershipType"]] + """Membership type of the service group to resource. Required. Known values are: \"Direct\", + \"ThroughSubscription\", and \"ThroughResourceGroup\".""" + + +class ServiceLevelResource(TypedDict, total=False): + """The Service level resource model. + + :ivar serviceLevelIndicatorResourceId: The arm id of the service level indicator resource. + Required. + :vartype serviceLevelIndicatorResourceId: str + :ivar serviceLevelObjectiveResourceId: The arm id of the service level object resource. + :vartype serviceLevelObjectiveResourceId: str + """ + + serviceLevelIndicatorResourceId: Required[str] + """The arm id of the service level indicator resource. Required.""" + serviceLevelObjectiveResourceId: str + """The arm id of the service level object resource.""" + + +class SliAttentionStatus(TypedDict, total=False): + """Per-SLI attention status of a Drill. + + :ivar sliId: Full ARM Id of the SLI this status refers to. Required. + :vartype sliId: str + :ivar type: User-declared category of the SLI. Required. Known values are: "Availability" and + "Latency". + :vartype type: Union[str, "SliType"] + :ivar exists: Whether the selected SLI still exists. Known values are: "Exists" and + "NotExists". + :vartype exists: Union[str, "ExtensionObjectState"] + :ivar typeMatch: Whether the user-declared SLI type matches the SLI's actual category. Known + values are: "Matched" and "Mismatched". + :vartype typeMatch: Union[str, "SliTypeMatchState"] + :ivar drillRbacOnDestinationAmw: Rolled-up RBAC state: NotSet if the Drill identity is missing + Monitoring Reader on any of the SLI's destination Azure Monitor Workspaces. Known values are: + "Set" and "NotSet". + :vartype drillRbacOnDestinationAmw: Union[str, "RBACState"] + :ivar rbacNeededOnDestinationAmws: The destination Azure Monitor Workspaces that are still + missing the Monitoring Reader grant for the Drill identity. + :vartype rbacNeededOnDestinationAmws: list[str] + """ + + sliId: Required[str] + """Full ARM Id of the SLI this status refers to. Required.""" + type: Required[Union[str, "SliType"]] + """User-declared category of the SLI. Required. Known values are: \"Availability\" and + \"Latency\".""" + exists: Union[str, "ExtensionObjectState"] + """Whether the selected SLI still exists. Known values are: \"Exists\" and \"NotExists\".""" + typeMatch: Union[str, "SliTypeMatchState"] + """Whether the user-declared SLI type matches the SLI's actual category. Known values are: + \"Matched\" and \"Mismatched\".""" + drillRbacOnDestinationAmw: Union[str, "RBACState"] + """Rolled-up RBAC state: NotSet if the Drill identity is missing Monitoring Reader on any of the + SLI's destination Azure Monitor Workspaces. Known values are: \"Set\" and \"NotSet\".""" + rbacNeededOnDestinationAmws: list[str] + """The destination Azure Monitor Workspaces that are still missing the Monitoring Reader grant for + the Drill identity.""" + + +class SliMonitoringProperties(TypedDict, total=False): + """SLI monitoring properties of a Drill. At most two SLIs may be selected: at most one + Availability and one Latency. + + :ivar identity: Identity that the Drill uses to read evaluated SLI results from each SLI's + destination Azure Monitor Workspace. The Drill is granted Monitoring Reader on every + destination AMW of every selected SLI for this identity. Required. + :vartype identity: "AssociatedIdentity" + :ivar slis: The SLIs selected for Drill monitoring. Maximum of two entries: at most one + Availability and one Latency. Duplicate types or duplicate SLI Ids are rejected. Required. + :vartype slis: list["SliSelection"] + """ + + identity: Required["AssociatedIdentity"] + """Identity that the Drill uses to read evaluated SLI results from each SLI's destination Azure + Monitor Workspace. The Drill is granted Monitoring Reader on every destination AMW of every + selected SLI for this identity. Required.""" + slis: Required[list["SliSelection"]] + """The SLIs selected for Drill monitoring. Maximum of two entries: at most one Availability and + one Latency. Duplicate types or duplicate SLI Ids are rejected. Required.""" + + +class SliSelection(TypedDict, total=False): + """A single SLI selected for Drill monitoring. + + :ivar sliId: Full ARM Id of the SLI. Required. + :vartype sliId: str + :ivar type: User-declared category of the SLI. Must be unique across the selected SLIs. + Required. Known values are: "Availability" and "Latency". + :vartype type: Union[str, "SliType"] + """ + + sliId: Required[str] + """Full ARM Id of the SLI. Required.""" + type: Required[Union[str, "SliType"]] + """User-declared category of the SLI. Must be unique across the selected SLIs. Required. Known + values are: \"Availability\" and \"Latency\".""" + + +class SystemData(TypedDict, total=False): + """Metadata pertaining to creation and last modification of the resource. + + :ivar createdBy: The identity that created the resource. + :vartype createdBy: str + :ivar createdByType: The type of identity that created the resource. Known values are: "User", + "Application", "ManagedIdentity", and "Key". + :vartype createdByType: Union[str, "CreatedByType"] + :ivar createdAt: The timestamp of resource creation (UTC). + :vartype createdAt: str + :ivar lastModifiedBy: The identity that last modified the resource. + :vartype lastModifiedBy: str + :ivar lastModifiedByType: The type of identity that last modified the resource. Known values + are: "User", "Application", "ManagedIdentity", and "Key". + :vartype lastModifiedByType: Union[str, "CreatedByType"] + :ivar lastModifiedAt: The timestamp of resource last modification (UTC). + :vartype lastModifiedAt: str + """ + + createdBy: str + """The identity that created the resource.""" + createdByType: Union[str, "CreatedByType"] + """The type of identity that created the resource. Known values are: \"User\", \"Application\", + \"ManagedIdentity\", and \"Key\".""" + createdAt: str + """The timestamp of resource creation (UTC).""" + lastModifiedBy: str + """The identity that last modified the resource.""" + lastModifiedByType: Union[str, "CreatedByType"] + """The type of identity that last modified the resource. Known values are: \"User\", + \"Application\", \"ManagedIdentity\", and \"Key\".""" + lastModifiedAt: str + """The timestamp of resource last modification (UTC).""" + + +class SystemMetadata(TypedDict, total=False): + """Internal System Metadata, to be used by internal components only. + + :ivar initialConfig: Indicates if the Initial system configuration of the Drill is complete or + not. Required. Known values are: "Pending" and "Complete". + :vartype initialConfig: Union[str, "InitialConfig"] + :ivar resourceTypeCategories: An indication whether a intrested resource type is present in + drill resource. + :vartype resourceTypeCategories: list[Union[str, "ResourceTypeCategories"]] + """ + + initialConfig: Required[Union[str, "InitialConfig"]] + """Indicates if the Initial system configuration of the Drill is complete or not. Required. Known + values are: \"Pending\" and \"Complete\".""" + resourceTypeCategories: list[Union[str, "ResourceTypeCategories"]] + """An indication whether a intrested resource type is present in drill resource.""" + + +class TestFailoverCleanupRequest(TypedDict, total=False): + """TestFailoverCleanup post action request. + + :ivar comments: Comments for test failover cleanup. + :vartype comments: str + """ + + comments: str + """Comments for test failover cleanup.""" + + +class TrackedResource(Resource): + """Tracked Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + """ + + tags: dict[str, str] + """Resource tags.""" + location: Required[str] + """The geo-location where the resource lives. Required.""" + + +class UpdateGoalResourceRequest(TypedDict, total=False): + """Request model for update goal resource. + + :ivar resources: List of update goal resource. Required. + :vartype resources: list["GoalResource"] + """ + + resources: Required[list["GoalResource"]] + """List of update goal resource. Required.""" + + +class UpdateRecoveryResourcesRequest(TypedDict, total=False): + """RecoveryResources post action request to update in batch. + + :ivar resourcesToUpdate: A list of recovery orchestration resources whose properties need to be + updated. + :vartype resourcesToUpdate: list["RecoveryResource"] + :ivar resourcesToRemove: A list of recovery orchestration resources that need to be removed + from the recovery orchestration plan. + :vartype resourcesToRemove: list[str] + """ + + resourcesToUpdate: list["RecoveryResource"] + """A list of recovery orchestration resources whose properties need to be updated.""" + resourcesToRemove: list[str] + """A list of recovery orchestration resources that need to be removed from the recovery + orchestration plan.""" + + +class UsagePlan(TrackedResource): + """A usage plan resource for Resiliency feature billing. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar systemData: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype systemData: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The resource-specific properties for this resource. + :vartype properties: "UsagePlanProperties" + """ + + properties: "UsagePlanProperties" + """The resource-specific properties for this resource.""" + + +class UsagePlanProperties(TypedDict, total=False): + """Definition of usage plan properties. + + :ivar planType: The type of the usage plan. Known values are: "Basic" and "Standard". + :vartype planType: Union[str, "UsagePlanType"] + :ivar provisioningState: Provisioning state of the usage plan. Known values are: "Succeeded", + "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". + :vartype provisioningState: Union[str, "ProvisioningState"] + :ivar errorDetails: Details of any errors encountered during Usage Plan create or update. + :vartype errorDetails: "ErrorDetail" + """ + + planType: Union[str, "UsagePlanType"] + """The type of the usage plan. Known values are: \"Basic\" and \"Standard\".""" + provisioningState: Union[str, "ProvisioningState"] + """Provisioning state of the usage plan. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and + \"NeedsAttention\".""" + errorDetails: "ErrorDetail" + """Details of any errors encountered during Usage Plan create or update.""" + + +class UsagePlanTagsUpdate(TypedDict, total=False): + """The type used for updating tags in UsagePlan resources. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + tags: dict[str, str] + """Resource tags.""" + + +class UserAssignedIdentity(TypedDict, total=False): + """User assigned identity properties. + + :ivar principalId: The principal ID of the assigned identity. + :vartype principalId: str + :ivar clientId: The client ID of the assigned identity. + :vartype clientId: str + """ + + principalId: str + """The principal ID of the assigned identity.""" + clientId: str + """The client ID of the assigned identity.""" + + +class UserConfirmationItem(TypedDict, total=False): + """Represents a user confirmation for a high availability solution. + + :ivar solutionDisplayName: The solution display name of the high availability solution. + Required. Known values are: "ZonePinnedVmWithZrsDisk" and "VmInMultiZoneVmss". + :vartype solutionDisplayName: Union[str, "SolutionDisplayName"] + :ivar confirmationStatus: The confirmation status of the high availability solution. Required. + Known values are: "ApprovedByUser", "ApprovalPending", "ApprovalNotNeeded", and + "RejectedByUser". + :vartype confirmationStatus: Union[str, "ConfirmationStatus"] + :ivar reasonForRequestingConfirmation: The reason for requesting user confirmation for the high + availability solution. Known values are: "ZonePinnedZrsDataDisksConditional" and + "VmInMultiZoneScaleSetStatelessOnly". + :vartype reasonForRequestingConfirmation: Union[str, "ReasonForRequestingConfirmation"] + """ + + solutionDisplayName: Required[Union[str, "SolutionDisplayName"]] + """The solution display name of the high availability solution. Required. Known values are: + \"ZonePinnedVmWithZrsDisk\" and \"VmInMultiZoneVmss\".""" + confirmationStatus: Required[Union[str, "ConfirmationStatus"]] + """The confirmation status of the high availability solution. Required. Known values are: + \"ApprovedByUser\", \"ApprovalPending\", \"ApprovalNotNeeded\", and \"RejectedByUser\".""" + reasonForRequestingConfirmation: Union[str, "ReasonForRequestingConfirmation"] + """The reason for requesting user confirmation for the high availability solution. Known values + are: \"ZonePinnedZrsDataDisksConditional\" and \"VmInMultiZoneScaleSetStatelessOnly\".""" + + +class ValidateForExecutionProperties(TypedDict, total=False): + """Additional properties for Failover. + + :ivar operationName: Operation name for which the validation is being done. This is needed to + determine the set of validations to be done for the operation. Known values are: "Failover", + "Reprotect", "FailoverReverse", and "ReprotectReverse". + :vartype operationName: Union[str, "DrillRunTasks"] + :ivar sourceLocations: Physiscal Source locations from where resources to be failed-over or + faulted. + :vartype sourceLocations: list[str] + """ + + operationName: Union[str, "DrillRunTasks"] + """Operation name for which the validation is being done. This is needed to determine the set of + validations to be done for the operation. Known values are: \"Failover\", \"Reprotect\", + \"FailoverReverse\", and \"ReprotectReverse\".""" + sourceLocations: list[str] + """Physiscal Source locations from where resources to be failed-over or faulted.""" + + +class ValidateForExecutionRequest(TypedDict, total=False): + """Request body of the Validate For Execute Action of Drill. + + :ivar validateForExecutionProperties: Additional properties for Validate for execute. + :vartype validateForExecutionProperties: "ValidateForExecutionProperties" + """ + + validateForExecutionProperties: "ValidateForExecutionProperties" + """Additional properties for Validate for execute.""" + + +class ValidateForOperationRequest(TypedDict, total=False): + """ValidateForOperation post action request to check if operation can be performed. + + :ivar operationName: Operation Name to validate. Required. Known values are: "Failover", + "FailoverCommit", "Reprotect", "TestFailover", and "TestFailoverCleanup". + :vartype operationName: Union[str, "RecoveryOperationNames"] + """ + + operationName: Required[Union[str, "RecoveryOperationNames"]] + """Operation Name to validate. Required. Known values are: \"Failover\", \"FailoverCommit\", + \"Reprotect\", \"TestFailover\", and \"TestFailoverCleanup\".""" + + +class ZonalDrillProperties(TypedDict, total=False): + """Definition of Zonal Drill properties. + + :ivar provisioningState: Status of the last operation. Known values are: "Succeeded", "Failed", + "Canceled", "Provisioning", "Updating", "Deleting", "Accepted", and "NeedsAttention". + :vartype provisioningState: Union[str, "ProvisioningState"] + :ivar serviceGroupId: Parent SG resource. + :vartype serviceGroupId: str + :ivar recoveryPlanProperties: ROPlan properties. + :vartype recoveryPlanProperties: "RecoveryPlanPropertiesOfDrill" + :ivar drillAssetProperties: Properties for internal resources that are created for the Drill. + :vartype drillAssetProperties: "AssetPropertiesOfDrill" + :ivar chaosResourceProperties: Chaos Resource properties. + :vartype chaosResourceProperties: "ChaosResourcePropertiesOfDrill" + :ivar executionState: Execution state of the Drill. Whether it is currently running or not. + Known values are: "NotRunning", "Running", and "Paused". + :vartype executionState: Union[str, "ExecutionState"] + :ivar executionReadinessState: Readiness state of the Drill. Known values are: "Ready" and + "NeedsAttention". + :vartype executionReadinessState: Union[str, "ExecutionReadinessState"] + :ivar rbacSetupMode: RBAC setup mode. Known values are: "AutomatedCustomRole", + "AutomatedBuiltinRoles", and "Manual". + :vartype rbacSetupMode: Union[str, "RBACSetupMode"] + :ivar attentionReason: Attention reason if the ReadinessState is 'NeedsAttention'. + :vartype attentionReason: "AttentionReason" + :ivar systemMetadata: Internal System Metadata, to be used by internal components only. + :vartype systemMetadata: "SystemMetadata" + :ivar lastRunProperties: Last run properties. + :vartype lastRunProperties: "LastRunProperties" + :ivar lastSyncTime: Last sync time. + :vartype lastSyncTime: str + :ivar lastResyncReadinessCheckTime: Last resync and readiness check time. + :vartype lastResyncReadinessCheckTime: str + :ivar monitoringProperties: Monitoring properties of the Drill. + :vartype monitoringProperties: "MonitoringPropertiesOfDrill" + :ivar healthModelMonitoringProperties: Azure Health Model monitoring properties of the Drill. + :vartype healthModelMonitoringProperties: "HealthModelMonitoringProperties" + :ivar sliMonitoringProperties: SLI monitoring properties of the Drill. + :vartype sliMonitoringProperties: "SliMonitoringProperties" + :ivar errorDetails: Error details associated with the resource. + :vartype errorDetails: "ErrorDetail" + :ivar drillType: The discriminator for the Drill object hierarchy. Required. Zonal Drill. + :vartype drillType: Literal[DrillType.ZONAL] + :ivar vmsPresent: An indication whether a VM is included in this Zonal Drill. If not, RO is not + needed. Known values are: "Present" and "Absent". + :vartype vmsPresent: Union[str, "VMPresent"] + """ + + provisioningState: Union[str, "ProvisioningState"] + """Status of the last operation. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", + \"Provisioning\", \"Updating\", \"Deleting\", \"Accepted\", and \"NeedsAttention\".""" + serviceGroupId: str + """Parent SG resource.""" + recoveryPlanProperties: "RecoveryPlanPropertiesOfDrill" + """ROPlan properties.""" + drillAssetProperties: "AssetPropertiesOfDrill" + """Properties for internal resources that are created for the Drill.""" + chaosResourceProperties: "ChaosResourcePropertiesOfDrill" + """Chaos Resource properties.""" + executionState: Union[str, "ExecutionState"] + """Execution state of the Drill. Whether it is currently running or not. Known values are: + \"NotRunning\", \"Running\", and \"Paused\".""" + executionReadinessState: Union[str, "ExecutionReadinessState"] + """Readiness state of the Drill. Known values are: \"Ready\" and \"NeedsAttention\".""" + rbacSetupMode: Union[str, "RBACSetupMode"] + """RBAC setup mode. Known values are: \"AutomatedCustomRole\", \"AutomatedBuiltinRoles\", and + \"Manual\".""" + attentionReason: "AttentionReason" + """Attention reason if the ReadinessState is 'NeedsAttention'.""" + systemMetadata: "SystemMetadata" + """Internal System Metadata, to be used by internal components only.""" + lastRunProperties: "LastRunProperties" + """Last run properties.""" + lastSyncTime: str + """Last sync time.""" + lastResyncReadinessCheckTime: str + """Last resync and readiness check time.""" + monitoringProperties: "MonitoringPropertiesOfDrill" + """Monitoring properties of the Drill.""" + healthModelMonitoringProperties: "HealthModelMonitoringProperties" + """Azure Health Model monitoring properties of the Drill.""" + sliMonitoringProperties: "SliMonitoringProperties" + """SLI monitoring properties of the Drill.""" + errorDetails: "ErrorDetail" + """Error details associated with the resource.""" + drillType: Required[Literal[DrillType.ZONAL]] + """The discriminator for the Drill object hierarchy. Required. Zonal Drill.""" + vmsPresent: Union[str, "VMPresent"] + """An indication whether a VM is included in this Zonal Drill. If not, RO is not needed. Known + values are: \"Present\" and \"Absent\".""" + + +DrillProperties = Union[RegionalDrillProperties, ZonalDrillProperties] +RecoveryGroupBaseAction = Union[RecoveryGroupCustomRunbookAction, RecoveryGroupManualAction] +ResourceBaseProtectionSolutionSetting = Union[ + ResourceNativeProtectionSolutionSetting, + ResourceSiteRecoveryProtectionSetting, + ResourceCrossZoneVmRecoveryProtectionSetting, + ResourceCustomProtectionSetting, +] diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_resources_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_resources_get_maximum_set_gen.py index 5ce80a6ff617..848d439cbc21 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_resources_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_resources_get_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/DrillResources_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillResources_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_resources_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_resources_list_maximum_set_gen.py index 7c75a030e759..9830bddc76c6 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_resources_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_resources_list_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/DrillResources_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillResources_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_run_resources_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_run_resources_get_maximum_set_gen.py index 6cc378f64829..f15991c69f40 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_run_resources_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_run_resources_get_maximum_set_gen.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/DrillRunResources_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillRunResources_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_run_resources_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_run_resources_list_maximum_set_gen.py index 06a8c6af4b25..8dbf87656d76 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_run_resources_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_run_resources_list_maximum_set_gen.py @@ -39,6 +39,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/DrillRunResources_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillRunResources_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_add_notes_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_add_notes_maximum_set_gen.py index b97e3c36fb2a..fbeb0cb04e14 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_add_notes_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_add_notes_maximum_set_gen.py @@ -39,6 +39,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/DrillRuns_AddNotes_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillRuns_AddNotes_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_fail_over_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_fail_over_maximum_set_gen.py index d11edf403da6..b2dbf46e8d14 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_fail_over_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_fail_over_maximum_set_gen.py @@ -34,17 +34,10 @@ def main(): service_group_name="sampleServiceGroupName", drill_name="drill1", drill_run_name="ca92602e-53bf-43d2-ae62-d3fc940474b3", - body={ - "autoFailover": "Enable", - "failoverProperties": { - "failoverDirection": "FromSpecificLocations", - "failoverRequestProperties": {"sourceLocations": ["westus"]}, - }, - }, operation_id="qmn", ).result() -# x-ms-original-file: 2026-04-01-preview/DrillRuns_FailOver_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillRuns_FailOver_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_generate_report_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_generate_report_maximum_set_gen.py new file mode 100644 index 000000000000..a732d3bf0d8a --- /dev/null +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_generate_report_maximum_set_gen.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.resiliencemanagement import ResilienceManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-resiliencemanagement +# USAGE + python drill_runs_generate_report_maximum_set_gen.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = ResilienceManagementClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + client.drill_runs.begin_generate_report( + service_group_name="sampleServiceGroupName", + drill_name="drill1", + drill_run_name="ca92602e-53bf-43d2-ae62-d3fc940474b3", + operation_id="qmn", + ).result() + + +# x-ms-original-file: 2026-08-31-preview/DrillRuns_GenerateReport_MaximumSet_Gen.json +if __name__ == "__main__": + main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_get_maximum_set_gen.py index d217407535bd..90fd8b3adeb2 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_get_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/DrillRuns_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillRuns_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_list_maximum_set_gen.py index 185cce18be3c..8415267891ff 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_list_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/DrillRuns_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillRuns_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_list_report_download_url_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_list_report_download_url_maximum_set_gen.py new file mode 100644 index 000000000000..24e96842fc9a --- /dev/null +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_list_report_download_url_maximum_set_gen.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.resiliencemanagement import ResilienceManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-resiliencemanagement +# USAGE + python drill_runs_list_report_download_url_maximum_set_gen.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = ResilienceManagementClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.drill_runs.list_report_download_url( + service_group_name="sampleServiceGroupName", + drill_name="drill1", + drill_run_name="ca92602e-53bf-43d2-ae62-d3fc940474b3", + ) + print(response) + + +# x-ms-original-file: 2026-08-31-preview/DrillRuns_ListReportDownloadUrl_MaximumSet_Gen.json +if __name__ == "__main__": + main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_mark_as_complete_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_mark_as_complete_maximum_set_gen.py index 5334263a06f2..c4dcc274a808 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_mark_as_complete_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_mark_as_complete_maximum_set_gen.py @@ -39,6 +39,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/DrillRuns_MarkAsComplete_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillRuns_MarkAsComplete_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_reprotect_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_reprotect_maximum_set_gen.py index 4ae664e80845..7d366d07f420 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_reprotect_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_reprotect_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/DrillRuns_Reprotect_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillRuns_Reprotect_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_resume_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_resume_maximum_set_gen.py index 7ac2bfa7af3f..0b3d899fa062 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_resume_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drill_runs_resume_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/DrillRuns_Resume_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/DrillRuns_Resume_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_add_or_update_resources_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_add_or_update_resources_maximum_set_gen.py index 765df1506bcc..6463403621df 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_add_or_update_resources_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_add_or_update_resources_maximum_set_gen.py @@ -89,6 +89,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/Drills_AddOrUpdateResources_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_AddOrUpdateResources_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_create_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_create_maximum_set_gen.py index 0c40659265b1..4bca4fd2b3a4 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_create_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_create_maximum_set_gen.py @@ -37,31 +37,6 @@ def main(): resource={ "identity": {"type": "None", "userAssignedIdentities": {}}, "properties": { - "attentionReason": { - "chaosResource": "Exists", - "chaosResourceCreationFailureReasons": ["cjqkzeqcktfqcpmdwoloqb"], - "chaosResourceUserMsi": "Exists", - "drillMonitoringErrors": [ - {"code": "14123903", "message": "Unable to assign Monitoring RBAC on target resource."} - ], - "drillMonitoringResources": "Exists", - "drillRbacOnChaosResource": "Set", - "drillRbacOnMonitoringResources": "Set", - "drillRbacOnRecoveryPlan": "Set", - "drillUserMsi": "Exists", - "includedResourceInDrill": "Exists", - "missingRequiredResourceProviders": ["Microsoft.Chaos", "Microsoft.Automation"], - "monitoringRbacOnDrillResources": "Set", - "rbacNeededForDrillOnChaosResource": ["zabszxqjflfjgifyrtttvdpipw"], - "rbacNeededForDrillOnDrillMonitoringResources": ["lyffvljvuhwvxcuzyzlyo"], - "rbacNeededForDrillOnDrillResources": ["sajsgcweakvzfunxfzzxe"], - "rbacNeededForDrillOnRecoveryPlan": ["ayfyepziwdyxuwuexlamaadey"], - "rbacOnTargetResources": "Set", - "recoveryPlanAndDrillResourcesState": "InSync", - "roReadiness": "UnderEdit", - "runbookFaultRbacOnTargets": "Set", - "serviceGroupAndDrillResourcesState": "InSync", - }, "chaosResourceProperties": { "chaosResourceIdentityForFaults": { "type": "UserAssigned", @@ -80,8 +55,14 @@ def main(): "drillType": "DrillProperties", "executionReadinessState": "Ready", "executionState": "NotRunning", + "healthModelMonitoringProperties": { + "discoveryRuleId": "/subscriptions/4e88bed3-114f-443d-9975-28f64122ec5e/resourceGroups/contoso-health/providers/Microsoft.CloudHealth/healthmodels/contoso-payments-hm/discoveryrules/payments-frontend-rule", + "identity": { + "type": "UserAssigned", + "userAssignedIdentity": "/subscriptions/4e88bed3-114f-443d-9975-28f64122ec5e/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1", + }, + }, "lastRunProperties": {"lastRunAttestation": "Success", "lastRunState": "NotStarted"}, - "managedOnBehalfOfConfiguration": {}, "monitoringProperties": { "identity": { "type": "UserAssigned", @@ -95,6 +76,22 @@ def main(): "userAssignedIdentity": "/subscriptions/4e88bed3-114f-443d-9975-28f64122ec5e/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1", } }, + "sliMonitoringProperties": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentity": "/subscriptions/4e88bed3-114f-443d-9975-28f64122ec5e/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1", + }, + "slis": [ + { + "sliId": "/providers/Microsoft.Management/serviceGroups/sampleServiceGroupName/providers/Microsoft.Monitor/slis/checkout-availability", + "type": "Availability", + }, + { + "sliId": "/providers/Microsoft.Management/serviceGroups/sampleServiceGroupName/providers/Microsoft.Monitor/slis/checkout-latency", + "type": "Latency", + }, + ], + }, "systemMetadata": {"initialConfig": "Pending"}, }, }, @@ -102,6 +99,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/Drills_Create_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_Create_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_delete_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_delete_maximum_set_gen.py index df3661d4afec..906cd2f0bcf0 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_delete_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_delete_maximum_set_gen.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/Drills_Delete_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_Delete_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_end_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_end_maximum_set_gen.py index 330508178b59..992fd78b1152 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_end_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_end_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/Drills_End_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_End_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_get_maximum_set_gen.py index a20a1c0f9056..188429e003be 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_get_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/Drills_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_list_maximum_set_gen.py index 56f6ce9215e2..1fbde5cdace6 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_list_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Drills_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_resync_readiness_check_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_resync_readiness_check_maximum_set_gen.py index 7a85255ab100..58a24e8b8a4c 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_resync_readiness_check_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_resync_readiness_check_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/Drills_ResyncReadinessCheck_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_ResyncReadinessCheck_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_start_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_start_maximum_set_gen.py index 38bd5e466961..d2b113bdfcbc 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_start_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_start_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/Drills_Start_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_Start_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_update_maximum_set_gen.py index 6dc54c4f8088..553f5cceae2a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_update_maximum_set_gen.py @@ -48,6 +48,13 @@ def main(): }, }, "drillAssetProperties": {"region": "zuvwzxnbqyzdkthrewruw", "subscription": "pxlmwjuhcif"}, + "healthModelMonitoringProperties": { + "discoveryRuleId": "/subscriptions/4e88bed3-114f-443d-9975-28f64122ec5e/resourceGroups/contoso-health/providers/Microsoft.CloudHealth/healthmodels/contoso-payments-hm/discoveryrules/payments-frontend-rule", + "identity": { + "type": "UserAssigned", + "userAssignedIdentity": "/subscriptions/4e88bed3-114f-443d-9975-28f64122ec5e/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1", + }, + }, "monitoringProperties": { "identity": { "type": "UserAssigned", @@ -61,11 +68,23 @@ def main(): "userAssignedIdentity": "/subscriptions/4e88bed3-114f-443d-9975-28f64122ec5e/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1", } }, + "sliMonitoringProperties": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentity": "/subscriptions/4e88bed3-114f-443d-9975-28f64122ec5e/resourcegroups/resourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uami1", + }, + "slis": [ + { + "sliId": "/providers/Microsoft.Management/serviceGroups/sampleServiceGroupName/providers/Microsoft.Monitor/slis/checkout-availability", + "type": "Availability", + } + ], + }, }, }, ).result() -# x-ms-original-file: 2026-04-01-preview/Drills_Update_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_Update_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_validate_for_execution_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_validate_for_execution_maximum_set_gen.py index 78a68950969e..dc8082b5b13a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_validate_for_execution_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/drills_validate_for_execution_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/Drills_ValidateForExecution_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Drills_ValidateForExecution_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_create_or_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_create_or_update_maximum_set_gen.py index d40c30436141..a9e58315bc5c 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_create_or_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_create_or_update_maximum_set_gen.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/Enrollments_CreateOrUpdate_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Enrollments_CreateOrUpdate_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_delete_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_delete_maximum_set_gen.py index 1e8cf071d3c6..bd8733ca3fc1 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_delete_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_delete_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/Enrollments_Delete_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Enrollments_Delete_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_get_maximum_set_gen.py index 838bb3f8f1a4..e5e953ef08da 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_get_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/Enrollments_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Enrollments_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_list_maximum_set_gen.py index 83804013efe6..11506dc18339 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/enrollments_list_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Enrollments_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Enrollments_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_create_or_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_create_or_update_maximum_set_gen.py index b0334bf031df..794da0b97db1 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_create_or_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_create_or_update_maximum_set_gen.py @@ -49,6 +49,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_CreateOrUpdate_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_CreateOrUpdate_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_create_or_update_minimum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_create_or_update_minimum_set_gen.py index eb81a0b7fa24..f6800d5f74e5 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_create_or_update_minimum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_create_or_update_minimum_set_gen.py @@ -42,6 +42,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_CreateOrUpdate_MinimumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_CreateOrUpdate_MinimumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_delete_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_delete_maximum_set_gen.py index e065a0006018..b631242396a5 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_delete_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_delete_maximum_set_gen.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_Delete_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_Delete_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_get_maximum_set_gen.py index 0fad4f8769e3..372d621a8a64 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_get_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_list_maximum_set_gen.py index 4c490ae04fe3..1f9db334c2b8 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_list_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_list_minimum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_list_minimum_set_gen.py index b3f34b55c846..b03da891deae 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_list_minimum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_list_minimum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_List_MinimumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_List_MinimumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_recommend_capacity_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_recommend_capacity_maximum_set_gen.py index 44357ada8ff4..3b71989477e1 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_recommend_capacity_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_recommend_capacity_maximum_set_gen.py @@ -43,6 +43,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_RecommendCapacity_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_RecommendCapacity_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_refresh_goal_resources_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_refresh_goal_resources_maximum_set_gen.py index c8b1559af904..966744ae862f 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_refresh_goal_resources_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_refresh_goal_resources_maximum_set_gen.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_RefreshGoalResources_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_RefreshGoalResources_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_update_goal_resources_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_update_goal_resources_maximum_set_gen.py index b759b1f81a89..5851bba47252 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_update_goal_resources_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_update_goal_resources_maximum_set_gen.py @@ -59,6 +59,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_UpdateGoalResources_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_UpdateGoalResources_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_update_maximum_set_gen.py index 08a473add801..b4aeb726aa0a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_assignments_update_maximum_set_gen.py @@ -49,6 +49,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalAssignments_Update_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalAssignments_Update_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_complete_example.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_complete_example.py index 8cd77c91d8ee..d83becc87874 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_complete_example.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_complete_example.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/GoalResources_Get_Complete_Example.json +# x-ms-original-file: 2026-08-31-preview/GoalResources_Get_Complete_Example.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_maximum_set_gen.py index 0f2b3e288e1e..5f953cffaba7 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/GoalResources_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalResources_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_minimum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_minimum_set_gen.py index 88bb977d59a8..33fd712e48df 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_minimum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_get_minimum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/GoalResources_Get_MinimumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalResources_Get_MinimumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_list_maximum_set_gen.py index 4d0584558d5b..a97252952cd5 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_resources_list_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/GoalResources_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalResources_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_create_or_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_create_or_update_maximum_set_gen.py index ab105e0296c9..8c483f794021 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_create_or_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_create_or_update_maximum_set_gen.py @@ -46,6 +46,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/GoalTemplates_CreateOrUpdate_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalTemplates_CreateOrUpdate_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_create_or_update_minimum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_create_or_update_minimum_set_gen.py index 3ad9bb69efed..67cd0ea05130 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_create_or_update_minimum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_create_or_update_minimum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/GoalTemplates_CreateOrUpdate_MinimumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalTemplates_CreateOrUpdate_MinimumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_delete_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_delete_maximum_set_gen.py index 235e3757e8a4..c607ec5ca4cc 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_delete_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_delete_maximum_set_gen.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalTemplates_Delete_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalTemplates_Delete_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_delete_minimum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_delete_minimum_set_gen.py index e11f535e8cfe..24e487301f59 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_delete_minimum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_delete_minimum_set_gen.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalTemplates_Delete_MinimumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalTemplates_Delete_MinimumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_get_maximum_set_gen.py index 8fc264d88269..0fe1c7716434 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_get_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/GoalTemplates_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalTemplates_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_list_maximum_set_gen.py index de1b915e7a4e..258a2b11e6bb 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_list_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/GoalTemplates_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalTemplates_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_list_minimum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_list_minimum_set_gen.py index 18518c737b1f..fb96399aee02 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_list_minimum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_list_minimum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/GoalTemplates_List_MinimumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalTemplates_List_MinimumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_update_maximum_set_gen.py index e90ed662f0f3..8c76ce01e866 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/goal_templates_update_maximum_set_gen.py @@ -45,6 +45,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/GoalTemplates_Update_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/GoalTemplates_Update_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operation_status_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operation_status_get_maximum_set_gen.py index 2fdc3c185629..ed1a07840120 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operation_status_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operation_status_get_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/OperationStatus_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/OperationStatus_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operations_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operations_list_maximum_set_gen.py index 50c119c0e4ad..8f20f98ce3a5 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operations_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operations_list_maximum_set_gen.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Operations_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Operations_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operations_list_minimum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operations_list_minimum_set_gen.py index 5eae62b9391b..f378b7617428 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operations_list_minimum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/operations_list_minimum_set_gen.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/Operations_List_MinimumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/Operations_List_MinimumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_job_resources_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_job_resources_get_maximum_set_gen.py index 6fd7b18d3158..2a2555d7e426 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_job_resources_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_job_resources_get_maximum_set_gen.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryJobResources_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryJobResources_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_job_resources_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_job_resources_list_maximum_set_gen.py index d224b518086e..17687304cfbd 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_job_resources_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_job_resources_list_maximum_set_gen.py @@ -39,6 +39,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/RecoveryJobResources_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryJobResources_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_cancel_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_cancel_maximum_set_gen.py index 7eba2a1cef6c..a4c4d9a5b860 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_cancel_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_cancel_maximum_set_gen.py @@ -35,11 +35,11 @@ def main(): recovery_plan_name="samplePlanName", recovery_job_name="c56888ef-9ced-4001-a6d4-7145a0309bdb", body={"description": "Cancelling the recovery job due to user request"}, - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryJobs_Cancel_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryJobs_Cancel_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_get_maximum_set_gen.py index ac459aa4c027..d4c17609c03f 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_get_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryJobs_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryJobs_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_list_maximum_set_gen.py index 8394d7a0294b..33c2c2e90edf 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_list_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/RecoveryJobs_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryJobs_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_resume_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_resume_maximum_set_gen.py index 62c29d7c4510..ae5edd398f10 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_resume_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_resume_maximum_set_gen.py @@ -35,11 +35,11 @@ def main(): recovery_plan_name="samplePlanName", recovery_job_name="c56888ef-9ced-4001-a6d4-7145a0309bdb", body={"description": "Resuming the recovery job after user verification"}, - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryJobs_Resume_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryJobs_Resume_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_retry_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_retry_maximum_set_gen.py index c721c068be85..12dd9ebde310 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_retry_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_jobs_retry_maximum_set_gen.py @@ -34,11 +34,11 @@ def main(): service_group_name="sampleServiceGroupName", recovery_plan_name="samplePlanName", recovery_job_name="c56888ef-9ced-4001-a6d4-7145a0309bdb", - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryJobs_Retry_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryJobs_Retry_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_check_readiness_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_check_readiness_maximum_set_gen.py index aa6be408520c..9e415c23c9b9 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_check_readiness_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_check_readiness_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_CheckReadiness_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_CheckReadiness_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_failover_commit_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_failover_commit_maximum_set_gen.py index 0929dd25267c..8f94912a4395 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_failover_commit_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_failover_commit_maximum_set_gen.py @@ -33,11 +33,11 @@ def main(): response = client.recovery_plan_actions.begin_failover_commit( service_group_name="sampleServiceGroupName", recovery_plan_name="samplePlanName", - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_FailoverCommit_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_FailoverCommit_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_failover_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_failover_maximum_set_gen.py index 08e0b92b101a..c17281d9de08 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_failover_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_failover_maximum_set_gen.py @@ -44,11 +44,11 @@ def main(): "sourceLocations": ["westus"], }, }, - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_Failover_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_Failover_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_finalize_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_finalize_maximum_set_gen.py index 6c526f23a03c..0e160b3420b9 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_finalize_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_finalize_maximum_set_gen.py @@ -33,11 +33,11 @@ def main(): response = client.recovery_plan_actions.begin_finalize( service_group_name="sampleServiceGroupName", recovery_plan_name="samplePlanName", - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_Finalize_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_Finalize_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_reprotect_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_reprotect_maximum_set_gen.py index 104926df56af..84a397e7a0e3 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_reprotect_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_reprotect_maximum_set_gen.py @@ -33,11 +33,11 @@ def main(): response = client.recovery_plan_actions.begin_reprotect( service_group_name="sampleServiceGroupName", recovery_plan_name="samplePlanName", - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_Reprotect_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_Reprotect_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_test_failover_cleanup_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_test_failover_cleanup_maximum_set_gen.py index 153fed76f994..a7e2b81b1f4f 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_test_failover_cleanup_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_test_failover_cleanup_maximum_set_gen.py @@ -34,11 +34,11 @@ def main(): service_group_name="sampleServiceGroupName", recovery_plan_name="samplePlanName", body={"comments": "Test failover clean-up comments"}, - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_TestFailoverCleanup_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_TestFailoverCleanup_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_test_failover_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_test_failover_maximum_set_gen.py index d18565fcbb45..254df9e3668e 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_test_failover_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_test_failover_maximum_set_gen.py @@ -49,6 +49,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_TestFailover_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_TestFailover_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_update_resources_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_update_resources_maximum_set_gen.py index ff0a76924634..fe3cd6bfbc79 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_update_resources_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_update_resources_maximum_set_gen.py @@ -56,11 +56,11 @@ def main(): } ], }, - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_UpdateResources_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_UpdateResources_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_failover_commit_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_failover_commit_maximum_set_gen.py index 12e059fbe4e8..a97c5babf0b7 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_failover_commit_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_failover_commit_maximum_set_gen.py @@ -33,11 +33,11 @@ def main(): response = client.recovery_plan_actions.begin_validate_for_failover_commit( service_group_name="sampleServiceGroupName", recovery_plan_name="samplePlanName", - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_ValidateForFailoverCommit_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_ValidateForFailoverCommit_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_failover_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_failover_maximum_set_gen.py index 0675d7d8d91c..c666969452b5 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_failover_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_failover_maximum_set_gen.py @@ -37,11 +37,11 @@ def main(): "failoverDirection": "FromSpecificLocations", "failoverRequestProperties": {"sourceLocations": ["westus"]}, }, - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_ValidateForFailover_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_ValidateForFailover_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_operation_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_operation_maximum_set_gen.py index aa7fcbf8cb28..fbe2548cf20f 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_operation_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_operation_maximum_set_gen.py @@ -34,11 +34,11 @@ def main(): service_group_name="sampleServiceGroupName", recovery_plan_name="samplePlanName", body={"operationName": "Failover"}, - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_ValidateForOperation_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_ValidateForOperation_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_reprotect_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_reprotect_maximum_set_gen.py index 41daf5b09eab..83c49b9cb7a6 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_reprotect_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_reprotect_maximum_set_gen.py @@ -33,11 +33,11 @@ def main(): response = client.recovery_plan_actions.begin_validate_for_reprotect( service_group_name="nrhlfd", recovery_plan_name="samplePlanName", - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_ValidateForReprotect_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_ValidateForReprotect_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_test_failover_cleanup_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_test_failover_cleanup_maximum_set_gen.py index 81899c85e533..7db5bc3ddc5b 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_test_failover_cleanup_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_test_failover_cleanup_maximum_set_gen.py @@ -33,11 +33,11 @@ def main(): response = client.recovery_plan_actions.begin_validate_for_test_failover_cleanup( service_group_name="sampleServiceGroupName", recovery_plan_name="samplePlanName", - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_ValidateForTestFailoverCleanup_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_ValidateForTestFailoverCleanup_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_test_failover_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_test_failover_maximum_set_gen.py index 9e8b625d9eea..711367d8616c 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_test_failover_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plan_actions_validate_for_test_failover_maximum_set_gen.py @@ -37,11 +37,11 @@ def main(): "failoverDirection": "FromSpecificLocations", "failoverRequestProperties": {"sourceLocations": ["westus"]}, }, - operation_id="str", + operation_id="qmn", ).result() print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlanActions_ValidateForTestFailover_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlanActions_ValidateForTestFailover_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_create_or_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_create_or_update_maximum_set_gen.py index 9678d75a04fb..c16ebb3e5a7f 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_create_or_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_create_or_update_maximum_set_gen.py @@ -540,6 +540,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlans_CreateOrUpdate_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlans_CreateOrUpdate_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_delete_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_delete_maximum_set_gen.py index cbf0a56f0644..ef653ca16642 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_delete_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_delete_maximum_set_gen.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/RecoveryPlans_Delete_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlans_Delete_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_get_maximum_set_gen.py index a177fe754089..c1365d1c626b 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_get_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlans_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlans_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_list_maximum_set_gen.py index 620d6d2ad499..2c47f47f14f3 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_list_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlans_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlans_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_update_maximum_set_gen.py index 70c3841ff46f..e61328b47dcb 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_plans_update_maximum_set_gen.py @@ -1579,6 +1579,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryPlans_Update_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryPlans_Update_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_get_cross_zone_vm_recovery.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_get_cross_zone_vm_recovery.py new file mode 100644 index 000000000000..1ac737cd36e1 --- /dev/null +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_get_cross_zone_vm_recovery.py @@ -0,0 +1,43 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.resiliencemanagement import ResilienceManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-resiliencemanagement +# USAGE + python recovery_resources_get_cross_zone_vm_recovery.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = ResilienceManagementClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.recovery_resources.get( + service_group_name="sampleServiceGroupName", + recovery_plan_name="samplePlanName", + recovery_resource_name="12345678-9012-3456-7890-123456789012", + ) + print(response) + + +# x-ms-original-file: 2026-08-31-preview/RecoveryResources_Get_CrossZoneVMRecovery.json +if __name__ == "__main__": + main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_get_maximum_set_gen.py index 8ceeac438aab..ecc71fc6425c 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_get_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/RecoveryResources_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryResources_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_list_maximum_set_gen.py index 0a2f5c19b113..ccc6521ac6fd 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/recovery_resources_list_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/RecoveryResources_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/RecoveryResources_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_get_maximum_set_gen.py index 5f77e5fc2c71..2ea43ae52076 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_get_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/UnifiedResilienceItems_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/UnifiedResilienceItems_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_list_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_list_maximum_set_gen.py index e66fd881ff78..0a45f87c5ebc 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_list_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_list_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/UnifiedResilienceItems_List_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/UnifiedResilienceItems_List_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_list_minimum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_list_minimum_set_gen.py index 800895cb28f8..2f9c00927865 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_list_minimum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/unified_resilience_items_list_minimum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/UnifiedResilienceItems_List_MinimumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/UnifiedResilienceItems_List_MinimumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_create_or_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_create_or_update_maximum_set_gen.py index ec8a44b51855..c284f2b0b506 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_create_or_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_create_or_update_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/UsagePlans_CreateOrUpdate_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/UsagePlans_CreateOrUpdate_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_delete_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_delete_maximum_set_gen.py index a1dcd6d7e02d..e54b3c9b1e25 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_delete_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_delete_maximum_set_gen.py @@ -36,6 +36,6 @@ def main(): ).result() -# x-ms-original-file: 2026-04-01-preview/UsagePlans_Delete_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/UsagePlans_Delete_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_get_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_get_maximum_set_gen.py index 353717e157da..393202b9f39c 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_get_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_get_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/UsagePlans_Get_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/UsagePlans_Get_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_list_by_resource_group_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_list_by_resource_group_maximum_set_gen.py index dedd34a46979..b90f7b7093b9 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_list_by_resource_group_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_list_by_resource_group_maximum_set_gen.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/UsagePlans_ListByResourceGroup_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/UsagePlans_ListByResourceGroup_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_list_by_subscription_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_list_by_subscription_maximum_set_gen.py index 4f17e9b07d97..8da3abdf233b 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_list_by_subscription_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_list_by_subscription_maximum_set_gen.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-04-01-preview/UsagePlans_ListBySubscription_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/UsagePlans_ListBySubscription_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_update_maximum_set_gen.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_update_maximum_set_gen.py index 0dcadd4a26fa..76efa3228dea 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_update_maximum_set_gen.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_samples/usage_plans_update_maximum_set_gen.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-04-01-preview/UsagePlans_Update_MaximumSet_Gen.json +# x-ms-original-file: 2026-08-31-preview/UsagePlans_Update_MaximumSet_Gen.json if __name__ == "__main__": main() diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drill_runs_operations.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drill_runs_operations.py index 761c0d53ab76..ea39c6c73ccd 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drill_runs_operations.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drill_runs_operations.py @@ -48,17 +48,6 @@ def test_drill_runs_begin_fail_over(self, resource_group): service_group_name="str", drill_name="str", drill_run_name="str", - body={ - "autoFailover": "str", - "failoverProperties": { - "failoverDirection": "str", - "failoverRequestProperties": { - "sourceLocations": ["str"], - "executionConfigurations": {"userConsent": "str"}, - "selectedResourceIds": ["str"], - }, - }, - }, operation_id="str", ).result() # call '.result()' to poll until service return final result @@ -118,3 +107,28 @@ def test_drill_runs_begin_mark_as_complete(self, resource_group): # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_drill_runs_begin_generate_report(self, resource_group): + response = self.client.drill_runs.begin_generate_report( + service_group_name="str", + drill_name="str", + drill_run_name="str", + operation_id="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_drill_runs_list_report_download_url(self, resource_group): + response = self.client.drill_runs.list_report_download_url( + service_group_name="str", + drill_name="str", + drill_run_name="str", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drill_runs_operations_async.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drill_runs_operations_async.py index 2e8ded3ea217..1215c4ce407c 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drill_runs_operations_async.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drill_runs_operations_async.py @@ -50,17 +50,6 @@ async def test_drill_runs_begin_fail_over(self, resource_group): service_group_name="str", drill_name="str", drill_run_name="str", - body={ - "autoFailover": "str", - "failoverProperties": { - "failoverDirection": "str", - "failoverRequestProperties": { - "sourceLocations": ["str"], - "executionConfigurations": {"userConsent": "str"}, - "selectedResourceIds": ["str"], - }, - }, - }, operation_id="str", ) ).result() # call '.result()' to poll until service return final result @@ -129,3 +118,30 @@ async def test_drill_runs_begin_mark_as_complete(self, resource_group): # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_drill_runs_begin_generate_report(self, resource_group): + response = await ( + await self.client.drill_runs.begin_generate_report( + service_group_name="str", + drill_name="str", + drill_run_name="str", + operation_id="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_drill_runs_list_report_download_url(self, resource_group): + response = await self.client.drill_runs.list_report_download_url( + service_group_name="str", + drill_name="str", + drill_run_name="str", + ) + + # please add some check logic here by yourself + # ... diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drills_operations.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drills_operations.py index c4698fc8791b..3777235e7632 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drills_operations.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drills_operations.py @@ -81,6 +81,10 @@ def test_drills_begin_update(self, resource_group): "faultDurationInMin": 0, }, "drillAssetProperties": {"region": "str", "subscription": "str", "resourceGroup": "str"}, + "healthModelMonitoringProperties": { + "discoveryRuleId": "str", + "identity": {"type": "str", "userAssignedIdentity": "str"}, + }, "monitoringProperties": { "dataCollectionEndpointId": "str", "identity": {"type": "str", "userAssignedIdentity": "str"}, @@ -94,6 +98,10 @@ def test_drills_begin_update(self, resource_group): "recoveryPlanId": "str", "recoveryPlanResourceExcludedCount": 0, }, + "sliMonitoringProperties": { + "identity": {"type": "str", "userAssignedIdentity": "str"}, + "slis": [{"sliId": "str", "type": "str"}], + }, }, }, ).result() # call '.result()' to poll until service return final result @@ -128,7 +136,7 @@ def test_drills_begin_validate_for_execution(self, resource_group): response = self.client.drills.begin_validate_for_execution( service_group_name="str", drill_name="str", - body={"validateForExecutionProperties": {"sourceLocations": ["str"]}}, + body={"validateForExecutionProperties": {"operationName": "str", "sourceLocations": ["str"]}}, operation_id="str", ).result() # call '.result()' to poll until service return final result diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drills_operations_async.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drills_operations_async.py index 41597456ea3d..e7d0f7aaa1bc 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drills_operations_async.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_drills_operations_async.py @@ -85,6 +85,10 @@ async def test_drills_begin_update(self, resource_group): "faultDurationInMin": 0, }, "drillAssetProperties": {"region": "str", "subscription": "str", "resourceGroup": "str"}, + "healthModelMonitoringProperties": { + "discoveryRuleId": "str", + "identity": {"type": "str", "userAssignedIdentity": "str"}, + }, "monitoringProperties": { "dataCollectionEndpointId": "str", "identity": {"type": "str", "userAssignedIdentity": "str"}, @@ -98,6 +102,10 @@ async def test_drills_begin_update(self, resource_group): "recoveryPlanId": "str", "recoveryPlanResourceExcludedCount": 0, }, + "sliMonitoringProperties": { + "identity": {"type": "str", "userAssignedIdentity": "str"}, + "slis": [{"sliId": "str", "type": "str"}], + }, }, }, ) @@ -136,7 +144,7 @@ async def test_drills_begin_validate_for_execution(self, resource_group): await self.client.drills.begin_validate_for_execution( service_group_name="str", drill_name="str", - body={"validateForExecutionProperties": {"sourceLocations": ["str"]}}, + body={"validateForExecutionProperties": {"operationName": "str", "sourceLocations": ["str"]}}, operation_id="str", ) ).result() # call '.result()' to poll until service return final result diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_goal_assignments_operations.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_goal_assignments_operations.py index e899c79fa03b..dfe003710454 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_goal_assignments_operations.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_goal_assignments_operations.py @@ -39,8 +39,6 @@ def test_goal_assignments_begin_create_or_update(self, resource_group): "id": "str", "name": "str", "properties": { - "goalAssignmentType": "str", - "goalTemplateId": "str", "errorDetails": { "additionalInfo": [{"info": {}, "type": "str"}], "code": "str", @@ -48,7 +46,10 @@ def test_goal_assignments_begin_create_or_update(self, resource_group): "message": "str", "target": "str", }, + "goalAssignmentType": "str", + "goalTemplateId": "str", "provisioningState": "str", + "requireZonalResiliency": bool, "serviceLevelResources": [ {"serviceLevelIndicatorResourceId": "str", "serviceLevelObjectiveResourceId": "str"} ], @@ -78,8 +79,6 @@ def test_goal_assignments_begin_update(self, resource_group): "id": "str", "name": "str", "properties": { - "goalAssignmentType": "str", - "goalTemplateId": "str", "errorDetails": { "additionalInfo": [{"info": {}, "type": "str"}], "code": "str", @@ -87,7 +86,10 @@ def test_goal_assignments_begin_update(self, resource_group): "message": "str", "target": "str", }, + "goalAssignmentType": "str", + "goalTemplateId": "str", "provisioningState": "str", + "requireZonalResiliency": bool, "serviceLevelResources": [ {"serviceLevelIndicatorResourceId": "str", "serviceLevelObjectiveResourceId": "str"} ], @@ -119,13 +121,13 @@ def test_goal_assignments_begin_update_goal_resources(self, resource_group): "id": "str", "name": "str", "properties": { - "highAvailabilityAttestationStatus": "str", - "highAvailabilityGoalParticipation": "str", "resourceArmId": "str", "disasterRecoveryAttestationStatus": "str", "disasterRecoveryGoalParticipation": "str", "exclusionReasonForDisasterRecoveryGoals": "str", "exclusionReasonForHighAvailabilityGoals": "str", + "highAvailabilityAttestationStatus": "str", + "highAvailabilityGoalParticipation": "str", "provisioningState": "str", "serviceGroupMemberships": [{"membershipType": "str", "serviceGroupId": "str"}], "userConfirmationForHighAvailability": [ @@ -135,6 +137,18 @@ def test_goal_assignments_begin_update_goal_resources(self, resource_group): "reasonForRequestingConfirmation": "str", } ], + "zonalResiliency": { + "attestationStatus": "str", + "exclusionReason": "str", + "goalParticipation": "str", + "userConfirmation": [ + { + "confirmationStatus": "str", + "solutionDisplayName": "str", + "reasonForRequestingConfirmation": "str", + } + ], + }, }, "systemData": { "createdAt": "2020-02-20 00:00:00", diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_goal_assignments_operations_async.py b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_goal_assignments_operations_async.py index c7958712fa51..260c9dc8925b 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_goal_assignments_operations_async.py +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/generated_tests/test_resilience_management_goal_assignments_operations_async.py @@ -41,8 +41,6 @@ async def test_goal_assignments_begin_create_or_update(self, resource_group): "id": "str", "name": "str", "properties": { - "goalAssignmentType": "str", - "goalTemplateId": "str", "errorDetails": { "additionalInfo": [{"info": {}, "type": "str"}], "code": "str", @@ -50,7 +48,10 @@ async def test_goal_assignments_begin_create_or_update(self, resource_group): "message": "str", "target": "str", }, + "goalAssignmentType": "str", + "goalTemplateId": "str", "provisioningState": "str", + "requireZonalResiliency": bool, "serviceLevelResources": [ {"serviceLevelIndicatorResourceId": "str", "serviceLevelObjectiveResourceId": "str"} ], @@ -82,8 +83,6 @@ async def test_goal_assignments_begin_update(self, resource_group): "id": "str", "name": "str", "properties": { - "goalAssignmentType": "str", - "goalTemplateId": "str", "errorDetails": { "additionalInfo": [{"info": {}, "type": "str"}], "code": "str", @@ -91,7 +90,10 @@ async def test_goal_assignments_begin_update(self, resource_group): "message": "str", "target": "str", }, + "goalAssignmentType": "str", + "goalTemplateId": "str", "provisioningState": "str", + "requireZonalResiliency": bool, "serviceLevelResources": [ {"serviceLevelIndicatorResourceId": "str", "serviceLevelObjectiveResourceId": "str"} ], @@ -125,13 +127,13 @@ async def test_goal_assignments_begin_update_goal_resources(self, resource_group "id": "str", "name": "str", "properties": { - "highAvailabilityAttestationStatus": "str", - "highAvailabilityGoalParticipation": "str", "resourceArmId": "str", "disasterRecoveryAttestationStatus": "str", "disasterRecoveryGoalParticipation": "str", "exclusionReasonForDisasterRecoveryGoals": "str", "exclusionReasonForHighAvailabilityGoals": "str", + "highAvailabilityAttestationStatus": "str", + "highAvailabilityGoalParticipation": "str", "provisioningState": "str", "serviceGroupMemberships": [{"membershipType": "str", "serviceGroupId": "str"}], "userConfirmationForHighAvailability": [ @@ -141,6 +143,18 @@ async def test_goal_assignments_begin_update_goal_resources(self, resource_group "reasonForRequestingConfirmation": "str", } ], + "zonalResiliency": { + "attestationStatus": "str", + "exclusionReason": "str", + "goalParticipation": "str", + "userConfirmation": [ + { + "confirmationStatus": "str", + "solutionDisplayName": "str", + "reasonForRequestingConfirmation": "str", + } + ], + }, }, "systemData": { "createdAt": "2020-02-20 00:00:00", diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/tsp-location.yaml b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/tsp-location.yaml index 4c54170e0d37..626f3824992e 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/tsp-location.yaml +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/azureresiliencemanagement/resource-manager/Microsoft.AzureResilienceManagement/AzureResilienceManagement -commit: 589a0fec47674e91982ecef00d23aa60e53ff281 +commit: 736e61cb6c5059d5f75bac47b54ce57c6ad130f7 repo: Azure/azure-rest-api-specs additionalDirectories: From 0c03cc401dafe9fcfa747be22dfc7da9e4b2880a Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 Date: Mon, 24 Aug 2026 10:44:12 +0800 Subject: [PATCH 2/3] update Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../azure-mgmt-resiliencemanagement/CHANGELOG.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md index 59589b37ad36..f477aac9e70a 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md @@ -47,12 +47,13 @@ - Added enum `SliType` - Added enum `SliTypeMatchState` - Added model `UserConfirmationItem` - - Model `DrillRunsOperations` added parameter `content_type` in method `begin_reprotect` - - Model `DrillRunsOperations` added method `begin_generate_report` - - Model `DrillRunsOperations` added method `list_report_download_url` + - Operation group `DrillRunsOperations` added parameter `content_type` in method `begin_reprotect` + - Operation group `DrillRunsOperations` added method `begin_generate_report` + - Operation group `DrillRunsOperations` added method `list_report_download_url` ### Breaking Changes + - This version introduces new hybrid models which have dual dictionary and model nature. Please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration. - Model `DrillProperties` deleted or renamed its instance variable `managed_on_behalf_of_configuration` - Model `RegionalDrillProperties` deleted or renamed its instance variable `managed_on_behalf_of_configuration` - Model `ZonalDrillProperties` deleted or renamed its instance variable `managed_on_behalf_of_configuration` From 369559661a106571a70aa30e48e6dc0be6679775 Mon Sep 17 00:00:00 2001 From: ChenxiJiang333 <119990644+ChenxiJiang333@users.noreply.github.com> Date: Mon, 24 Aug 2026 10:49:18 +0800 Subject: [PATCH 3/3] Update CHANGELOG.md --- .../azure-mgmt-resiliencemanagement/CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md index f477aac9e70a..060426baa088 100644 --- a/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md +++ b/sdk/resiliencemanagement/azure-mgmt-resiliencemanagement/CHANGELOG.md @@ -53,7 +53,6 @@ ### Breaking Changes - - This version introduces new hybrid models which have dual dictionary and model nature. Please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration. - Model `DrillProperties` deleted or renamed its instance variable `managed_on_behalf_of_configuration` - Model `RegionalDrillProperties` deleted or renamed its instance variable `managed_on_behalf_of_configuration` - Model `ZonalDrillProperties` deleted or renamed its instance variable `managed_on_behalf_of_configuration` @@ -65,4 +64,4 @@ ### Other Changes - - Initial version \ No newline at end of file + - Initial version