Skip to content

Pin moto to latest version 4.2.2 #2726

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Sep 2, 2023

This PR pins moto to the latest release 4.2.2.

Changelog

4.2.2

------
Docker Digest for 4.2.2: <autopopulateddigest>

 See 4.2.1 - no functional changes.

4.2.1

------
Docker Digest for 4.2.1: <autopopulateddigest>

 New Services:
     * Sagemaker Runtime:
         * invoke_endpoint()

 New Methods:
     * CognitoIDP:
         * describe_resource_server()
         * list_resource_servers()

     * CognitoIDP:
         * create_cache_cluster()
         * delete_cache_cluster()
         * describe_cache_clusters()

     * IdentityStore:
         * list_users()

     * Logs:
         * describe_query_results()
         * get_query_results()
         * list_tags_for_resource()
         * tag_resource()
         * untag_resource()

     * Sagemaker:
         * list_notebook_instances()

 Miscellaneous:
     * EC2: describe_transit_gateways() now returns the ARN
     * IAM policies now allow S3 accesspoint arns
     * KMS: sign() now supports RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512 and RSASSA_PKCS1_* algorithms
     * Logs: Now supports two subscription filters
     * RDS: Clusters now support the ServerlessV2ScalingConfiguration parameter
     * ResourceGroupsTaggingAPI: tag_resource() now supports RDS resources
     * S3: CrossAccount access can now be disabled, using MOTO_S3_ALLOW_CROSSACCOUNT_ACCESS=false
     * SecretsManager: Allow creation/update of secrets without values
     * SES: set_identity_mail_from_domain() - the Identity can now also be an email

4.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)

4.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

4.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

4.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

4.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

4.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

4.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

4.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)

4.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

4.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

4.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

4.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

4.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

4.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

4.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

4.1.1

-----
Docker Digest for 4.1.1: _sha256:abb85db28568fc355636dac710a8108ba3cdb01bf1c129118cf1ce49eb8c5f07_

 New Methods:
     * APIGateway:
         * get_export()

     * EC2:
         * describe_security_group_rules()

     * Glue:
         * delete_registry()
         * get_registry()
         * get_schema()
         * list_registries()
         * update_schema()

     * Sagemaker:
         * describe_pipeline()
         * describe_pipeline_definition_for_execution()
         * describe_pipeline_execution()
         * list_pipeline_executions()
         * list_pipeline_parameters_for_execution()
         * start_pipeline()

 Miscellaneous:
     * APIGateway: put_integration() now supports the connectionType-parameter
     * Batch: register_job_definition() now supports type="multinode"
     * EC2: describe_launch_template_versions() now supports $Latest and $Default versions
     * ECS: list_services() now throws correct error when providing unknown cluster
     * ECS: start_task() now supports the tags-parameter
     * Events: put_events() now supports sending events to an eventbus in another region/account
     * KMS: list_aliases() now returns the TargetKeyId-attribute
     * S3: put_bucket_logging() now actually logs incoming requests, when enabled
     * SES: Fixed a bug where the service was not region-aware, i.e. all resources were shared across regions
     * SES: improved parser support for email templates
     * SSM: put_parameter() now validates the value of the Type-parameter
     * RDS: create_db_instance() now supports the PreferredMaintenanceWindow and PreferredBackupWindow-parameters

4.1.0

-----
Docker Digest for 4.1.0: _sha256:1c38613f7273054650d08f3cb3ce118753296d08ffbfee8c96400c89a529c9ca_

 General:
     * Dropped support for Py 3.6
     * Moto now uses setup.cfg to hold our packaging configuration, instead of setup.py, making Moto compatible with more recent Pip-versions

4.0.13

-----
Docker Digest for 4.0.13: _sha256:703a9d464c11e1f4cacff66acdc9b46f9fa8fb0b969ca9f1e79fa4eb41678565_

 New Methods:
     * EC2:
         * get_password_data()
     * Sagemaker:
         * update_pipeline()
     * SecretsManager:
         * cancel_rotate_secret()

 Miscellaneous:
     * CloudWatch: put_metric_data() now supports the StatisticValues-parameter
     * CognitoIDP: sign_out() now also invalidates the AccessToken
     * IAM: get_account_authorization_details() now returns the Tags-attribute
     * IOT: create_keys_and_certificate() now creates valid certificates, instead of random data

4.0.12

