Update dependency moto to v4.2.14
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
moto (changelog) | test | minor |
==4.1.1 -> ==4.2.14
|
Release Notes
getmoto/moto (moto)
v4.2.14
Docker Digest for 4.2.14: sha256:2fa10aa48e32f85c63c62a7d437b8a4b320a56a8494bc25d45ced370bc159c23
New Services:
* Backup:
* create_backup_plan()
* create_backup_vault()
* get_backup_plan()
* describe_backup_vault()
* delete_backup_plan()
* list_backup_plans()
* list_backup_vaults()
* list_tags()
* tag_resource()
* untag_resource()
New Methods:
* RDS:
* describe_db_cluster_snapshot_attributes()
* describe_db_snapshot_attributes()
* modify_db_cluster_snapshot_attribute()
* modify_db_snapshot_attribute()
* restore_db_instance_to_point_in_time()
* SageMaker:
* create_feature_group()
* SageMakerRuntime:
* invoke_endpoint_async()
Miscellaneous:
* Cognito: The ID-token now contains custom attributes
* DynamoDB: query() now returns the correct ScannedCount
* EC2: Security Group Rules now have tag support
* LakeFormation: grant_permissions() now has better support for known principal-resource pairs
* SNS: set_subscription_attributes() can now unset the FilterPolicy
v4.2.13
Docker Digest for 4.2.13: sha256:20a2fdd4828b0ce1170ae26186ed28b64523cf6af83af892a74d9b3e23f84471
New Services:
* Panorama:
* delete_device()
* describe_device()
* list_devices()
* provision_device()
* update_device_metadata()
New Methods:
* CognitoIDP:
* admin_respond_to_auth_challenge()
* IdentityStore:
* list_group_memberships_for_member()
* Rekognition:
* compare_faces()
* detect_labels()
* detect_text()
* SSO-Admin:
* attach_customer_managed_policy_reference_to_permission_set()
* attach_managed_policy_to_permission_set()
* delete_inline_policy_from_permission_set()
* detach_customer_managed_policy_reference_from_permission_set()
* detach_managed_policy_from_permission_set()
* get_inline_policy_for_permission_set()
* list_account_assignments_for_principal()
* list_customer_managed_policy_references_in_permission_set()
* list_managed_policies_in_permission_set()
* put_inline_policy_to_permission_set()
* Textract:
* detect_document_text()
Miscellaneous:
* ACM: describe_certificate() now returns a DomainValidationOption for each SN
* CloudFormation: create_change_set() now longer throws an exception when supplying a YAML TemplateBody
* CognitoIDP: create_resource_server() no longer crashes when the scope-parameter is not provided
* DynamoDB: scan() now correctly handles the ScanFilter-attribute again (broken in 4.2.11)
* EC2: launch templates created by CloudFormation now have a generated name if not provided
* EC2: describe_instance_types() now handles unknown values for EnaSupport correctly
* Sagemaker: create_model_package() nown supports Versioned packages
* Scheduler: delete_scheduler() now throws the correct exception when a Schedule does not exist
* SSO-Admin: list_account_assignments() now supports pagination
v4.2.12
Miscellaneous: * AWSLambda: list_functions() now returns a default PackageType (ZIP) if not specified * CloudFormation: AWS::EC2::LaunchTemplate resources now support Fn::GetAtt operations * CognitoIDP: admin_initiate_auth() now correctly returns a Challenge when 2FA is enabled * DynamoDB: execute_statement() now supports INSERT/UPDATE/DELETE queries * EC2: describe_availability_zones() now supports the ZoneNames/ZoneIds-parameters * KMS: encrypt() now validates payloads that are too large * ResourceGroupTaggingAPI: get_resources() now supports SQS queues * Route53: list_hosted_zone()/list_hosted_zones_by_name() now return the CallerReference * S3: copy() now respects the ExtraArgs-parameter when using MultiPart uploads * S3: list_object_versions() now supports pagination * S3: put_object_tagging() now validates the number of tags provided
v4.2.11
Docker Digest for 4.2.11: sha256:f2a24d8a3440bf397705e461b33a032bbb6d3511cd9c643e71419dd962b3384e
New Methods:
* Lambda:
* DeleteFunctionEventInvokeConfig()
* GetFunctionEventInvokeConfig()
* ListFunctionEventInvokeConfigs()
* PutFunctionEventInvokeConfig()
* UpdateFunctionEventInvokeConfig()
* Logs:
* describe_export_tasks()
Miscellaneous:
* DynamoDB: put_item() now returns old item for ConditionalCheckFailed exceptions
* DynamoDB: scan() now returns the correct ScannedCount when passing the Limit-parameter
* DynamoDB: transact_write_items() now validates that Keys in Update-queries are not empty
* IOT: create_thing()/describe_thing() now returns the thingId
* Logs: create_export_task() now actually exports the data to S3
* ResourceGroupsTaggingAPI: get_resources() now supports ACM certificates
v4.2.10
Docker Digest for 4.2.10: sha256:f72acd62b994654d01bdec6f5cc779f4ab30083b441e2fb7eff0c13e0bbfdca7
New Methods:
* CognitoIdentity: list_identity_pools()
Miscellaneous:
* Autoscaling: describe_tags() now supports the key/value filters
* CloudFormation: AWS::Logs::LogGroup now supports tags
* CloudWatch: get_metric_data() no longer throws an error when supplying >10 queries
* CognitoIdentity: get_credentials_for_identity() now returns Expiration as a number, fixing compatibility with the GoLang SDK
* EFS: describe_access_points() now supports the FileSystemId-parameter
* LakeFormation: list_permissions() now supports the DataLocation-parameter
* LakeFormation: register_resource() now throws an exception when registering an existing resource
* SQS: Ensure all responses are in JSON-format when required, fixing compatibility with the Ruby SDK
v4.2.9
Docker Digest for 4.2.9: sha256:4e9d89322b5ca9196fa7efda78b1269580be7aa6879894950e2728edc946573f
General:
* Fix compatibility with botocore 1.32.1
Miscellaneous:
* ECS: Tagging is now supported for Tasks
* LakeFormation: deregister_resource() now throws the correct error for unknown resources
* LakeFormation: list_permissions() now supports Parameters
* RDS: create_db_instance() now validates the engine parameter
* Transcribe: TranscriptionJobs now support the Subtitles-parameter
v4.2.8
Docker Digest for 4.2.8: sha256:937315c79dedcc86506fc22a60502fd73d0e6f3a6f3e5fc614dd3164740e1191
General:
* Support for Python 3.12
* Support for a Simple Lambda backend, that will mock functions without invoking a Docker container.
Use the decorator `mock_lambda_simple` for this feature.
New Methods:
* IdentityStore:
* describe_group()
* Signer:
* list_tags_by_resource()
* tag_resource()
* untag_resource()
Miscellaneous:
* DynamoDB: create_table() now throws an error when supplying an unknown KeyType
* DynamoDB: query() now throws an error when supplying a ExpressionAttributeValue that doesn't start with a ':'
* EC2: describe_hosts() now returns the AllocationTime-attribute
* ECS: register_task_definition() now throws an exception if the ContainerDefinition has missing keys
* ECR: describe_images() now returns the supplied imageDigest-values, instead of random values
* EFS: AccessPoints now have the correct identifier format
* Lambda: Various methods now support the FunctionName in the format 'name:qualifier'
* MQ: create_configuration() is now possible for engine-type 'RABBITMQ'
* RDS: create_db_cluster() now throws an error if the provided engine is not supported
* RDS: create_db_instance() now throws an error if the provided engine does not match the cluster engine
* RDS: delete_db_cluster() now throws an error if any instances are still active
* SageMaker: list_model_packages() and list_model_package_groups() no longer throw an error on pagination
v4.2.7
Docker Digest for 4.2.7: sha256:9149597856f5ce195ef451df1a1b96aa8db0692c4b8ed1f7952fc02952733103
New Services:
* Inspector2:
* associate_member()
* batch_get_account_status()
* create_filter()
* delete_filter()
* describe_organization_configuration()
* disable()
* disable_delegated_admin_account()
* disassociate_member()
* enable()
* enable_delegated_admin_account()
* get_member()
* list_delegated_admin_accounts()
* list_filters()
* list_findings()
* list_members()
* list_tags_for_resource()
* tag_resource()
* untag_resource()
* update_organization_configuration()
New Methods:
* ECR:
* batch_get_repository_scanning_configuration()
* put_registry_scanning_configuration()
Miscellaneous:
* Batch: submit_job() now returns the jobArn-attribute
* DynamoDB: execute_statement() has now support for nested WHERE-clauses with functions
* DynamoDB: update_item() now returns item for ConditionalCheckFailed-exceptions
* EC2: create_key_pair() and describe_key_pair(s)() now support tags
* Route53: get_hosted_zone() now returns the CallerReference
* S3: get_object/put_object() now accepts AccessPoint ARN's
* S3Control: create_access_point() now returns the correct Alias
* SES: list_identities() now supports the IdentityType-parameter
* SNS: create_platform_application has improved error handling
v4.2.6
Docker Digest for 4.2.6: sha256:ad3265531405fd48489ddee7e1fa7301b4d0f46b55daca7ba5039e73eaf70ac1
New Services:
* IVS:
* batch_get_channel()
* create_channel()
* delete_channel()
* get_channel()
* list_channels()
* update_channel()
New Methods:
* LakeFormation:
* add_lf_tags_to_resource()
* get_resource_lf_tags()
* remove_lf_tags_from_resource()
* update_lf_tag()
* Sagemaker:
* describe_model_package_group()
* update_model_package()
Miscellaneous:
* Batch: submit_job() now behaves correctly when passing the arrayProperties-parameter
* DynamoDB: Improved PartiQL parser, with support for different types (Decimals/Booleans) and queries with quoted table-names
* EC2: TagSpecifications now throw an error if the ResourceType is not provided
* EC2: run_instances()/describe_instances() now always return the same attributes (before, both operations were missing different fields)
* EC2: associate_dhcp_options() now supports DhcpOptionsId=default
* EC2: create_key_pair() now supports the KeyType-parameter
* EC2: run_instances() now returns the Placement.HostId attribute
* ELBv2: modify_target_group_attributes() now has additional validations
* Events: put_events() now throws a warning when Detail field is not a dict
* IOT: update_thing() now behaves correctly with empty attributes
* S3: head_object() now raises a MethodNotAllowed for DeleteMarkers
v4.2.5
Docker Digest for 4.2.5: sha256:076cecca9b8ba35b545d23eb5bf780902fbf23eb3610f332eef7adea1f4d2ef7
General:
* Introducing: MotoProxy! An alternative to the MotoServer.
See the docs: http://docs.getmoto.org/en/latest/docs/proxy_mode.html
New Methods:
* Sagemaker:
* list_model_package_groups()
Miscellaneous:
* CognitoIDP: update_user_pool() no longer overrides default settings
* CognitoIDP: set_user_mfa_preference() now allows the settings to be cleared
* EC2: Transit Gateway Peering Attachments are now supported across accounts
* EC2: delete_fleets() now sets the correct status
* ECS: The Task-statuses now automatically advance
* Glue: get_databases/get_tables() now return the CatalogId
* IAM: list_groups() now returns the CreateDate-attribute
* Redshift: describe_clusters() now returns the TotalStorageCapacityInMegabytes
* SES: Templates now support if/else constructs
v4.2.4
Docker Digest for 4.2.4: sha256:4cdda5b0245a28ae2ebf5f1d5d93425226fe00ace65819a9fa02c8aa77a7e0b6
New Methods:
* OpenSearch:
* list_domain_names()
Miscellaneous:
* DynamoDB: Fixed a bug where binary data could not be queried (introduced in 4.2.3)
* EC2: VPC Peering Connections are now supported across accounts
* ECS: register_task_definition() now validates the PidMode has the correct value
* S3: put_bucket_notification_configuration() now supports SNS Topic targets
v4.2.3
Docker Digest for 4.2.3:
New Services:
* RoboMaker:
* create_robot_application()
* delete_robot_application()
* describe_robot_application()
* list_robot_applications()
New Methods:
* ElasticBeanstalk:
* delete_application()
* Events:
* create_partner_event_source()
* delete_partner_event_source()
* describe_event_source()
* describe_partner_event_source()
* put_partner_events()
Miscellaneous:
* Core: The mocked ACCESS_KEY has been changed from `foobar_key` to `FOOBARKEY`, to align with AWS guidelines
* Core: set_initial_no_auth_action_count() now supports SSM actions
* Core: Fixed a memory leak when comparing requests (introduced in 4.1.13)
* Athena: get_query_execution() now returns a StatementType dependent on the provided query
* DynamoDB: query() now throws an exception when the KeyConditionExpression contains a literal value
* EBS: put_snapshot_block() now supports random bytes
* EC2: describe_transit_gateways() now supports filtering by tags
* ELBv2: describe_target_groups() now throws an exception for invalid input parameters
* ELBv2: describe_target_groups() now sorts the result before returning it
* ELBv2: create_target_group() now has improved validation and default values
* ELBv2: create_rule() now creates links between the TargetGroups and LoadBalancers
* Events: put_events() now support HTTP targets
* IAM policy validation now takes the provided Resource-argument into account when validating access to STS-resources
* IAM: get_role() now returns the LastUsed-parameter, provided the role was assumed and used
* KMS: sign/verify now uses the original message when signing, not the base64-version
* Lambda: invoke() now loads any Layers provided in the create_function()
* S3: put_bucket_logging() now supports bucket policies (as well as ACP's)
* S3: Range requests are now more permissive (following AWS' behaviour)
* SFN: list_executions() now returns the StopDate-attribute
v4.2.2
Docker Digest for 4.2.2:
See 4.2.1 - no functional changes.
v4.2.1
Docker Digest for 4.2.14: sha256:2fa10aa48e32f85c63c62a7d437b8a4b320a56a8494bc25d45ced370bc159c23
New Services:
* Backup:
* create_backup_plan()
* create_backup_vault()
* get_backup_plan()
* describe_backup_vault()
* delete_backup_plan()
* list_backup_plans()
* list_backup_vaults()
* list_tags()
* tag_resource()
* untag_resource()
New Methods:
* RDS:
* describe_db_cluster_snapshot_attributes()
* describe_db_snapshot_attributes()
* modify_db_cluster_snapshot_attribute()
* modify_db_snapshot_attribute()
* restore_db_instance_to_point_in_time()
* SageMaker:
* create_feature_group()
* SageMakerRuntime:
* invoke_endpoint_async()
Miscellaneous:
* Cognito: The ID-token now contains custom attributes
* DynamoDB: query() now returns the correct ScannedCount
* EC2: Security Group Rules now have tag support
* LakeFormation: grant_permissions() now has better support for known principal-resource pairs
* SNS: set_subscription_attributes() can now unset the FilterPolicy
v4.2.0
Docker Digest for 4.2.0: sha256:92e59875783037b2558067d2d3f9dd2502c140881ff5c44c44ddbce6658a89b7
General:
The Docker image is now based on Python 3.11 (instead of 3.7)
v4.1.15
Docker Digest for 4.1.15: sha256:eb63b1e0cbbd757e4596844e6ac1865660cbf8e358203b79e5404d57de94dd69
New Services:
* APIGateway Management API:
* delete_connection()
* get_connection()
* post_to_connection()
New Methods:
* Autoscaling:
* delete_warm_pool()
* describe_warm_pool()
* put_warm_pool()
* IdentityStore:
* list_groups()
* IOTData:
* list_named_shadows_for_thing()
* MQ:
* list_tags()
* ServiceDiscovery:
* update_private_dns_namespace()
* update_public_dns_namespace()
Miscellaneous:
* ACM-PCA: create_certificate_authority() now supports the KeyStorageSecurityStandard-parameter
* Batch: create_job_definition() now returns more default fields in the containerProperties field
* CloudTrail: get_trail_status now works with MultiRegion trails
* CognitoIDP: UserPools now return the AccountRecoverySetting-field by default
* DynamoDB: query() now throws an exception when providing empty ProjectionExpressions/FilterExpressions
* EC2: describe_vpc_endpoint_services() now returns user-defined ones
* EC2: run_instances() now supports the Monitoring-attribute
* IOT: group names can now contain special characters
* IOTData now supports named shadows
* KMS: create_key() now supports KeySpecs RSA_3072 and RSA_4096
* KMS: create_key() now validates the provided KeySpec
* Lambda: create_function() now fails when creating a function with a name that already exists
* Lambda: put_function_concurrency() now errors on a quota that exceeds the value set by MOTO_LAMBDA_CONCURRENCY_QUOTA
* Lambda: update_function_code() now supports the ImageUri-attribute
* RDS: describe_db_cluster_snapshots() now returns the TagList-property
* ResourceTaggingsAPI: Now supports Glue resources
* S3: Authentication now allows specific resources in the IAM access policy
* S3: select_object_content() now takes RecordDelimiter into account
* Scheduler: create_scheduler() now errors on duplicate names
* TimestreamWrite: create_table() now supports the Schema-attribute
v4.1.14
Docker Digest for 4.1.14: sha256:4cc82c0803c6b578d5c4146a8e38ff0387dec565483cfaa63eb238cb867e97e6
New Methods:
* SageMaker:
* create_model_package()
* create_model_package_group()
* describe_model_package()
* list_model_packages()
Miscellaneous:
* CloudFormation: describe_stack_instances() now returns the StackInstanceStatus-attribute
* CloudFront: update_distribution() now supports the DefaultRootObject-parameter
* CloudWatch: get_metric_data() now support (simple) Expressions
* CognitoIDP: initiate_auth() and admin_initiate_auth() now throw a NotAuthorizedError for disabled users
* EC2 VPC's: Add CloudFront, Ground Station and Lattice prefix lists
* IOT: search_index() now returns the connectivity-attribute
* Organizations: Introduce more trusted service principals
* RDS: create_db_cluster() now supports the VpcSecurityGroupIds-parameter
* S3: Optional support for CRC32C checksums
* SNS: publish_batch() now sends the required `MessageDeduplicationId` for FIFO queues
* SQS: send_message_batch() now only throws a `BatchRequestTooLong` if the sum of all messages exceed the limit
v4.1.13
Docker Digest for 4.1.13: sha256:ec471bcfbf66def946466398f002e8edfbb667bde7b1d8033aedbdd4453fbb8e
General:
* The ISO-regions introduced in 4.1.12 are now locked behind an environment variable: `MOTO_ENABLE_ISO_REGIONS`
* General performance improvements in the URL matching logic - especially `mock_all` users should notice improvements
New Methods:
* APIGatewayV2:
* create_stage()
* delete_stage()
* get_stage()
* get_stages()
* CloudFront:
* create_origin_access_control()
* delete_origin_access_control()
* get_origin_access_control()
* list_origin_access_controls()
* update_origin_access_control()
* Lambda:
* list_aliases()
* Logs:
* delete_destination()
* describe_destinations()
* get_destination()
* put_destination()
* put_destination_policy()
* Route53:
* get_health_check_status()
* SSM:
* deregister_task_from_maintenance_window()
* describe_maintenance_window_tasks()
* register_task_with_maintenance_window()
Miscellaneous:
* Batch: create_compute_environment() now validates instanceRole and minvCpu
* CloudFront: create_distribution() now correctly handles a single alias
* CloudFront - CustomOrigins now have default timeouts if not supplied
* DynamoDB: delete_item() now throws the correct error when the table is not found
* EC2: describe_security_group_rules() now returns the GroupId
* ECR: create_repository() now validates the repositoryName-parameter
* Lambda: create_function() now returns the ImageConfigResponse and EphemeralStorage parameters
* IOTData: publish() can now handle non-Unicode bytes
* RDS: Automated snapshots now have the appropriate SnapshotType
* Route53: create_hosted_zone() now returns the Location
* Scheduler: get_schedule() now returns the CreationDate and LastModificationDate
* SecretsManager: delete_secret() now throws an error when setting the Recovery to 0 days
* StepFunctions: start_execution() now validates the name-length
v4.1.12
Docker Digest for 4.1.12: sha256:38e34a1ee4042fd52f15703c2e750780fe0fd809b2745fd263b2d1de33566590
General:
* Support for ISO regions
* The official Docker image now comes with curl pre-installed
New Services:
* AppConfig:
* create_application()
* create_configuration_profile()
* create_hosted_configuration_version()
* delete_application()
* delete_configuration_profile()
* delete_hosted_configuration_version()
* get_application()
* get_configuration_profile()
* get_hosted_configuration_version()
* list_configuration_profiles()
* list_tags_for_resource()
* tag_resource()
* untag_resource()
* update_application()
* update_configuration_profile()
New Methods:
* IdentityStore:
* create_user()
* describe_user()
* delete_user()
* get_group_id()
* delete_group()
* create_group_membership()
* get_group_memberships()
* delete_group_membership()
* SSM:
* create_patch_baseline()
* describe_patch_baselines()
* delete_patch_baseline()
* register_target_with_maintenance_window()
* describe_maintenance_window_targets()
* deregister_target_from_maintenance_window()
Miscellaneous:
* Moto Dashboard no longer fails to load after an S3 file is overwritten
* CloudFormation: AWS:SSM::Parameter now exposes the PhysicalResourceId
* CloudFront: create_invalidation() now behaves correctly when supplying a single Path
* CloudWatch: get_metrics_data() now validates the provided start/end times
* CodeBuild: create_project() now accepts all ServiceRole ARN's, not just ARN's that end in /service-role/
* Config: put_configuration_recorder() now supports resource type exclusions
* DMS: describe_replication_tasks() now returns TableMappings and ReplicationTaskSettings in the correct format
* DynamoDB now supports ProjectionExpressions on (nested) lists
* EC2: New availability zones have been added for ap-south-1, sa-east-1, ca-central-1, us-west-2
* EC2: create_flow_logs() now allows different LogDestinations for a single ResourceId
* EC2: replace_route() now returns the appropriate error when called with missing route
* EC2: create_volume() now supports the Throughput-parameter
* ECR: put_image() now correctly overwrites tags on images with multiple tags
* IAM: add_role_to_instance_profile() now validates whether a role was already attached (only one is allowed)
* Lambda: delete_layer_version() now also accepts function ARNs
* MediaConnect: create_flow_payload() no longer requires the Entitlements-parameter
* RDS: Further improve Global Cluster behaviour
* S3: GET/PUT requests now return Access-Control headers, if a CORS configuration has been set
* S3: put_bucket_lifecycle_configuration() now supports multiple Transitions
* SESv2: create_contact_list() now correctly reads Topics with special characters
* SESv2: send_email() now correctly reads raw emails
v4.1.11
Docker Digest for 4.1.11: sha256:0ac1ec726e428bd3134c10c32639d72f814bbe002b9d2010420850aab8bc2550
New Methods:
* AppSync:
* get_introspection_schema()
* Comprehend:
* detect_key_phrases()
* detect_pii_entities()
* detect_sentiment()
Miscellaneous:
* EC2: describe_key_pairs() now returns the CreateTime-attribute
* EC2: describe_spot_fleet_requests() now returns the Tags-attribute
* ECR: put_image(): now behaves correctly on duplicate images with duplicate tags
* Organizations: create_policy() now supports the Tags-parameter
* RDS: creation times of all objects are now in UTC
* Redshift: creation times of all objects are now in UTC
* S3: Bucket names are now global, meaning they have to be unique across accounts
* S3: select_object_content() now supports None-values
* S3: select_object_content() now supports nested FROM-clauses (from x.y as xy)
* SecretsManager - update_secret() now supports the Description-parameter
* SNS now returns the correct error message for non-existing topics
* SNS: Topics are no longer accessible across regions (only across accounts)
* SNS: delete_topic() is now idempotent and no longer throws an error for non-existent topics
* SQS: Requests and responses in JSON-format are now supported
* SSM: MaintenanceWindows now have tagging support
v4.1.10
Docker Digest for 4.1.10: sha256:095d1dfadc71b4c68f05240129a32acf6dd7ba722c78afd4f01d8c7c3af0ebb4
New Services:
* Glue:
* create_session()
* delete_session()
* get_session()
* list_sessions()
* stop_session()
* Sagemaker:
* create_transform_job()
* describe_transform_job()
* list_transform_jobs()
Miscellaneous:
* Core: The `date`-header is now returned for all operations (set to the current date)
* AutoScaling: describe_policies() now returns the field `TargetTrackingConfiguration.CustomizedMetricSpecification.Metrics`
* Cloudformation: delete_stack_instances() now behaves correctly when deleting multiple regions
* EC2: create_route() now takes the `VpcEndpointId`-parameter into account
* EC2: describe_instances() now throws an exception when both the InstanceIds and PaginationConfig parameters are supplied
* IAM: get_group() now returns the fields `CreateDate` and `PasswordLastUsed`
* RDS: start_export_task() now returns the field `SourceType`
* S3: aligned checksum calculation with how AWS behaves
* S3: now returns `Accept-Ranges`-headers, instead of `AcceptRanges`, in-line with AWS
* S3: copy_object() now behaves correctly when copying objects in encrypted buckets
* S3: put_object_legal_hold() now takes the VersionId-parameter into account
* S3: put_object_retention() now takes the VersionId-parameter into account
* SecretsManager: list_secrets now returns the fields `LastRotatedDate` and `NextRotationDate`
* SNS: Topics can now be accessed across accounts
* SNS: Fixed a bug so that topics without properties can now be deleted using CloudFormation
v4.1.9
Docker Digest for 4.1.9: sha256:121a51dcf0e42e53a601803bdeb25324d18b2d45f08a79923c65034f4f14448a
New Services:
* Glue:
* batch_get_triggers
* create_trigger
* delete_trigger
* get_trigger
* get_triggers
* list_triggers
* start_trigger
* stop_trigger
* Glue:
* create_contact
* create_contact_list
* delete_contact
* delete_contact_list
* get_contact
* get_contact_list
* list_contact_lists
* list_contacts
* send_email
Miscellaneous:
* Kinesis: Improve calculations on stream limits
* EC2: Improve logic behind describe_image_attribute()
* S3: Various improvements to the logic behind copy_object()
* Scheduler: update_schedule() now supports the GroupName-parameter
* SNS: Improve and enhance validation of numeric parameters
* SNS: MessageDeduplicationId is now forwarded to SQS queues (Fixes a bug in 4.1.7)
v4.1.8
Docker Digest for 4.1.8: sha256:e83d868df71b193d625d9fb031282f6632c6c80d0314cfca6780f9a3f37d1f61
New Methods:
* DynamoDB:
* batch_execute_statement()
* execute_statement()
* execute_transaction()
* Glue:
* batch_get_jobs()
* delete_job()
* KMS:
* get_public_key()
Miscellaneous:
* Athena: Fixed a bug causing every call to `get_workgroup(WorkGroup="primary")` to fail
* AWSLambda: Performance improvement: Docker images are no longer re-downloaded if they already exist
* BatchSimple now uses the environment variable MOTO_SIMPLE_BATCH_FAIL_AFTER=0 to determine whether the job should fail, and after how many seconds
* EC2: replace_route() now supports the NetworkInterfaceId-parameter
* ECR: batch_get_image() now correctly returns images when requested using an older tag
* ELBv2: describe_target_health() now returns the correct error message for unregistered targets
* S3: copy_object() now adds a checksum to a copied object if requested
* S3: get_object() no longer returns a VersionId for non-versioned buckets
* SES: Templates now allow a single curly brace, and no longer assume it's part of a variable
* SSM: describe_parameters() now allows filtering by existence of tag-name
* StepFunctions: The SF_EXECUTION_HISTORY_TYPE=FAILURE environment variable can now be used to generate failure responses for all operations
* STS: assume_role() now stores the AccessKey in the requesting account
v4.1.7
Docker Digest for 4.1.7: sha256:6b877d5efe86562d27f296638d6b163c7987913c203874578d00fa1f83eea000
New Services:
* LakeFormation:
* batch_grant_permissions()
* batch_revoke_permissions()
* create_lf_tag()
* delete_lf_tag()
* deregister_resource()
* describe_resource()
* get_data_lake_settings()
* get_lf_tag()
* grant_permissions()
* list_data_cells_filter()
* list_lf_tags()
* list_permissions()
* list_resources()
* put_data_lake_settings()
* register_resource()
* revoke_permissions()
* RDS Data:
* execute_statement()
* Scheduler:
* create_schedule()
* create_schedule_group()
* delete_schedule()
* delete_schedule_group()
* get_schedule()
* get_schedule_group()
* list_schedule_groups()
* list_schedules()
* list_tags_for_resource()
* tag_resource()
* untag_resource()
* update_schedule()
New Methods:
* Config:
* delete_retention_configuration()
* describe_retention_configurations()
* put_retention_configuration()
* EC2:
* get_launch_template_data()
* RDS:
* create_db_cluster_parameter_group()
* create_global_cluster()
* delete_db_cluster_parameter_group()
* delete_global_cluster()
* describe_db_cluster_parameter_groups()
* describe_db_cluster_parameters()
* describe_db_subnet_groups()
* describe_global_clusters()
* promote_read_replica_db_cluster()
* remove_from_global_cluster()
Miscellaneous:
* APIGateway now allows semicolons in paths
* CloudFormation now supports Fn::ToJsonString
* DynamoDB: update_item() now supports number-sets in the AttributeUpdates-parameter
* DynamoDB: query() - The KeyConditionExpression now allows enclosing the sort key condition in brackets
* EC2: assign_private_ip_addresses() now supports the PrivateIpAddresses-argument
* ECR: put_image() now supports the imageManifestMediaType parameter
* ECS: run_task() now validates the provided launch-type
* Logs: put_subscription_filter() now supports KinesisStream destinations
* RDS: describe_db_clusters() now supports filtering by db-cluster-id and engine
* RDS: describe_db_clusters() now returns the parameters KmsKeyId, NetworkType, DBSubnetGroupName, ScalingConfiguration
* S3: head_object() now returns the AcceptRanges header
* SQS: Improvements in the deduplication-logic
v4.1.6
Docker Digest for 4.1.6: sha256:36122dca33cb8f70d84734d1a0a6a5931f7a533fab3c58edd7ca0b2ebe325797
New Services:
* OpenSearch:
* add_tags()
* create_domain()
* delete_domain()
* describe_domain()
* describe_domain_config()
* get_compatible_versions()
* list_tags()
* remove_tags()
* update_domain_config()
Methods:
* S3: select_object_content()
Miscellaneous:
* Batch: The AWS_BATCH_JOB_MAIN_NODE_PRIVATE_IPV4_ADDRESS-variable now plays nicely with custom Docker networks
* CloudFormation now supports deletion of AWS::EC2::Subnet, AWS::EC2::VPC
* CloudFormation now supports variable mapping inside "Fn::Sub"
* CloudFormation: delete_stack() now adheres to "DeletionPolicy": "Retain" set for individual resources
* Events: The EventBusName-parameter is now supported for these methods:
delete_rule(), describe_rule(), disable_rule(), enable_rule(), list_rule_names_by_target(), list_rules(), list_targets_by_rule()
* RDS: describe_db_clusters() now accepts an ARN as identifier
* RDS: describe_db_snapshots() now returns the TagList-attribute
* S3: get_object() now returns the AcceptRanges header
* S3: head_bucket() now returns the region-header
* SecretsManager now supports partial ARN's
v4.1.5
Docker Digest for 4.1.5: sha256:0e43c36e1b1390106ec43b2e383486c45fef27646838acaa8073cbd2b4a97a31
General:
* Our Docker-images are now also hosted in GHCR:
https://github.com/getmoto/moto/pkgs/container/motoserver
New Methods:
* Athena:
* create_prepared_statement()
* get_prepared_statement()
* list_named_queries()
* S3:
* get_object_attributes()
* SecretsManager:
* delete_resource_policy()
* put_resource_policy()
Miscellaneous:
* Athena: Now automatically creates the default WorkGroup called `primary`
* AWSLambda: the default data dir for Docker containers can now be customized using the environment variable MOTO_LAMBDA_DATA_DIR
* CloudFormation now supports the resource AWS::CloudFormation::Stack
* CognitoIDP: the ID-token now uses the key cognito:username, instead of username
* EC2: describe_security_group_rules() now provides the correct value for the IsEgress-parameter
* EC2: revoke_security_group_egress() no longer throws an error when the IPProtocol-argument is not provided
* Glue: get_job() now supports the parameters CodeGenConfigurationNodes, ExecutionClass, SourceControlDetails
* IOT: delete_certificate() now supports the forceDelete-parameter
v4.1.4
Docker Digest for 4.1.4: sha256:32ed22e2c69826a90482d0e473c460d60c3c7dc60819d95c0c165e0e978208db
General:
Data is now deleted after the mock ends. If you use manual mocks, you can still choose the keep the data:
mock = mock_sqs()
mock.start()
mock.stop(remove_data=False)
New Services:
* Neptune:
* create_db_cluster()
* create_global_cluster()
* delete_db_cluster()
* delete_global_cluster()
* describe_db_clusters()
* describe_global_clusters()
* describe_orderable_db_instance_options()
* modify_db_cluster()
* start_db_cluster()
New Methods:
* Glue:
* get_jobs()
* get_table_version()
Miscellaneous:
* APIGateway: update_rest_api() now updates the policy-attribute
* Athena now exposes an endpoint to store mock query results. See http://docs.getmoto.org/en/latest/docs/services/athena.html
* CognitoIDP: The idToken now contains the cognito:groups attribute
* DynamoDB: scan() now respects the Projection-attribute of a GSI/LSI
* KMS: encrypt(), decrypt(), re_encrypt() now accept aliases as arguments
* KMS: list_aliases() now supports the KeyId-parameter
* Lambda: FIFO Queues are now supported event sources
* RDS: create_option_group() now returns the OptionGroupArn-attribute
* ResourceGroupsTaggingAPI: get_resources() now supports RDS Clusters and ClusterSnapshots
* SSM now includes the parameters at /aws/service/ecs/optimized-ami
v4.1.3
Docker Digest for 4.1.3: sha256:3139cdae44d5da35d92d9e385cb878581eef8df3514cbda5cbc3e103488095a7
New Services:
* IdentityStore:
* create_group()
Miscellaneous:
* DynamoDB: create_table() now deals correctly with non-key attributes supplied as part of the KeySchema
* Glue: get_partitions() now supports nano-second precision when filtering timestamps
* Glue: get_table_version() now returns the Table.VersionId and Table.UpdateTime-attributes
* Transcribe: start_transcription_job() now supports the IdentifyMultipleLanguages-parameter
v4.1.2
Docker Digest for 4.1.2: sha256:742bd95faadb80133aa7082ca6f4d1d71af2f4802833e92348b082b11ec8d4ed
New Methods:
* Batch:
* create_scheduling_policy()
* delete_scheduling_policy()
* describe_scheduling_policies()
* list_scheduling_policies()
* update_scheduling_policy()
* EC2:
* allocate_hosts()
* describe_hosts()
* modify_hosts()
* release_hosts()
* ECS:
* put_cluster_capacity_providers()
* update_capacity_provider()
* update_cluster()
* Glue:
* batch_get_crawlers()
Miscellaneous:
* AWSLambda: Base Images are now pulled from multiple repositories, increasing the number of supported language/versions out of the box
* CognitoIDP: admin_update_user_attributes() now checks for duplicate emails
* ECS: create_cluster() now supports the parameters configuration, capacityProviders, defaultCapacityProviderStrategy
* ECS: delete_cluster() now marks the cluster as INACTIVE, rather than removing it outright, in-line with how AWS behaves
* ECS: register_task_definition() now supports the parameters proxyConfiguration, inferenceAccelerators, runtimePlatform, ipcMode, pidMode, ephemeralStorage
* ECS: run_task() no longer crashes when providing launchType=FARGATE
* ECS now has improved tagging-support
* EKS: create_nodegroup() now returns the correct launchTemplate-attributes
* Kinesis now supports the streamARN-parameter for all arguments
* S3: Improved bucket policy enforcement
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.