capo-codedeploy 0.1.0__py3-none-any.whl
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_codedeploy/__init__.py +70 -0
- capo_codedeploy/_async.py +25 -0
- capo_codedeploy/_auth/_identity.py +16 -0
- capo_codedeploy/_auth/_providers.py +886 -0
- capo_codedeploy/_auth/_signers.py +88 -0
- capo_codedeploy/_auth/_sigv4.py +434 -0
- capo_codedeploy/_auth/_zapros_handler.py +80 -0
- capo_codedeploy/_iter.py +113 -0
- capo_codedeploy/_operations/code_deploy_20141006/add_tags_to_on_premises_instances.py +153 -0
- capo_codedeploy/_operations/code_deploy_20141006/batch_get_application_revisions.py +173 -0
- capo_codedeploy/_operations/code_deploy_20141006/batch_get_applications.py +163 -0
- capo_codedeploy/_operations/code_deploy_20141006/batch_get_deployment_groups.py +178 -0
- capo_codedeploy/_operations/code_deploy_20141006/batch_get_deployment_instances.py +178 -0
- capo_codedeploy/_operations/code_deploy_20141006/batch_get_deployment_targets.py +188 -0
- capo_codedeploy/_operations/code_deploy_20141006/batch_get_deployments.py +158 -0
- capo_codedeploy/_operations/code_deploy_20141006/batch_get_on_premises_instances.py +158 -0
- capo_codedeploy/_operations/code_deploy_20141006/continue_deployment.py +155 -0
- capo_codedeploy/_operations/code_deploy_20141006/create_application.py +175 -0
- capo_codedeploy/_operations/code_deploy_20141006/create_deployment.py +278 -0
- capo_codedeploy/_operations/code_deploy_20141006/create_deployment_config.py +185 -0
- capo_codedeploy/_operations/code_deploy_20141006/create_deployment_group.py +320 -0
- capo_codedeploy/_operations/code_deploy_20141006/delete_application.py +129 -0
- capo_codedeploy/_operations/code_deploy_20141006/delete_deployment_config.py +136 -0
- capo_codedeploy/_operations/code_deploy_20141006/delete_deployment_group.py +167 -0
- capo_codedeploy/_operations/code_deploy_20141006/delete_git_hub_account_token.py +166 -0
- capo_codedeploy/_operations/code_deploy_20141006/delete_resources_by_external_id.py +137 -0
- capo_codedeploy/_operations/code_deploy_20141006/deregister_on_premises_instance.py +126 -0
- capo_codedeploy/_operations/code_deploy_20141006/get_application.py +157 -0
- capo_codedeploy/_operations/code_deploy_20141006/get_application_revision.py +173 -0
- capo_codedeploy/_operations/code_deploy_20141006/get_deployment.py +157 -0
- capo_codedeploy/_operations/code_deploy_20141006/get_deployment_config.py +162 -0
- capo_codedeploy/_operations/code_deploy_20141006/get_deployment_group.py +179 -0
- capo_codedeploy/_operations/code_deploy_20141006/get_deployment_instance.py +177 -0
- capo_codedeploy/_operations/code_deploy_20141006/get_deployment_target.py +182 -0
- capo_codedeploy/_operations/code_deploy_20141006/get_on_premises_instance.py +157 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_application_revisions.py +195 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_applications.py +149 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_deployment_configs.py +147 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_deployment_groups.py +162 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_deployment_instances.py +198 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_deployment_targets.py +188 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_deployments.py +199 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_git_hub_account_token_names.py +157 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_on_premises_instances.py +159 -0
- capo_codedeploy/_operations/code_deploy_20141006/list_tags_for_resource.py +157 -0
- capo_codedeploy/_operations/code_deploy_20141006/put_lifecycle_event_hook_execution_status.py +177 -0
- capo_codedeploy/_operations/code_deploy_20141006/register_application_revision.py +147 -0
- capo_codedeploy/_operations/code_deploy_20141006/register_on_premises_instance.py +166 -0
- capo_codedeploy/_operations/code_deploy_20141006/remove_tags_from_on_premises_instances.py +153 -0
- capo_codedeploy/_operations/code_deploy_20141006/skip_wait_time_for_instance_termination.py +146 -0
- capo_codedeploy/_operations/code_deploy_20141006/stop_deployment.py +172 -0
- capo_codedeploy/_operations/code_deploy_20141006/tag_resource.py +174 -0
- capo_codedeploy/_operations/code_deploy_20141006/untag_resource.py +174 -0
- capo_codedeploy/_operations/code_deploy_20141006/update_application.py +134 -0
- capo_codedeploy/_operations/code_deploy_20141006/update_deployment_group.py +310 -0
- capo_codedeploy/_pagination.py +21 -0
- capo_codedeploy/_protocol/__init__.py +1 -0
- capo_codedeploy/_protocol/errors.py +93 -0
- capo_codedeploy/_protocol/eventstream.py +238 -0
- capo_codedeploy/_protocol/serialize.py +47 -0
- capo_codedeploy/_protocol/xml.py +33 -0
- capo_codedeploy/_rule_engine/__init__.py +0 -0
- capo_codedeploy/_rule_engine/_aws_partition.py +160 -0
- capo_codedeploy/_rule_engine/_endpoint_rule_set.py +138 -0
- capo_codedeploy/_rule_engine/_endpoint_runtime.py +389 -0
- capo_codedeploy/_services/_aws_config.py +160 -0
- capo_codedeploy/_services/_pipeline.py +198 -0
- capo_codedeploy/_services/async_code_deploy.py +3278 -0
- capo_codedeploy/_services/code_deploy.py +3229 -0
- capo_codedeploy/errors/__init__.py +335 -0
- capo_codedeploy/errors/_base.py +94 -0
- capo_codedeploy/errors/alarms_limit_exceeded_exception.py +52 -0
- capo_codedeploy/errors/application_already_exists_exception.py +54 -0
- capo_codedeploy/errors/application_does_not_exist_exception.py +54 -0
- capo_codedeploy/errors/application_limit_exceeded_exception.py +54 -0
- capo_codedeploy/errors/application_name_required_exception.py +54 -0
- capo_codedeploy/errors/arn_not_supported_exception.py +52 -0
- capo_codedeploy/errors/batch_limit_exceeded_exception.py +52 -0
- capo_codedeploy/errors/bucket_name_filter_required_exception.py +54 -0
- capo_codedeploy/errors/deployment_already_completed_exception.py +54 -0
- capo_codedeploy/errors/deployment_config_already_exists_exception.py +54 -0
- capo_codedeploy/errors/deployment_config_does_not_exist_exception.py +54 -0
- capo_codedeploy/errors/deployment_config_in_use_exception.py +54 -0
- capo_codedeploy/errors/deployment_config_limit_exceeded_exception.py +54 -0
- capo_codedeploy/errors/deployment_config_name_required_exception.py +54 -0
- capo_codedeploy/errors/deployment_does_not_exist_exception.py +54 -0
- capo_codedeploy/errors/deployment_group_already_exists_exception.py +54 -0
- capo_codedeploy/errors/deployment_group_does_not_exist_exception.py +54 -0
- capo_codedeploy/errors/deployment_group_limit_exceeded_exception.py +54 -0
- capo_codedeploy/errors/deployment_group_name_required_exception.py +54 -0
- capo_codedeploy/errors/deployment_id_required_exception.py +54 -0
- capo_codedeploy/errors/deployment_is_not_in_ready_state_exception.py +54 -0
- capo_codedeploy/errors/deployment_limit_exceeded_exception.py +54 -0
- capo_codedeploy/errors/deployment_not_started_exception.py +54 -0
- capo_codedeploy/errors/deployment_target_does_not_exist_exception.py +54 -0
- capo_codedeploy/errors/deployment_target_id_required_exception.py +54 -0
- capo_codedeploy/errors/deployment_target_list_size_exceeded_exception.py +56 -0
- capo_codedeploy/errors/description_too_long_exception.py +52 -0
- capo_codedeploy/errors/ecs_service_mapping_limit_exceeded_exception.py +54 -0
- capo_codedeploy/errors/git_hub_account_token_does_not_exist_exception.py +54 -0
- capo_codedeploy/errors/git_hub_account_token_name_required_exception.py +54 -0
- capo_codedeploy/errors/iam_arn_required_exception.py +52 -0
- capo_codedeploy/errors/iam_session_arn_already_registered_exception.py +54 -0
- capo_codedeploy/errors/iam_user_arn_already_registered_exception.py +54 -0
- capo_codedeploy/errors/iam_user_arn_required_exception.py +52 -0
- capo_codedeploy/errors/instance_does_not_exist_exception.py +54 -0
- capo_codedeploy/errors/instance_id_required_exception.py +52 -0
- capo_codedeploy/errors/instance_limit_exceeded_exception.py +54 -0
- capo_codedeploy/errors/instance_name_already_registered_exception.py +54 -0
- capo_codedeploy/errors/instance_name_required_exception.py +54 -0
- capo_codedeploy/errors/instance_not_registered_exception.py +54 -0
- capo_codedeploy/errors/invalid_alarm_config_exception.py +52 -0
- capo_codedeploy/errors/invalid_application_name_exception.py +54 -0
- capo_codedeploy/errors/invalid_arn_exception.py +52 -0
- capo_codedeploy/errors/invalid_auto_rollback_config_exception.py +54 -0
- capo_codedeploy/errors/invalid_auto_scaling_group_exception.py +54 -0
- capo_codedeploy/errors/invalid_blue_green_deployment_configuration_exception.py +60 -0
- capo_codedeploy/errors/invalid_bucket_name_filter_exception.py +54 -0
- capo_codedeploy/errors/invalid_compute_platform_exception.py +54 -0
- capo_codedeploy/errors/invalid_deployed_state_filter_exception.py +54 -0
- capo_codedeploy/errors/invalid_deployment_config_name_exception.py +54 -0
- capo_codedeploy/errors/invalid_deployment_group_name_exception.py +54 -0
- capo_codedeploy/errors/invalid_deployment_id_exception.py +52 -0
- capo_codedeploy/errors/invalid_deployment_instance_type_exception.py +54 -0
- capo_codedeploy/errors/invalid_deployment_status_exception.py +54 -0
- capo_codedeploy/errors/invalid_deployment_style_exception.py +54 -0
- capo_codedeploy/errors/invalid_deployment_target_id_exception.py +54 -0
- capo_codedeploy/errors/invalid_deployment_wait_type_exception.py +54 -0
- capo_codedeploy/errors/invalid_ec2_tag_combination_exception.py +54 -0
- capo_codedeploy/errors/invalid_ec2_tag_exception.py +52 -0
- capo_codedeploy/errors/invalid_ecs_service_exception.py +52 -0
- capo_codedeploy/errors/invalid_external_id_exception.py +52 -0
- capo_codedeploy/errors/invalid_file_exists_behavior_exception.py +54 -0
- capo_codedeploy/errors/invalid_git_hub_account_token_exception.py +54 -0
- capo_codedeploy/errors/invalid_git_hub_account_token_name_exception.py +54 -0
- capo_codedeploy/errors/invalid_iam_session_arn_exception.py +54 -0
- capo_codedeploy/errors/invalid_iam_user_arn_exception.py +52 -0
- capo_codedeploy/errors/invalid_ignore_application_stop_failures_value_exception.py +60 -0
- capo_codedeploy/errors/invalid_input_exception.py +52 -0
- capo_codedeploy/errors/invalid_instance_name_exception.py +52 -0
- capo_codedeploy/errors/invalid_instance_status_exception.py +54 -0
- capo_codedeploy/errors/invalid_instance_type_exception.py +52 -0
- capo_codedeploy/errors/invalid_key_prefix_filter_exception.py +54 -0
- capo_codedeploy/errors/invalid_lifecycle_event_hook_execution_id_exception.py +60 -0
- capo_codedeploy/errors/invalid_lifecycle_event_hook_execution_status_exception.py +60 -0
- capo_codedeploy/errors/invalid_load_balancer_info_exception.py +54 -0
- capo_codedeploy/errors/invalid_minimum_healthy_host_value_exception.py +54 -0
- capo_codedeploy/errors/invalid_next_token_exception.py +52 -0
- capo_codedeploy/errors/invalid_on_premises_tag_combination_exception.py +56 -0
- capo_codedeploy/errors/invalid_operation_exception.py +52 -0
- capo_codedeploy/errors/invalid_registration_status_exception.py +54 -0
- capo_codedeploy/errors/invalid_revision_exception.py +52 -0
- capo_codedeploy/errors/invalid_role_exception.py +52 -0
- capo_codedeploy/errors/invalid_sort_by_exception.py +52 -0
- capo_codedeploy/errors/invalid_sort_order_exception.py +52 -0
- capo_codedeploy/errors/invalid_tag_exception.py +52 -0
- capo_codedeploy/errors/invalid_tag_filter_exception.py +52 -0
- capo_codedeploy/errors/invalid_tags_to_add_exception.py +52 -0
- capo_codedeploy/errors/invalid_target_filter_name_exception.py +54 -0
- capo_codedeploy/errors/invalid_target_group_pair_exception.py +54 -0
- capo_codedeploy/errors/invalid_target_instances_exception.py +54 -0
- capo_codedeploy/errors/invalid_time_range_exception.py +52 -0
- capo_codedeploy/errors/invalid_traffic_routing_configuration_exception.py +58 -0
- capo_codedeploy/errors/invalid_trigger_config_exception.py +54 -0
- capo_codedeploy/errors/invalid_update_outdated_instances_only_value_exception.py +60 -0
- capo_codedeploy/errors/invalid_zonal_deployment_configuration_exception.py +60 -0
- capo_codedeploy/errors/lifecycle_event_already_completed_exception.py +54 -0
- capo_codedeploy/errors/lifecycle_hook_limit_exceeded_exception.py +54 -0
- capo_codedeploy/errors/multiple_iam_arns_provided_exception.py +54 -0
- capo_codedeploy/errors/operation_not_supported_exception.py +54 -0
- capo_codedeploy/errors/resource_arn_required_exception.py +52 -0
- capo_codedeploy/errors/resource_validation_exception.py +52 -0
- capo_codedeploy/errors/revision_does_not_exist_exception.py +54 -0
- capo_codedeploy/errors/revision_required_exception.py +52 -0
- capo_codedeploy/errors/role_required_exception.py +52 -0
- capo_codedeploy/errors/tag_limit_exceeded_exception.py +52 -0
- capo_codedeploy/errors/tag_required_exception.py +52 -0
- capo_codedeploy/errors/tag_set_list_limit_exceeded_exception.py +54 -0
- capo_codedeploy/errors/throttling_exception.py +52 -0
- capo_codedeploy/errors/trigger_targets_limit_exceeded_exception.py +54 -0
- capo_codedeploy/errors/unsupported_action_for_deployment_type_exception.py +58 -0
- capo_codedeploy/py.typed +0 -0
- capo_codedeploy/types/_prelude/blob.py +12 -0
- capo_codedeploy/types/_prelude/timestamp.py +17 -0
- capo_codedeploy/types/add_tags_to_on_premises_instances_input.py +59 -0
- capo_codedeploy/types/additional_deployment_status_info.py +5 -0
- capo_codedeploy/types/alarm.py +28 -0
- capo_codedeploy/types/alarm_configuration.py +51 -0
- capo_codedeploy/types/alarm_list.py +29 -0
- capo_codedeploy/types/alarm_name.py +5 -0
- capo_codedeploy/types/app_spec_content.py +35 -0
- capo_codedeploy/types/application_id.py +5 -0
- capo_codedeploy/types/application_info.py +90 -0
- capo_codedeploy/types/application_name.py +5 -0
- capo_codedeploy/types/application_revision_sort_by.py +18 -0
- capo_codedeploy/types/applications_info_list.py +33 -0
- capo_codedeploy/types/applications_list.py +19 -0
- capo_codedeploy/types/arn.py +5 -0
- capo_codedeploy/types/auto_rollback_configuration.py +50 -0
- capo_codedeploy/types/auto_rollback_event.py +18 -0
- capo_codedeploy/types/auto_rollback_events_list.py +35 -0
- capo_codedeploy/types/auto_scaling_group.py +47 -0
- capo_codedeploy/types/auto_scaling_group_hook.py +5 -0
- capo_codedeploy/types/auto_scaling_group_list.py +35 -0
- capo_codedeploy/types/auto_scaling_group_name.py +5 -0
- capo_codedeploy/types/auto_scaling_group_name_list.py +19 -0
- capo_codedeploy/types/batch_get_application_revisions_input.py +55 -0
- capo_codedeploy/types/batch_get_application_revisions_output.py +56 -0
- capo_codedeploy/types/batch_get_applications_input.py +45 -0
- capo_codedeploy/types/batch_get_applications_output.py +42 -0
- capo_codedeploy/types/batch_get_deployment_groups_input.py +57 -0
- capo_codedeploy/types/batch_get_deployment_groups_output.py +49 -0
- capo_codedeploy/types/batch_get_deployment_instances_input.py +53 -0
- capo_codedeploy/types/batch_get_deployment_instances_output.py +49 -0
- capo_codedeploy/types/batch_get_deployment_targets_input.py +51 -0
- capo_codedeploy/types/batch_get_deployment_targets_output.py +42 -0
- capo_codedeploy/types/batch_get_deployments_input.py +43 -0
- capo_codedeploy/types/batch_get_deployments_output.py +42 -0
- capo_codedeploy/types/batch_get_on_premises_instances_input.py +45 -0
- capo_codedeploy/types/batch_get_on_premises_instances_output.py +42 -0
- capo_codedeploy/types/blue_green_deployment_configuration.py +84 -0
- capo_codedeploy/types/blue_instance_termination_option.py +46 -0
- capo_codedeploy/types/boolean.py +5 -0
- capo_codedeploy/types/bundle_type.py +20 -0
- capo_codedeploy/types/cloud_formation_resource_type.py +5 -0
- capo_codedeploy/types/cloud_formation_target.py +112 -0
- capo_codedeploy/types/commit_id.py +5 -0
- capo_codedeploy/types/compute_platform.py +18 -0
- capo_codedeploy/types/continue_deployment_input.py +49 -0
- capo_codedeploy/types/create_application_input.py +67 -0
- capo_codedeploy/types/create_application_output.py +28 -0
- capo_codedeploy/types/create_deployment_config_input.py +115 -0
- capo_codedeploy/types/create_deployment_config_output.py +30 -0
- capo_codedeploy/types/create_deployment_group_input.py +353 -0
- capo_codedeploy/types/create_deployment_group_output.py +30 -0
- capo_codedeploy/types/create_deployment_input.py +178 -0
- capo_codedeploy/types/create_deployment_output.py +28 -0
- capo_codedeploy/types/delete_application_input.py +31 -0
- capo_codedeploy/types/delete_deployment_config_input.py +35 -0
- capo_codedeploy/types/delete_deployment_group_input.py +45 -0
- capo_codedeploy/types/delete_deployment_group_output.py +42 -0
- capo_codedeploy/types/delete_git_hub_account_token_input.py +30 -0
- capo_codedeploy/types/delete_git_hub_account_token_output.py +30 -0
- capo_codedeploy/types/delete_resources_by_external_id_input.py +28 -0
- capo_codedeploy/types/delete_resources_by_external_id_output.py +18 -0
- capo_codedeploy/types/deployment_config_id.py +5 -0
- capo_codedeploy/types/deployment_config_info.py +134 -0
- capo_codedeploy/types/deployment_config_name.py +5 -0
- capo_codedeploy/types/deployment_configs_list.py +19 -0
- capo_codedeploy/types/deployment_creator.py +23 -0
- capo_codedeploy/types/deployment_group_id.py +5 -0
- capo_codedeploy/types/deployment_group_info.py +420 -0
- capo_codedeploy/types/deployment_group_info_list.py +35 -0
- capo_codedeploy/types/deployment_group_name.py +5 -0
- capo_codedeploy/types/deployment_groups_list.py +19 -0
- capo_codedeploy/types/deployment_id.py +5 -0
- capo_codedeploy/types/deployment_info.py +499 -0
- capo_codedeploy/types/deployment_option.py +17 -0
- capo_codedeploy/types/deployment_overview.py +64 -0
- capo_codedeploy/types/deployment_ready_action.py +17 -0
- capo_codedeploy/types/deployment_ready_option.py +50 -0
- capo_codedeploy/types/deployment_status.py +23 -0
- capo_codedeploy/types/deployment_status_list.py +33 -0
- capo_codedeploy/types/deployment_status_message_list.py +19 -0
- capo_codedeploy/types/deployment_style.py +61 -0
- capo_codedeploy/types/deployment_target.py +115 -0
- capo_codedeploy/types/deployment_target_list.py +33 -0
- capo_codedeploy/types/deployment_target_type.py +19 -0
- capo_codedeploy/types/deployment_type.py +17 -0
- capo_codedeploy/types/deployment_wait_type.py +17 -0
- capo_codedeploy/types/deployments_info_list.py +31 -0
- capo_codedeploy/types/deployments_list.py +17 -0
- capo_codedeploy/types/deregister_on_premises_instance_input.py +33 -0
- capo_codedeploy/types/description.py +5 -0
- capo_codedeploy/types/diagnostics.py +63 -0
- capo_codedeploy/types/duration.py +5 -0
- capo_codedeploy/types/e_tag.py +5 -0
- capo_codedeploy/types/ec2_tag_filter.py +52 -0
- capo_codedeploy/types/ec2_tag_filter_list.py +29 -0
- capo_codedeploy/types/ec2_tag_filter_type.py +18 -0
- capo_codedeploy/types/ec2_tag_set.py +42 -0
- capo_codedeploy/types/ec2_tag_set_list.py +35 -0
- capo_codedeploy/types/ecs_cluster_name.py +5 -0
- capo_codedeploy/types/ecs_service.py +35 -0
- capo_codedeploy/types/ecs_service_list.py +29 -0
- capo_codedeploy/types/ecs_service_name.py +5 -0
- capo_codedeploy/types/ecs_target.py +114 -0
- capo_codedeploy/types/ecs_task_set.py +111 -0
- capo_codedeploy/types/ecs_task_set_count.py +5 -0
- capo_codedeploy/types/ecs_task_set_identifier.py +5 -0
- capo_codedeploy/types/ecs_task_set_list.py +29 -0
- capo_codedeploy/types/ecs_task_set_status.py +5 -0
- capo_codedeploy/types/elb_info.py +28 -0
- capo_codedeploy/types/elb_info_list.py +29 -0
- capo_codedeploy/types/elb_name.py +5 -0
- capo_codedeploy/types/error_code.py +49 -0
- capo_codedeploy/types/error_information.py +43 -0
- capo_codedeploy/types/error_message.py +5 -0
- capo_codedeploy/types/external_id.py +5 -0
- capo_codedeploy/types/file_exists_behavior.py +18 -0
- capo_codedeploy/types/filter_value.py +5 -0
- capo_codedeploy/types/filter_value_list.py +17 -0
- capo_codedeploy/types/generic_revision_info.py +96 -0
- capo_codedeploy/types/get_application_input.py +31 -0
- capo_codedeploy/types/get_application_output.py +40 -0
- capo_codedeploy/types/get_application_revision_input.py +51 -0
- capo_codedeploy/types/get_application_revision_output.py +70 -0
- capo_codedeploy/types/get_deployment_config_input.py +35 -0
- capo_codedeploy/types/get_deployment_config_output.py +42 -0
- capo_codedeploy/types/get_deployment_group_input.py +43 -0
- capo_codedeploy/types/get_deployment_group_output.py +42 -0
- capo_codedeploy/types/get_deployment_input.py +31 -0
- capo_codedeploy/types/get_deployment_instance_input.py +39 -0
- capo_codedeploy/types/get_deployment_instance_output.py +42 -0
- capo_codedeploy/types/get_deployment_output.py +40 -0
- capo_codedeploy/types/get_deployment_target_input.py +39 -0
- capo_codedeploy/types/get_deployment_target_output.py +42 -0
- capo_codedeploy/types/get_on_premises_instance_input.py +31 -0
- capo_codedeploy/types/get_on_premises_instance_output.py +40 -0
- capo_codedeploy/types/git_hub_account_token_name.py +5 -0
- capo_codedeploy/types/git_hub_account_token_name_list.py +19 -0
- capo_codedeploy/types/git_hub_location.py +35 -0
- capo_codedeploy/types/green_fleet_provisioning_action.py +17 -0
- capo_codedeploy/types/green_fleet_provisioning_option.py +42 -0
- capo_codedeploy/types/iam_session_arn.py +5 -0
- capo_codedeploy/types/iam_user_arn.py +5 -0
- capo_codedeploy/types/instance_action.py +17 -0
- capo_codedeploy/types/instance_arn.py +5 -0
- capo_codedeploy/types/instance_count.py +5 -0
- capo_codedeploy/types/instance_id.py +5 -0
- capo_codedeploy/types/instance_info.py +95 -0
- capo_codedeploy/types/instance_info_list.py +29 -0
- capo_codedeploy/types/instance_name.py +5 -0
- capo_codedeploy/types/instance_name_list.py +17 -0
- capo_codedeploy/types/instance_status.py +22 -0
- capo_codedeploy/types/instance_status_list.py +31 -0
- capo_codedeploy/types/instance_summary.py +107 -0
- capo_codedeploy/types/instance_summary_list.py +33 -0
- capo_codedeploy/types/instance_target.py +112 -0
- capo_codedeploy/types/instance_type.py +17 -0
- capo_codedeploy/types/instance_type_list.py +29 -0
- capo_codedeploy/types/instances_list.py +17 -0
- capo_codedeploy/types/key.py +5 -0
- capo_codedeploy/types/lambda_function_alias.py +5 -0
- capo_codedeploy/types/lambda_function_info.py +69 -0
- capo_codedeploy/types/lambda_function_name.py +5 -0
- capo_codedeploy/types/lambda_target.py +114 -0
- capo_codedeploy/types/last_deployment_info.py +74 -0
- capo_codedeploy/types/lifecycle_error_code.py +21 -0
- capo_codedeploy/types/lifecycle_event.py +95 -0
- capo_codedeploy/types/lifecycle_event_hook_execution_id.py +5 -0
- capo_codedeploy/types/lifecycle_event_list.py +31 -0
- capo_codedeploy/types/lifecycle_event_name.py +5 -0
- capo_codedeploy/types/lifecycle_event_status.py +21 -0
- capo_codedeploy/types/lifecycle_message.py +5 -0
- capo_codedeploy/types/list_application_revisions_input.py +111 -0
- capo_codedeploy/types/list_application_revisions_output.py +49 -0
- capo_codedeploy/types/list_applications_input.py +28 -0
- capo_codedeploy/types/list_applications_output.py +49 -0
- capo_codedeploy/types/list_deployment_configs_input.py +28 -0
- capo_codedeploy/types/list_deployment_configs_output.py +49 -0
- capo_codedeploy/types/list_deployment_groups_input.py +40 -0
- capo_codedeploy/types/list_deployment_groups_output.py +58 -0
- capo_codedeploy/types/list_deployment_instances_input.py +82 -0
- capo_codedeploy/types/list_deployment_instances_output.py +47 -0
- capo_codedeploy/types/list_deployment_targets_input.py +57 -0
- capo_codedeploy/types/list_deployment_targets_output.py +45 -0
- capo_codedeploy/types/list_deployments_input.py +93 -0
- capo_codedeploy/types/list_deployments_output.py +47 -0
- capo_codedeploy/types/list_git_hub_account_token_names_input.py +28 -0
- capo_codedeploy/types/list_git_hub_account_token_names_output.py +49 -0
- capo_codedeploy/types/list_on_premises_instances_input.py +68 -0
- capo_codedeploy/types/list_on_premises_instances_output.py +49 -0
- capo_codedeploy/types/list_state_filter_action.py +18 -0
- capo_codedeploy/types/list_tags_for_resource_input.py +38 -0
- capo_codedeploy/types/list_tags_for_resource_output.py +43 -0
- capo_codedeploy/types/listener_arn.py +5 -0
- capo_codedeploy/types/listener_arn_list.py +17 -0
- capo_codedeploy/types/load_balancer_info.py +80 -0
- capo_codedeploy/types/log_tail.py +5 -0
- capo_codedeploy/types/message.py +5 -0
- capo_codedeploy/types/minimum_healthy_hosts.py +50 -0
- capo_codedeploy/types/minimum_healthy_hosts_per_zone.py +50 -0
- capo_codedeploy/types/minimum_healthy_hosts_per_zone_type.py +17 -0
- capo_codedeploy/types/minimum_healthy_hosts_per_zone_value.py +5 -0
- capo_codedeploy/types/minimum_healthy_hosts_type.py +17 -0
- capo_codedeploy/types/minimum_healthy_hosts_value.py +5 -0
- capo_codedeploy/types/next_token.py +5 -0
- capo_codedeploy/types/nullable_boolean.py +5 -0
- capo_codedeploy/types/on_premises_tag_set.py +42 -0
- capo_codedeploy/types/on_premises_tag_set_list.py +31 -0
- capo_codedeploy/types/outdated_instances_strategy.py +17 -0
- capo_codedeploy/types/percentage.py +5 -0
- capo_codedeploy/types/put_lifecycle_event_hook_execution_status_input.py +60 -0
- capo_codedeploy/types/put_lifecycle_event_hook_execution_status_output.py +32 -0
- capo_codedeploy/types/raw_string.py +35 -0
- capo_codedeploy/types/raw_string_content.py +5 -0
- capo_codedeploy/types/raw_string_sha256.py +5 -0
- capo_codedeploy/types/register_application_revision_input.py +58 -0
- capo_codedeploy/types/register_on_premises_instance_input.py +47 -0
- capo_codedeploy/types/registration_status.py +17 -0
- capo_codedeploy/types/related_deployments.py +55 -0
- capo_codedeploy/types/remove_tags_from_on_premises_instances_input.py +61 -0
- capo_codedeploy/types/repository.py +5 -0
- capo_codedeploy/types/revision_info.py +63 -0
- capo_codedeploy/types/revision_info_list.py +29 -0
- capo_codedeploy/types/revision_location.py +114 -0
- capo_codedeploy/types/revision_location_list.py +33 -0
- capo_codedeploy/types/revision_location_type.py +19 -0
- capo_codedeploy/types/role.py +5 -0
- capo_codedeploy/types/rollback_info.py +49 -0
- capo_codedeploy/types/s3_bucket.py +5 -0
- capo_codedeploy/types/s3_key.py +5 -0
- capo_codedeploy/types/s3_location.py +64 -0
- capo_codedeploy/types/script_name.py +5 -0
- capo_codedeploy/types/skip_wait_time_for_instance_termination_input.py +28 -0
- capo_codedeploy/types/sort_order.py +17 -0
- capo_codedeploy/types/stop_deployment_input.py +40 -0
- capo_codedeploy/types/stop_deployment_output.py +43 -0
- capo_codedeploy/types/stop_status.py +17 -0
- capo_codedeploy/types/tag.py +35 -0
- capo_codedeploy/types/tag_filter.py +50 -0
- capo_codedeploy/types/tag_filter_list.py +29 -0
- capo_codedeploy/types/tag_filter_type.py +18 -0
- capo_codedeploy/types/tag_key_list.py +17 -0
- capo_codedeploy/types/tag_list.py +29 -0
- capo_codedeploy/types/tag_resource_input.py +45 -0
- capo_codedeploy/types/tag_resource_output.py +18 -0
- capo_codedeploy/types/target_arn.py +5 -0
- capo_codedeploy/types/target_filter_name.py +17 -0
- capo_codedeploy/types/target_filters.py +40 -0
- capo_codedeploy/types/target_group_info.py +28 -0
- capo_codedeploy/types/target_group_info_list.py +33 -0
- capo_codedeploy/types/target_group_name.py +5 -0
- capo_codedeploy/types/target_group_pair_info.py +79 -0
- capo_codedeploy/types/target_group_pair_info_list.py +35 -0
- capo_codedeploy/types/target_id.py +5 -0
- capo_codedeploy/types/target_id_list.py +17 -0
- capo_codedeploy/types/target_instances.py +78 -0
- capo_codedeploy/types/target_label.py +17 -0
- capo_codedeploy/types/target_status.py +22 -0
- capo_codedeploy/types/time.py +20 -0
- capo_codedeploy/types/time_based_canary.py +37 -0
- capo_codedeploy/types/time_based_linear.py +37 -0
- capo_codedeploy/types/time_range.py +50 -0
- capo_codedeploy/types/timestamp.py +20 -0
- capo_codedeploy/types/traffic_route.py +42 -0
- capo_codedeploy/types/traffic_routing_config.py +80 -0
- capo_codedeploy/types/traffic_routing_type.py +18 -0
- capo_codedeploy/types/traffic_weight.py +5 -0
- capo_codedeploy/types/trigger_config.py +58 -0
- capo_codedeploy/types/trigger_config_list.py +31 -0
- capo_codedeploy/types/trigger_event_type.py +25 -0
- capo_codedeploy/types/trigger_event_type_list.py +35 -0
- capo_codedeploy/types/trigger_name.py +5 -0
- capo_codedeploy/types/trigger_target_arn.py +5 -0
- capo_codedeploy/types/untag_resource_input.py +47 -0
- capo_codedeploy/types/untag_resource_output.py +18 -0
- capo_codedeploy/types/update_application_input.py +38 -0
- capo_codedeploy/types/update_deployment_group_input.py +343 -0
- capo_codedeploy/types/update_deployment_group_output.py +42 -0
- capo_codedeploy/types/value.py +5 -0
- capo_codedeploy/types/version.py +5 -0
- capo_codedeploy/types/version_id.py +5 -0
- capo_codedeploy/types/wait_time_in_mins.py +5 -0
- capo_codedeploy/types/wait_time_in_seconds.py +5 -0
- capo_codedeploy/types/zonal_config.py +63 -0
- capo_codedeploy-0.1.0.dist-info/METADATA +102 -0
- capo_codedeploy-0.1.0.dist-info/RECORD +472 -0
- capo_codedeploy-0.1.0.dist-info/WHEEL +5 -0
- capo_codedeploy-0.1.0.dist-info/licenses/LICENSE +21 -0
- capo_codedeploy-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"""Shared request-binding serialization runtime.
|
|
2
|
+
|
|
3
|
+
Hand-written, not regenerated. Text encodings for values bound to HTTP
|
|
4
|
+
labels, query parameters, and headers by the generated operations.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
import base64
|
|
10
|
+
import datetime
|
|
11
|
+
from email.utils import format_datetime
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def as_utc(value: datetime.datetime) -> datetime.datetime:
|
|
15
|
+
"""Normalize to an aware UTC datetime; naive values are taken as UTC."""
|
|
16
|
+
if value.tzinfo is None:
|
|
17
|
+
return value.replace(tzinfo=datetime.timezone.utc)
|
|
18
|
+
return value.astimezone(datetime.timezone.utc)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def fmt_date_time(value: datetime.datetime) -> str:
|
|
22
|
+
"""RFC 3339 with a ``Z`` designator, e.g. ``2015-01-25T08:00:00Z``."""
|
|
23
|
+
return as_utc(value).isoformat().replace("+00:00", "Z")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def fmt_http_date(value: datetime.datetime) -> str:
|
|
27
|
+
"""IMF-fixdate, e.g. ``Sun, 25 Jan 2015 08:00:00 GMT``."""
|
|
28
|
+
return format_datetime(as_utc(value), usegmt=True)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def fmt_epoch_seconds(value: datetime.datetime) -> str:
|
|
32
|
+
"""Seconds since the epoch; whole seconds carry no ``.0`` suffix."""
|
|
33
|
+
ts = as_utc(value).timestamp()
|
|
34
|
+
return str(int(ts)) if ts == int(ts) else str(ts)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def b64(value: bytes) -> str:
|
|
38
|
+
return base64.b64encode(value).decode("ascii")
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
__all__ = [
|
|
42
|
+
"as_utc",
|
|
43
|
+
"b64",
|
|
44
|
+
"fmt_date_time",
|
|
45
|
+
"fmt_epoch_seconds",
|
|
46
|
+
"fmt_http_date",
|
|
47
|
+
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""Shared XML protocol runtime.
|
|
2
|
+
|
|
3
|
+
Hand-written, not regenerated. Holds re-exports of
|
|
4
|
+
``xml.etree.ElementTree`` primitives generated code depends on.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from xml.etree.ElementTree import Element, SubElement, tostring
|
|
8
|
+
from xml.etree.ElementTree import fromstring as _fromstring
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def fromstring(text: str | bytes) -> Element:
|
|
12
|
+
"""Parse XML and strip namespaces so generated ``el.find("Tag")`` and
|
|
13
|
+
``el.get("attr")`` lookups match. AWS restXml responses use a default
|
|
14
|
+
namespace which ElementTree otherwise qualifies onto every tag as
|
|
15
|
+
``{ns}Tag``; prefixed attributes (e.g. ``xsi:type``) get the same
|
|
16
|
+
treatment on their keys."""
|
|
17
|
+
root = _fromstring(text)
|
|
18
|
+
for el in root.iter():
|
|
19
|
+
if el.tag.startswith("{"):
|
|
20
|
+
el.tag = el.tag.rpartition("}")[2]
|
|
21
|
+
if any(key.startswith("{") for key in el.attrib):
|
|
22
|
+
el.attrib = {
|
|
23
|
+
key.rpartition("}")[2]: value for key, value in el.attrib.items()
|
|
24
|
+
}
|
|
25
|
+
return root
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
__all__ = [
|
|
29
|
+
"Element",
|
|
30
|
+
"SubElement",
|
|
31
|
+
"fromstring",
|
|
32
|
+
"tostring",
|
|
33
|
+
]
|
|
File without changes
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"""AWS partitions table and ``aws.partition`` rules-engine function.
|
|
2
|
+
|
|
3
|
+
Data sourced from AWS SDK ``partitions.json``. All dispatch tables are
|
|
4
|
+
materialised at codegen time:
|
|
5
|
+
|
|
6
|
+
* ``_REGION_LOOKUP`` — O(1) dict of explicit region name -> partition outputs.
|
|
7
|
+
* ``_REGEX_LOOKUP`` — compiled-regex / outputs pairs for unknown regions.
|
|
8
|
+
* ``_DEFAULT_OUTPUTS`` — fallback partition (``aws``)."""
|
|
9
|
+
|
|
10
|
+
from __future__ import annotations
|
|
11
|
+
|
|
12
|
+
import re
|
|
13
|
+
from typing import Any
|
|
14
|
+
|
|
15
|
+
_PARTITION_AWS: dict[str, Any] = {
|
|
16
|
+
"dnsSuffix": "amazonaws.com",
|
|
17
|
+
"dualStackDnsSuffix": "api.aws",
|
|
18
|
+
"implicitGlobalRegion": "us-east-1",
|
|
19
|
+
"name": "aws",
|
|
20
|
+
"supportsDualStack": True,
|
|
21
|
+
"supportsFIPS": True,
|
|
22
|
+
}
|
|
23
|
+
_PARTITION_AWS_CN: dict[str, Any] = {
|
|
24
|
+
"dnsSuffix": "amazonaws.com.cn",
|
|
25
|
+
"dualStackDnsSuffix": "api.amazonwebservices.com.cn",
|
|
26
|
+
"implicitGlobalRegion": "cn-northwest-1",
|
|
27
|
+
"name": "aws-cn",
|
|
28
|
+
"supportsDualStack": True,
|
|
29
|
+
"supportsFIPS": True,
|
|
30
|
+
}
|
|
31
|
+
_PARTITION_AWS_EUSC: dict[str, Any] = {
|
|
32
|
+
"dnsSuffix": "amazonaws.eu",
|
|
33
|
+
"dualStackDnsSuffix": "api.amazonwebservices.eu",
|
|
34
|
+
"implicitGlobalRegion": "eusc-de-east-1",
|
|
35
|
+
"name": "aws-eusc",
|
|
36
|
+
"supportsDualStack": True,
|
|
37
|
+
"supportsFIPS": True,
|
|
38
|
+
}
|
|
39
|
+
_PARTITION_AWS_ISO: dict[str, Any] = {
|
|
40
|
+
"dnsSuffix": "c2s.ic.gov",
|
|
41
|
+
"dualStackDnsSuffix": "api.aws.ic.gov",
|
|
42
|
+
"implicitGlobalRegion": "us-iso-east-1",
|
|
43
|
+
"name": "aws-iso",
|
|
44
|
+
"supportsDualStack": True,
|
|
45
|
+
"supportsFIPS": True,
|
|
46
|
+
}
|
|
47
|
+
_PARTITION_AWS_ISO_B: dict[str, Any] = {
|
|
48
|
+
"dnsSuffix": "sc2s.sgov.gov",
|
|
49
|
+
"dualStackDnsSuffix": "api.aws.scloud",
|
|
50
|
+
"implicitGlobalRegion": "us-isob-east-1",
|
|
51
|
+
"name": "aws-iso-b",
|
|
52
|
+
"supportsDualStack": True,
|
|
53
|
+
"supportsFIPS": True,
|
|
54
|
+
}
|
|
55
|
+
_PARTITION_AWS_ISO_E: dict[str, Any] = {
|
|
56
|
+
"dnsSuffix": "cloud.adc-e.uk",
|
|
57
|
+
"dualStackDnsSuffix": "api.cloud-aws.adc-e.uk",
|
|
58
|
+
"implicitGlobalRegion": "eu-isoe-west-1",
|
|
59
|
+
"name": "aws-iso-e",
|
|
60
|
+
"supportsDualStack": True,
|
|
61
|
+
"supportsFIPS": True,
|
|
62
|
+
}
|
|
63
|
+
_PARTITION_AWS_ISO_F: dict[str, Any] = {
|
|
64
|
+
"dnsSuffix": "csp.hci.ic.gov",
|
|
65
|
+
"dualStackDnsSuffix": "api.aws.hci.ic.gov",
|
|
66
|
+
"implicitGlobalRegion": "us-isof-south-1",
|
|
67
|
+
"name": "aws-iso-f",
|
|
68
|
+
"supportsDualStack": True,
|
|
69
|
+
"supportsFIPS": True,
|
|
70
|
+
}
|
|
71
|
+
_PARTITION_AWS_US_GOV: dict[str, Any] = {
|
|
72
|
+
"dnsSuffix": "amazonaws.com",
|
|
73
|
+
"dualStackDnsSuffix": "api.aws",
|
|
74
|
+
"implicitGlobalRegion": "us-gov-west-1",
|
|
75
|
+
"name": "aws-us-gov",
|
|
76
|
+
"supportsDualStack": True,
|
|
77
|
+
"supportsFIPS": True,
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
_REGION_LOOKUP: dict[str, dict[str, Any]] = {
|
|
81
|
+
"af-south-1": _PARTITION_AWS,
|
|
82
|
+
"ap-east-1": _PARTITION_AWS,
|
|
83
|
+
"ap-east-2": _PARTITION_AWS,
|
|
84
|
+
"ap-northeast-1": _PARTITION_AWS,
|
|
85
|
+
"ap-northeast-2": _PARTITION_AWS,
|
|
86
|
+
"ap-northeast-3": _PARTITION_AWS,
|
|
87
|
+
"ap-south-1": _PARTITION_AWS,
|
|
88
|
+
"ap-south-2": _PARTITION_AWS,
|
|
89
|
+
"ap-southeast-1": _PARTITION_AWS,
|
|
90
|
+
"ap-southeast-2": _PARTITION_AWS,
|
|
91
|
+
"ap-southeast-3": _PARTITION_AWS,
|
|
92
|
+
"ap-southeast-4": _PARTITION_AWS,
|
|
93
|
+
"ap-southeast-5": _PARTITION_AWS,
|
|
94
|
+
"ap-southeast-6": _PARTITION_AWS,
|
|
95
|
+
"ap-southeast-7": _PARTITION_AWS,
|
|
96
|
+
"aws-global": _PARTITION_AWS,
|
|
97
|
+
"ca-central-1": _PARTITION_AWS,
|
|
98
|
+
"ca-west-1": _PARTITION_AWS,
|
|
99
|
+
"eu-central-1": _PARTITION_AWS,
|
|
100
|
+
"eu-central-2": _PARTITION_AWS,
|
|
101
|
+
"eu-north-1": _PARTITION_AWS,
|
|
102
|
+
"eu-south-1": _PARTITION_AWS,
|
|
103
|
+
"eu-south-2": _PARTITION_AWS,
|
|
104
|
+
"eu-west-1": _PARTITION_AWS,
|
|
105
|
+
"eu-west-2": _PARTITION_AWS,
|
|
106
|
+
"eu-west-3": _PARTITION_AWS,
|
|
107
|
+
"il-central-1": _PARTITION_AWS,
|
|
108
|
+
"me-central-1": _PARTITION_AWS,
|
|
109
|
+
"me-south-1": _PARTITION_AWS,
|
|
110
|
+
"mx-central-1": _PARTITION_AWS,
|
|
111
|
+
"sa-east-1": _PARTITION_AWS,
|
|
112
|
+
"us-east-1": _PARTITION_AWS,
|
|
113
|
+
"us-east-2": _PARTITION_AWS,
|
|
114
|
+
"us-west-1": _PARTITION_AWS,
|
|
115
|
+
"us-west-2": _PARTITION_AWS,
|
|
116
|
+
"aws-cn-global": _PARTITION_AWS_CN,
|
|
117
|
+
"cn-north-1": _PARTITION_AWS_CN,
|
|
118
|
+
"cn-northwest-1": _PARTITION_AWS_CN,
|
|
119
|
+
"eusc-de-east-1": _PARTITION_AWS_EUSC,
|
|
120
|
+
"aws-iso-global": _PARTITION_AWS_ISO,
|
|
121
|
+
"us-iso-east-1": _PARTITION_AWS_ISO,
|
|
122
|
+
"us-iso-west-1": _PARTITION_AWS_ISO,
|
|
123
|
+
"aws-iso-b-global": _PARTITION_AWS_ISO_B,
|
|
124
|
+
"us-isob-east-1": _PARTITION_AWS_ISO_B,
|
|
125
|
+
"us-isob-west-1": _PARTITION_AWS_ISO_B,
|
|
126
|
+
"aws-iso-e-global": _PARTITION_AWS_ISO_E,
|
|
127
|
+
"eu-isoe-west-1": _PARTITION_AWS_ISO_E,
|
|
128
|
+
"aws-iso-f-global": _PARTITION_AWS_ISO_F,
|
|
129
|
+
"us-isof-east-1": _PARTITION_AWS_ISO_F,
|
|
130
|
+
"us-isof-south-1": _PARTITION_AWS_ISO_F,
|
|
131
|
+
"aws-us-gov-global": _PARTITION_AWS_US_GOV,
|
|
132
|
+
"us-gov-east-1": _PARTITION_AWS_US_GOV,
|
|
133
|
+
"us-gov-west-1": _PARTITION_AWS_US_GOV,
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
_REGEX_LOOKUP: tuple[tuple[re.Pattern[str], dict[str, Any]], ...] = (
|
|
137
|
+
(re.compile(r"^(us|eu|ap|sa|ca|me|af|il|mx)\-\w+\-\d+$"), _PARTITION_AWS),
|
|
138
|
+
(re.compile(r"^cn\-\w+\-\d+$"), _PARTITION_AWS_CN),
|
|
139
|
+
(re.compile(r"^eusc\-(de)\-\w+\-\d+$"), _PARTITION_AWS_EUSC),
|
|
140
|
+
(re.compile(r"^us\-iso\-\w+\-\d+$"), _PARTITION_AWS_ISO),
|
|
141
|
+
(re.compile(r"^us\-isob\-\w+\-\d+$"), _PARTITION_AWS_ISO_B),
|
|
142
|
+
(re.compile(r"^eu\-isoe\-\w+\-\d+$"), _PARTITION_AWS_ISO_E),
|
|
143
|
+
(re.compile(r"^us\-isof\-\w+\-\d+$"), _PARTITION_AWS_ISO_F),
|
|
144
|
+
(re.compile(r"^us\-gov\-\w+\-\d+$"), _PARTITION_AWS_US_GOV),
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
_DEFAULT_OUTPUTS: dict[str, Any] = _PARTITION_AWS
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
def aws_partition(region: Any) -> dict[str, Any] | None:
|
|
151
|
+
"""Resolve ``region`` to a partition outputs dict."""
|
|
152
|
+
if not isinstance(region, str):
|
|
153
|
+
return None
|
|
154
|
+
outputs = _REGION_LOOKUP.get(region)
|
|
155
|
+
if outputs is not None:
|
|
156
|
+
return outputs
|
|
157
|
+
for pattern, outputs in _REGEX_LOOKUP:
|
|
158
|
+
if pattern.fullmatch(region):
|
|
159
|
+
return outputs
|
|
160
|
+
return _DEFAULT_OUTPUTS
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from ._aws_partition import aws_partition
|
|
6
|
+
from ._endpoint_runtime import (
|
|
7
|
+
Endpoint,
|
|
8
|
+
EndpointError,
|
|
9
|
+
get_attr,
|
|
10
|
+
interpolate,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class EndpointParams:
|
|
15
|
+
def __init__(
|
|
16
|
+
self,
|
|
17
|
+
*,
|
|
18
|
+
UseDualStack: bool | None = None,
|
|
19
|
+
UseFIPS: bool | None = None,
|
|
20
|
+
Region: str | None = None,
|
|
21
|
+
Endpoint: str | None = None,
|
|
22
|
+
):
|
|
23
|
+
self.UseDualStack = UseDualStack if UseDualStack is not None else False
|
|
24
|
+
self.UseFIPS = UseFIPS if UseFIPS is not None else False
|
|
25
|
+
self.Region = Region if Region is not None else None
|
|
26
|
+
self.Endpoint = Endpoint if Endpoint is not None else None
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def resolve(p: EndpointParams) -> Endpoint: # type: ignore
|
|
30
|
+
"""Resolve endpoint from parameters using generated ruleset."""
|
|
31
|
+
_locals: dict[str, Any] = {}
|
|
32
|
+
if p.Endpoint is not None:
|
|
33
|
+
if p.UseFIPS is True:
|
|
34
|
+
raise EndpointError(
|
|
35
|
+
interpolate(
|
|
36
|
+
"Invalid Configuration: FIPS and custom endpoint are not supported",
|
|
37
|
+
p,
|
|
38
|
+
_locals,
|
|
39
|
+
)
|
|
40
|
+
)
|
|
41
|
+
if p.UseDualStack is True:
|
|
42
|
+
raise EndpointError(
|
|
43
|
+
interpolate(
|
|
44
|
+
"Invalid Configuration: Dualstack and custom endpoint are not supported",
|
|
45
|
+
p,
|
|
46
|
+
_locals,
|
|
47
|
+
)
|
|
48
|
+
)
|
|
49
|
+
return Endpoint(url=p.Endpoint, properties={}, headers={})
|
|
50
|
+
_locals: dict[str, Any] = {}
|
|
51
|
+
if p.Region is not None:
|
|
52
|
+
_locals["PartitionResult"] = aws_partition(p.Region)
|
|
53
|
+
if _locals["PartitionResult"] is not None:
|
|
54
|
+
if p.UseFIPS is True:
|
|
55
|
+
if p.UseDualStack is True:
|
|
56
|
+
if True is get_attr(
|
|
57
|
+
_locals["PartitionResult"],
|
|
58
|
+
interpolate("supportsFIPS", p, _locals),
|
|
59
|
+
):
|
|
60
|
+
if True is get_attr(
|
|
61
|
+
_locals["PartitionResult"],
|
|
62
|
+
interpolate("supportsDualStack", p, _locals),
|
|
63
|
+
):
|
|
64
|
+
return Endpoint(
|
|
65
|
+
url=interpolate(
|
|
66
|
+
"https://codedeploy-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
|
|
67
|
+
p,
|
|
68
|
+
_locals,
|
|
69
|
+
),
|
|
70
|
+
properties={},
|
|
71
|
+
headers={},
|
|
72
|
+
)
|
|
73
|
+
raise EndpointError(
|
|
74
|
+
interpolate(
|
|
75
|
+
"FIPS and DualStack are enabled, but this partition does not support one or both",
|
|
76
|
+
p,
|
|
77
|
+
_locals,
|
|
78
|
+
)
|
|
79
|
+
)
|
|
80
|
+
if p.UseFIPS is True:
|
|
81
|
+
if (
|
|
82
|
+
get_attr(
|
|
83
|
+
_locals["PartitionResult"],
|
|
84
|
+
interpolate("supportsFIPS", p, _locals),
|
|
85
|
+
)
|
|
86
|
+
is True
|
|
87
|
+
):
|
|
88
|
+
return Endpoint(
|
|
89
|
+
url=interpolate(
|
|
90
|
+
"https://codedeploy-fips.{Region}.{PartitionResult#dnsSuffix}",
|
|
91
|
+
p,
|
|
92
|
+
_locals,
|
|
93
|
+
),
|
|
94
|
+
properties={},
|
|
95
|
+
headers={},
|
|
96
|
+
)
|
|
97
|
+
raise EndpointError(
|
|
98
|
+
interpolate(
|
|
99
|
+
"FIPS is enabled but this partition does not support FIPS",
|
|
100
|
+
p,
|
|
101
|
+
_locals,
|
|
102
|
+
)
|
|
103
|
+
)
|
|
104
|
+
if p.UseDualStack is True:
|
|
105
|
+
if True is get_attr(
|
|
106
|
+
_locals["PartitionResult"],
|
|
107
|
+
interpolate("supportsDualStack", p, _locals),
|
|
108
|
+
):
|
|
109
|
+
return Endpoint(
|
|
110
|
+
url=interpolate(
|
|
111
|
+
"https://codedeploy.{Region}.{PartitionResult#dualStackDnsSuffix}",
|
|
112
|
+
p,
|
|
113
|
+
_locals,
|
|
114
|
+
),
|
|
115
|
+
properties={},
|
|
116
|
+
headers={},
|
|
117
|
+
)
|
|
118
|
+
raise EndpointError(
|
|
119
|
+
interpolate(
|
|
120
|
+
"DualStack is enabled but this partition does not support DualStack",
|
|
121
|
+
p,
|
|
122
|
+
_locals,
|
|
123
|
+
)
|
|
124
|
+
)
|
|
125
|
+
return Endpoint(
|
|
126
|
+
url=interpolate(
|
|
127
|
+
"https://codedeploy.{Region}.{PartitionResult#dnsSuffix}",
|
|
128
|
+
p,
|
|
129
|
+
_locals,
|
|
130
|
+
),
|
|
131
|
+
properties={},
|
|
132
|
+
headers={},
|
|
133
|
+
)
|
|
134
|
+
_locals: dict[str, Any] = {}
|
|
135
|
+
raise EndpointError(
|
|
136
|
+
interpolate("Invalid Configuration: Missing Region", p, _locals)
|
|
137
|
+
)
|
|
138
|
+
raise EndpointError("No endpoint rules matched")
|