-----
Docker Digest for 4.0.12: _sha256:06916d3f310c68fd445468f06d6d4ae6f855e7f2b80e007a90bd11eeb421b5ed_

 General:
     * Fixes our Kinesis-compatibility with botocore>=1.29.31 - earlier Moto-versions will connect to AWS when using this botocore-version 

 New Methods:
     * Athena:
         * get_query_results()
         * list_query_executions()
     * RDS:
         * promote_read_replica()
     * Sagemaker:
         * create_pipeline()
         * delete_pipeline()
         * list_pipelines()

 Miscellaneous:
     * AWSLambda: publish_function() and update_function_code() now only increment the version if the source code has changed
     * CognitoIDP: Passwords are now validated using the PasswordPolicy (either supplied, or the default)
     * CloudFormation: create_stack() now propagates parameters StackPolicyBody and TimeoutInMinutes
     * CloudFormation: create_stack_instances() now returns the actual OperationId
     * CloudFormation: create_stack_set() now validates the provided name
     * CloudFormation: create_stack_set() now supports the DeploymentTargets-parameter
     * CloudFormation: create_stack_set() now actually creates the provided resources
     * CloudFormation: create_stack_set() now propagates parameters AdministrationRoleARN and ExecutionRoleName
     * CloudFormation: describe_stack_set() now returns the attributes Description, PermissionModel
     * CloudFormation: delete_stack_set() now validates that no instances are present before deleting the set
     * CloudWatch: get_metric_data() now supports the Label-parameter
     * EC2: allocate_address() now has improved behaviour for the Domain-parameter
     * EC2: create_volume() now supports the Iops-parameter
     * ECR: Improved ImageManifest support
     * KMS: describe_key() now returns an AccessDeniedException if the supplied policy does not allow this action
     * Route53: change_resource_record_sets() has additional validations
     * Route53: create_hosted_zone() now also creates a SOA-record by default
     * S3: put_object() now returns the ChecksumAlgorithm-attribute if supplied
     * SSM: describe_parameters() now has improved support for filtering by tags

4.0.11

-----
Docker Digest for 4.0.11: _sha256:ba07f61edd4f91b221ea20368586dce024e7da4d018e2741aceafa1f07f47ec5_

 New Services:
     * ACM-PCA:
         * create_certificate_authority()
         * delete_certificate_authority()
         * describe_certificate_authority()
         * get_certificate()
         * get_certificate_authority_certificate()
         * get_certificate_authority_csr()
         * import_certificate_authority_certificate()
         * issue_certificate()
         * list_tags()
         * revoke_certificate()
         * tag_certificate_authority()
         * update_certificate_authority()
         * untag_certificate_authority()

 New Methods:
     * create_api_mapping()
     * create_domain_name()
     * delete_api_mapping()
     * delete_domain_name()
     * get_api_mapping()
     * get_api_mappings()
     * get_domain_name()
     * get_domain_names()

 Miscellaneous:
     * APIGateway: create_rest_api() now supports the propagation of parameter disableExecuteApiEndpoint (not the actual behaviour)
     * APIGateway: put_integration() now supports the parameters contentHandling, credentials, tlsConfig
     * AWSLambda: create_function() is now able to validate the existence of the provided ImageURI. Set environment variable MOTO_LAMBDA_STUB_ECR=false to enable this.
     * Batch: submit_job() now adds validation for the jobName parameter
     * CloudWatch: get_metric_data() now adds support for filtering by the unit-value
     * DynamoDB: transact_write_items() now supports up to 100 items instead of 25, in line with AWS
     * ELB: describe_instance_health() now validates the existence of the provided LoadBalancer
     * Polly: The list of available voices has been updated.
     * S3: put_object() now has improved support for filenames containing spaces
     * SQS: send_message() and send_message_batch() now adds validation for the DelaySeconds-parameter

4.0.10

-----
Docker Digest for 4.0.10: _sha256:faf0e4b591c47c7775da4f827c2ec2e1ff48a32b31169236fa604ffb95dafb78_

 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_

 Miscellaneous:
     * CloudTrail: describe_trails() now returns the correct (MultiRegion) trails
     * CloudWatch:tag_resource() now allows tagting new Alarms that didn't have tags yet
     * EC2: create_instances() now supports the `IamInstanceProfile`-parameter
     * EC2: describe_route_tables() now supports the `route.vpc-peering-connection-id`-filter
     * EC2: modify_vpc_attribute() now supports the enableNetworkAddressUsageMetrics-attribute
     * S3: delete_objects() now works against the JS SDK v3.197.0

4.0.8

