Prep release 4.1.15 (#6710)

This commit is contained in:
Bert Blommers 2023-08-22 07:58:00 +00:00 committed by GitHub
parent 9e3e5e947b
commit bc6f72a768
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 176 additions and 27 deletions

View File

@ -1,6 +1,57 @@
Moto Changelog
==============
4.1.15
------
Docker Digest for 4.1.15: <autopopulateddigest>
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
------

View File

@ -499,7 +499,7 @@
## autoscaling
<details>
<summary>52% implemented</summary>
<summary>56% implemented</summary>
- [X] attach_instances
- [X] attach_load_balancer_target_groups
@ -519,7 +519,7 @@
- [X] delete_policy
- [X] delete_scheduled_action
- [X] delete_tags
- [ ] delete_warm_pool
- [X] delete_warm_pool
- [ ] describe_account_limits
- [ ] describe_adjustment_types
- [X] describe_auto_scaling_groups
@ -540,7 +540,7 @@
- [X] describe_tags
- [ ] describe_termination_policy_types
- [ ] describe_traffic_sources
- [ ] describe_warm_pool
- [X] describe_warm_pool
- [X] detach_instances
- [X] detach_load_balancer_target_groups
- [X] detach_load_balancers
@ -555,7 +555,7 @@
- [ ] put_notification_configuration
- [X] put_scaling_policy
- [X] put_scheduled_update_group_action
- [ ] put_warm_pool
- [X] put_warm_pool
- [ ] record_lifecycle_action_heartbeat
- [X] resume_processes
- [ ] rollback_instance_refresh
@ -1055,6 +1055,7 @@
- [ ] list_approval_rule_templates
- [ ] list_associated_approval_rule_templates_for_repository
- [ ] list_branches
- [ ] list_file_commit_history
- [ ] list_pull_requests
- [ ] list_repositories
- [ ] list_repositories_for_approval_rule_template
@ -1165,7 +1166,7 @@
## cognito-idp
<details>
<summary>58% implemented</summary>
<summary>57% implemented</summary>
- [X] add_custom_attributes
- [X] admin_add_user_to_group
@ -1227,6 +1228,7 @@
- [ ] get_device
- [X] get_group
- [ ] get_identity_provider_by_identifier
- [ ] get_log_delivery_configuration
- [ ] get_signing_certificate
- [ ] get_ui_customization
- [X] get_user
@ -1247,6 +1249,7 @@
- [ ] resend_confirmation_code
- [X] respond_to_auth_challenge
- [ ] revoke_token
- [ ] set_log_delivery_configuration
- [ ] set_risk_configuration
- [ ] set_ui_customization
- [X] set_user_mfa_preference
@ -1628,25 +1631,31 @@
## dms
<details>
<summary>6% implemented</summary>
<summary>4% implemented</summary>
- [ ] add_tags_to_resource
- [ ] apply_pending_maintenance_action
- [ ] batch_start_recommendations
- [ ] cancel_replication_task_assessment_run
- [ ] create_data_provider
- [ ] create_endpoint
- [ ] create_event_subscription
- [ ] create_fleet_advisor_collector
- [ ] create_instance_profile
- [ ] create_migration_project
- [ ] create_replication_config
- [ ] create_replication_instance
- [ ] create_replication_subnet_group
- [X] create_replication_task
- [ ] delete_certificate
- [ ] delete_connection
- [ ] delete_data_provider
- [ ] delete_endpoint
- [ ] delete_event_subscription
- [ ] delete_fleet_advisor_collector
- [ ] delete_fleet_advisor_databases
- [ ] delete_instance_profile
- [ ] delete_migration_project
- [ ] delete_replication_config
- [ ] delete_replication_instance
- [ ] delete_replication_subnet_group
@ -1656,17 +1665,28 @@
- [ ] describe_applicable_individual_assessments
- [ ] describe_certificates
- [ ] describe_connections
- [ ] describe_conversion_configuration
- [ ] describe_data_providers
- [ ] describe_endpoint_settings
- [ ] describe_endpoint_types
- [ ] describe_endpoints
- [ ] describe_engine_versions
- [ ] describe_event_categories
- [ ] describe_event_subscriptions
- [ ] describe_events
- [ ] describe_extension_pack_associations
- [ ] describe_fleet_advisor_collectors
- [ ] describe_fleet_advisor_databases
- [ ] describe_fleet_advisor_lsa_analysis
- [ ] describe_fleet_advisor_schema_object_summary
- [ ] describe_fleet_advisor_schemas
- [ ] describe_instance_profiles
- [ ] describe_metadata_model_assessments
- [ ] describe_metadata_model_conversions
- [ ] describe_metadata_model_exports_as_script
- [ ] describe_metadata_model_exports_to_target
- [ ] describe_metadata_model_imports
- [ ] describe_migration_projects
- [ ] describe_orderable_replication_instances
- [ ] describe_pending_maintenance_actions
- [ ] describe_recommendation_limitations
@ -1684,10 +1704,15 @@
- [ ] describe_replications
- [ ] describe_schemas
- [ ] describe_table_statistics
- [ ] export_metadata_model_assessment
- [ ] import_certificate
- [ ] list_tags_for_resource
- [ ] modify_conversion_configuration
- [ ] modify_data_provider
- [ ] modify_endpoint
- [ ] modify_event_subscription
- [ ] modify_instance_profile
- [ ] modify_migration_project
- [ ] modify_replication_config
- [ ] modify_replication_instance
- [ ] modify_replication_subnet_group
@ -1699,6 +1724,12 @@
- [ ] reload_tables
- [ ] remove_tags_from_resource
- [ ] run_fleet_advisor_lsa_analysis
- [ ] start_extension_pack_association
- [ ] start_metadata_model_assessment
- [ ] start_metadata_model_conversion
- [ ] start_metadata_model_export_as_script
- [ ] start_metadata_model_export_to_target
- [ ] start_metadata_model_import
- [ ] start_recommendations
- [ ] start_replication
- [X] start_replication_task
@ -2727,6 +2758,7 @@
- [ ] revoke_cache_security_group_ingress
- [ ] start_migration
- [ ] test_failover
- [ ] test_migration
</details>
## elasticbeanstalk
@ -3778,7 +3810,7 @@
## identitystore
<details>
<summary>47% implemented</summary>
<summary>52% implemented</summary>
- [X] create_group
- [X] create_group_membership
@ -3795,7 +3827,7 @@
- [ ] is_member_in_groups
- [X] list_group_memberships
- [ ] list_group_memberships_for_member
- [ ] list_groups
- [X] list_groups
- [ ] list_users
- [ ] update_group
- [ ] update_user
@ -4059,12 +4091,12 @@
## iot-data
<details>
<summary>57% implemented</summary>
<summary>71% implemented</summary>
- [X] delete_thing_shadow
- [ ] get_retained_message
- [X] get_thing_shadow
- [ ] list_named_shadows_for_thing
- [X] list_named_shadows_for_thing
- [ ] list_retained_messages
- [X] publish
- [X] update_thing_shadow
@ -5351,7 +5383,7 @@
## rds
<details>
<summary>39% implemented</summary>
<summary>38% implemented</summary>
- [ ] add_role_to_db_cluster
- [ ] add_role_to_db_instance
@ -5386,6 +5418,7 @@
- [ ] delete_blue_green_deployment
- [ ] delete_custom_db_engine_version
- [X] delete_db_cluster
- [ ] delete_db_cluster_automated_backup
- [ ] delete_db_cluster_endpoint
- [X] delete_db_cluster_parameter_group
- [X] delete_db_cluster_snapshot
@ -5404,6 +5437,7 @@
- [ ] describe_account_attributes
- [ ] describe_blue_green_deployments
- [ ] describe_certificates
- [ ] describe_db_cluster_automated_backups
- [ ] describe_db_cluster_backtracks
- [ ] describe_db_cluster_endpoints
- [X] describe_db_cluster_parameter_groups
@ -5493,6 +5527,7 @@
- [X] stop_db_instance
- [ ] stop_db_instance_automated_backups_replication
- [ ] switchover_blue_green_deployment
- [ ] switchover_global_cluster
- [ ] switchover_read_replica
</details>
@ -6265,6 +6300,7 @@
- [ ] get_lineage_group_policy
- [ ] get_model_package_group_policy
- [ ] get_sagemaker_servicecatalog_portfolio_status
- [ ] get_scaling_configuration_recommendation
- [ ] get_search_suggestions
- [ ] import_hub_content
- [ ] list_actions
@ -6490,7 +6526,7 @@
## servicediscovery
<details>
<summary>61% implemented</summary>
<summary>69% implemented</summary>
- [X] create_http_namespace
- [X] create_private_dns_namespace
@ -6515,8 +6551,8 @@
- [X] untag_resource
- [ ] update_http_namespace
- [ ] update_instance_custom_health_status
- [ ] update_private_dns_namespace
- [ ] update_public_dns_namespace
- [X] update_private_dns_namespace
- [X] update_public_dns_namespace
- [X] update_service
</details>

View File

@ -92,7 +92,7 @@ athena
"http://motoapi.amazonaws.com:5000/moto-api/static/athena/query-results",
json=expected_results,
)
resp.status_code.should.equal(201)
assert resp.status_code == 201
client = boto3.client("athena", region_name="us-east-1")
details = client.get_query_execution(QueryExecutionId="any_id")["QueryExecution"]

