capo-backup 0.2.0__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {capo_backup-0.2.0/src/capo_backup.egg-info → capo_backup-0.5.0}/PKG-INFO +4 -4
- {capo_backup-0.2.0 → capo_backup-0.5.0}/README.md +2 -2
- {capo_backup-0.2.0 → capo_backup-0.5.0}/pyproject.toml +2 -2
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_auth/_signers.py +50 -17
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_auth/_sigv4.py +164 -19
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/associate_backup_vault_mpa_approval_team.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/cancel_legal_hold.py +7 -3
- capo_backup-0.5.0/src/capo_backup/_operations/cryo_controller_user_manager/create_backup_access_point.py +185 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_backup_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_backup_selection.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_backup_vault.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_framework.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_legal_hold.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_logically_air_gapped_backup_vault.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_report_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_restore_access_backup_vault.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_restore_testing_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_restore_testing_selection.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/create_tiering_configuration.py +7 -3
- capo_backup-0.5.0/src/capo_backup/_operations/cryo_controller_user_manager/delete_backup_access_point.py +140 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_backup_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_backup_selection.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_backup_vault.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_backup_vault_access_policy.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_backup_vault_lock_configuration.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_backup_vault_notifications.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_framework.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_recovery_point.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_report_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_restore_testing_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_restore_testing_selection.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/delete_tiering_configuration.py +7 -3
- capo_backup-0.5.0/src/capo_backup/_operations/cryo_controller_user_manager/describe_backup_access_point.py +167 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_backup_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_backup_vault.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_copy_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_framework.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_global_settings.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_protected_resource.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_recovery_point.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_region_settings.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_report_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_report_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_restore_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/describe_scan_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/disassociate_backup_vault_mpa_approval_team.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/disassociate_recovery_point.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/disassociate_recovery_point_from_parent.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/export_backup_plan_template.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_backup_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_backup_plan_from_json.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_backup_plan_from_template.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_backup_selection.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_backup_vault_access_policy.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_backup_vault_notifications.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_legal_hold.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_pitr_malware_scan_results.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_recovery_point_index_details.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_recovery_point_restore_metadata.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_restore_job_metadata.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_restore_testing_inferred_metadata.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_restore_testing_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_restore_testing_selection.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_supported_resource_types.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/get_tiering_configuration.py +7 -3
- capo_backup-0.5.0/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_access_points.py +156 -0
- capo_backup-0.5.0/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_access_points_by_recovery_point.py +159 -0
- capo_backup-0.5.0/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_access_points_by_resource.py +154 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_job_summaries.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_jobs.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_plan_templates.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_plan_versions.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_plans.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_selections.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_backup_vaults.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_copy_job_summaries.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_copy_jobs.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_frameworks.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_indexed_recovery_points.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_legal_holds.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_protected_resources.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_protected_resources_by_backup_vault.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_recovery_points_by_backup_vault.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_recovery_points_by_legal_hold.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_recovery_points_by_resource.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_report_jobs.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_report_plans.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_restore_access_backup_vaults.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_restore_job_summaries.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_restore_jobs.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_restore_jobs_by_protected_resource.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_restore_testing_plans.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_restore_testing_selections.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_scan_job_summaries.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_scan_jobs.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_tags.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/list_tiering_configurations.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/put_backup_vault_access_policy.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/put_backup_vault_lock_configuration.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/put_backup_vault_notifications.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/put_restore_validation_result.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/revoke_restore_access_backup_vault.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/start_backup_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/start_copy_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/start_report_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/start_restore_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/start_scan_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/stop_backup_job.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/tag_resource.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/untag_resource.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_backup_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_framework.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_global_settings.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_recovery_point_index_settings.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_recovery_point_lifecycle.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_region_settings.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_report_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_restore_testing_plan.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_restore_testing_selection.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_operations/cryo_controller_user_manager/update_tiering_configuration.py +7 -3
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_protocol/eventstream.py +15 -13
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_services/_pipeline.py +17 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_services/async_backup.py +426 -6
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_services/backup.py +420 -6
- capo_backup-0.5.0/src/capo_backup/types/access_point_arn.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/access_point_metadata_map.py +29 -0
- capo_backup-0.5.0/src/capo_backup/types/access_point_metadata_map_key_string.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/access_point_metadata_map_value_string.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/access_point_name.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/access_point_policy.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/access_point_status.py +22 -0
- capo_backup-0.5.0/src/capo_backup/types/backup_access_points.py +31 -0
- capo_backup-0.5.0/src/capo_backup/types/backup_vault_arn.py +5 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_vault_event.py +6 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_vault_list_member.py +1 -1
- capo_backup-0.5.0/src/capo_backup/types/create_backup_access_point_request.py +82 -0
- capo_backup-0.5.0/src/capo_backup/types/create_backup_access_point_response.py +49 -0
- capo_backup-0.5.0/src/capo_backup/types/delete_backup_access_point_input.py +24 -0
- capo_backup-0.5.0/src/capo_backup/types/describe_backup_access_point_input.py +24 -0
- capo_backup-0.5.0/src/capo_backup/types/describe_backup_access_point_response.py +149 -0
- capo_backup-0.5.0/src/capo_backup/types/list_access_points_member.py +140 -0
- capo_backup-0.5.0/src/capo_backup/types/list_backup_access_points_by_recovery_point_request.py +29 -0
- capo_backup-0.5.0/src/capo_backup/types/list_backup_access_points_by_recovery_point_request_max_results_integer.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/list_backup_access_points_by_recovery_point_response.py +49 -0
- capo_backup-0.5.0/src/capo_backup/types/list_backup_access_points_by_resource_request.py +29 -0
- capo_backup-0.5.0/src/capo_backup/types/list_backup_access_points_by_resource_request_max_results_integer.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/list_backup_access_points_by_resource_response.py +49 -0
- capo_backup-0.5.0/src/capo_backup/types/list_backup_access_points_request.py +26 -0
- capo_backup-0.5.0/src/capo_backup/types/list_backup_access_points_request_max_results_integer.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/list_backup_access_points_response.py +49 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_recovery_points_by_resource_input.py +1 -1
- capo_backup-0.5.0/src/capo_backup/types/recovery_point_arn.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/resource_arn.py +5 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_recovery_point_selection.py +1 -1
- capo_backup-0.5.0/src/capo_backup/types/tag_map.py +29 -0
- capo_backup-0.5.0/src/capo_backup/types/tag_map_key_string.py +5 -0
- capo_backup-0.5.0/src/capo_backup/types/tag_map_value_string.py +5 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0/src/capo_backup.egg-info}/PKG-INFO +4 -4
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup.egg-info/SOURCES.txt +35 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/tests/test_sigv4.py +217 -16
- {capo_backup-0.2.0 → capo_backup-0.5.0}/LICENSE +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/setup.cfg +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/__init__.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_async.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_auth/_identity.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_auth/_providers.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_auth/_zapros_handler.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_body.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_iter.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_pagination.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_protocol/__init__.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_protocol/errors.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_protocol/serialize.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_protocol/xml.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_rule_engine/__init__.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_rule_engine/_aws_partition.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_rule_engine/_endpoint_rule_set.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_rule_engine/_endpoint_runtime.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/_services/_aws_config.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/__init__.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/_base.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/already_exists_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/conflict_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/dependency_failure_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/invalid_parameter_value_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/invalid_request_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/invalid_resource_state_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/limit_exceeded_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/missing_parameter_value_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/resource_not_found_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/errors/service_unavailable_exception.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/py.typed +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/_prelude/blob.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/_prelude/timestamp.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/account_id.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/advanced_backup_setting.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/advanced_backup_settings.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/aggregated_scan_result.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/aggregation_period.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/arn.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/associate_backup_vault_mpa_approval_team_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_job.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_job_child_jobs_in_state.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_job_state.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_job_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_job_summary.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_job_summary_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_jobs_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_option_key.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_option_value.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_options.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_plan.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_plan_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_plan_templates_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_plan_templates_list_member.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_plan_versions_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_plans_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_plans_list_member.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_rule.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_rule_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_rule_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_rules.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_rules_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_selection.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_selection_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_selections_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_selections_list_member.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_vault_events.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_vault_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_vault_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/backup_vault_name_or_wildcard.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/boolean.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/boolean2.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/calculated_lifecycle.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/cancel_legal_hold_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/cancel_legal_hold_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/compliance_resource_id_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/condition.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/condition_key.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/condition_parameter.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/condition_parameters.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/condition_type.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/condition_value.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/conditions.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/control_input_parameter.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/control_input_parameters.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/control_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/control_scope.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/copy_action.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/copy_actions.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/copy_job.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/copy_job_child_jobs_in_state.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/copy_job_state.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/copy_job_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/copy_job_summary.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/copy_job_summary_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/copy_jobs_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_backup_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_backup_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_backup_selection_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_backup_selection_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_backup_vault_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_backup_vault_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_framework_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_framework_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_legal_hold_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_legal_hold_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_logically_air_gapped_backup_vault_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_logically_air_gapped_backup_vault_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_report_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_report_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_restore_access_backup_vault_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_restore_access_backup_vault_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_restore_testing_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_restore_testing_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_restore_testing_selection_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_restore_testing_selection_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_tiering_configuration_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/create_tiering_configuration_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/creator_request_id.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/cron_expression.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/date_range.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_backup_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_backup_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_backup_selection_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_backup_vault_access_policy_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_backup_vault_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_backup_vault_lock_configuration_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_backup_vault_notifications_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_framework_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_recovery_point_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_report_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_restore_testing_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_restore_testing_selection_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_tiering_configuration_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/delete_tiering_configuration_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_backup_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_backup_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_backup_vault_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_backup_vault_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_copy_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_copy_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_framework_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_framework_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_global_settings_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_global_settings_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_protected_resource_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_protected_resource_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_recovery_point_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_recovery_point_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_region_settings_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_region_settings_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_report_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_report_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_report_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_report_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_restore_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_restore_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_scan_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/describe_scan_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/disassociate_backup_vault_mpa_approval_team_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/disassociate_recovery_point_from_parent_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/disassociate_recovery_point_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/encryption_key_type.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/export_backup_plan_template_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/export_backup_plan_template_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/format_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/framework.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/framework_control.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/framework_controls.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/framework_description.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/framework_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/framework_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_plan_from_json_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_plan_from_json_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_plan_from_template_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_plan_from_template_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_selection_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_selection_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_vault_access_policy_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_vault_access_policy_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_vault_notifications_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_backup_vault_notifications_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_legal_hold_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_legal_hold_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_pitr_malware_scan_results_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_pitr_malware_scan_results_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_recovery_point_index_details_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_recovery_point_index_details_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_recovery_point_restore_metadata_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_recovery_point_restore_metadata_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_restore_job_metadata_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_restore_job_metadata_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_restore_testing_inferred_metadata_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_restore_testing_inferred_metadata_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_restore_testing_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_restore_testing_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_restore_testing_selection_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_restore_testing_selection_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_supported_resource_types_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_tiering_configuration_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/get_tiering_configuration_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/global_settings.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/global_settings_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/global_settings_value.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/iam_policy.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/iam_role_arn.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/index.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/index_action.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/index_actions.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/index_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/indexed_recovery_point.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/indexed_recovery_point_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/integer.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/is_enabled.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/key_value.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/key_value_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/latest_mpa_approval_team_update.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/latest_revoke_request.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/legal_hold.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/legal_hold_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/legal_holds_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/lifecycle.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/lifecycle_delete_after_event.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_job_summaries_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_job_summaries_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_jobs_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_jobs_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_plan_templates_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_plan_templates_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_plan_versions_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_plan_versions_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_plans_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_plans_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_selections_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_selections_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_vaults_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_backup_vaults_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_copy_job_summaries_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_copy_job_summaries_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_copy_jobs_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_copy_jobs_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_frameworks_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_frameworks_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_indexed_recovery_points_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_indexed_recovery_points_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_legal_holds_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_legal_holds_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_of_tags.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_protected_resources_by_backup_vault_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_protected_resources_by_backup_vault_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_protected_resources_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_protected_resources_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_recovery_points_by_backup_vault_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_recovery_points_by_backup_vault_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_recovery_points_by_legal_hold_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_recovery_points_by_legal_hold_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_recovery_points_by_resource_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_report_jobs_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_report_jobs_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_report_plans_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_report_plans_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_access_backup_vaults_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_access_backup_vaults_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_job_summaries_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_job_summaries_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_jobs_by_protected_resource_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_jobs_by_protected_resource_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_jobs_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_jobs_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_testing_plans_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_testing_plans_input_max_results_integer.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_testing_plans_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_testing_selections_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_testing_selections_input_max_results_integer.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_restore_testing_selections_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_scan_job_summaries_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_scan_job_summaries_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_scan_jobs_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_scan_jobs_input_max_results_integer.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_scan_jobs_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_tags_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_tags_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_tiering_configurations_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/list_tiering_configurations_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/long.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/long2.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/malware_scanner.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/max_framework_inputs.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/max_results.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/max_scheduled_runs_preview.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/message_category.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/metadata.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/metadata_key.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/metadata_value.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/mpa_revoke_session_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/mpa_session_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/parameter_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/parameter_value.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/protected_resource.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/protected_resource_conditions.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/protected_resources_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/put_backup_vault_access_policy_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/put_backup_vault_lock_configuration_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/put_backup_vault_notifications_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/put_restore_validation_result_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/recovery_point_by_backup_vault.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/recovery_point_by_backup_vault_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/recovery_point_by_resource.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/recovery_point_by_resource_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/recovery_point_creator.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/recovery_point_member.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/recovery_point_selection.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/recovery_point_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/recovery_points_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/region.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_delivery_channel.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_destination.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_job.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_job_id.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_job_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_plan.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_plan_description.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_plan_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_plan_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/report_setting.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/requester_comment.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/resource_arns.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/resource_identifiers.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/resource_selection.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/resource_selections.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/resource_type.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/resource_type_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/resource_type_management_preference.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/resource_type_opt_in_preference.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/resource_types.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_access_backup_vault_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_access_backup_vault_list_member.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_deletion_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_job_creator.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_job_id.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_job_state.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_job_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_job_summary.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_job_summary_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_jobs_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_jobs_list_member.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_plan_for_create.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_plan_for_get.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_plan_for_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_plan_for_update.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_plans.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_recovery_point_selection_algorithm.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_recovery_point_type.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_recovery_point_type_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_selection_for_create.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_selection_for_get.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_selection_for_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_selection_for_update.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_testing_selections.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/restore_validation_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/revoke_restore_access_backup_vault_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/rule_execution_type.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_action.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_actions.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_finding.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_findings.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_job.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_job_creator.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_job_state.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_job_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_job_summary.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_job_summary_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_jobs.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_mode.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_resource_type.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_result.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_result_info.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_result_status.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_results.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_setting.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_settings.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scan_state.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scheduled_plan_execution_member.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/scheduled_runs_preview.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/sensitive_string_map.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_backup_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_backup_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_copy_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_copy_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_report_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_report_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_restore_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_restore_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_scan_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/start_scan_job_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/stop_backup_job_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/storage_class.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/string.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/string_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/string_map.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tag_key.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tag_key_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tag_resource_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tag_value.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tags.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tiering_configuration.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tiering_configuration_input_for_create.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tiering_configuration_input_for_update.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tiering_configuration_name.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tiering_configurations_list.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tiering_configurations_list_member.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/tiering_down_settings_in_days.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/timestamp.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/timezone.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/untag_resource_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_backup_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_backup_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_framework_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_framework_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_global_settings_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_recovery_point_index_settings_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_recovery_point_index_settings_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_recovery_point_lifecycle_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_recovery_point_lifecycle_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_region_settings_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_report_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_report_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_restore_testing_plan_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_restore_testing_plan_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_restore_testing_selection_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_restore_testing_selection_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_tiering_configuration_input.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/update_tiering_configuration_output.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/vault_names.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/vault_state.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/vault_type.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup/types/window_minutes.py +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup.egg-info/dependency_links.txt +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup.egg-info/requires.txt +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/src/capo_backup.egg-info/top_level.txt +0 -0
- {capo_backup-0.2.0 → capo_backup-0.5.0}/tests/test_body.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: capo-backup
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Python SDK for Backup.
|
|
3
|
+
Version: 0.5.0
|
|
4
|
+
Summary: Python SDK for AWS Backup.
|
|
5
5
|
Classifier: Development Status :: 4 - Beta
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
7
7
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -57,8 +57,8 @@ from capo_backup import AsyncBackupClient
|
|
|
57
57
|
|
|
58
58
|
async def main():
|
|
59
59
|
async with AsyncBackupClient() as backup:
|
|
60
|
-
# Example: paginate over
|
|
61
|
-
async for item in backup.
|
|
60
|
+
# Example: paginate over list_backup_access_points
|
|
61
|
+
async for item in backup.iter_list_backup_access_points():
|
|
62
62
|
print(item)
|
|
63
63
|
```
|
|
64
64
|
|
|
@@ -29,8 +29,8 @@ from capo_backup import AsyncBackupClient
|
|
|
29
29
|
|
|
30
30
|
async def main():
|
|
31
31
|
async with AsyncBackupClient() as backup:
|
|
32
|
-
# Example: paginate over
|
|
33
|
-
async for item in backup.
|
|
32
|
+
# Example: paginate over list_backup_access_points
|
|
33
|
+
async for item in backup.iter_list_backup_access_points():
|
|
34
34
|
print(item)
|
|
35
35
|
```
|
|
36
36
|
|
|
@@ -7,7 +7,7 @@ from zapros import Request
|
|
|
7
7
|
|
|
8
8
|
from capo_backup._auth._identity import Credentials, Identity
|
|
9
9
|
from capo_backup._auth._providers import IdentityProvider
|
|
10
|
-
from capo_backup._auth._sigv4 import SigV4AuthContext, sign_sigv4
|
|
10
|
+
from capo_backup._auth._sigv4 import S3_SIGNING_NAMES, SigV4AuthContext, sign_sigv4
|
|
11
11
|
|
|
12
12
|
IdentityT = TypeVar("IdentityT", bound="Identity")
|
|
13
13
|
|
|
@@ -30,14 +30,25 @@ class SigV4Signer(Signer[Credentials]):
|
|
|
30
30
|
The full auth scheme (``name`` variant, ``signingName``, ``signingRegion``,
|
|
31
31
|
encoding/normalization flags) is provided by the caller — either from the
|
|
32
32
|
endpoint rule-set's ``authSchemes`` property or built by the generated
|
|
33
|
-
``get_signer`` from operation defaults.
|
|
33
|
+
``get_signer`` from operation defaults. ``unsigned_payload`` mirrors the
|
|
34
|
+
operation's ``aws.auth#unsignedPayload`` trait: the body is sent but left
|
|
35
|
+
out of the signature. ``event_stream`` marks a request event stream: the
|
|
36
|
+
request is signed with the ``STREAMING-AWS4-HMAC-SHA256-EVENTS`` payload
|
|
37
|
+
marker and every event with a signature chained from it.
|
|
34
38
|
"""
|
|
35
39
|
|
|
36
40
|
def __init__(
|
|
37
|
-
self,
|
|
41
|
+
self,
|
|
42
|
+
provider: IdentityProvider[Credentials],
|
|
43
|
+
*,
|
|
44
|
+
auth_scheme: dict[str, Any],
|
|
45
|
+
unsigned_payload: bool = False,
|
|
46
|
+
event_stream: bool = False,
|
|
38
47
|
) -> None:
|
|
39
48
|
super().__init__(provider)
|
|
40
49
|
self._auth_scheme = auth_scheme
|
|
50
|
+
self._unsigned_payload = unsigned_payload
|
|
51
|
+
self._event_stream = event_stream
|
|
41
52
|
|
|
42
53
|
async def asign(self, req: Request) -> Request:
|
|
43
54
|
creds = await self.provider.aresolve_identity()
|
|
@@ -55,13 +66,24 @@ class SigV4Signer(Signer[Credentials]):
|
|
|
55
66
|
"disableNormalizePath", False
|
|
56
67
|
),
|
|
57
68
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
body
|
|
64
|
-
|
|
69
|
+
unsigned_payload = self._unsigned_payload
|
|
70
|
+
if (
|
|
71
|
+
not unsigned_payload
|
|
72
|
+
and not self._event_stream
|
|
73
|
+
and req.body is not None
|
|
74
|
+
and not isinstance(req.body, bytes)
|
|
75
|
+
):
|
|
76
|
+
if self._auth_scheme["signingName"] in S3_SIGNING_NAMES:
|
|
77
|
+
# S3 accepts UNSIGNED-PAYLOAD for any operation; streamed bodies rely on it.
|
|
78
|
+
unsigned_payload = True
|
|
79
|
+
else:
|
|
80
|
+
raise NotImplementedError(
|
|
81
|
+
"Currently we don't support signed chunked payloads, so buffer the body and "
|
|
82
|
+
"pass bytes as a workaround; chunked signed implementation coming soon"
|
|
83
|
+
)
|
|
84
|
+
return sign_sigv4(
|
|
85
|
+
req, ctx, unsigned_payload=unsigned_payload, event_stream=self._event_stream
|
|
86
|
+
)
|
|
65
87
|
|
|
66
88
|
def sign(self, req: Request) -> Request:
|
|
67
89
|
creds = self.provider.resolve_identity()
|
|
@@ -79,10 +101,21 @@ class SigV4Signer(Signer[Credentials]):
|
|
|
79
101
|
"disableNormalizePath", False
|
|
80
102
|
),
|
|
81
103
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
body
|
|
88
|
-
|
|
104
|
+
unsigned_payload = self._unsigned_payload
|
|
105
|
+
if (
|
|
106
|
+
not unsigned_payload
|
|
107
|
+
and not self._event_stream
|
|
108
|
+
and req.body is not None
|
|
109
|
+
and not isinstance(req.body, bytes)
|
|
110
|
+
):
|
|
111
|
+
if self._auth_scheme["signingName"] in S3_SIGNING_NAMES:
|
|
112
|
+
# S3 accepts UNSIGNED-PAYLOAD for any operation; streamed bodies rely on it.
|
|
113
|
+
unsigned_payload = True
|
|
114
|
+
else:
|
|
115
|
+
raise NotImplementedError(
|
|
116
|
+
"Currently we don't support signed chunked payloads, so buffer the body and "
|
|
117
|
+
"pass bytes as a workaround; chunked signed implementation coming soon"
|
|
118
|
+
)
|
|
119
|
+
return sign_sigv4(
|
|
120
|
+
req, ctx, unsigned_payload=unsigned_payload, event_stream=self._event_stream
|
|
121
|
+
)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""AWS Signature Version 4 — single-chunk signing.
|
|
1
|
+
"""AWS Signature Version 4 — single-chunk and event-stream signing.
|
|
2
2
|
|
|
3
3
|
Reference:
|
|
4
4
|
https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-create-signed-request.html
|
|
@@ -15,7 +15,8 @@ import functools
|
|
|
15
15
|
import hashlib
|
|
16
16
|
import hmac
|
|
17
17
|
import re
|
|
18
|
-
from
|
|
18
|
+
from collections.abc import AsyncIterator, Iterator
|
|
19
|
+
from typing import Any, Literal, TypedDict, cast
|
|
19
20
|
from urllib.parse import quote, unquote
|
|
20
21
|
|
|
21
22
|
import zapros
|
|
@@ -23,6 +24,9 @@ from pywhatwgurl import URLSearchParams
|
|
|
23
24
|
from zapros import Headers, Request
|
|
24
25
|
from zapros._utils import get_host_header_value
|
|
25
26
|
|
|
27
|
+
from .._iter import AnyIterator
|
|
28
|
+
from .._protocol.eventstream import HeaderValue, Message, encode_headers
|
|
29
|
+
|
|
26
30
|
|
|
27
31
|
def build_sigv4_auth_scheme(
|
|
28
32
|
signing_name: str, region: str | None, endpoint_scheme: dict[str, Any] | None = None
|
|
@@ -65,6 +69,10 @@ class SigV4AuthContext(TypedDict):
|
|
|
65
69
|
|
|
66
70
|
|
|
67
71
|
_SIGV4_ALGORITHM = "AWS4-HMAC-SHA256"
|
|
72
|
+
# Per-event algorithm and request payload marker of a signed event stream.
|
|
73
|
+
_EVENT_ALGORITHM = "AWS4-HMAC-SHA256-PAYLOAD"
|
|
74
|
+
_EVENT_STREAM_PAYLOAD = "STREAMING-AWS4-HMAC-SHA256-EVENTS"
|
|
75
|
+
_AMZ_DATE_FORMAT = "%Y%m%dT%H%M%SZ"
|
|
68
76
|
_EMPTY_PAYLOAD_SHA256 = hashlib.sha256(b"").hexdigest()
|
|
69
77
|
|
|
70
78
|
# Headers excluded from the signed-headers set. Mirrors botocore's denylist:
|
|
@@ -95,9 +103,11 @@ _UNSIGNED_HEADERS = frozenset(
|
|
|
95
103
|
|
|
96
104
|
_MULTI_SPACE = re.compile(r" +")
|
|
97
105
|
|
|
98
|
-
# Services that require the payload hash to travel in ``x-amz-content-sha256
|
|
99
|
-
#
|
|
100
|
-
|
|
106
|
+
# Services that require the payload hash to travel in ``x-amz-content-sha256``
|
|
107
|
+
# on every request, and that accept ``UNSIGNED-PAYLOAD`` for any operation.
|
|
108
|
+
# Other services sign the hash into the canonical request without sending it,
|
|
109
|
+
# and only see the header when the payload is left unsigned.
|
|
110
|
+
S3_SIGNING_NAMES = frozenset({"s3", "s3express", "s3-outposts", "s3-object-lambda"})
|
|
101
111
|
|
|
102
112
|
|
|
103
113
|
def _uri_encode(value: str) -> str:
|
|
@@ -231,12 +241,20 @@ def _canonical_query_from_pairs(pairs: list[tuple[str, str]]) -> str:
|
|
|
231
241
|
def sign_sigv4(
|
|
232
242
|
request: Request,
|
|
233
243
|
ctx: SigV4AuthContext,
|
|
234
|
-
|
|
244
|
+
*,
|
|
245
|
+
unsigned_payload: bool = False,
|
|
246
|
+
event_stream: bool = False,
|
|
235
247
|
) -> Request:
|
|
236
248
|
"""Return a new ``Request`` carrying SigV4 single-chunk auth headers.
|
|
237
249
|
|
|
238
|
-
|
|
239
|
-
|
|
250
|
+
The payload hash covers ``request.body``, which must be ``bytes`` or
|
|
251
|
+
``None``. ``unsigned_payload`` signs ``UNSIGNED-PAYLOAD`` instead and
|
|
252
|
+
forwards any body unchanged (streaming S3 requests and operations carrying
|
|
253
|
+
``aws.auth#unsignedPayload``). ``event_stream`` signs a request event
|
|
254
|
+
stream: the ``STREAMING-AWS4-HMAC-SHA256-EVENTS`` marker stands in for the
|
|
255
|
+
payload hash and the body — an iterator of encoded event messages — is
|
|
256
|
+
wrapped in an :class:`EventStreamIterator` that signs every event with a
|
|
257
|
+
signature chained from this request's.
|
|
240
258
|
"""
|
|
241
259
|
service = ctx["signing_name"]
|
|
242
260
|
region = ctx["signing_region"]
|
|
@@ -250,21 +268,31 @@ def sign_sigv4(
|
|
|
250
268
|
date_stamp = amz_date[:8]
|
|
251
269
|
else:
|
|
252
270
|
now = _amz_now()
|
|
253
|
-
amz_date = now.strftime(
|
|
271
|
+
amz_date = now.strftime(_AMZ_DATE_FORMAT)
|
|
254
272
|
date_stamp = now.strftime("%Y%m%d")
|
|
255
273
|
headers["X-Amz-Date"] = amz_date
|
|
256
274
|
|
|
257
|
-
# Payload hash. For S3-family services, x-amz-content-sha256 is mandatory
|
|
258
|
-
#
|
|
275
|
+
# Payload hash. For S3-family services, x-amz-content-sha256 is mandatory;
|
|
276
|
+
# for every service it is the only way to announce an unsigned payload or
|
|
277
|
+
# an event stream.
|
|
278
|
+
# Either way it must be set BEFORE computing the canonical request (it
|
|
279
|
+
# gets signed).
|
|
259
280
|
payload_hash = headers.get("X-Amz-Content-SHA256")
|
|
260
281
|
if payload_hash is None:
|
|
261
|
-
if
|
|
282
|
+
if event_stream:
|
|
283
|
+
payload_hash = _EVENT_STREAM_PAYLOAD
|
|
284
|
+
elif unsigned_payload:
|
|
262
285
|
payload_hash = "UNSIGNED-PAYLOAD"
|
|
286
|
+
elif request.body is None:
|
|
287
|
+
payload_hash = _EMPTY_PAYLOAD_SHA256
|
|
288
|
+
elif isinstance(request.body, bytes):
|
|
289
|
+
payload_hash = hashlib.sha256(request.body).hexdigest()
|
|
263
290
|
else:
|
|
264
|
-
|
|
265
|
-
|
|
291
|
+
raise TypeError(
|
|
292
|
+
"sign_sigv4 hashes a bytes body only; pass unsigned_payload=True "
|
|
293
|
+
"to send a streamed body without a payload hash"
|
|
266
294
|
)
|
|
267
|
-
if service in
|
|
295
|
+
if service in S3_SIGNING_NAMES or unsigned_payload or event_stream:
|
|
268
296
|
headers["X-Amz-Content-SHA256"] = payload_hash
|
|
269
297
|
|
|
270
298
|
# Session token (STS / assumed-role credentials).
|
|
@@ -308,18 +336,135 @@ def sign_sigv4(
|
|
|
308
336
|
f"Signature={signature}"
|
|
309
337
|
)
|
|
310
338
|
|
|
311
|
-
|
|
312
|
-
if
|
|
339
|
+
body = request.body
|
|
340
|
+
if event_stream:
|
|
341
|
+
if not isinstance(body, (Iterator, AsyncIterator)):
|
|
342
|
+
raise TypeError(
|
|
343
|
+
"event_stream requires an iterator of encoded events as the body"
|
|
344
|
+
)
|
|
345
|
+
body = EventStreamIterator(
|
|
346
|
+
cast("Iterator[bytes] | AsyncIterator[bytes]", body), ctx, signature
|
|
347
|
+
)
|
|
348
|
+
if body is not None:
|
|
313
349
|
return Request(
|
|
314
350
|
request.url,
|
|
315
351
|
request.method,
|
|
316
352
|
headers,
|
|
317
|
-
body=
|
|
353
|
+
body=body,
|
|
318
354
|
context=request.context,
|
|
319
355
|
)
|
|
320
356
|
return Request(request.url, request.method, headers, context=request.context)
|
|
321
357
|
|
|
322
358
|
|
|
359
|
+
def _sign_event(
|
|
360
|
+
ctx: SigV4AuthContext, prior_signature: str, payload: bytes
|
|
361
|
+
) -> tuple[bytes, str]:
|
|
362
|
+
"""Wrap one encoded event in a signed outer message.
|
|
363
|
+
|
|
364
|
+
Returns ``(frame, signature)``; the hex signature seeds the next event.
|
|
365
|
+
The string to sign chains every frame to its predecessor — the first one
|
|
366
|
+
to the request's ``Authorization`` signature — so the service can verify
|
|
367
|
+
the stream incrementally::
|
|
368
|
+
|
|
369
|
+
AWS4-HMAC-SHA256-PAYLOAD
|
|
370
|
+
<date, YYYYMMDDTHHMMSSZ>
|
|
371
|
+
<credential scope>
|
|
372
|
+
<prior signature, hex>
|
|
373
|
+
<hex sha256 of the encoded ``:date`` header>
|
|
374
|
+
<hex sha256 of the payload>
|
|
375
|
+
|
|
376
|
+
The AWS SDKs (and the service) use the ``-PAYLOAD`` algorithm name; the
|
|
377
|
+
Transcribe developer guide's pseudocode omits the suffix.
|
|
378
|
+
"""
|
|
379
|
+
service = ctx["signing_name"]
|
|
380
|
+
region = ctx["signing_region"]
|
|
381
|
+
now = _amz_now()
|
|
382
|
+
amz_date = now.strftime(_AMZ_DATE_FORMAT)
|
|
383
|
+
date_stamp = amz_date[:8]
|
|
384
|
+
credential_scope = f"{date_stamp}/{region}/{service}/aws4_request"
|
|
385
|
+
date_header: dict[str, HeaderValue] = {":date": now}
|
|
386
|
+
string_to_sign = "\n".join(
|
|
387
|
+
(
|
|
388
|
+
_EVENT_ALGORITHM,
|
|
389
|
+
amz_date,
|
|
390
|
+
credential_scope,
|
|
391
|
+
prior_signature,
|
|
392
|
+
hashlib.sha256(encode_headers(date_header)).hexdigest(),
|
|
393
|
+
hashlib.sha256(payload).hexdigest(),
|
|
394
|
+
)
|
|
395
|
+
)
|
|
396
|
+
signing_key = _derive_signing_key(
|
|
397
|
+
ctx["secret_access_key"], date_stamp, region, service
|
|
398
|
+
)
|
|
399
|
+
signature = hmac.new(
|
|
400
|
+
signing_key, string_to_sign.encode("utf-8"), hashlib.sha256
|
|
401
|
+
).hexdigest()
|
|
402
|
+
frame = Message(
|
|
403
|
+
{**date_header, ":chunk-signature": bytes.fromhex(signature)}, payload
|
|
404
|
+
).encode()
|
|
405
|
+
return frame, signature
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
class EventStreamIterator(AnyIterator[bytes]):
|
|
409
|
+
"""Sign a request event stream, one frame per event.
|
|
410
|
+
|
|
411
|
+
Wraps an iterator of encoded event messages (as produced by the generated
|
|
412
|
+
``serialize_event_*`` functions). Each event becomes the payload of an
|
|
413
|
+
outer message carrying ``:date`` and ``:chunk-signature`` headers, the
|
|
414
|
+
signature chained from the previous frame's and seeded by the request's
|
|
415
|
+
``Authorization`` signature. Once the events are exhausted, one empty
|
|
416
|
+
signed frame is yielded to mark the end of the stream.
|
|
417
|
+
|
|
418
|
+
Like :class:`~capo._body.Body`, it is both a sync and an async iterator:
|
|
419
|
+
iterate it the way the wrapped source is iterable (``next`` over a sync
|
|
420
|
+
source, ``async for`` over an async one).
|
|
421
|
+
|
|
422
|
+
Reference:
|
|
423
|
+
https://docs.aws.amazon.com/transcribe/latest/dg/streaming-setting-up.html
|
|
424
|
+
"""
|
|
425
|
+
|
|
426
|
+
def __init__(
|
|
427
|
+
self,
|
|
428
|
+
events: Iterator[bytes] | AsyncIterator[bytes],
|
|
429
|
+
ctx: SigV4AuthContext,
|
|
430
|
+
seed_signature: str,
|
|
431
|
+
) -> None:
|
|
432
|
+
self._events = events
|
|
433
|
+
self._ctx = ctx
|
|
434
|
+
self._prior_signature = seed_signature
|
|
435
|
+
self._ended = False
|
|
436
|
+
|
|
437
|
+
def _frame(self, payload: bytes) -> bytes:
|
|
438
|
+
frame, self._prior_signature = _sign_event(
|
|
439
|
+
self._ctx, self._prior_signature, payload
|
|
440
|
+
)
|
|
441
|
+
return frame
|
|
442
|
+
|
|
443
|
+
def __next__(self) -> bytes:
|
|
444
|
+
if self._ended:
|
|
445
|
+
raise StopIteration
|
|
446
|
+
if not isinstance(self._events, Iterator):
|
|
447
|
+
raise TypeError("this event stream wraps an async source; use `async for`")
|
|
448
|
+
try:
|
|
449
|
+
payload = next(cast(Iterator[bytes], self._events))
|
|
450
|
+
except StopIteration:
|
|
451
|
+
self._ended = True
|
|
452
|
+
payload = b""
|
|
453
|
+
return self._frame(payload)
|
|
454
|
+
|
|
455
|
+
async def __anext__(self) -> bytes:
|
|
456
|
+
if self._ended:
|
|
457
|
+
raise StopAsyncIteration
|
|
458
|
+
if not isinstance(self._events, AsyncIterator):
|
|
459
|
+
raise TypeError("this event stream wraps a sync source; use `for`")
|
|
460
|
+
try:
|
|
461
|
+
payload = await cast(AsyncIterator[bytes], self._events).__anext__()
|
|
462
|
+
except StopAsyncIteration:
|
|
463
|
+
self._ended = True
|
|
464
|
+
payload = b""
|
|
465
|
+
return self._frame(payload)
|
|
466
|
+
|
|
467
|
+
|
|
323
468
|
def presign_sigv4(
|
|
324
469
|
request: Request,
|
|
325
470
|
ctx: SigV4AuthContext,
|
|
@@ -346,7 +491,7 @@ def presign_sigv4(
|
|
|
346
491
|
service = ctx["signing_name"]
|
|
347
492
|
region = ctx["signing_region"]
|
|
348
493
|
|
|
349
|
-
amz_date = sign_time.strftime(
|
|
494
|
+
amz_date = sign_time.strftime(_AMZ_DATE_FORMAT)
|
|
350
495
|
date_stamp = sign_time.strftime("%Y%m%d")
|
|
351
496
|
credential_scope = f"{date_stamp}/{region}/{service}/aws4_request"
|
|
352
497
|
|
|
@@ -20,7 +20,11 @@ import capo_backup.errors.service_unavailable_exception
|
|
|
20
20
|
import capo_backup.types.associate_backup_vault_mpa_approval_team_input
|
|
21
21
|
from capo_backup._protocol.errors import parse_error_metadata_json
|
|
22
22
|
from capo_backup._rule_engine._endpoint_rule_set import EndpointParams, resolve
|
|
23
|
-
from capo_backup._services._pipeline import
|
|
23
|
+
from capo_backup._services._pipeline import (
|
|
24
|
+
AsyncOperationOptions,
|
|
25
|
+
OperationOptions,
|
|
26
|
+
raise_error,
|
|
27
|
+
)
|
|
24
28
|
from capo_backup.errors import UnknownServiceError
|
|
25
29
|
|
|
26
30
|
|
|
@@ -120,7 +124,7 @@ def associate_backup_vault_mpa_approval_team(
|
|
|
120
124
|
try:
|
|
121
125
|
if response.status >= 300:
|
|
122
126
|
response.read()
|
|
123
|
-
|
|
127
|
+
raise_error(response, handle_error)
|
|
124
128
|
return None, response
|
|
125
129
|
except BaseException:
|
|
126
130
|
response.close()
|
|
@@ -135,7 +139,7 @@ async def async_associate_backup_vault_mpa_approval_team(
|
|
|
135
139
|
try:
|
|
136
140
|
if response.status >= 300:
|
|
137
141
|
await response.aread()
|
|
138
|
-
|
|
142
|
+
raise_error(response, handle_error)
|
|
139
143
|
return None, response
|
|
140
144
|
except BaseException:
|
|
141
145
|
await response.aclose()
|
|
@@ -21,7 +21,11 @@ import capo_backup.types.cancel_legal_hold_input
|
|
|
21
21
|
import capo_backup.types.cancel_legal_hold_output
|
|
22
22
|
from capo_backup._protocol.errors import parse_error_metadata_json
|
|
23
23
|
from capo_backup._rule_engine._endpoint_rule_set import EndpointParams, resolve
|
|
24
|
-
from capo_backup._services._pipeline import
|
|
24
|
+
from capo_backup._services._pipeline import (
|
|
25
|
+
AsyncOperationOptions,
|
|
26
|
+
OperationOptions,
|
|
27
|
+
raise_error,
|
|
28
|
+
)
|
|
25
29
|
from capo_backup.errors import UnknownServiceError
|
|
26
30
|
|
|
27
31
|
|
|
@@ -135,7 +139,7 @@ def cancel_legal_hold(
|
|
|
135
139
|
try:
|
|
136
140
|
if response.status >= 300:
|
|
137
141
|
response.read()
|
|
138
|
-
|
|
142
|
+
raise_error(response, handle_error)
|
|
139
143
|
return handle_response(response), response
|
|
140
144
|
except BaseException:
|
|
141
145
|
response.close()
|
|
@@ -152,7 +156,7 @@ async def async_cancel_legal_hold(
|
|
|
152
156
|
try:
|
|
153
157
|
if response.status >= 300:
|
|
154
158
|
await response.aread()
|
|
155
|
-
|
|
159
|
+
raise_error(response, handle_error)
|
|
156
160
|
return await async_handle_response(response), response
|
|
157
161
|
except BaseException:
|
|
158
162
|
await response.aclose()
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"""Generated from Smithy shape ``com.amazonaws.backup#CreateBackupAccessPoint``."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
import zapros
|
|
9
|
+
from typing_extensions import Never
|
|
10
|
+
|
|
11
|
+
import capo_backup._auth._signers
|
|
12
|
+
import capo_backup._auth._sigv4
|
|
13
|
+
import capo_backup._protocol.eventstream
|
|
14
|
+
import capo_backup.errors.already_exists_exception
|
|
15
|
+
import capo_backup.errors.conflict_exception
|
|
16
|
+
import capo_backup.errors.invalid_parameter_value_exception
|
|
17
|
+
import capo_backup.errors.invalid_request_exception
|
|
18
|
+
import capo_backup.errors.limit_exceeded_exception
|
|
19
|
+
import capo_backup.errors.missing_parameter_value_exception
|
|
20
|
+
import capo_backup.errors.resource_not_found_exception
|
|
21
|
+
import capo_backup.errors.service_unavailable_exception
|
|
22
|
+
import capo_backup.types.access_point_metadata_map
|
|
23
|
+
import capo_backup.types.access_point_status
|
|
24
|
+
import capo_backup.types.create_backup_access_point_request
|
|
25
|
+
import capo_backup.types.create_backup_access_point_response
|
|
26
|
+
import capo_backup.types.tag_map
|
|
27
|
+
from capo_backup._protocol.errors import parse_error_metadata_json
|
|
28
|
+
from capo_backup._rule_engine._endpoint_rule_set import EndpointParams, resolve
|
|
29
|
+
from capo_backup._services._pipeline import (
|
|
30
|
+
AsyncOperationOptions,
|
|
31
|
+
OperationOptions,
|
|
32
|
+
raise_error,
|
|
33
|
+
)
|
|
34
|
+
from capo_backup.errors import UnknownServiceError
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def handle_error(response: zapros.Response) -> Never:
|
|
38
|
+
data = json.loads(response.read())
|
|
39
|
+
code, message = parse_error_metadata_json(response, data)
|
|
40
|
+
match code:
|
|
41
|
+
case "AlreadyExistsException":
|
|
42
|
+
raise capo_backup.errors.already_exists_exception.AlreadyExistsException.from_json(
|
|
43
|
+
data, message
|
|
44
|
+
)
|
|
45
|
+
case "ConflictException":
|
|
46
|
+
raise capo_backup.errors.conflict_exception.ConflictException.from_json(
|
|
47
|
+
data, message
|
|
48
|
+
)
|
|
49
|
+
case "InvalidParameterValueException":
|
|
50
|
+
raise capo_backup.errors.invalid_parameter_value_exception.InvalidParameterValueException.from_json(
|
|
51
|
+
data, message
|
|
52
|
+
)
|
|
53
|
+
case "InvalidRequestException":
|
|
54
|
+
raise capo_backup.errors.invalid_request_exception.InvalidRequestException.from_json(
|
|
55
|
+
data, message
|
|
56
|
+
)
|
|
57
|
+
case "LimitExceededException":
|
|
58
|
+
raise capo_backup.errors.limit_exceeded_exception.LimitExceededException.from_json(
|
|
59
|
+
data, message
|
|
60
|
+
)
|
|
61
|
+
case "MissingParameterValueException":
|
|
62
|
+
raise capo_backup.errors.missing_parameter_value_exception.MissingParameterValueException.from_json(
|
|
63
|
+
data, message
|
|
64
|
+
)
|
|
65
|
+
case "ResourceNotFoundException":
|
|
66
|
+
raise capo_backup.errors.resource_not_found_exception.ResourceNotFoundException.from_json(
|
|
67
|
+
data, message
|
|
68
|
+
)
|
|
69
|
+
case "ServiceUnavailableException":
|
|
70
|
+
raise capo_backup.errors.service_unavailable_exception.ServiceUnavailableException.from_json(
|
|
71
|
+
data, message
|
|
72
|
+
)
|
|
73
|
+
case _:
|
|
74
|
+
raise UnknownServiceError(code=code, message=message, response=response)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def handle_response(
|
|
78
|
+
response: zapros.Response,
|
|
79
|
+
) -> capo_backup.types.create_backup_access_point_response.CreateBackupAccessPointResponse:
|
|
80
|
+
out: capo_backup.types.create_backup_access_point_response.CreateBackupAccessPointResponse = capo_backup.types.create_backup_access_point_response.deserialize_json(
|
|
81
|
+
json.loads(response.read())
|
|
82
|
+
)
|
|
83
|
+
return out
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
async def async_handle_response(
|
|
87
|
+
response: zapros.Response,
|
|
88
|
+
) -> capo_backup.types.create_backup_access_point_response.CreateBackupAccessPointResponse:
|
|
89
|
+
out: capo_backup.types.create_backup_access_point_response.CreateBackupAccessPointResponse = capo_backup.types.create_backup_access_point_response.deserialize_json(
|
|
90
|
+
json.loads(await response.aread())
|
|
91
|
+
)
|
|
92
|
+
return out
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def get_signer(
|
|
96
|
+
options: AsyncOperationOptions | OperationOptions,
|
|
97
|
+
auth_schemes: list[dict[str, Any]] | None = None,
|
|
98
|
+
) -> capo_backup._auth._signers.Signer | None:
|
|
99
|
+
name_to_schema = {s["name"]: s for s in (auth_schemes or [])} # noqa: F841
|
|
100
|
+
if (
|
|
101
|
+
options.credentials_provider is not None
|
|
102
|
+
and name_to_schema
|
|
103
|
+
and not name_to_schema.keys() & {"sigv4", "sigv4-s3express"}
|
|
104
|
+
):
|
|
105
|
+
raise RuntimeError(
|
|
106
|
+
"Endpoint requires an unsupported auth scheme: " + ", ".join(name_to_schema)
|
|
107
|
+
)
|
|
108
|
+
if options.credentials_provider is not None:
|
|
109
|
+
endpoint_scheme = name_to_schema.get("sigv4") or name_to_schema.get(
|
|
110
|
+
"sigv4-s3express"
|
|
111
|
+
)
|
|
112
|
+
if endpoint_scheme is not None or not name_to_schema:
|
|
113
|
+
sigv4_config = capo_backup._auth._sigv4.build_sigv4_auth_scheme(
|
|
114
|
+
"backup", options.region, endpoint_scheme
|
|
115
|
+
)
|
|
116
|
+
if sigv4_config is not None:
|
|
117
|
+
return capo_backup._auth._signers.SigV4Signer(
|
|
118
|
+
options.credentials_provider, auth_scheme=sigv4_config
|
|
119
|
+
)
|
|
120
|
+
raise RuntimeError("Auth was not resolved")
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def build_request(
|
|
124
|
+
options: OperationOptions | AsyncOperationOptions,
|
|
125
|
+
input_: capo_backup.types.create_backup_access_point_request.CreateBackupAccessPointRequest,
|
|
126
|
+
) -> zapros.Request:
|
|
127
|
+
endpoint = resolve(
|
|
128
|
+
EndpointParams(
|
|
129
|
+
Region=options.region,
|
|
130
|
+
UseDualStack=options.use_dual_stack,
|
|
131
|
+
UseFIPS=options.use_fips,
|
|
132
|
+
Endpoint=options.endpoint,
|
|
133
|
+
)
|
|
134
|
+
) # noqa: F841
|
|
135
|
+
url = endpoint.url.rstrip("/") + "/backup-access-point/create"
|
|
136
|
+
params: list[tuple[str, str]] = []
|
|
137
|
+
headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
|
|
138
|
+
body: bytes | None = json.dumps(
|
|
139
|
+
capo_backup.types.create_backup_access_point_request.serialize_json(input_),
|
|
140
|
+
allow_nan=False,
|
|
141
|
+
).encode()
|
|
142
|
+
headers["content-type"] = "application/json"
|
|
143
|
+
signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
|
|
144
|
+
normalized_url = zapros.URL(url)
|
|
145
|
+
for k, v in params:
|
|
146
|
+
normalized_url.search_params.append(k, v)
|
|
147
|
+
return zapros.Request(
|
|
148
|
+
normalized_url, "PUT", headers=headers, body=body, context={"signer": signer}
|
|
149
|
+
)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def create_backup_access_point(
|
|
153
|
+
options: OperationOptions,
|
|
154
|
+
input_: capo_backup.types.create_backup_access_point_request.CreateBackupAccessPointRequest,
|
|
155
|
+
) -> tuple[
|
|
156
|
+
capo_backup.types.create_backup_access_point_response.CreateBackupAccessPointResponse,
|
|
157
|
+
zapros.Response,
|
|
158
|
+
]:
|
|
159
|
+
response = options.client.handler.handle(build_request(options, input_))
|
|
160
|
+
try:
|
|
161
|
+
if response.status >= 300:
|
|
162
|
+
response.read()
|
|
163
|
+
raise_error(response, handle_error)
|
|
164
|
+
return handle_response(response), response
|
|
165
|
+
except BaseException:
|
|
166
|
+
response.close()
|
|
167
|
+
raise
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
async def async_create_backup_access_point(
|
|
171
|
+
options: AsyncOperationOptions,
|
|
172
|
+
input_: capo_backup.types.create_backup_access_point_request.CreateBackupAccessPointRequest,
|
|
173
|
+
) -> tuple[
|
|
174
|
+
capo_backup.types.create_backup_access_point_response.CreateBackupAccessPointResponse,
|
|
175
|
+
zapros.Response,
|
|
176
|
+
]:
|
|
177
|
+
response = await options.client.handler.ahandle(build_request(options, input_))
|
|
178
|
+
try:
|
|
179
|
+
if response.status >= 300:
|
|
180
|
+
await response.aread()
|
|
181
|
+
raise_error(response, handle_error)
|
|
182
|
+
return await async_handle_response(response), response
|
|
183
|
+
except BaseException:
|
|
184
|
+
await response.aclose()
|
|
185
|
+
raise
|
|
@@ -24,7 +24,11 @@ import capo_backup.types.tags
|
|
|
24
24
|
import capo_backup.types.timestamp
|
|
25
25
|
from capo_backup._protocol.errors import parse_error_metadata_json
|
|
26
26
|
from capo_backup._rule_engine._endpoint_rule_set import EndpointParams, resolve
|
|
27
|
-
from capo_backup._services._pipeline import
|
|
27
|
+
from capo_backup._services._pipeline import (
|
|
28
|
+
AsyncOperationOptions,
|
|
29
|
+
OperationOptions,
|
|
30
|
+
raise_error,
|
|
31
|
+
)
|
|
28
32
|
from capo_backup.errors import UnknownServiceError
|
|
29
33
|
|
|
30
34
|
|
|
@@ -145,7 +149,7 @@ def create_backup_plan(
|
|
|
145
149
|
try:
|
|
146
150
|
if response.status >= 300:
|
|
147
151
|
response.read()
|
|
148
|
-
|
|
152
|
+
raise_error(response, handle_error)
|
|
149
153
|
return handle_response(response), response
|
|
150
154
|
except BaseException:
|
|
151
155
|
response.close()
|
|
@@ -162,7 +166,7 @@ async def async_create_backup_plan(
|
|
|
162
166
|
try:
|
|
163
167
|
if response.status >= 300:
|
|
164
168
|
await response.aread()
|
|
165
|
-
|
|
169
|
+
raise_error(response, handle_error)
|
|
166
170
|
return await async_handle_response(response), response
|
|
167
171
|
except BaseException:
|
|
168
172
|
await response.aclose()
|