-----
Docker Digest for 4.0.8: _sha256:41883fb0f38572f3194dcbef6731eafdc6d8d7d4e319257d2ba2468c401c9881_

 General:
     * Unpins the werkzeug-dependency - Moto now works with werkzeug==2.2.2
     * Fixes the Docker-build to run on M1 Macbooks.

 New Services:
     * ServiceQuotas:
         * get_service_quota()
         * list_aws_default_service_quotas()

 New Methods:
     * CloudFront: list_invalidations()
     * RDS: modify_db_cluster()

 Miscellaneous:
     * Lambda:delete_function() - fixed an issue where the wrong Function would be deleted when providing a qualifier
     * ECR:put_image() now removes any existing images that have the provided tag
     * IAM:detach_user/group/role_policy() now throws the correct error message when the policy is not attached in the first place 
     * S3:list_object_versions(): Fix delimiter to take prefix into account 
     * S3: Now closes file handles as early as possible when deleting files/multipart uploads
     * Sagamaker:describe_training_job() now throws the correct exception when trying to explain a non-existing job

4.0.7

-----
Docker Digest for 4.0.7: _sha256:a8ecbdba177c91c557ff76814c1b9a4d6673dc8e1e4183b183e5cff4ce73c356_

 New Services:
     * Comprehend:
         * create_entity_recognizer()
         * delete_entity_recognizer()
         * describe_entity_recognizer()
         * list_entity_recognizers()
         * list_tags_for_resource()
         * stop_training_entity_recognizer()

     * MeteringMarketplace:
         * batch_meter_usage()

 New Methods:
     * EC2:
         * modify_vpc_endpoint()
     * MediaConnect:
         * grant_flow_entitlements()
         * revoke_flow_entitlement()
         * update_flow_entitlement()
         * update_flow_output()

 Miscellaneous:
     * DynamoDB:transact_write_items() - Now includes validation if multipel operations are provided in the same item
     * EC2:cancel_spot_fleet_request() - Fixed a bug where instances were always terminated
     * EC2:create_instances() - Now uses the private IP address as as provided in the NetworkInterface
     * EC2:describe_instance_types() - Now supports all filters
     * ECS:run_task() - Now creates/attaches an ENI if appropriate
     * S3: Fixed an issue where file handles were not closed on large uploads

4.0.6

-----
Docker Digest for 4.0.6: _sha256:01582a705be7c50bc15993acc2271cd190db9c08c5fc09d85c59c8ddae6bb260_

 General:
     * Moto can now be seeded, which will make identifiers deterministic.
       See http://docs.getmoto.org/en/latest/docs/configuration/recorder/index.html
     * The format for access-key and role ids has been changed, and is now generated using the same algorithm that AWS uses

 Miscellaneous:
     * AWSLambda:add_permission() now properly handles the PrincipalOrgID-param
     * DynamoDB:update_item() now validates duplicate UpdateExpressions
     * EC2 now exposes instance types in the correct availability zones for us-west-1 (us-west-1a and us-west-1b)
     * EC2 has various improvements around the handling of RouteTableAssociations
     * Glue:get_tables() now supports the Expression-parameter
     * Organizations:create_organization() now uses a default value for FeatureSet=ALL
     * RDS:describe_db_subnet_groups() now returns the DBSubnetGroupArn-attribute
     * S3:upload_file() now supports the ExtraArgs: ChecksumAlgorithm-parameter
     * SSM:list_commands() now returns the DeliveryTimedOutCount-attribute

4.0.5

-----
Docker Digest for 4.0.5: _sha256:d18f760f3498b212b0c8c205c9c28c2b41e8c7a108f44e1bd1d7ee86dfc37c03_

 General:
     * Moto now has a Recorder, to easily record and replay a given set of requests.
       See http://docs.getmoto.org/en/latest/docs/configuration/recorder/index.html

 Miscellaneous:
     * CloudFormation now supports the creation/update/deletion of AWS::EC2::LaunchTemplate
     * Glue:start_job_run() now respects the MaxConcurrentRuns-parameter
     * S3:get_object() now performs rudimentary BucketPolicy validation
     * StateManager now supports `glue::job_run`, managing how long it takes to for a Glue job to become 'SUCCEEDED'

4.0.3

-----
Docker Digest for 4.0.3: <autopopulateddigest>

 General:
     * Compatible with openapi-spec-validator 0.5.x

 New Methods:
     * Kinesis:
         * update_stream_mode()
     * WAFv2:
         * associate_web_acl()
         * delete_web_acl()
         * disassociate_web_acl()
         * get_web_acl()
         * get_web_acl_for_resource()
         * list_rule_groups()
         * list_tags_for_resource()
         * tag_resource()
         * untag_resource()
         * update_web_acl()

 Miscellaneous:
     * DynamoDB:query() now has improved support for KeyConditionExpression
     * Kinesis:put_records() now validates the size/number of records, following AWS' behaviour

4.0.2

-----
Docker Digest for 4.0.2: _sha256:32b30fef5d54d30eb7beca263dcb0ba08bd3718adb8b5d95f9f4b6e9cfc854f1_

 New Services:
     * Amazon Managed Prometheus (AMP)
         * create_rule_groups_namespace()
         * create_workspace()
         * delete_rule_groups_namespace()
         * delete_workspace()
         * describe_rule_groups_namespace()
         * describe_workspace()
         * list_rule_groups_namespaces()
         * list_tags_for_resource()
         * list_workspaces()
         * put_rule_groups_namespace()
         * tag_resource()
         * untag_resource()
         * update_workspace_alias()

 Miscellaneous:
     * APIGateway:put_method() now supports the requestParameters-parameter
     * AutoScaling:create_auto_scaling_group() now supports the MixedInstancesPolicy-parameter
     * CloudWatchLogs:filter_log_events() now supports the filterPattern-parameter
     * DynamoDB:batch_put_item() now has validatior for empty keys
     * Kinesis:create_stream() now supports stream-mode=OnDemand
     * S3:head_object() now returns the PartsCount-header
     * SNS:subscribe() now has increased support for the FilterPolicy-argument
     * SSM now returns the /aws/service/ami-amazon-linux-latest-parameters as provided by AWS

4.0.1

-----
Docker Digest for 4.0.1: _sha256:effbe303d0ac958569537b725e7632354deb6e9ce0a78ced1a2c6bdd4123831d_

 New Services:
     * Personalize:
         * create_schema()
         * delete_schema()
         * describe_schema()
         * list_schemas()

     * Signer:
         * cancel_signing_profile()
         * get_signing_profile()
         * list_signing_platforms()
         * put_signing_profile()

 New Methods:
     * AWS Lambda:
         * create_function_url_config()
         * delete_function_url_config()
         * get_function_url_config()
         * update_function_url_config()

     * Glue:
         * update_database()

     * EC2:
         * describe_volumes_modifications()
         * modify_volume()

     * S3:
         * delete_bucket_ownership_rule()
         * get_bucket_ownership_rule()
         * put_bucket_ownership_rule()

 Miscellaneous:
     * CloudFormation: Fixed a bug where deletion of AWS::Route53::RecordSet would result in an error
     * DynamoDB: Fixed a bug where a TableARN would always return region=us-east-1
     * EC2:create_launch_template() now supports the TagSpecifications-parameter
     * EC2:describe_instance_types() now supports the Filters-parameter
     * EC2:run_instances() now supports the HibernationOptions-param

4.0.0

-----
Docker Digest for 4.0.0: _sha256:348b516e706e19544dec3643d25304e24b75e48c92b1a6d347e5cd8c349cd8cd_

 General:
     * Introduces MultiAccount support (see http://docs.getmoto.org/en/latest/docs/multi_account.html)
     * Removes deprecated decorators mock_dynamodb2 and mock_rds2
     * The API for the TreadedMotoServer is now considered stable

 Dependencies:
     * The responses-module now has a minimum version of 0.13.0

3.1.18

-----
Docker Digest for 3.1.18: _sha256:52fa7fdf8deee66d47fa760fafce1231ec9007d7bfc9c7a3080a8badd372b300_

 General:
     * Flask has now also been pinned to 2.1.x, as that is the latest release that works with werkzeug 2.1.x

 New Methods:
     * EC2:
         * create_fleet()
         * describe_fleets()
         * describe_fleet_instances()
         * delete_fleets()

     * SES:
         * describe_configuration_set()
         * send_bulk_templated_email()

 Miscellaneous:
     * EC2: describe_key_pairs() now returns the KeyPairId-attribute
     * EC2: import_key_pair() now returns the KeyPairId-attribute
     * EC2: describe_launch_templates() now behaves correctly when called with an unknown template name
     * RDS: create_db_instance() now returns the AvailabilityZone-attribute
     * RDS: describe_db_instances() now returns the AvailabilityZone-attribute

3.1.17

-----
Docker Digest for 3.1.17: _sha256:8a7e397a8856a5e63ad50689cdc3638831112768b193ea0fc308ac7dfdac57f0_

 General:
     * Werkzeug has been pinned to 2.1.x, as the latest 2.2.x releases cause some issues

 New Services:

     * CodeBuild:
         * batch_get_builds()
         * delete_project()
         * list_builds()
         * list_builds_for_project()
         * start_build()
         * stop_build()

     * Cost Explorer:
         * create_cost_category_definition()
         * delete_cost_category_definition()
         * describe_cost_category_definition()
         * update_cost_category_definition()

     * EMR Serverless:
         * create_application()
         * delete_application()
         * get_application()
         * list_applications()
         * start_application()
         * start_job_run()
         * stop_application()
         * update_application()

 New Methods:

     * Autoscaling:
         * delete_scheduled_action()
         * describe_scheduled_actions()
         * put_scheduled_update_group_action()

     * CloudFront:
         * create_distribution_with_tags()
         * create_invalidation()
         * list_tags_for_resource()

     * Glue:
         * create_schema()
         * delete_schema()
         * get_schema_by_definition()
         * get_schema_version()
         * put_schema_version_metadata()
         * register_schema_version()

     * Greengrass:
         * associate_role_to_group()
         * create_deployment()
         * disassociate_role_from_group()
         * get_associated_role()
         * get_deployment_status()
         * list_deployments()
         * reset_deployments()

     * IAM:
         * update_assume_role_policy()

     * IOT:
         * list_targets_for_policy()

     * KMS:
         * replicate_key()

     * MediaConnect:
         * add_flow_sources()
         * update_flow_source()

 Miscellaneous:
     * CloudFormation now supports the creation of AWS::AutoScaling::ScheduledAction
     * CognitoIDP now supports pagination for list_groups() and list_users_in_group()
     * EC2:describe_instances() now supports the filter 'key-name'
     * IAM:create_access_key() now limits the number of keys per user to 2

3.1.16

-----
Docker Digest for 3.1.16: _sha256:e7d79262fac1553966fb8c894dc81a750c4a18745977da6a15dffc35c596f8c4_

 New Methods:
     * Autoscaling:
         * enable_metrics_collection()

 Miscellaneous:
     * Fixes a dependency-error that popped up in 3.1.15.

3.1.15

-----
Docker Digest for 3.1.15: _sha256:fad9fc39322cbabf4440ac5f6a3a158ee759dcd963995fea9672136c50bd2fc3_

 Known bugs:
     * Some services will throw an error: Missing module 'openapi_spec_validator'. This is fixed in 3.1.16.

 New Methods:
     * Databrew:
         * create_profile_job()
         * create_recipe_job()
         * delete_job()
         * describe_job()
         * list_jobs()
         * update_profile_job()
         * update_recipe_job()
     * Glue:
         * create_registry()
     * Greengrass:
         * create_group()
         * create_group_version()
         * delete_group()
         * get_group()
         * get_group_version()
         * list_groups()
         * list_group_versions()
         * update_group()
     * KMS:
         * sign()
         * verify()
     * Route53Resolver:
         * associate_resolver_endpoint_ip_address()
         * disassociate_resolver_endpoint_ip_address()

3.1.14

-----
Docker Digest for 3.1.14: _sha256:a8ad7f54d7c469e34454f6774f743251c02093c6b2d7e9d7961a5de366783e11_

 New Methods:
     * Greengrass:
         * create_function_definition()
         * create_resource_definition()
         * create_function_definition_version()
         * create_resource_definition_version()
         * create_subscription_definition()
         * create_subscription_definition_version()
         * delete_function_definition()
         * delete_resource_definition()
         * delete_subscription_definition()
         * get_function_definition()
         * get_function_definition_version()
         * get_resource_definition()
         * get_resource_definition_version()
         * get_subscription_definition()
         * get_subscription_definition_version()
         * list_function_definitions()
         * list_function_definition_versions()
         * list_resource_definitions()
         * list_resource_definition_versions()
         * list_subscription_definitions()
         * list_subscription_definition_versions()
         * update_function_definition()
         * update_resource_definition()
         * update_subscription_definition()
     * EKS:
         * list_tags_for_resources()
         * tag_resource()
         * untag_resource()
     * Route53:
         * associate_vpc_with_hosted_zone()
         * disassociate_vpc_from_hosted_zone()
         * update_health_check()
         * update_hosted_zone_comment()

 Miscellaneous:
     * APIGateway:put_integration() now supports the requestParameters-parameter
     * EC2:create_route() now validates whether a route already exists

3.1.13

-----
Docker Digest for 3.1.13: _sha256:d7f6c779c79f03b686747ae26b52bdca26fd81a50c6a41a8a6cba50c96982abf_

 New Methods:
     * EC2:
         * create_default_vpc()

     * Greengrass:
         * create_device_definition()
         * create_device_definition_version()
         * delete_core_definition()
         * delete_device_definition()
         * get_core_definition()
         * get_core_definition_version()
         * get_device_definition()
         * get_device_definition_version()
         * list_core_definitions()
         * list_core_definition_versions()
         * list_device_definitions()
         * list_device_definition_versions()
         * update_core_definition()
         * update_device_definition()

     * SSO Admin:
         * create_permission_set()
         * delete_permission_set()
         * describe_permission_set()
         * list_permission_sets()
         * update_permission_set()

     * Route53:
         * get_dnssec()
         * get_health_check()

 * Miscellaneous:
     * StateManager now supports `s3::keyrestore`, managing how long it takes to restore S3 objects from Glacier.

3.1.12

-----
Docker Digest for 3.1.12: _sha256:64dcfb63b252b3413481683b90f105d01644b6bec150b60e6f612a2569ee630c_

 New Services:
     * Greengrass:
         * create_core_definition()
         * create_core_definition_version()

 Internal Changes:
     * The data structure containing all of Moto's state has been updated to support multiple accounts

3.1.11

-----
Docker Digest for 3.1.11: _sha256:bb359c5e57e38534eb8e934757354277fff30598ca305d0f18f68ddfe4ce6359_

 New Methods:
     * GuardDuty:
         * create_filter()
         * delete_detector()
         * delete_filter()
         * enable_organization_admin_account()
         * get_detector()
         * get_filter()
         * list_organization_admin_accounts()
         * update_detector()
         * update_filter()
     * KMS:
         * create_grant()
         * list_grants()
         * list_retirable_grants()
         * retire_grant()
         * revoke_grant()

 Miscellaneous:
     * EC2:describe_network_acls() now supports the `entry.egress`-filter
     * EC2:run_instances() now supports validation for the KeyPair-parameter. This is disabled by default - set MOTO_ENABLE_KEYPAIR_VALIDATION to true to enable this.
     * EC2:run_instances() now supports validation for the ImageId-parameter. This is disabled by default - set MOTO_ENABLE_AMI_VALIDATION to true to enable this.

3.1.10

-----
Docker Digest for 3.1.10: _sha256:18c6367dbb843850a5b52bc2b74cde9fd2a03719da667aa01b7c80de26849fb6_

 New Methods:
     * APIGateway:
         * import_rest_api()
         * put_rest_api()
     * Glue:
         * get_tags()
         * tag_resource()
         * untag_resource()

 Miscellaneous:
     * APIGateway:put_integration() now supports the passthroughBehavior-parameter
     * APIGatewayV2:create_authorizer() now supports the AuthorizerPayloadFormatVersion-parameter
     * AWSLamba:publish_layer_version() now supports the CompatibleArchitectures-parameter
     * DAX:create_cluster() now supports the ClusterEndpointEncryptionType-parameter
     * EC2:describe_route_tables() now supports the filter `route.gateway-id`
     * EC2:run_instances() now validates whether the Placement-parameter has a valid availabilty zone
     * ECS:list_services() now supports the launchType-parameter
     * ELB:describe_instance_health() now returns the OutOfService-status when appropriate
     * Organizations:list_accounts_for_parent() now supports pagination
     * Organizations:list_organizational_units_for_parent() now supports pagination

3.1.9

-----
Docker Digest for 3.1.9: _sha256:eea31d2f99b2fef16cffb3ea86d21dd911647835a3182bedd8918074292ce552_

 New Services:
     * EBS:
         * complete_snapshot()
         * get_snapshot_block()
         * list_changed_blocks()
         * list_snapshot_blocks()
         * put_snapshot_block()
         * start_snapshot()

 New Methods:
     * CloudFront:
         * update_distribution()
     * Datasets:
         * create_dataset()
         * delete_dataset()
         * describe_dataset()
         * list_datasets()
         * update_dataset()
     * Glue:
         * list_crawlers()
     * Rekognition:
         * get_face_search()
         * start_face_seach()

 Miscellaneous:
     * EC2:describe_vpc_endpoints() now supports the `vpc-endpoint-type`-filter
     * RDS:create_db_cluster() now supports the EnableCloudwatchLogsExports-parameter
     * RDS:create_db_instance() now supports the EnableCloudwatchLogsExports-parameter
     * SSM now integrates with SecretsManager

3.1.8

-----
Docker Digest for 3.1.8: _sha256:a7d8c55eec8d75d75dd2532a6a0a9647935238236a54e4de7bb3f72bc28b7bf8_

 General:
     * Moto now supports a way to delay state transitions. 
       See http://docs.getmoto.org/en/latest/docs/configuration/state_transition/index.html
     * Moto now supports `mock_batch_simple`, a way to mock the Batch-service without invoking Docker.

 New Methods:
     * CognitoIDP:
         * global_sign_out()
         * update_group()
         * update_user_attributes()
     * DataBrew:
         * delete_recipe_version()
         * list_recipe_versions()
         * publish_recipe()
     * IAM:
         * create_service_linked_role()
         * delete_service_linked_role()
         * get_service_linked_role_deletion_status()
     * Sagemaker:
         * update_endpoint_weights_and_capacities()

 Miscellaneous:
     * EC2: request_spot_fleet() now supports the parameters LaunchTemplateConfigs, InstanceInterruptionBehavior
     * EC2: request_spot_instances() now supports the InstanceInterruptionBehavior-parameter
     * EC2: The status of a SpotInstances request now automatically transitions to 'Active/Fulfilled'
     * EC2: Tags specified into create_launch_template() are now passed through when calling `run_instances()` with this template
     * RDS: describe_db_instances() now supports the filter `db-cluster-id`
     * TimestreamWrite: create_table() now supports the MagneticStoreWriteProps-parameter
     * TimestreamWrite: update_table() now supports the MagneticStoreWriteProps-parameter

3.1.7

-----
Docker Digest for 3.1.7: _sha256:d9661c13c2f790cbe9ed6531cefec132494fc0e8c37fcceca1f709292ef0880f_

 New Methods:
     * SES:
         * get_identity_verification_attributes()

 Miscellaneous:
     * CognitoIDP: UserPools now come with default values for the following attributes: Policies, AdminCreateUserConfig, EmailConfiguration, VerificationMessageTemplate
     * ELBv2: Improved the response-format of the `create_rule()` and `set_rule_priorities()`-methods
     * MediaConnect: Now has the correct format for flow/source ARN's
     * Organizations: Fixes the behaviour for close_account()
     * Sagemaker: Now supports tagging of Models, EndpointConfigs, ProcessingJobs

3.1.6

-----
Docker Digest for 3.1.6: _sha256:722b9c05ad3454047688db4ba95991f6af4166c63d871149b1b1eef9d70be70f_

 New Methods:
     * Organizations:
         * close_account()

 Miscellaneous:
     * Autoscaling: the BlockDeviceMappings in LaunchConfigurations and LaunchTemplates are now respected when launching EC2 instances
     * CloudWatch: get_metric_data() now supports the Dimensions-parameter
     * ELB: set_rule_priorities() now correctly returns the Rules-attribute
     * ELBv2: create_target_group() now supports the Tags-parameter
     * Events: delete_rule() now verifies whether any targets are still attached before deletion

3.1.5

-----
Docker Digest for 3.1.5: _sha256:79050ce5b729f6eff3282a79dace9cb7e5983588250452f8821aeffa87eca334_

 New Methods:
     * ApplicationAutoscaling:
         * delete_scheduled_action()
         * describe_scheduled_actions()
         * put_scheduled_action()

     * Databrew:
         * create_ruleset()
         * delete_ruleset()
         * list_rulesets()
         * update_recipe()
         * update_ruleset()

     * EC2:
         * describe_network_interface_attribute()

 Miscellaneous:
     * Glue:get_partitions() now supports the Expression-parameter
     * RDS:delete_db_cluster() now supports the FinalDBSnapshotIdentifier-parameter
     * S3 actions can now send notifications for (a subset of) supported events and targets

3.1.4

-----
Docker Digest for 3.1.4: _sha256:795eb8a1d966ef30c53f504e358afb23ec262e5ad1cba18d474096c0fba794bd_

 General:
     * Compatible with botocore 1.24.30.
       The IOTData service in older versions of Moto is incompatible with botocore >= 1.24.30, due to the fact that AWS changed their URL endpoints. 

 New Services:
     * QuickSight:
         * create_data_set()
         * create_group()
         * create_group_membership()
         * create_ingestion()
         * delete_group()
         * delete_user()
         * describe_group()
         * describe_group_membership()
         * describe_user()
         * list_groups()
         * list_group_memberships()
         * list_users()
         * register_user()
         * update_group()
         * describe_group()
         * describe_group()
         * describe_group()

     * Rekognition:
         * get_text_detection()
         * start_text_detection()

 New Methods:
     * EC2:
         * delete_launch_template()

     * ECS:
         * create_capacity_provider()
         * delete_capacity_provider()
         * describe_capacity_providers()

 Miscellaneous:
     * Autoscaling:put_scaling_policy() now supports the parameters MetricAggregationType, MinAdjustmentMagnitude, EstimatedInstanceWarmup, PredictiveScalingConfiguration
     * Autoscaling:create_auto_scaling_group() now supports launch template versions '$Latest' and '$Default'
     * RDS: Improved tagging support for Clusters and ClusterSnapshots

3.1.3

-----
Docker Digest for 3.1.3: _sha256:d0716d84d376e7aafeb4a40a29d298725aa39e6553b64f55a6be1287e4bee80c_

 New Methods:
     * TimestreamWrite:
         * list_tags_for_resource()
         * tag_resource()
         * untag_resource()

 Miscellaneous:
     * EC2:run_instances(): Fixed a bug when supplying the NetworkInterfaces.Groups-parameter
     * Logs:delete_metric_filter(): Fixed a bug where the logGroupName-validator was too strict

3.1.2

-----
Docker Digest for 3.1.2: _sha256:884923ae6449b2db64e6805ef82209fcc5aab4991024c495aea07a191257aa4d_

 Known Bugs:
     * EC2:run_instances(): This call will fail when supplying the NetworkInterfaces.Groups-parameter 

 New Methods:
     * ELB
         * attach_load_balancer_to_subnets()
         * detach_load_balancer_from_subnets()
         * describe_load_balancer_policies()
         * delete_load_balancer_policy()
         * enable_availability_zones_for_load_balancer()
         * disable_availability_zones_for_load_balancer()

     * ELBv2:
         * add_listener_certificates()
         * describe_listener_certificates()
         * remove_listener_certificates()

     * Glue:
         * get_job()
         * get_job_run()
         * start_job_run()

 Miscellaneous:
     * AWSLambda:add_permission() now supports the Qualifier-parameter
     * ELB:create_load_balancer() now retrieves the subnets based on the AvailabilityZones-parameter
     * ELB:create_load_balancer() now creates a default SecurityGroup, if none is provided
     * ELBv2:create_load_balancer() now supports the SubnetMappings-parameter
     * ELBv2:create_listener() now supports the AlpnPolicy-parameter
     * ELBv2: Improved tagging support
     * ELBv2: Exposes the TargetGroupStickinessConfig-attribute when describing a Action of type ForwardConfig

3.1.1

-----
Docker Digest for 3.1.1: _sha256:e2b8145574e01d1630be307f418211e09e089b87d8d87b1ac69878a50d8dde0c_

 New Methods:
     * AWSLambda:
         * create_alias()
         * delete_alias()
         * delete_layer_version()
         * get_alias()
         * get_layer_version()
         * update_alias()

     * EFS:
         * create_access_point()
         * delete_access_point()
         * describe_access_points()
         * describe_lifecycle_configuration()
         * describe_mount_target_security_groups()
         * list_tags_for_resource()
         * modify_mount_target_security_groups()
         * put_lifecycle_configuration()
         * tag_resource()
         * untag_resource()

 Miscellaneous:
     * AWSLambda: get_function now returns the parameters Tags, LastUpdateStatus, TracingConfig
     * ELBV2:describe_tags() now supports ListenerRules.

3.1.0

-----
Docker Digest for 3.1.0: _sha256:1656754cf4de441d85b08f584d9dcb095880d3bf250f05da26a03ff219d586c8_

 General:
     * Users of `mock_dynamodb2` should start using `mock_dynamodb` instead. 
       The `mock_dynamodb`-decorator has been repurposed to mock the latest version of DynamoDB, making the behaviour equivalent to `mock_dynamodb2`. 
       The `mock_dynamodb2`-decorator is now considered deprecated, and will be removed in the next major version.

     * Simila

@github-actions
Copy link

github-actions bot commented Oct 3, 2023

This pull request is stale because it has been open for thirty days with no activity. Please update and respond to this comment if you're still interested in working on this.

@github-actions github-actions bot added the Stale label Oct 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant