Skip to content

Commit

Permalink
Prep release 5.0.3 (#7447)
Browse files Browse the repository at this point in the history
  • Loading branch information
bblommers committed Mar 9, 2024
1 parent cb60935 commit e3330af
Show file tree
Hide file tree
Showing 16 changed files with 266 additions and 30 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/tests_real_aws.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ jobs:
env:
MOTO_TEST_ALLOW_AWS_REQUEST: ${{ true }}
run: |
pytest -sv tests/test_dynamodb/ tests/test_ec2/ tests/test_lakeformation/ tests/test_logs/ tests/test_ses/ tests/test_s3* tests/test_sns/ -m aws_verified
pytest -sv tests/test_dynamodb/ tests/test_ec2/ tests/test_iam/ tests/test_lakeformation/ tests/test_logs/ tests/test_sqs/ tests/test_ses/ tests/test_s3* tests/test_sns/ -m aws_verified
28 changes: 28 additions & 0 deletions .github/workflows/tests_terraform_examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,31 @@ jobs:
sleep 30
terraform plan -detailed-exitcode
terraform apply -destroy --auto-approve
test_create_only:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
service: ["ec2"]

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v5
with:
python-version: "3.8"
- name: Start MotoServer
run: |
pip install build
python -m build
docker run --rm -t --name motoserver -e TEST_SERVER_MODE=true -e AWS_SECRET_ACCESS_KEY=server_secret -e AWS_ACCESS_KEY_ID=server_key -v `pwd`:/moto -p 5000:5000 -v /var/run/docker.sock:/var/run/docker.sock python:3.10-slim /moto/scripts/ci_moto_server.sh &
python scripts/ci_wait_for_server.py
- name: Run tests
run: |
mkdir ~/.aws && touch ~/.aws/credentials && echo -e "[default]\naws_access_key_id = test\naws_secret_access_key = test" > ~/.aws/credentials
cd other_langs/terraform/${{ matrix.service }}
terraform init
terraform apply --auto-approve
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,54 @@
Moto Changelog
==============

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

General:
* New configuration options for:
- Passing URL's through the proxy
- Configuring DOcker-less services in ServerMode
See http://docs.getmoto.org/en/latest/docs/configuration/index.html

New Services:
* Route53Domains:
* delete_domain()
* list_domains()
* list_operations()
* register_domain()
* update_domain_nameservers()

New Methods:
* CostExplorer:
* get_cost_and_usage()

* ECR:
* get_registry_scanning_configuration()

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


5.0.2
-----
Docker Digest for 5.0.2: _sha256:89cc6c764d714bf76e592a61f0c06fd142f672085e1dd3a53eb734aaeb4e14e2_
Expand Down
56 changes: 49 additions & 7 deletions IMPLEMENTATION_COVERAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -735,7 +735,7 @@

## ce
<details>
<summary>21% implemented</summary>
<summary>20% implemented</summary>

- [ ] create_anomaly_monitor
- [ ] create_anomaly_subscription
Expand All @@ -747,6 +747,7 @@
- [ ] get_anomalies
- [ ] get_anomaly_monitors
- [ ] get_anomaly_subscriptions
- [ ] get_approximate_usage_records
- [X] get_cost_and_usage
- [ ] get_cost_and_usage_with_resources
- [ ] get_cost_categories
Expand Down Expand Up @@ -2659,7 +2660,7 @@

## ecr
<details>
<summary>65% implemented</summary>
<summary>67% implemented</summary>

- [ ] batch_check_layer_availability
- [X] batch_delete_image
Expand Down Expand Up @@ -3339,12 +3340,11 @@

## firehose
<details>
<summary>85% implemented</summary>
<summary>100% implemented</summary>

- [X] create_delivery_stream
- [X] delete_delivery_stream
- [X] describe_delivery_stream
- [ ] get_kinesis_stream
- [X] list_delivery_streams
- [X] list_tags_for_delivery_stream
- [X] put_record
Expand All @@ -3354,7 +3354,6 @@
- [X] tag_delivery_stream
- [X] untag_delivery_stream
- [X] update_destination
- [ ] verify_resources_exist_for_tagris
</details>

## forecast
Expand Down Expand Up @@ -4922,6 +4921,7 @@
- [ ] purchase_offering
- [ ] reboot_input_device
- [ ] reject_input_device_transfer
- [ ] restart_channel_pipelines
- [X] start_channel
- [ ] start_input_device
- [ ] start_input_device_maintenance_window
Expand Down Expand Up @@ -6393,6 +6393,46 @@
- [ ] update_traffic_policy_instance
</details>

## route53domains
<details>
<summary>14% implemented</summary>

- [ ] accept_domain_transfer_from_another_aws_account
- [ ] associate_delegation_signer_to_domain
- [ ] cancel_domain_transfer_to_another_aws_account
- [ ] check_domain_availability
- [ ] check_domain_transferability
- [X] delete_domain
- [ ] delete_tags_for_domain
- [ ] disable_domain_auto_renew
- [ ] disable_domain_transfer_lock
- [ ] disassociate_delegation_signer_from_domain
- [ ] enable_domain_auto_renew
- [ ] enable_domain_transfer_lock
- [ ] get_contact_reachability_status
- [ ] get_domain_detail
- [ ] get_domain_suggestions
- [ ] get_operation_detail
- [X] list_domains
- [X] list_operations
- [ ] list_prices
- [ ] list_tags_for_domain
- [ ] push_domain
- [X] register_domain
- [ ] reject_domain_transfer_from_another_aws_account
- [ ] renew_domain
- [ ] resend_contact_reachability_email
- [ ] resend_operation_authorization
- [ ] retrieve_domain_auth_code
- [ ] transfer_domain
- [ ] transfer_domain_to_another_aws_account
- [ ] update_domain_contact
- [ ] update_domain_contact_privacy
- [X] update_domain_nameservers
- [ ] update_tags_for_domain
- [ ] view_billing
</details>

## route53resolver
<details>
<summary>27% implemented</summary>
Expand Down Expand Up @@ -6469,7 +6509,7 @@

## s3
<details>
<summary>66% implemented</summary>
<summary>67% implemented</summary>

- [X] abort_multipart_upload
- [X] complete_multipart_upload
Expand Down Expand Up @@ -6567,6 +6607,8 @@
- [X] put_public_access_block
- [ ] restore_object
- [X] select_object_content
- [X] upload_file
- [X] upload_fileobj
- [X] upload_part
- [X] upload_part_copy
- [ ] write_get_object_response
Expand Down Expand Up @@ -7945,6 +7987,7 @@
- bedrock-runtime
- billingconductor
- braket
- chatbot
- chime
- chime-sdk-identity
- chime-sdk-media-pipelines
Expand Down Expand Up @@ -8122,7 +8165,6 @@
- route53-recovery-cluster
- route53-recovery-control-config
- route53-recovery-readiness
- route53domains
- rum
- s3outposts
- sagemaker-a2i-runtime
Expand Down
1 change: 1 addition & 0 deletions docs/docs/services/ce.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ ce
- [ ] get_anomalies
- [ ] get_anomaly_monitors
- [ ] get_anomaly_subscriptions
- [ ] get_approximate_usage_records
- [X] get_cost_and_usage

There is no validation yet on any of the input parameters.
Expand Down
12 changes: 9 additions & 3 deletions docs/docs/services/cf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -113,15 +113,21 @@ Please let us know if you'd like support for a resource not yet listed here.
+---------------------------------------+--------+--------+--------+----------------------------------------+
|AWS::ECS::TaskDefinition | x | x | | - [ ] TaskDefinitionArn |
+---------------------------------------+--------+--------+--------+----------------------------------------+
|AWS::EFS::FileSystem | x | x | x | - [ ] FileSystemId |
|AWS::EFS::AccessPoint | x | | | - [ ] AccessPointId |
+---------------------------------------+--------+--------+--------+ - [ ] Arn |
| | | | | |
+---------------------------------------+--------+--------+--------+----------------------------------------+
|AWS::EFS::FileSystem | x | | x | - [ ] FileSystemId |
+---------------------------------------+--------+--------+--------+ - [ ] Arn |
| | | | | |
+---------------------------------------+--------+--------+--------+----------------------------------------+
|AWS::EFS::MountTarget | x | x | x | - [ ] IpAddress |
+---------------------------------------+--------+--------+--------+ - [ ] Id |
| | | | | |
+---------------------------------------+--------+--------+--------+----------------------------------------+
|AWS::EMR::Cluster | x | | | - [ ] MasterPublicDNS |
|AWS::EMR::Cluster | x | | x | - [ ] MasterPublicDNS |
+---------------------------------------+--------+--------+--------+----------------------------------------+
|AWS::EMR::SecurityConfiguration | x | | x | |
+---------------------------------------+--------+--------+--------+----------------------------------------+
|AWS::Events::Archive | x | x | | - [x] Arn |
+---------------------------------------+--------+--------+--------+----------------------------------------+
Expand All @@ -148,7 +154,7 @@ Please let us know if you'd like support for a resource not yet listed here.
|AWS::IAM::Policy | | | | - [ ] Id |
+---------------------------------------+--------+--------+--------+----------------------------------------+
|AWS::IAM::Role | x | | x | - [x] Arn |
+---------------------------------------+--------+--------+--------+ - [ ] RoleId |
+---------------------------------------+--------+--------+--------+ - [x] RoleId |
| | | | | |
+---------------------------------------+--------+--------+--------+----------------------------------------+
|AWS::IAM::User | x | x | x | - [x] Arn |
Expand Down
2 changes: 0 additions & 2 deletions docs/docs/services/firehose.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ firehose
are not currently processed/implemented.


- [ ] get_kinesis_stream
- [X] list_delivery_streams
Return list of delivery streams in alphabetic order of names.

Expand All @@ -55,5 +54,4 @@ firehose
Removes tags from specified delivery stream.

- [X] update_destination
- [ ] verify_resources_exist_for_tagris

1 change: 1 addition & 0 deletions docs/docs/services/medialive.rst
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ medialive
- [ ] purchase_offering
- [ ] reboot_input_device
- [ ] reject_input_device_transfer
- [ ] restart_channel_pipelines
- [X] start_channel
- [ ] start_input_device
- [ ] start_input_device_maintenance_window
Expand Down
55 changes: 55 additions & 0 deletions docs/docs/services/route53domains.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
.. _implementedservice_route53domains:

.. |start-h3| raw:: html

<h3>

.. |end-h3| raw:: html

</h3>

==============
route53domains
==============

.. autoclass:: moto.route53domains.models.Route53DomainsBackend

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

- [ ] accept_domain_transfer_from_another_aws_account
- [ ] associate_delegation_signer_to_domain
- [ ] cancel_domain_transfer_to_another_aws_account
- [ ] check_domain_availability
- [ ] check_domain_transferability
- [X] delete_domain
- [ ] delete_tags_for_domain
- [ ] disable_domain_auto_renew
- [ ] disable_domain_transfer_lock
- [ ] disassociate_delegation_signer_from_domain
- [ ] enable_domain_auto_renew
- [ ] enable_domain_transfer_lock
- [ ] get_contact_reachability_status
- [ ] get_domain_detail
- [ ] get_domain_suggestions
- [ ] get_operation_detail
- [X] list_domains
- [X] list_operations
- [ ] list_prices
- [ ] list_tags_for_domain
- [ ] push_domain
- [X] register_domain
Register a domain

- [ ] reject_domain_transfer_from_another_aws_account
- [ ] renew_domain
- [ ] resend_contact_reachability_email
- [ ] resend_operation_authorization
- [ ] retrieve_domain_auth_code
- [ ] transfer_domain
- [ ] transfer_domain_to_another_aws_account
- [ ] update_domain_contact
- [ ] update_domain_contact_privacy
- [X] update_domain_nameservers
- [ ] update_tags_for_domain
- [ ] view_billing

3 changes: 3 additions & 0 deletions docs/docs/services/s3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,11 @@ s3
- EventBridge

For the following events:
- 's3:ObjectCreated:CompleteMultipartUpload'
- 's3:ObjectCreated:Copy'
- 's3:ObjectCreated:Post'
- 's3:ObjectCreated:Put'
- 's3:ObjectDeleted'


- [X] put_bucket_ownership_controls
Expand Down
13 changes: 13 additions & 0 deletions moto/s3/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2336,8 +2336,11 @@ def put_bucket_notification_configuration(
- EventBridge
For the following events:
- 's3:ObjectCreated:CompleteMultipartUpload'
- 's3:ObjectCreated:Copy'
- 's3:ObjectCreated:Post'
- 's3:ObjectCreated:Put'
- 's3:ObjectDeleted'
"""
bucket = self.get_bucket(bucket_name)
bucket.set_notification_configuration(notification_config)
Expand Down Expand Up @@ -2851,6 +2854,16 @@ def select_object_content(
for x in query_result
]

def upload_file(self) -> None:
# Listed for the implementation coverage
# Implementation part of responses.py
pass

def upload_fileobj(self) -> None:
# Listed for the implementation coverage
# Implementation part of responses.py
pass


class S3BackendDict(BackendDict[S3Backend]):
"""
Expand Down

0 comments on commit e3330af

Please sign in to comment.