Skip to content

Commit

Permalink
Prep release 5.0.4 (#7525)
Browse files Browse the repository at this point in the history
  • Loading branch information
bblommers authored Mar 27, 2024
1 parent 1fc2200 commit 90adead
Show file tree
Hide file tree
Showing 22 changed files with 295 additions and 21 deletions.
70 changes: 70 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,76 @@
Moto Changelog
==============

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

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


5.0.3
-----
Docker Digest for 5.0.3: _sha256:032d8ead42f289d9700e9bc844c6d264575ad11b3f6c22cc76d65ff638c8c7bd_
Expand Down
84 changes: 81 additions & 3 deletions IMPLEMENTATION_COVERAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2870,7 +2870,7 @@

## elasticache
<details>
<summary>8% implemented</summary>
<summary>9% implemented</summary>

- [ ] add_tags_to_resource
- [ ] authorize_cache_security_group_ingress
Expand Down Expand Up @@ -2928,7 +2928,7 @@
- [ ] increase_node_groups_in_global_replication_group
- [ ] increase_replica_count
- [ ] list_allowed_node_type_modifications
- [ ] list_tags_for_resource
- [X] list_tags_for_resource
- [ ] modify_cache_cluster
- [ ] modify_cache_parameter_group
- [ ] modify_cache_subnet_group
Expand Down Expand Up @@ -8015,6 +8015,85 @@
- [X] update_web_acl
</details>

## workspaces
<details>
<summary>20% implemented</summary>

- [ ] associate_connection_alias
- [ ] associate_ip_groups
- [ ] associate_workspace_application
- [ ] authorize_ip_rules
- [ ] copy_workspace_image
- [ ] create_connect_client_add_in
- [ ] create_connection_alias
- [ ] create_ip_group
- [ ] create_standby_workspaces
- [X] create_tags
- [ ] create_updated_workspace_image
- [ ] create_workspace_bundle
- [X] create_workspace_image
- [X] create_workspaces
- [ ] delete_client_branding
- [ ] delete_connect_client_add_in
- [ ] delete_connection_alias
- [ ] delete_ip_group
- [ ] delete_tags
- [ ] delete_workspace_bundle
- [ ] delete_workspace_image
- [ ] deploy_workspace_applications
- [X] deregister_workspace_directory
- [ ] describe_account
- [ ] describe_account_modifications
- [ ] describe_application_associations
- [ ] describe_applications
- [ ] describe_bundle_associations
- [ ] describe_client_branding
- [X] describe_client_properties
- [ ] describe_connect_client_add_ins
- [ ] describe_connection_alias_permissions
- [ ] describe_connection_aliases
- [ ] describe_image_associations
- [ ] describe_ip_groups
- [X] describe_tags
- [ ] describe_workspace_associations
- [ ] describe_workspace_bundles
- [X] describe_workspace_directories
- [X] describe_workspace_image_permissions
- [X] describe_workspace_images
- [ ] describe_workspace_snapshots
- [X] describe_workspaces
- [ ] describe_workspaces_connection_status
- [ ] disassociate_connection_alias
- [ ] disassociate_ip_groups
- [ ] disassociate_workspace_application
- [ ] import_client_branding
- [ ] import_workspace_image
- [ ] list_available_management_cidr_ranges
- [ ] migrate_workspace
- [ ] modify_account
- [ ] modify_certificate_based_auth_properties
- [X] modify_client_properties
- [ ] modify_saml_properties
- [X] modify_selfservice_permissions
- [ ] modify_workspace_access_properties
- [X] modify_workspace_creation_properties
- [ ] modify_workspace_properties
- [ ] modify_workspace_state
- [ ] reboot_workspaces
- [ ] rebuild_workspaces
- [X] register_workspace_directory
- [ ] restore_workspace
- [ ] revoke_ip_rules
- [ ] start_workspaces
- [ ] stop_workspaces
- [ ] terminate_workspaces
- [ ] update_connect_client_add_in
- [ ] update_connection_alias_permission
- [ ] update_rules_of_ip_group
- [ ] update_workspace_bundle
- [X] update_workspace_image_permission
</details>

## Unimplemented:
<details>

Expand Down Expand Up @@ -8269,7 +8348,6 @@
- worklink
- workmail
- workmailmessageflow
- workspaces
- workspaces-thin-client
- workspaces-web
- xray
Expand Down
3 changes: 2 additions & 1 deletion docs/docs/configuration/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ The following options can also be configured when running the MotoServer:

options = {
"batch": {"use_docker": True},
"lambda": {"use_docker": True}
"lambda": {"use_docker": True},
"stepfunctions": {"execute_state_machine": True}
}
requests.post(f"http://localhost:5000/moto-api/config", json=options)

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/services/apigateway.rst
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ apigateway
The following PatchOperations are currently supported:
add : Everything except /apiStages/{apidId:stageName}/throttle/ and children
replace: Everything except /apiStages/{apidId:stageName}/throttle/ and children
remove : Nothing yet
remove : Everything except /apiStages/{apidId:stageName}/throttle/ and children
copy : Nothing yet


Expand Down
2 changes: 1 addition & 1 deletion docs/docs/services/athena.rst
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ athena
],
}
resp = requests.post(
"http://motoapi.amazonaws.com:5000/moto-api/static/athena/query-results",
"http://motoapi.amazonaws.com/moto-api/static/athena/query-results",
json=expected_results,
)
assert resp.status_code == 201
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/services/ce.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ ce
]
}
resp = requests.post(
"http://motoapi.amazonaws.com:5000/moto-api/static/ce/cost-and-usage-results",
"http://motoapi.amazonaws.com/moto-api/static/ce/cost-and-usage-results",
json=expected_results,
)
assert resp.status_code == 201
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/services/elasticache.rst
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ elasticache
- [ ] increase_node_groups_in_global_replication_group
- [ ] increase_replica_count
- [ ] list_allowed_node_type_modifications
- [ ] list_tags_for_resource
- [X] list_tags_for_resource
- [ ] modify_cache_cluster
- [ ] modify_cache_parameter_group
- [ ] modify_cache_subnet_group
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/services/inspector2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ inspector2
"region": "us-east-1", # This is the default - can be omitted
}
resp = requests.post(
"http://motoapi.amazonaws.com:5000/moto-api/static/inspector2/findings-results",
"http://motoapi.amazonaws.com/moto-api/static/inspector2/findings-results",
json=findings,
)

