| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: python313-moto-all | Distribution: openSUSE Tumbleweed |
| Version: 5.1.20 | Vendor: openSUSE |
| Release: 1.2 | Build date: Fri Jan 23 11:14:26 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 10834 | Source RPM: python-moto-5.1.20-1.2.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://github.com/getmoto/moto | |
| Summary: Library to mock out the boto library -- all extras | |
A library that allows your python tests to mock out the boto library. Meta package to install the extras moto[all], and moto[proxy], which have the same requirement definitions.
Apache-2.0
* Fri Jan 23 2026 Markéta Machová <mmachova@suse.com>
- Update to 5.1.20
* Many new methods and services
* Python 3.14 is now officially supported
* Removed support for the RoboMaker, QLDB and ElasticTranscoder,
now that AWS has also deprecated these services
* otherwise, see upstream changelog:
https://github.com/getmoto/moto/blob/5.1.20/CHANGELOG.md
* Mon Sep 22 2025 Steve Kowalik <steven.kowalik@suse.com>
- Update to 5.1.13
* see upstream changelog:
https://github.com/getmoto/moto/blob/5.1.13/CHANGELOG.md
* Thu Jul 24 2025 Nico Krapp <nico.krapp@suse.com>
- Update to 5.1.8
* see upstream changelog:
https://github.com/getmoto/moto/blob/5.1.8/CHANGELOG.md
* Tue Feb 25 2025 Markéta Machová <mmachova@suse.com>
- Update to 5.1.0
* Dropped support for Python 3.8
* New Services in: Lex V2 Models, CloudHSM V2
* New Methods in: ElasticSearch, RDS, SecurityHub, TimeStream InfluxDB
* Wed Nov 06 2024 Bernhard Wiedemann <bwiedemann@suse.com>
- Update to 5.0.20:
fix reproducible builds (boo#1047218)
* Fri Oct 04 2024 ecsos <ecsos@opensuse.org>
- Update to 5.0.16:
[#] New Services:
* OpenSearch Ingestion Service:
* create_pipeline()
* delete_pipeline()
* get_pipeline()
* list_pipelines()
* list_tags_for_resource()
* start_pipeline()
* stop_pipeline()
* tag_resource()
* untag_resource()
* update_pipeline()
[#] New Methods:
* CloudFront:
* get_invalidation()
* Directory Service:
* create_trust()
* delete_trust()
* describe_ldaps_settings()
* describe_trusts()
* disable_ldaps()
* enable_ldaps()
* EC2:
* modify_ebs_default_kms_key_id()
[#] Miscellaneous:
* CloudFormation: AWS::ECS::TaskDefinition now correctly validates the provided memory parameters
* EC2: create_network_acl_entry() now supports the Ipv6CidrBlock-parameter
* EC2: create_tags() now takes existing tags into account before throwing a TagLimitExceeded-exception
* Firehose: put_record_batch() no longer fails when the SnowflakeDestinationConfiguration-parameter is set
* FSx: The FileSystemID now uses the same pattern as AWS (fs-xxxxxxxx)
* GuardDuty: create_detector() now supports the Features-parameter
* Polly has been updated with the latest voices
* RDS: modify_option_groups() now correctly parses OptionsToInclude
* ResourceGroupsTaggingAPI: get_resources() now supports EC2 NAT Gateways, route tables, subnets
* Scheduler: create_chedule() now validates the start_date-parameter for recurrent schedule expressions
* SNS: publish() and publish_batch now support MessageStructure=json
* WAFv2: associate_web_acl() now allows any resource to be associated
- Update to 5.0.15:
[#] New Services:
* MemoryDB:
* create_cluster()
* create_snapshot()
* create_subnet_group()
* delete_cluster()
* delete_snapshot()
* delete_subnet_group()
* describe_clusters()
* describe_snapshots()
* describe_subnet_groups()
* list_tags()
* tag_resource()
* untag_resource()
* update_cluster()
* WorkspacesWeb:
* associate_browser_settings()
* associate_network_settings()
* associate_user_access_logging_settings()
* associate_user_settings()
* create_browser_settings()
* create_network_settings()
* create_portal()
* create_user_access_logging_settings()
* create_user_settings()
* delete_browser_settings()
* delete_network_settings()
* delete_portal()
* delete_user_access_logging_settings()
* delete_user_settings()
* get_browser_settings()
* get_network_settings()
* get_portal()
* get_user_access_logging_settings()
* get_user_settings()
* list_browser_settings()
* list_network_settings()
* list_portals()
* list_user_access_logging_settings()
* list_user_settings()
[#] New Methods:
* ApiGateway:
* get_account()
* update_account()
* AppSync:
* create_api_cache()
* delete_api_cache()
* get_api_cache()
[#] Miscellaneous:
* DynamoDB: get/delete/update_item() now validates all provided keys exist
* Firehose: create_delivery_stream() now supports the SnowflakeDestinationConfiguration-parameter
* S3: put_object() now support conditional writes
- Update to 5.0.14:
[#] General:
* All JSON files in the binary distribution are shipped compressed, significantly reducing the size on disk
[#] New Services:
* Shield:
* create_subscription()
* describe_subscription()
* TimestreamQuery:
* create_scheduled_query()
* delete_scheduled_query()
* describe_endpoints()
* describe_scheduled_query()
* query()
* update_scheduled_query()
[#] New Methods:
* AppMesh:
* create_virtual_node()
* delete_virtual_node()
* describe_virtual_node()
* list_virtual_nodes()
* update_virtual_node()
* create_virtual_router()
* delete_virtual_router()
* describe_virtual_router()
* list_virtual_routers()
* update_virtual_router()
* create_route()
* delete_route()
* describe_route()
* list_routes()
* update_route()
[#] Miscellaneous:
* CloudFormation templates now support the Fn::Base64-function
* CognitoIDP: Enhanced support for MFA flows/challenges
* DynamoDB: update_item() now validates empty string sets
* EC2: describe_snapshots() now supports the kms-key-id filter
* EC2: run_instances() now supports the parameter Ipv6AddressCount
* ECS: Tasks can now be created with unknown security groups
* IAM: generate_credentials_report() now shows active certificates
* KMS: sign() now supports Alias ARNs
* Route53: list_resource_record_sets() now validates record names
* S3: create_bucket() now has additional LocationConstraint-validation
* S3: delete_objects() now respects BucketPolicy and ObjectLocks
* S3: head_object() now handles Range-parameter correctly
* SageMaker: search() now supports the CONTAINS filter
* Sagemaker Runtime: invoke_endpoint_async() now supports failure responses
* SNS: Signature of HTTP Messages are now valid
* SSM: get_maintenance_window() now returns an exception if the window does not exist
* SQS: delete_message_batch() now validates there's at least one entry
- Update to 5.0.13:
[#] General:
* Support for Python 3.13
* Moto now supports whitelisting which services can be used
[#] New Services:
* AppMesh:
* create_mesh()
* delete_mesh()
* describe_mesh()
* list_meshes()
* list_tags_for_resource()
* tag_resource()
* update_mesh()
* Transfer:
* create_server()
* create_user()
* delete_server()
* delete_ssh_public_key()
* delete_user()
* describe_server()
* describe_user()
* import_ssh_public_key()
[#] New Methods:
* Athena:
* delete_work_group()
* CodeBuild:
* batch_get_projects()
* DynamoDB:
* delete_resource_policy()
* get_resource_policy()
* put_resource_policy()
* EMR:
* get_block_public_access_configuration()
* put_block_public_access_configuration()
* QLDB:
* create_ledger()
* delete_ledger()
* describe_ledger()
* list_tags_for_resource()
* tag_resource()
* update_ledger()
* SageMaker:
* create_data_quality_job_definition()
* create_model_bias_job_definition()
* create_model_card()
* delete_data_quality_job_definition()
* delete_model_bias_job_definition()
* delete_model_card()
* describe_data_quality_job_definition()
* describe_model_bias_job_definition()
* describe_model_card()
* list_data_quality_job_definitions()
* list_model_bias_job_definitions()
* list_model_cards()
* list_model_card_versions()
[#] Miscellaneous:
* ACM-PCA: create_certificate_authority() now uses the provided Subject
* Athena: The default work group now has the correct configuration
* ApplicationAutoscaling - put_scheduled_action() now allows multiple actions per Namespace/Dimension/Id
* Autoscaling: update_group() now validates that the Group exists
* Batch: now supports parameters in Job commands
* CloudFormation: create_change_set() now validates the provided ChangeSetName
* CloudFormation: describe_stacks() now returns export names in the Outputs
* CloudFormation: AWS::Events::Rule's now also creates/deletes Targets
* CloudWatch: get_metric_data() now returns everything when querying for Metric Insights Queries
* CodeBuild: create_project() now supports the parameter description, tags, cache, timeoutInMinutes,
queuedTimeoutInMinutes, sourceVersion, logsConfig and vpcConfig
* CognitoIDP: sign_up() now returns CodeDeliveryDetails
* DynamoDB: export_table_to_point_in_time() now exports data in correct format
* DynamoDB: update_item() now validates an empty ExpressionAttributeValues and UpdateExpression
* DynamoDB: All applicable methods that accept a TableName-parameter now also accept the ARN of the table
* EC2: describe_security_group_rules() now correctly exposes rules with duplicate port/protocol values
* EC2: Terminating an instance now also terminates any NIC's
* EventBridge: create_connection() now creates a KMS Secret
* EventBridge: Messages are now formatted using the InputTemplate, if provided
* KMS: describe_key() now exposes the MultiRegionConfiguration-attribute
* Organizations: create_account() now comes preconfigured with an IAM role
* RDS: update_db_instance() now supports the CloudwatchLogsExportConfiguration-parameter
* ResourceGroupsTagging API now supports additional SageMaker resources
(CompilationJobs, Domains, ModelExplainabilityJobDefinition, ModelQualityJobDefinition, HyperParameterTuningJob)
* S3: copy_object() now respects the CopySourceIfNoneMatch-parameter
* SageMaker: search() now supports ModelPackageGroups
* StepFunctions now has improved JSONPath support
* StepFunctions now supports MaxItem/MaxItemPath/MaxConcurrencyPath
* StepFunctions now supports MaxAttempts with value 0
- Update to 5.0.12:
[#] General:
* The MotoProxy can now be run on Windows
[#] New Services:
* DirectConnect:
* create_connection()
* delete_connection()
* describe_connections()
* update_connection()
* DynamoDB:
* describe_export()
* export_table_to_point_in_time()
* list_export()
* NetworkManager:
* create_device()
* create_link()
* create_link()
* delete_device()
* delete_link()
* delete_site()
* get_devices()
* get_links()
* get_sites()
* list_tags_for_resource()
* SageMaker:
* list_endpoints()
* list_endpoint_configs()
* create_auto_ml_job_v2()
* describe_auto_ml_job_v2()
* list_auto_ml_jobs()
* stop_auto_ml_job()
* create_compilation_job()
* describe_compilation_job()
* list_compilation_jobs()
* delete_compilation_job()
* create_domain()
* describe_domain()
* list_domains()
* delete_domain()
* create_model_explainability_job_definition()
* describe_model_explainability_job_definition()
* list_model_explainability_job_definitions()
* delete_model_explainability_job_definition()
* create_hyper_parameter_tuning_job()
* describe_hyper_parameter_tuning_job()
* list_hyper_parameter_tuning_jobs()
* delete_hyper_parameter_tuning_job()
* create_model_quality_job_definition()
* describe_model_quality_job_definition()
* list_model_quality_job_definitions()
* delete_model_quality_job_definition()
* Route53:
* list_tags_for_resource()
[#] Miscellaneous:
* ACM: export_certificate() now only allows exporting private certificates
* ACM: DomainValidationOptions now have SUCCESS-status, fixing the `certificate_validated` waiter
* Athena: QueryResults are now stored in S3
* CloudFormation: update_stack() now persists the new parameters provided
* CloudFormation: update_stack() now understands UsePreviousValue=False
* CloudFormation: update_stack() now throws an exception when using UsePreviousValue=True and a new parameter value
* CloudFormation: update_stack() is now able to update resources where only the parameters have changed
* CloudFormation: AWS::S3::Bucket resources will now create/update Tags
* CloudFormation: AWS::S3::Bucket resources are no longer recreated for every update
* CognitoIDP: initiate_auth() now supports USERNAME_PASSWORD_AUTH and SMS/Software Token MFA
* CognitoIDP: initiate_auth() now returns th email in the ID-token claims
* DynamoDB: query() now sorts the results correctly when querying GSI data with identical hash keys
* EC2: describe_security_group_rules() now enumerates multiple rules correctly
* EC2: run_instances() can now use $Default or $Latest launch template version
* Events: list_targets_by_rule() now supports pagination
* EventBridge Scheduler - get_schedule() now returns the ActionAfterCompletion
* Firehose: create_delivery_stream() now creates S3 files with the correct filename if no prefix is provided
* IOT: Certificates hashes can now be computed using the DER encoding, per the AWS spec
This is an opt-in behaviour, and can be enabled with the following configuration:
@mock_aws(config={"iot": {"use_valid_cert": True}})
* ResourceGroupsTaggingAPI: tag_resources() now supports SageMaker resources
* S3: head_object()/get_object() now support the PartNumber-argument
* S3: put_object() now correctly enforces the BucketPolicy when creating new objects
* SESv2: send_email() now returns the MessageId
- Update to 5.0.11:
[#] New Methods:
* ServiceDiscovery:
* deregister_instance()
* discover_instances()
* discover_instances_revision()
* get_instance()
* get_instances_health_status()
* list_instances()
* register_instance()
* update_http_namespace()
* update_instance_custom_health_status()
[#] Miscellaneous:
* DynamoDB: transact_write_items() no longer throws a ValidationException when passing multiple set actions, only when passing multiple set clauses
* DynamoDB: transact_write_items() no longer throws an Exception when ExpressionAttributeNames are not provided
(Both bugs were introduced in 5.0.10)
* IOT-data: update_thing_shadow() now calculates the delta correctly
* ResourceGroupsTagging: get_resources() now supports EFS resources
- Update to 5.0.10:
[#] General:
* CloudFormation now supports cfn-lint v1, as well as v0
[#] New Services:
* FSX:
* create_file_system()
* delete_file_system()
* describe_file_systems()
* tag_resource()
* untag_resource()
* OpenSearch Serverless:
* batch_get_collection()
* create_collection()
* create_security_policy()
* create_vpc_endpoint()
* delete_collection()
* get_security_policy()
* list_collections()
* list_security_policies()
* list_tags_for_resource()
* tag_resource()
* untag_resource()
* update_security_policy()
* Shield:
* create_protection()
* delete_protection()
* describe_protection()
* list_protections()
* list_tags_for_resource()
* tag_resource()
* untag_resource()
[#] New Methods:
* Sagemaker:
* create_cluster()
* delete_cluster()
* describe_cluster()
* list_clusters()
* list_cluster_nodes()
[#] Miscellaneous:
* CognitoIDP: admin_list_groups_by_user() now supports pagination
* DynamoDB: transact_write_items() now validates the number of SET expressions
* DynamoDB: update_item() now validates unused ExpressionAttributeValues
* DynamoDB: query() now supports pagination when querying Global Indexes
* EC2: describe_images() - feat: support filtering images by ExecutableUsers=['self']
* EC2: describe_route_tables() now supports the filter `route.transit-gateway-id`
* EC2: update_security_group_rule_descriptions_ingress() now supports updating multiple descriptions
* EKS: create_nodegroup() now supports the `taints`-parameter
* ELBv2: add_listener_certificates() now validates when adding too many certificates (> 25)
* ELBv2: describe_target_health() now handles unknown/deregistered/terminated instances better
* ResourceGroupsTaggingAPI: get_resources() now supports ResourceType=s3:bucket
* RDS: Clusters now have the `creating`-status on create, and `available` immediately after - in line with AWS
* SSM: get_parameter() now supports ARN's for the Name-parameter
- Update to 5.0.9:
[#] General:
* Fixed an InfiniteRecursion-bug when accessing S3-buckets that was introduced in 5.0.8
[#] New Methods:
* SSO-Admin:
* list_accounts_for_provisioned_permission_set()
* list_instances()
* list_permission_sets_provisioned_to_account()
* provision_permission_set()
* update_instance()
[#] Miscellaneous:
* DynamoDB: query() now handles pagination correctly on a GSI without a range key
* IAM: create_policy() now returns tags correctly
* S3: list_objects(): The default value for MaxKeys can now be configured, using an environment variable:
MOTO_S3_DEFAULT_MAX_KEYS=1
- Update to 5.0.8:
[#] General:
* Improved support for non-generic partitions (China, GovCloud, ISO-regions).
All ARN's now contain the correct partition for resources created in those regions.
[#] New Services:
* NetworkManager:
* create_global_network()
* describe_global_networks()
* create_core_network()
* create_global_network()
* delete_core_network()
* list_core_networks()
* get_core_network()
* tag_resource()
* untag_resource()
[#] Miscellaneous:
* ResilienceHub: list_app_assessments() can now return pre-configured results
* ResourceGroupTagging: get_resources() now returns results when filtering on "lambda:function"
* S3: delete_object_tagging()/put_object_tagging() now send an EventBridge notification
- Update to 5.0.7:
[#] New Services:
* Sagemaker Metrics:
* batch_put_metrics()
[#] New Methods:
* DynamoDB:
* describe_import()
* import_table()
* EMR Serverless:
* cancel_job_run()
* get_job_run()
* list_job_runs()
* start_job_run()
* IAM:
* tag_instance_profile()
* untag_instance_profile()
* Panorama:
* create_node_from_template_job()
* describe_node_from_template_job()
* list_nodes()
* SSO-Admin:
* describe_account_assignment_creation_status()
* describe_account_assignment_deletion_status()
* WAFv2:
* create_ip_set()
* delete_ip_set()
* list_ip_sets()
* get_ip_set()
* update_ip_set()
* put_logging_configuration()
* get_logging_configuration()
* list_logging_configurations()
* delete_logging_configuration()
[#] Miscellaneous:
* Athena: start_query_execution() now supports the ExecutionParameters-parameter
* DynamoDB: Tables now support DeleteProtection
* DynamoDB: update_item() no longer throws an error when deleting an item from an empty set
* DynamoDB: update_item() no throws an error when adding an empty set
* EC2: delete_network_acl() now throws an error when the ACL still has associations attached to it
* EC2: describe_route_tables() now supports the `route.nat-gateway-id` filter
* EC2: revoke_security_group_ingress/_egress() now throw an error when an unknown Security Group is passed
- Update to 5.0.6:
[#] New Services:
* Bedrock:
* create_model_customization_job()
* delete_custom_model()
* delete_model_invocation_logging_configuration()
* get_custom_model()
* get_model_customization_job()
* get_model_invocation_logging_configuration()
* list_custom_models()
* list_model_customization_jobs()
* list_tags_for_resource()
* put_model_invocation_logging_configuration()
* stop_model_customization_job()
* tag_resource()
* untag_resource()
* BedrockAgent:
* create_agent()
* create_knowledge_base()
* delete_agent()
* delete_knowledge_base()
* get_agent()
* get_knowledge_base()
* list_agents()
* list_knowledge_bases()
* list_tags_for_resource()
* tag_resource()
* untag_resource()
[#] New Methods:
* EC2:
* describe_addresses_attributes()
* Rekognition:
* detect_custom_labels()
* Sagemaker:
* update_trial_component()
[#] Miscellaneous:
* CloudFront: update_distribution() now supports the CacheBehaviours-parameter
* DynamoDB: query() now acts correctly when paginating GSI tables without range keys
* EC2: RouteTables can now have multiple propagations
* EC2: describe_instances() now now filter by product-code and product-code.type
* EC2: describe_security_group_rules() now validates the format of the incoming security group id's
* ECS: update_service() now supports the loadBalancers-parameter
* Logs: describe_metric_filter() now has the correct validation for metricNamespaces
* IOT: search_index() now supports thingTypeName
* SFN: send_task_failure()/send_task_success() now work correctly when using the Parser
* SNS: subscribe() now throws an exception if the endpoint doesn't exist
* SQS: Improved queue name validation
- Update to 5.0.5:
[#] General:
* DynamoDB: scan() now returns items in a alphabetical order
[#] New Methods:
* SecretsManager:
* batch_get_secret_value()
[#] Miscellaneous:
* ApplicationAutoscaling: put_scaling_policy() now generates CW alarms for DynamoDB and ECS
* DynamoDB: Fix pagination for scan()/query()
* DynamoDB: batch_write_item() now validates for duplicate DELETE or PUT requests
* Events: put_events() now validates that input-values cannot be empty
* IOT: create_topic_rule() now validates name-format
* ResourceGroupsTaggingAPI: tag_resources() now supports RDS snapshots
* SFN: Fixed a bug where the executionInput was double encoded
- Update to 5.0.4:
[#] General:
* Lambda: The results of a Dockerless invocation can now be configured.
See http://docs.getmoto.org/en/latest/docs/services/lambda.html
* StepFunctions can now execute the provided StepFunctionMachine (opt-in), instead of returning static data (still the default).
See http://docs.getmoto.org/en/latest/docs/services/stepfunctions.html
[#] New Service:
* ElastiCache:
* list_tags_for_resource()
* ResilienceHub:
* create_app()
* create_app_version_app_component()
* create_app_version_resource()
* create_resiliency_policy()
* describe_app()
* describe_resiliency_policy()
* import_resources_to_draft_app_version()
* list_app_assessments()
* list_app_version_app_components()
* list_app_version_resources()
* list_app_versions()
* list_apps()
* list_resiliency_policies()
* list_tags_for_resource()
* publish_app_version()
* tag_resource()
* untag_resource()
* Workspaces:
* create_tags()
* create_workspace_image()
* create_workspaces()
* deregister_workspace_directory()
* describe_client_properties()
* describe_tags()
* describe_workspace_directories()
* describe_workspace_image_permissions()
* describe_workspace_images()
* describe_workspaces()
* modify_client_properties()
* modify_selfservice_permissions()
* modify_workspace_creation_properties()
* register_workspace_directory()
* update_workspace_image_permission()
[#] Miscellaneous:
* APIGateway: update_usage_plan() now supports some remove-operations
* Autoscaling: describe_auto_scaling_groups() now returns a dynamic CreatedTime
* CloudFormation: Outputs now support Conditions
* CloudFormation: Outputs now return Descriptions
* CognitoIDP: admin_update_user_attributes() and admin_delete_user_attributes now correctly update the UserLastModifiedDate
* DynamoDB: query() no longer requires the LastEvaluatedKey to exist
* EC2: describe_vpc_endpoint_services() now supports all services
* Kinesis: list_streams() now returns StreamSummaries
* Lambda: get_policy() now throws an error when no statements exist
* ResourceGroupsTaggingAPI now supports DynamoDB tables
* ResourceGroupsTaggingAPI now supports SSM documents
* S3: EventBridge notifications are now supported for ObjectRestore:Post
* S3: restore_object() now contains limited validation when supplying both Days- and Type-argument
* S3: select_object_content() now supports Compressed requests and CSV responses
* SecretsManager: list_secrets() now handles negative matches correctly
* SNS: delete_endpoint() is now an idempotent operation, just like AWS
- Fix rpmlint warning: python-bytecode-inconsistent-mtime
* Mon Mar 25 2024 Steve Kowalik <steven.kowalik@suse.com>
- Update to 5.0.3:
[#] General:
* New configuration options for:
+ Passing URL's through the proxy
+ Configuring Docker-less services in ServerMode
* Removed the `python-jose` and `sshpubkeys` dependencies in favor of
`joserfc`.
[#] Miscellaneous:
* ApiGateway: update_usage_plan() now supports adding apiStages
* Athena: get_query_execution() now returns exact OutputLocation file
* Autoscaling: describe_auto_scaling_groups() now supports the
filters-argument
* CloudFront: create_distribution() now supports CustomHeaders
* CloudFront: update_distribution() now handles updates to
DistributionConfig correctly
* CloudFormation - Now supports creation and deletion of
AWS::EMR::Cluster
* CloudFormation - Now supports creation and deletion of
AWS::EMR::SecurityConfiguration
* CloudFormation - Now supports creation and deletion of
AWS::EFS::AccessPoint
* CloudFormation - Now supports creation and deletion of
AWS::EFS::FileSystem
* CloudFormation - Now supports creation and deletion of
AWS::EMR::InstanceGroupConfig
* CloudFormation - Now supports deletion of AWS::Logs::LogGroup
* CloudFormation: delete_stack() now handles resource dependencies better
* CloudWatch: put_metric_data() now supports large (compressed) requests
* CognitoIDP: admin_initiate_auth() and respond_to_auth_challenge()
now support SMS_MFA
* DynamoDB: transact_write_items() now raises ValidationException when
putting and deleting the same item
* EC2: authorize_security_group_egress/_ingress now support the
TagSpecifications-argument
* EC2: describe_security_group_rules() now supports Tag-filters
* S3: EventBridge notifications are now supported for
ObjectCreated:POST/COPY/MULTIPART_UPLOAD and ObjectDeleted
* SNS: subscribe() now adds support the `$or`, `equals-ignore-case` and
`suffix` features in a FilterPolicy
* SQS: send_message() should respect DelaySeconds of 0
* AWSLambda: The ImageConfig.EntryPoint of a function is now used when
invoking it in a Docker container
* CognitoIDP now allows public actions even if IAM auth is enabled
* DynamoDB: create_table() now validates the number of KeySchema-items
* EC2: modify_image_attributes() now supports all LaunchPermissions
* ECS: register_task_definition() now has improved validation around
`memory`-parameters
* Glue: create_database() now supports the `tags`-parameter
* IAM: assume_user()/create_user()/get_caller_identity() now return the
correct partition for China (aws-cn) when called from a Chinese region
* ResourceGroupsTagging: get_resources() now supports ELB resources
* Route53: list_hosted_zones() now supports pagination
* S3: put_bucket_notification_configuration() now supports
EventBridge-notifications
* SES now returns errors in the correct format
* Thu Feb 08 2024 Steve Kowalik <steven.kowalik@suse.com>
- Update to 5.0.1:
[#]# New Methods:
* SecretsManager:
* remove_regions_from_replication()
* replicate_secret_to_regions()
[#]# General:
* All decorators have been replaced with a single decorator: `mock_aws`
* The `mock_batch_simple` and `mock_lambda_simple` decorators can now be
configured using the `config`-parameter:
* It is now possible to configure methods/services which should reach out
to AWS.
* All requests now return a RequestId
[#]# Miscellaneous:
* AWSLambda: create_event_source_mapping() now supports Kinesis streams
as targets
* CloudFront: Removed error handling for InvalidOriginServer, as our
validation was too strict
* DynamoDB: batch_execute_statement() now supports for
Update/Insert/Delete-statements
* DynamoDB: query() now correctly handles calls where both Limit and
ScanIndexForward are supplied
* EC2: Now supports availability zones for eu-central-2 (Zurich)
* S3: list_objects_v2() can now return more then 1000 results max (again)
* S3: copy_object() now allows in-place copies when bucket versioning
is enabled
* SecretsManager: create_secrets() now supports the parameters
AddReplicaRegions and ForceOverwriteReplicaSecret
* SecretsManager: list_secrets() now supports the filters primary-region
and owning-service
* IAM: The AWS managed Policies are no longer loaded by default.
* S3: list_objects() now returns a hashed ContinuationToken
* Thu Dec 28 2023 Ben Greiner <code@bnavigator.de>
- Update to 4.2.12
[#]# Miscellaneous:
* AWSLambda: list_functions() now returns a default PackageType
(ZIP) if not specified
* CloudFormation: AWS::EC2::LaunchTemplate resources now support
Fn::GetAtt operations
* CognitoIDP: admin_initiate_auth() now correctly returns a
Challenge when 2FA is enabled
* DynamoDB: execute_statement() now supports INSERT/UPDATE/DELETE
queries
* EC2: describe_availability_zones() now supports the
ZoneNames/ZoneIds-parameters
* KMS: encrypt() now validates payloads that are too large
* ResourceGroupTaggingAPI: get_resources() now supports SQS
queues
* Route53: list_hosted_zone()/list_hosted_zones_by_name() now
return the CallerReference
* S3: copy() now respects the ExtraArgs-parameter when using
MultiPart uploads
* S3: list_object_versions() now supports pagination
* S3: put_object_tagging() now validates the number of tags
provided
* Sat Dec 09 2023 Ben Greiner <code@bnavigator.de>
- Update to 4.2.11
[#]# 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
- Moto 4.2.10
[#]# 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
* Fri Nov 24 2023 Ben Greiner <code@bnavigator.de>
- Update to 4.2.9
[#]# 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
- Moto 4.2.8
[#]# 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
* Wed Nov 22 2023 Benjamin Greiner <code@bnavigator.de>
- Fix python-multipart requirement
* Sun Nov 05 2023 Ben Greiner <code@bnavigator.de>
- Update to 4.2.7
[#]# 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
- Moto 4.2.6
[#]# 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
- Moto 4.2.5
[#]# 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
- Moto 4.2.4
[#]# 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
- Moto 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
- Moto 4.2.2
* See 4.2.1 - no functional changes.
- Moto 4.2.1
[#]# 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
- Moto 4.2.0
[#]# General:
* The Docker image is now based on Python 3.11 (instead of 3.7)
- Moto 4.1.15
[#]# 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
- Moto 4.1.14
[#]# 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
* Wed Jul 26 2023 Steve Kowalik <steven.kowalik@suse.com>
- Update to 4.1.13, partial changes:
* CloudFront: create_distribution() now correctly handles a single alias
* CloudFront - CustomOrigins now have default timeouts if not supplied
* IOTData: publish() can now handle non-Unicode bytes
* RDS: Automated snapshots now have the appropriate SnapshotType
* CloudFront: create_invalidation() now behaves correctly when supplying a
single Path
* CodeBuild: create_project() now accepts all ServiceRole ARN's, not just
ARN's that end in /service-role/
* DynamoDB now supports ProjectionExpressions on (nested) lists
* EC2: create_flow_logs() now allows different LogDestinations for a
single ResourceId
* EC2: create_volume() now supports the Throughput-parameter
* ECR: put_image() now correctly overwrites tags on images with multiple tags
* Lambda: delete_layer_version() now also accepts function ARNs
* 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
* 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
* SecretsManager - update_secret() now supports the Description-parameter
* SNS: Topics are no longer accessible across regions (only across accounts)
* SQS: Requests and responses in JSON-format are now supported
* Core: The `date`-header is now returned for all operations
* EC2: create_route() now takes the `VpcEndpointId`-parameter into account
* S3: aligned checksum calculation with how AWS behaves
* 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
* SNS: Topics can now be accessed across accounts
* 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: MessageDeduplicationId is now forwarded to SQS queues
* EC2: replace_route() now supports the NetworkInterfaceId-parameter
* S3: copy_object() now adds a checksum to a copied object if requested
* SES: Templates now allow a single curly brace, and no longer assume
it's part of a variable
* STS: assume_role() now stores the AccessKey in the requesting account
* 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
* Logs: put_subscription_filter() now supports KinesisStream destinations
* RDS: describe_db_clusters() now supports filtering by db-cluster-id and
engine
* SQS: Improvements in the deduplication-logic
* RDS: describe_db_clusters() now accepts an ARN as identifier
* SecretsManager now supports partial ARN's
* Athena: Now automatically creates the default WorkGroup called `primary`
* CognitoIDP: the ID-token now uses the key cognito:username
* EC2: describe_security_group_rules() now provides the correct value
for the IsEgress-parameter
* IOT: delete_certificate() now supports the forceDelete-parameter
* 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
* DynamoDB: create_table() now deals correctly with non-key attributes
supplied as part of the KeySchema
* 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: run_task() no longer crashes when providing launchType=FARGATE
* ECS now has improved tagging-support
* Kinesis now supports the streamARN-parameter for all arguments
* S3: Improved bucket policy enforcement
* Batch: register_job_definition() now supports type="multinode"
* EC2: describe_launch_template_versions() now supports $Latest and
$Default versions
* ECS: start_task() now supports the tags-parameter
* 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
* RDS: create_db_instance() now supports the PreferredMaintenanceWindow
and PreferredBackupWindow-parameters
* Sat Jan 21 2023 Ben Greiner <code@bnavigator.de>
- Update to 4.1.0
* 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
- Moto 4.0.13
[#]# 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
- Moto 4.0.12
[#]# 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
- Drop remove-mock.patch -- fixed upstream
/usr/share/licenses/python313-moto-all /usr/share/licenses/python313-moto-all/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Sat Mar 7 23:05:58 2026