View File

@ -43,7 +43,7 @@ autoscaling
- [X] delete_policy
- [X] delete_scheduled_action
- [X] delete_tags
- [ ] delete_warm_pool
- [X] delete_warm_pool
- [ ] describe_account_limits
- [ ] describe_adjustment_types
- [X] describe_auto_scaling_groups
@ -69,7 +69,11 @@ autoscaling
- [ ] describe_termination_policy_types
- [ ] describe_traffic_sources
- [ ] describe_warm_pool
- [X] describe_warm_pool
Pagination is not yet implemented. Does not create/return any Instances currently.
- [X] detach_instances
- [X] detach_load_balancer_target_groups
- [X] detach_load_balancers
@ -84,7 +88,7 @@ autoscaling
- [ ] put_notification_configuration
- [X] put_scaling_policy
- [X] put_scheduled_update_group_action
- [ ] put_warm_pool
- [X] put_warm_pool
- [ ] record_lifecycle_action_heartbeat
- [X] resume_processes
- [ ] rollback_instance_refresh

View File

@ -70,6 +70,7 @@ codecommit
- [ ] list_approval_rule_templates
- [ ] list_associated_approval_rule_templates_for_repository
- [ ] list_branches
- [ ] list_file_commit_history
- [ ] list_pull_requests
- [ ] list_repositories
- [ ] list_repositories_for_approval_rule_template

