diff --git a/CHANGELOG.md b/CHANGELOG.md index 726bbadac..355b0f1d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,25 @@ Moto Changelog ============== +4.0.10 +----- +Docker Digest for 4.0.10: + + New Methods: + * CloudFront: + * get_distribution_config() + * Organizations: + * delete_organizational_unit() + + Miscellaneous: + * APIGateway: put_integration_response() now supports the responseParameters-parameter + * Cloudformation now supports the creation/update/deletion of AWS::SSM::Parameter + * Cloudformation: create_stack() now returns the attribute EnableTerminationProtection + * CloudWatch: put_metric_data() now supports the MetricData.Values parameter + * DynamoDB: transact_write_items() now supports the ReturnValuesOnConditionCheckFailure-parameter + * RDS: describe_db_cluster now returns the EarliestRestorableTime-attribute + * S3: get_object() and head_object() now correctly handle the IfModifiedSince-parameter + 4.0.9 ----- Docker Digest for 4.0.9: _sha256:0c7a87255814035794733764d497fcb659ae0d6c843fae41040bb1a29c0726ab_ diff --git a/IMPLEMENTATION_COVERAGE.md b/IMPLEMENTATION_COVERAGE.md index 621a39569..846008ffb 100644 --- a/IMPLEMENTATION_COVERAGE.md +++ b/IMPLEMENTATION_COVERAGE.md @@ -269,7 +269,7 @@ ## appsync
-30% implemented +29% implemented - [ ] associate_api - [ ] create_api_cache @@ -289,6 +289,7 @@ - [ ] delete_resolver - [ ] delete_type - [ ] disassociate_api +- [ ] evaluate_code - [ ] evaluate_mapping_template - [ ] flush_api_cache - [ ] get_api_association @@ -610,8 +611,10 @@ 9% implemented - [ ] associate_alias +- [ ] copy_distribution - [ ] create_cache_policy - [ ] create_cloud_front_origin_access_identity +- [ ] create_continuous_deployment_policy - [X] create_distribution - [X] create_distribution_with_tags - [ ] create_field_level_encryption_config @@ -629,6 +632,7 @@ - [ ] create_streaming_distribution_with_tags - [ ] delete_cache_policy - [ ] delete_cloud_front_origin_access_identity +- [ ] delete_continuous_deployment_policy - [X] delete_distribution - [ ] delete_field_level_encryption_config - [ ] delete_field_level_encryption_profile @@ -646,8 +650,10 @@ - [ ] get_cache_policy_config - [ ] get_cloud_front_origin_access_identity - [ ] get_cloud_front_origin_access_identity_config +- [ ] get_continuous_deployment_policy +- [ ] get_continuous_deployment_policy_config - [X] get_distribution -- [ ] get_distribution_config +- [X] get_distribution_config - [ ] get_field_level_encryption - [ ] get_field_level_encryption_config - [ ] get_field_level_encryption_profile @@ -671,6 +677,7 @@ - [ ] list_cache_policies - [ ] list_cloud_front_origin_access_identities - [ ] list_conflicting_aliases +- [ ] list_continuous_deployment_policies - [X] list_distributions - [ ] list_distributions_by_cache_policy_id - [ ] list_distributions_by_key_group @@ -696,6 +703,7 @@ - [ ] untag_resource - [ ] update_cache_policy - [ ] update_cloud_front_origin_access_identity +- [ ] update_continuous_deployment_policy - [X] update_distribution - [ ] update_field_level_encryption_config - [ ] update_field_level_encryption_profile @@ -711,7 +719,7 @@ ## cloudtrail
-44% implemented +42% implemented - [X] add_tags - [ ] cancel_query @@ -719,6 +727,7 @@ - [X] create_trail - [ ] delete_event_data_store - [X] delete_trail +- [ ] deregister_organization_delegated_admin - [ ] describe_query - [X] describe_trails - [ ] get_channel @@ -740,6 +749,7 @@ - [ ] lookup_events - [X] put_event_selectors - [X] put_insight_selectors +- [ ] register_organization_delegated_admin - [X] remove_tags - [ ] restore_event_data_store - [ ] start_import @@ -1706,6 +1716,7 @@ - [ ] cancel_capacity_reservation_fleets - [ ] cancel_conversion_task - [ ] cancel_export_task +- [ ] cancel_image_launch_permission - [ ] cancel_import_task - [ ] cancel_reserved_instances_listing - [X] cancel_spot_fleet_requests @@ -2270,7 +2281,7 @@ ## ecs
-78% implemented +75% implemented - [X] create_capacity_provider - [X] create_cluster @@ -2293,6 +2304,7 @@ - [X] describe_tasks - [ ] discover_poll_endpoint - [ ] execute_command +- [ ] get_task_protection - [X] list_account_settings - [X] list_attributes - [X] list_clusters @@ -2323,6 +2335,7 @@ - [X] update_container_instances_state - [X] update_service - [X] update_service_primary_task_set +- [ ] update_task_protection - [X] update_task_set
@@ -2684,17 +2697,21 @@ ## emr-containers
-53% implemented +42% implemented - [X] cancel_job_run +- [ ] create_job_template - [ ] create_managed_endpoint - [X] create_virtual_cluster +- [ ] delete_job_template - [ ] delete_managed_endpoint - [X] delete_virtual_cluster - [X] describe_job_run +- [ ] describe_job_template - [ ] describe_managed_endpoint - [X] describe_virtual_cluster - [X] list_job_runs +- [ ] list_job_templates - [ ] list_managed_endpoints - [ ] list_tags_for_resource - [X] list_virtual_clusters @@ -2726,20 +2743,23 @@ ## es
-9% implemented +8% implemented - [ ] accept_inbound_cross_cluster_search_connection - [ ] add_tags - [ ] associate_package +- [ ] authorize_vpc_endpoint_access - [ ] cancel_elasticsearch_service_software_update - [X] create_elasticsearch_domain - [ ] create_outbound_cross_cluster_search_connection - [ ] create_package +- [ ] create_vpc_endpoint - [X] delete_elasticsearch_domain - [ ] delete_elasticsearch_service_role - [ ] delete_inbound_cross_cluster_search_connection - [ ] delete_outbound_cross_cluster_search_connection - [ ] delete_package +- [ ] delete_vpc_endpoint - [ ] describe_domain_auto_tunes - [ ] describe_domain_change_progress - [X] describe_elasticsearch_domain @@ -2751,6 +2771,7 @@ - [ ] describe_packages - [ ] describe_reserved_elasticsearch_instance_offerings - [ ] describe_reserved_elasticsearch_instances +- [ ] describe_vpc_endpoints - [ ] dissociate_package - [ ] get_compatible_elasticsearch_versions - [ ] get_package_version_history @@ -2762,12 +2783,17 @@ - [ ] list_elasticsearch_versions - [ ] list_packages_for_domain - [ ] list_tags +- [ ] list_vpc_endpoint_access +- [ ] list_vpc_endpoints +- [ ] list_vpc_endpoints_for_domain - [ ] purchase_reserved_elasticsearch_instance_offering - [ ] reject_inbound_cross_cluster_search_connection - [ ] remove_tags +- [ ] revoke_vpc_endpoint_access - [ ] start_elasticsearch_service_software_update - [ ] update_elasticsearch_domain_config - [ ] update_package +- [ ] update_vpc_endpoint - [ ] upgrade_elasticsearch_domain
@@ -3654,6 +3680,7 @@ - [X] list_principal_things - [ ] list_provisioning_template_versions - [ ] list_provisioning_templates +- [ ] list_related_resources_for_audit_finding - [ ] list_role_aliases - [ ] list_scheduled_audits - [ ] list_security_profiles @@ -4309,7 +4336,7 @@ ## organizations
-76% implemented +78% implemented - [ ] accept_handshake - [X] attach_policy @@ -4322,7 +4349,7 @@ - [X] create_policy - [ ] decline_handshake - [X] delete_organization -- [ ] delete_organizational_unit +- [X] delete_organizational_unit - [X] delete_policy - [X] deregister_delegated_administrator - [X] describe_account @@ -4378,6 +4405,7 @@ - [ ] create_dataset_import_job - [ ] create_event_tracker - [ ] create_filter +- [ ] create_metric_attribution - [ ] create_recommender - [X] create_schema - [ ] create_solution @@ -4387,6 +4415,7 @@ - [ ] delete_dataset_group - [ ] delete_event_tracker - [ ] delete_filter +- [ ] delete_metric_attribution - [ ] delete_recommender - [X] delete_schema - [ ] delete_solution @@ -4401,6 +4430,7 @@ - [ ] describe_event_tracker - [ ] describe_feature_transformation - [ ] describe_filter +- [ ] describe_metric_attribution - [ ] describe_recipe - [ ] describe_recommender - [X] describe_schema @@ -4416,6 +4446,8 @@ - [ ] list_datasets - [ ] list_event_trackers - [ ] list_filters +- [ ] list_metric_attribution_metrics +- [ ] list_metric_attributions - [ ] list_recipes - [ ] list_recommenders - [X] list_schemas @@ -4428,6 +4460,7 @@ - [ ] tag_resource - [ ] untag_resource - [ ] update_campaign +- [ ] update_metric_attribution - [ ] update_recommender
@@ -4594,6 +4627,7 @@ - [ ] create_theme - [ ] create_theme_alias - [ ] delete_account_customization +- [ ] delete_account_subscription - [ ] delete_analysis - [ ] delete_dashboard - [ ] delete_data_set @@ -4667,6 +4701,8 @@ - [ ] restore_analysis - [ ] search_analyses - [ ] search_dashboards +- [ ] search_data_sets +- [ ] search_data_sources - [ ] search_folders - [ ] search_groups - [ ] tag_resource @@ -6002,6 +6038,7 @@ - [X] delete_parameters - [ ] delete_patch_baseline - [ ] delete_resource_data_sync +- [ ] delete_resource_policy - [ ] deregister_managed_instance - [ ] deregister_patch_baseline_for_patch_group - [ ] deregister_target_from_maintenance_window @@ -6062,6 +6099,7 @@ - [X] get_parameters_by_path - [ ] get_patch_baseline - [ ] get_patch_baseline_for_patch_group +- [ ] get_resource_policies - [ ] get_service_setting - [X] label_parameter_version - [ ] list_association_versions @@ -6084,6 +6122,7 @@ - [ ] put_compliance_items - [ ] put_inventory - [X] put_parameter +- [ ] put_resource_policy - [ ] register_default_patch_baseline - [ ] register_patch_baseline_for_patch_group - [ ] register_target_with_maintenance_window @@ -6433,6 +6472,7 @@ - chime-sdk-media-pipelines - chime-sdk-meetings - chime-sdk-messaging +- chime-sdk-voice - cloud9 - cloudcontrol - clouddirectory @@ -6492,6 +6532,7 @@ - inspector - inspector2 - iot-jobs-data +- iot-roborunner - iot1click-devices - iot1click-projects - iotanalytics @@ -6570,6 +6611,7 @@ - rds-data - redshift-serverless - resiliencehub +- resource-explorer-2 - robomaker - rolesanywhere - route53-recovery-cluster @@ -6583,6 +6625,7 @@ - sagemaker-featurestore-runtime - sagemaker-runtime - savingsplans +- scheduler - schemas - securityhub - serverlessrepo @@ -6596,6 +6639,7 @@ - snowball - ssm-contacts - ssm-incidents +- ssm-sap - sso - sso-oidc - storagegateway diff --git a/docs/docs/services/appsync.rst b/docs/docs/services/appsync.rst index eb98f44b4..861670d28 100644 --- a/docs/docs/services/appsync.rst +++ b/docs/docs/services/appsync.rst @@ -45,6 +45,7 @@ appsync - [ ] delete_resolver - [ ] delete_type - [ ] disassociate_api +- [ ] evaluate_code - [ ] evaluate_mapping_template - [ ] flush_api_cache - [ ] get_api_association diff --git a/docs/docs/services/cloudformation.rst b/docs/docs/services/cloudformation.rst index 538ad5d18..3b97d0c8b 100644 --- a/docs/docs/services/cloudformation.rst +++ b/docs/docs/services/cloudformation.rst @@ -33,6 +33,10 @@ cloudformation - [ ] continue_update_rollback - [X] create_change_set - [X] create_stack + + The functionality behind EnableTerminationProtection is not yet implemented. + + - [X] create_stack_instances - [X] create_stack_set - [ ] deactivate_type diff --git a/docs/docs/services/cloudfront.rst b/docs/docs/services/cloudfront.rst index 9399fef2b..e4a9e5aea 100644 --- a/docs/docs/services/cloudfront.rst +++ b/docs/docs/services/cloudfront.rst @@ -26,8 +26,10 @@ cloudfront |start-h3| Implemented features for this service |end-h3| - [ ] associate_alias +- [ ] copy_distribution - [ ] create_cache_policy - [ ] create_cloud_front_origin_access_identity +- [ ] create_continuous_deployment_policy - [X] create_distribution Not all configuration options are supported yet. Please raise an issue if @@ -51,6 +53,7 @@ cloudfront - [ ] create_streaming_distribution_with_tags - [ ] delete_cache_policy - [ ] delete_cloud_front_origin_access_identity +- [ ] delete_continuous_deployment_policy - [X] delete_distribution The IfMatch-value is ignored - any value is considered valid. @@ -73,8 +76,10 @@ cloudfront - [ ] get_cache_policy_config - [ ] get_cloud_front_origin_access_identity - [ ] get_cloud_front_origin_access_identity_config +- [ ] get_continuous_deployment_policy +- [ ] get_continuous_deployment_policy_config - [X] get_distribution -- [ ] get_distribution_config +- [X] get_distribution_config - [ ] get_field_level_encryption - [ ] get_field_level_encryption_config - [ ] get_field_level_encryption_profile @@ -98,6 +103,7 @@ cloudfront - [ ] list_cache_policies - [ ] list_cloud_front_origin_access_identities - [ ] list_conflicting_aliases +- [ ] list_continuous_deployment_policies - [X] list_distributions Pagination is not supported yet. @@ -131,6 +137,7 @@ cloudfront - [ ] untag_resource - [ ] update_cache_policy - [ ] update_cloud_front_origin_access_identity +- [ ] update_continuous_deployment_policy - [X] update_distribution The IfMatch-value is ignored - any value is considered valid. diff --git a/docs/docs/services/cloudtrail.rst b/docs/docs/services/cloudtrail.rst index 86e6a5bc6..bf3b7ce84 100644 --- a/docs/docs/services/cloudtrail.rst +++ b/docs/docs/services/cloudtrail.rst @@ -33,6 +33,7 @@ cloudtrail - [X] create_trail - [ ] delete_event_data_store - [X] delete_trail +- [ ] deregister_organization_delegated_admin - [ ] describe_query - [X] describe_trails - [ ] get_channel @@ -58,6 +59,7 @@ cloudtrail - [ ] lookup_events - [X] put_event_selectors - [X] put_insight_selectors +- [ ] register_organization_delegated_admin - [X] remove_tags - [ ] restore_event_data_store - [ ] start_import diff --git a/docs/docs/services/ec2.rst b/docs/docs/services/ec2.rst index ad6c24b48..adc50a37d 100644 --- a/docs/docs/services/ec2.rst +++ b/docs/docs/services/ec2.rst @@ -68,6 +68,7 @@ ec2 - [ ] cancel_capacity_reservation_fleets - [ ] cancel_conversion_task - [ ] cancel_export_task +- [ ] cancel_image_launch_permission - [ ] cancel_import_task - [ ] cancel_reserved_instances_listing - [X] cancel_spot_fleet_requests diff --git a/docs/docs/services/ecs.rst b/docs/docs/services/ecs.rst index e23662779..0c1c39e42 100644 --- a/docs/docs/services/ecs.rst +++ b/docs/docs/services/ecs.rst @@ -60,6 +60,7 @@ ecs - [X] describe_tasks - [ ] discover_poll_endpoint - [ ] execute_command +- [ ] get_task_protection - [X] list_account_settings - [X] list_attributes @@ -110,5 +111,6 @@ ecs - [X] update_service_primary_task_set Updates task sets be PRIMARY or ACTIVE for given cluster:service task sets +- [ ] update_task_protection - [X] update_task_set diff --git a/docs/docs/services/emr-containers.rst b/docs/docs/services/emr-containers.rst index 2caae12f6..3470ad740 100644 --- a/docs/docs/services/emr-containers.rst +++ b/docs/docs/services/emr-containers.rst @@ -28,14 +28,18 @@ emr-containers |start-h3| Implemented features for this service |end-h3| - [X] cancel_job_run +- [ ] create_job_template - [ ] create_managed_endpoint - [X] create_virtual_cluster +- [ ] delete_job_template - [ ] delete_managed_endpoint - [X] delete_virtual_cluster - [X] describe_job_run +- [ ] describe_job_template - [ ] describe_managed_endpoint - [X] describe_virtual_cluster - [X] list_job_runs +- [ ] list_job_templates - [ ] list_managed_endpoints - [ ] list_tags_for_resource - [X] list_virtual_clusters diff --git a/docs/docs/services/es.rst b/docs/docs/services/es.rst index 981a23c58..0d8c92232 100644 --- a/docs/docs/services/es.rst +++ b/docs/docs/services/es.rst @@ -30,15 +30,18 @@ es - [ ] accept_inbound_cross_cluster_search_connection - [ ] add_tags - [ ] associate_package +- [ ] authorize_vpc_endpoint_access - [ ] cancel_elasticsearch_service_software_update - [X] create_elasticsearch_domain - [ ] create_outbound_cross_cluster_search_connection - [ ] create_package +- [ ] create_vpc_endpoint - [X] delete_elasticsearch_domain - [ ] delete_elasticsearch_service_role - [ ] delete_inbound_cross_cluster_search_connection - [ ] delete_outbound_cross_cluster_search_connection - [ ] delete_package +- [ ] delete_vpc_endpoint - [ ] describe_domain_auto_tunes - [ ] describe_domain_change_progress - [X] describe_elasticsearch_domain @@ -50,6 +53,7 @@ es - [ ] describe_packages - [ ] describe_reserved_elasticsearch_instance_offerings - [ ] describe_reserved_elasticsearch_instances +- [ ] describe_vpc_endpoints - [ ] dissociate_package - [ ] get_compatible_elasticsearch_versions - [ ] get_package_version_history @@ -66,11 +70,16 @@ es - [ ] list_elasticsearch_versions - [ ] list_packages_for_domain - [ ] list_tags +- [ ] list_vpc_endpoint_access +- [ ] list_vpc_endpoints +- [ ] list_vpc_endpoints_for_domain - [ ] purchase_reserved_elasticsearch_instance_offering - [ ] reject_inbound_cross_cluster_search_connection - [ ] remove_tags +- [ ] revoke_vpc_endpoint_access - [ ] start_elasticsearch_service_software_update - [ ] update_elasticsearch_domain_config - [ ] update_package +- [ ] update_vpc_endpoint - [ ] upgrade_elasticsearch_domain diff --git a/docs/docs/services/iot.rst b/docs/docs/services/iot.rst index 8f71f60b1..376f21cdb 100644 --- a/docs/docs/services/iot.rst +++ b/docs/docs/services/iot.rst @@ -219,6 +219,7 @@ iot - [X] list_principal_things - [ ] list_provisioning_template_versions - [ ] list_provisioning_templates +- [ ] list_related_resources_for_audit_finding - [ ] list_role_aliases - [ ] list_scheduled_audits - [ ] list_security_profiles diff --git a/docs/docs/services/organizations.rst b/docs/docs/services/organizations.rst index 92106b497..2c88e269a 100644 --- a/docs/docs/services/organizations.rst +++ b/docs/docs/services/organizations.rst @@ -36,7 +36,7 @@ organizations - [X] create_policy - [ ] decline_handshake - [X] delete_organization -- [ ] delete_organizational_unit +- [X] delete_organizational_unit - [X] delete_policy - [X] deregister_delegated_administrator - [X] describe_account diff --git a/docs/docs/services/personalize.rst b/docs/docs/services/personalize.rst index dd615ace6..00e32ad21 100644 --- a/docs/docs/services/personalize.rst +++ b/docs/docs/services/personalize.rst @@ -36,6 +36,7 @@ personalize - [ ] create_dataset_import_job - [ ] create_event_tracker - [ ] create_filter +- [ ] create_metric_attribution - [ ] create_recommender - [X] create_schema - [ ] create_solution @@ -45,6 +46,7 @@ personalize - [ ] delete_dataset_group - [ ] delete_event_tracker - [ ] delete_filter +- [ ] delete_metric_attribution - [ ] delete_recommender - [X] delete_schema - [ ] delete_solution @@ -59,6 +61,7 @@ personalize - [ ] describe_event_tracker - [ ] describe_feature_transformation - [ ] describe_filter +- [ ] describe_metric_attribution - [ ] describe_recipe - [ ] describe_recommender - [X] describe_schema @@ -74,6 +77,8 @@ personalize - [ ] list_datasets - [ ] list_event_trackers - [ ] list_filters +- [ ] list_metric_attribution_metrics +- [ ] list_metric_attributions - [ ] list_recipes - [ ] list_recommenders - [X] list_schemas @@ -90,5 +95,6 @@ personalize - [ ] tag_resource - [ ] untag_resource - [ ] update_campaign +- [ ] update_metric_attribution - [ ] update_recommender diff --git a/docs/docs/services/quicksight.rst b/docs/docs/services/quicksight.rst index 27722097d..e5be2c46b 100644 --- a/docs/docs/services/quicksight.rst +++ b/docs/docs/services/quicksight.rst @@ -46,6 +46,7 @@ quicksight - [ ] create_theme - [ ] create_theme_alias - [ ] delete_account_customization +- [ ] delete_account_subscription - [ ] delete_analysis - [ ] delete_dashboard - [ ] delete_data_set @@ -136,6 +137,8 @@ quicksight - [ ] restore_analysis - [ ] search_analyses - [ ] search_dashboards +- [ ] search_data_sets +- [ ] search_data_sources - [ ] search_folders - [ ] search_groups - [ ] tag_resource diff --git a/docs/docs/services/ssm.rst b/docs/docs/services/ssm.rst index 500f3109c..d60d48c23 100644 --- a/docs/docs/services/ssm.rst +++ b/docs/docs/services/ssm.rst @@ -58,6 +58,7 @@ ssm - [X] delete_parameters - [ ] delete_patch_baseline - [ ] delete_resource_data_sync +- [ ] delete_resource_policy - [ ] deregister_managed_instance - [ ] deregister_patch_baseline_for_patch_group - [ ] deregister_target_from_maintenance_window @@ -139,6 +140,7 @@ ssm - [ ] get_patch_baseline - [ ] get_patch_baseline_for_patch_group +- [ ] get_resource_policies - [ ] get_service_setting - [X] label_parameter_version - [ ] list_association_versions @@ -165,6 +167,7 @@ ssm - [ ] put_compliance_items - [ ] put_inventory - [X] put_parameter +- [ ] put_resource_policy - [ ] register_default_patch_baseline - [ ] register_patch_baseline_for_patch_group - [ ] register_target_with_maintenance_window diff --git a/moto/cloudformation/models.py b/moto/cloudformation/models.py index 0694a12bf..e9cf539d4 100644 --- a/moto/cloudformation/models.py +++ b/moto/cloudformation/models.py @@ -694,6 +694,9 @@ class CloudFormationBackend(BaseBackend): role_arn: Optional[str] = None, enable_termination_protection: Optional[bool] = False, ) -> FakeStack: + """ + The functionality behind EnableTerminationProtection is not yet implemented. + """ stack_id = generate_stack_id(name, self.region_name, self.account_id) new_stack = FakeStack( stack_id=stack_id,