Expand Down
8 changes: 4 additions & 4 deletions docs/docs/services/lambda.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,15 @@ lambda

expected_results = {"results": ["test", "test 2"], "region": "us-east-1"}
resp = requests.post(
"http://motoapi.amazonaws.com:5000/moto-api/static/lambda-simple/response",
json=expected_results,
)

"http://motoapi.amazonaws.com/moto-api/static/lambda-simple/response",
json=expected_results
)
assert resp.status_code == 201

client = boto3.client("lambda", region_name="us-east-1")
resp = client.invoke(...) # resp["Payload"].read().decode() == "test"
resp = client.invoke(...) # resp["Payload"].read().decode() == "test2"


- [ ] invoke_async
- [ ] invoke_with_response_stream
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/services/rds-data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ rds-data
],
}
resp = requests.post(
"http://motoapi.amazonaws.com:5000/moto-api/static/rds-data/statement-results",
"http://motoapi.amazonaws.com/moto-api/static/rds-data/statement-results",
json=expected_results,
)
assert resp.status_code == 201
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/services/resourcegroupstaggingapi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ resourcegroupstaggingapi
- [ ] start_report_creation
- [X] tag_resources

Only Logs and RDS resources are currently supported
Only DynamoDB, Logs and RDS resources are currently supported


- [ ] untag_resources
Expand Down
1 change: 1 addition & 0 deletions docs/docs/services/s3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ s3
- 's3:ObjectCreated:Post'
- 's3:ObjectCreated:Put'
- 's3:ObjectDeleted'
- 's3:ObjectRestore:Post'


- [X] put_bucket_ownership_controls
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/services/sagemaker-runtime.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ sagemaker-runtime
],
}
requests.post(
"http://motoapi.amazonaws.com:5000/moto-api/static/sagemaker/endpoint-results",
"http://motoapi.amazonaws.com/moto-api/static/sagemaker/endpoint-results",
json=expected_results,
)

Expand Down
96 changes: 96 additions & 0 deletions docs/docs/services/workspaces.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
.. _implementedservice_workspaces:

.. |start-h3| raw:: html

<h3>

.. |end-h3| raw:: html

</h3>

==========
workspaces
==========

.. autoclass:: moto.workspaces.models.WorkSpacesBackend

|start-h3| Implemented features for this service |end-h3|

- [ ] associate_connection_alias
- [ ] associate_ip_groups
- [ ] associate_workspace_application
- [ ] authorize_ip_rules
- [ ] copy_workspace_image
- [ ] create_connect_client_add_in
- [ ] create_connection_alias
- [ ] create_ip_group
- [ ] create_standby_workspaces
- [X] create_tags
- [ ] create_updated_workspace_image
- [ ] create_workspace_bundle
- [X] create_workspace_image
- [X] create_workspaces
- [ ] delete_client_branding
- [ ] delete_connect_client_add_in
- [ ] delete_connection_alias
- [ ] delete_ip_group
- [ ] delete_tags
- [ ] delete_workspace_bundle
- [ ] delete_workspace_image
- [ ] deploy_workspace_applications
- [X] deregister_workspace_directory
Deregister Workspace Directory with the matching ID.

- [ ] describe_account
- [ ] describe_account_modifications
- [ ] describe_application_associations
- [ ] describe_applications
- [ ] describe_bundle_associations
- [ ] describe_client_branding
- [X] describe_client_properties
- [ ] describe_connect_client_add_ins
- [ ] describe_connection_alias_permissions
- [ ] describe_connection_aliases
- [ ] describe_image_associations
- [ ] describe_ip_groups
- [X] describe_tags
- [ ] describe_workspace_associations
- [ ] describe_workspace_bundles
- [X] describe_workspace_directories
Return info on all directories or directories with matching IDs.

- [X] describe_workspace_image_permissions
- [X] describe_workspace_images
- [ ] describe_workspace_snapshots
- [X] describe_workspaces
- [ ] describe_workspaces_connection_status
- [ ] disassociate_connection_alias
- [ ] disassociate_ip_groups
- [ ] disassociate_workspace_application
- [ ] import_client_branding
- [ ] import_workspace_image
- [ ] list_available_management_cidr_ranges
- [ ] migrate_workspace
- [ ] modify_account
- [ ] modify_certificate_based_auth_properties
- [X] modify_client_properties
- [ ] modify_saml_properties
- [X] modify_selfservice_permissions
- [ ] modify_workspace_access_properties
- [X] modify_workspace_creation_properties
- [ ] modify_workspace_properties
- [ ] modify_workspace_state
- [ ] reboot_workspaces
- [ ] rebuild_workspaces
- [X] register_workspace_directory
- [ ] restore_workspace
- [ ] revoke_ip_rules
- [ ] start_workspaces
- [ ] stop_workspaces
- [ ] terminate_workspaces
- [ ] update_connect_client_add_in
- [ ] update_connection_alias_permission
- [ ] update_rules_of_ip_group
- [ ] update_workspace_bundle
- [X] update_workspace_image_permission

Loading

0 comments on commit 90adead

Please sign in to comment.