View File

@ -97,6 +97,7 @@ cognito-idp
- [ ] get_device
- [X] get_group
- [ ] get_identity_provider_by_identifier
- [ ] get_log_delivery_configuration
- [ ] get_signing_certificate
- [ ] get_ui_customization
- [X] get_user
@ -117,6 +118,7 @@ cognito-idp
- [ ] resend_confirmation_code
- [X] respond_to_auth_challenge
- [ ] revoke_token
- [ ] set_log_delivery_configuration
- [ ] set_risk_configuration
- [ ] set_ui_customization
- [X] set_user_mfa_preference

View File

@ -29,9 +29,12 @@ dms
- [ ] apply_pending_maintenance_action
- [ ] batch_start_recommendations
- [ ] cancel_replication_task_assessment_run
- [ ] create_data_provider
- [ ] create_endpoint
- [ ] create_event_subscription
- [ ] create_fleet_advisor_collector
- [ ] create_instance_profile
- [ ] create_migration_project
- [ ] create_replication_config
- [ ] create_replication_instance
- [ ] create_replication_subnet_group
@ -43,10 +46,13 @@ dms
- [ ] delete_certificate
- [ ] delete_connection
- [ ] delete_data_provider
- [ ] delete_endpoint
- [ ] delete_event_subscription
- [ ] delete_fleet_advisor_collector
- [ ] delete_fleet_advisor_databases
- [ ] delete_instance_profile
- [ ] delete_migration_project
- [ ] delete_replication_config
- [ ] delete_replication_instance
- [ ] delete_replication_subnet_group
@ -56,17 +62,28 @@ dms
- [ ] describe_applicable_individual_assessments
- [ ] describe_certificates
- [ ] describe_connections
- [ ] describe_conversion_configuration
- [ ] describe_data_providers
- [ ] describe_endpoint_settings
- [ ] describe_endpoint_types
- [ ] describe_endpoints
- [ ] describe_engine_versions
- [ ] describe_event_categories
- [ ] describe_event_subscriptions
- [ ] describe_events
- [ ] describe_extension_pack_associations
- [ ] describe_fleet_advisor_collectors
- [ ] describe_fleet_advisor_databases
- [ ] describe_fleet_advisor_lsa_analysis
- [ ] describe_fleet_advisor_schema_object_summary
- [ ] describe_fleet_advisor_schemas
- [ ] describe_instance_profiles
- [ ] describe_metadata_model_assessments
- [ ] describe_metadata_model_conversions
- [ ] describe_metadata_model_exports_as_script
- [ ] describe_metadata_model_exports_to_target
- [ ] describe_metadata_model_imports
- [ ] describe_migration_projects
- [ ] describe_orderable_replication_instances
- [ ] describe_pending_maintenance_actions
- [ ] describe_recommendation_limitations
@ -88,10 +105,15 @@ dms
- [ ] describe_replications
- [ ] describe_schemas
- [ ] describe_table_statistics
- [ ] export_metadata_model_assessment
- [ ] import_certificate
- [ ] list_tags_for_resource
- [ ] modify_conversion_configuration
- [ ] modify_data_provider
- [ ] modify_endpoint
- [ ] modify_event_subscription
- [ ] modify_instance_profile
- [ ] modify_migration_project
- [ ] modify_replication_config
- [ ] modify_replication_instance
- [ ] modify_replication_subnet_group
@ -103,6 +125,12 @@ dms
- [ ] reload_tables
- [ ] remove_tags_from_resource
- [ ] run_fleet_advisor_lsa_analysis
- [ ] start_extension_pack_association
- [ ] start_metadata_model_assessment
- [ ] start_metadata_model_conversion
- [ ] start_metadata_model_export_as_script
- [ ] start_metadata_model_export_to_target
- [ ] start_metadata_model_import
- [ ] start_recommendations
- [ ] start_replication
- [X] start_replication_task

View File

@ -97,4 +97,5 @@ elasticache
- [ ] revoke_cache_security_group_ingress
- [ ] start_migration
- [ ] test_failover
- [ ] test_migration

View File

@ -42,7 +42,7 @@ identitystore
- [ ] is_member_in_groups
- [X] list_group_memberships
- [ ] list_group_memberships_for_member
- [ ] list_groups
- [X] list_groups
- [ ] list_users
- [ ] update_group
- [ ] update_user

View File

@ -28,7 +28,7 @@ iot-data
- [X] delete_thing_shadow
- [ ] get_retained_message
- [X] get_thing_shadow
- [ ] list_named_shadows_for_thing
- [X] list_named_shadows_for_thing
- [ ] list_retained_messages
- [X] publish
- [X] update_thing_shadow

View File

@ -100,6 +100,19 @@ lambda
- [ ] publish_version
- [ ] put_function_code_signing_config
- [X] put_function_concurrency
Establish concurrency limit/reservations for a function
Actual lambda restricts concurrency to 1000 (default) per region/account
across all functions; we approximate that behavior by summing across all
functions (hopefully all in the same account and region) and allowing the
caller to simulate an increased quota.
By default, no quota is enforced in order to preserve compatibility with
existing code that assumes it can do as many things as it likes. To model
actual AWS behavior, define the MOTO_LAMBDA_CONCURRENCY_QUOTA environment
variable prior to testing.
- [ ] put_function_event_invoke_config
- [ ] put_provisioned_concurrency_config
- [ ] put_runtime_management_config

View File

