Skip to content

Update dependency moto to v4.2.14

platform-engineering Service account requested to merge renovate/moto-4.x into main

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

Docker Digest for 4.2.2:

See 4.2.1 - no functional changes.

v4.2.1

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports