Prep release 3.1.10 (#5158)
This commit is contained in:
parent
ab756c82b8
commit
cecd1035ce
26
CHANGELOG.md
26
CHANGELOG.md
@ -1,6 +1,32 @@
|
|||||||
Moto Changelog
|
Moto Changelog
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
3.1.10
|
||||||
|
-----
|
||||||
|
Docker Digest for 3.1.10: <autopopulateddigest>
|
||||||
|
|
||||||
|
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
|
3.1.9
|
||||||
-----
|
-----
|
||||||
Docker Digest for 3.1.9: _sha256:eea31d2f99b2fef16cffb3ea86d21dd911647835a3182bedd8918074292ce552_
|
Docker Digest for 3.1.9: _sha256:eea31d2f99b2fef16cffb3ea86d21dd911647835a3182bedd8918074292ce552_
|
||||||
|
@ -2663,7 +2663,7 @@
|
|||||||
|
|
||||||
## glue
|
## glue
|
||||||
<details>
|
<details>
|
||||||
<summary>10% implemented</summary>
|
<summary>12% implemented</summary>
|
||||||
|
|
||||||
- [ ] batch_create_partition
|
- [ ] batch_create_partition
|
||||||
- [ ] batch_delete_connection
|
- [ ] batch_delete_connection
|
||||||
@ -2776,7 +2776,7 @@
|
|||||||
- [ ] get_table_version
|
- [ ] get_table_version
|
||||||
- [ ] get_table_versions
|
- [ ] get_table_versions
|
||||||
- [X] get_tables
|
- [X] get_tables
|
||||||
- [ ] get_tags
|
- [X] get_tags
|
||||||
- [ ] get_trigger
|
- [ ] get_trigger
|
||||||
- [ ] get_triggers
|
- [ ] get_triggers
|
||||||
- [ ] get_unfiltered_partition_metadata
|
- [ ] get_unfiltered_partition_metadata
|
||||||
@ -2828,8 +2828,8 @@
|
|||||||
- [ ] stop_session
|
- [ ] stop_session
|
||||||
- [ ] stop_trigger
|
- [ ] stop_trigger
|
||||||
- [ ] stop_workflow_run
|
- [ ] stop_workflow_run
|
||||||
- [ ] tag_resource
|
- [X] tag_resource
|
||||||
- [ ] untag_resource
|
- [X] untag_resource
|
||||||
- [ ] update_blueprint
|
- [ ] update_blueprint
|
||||||
- [ ] update_classifier
|
- [ ] update_classifier
|
||||||
- [ ] update_column_statistics_for_partition
|
- [ ] update_column_statistics_for_partition
|
||||||
@ -4194,6 +4194,7 @@
|
|||||||
- [X] update_group
|
- [X] update_group
|
||||||
- [ ] update_iam_policy_assignment
|
- [ ] update_iam_policy_assignment
|
||||||
- [ ] update_ip_restriction
|
- [ ] update_ip_restriction
|
||||||
|
- [ ] update_public_sharing_settings
|
||||||
- [ ] update_template
|
- [ ] update_template
|
||||||
- [ ] update_template_alias
|
- [ ] update_template_alias
|
||||||
- [ ] update_template_permissions
|
- [ ] update_template_permissions
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
cloudformation
|
cloudformation
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
.. autoclass:: moto.cloudformation.models.CloudFormationBackend
|
||||||
|
|
||||||
|start-h3| Example usage |end-h3|
|
|start-h3| Example usage |end-h3|
|
||||||
|
|
||||||
.. sourcecode:: python
|
.. sourcecode:: python
|
||||||
|
@ -81,7 +81,9 @@ cognito-idp
|
|||||||
- [X] describe_user_pool_domain
|
- [X] describe_user_pool_domain
|
||||||
- [ ] forget_device
|
- [ ] forget_device
|
||||||
- [X] forgot_password
|
- [X] forgot_password
|
||||||
|
|
||||||
The ForgotPassword operation is partially broken in AWS. If the input is 100% correct it works fine.
|
The ForgotPassword operation is partially broken in AWS. If the input is 100% correct it works fine.
|
||||||
|
|
||||||
Otherwise you get semi-random garbage and HTTP 200 OK, for example:
|
Otherwise you get semi-random garbage and HTTP 200 OK, for example:
|
||||||
- recovery for username which is not registered in any cognito pool
|
- recovery for username which is not registered in any cognito pool
|
||||||
- recovery for username belonging to a different user pool than the client id is registered to
|
- recovery for username belonging to a different user pool than the client id is registered to
|
||||||
|
@ -28,7 +28,7 @@ dax
|
|||||||
- [X] create_cluster
|
- [X] create_cluster
|
||||||
|
|
||||||
The following parameters are not yet processed:
|
The following parameters are not yet processed:
|
||||||
AvailabilityZones, SubnetGroupNames, SecurityGroups, PreferredMaintenanceWindow, NotificationTopicArn, ParameterGroupName, ClusterEndpointEncryptionType
|
AvailabilityZones, SubnetGroupNames, SecurityGroups, PreferredMaintenanceWindow, NotificationTopicArn, ParameterGroupName
|
||||||
|
|
||||||
|
|
||||||
- [ ] create_parameter_group
|
- [ ] create_parameter_group
|
||||||
|
@ -563,6 +563,13 @@ ec2
|
|||||||
- [X] revoke_security_group_egress
|
- [X] revoke_security_group_egress
|
||||||
- [X] revoke_security_group_ingress
|
- [X] revoke_security_group_ingress
|
||||||
- [X] run_instances
|
- [X] run_instances
|
||||||
|
|
||||||
|
The Placement-parameter is validated to verify the availability-zone exists for the current region.
|
||||||
|
|
||||||
|
The InstanceType-parameter can be validated, to see if it is a known instance-type.
|
||||||
|
This validation can be enabled by setting the environment variable `MOTO_EC2_ENABLE_INSTANCE_TYPE_VALIDATION=true`
|
||||||
|
|
||||||
|
|
||||||
- [ ] run_scheduled_instances
|
- [ ] run_scheduled_instances
|
||||||
- [ ] search_local_gateway_routes
|
- [ ] search_local_gateway_routes
|
||||||
- [ ] search_transit_gateway_multicast_groups
|
- [ ] search_transit_gateway_multicast_groups
|
||||||
|
@ -30,6 +30,7 @@ events
|
|||||||
- [X] create_api_destination
|
- [X] create_api_destination
|
||||||
|
|
||||||
Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.
|
Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateApiDestination.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateApiDestination.html
|
||||||
|
|
||||||
@ -47,6 +48,7 @@ events
|
|||||||
- [X] delete_api_destination
|
- [X] delete_api_destination
|
||||||
|
|
||||||
Deletes the specified API destination.
|
Deletes the specified API destination.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteApiDestination.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteApiDestination.html
|
||||||
|
|
||||||
@ -65,6 +67,7 @@ events
|
|||||||
- [X] delete_connection
|
- [X] delete_connection
|
||||||
|
|
||||||
Deletes a connection.
|
Deletes a connection.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteConnection.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteConnection.html
|
||||||
|
|
||||||
@ -85,6 +88,7 @@ events
|
|||||||
- [X] describe_api_destination
|
- [X] describe_api_destination
|
||||||
|
|
||||||
Retrieves details about an API destination.
|
Retrieves details about an API destination.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeApiDestination.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeApiDestination.html
|
||||||
Args:
|
Args:
|
||||||
@ -98,6 +102,7 @@ events
|
|||||||
- [X] describe_connection
|
- [X] describe_connection
|
||||||
|
|
||||||
Retrieves details about a connection.
|
Retrieves details about a connection.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeConnection.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeConnection.html
|
||||||
|
|
||||||
@ -146,6 +151,7 @@ events
|
|||||||
- [X] update_api_destination
|
- [X] update_api_destination
|
||||||
|
|
||||||
Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.
|
Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdateApiDestination.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdateApiDestination.html
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ glue
|
|||||||
- [ ] get_table_version
|
- [ ] get_table_version
|
||||||
- [ ] get_table_versions
|
- [ ] get_table_versions
|
||||||
- [X] get_tables
|
- [X] get_tables
|
||||||
- [ ] get_tags
|
- [X] get_tags
|
||||||
- [ ] get_trigger
|
- [ ] get_trigger
|
||||||
- [ ] get_triggers
|
- [ ] get_triggers
|
||||||
- [ ] get_unfiltered_partition_metadata
|
- [ ] get_unfiltered_partition_metadata
|
||||||
@ -188,8 +188,8 @@ glue
|
|||||||
- [ ] stop_session
|
- [ ] stop_session
|
||||||
- [ ] stop_trigger
|
- [ ] stop_trigger
|
||||||
- [ ] stop_workflow_run
|
- [ ] stop_workflow_run
|
||||||
- [ ] tag_resource
|
- [X] tag_resource
|
||||||
- [ ] untag_resource
|
- [X] untag_resource
|
||||||
- [ ] update_blueprint
|
- [ ] update_blueprint
|
||||||
- [ ] update_classifier
|
- [ ] update_classifier
|
||||||
- [ ] update_column_statistics_for_partition
|
- [ ] update_column_statistics_for_partition
|
||||||
|
@ -26,10 +26,6 @@ iot-data
|
|||||||
|start-h3| Implemented features for this service |end-h3|
|
|start-h3| Implemented features for this service |end-h3|
|
||||||
|
|
||||||
- [X] delete_thing_shadow
|
- [X] delete_thing_shadow
|
||||||
after deleting, get_thing_shadow will raise ResourceNotFound.
|
|
||||||
But version of the shadow keep increasing...
|
|
||||||
|
|
||||||
|
|
||||||
- [ ] get_retained_message
|
- [ ] get_retained_message
|
||||||
- [X] get_thing_shadow
|
- [X] get_thing_shadow
|
||||||
- [ ] list_named_shadows_for_thing
|
- [ ] list_named_shadows_for_thing
|
||||||
|
@ -154,6 +154,7 @@ quicksight
|
|||||||
- [X] update_group
|
- [X] update_group
|
||||||
- [ ] update_iam_policy_assignment
|
- [ ] update_iam_policy_assignment
|
||||||
- [ ] update_ip_restriction
|
- [ ] update_ip_restriction
|
||||||
|
- [ ] update_public_sharing_settings
|
||||||
- [ ] update_template
|
- [ ] update_template
|
||||||
- [ ] update_template_alias
|
- [ ] update_template_alias
|
||||||
- [ ] update_template_permissions
|
- [ ] update_template_permissions
|
||||||
|
@ -35,33 +35,6 @@ secretsmanager
|
|||||||
- [X] get_secret_value
|
- [X] get_secret_value
|
||||||
- [X] list_secret_version_ids
|
- [X] list_secret_version_ids
|
||||||
- [X] list_secrets
|
- [X] list_secrets
|
||||||
|
|
||||||
Returns secrets from secretsmanager.
|
|
||||||
The result is paginated and page items depends on the token value, because token contains start element
|
|
||||||
number of secret list.
|
|
||||||
Response example:
|
|
||||||
{
|
|
||||||
SecretList: [
|
|
||||||
{
|
|
||||||
ARN: 'arn:aws:secretsmanager:us-east-1:1234567890:secret:test1-gEcah',
|
|
||||||
Name: 'test1',
|
|
||||||
...
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ARN: 'arn:aws:secretsmanager:us-east-1:1234567890:secret:test2-KZwml',
|
|
||||||
Name: 'test2',
|
|
||||||
...
|
|
||||||
}
|
|
||||||
],
|
|
||||||
NextToken: '2'
|
|
||||||
}
|
|
||||||
|
|
||||||
:param filters: (List) Filter parameters.
|
|
||||||
:param max_results: (int) Max number of results per page.
|
|
||||||
:param next_token: (str) Page token.
|
|
||||||
:return: (Tuple[List,str]) Returns result list and next token.
|
|
||||||
|
|
||||||
|
|
||||||
- [ ] put_resource_policy
|
- [ ] put_resource_policy
|
||||||
- [X] put_secret_value
|
- [X] put_secret_value
|
||||||
- [ ] remove_regions_from_replication
|
- [ ] remove_regions_from_replication
|
||||||
|
@ -4,3 +4,5 @@ readthedocs-sphinx-search==0.1.1
|
|||||||
|
|
||||||
# Modules necessary to import individual classes and read the docstrings
|
# Modules necessary to import individual classes and read the docstrings
|
||||||
docker
|
docker
|
||||||
|
openapi_spec_validator
|
||||||
|
PyYAML>=5.1
|
||||||
|
@ -1384,7 +1384,9 @@ class CognitoIdpBackend(BaseBackend):
|
|||||||
raise ResourceNotFoundError(client_id)
|
raise ResourceNotFoundError(client_id)
|
||||||
|
|
||||||
def forgot_password(self, client_id, username):
|
def forgot_password(self, client_id, username):
|
||||||
"""The ForgotPassword operation is partially broken in AWS. If the input is 100% correct it works fine.
|
"""
|
||||||
|
The ForgotPassword operation is partially broken in AWS. If the input is 100% correct it works fine.
|
||||||
|
|
||||||
Otherwise you get semi-random garbage and HTTP 200 OK, for example:
|
Otherwise you get semi-random garbage and HTTP 200 OK, for example:
|
||||||
- recovery for username which is not registered in any cognito pool
|
- recovery for username which is not registered in any cognito pool
|
||||||
- recovery for username belonging to a different user pool than the client id is registered to
|
- recovery for username belonging to a different user pool than the client id is registered to
|
||||||
|
@ -652,6 +652,12 @@ class InstanceBackend(object):
|
|||||||
return new_reservation
|
return new_reservation
|
||||||
|
|
||||||
def run_instances(self):
|
def run_instances(self):
|
||||||
|
"""
|
||||||
|
The Placement-parameter is validated to verify the availability-zone exists for the current region.
|
||||||
|
|
||||||
|
The InstanceType-parameter can be validated, to see if it is a known instance-type.
|
||||||
|
This validation can be enabled by setting the environment variable `MOTO_EC2_ENABLE_INSTANCE_TYPE_VALIDATION=true`
|
||||||
|
"""
|
||||||
# Logic resides in add_instances
|
# Logic resides in add_instances
|
||||||
# Fake method here to make implementation coverage script aware that this method is implemented
|
# Fake method here to make implementation coverage script aware that this method is implemented
|
||||||
pass
|
pass
|
||||||
|
@ -785,6 +785,7 @@ class Destination(BaseModel):
|
|||||||
def describe(self):
|
def describe(self):
|
||||||
"""
|
"""
|
||||||
Describes the Destination object as a dict
|
Describes the Destination object as a dict
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
Response Syntax in
|
Response Syntax in
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeApiDestination.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeApiDestination.html
|
||||||
@ -1676,6 +1677,7 @@ class EventsBackend(BaseBackend):
|
|||||||
def describe_connection(self, name):
|
def describe_connection(self, name):
|
||||||
"""
|
"""
|
||||||
Retrieves details about a connection.
|
Retrieves details about a connection.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeConnection.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeConnection.html
|
||||||
|
|
||||||
@ -1699,6 +1701,7 @@ class EventsBackend(BaseBackend):
|
|||||||
def delete_connection(self, name):
|
def delete_connection(self, name):
|
||||||
"""
|
"""
|
||||||
Deletes a connection.
|
Deletes a connection.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteConnection.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteConnection.html
|
||||||
|
|
||||||
@ -1730,6 +1733,7 @@ class EventsBackend(BaseBackend):
|
|||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.
|
Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateApiDestination.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateApiDestination.html
|
||||||
|
|
||||||
@ -1755,6 +1759,7 @@ class EventsBackend(BaseBackend):
|
|||||||
def describe_api_destination(self, name):
|
def describe_api_destination(self, name):
|
||||||
"""
|
"""
|
||||||
Retrieves details about an API destination.
|
Retrieves details about an API destination.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeApiDestination.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeApiDestination.html
|
||||||
Args:
|
Args:
|
||||||
@ -1773,6 +1778,7 @@ class EventsBackend(BaseBackend):
|
|||||||
def update_api_destination(self, *, name, **kwargs):
|
def update_api_destination(self, *, name, **kwargs):
|
||||||
"""
|
"""
|
||||||
Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.
|
Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdateApiDestination.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdateApiDestination.html
|
||||||
|
|
||||||
@ -1793,6 +1799,7 @@ class EventsBackend(BaseBackend):
|
|||||||
def delete_api_destination(self, name):
|
def delete_api_destination(self, name):
|
||||||
"""
|
"""
|
||||||
Deletes the specified API destination.
|
Deletes the specified API destination.
|
||||||
|
|
||||||
Docs:
|
Docs:
|
||||||
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteApiDestination.html
|
https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteApiDestination.html
|
||||||
|
|
||||||
|
@ -186,9 +186,6 @@ class IoTDataPlaneBackend(BaseBackend):
|
|||||||
return thing.thing_shadow
|
return thing.thing_shadow
|
||||||
|
|
||||||
def delete_thing_shadow(self, thing_name):
|
def delete_thing_shadow(self, thing_name):
|
||||||
"""after deleting, get_thing_shadow will raise ResourceNotFound.
|
|
||||||
But version of the shadow keep increasing...
|
|
||||||
"""
|
|
||||||
thing = iot_backends[self.region_name].describe_thing(thing_name)
|
thing = iot_backends[self.region_name].describe_thing(thing_name)
|
||||||
if thing.thing_shadow is None:
|
if thing.thing_shadow is None:
|
||||||
raise ResourceNotFoundException()
|
raise ResourceNotFoundException()
|
||||||
|
@ -636,32 +636,6 @@ class SecretsManagerBackend(BaseBackend):
|
|||||||
def list_secrets(
|
def list_secrets(
|
||||||
self, filters: List, max_results: int = 100, next_token: str = None
|
self, filters: List, max_results: int = 100, next_token: str = None
|
||||||
) -> Tuple[List, str]:
|
) -> Tuple[List, str]:
|
||||||
"""
|
|
||||||
Returns secrets from secretsmanager.
|
|
||||||
The result is paginated and page items depends on the token value, because token contains start element
|
|
||||||
number of secret list.
|
|
||||||
Response example:
|
|
||||||
{
|
|
||||||
SecretList: [
|
|
||||||
{
|
|
||||||
ARN: 'arn:aws:secretsmanager:us-east-1:1234567890:secret:test1-gEcah',
|
|
||||||
Name: 'test1',
|
|
||||||
...
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ARN: 'arn:aws:secretsmanager:us-east-1:1234567890:secret:test2-KZwml',
|
|
||||||
Name: 'test2',
|
|
||||||
...
|
|
||||||
}
|
|
||||||
],
|
|
||||||
NextToken: '2'
|
|
||||||
}
|
|
||||||
|
|
||||||
:param filters: (List) Filter parameters.
|
|
||||||
:param max_results: (int) Max number of results per page.
|
|
||||||
:param next_token: (str) Page token.
|
|
||||||
:return: (Tuple[List,str]) Returns result list and next token.
|
|
||||||
"""
|
|
||||||
secret_list = []
|
secret_list = []
|
||||||
for secret in self.secrets.values():
|
for secret in self.secrets.values():
|
||||||
if _matches(secret, filters):
|
if _matches(secret, filters):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user