@ -61,7 +61,7 @@ rds-data
"http://motoapi.amazonaws.com:5000/moto-api/static/rds-data/statement-results",
json=expected_results,
)
resp.status_code.should.equal(201)
assert resp.status_code == 201
rdsdata = boto3.client("rds-data", region_name="us-east-1")
resp = rdsdata.execute_statement(resourceArn="not applicable", secretArn="not applicable", sql="SELECT some FROM thing")

View File

@ -58,6 +58,7 @@ rds
- [ ] delete_blue_green_deployment
- [ ] delete_custom_db_engine_version
- [X] delete_db_cluster
- [ ] delete_db_cluster_automated_backup
- [ ] delete_db_cluster_endpoint
- [X] delete_db_cluster_parameter_group
- [X] delete_db_cluster_snapshot
@ -76,6 +77,7 @@ rds
- [ ] describe_account_attributes
- [ ] describe_blue_green_deployments
- [ ] describe_certificates
- [ ] describe_db_cluster_automated_backups
- [ ] describe_db_cluster_backtracks
- [ ] describe_db_cluster_endpoints
- [X] describe_db_cluster_parameter_groups
@ -169,5 +171,6 @@ rds
- [X] stop_db_instance
- [ ] stop_db_instance_automated_backups_replication
- [ ] switchover_blue_green_deployment
- [ ] switchover_global_cluster
- [ ] switchover_read_replica

View File

@ -152,7 +152,7 @@ s3
- Function aliases (count(*) as cnt)
- Most functions (only count() is supported)
- Result is always in JSON
- FieldDelimiters and RecordDelimiters are ignored
- FieldDelimiters are ignored
- [X] upload_part

View File

@ -194,6 +194,7 @@ sagemaker
- [ ] get_lineage_group_policy
- [ ] get_model_package_group_policy
- [ ] get_sagemaker_servicecatalog_portfolio_status
- [ ] get_scaling_configuration_recommendation
- [ ] get_search_suggestions
- [ ] import_hub_content
- [ ] list_actions

View File

@ -62,7 +62,7 @@ servicediscovery
- [X] untag_resource
- [ ] update_http_namespace
- [ ] update_instance_custom_health_status
- [ ] update_private_dns_namespace
- [ ] update_public_dns_namespace
- [X] update_private_dns_namespace
- [X] update_public_dns_namespace
- [X] update_service

View File

@ -481,8 +481,9 @@ def test_create_db_cluster_snapshot():
def test_create_db_cluster_snapshot_copy_tags():
conn = boto3.client("rds", region_name="us-west-2")
dbci = "db-primary-1"
conn.create_db_cluster(
DBClusterIdentifier="db-primary-1",
DBClusterIdentifier=dbci,
AllocatedStorage=10,
Engine="postgres",
DatabaseName="staging-postgres",
@ -495,11 +496,11 @@ def test_create_db_cluster_snapshot_copy_tags():
)
snapshot = conn.create_db_cluster_snapshot(
DBClusterIdentifier="db-primary-1", DBClusterSnapshotIdentifier="g-1"
DBClusterIdentifier=dbci, DBClusterSnapshotIdentifier="g-1"
).get("DBClusterSnapshot")
assert snapshot.get("Engine") == "postgres"
assert snapshot.get("DBClusterIdentifier") == "db-primary-1"
assert snapshot.get("DBClusterIdentifier") == dbci
assert snapshot.get("DBClusterSnapshotIdentifier") == "g-1"
result = conn.list_tags_for_resource(ResourceName=snapshot["DBClusterSnapshotArn"])
@ -508,6 +509,14 @@ def test_create_db_cluster_snapshot_copy_tags():
{"Value": "bar1", "Key": "foo1"},
]
snapshot = conn.describe_db_cluster_snapshots(DBClusterIdentifier=dbci)[
"DBClusterSnapshots"
][0]
assert snapshot["TagList"] == [
{"Key": "foo", "Value": "bar"},
{"Key": "foo1", "Value": "bar1"},
]
@mock_rds
def test_copy_db_cluster_snapshot_fails_for_unknown_snapshot():