Skip to content

Conversation

ejafarli
Copy link
Contributor

Issue #, if available:
#1738

Description of changes:
DeadLetterConfig && RetryPolicy are supported as a target feature for an EventBridge Rule.
This pull request implements the changes needed to support it in SAM for CloudWatchEvent/EventBridgeRule and Schedule event sources.

Description of how you validated changes:
Added new tests. Added relevant integration tests into internal package and verified e2e.

Checklist:

  • Write/update tests
  • make pr passes
  • Update documentation
  • Verify transformed template deploys and application functions as expected

Examples?

Please reach out in the comments, if you want to add an example. Examples will be
added to sam init through https://github.com/awslabs/aws-sam-cli-app-templates/

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@codecov-io
Copy link

codecov-io commented Nov 30, 2020

Codecov Report

Merging #1842 (7d7db21) into develop (e3a4641) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1842      +/-   ##
===========================================
- Coverage    94.04%   94.04%   -0.01%     
===========================================
  Files           87       89       +2     
  Lines         5696     5839     +143     
  Branches      1153     1196      +43     
===========================================
+ Hits          5357     5491     +134     
- Misses         156      160       +4     
- Partials       183      188       +5     
Impacted Files Coverage Δ
samtranslator/model/eventbridge_utils.py 100.00% <100.00%> (ø)
samtranslator/model/eventsources/push.py 91.25% <100.00%> (+0.59%) ⬆️
samtranslator/model/sqs.py 95.00% <100.00%> (+1.25%) ⬆️
samtranslator/model/stepfunctions/events.py 91.45% <100.00%> (+2.14%) ⬆️
samtranslator/model/s3_utils/uri_parser.py 69.23% <0.00%> (-2.20%) ⬇️
samtranslator/model/sam_resources.py 92.11% <0.00%> (-1.33%) ⬇️
samtranslator/model/lambda_.py 93.10% <0.00%> (ø)
samtranslator/model/packagetype.py 100.00% <0.00%> (ø)
samtranslator/translator/logical_id_generator.py 100.00% <0.00%> (+9.09%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e3a4641...7d7db21. Read the comment docs.

Copy link
Contributor

@hawflau hawflau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
And really appreciate your effort for writing the tests 👍

Copy link
Contributor

@hoffa hoffa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👌

Copy link
Contributor

@jfuss jfuss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for refactoring. Makes this much easier to maintain!

@hawflau hawflau merged commit 16fa852 into aws:develop Dec 2, 2020
hawflau pushed a commit to hawflau/serverless-application-model that referenced this pull request Jan 15, 2021
…t sources (aws#1842)

* Add DeadLetterConfig,RetryPolicy properties for EventBridgeRule,Schedule event sources

* Minor fix,rename function argument

* Update test class name

* Combine dlq extraction/generation into the utility class

* Remove unused import
hawflau pushed a commit to hawflau/serverless-application-model that referenced this pull request Jan 15, 2021
…t sources (aws#1842)

* Add DeadLetterConfig,RetryPolicy properties for EventBridgeRule,Schedule event sources

* Minor fix,rename function argument

* Update test class name

* Combine dlq extraction/generation into the utility class

* Remove unused import
hawflau added a commit that referenced this pull request Jan 15, 2021
* Support DLQ, RetryPolicy properties for EventBridgeRule,Schedule event sources (#1842)

* Add DeadLetterConfig,RetryPolicy properties for EventBridgeRule,Schedule event sources

* Minor fix,rename function argument

* Update test class name

* Combine dlq extraction/generation into the utility class

* Remove unused import

* fix: propagate condition to sqs queue policy for sqssubscription (#1798)

* fix: propagate condition to sqs queue policy for sqssubscription

* Update unit test for function_event_conditions

* Update black commands in Makefile to check only .py files

* Update test with one more SNS event source with sqsSubscription set

* Revert "Update black commands in Makefile to check only .py files"

This reverts commit 115ff09.

* chore: Remove biased language from pylintrc (#1847)

* fix: Support new CodeDeploy ManagedPolicy (#1858)

* fix: Support new CodeDeploy MangedPolicy in regions without AWSCodeDeployRoleForLambda

CodeDeploy is migrating from AWSCodeDeployRoleForLambda to AWSCodeDeployRoleForLambdaLimited.
Some partitions do not support AWSCodeDeployRoleForLambda and therefore we need to use the newer
one in those partitions. We cannot widely update to AWSCodeDeployRoleForLambdaLimited since this
can cause customer's stacks to fail unexpectedly.

* Forgot to commit unit tests

* Handle PR feedback

Co-authored-by: Jacob Fuss <[email protected]>

* fix: Update Slack invite link (#1877)

Co-authored-by: Jacob Fuss <[email protected]>

* feature: Support for custom checkpointing (#1883)

Co-authored-by: Vinayak <[email protected]>

* Fix: Description in AWS::Serverless::HttpApi (#1884)

* Fix: Description in AWS::Serverless::HttpApi

* Update _set to _add

* Update AWS::S3::Bucket properties (#1885)

* Update AWS::S3::Bucket properties

* Fix type checking validators for AWS::S3::Bucket

* Update to use any_type() in favor of supporing ref

* Fix: Replaced invalid AMQ managed policy by providing policy statements (#1891)

* Fix for invalid MQ event source managed policy

* Fix for invalid managed policy for MQ, included support for new MQ event source property, updated test cases

* Black reformatting

* Test case changes

* Changed policy name

* Modified test cases with new policy name

* chore: bump version 1.34.0 (#1892)

* Fix: SAM crashes method_definition for path is invalid (#1802)

* Fix: SAM crashes method_definition for path is invalid

* Fix: SAM crashes whenmappings is null

* Removed print statement in test_translator

* Fix: Swagger security not a dict

Co-authored-by: Mufaddal Makati <[email protected]>

Co-authored-by: ejafarli <[email protected]>
Co-authored-by: _sam <[email protected]>
Co-authored-by: Jacob Fuss <[email protected]>
Co-authored-by: Jacob Fuss <[email protected]>
Co-authored-by: vinayaksood <[email protected]>
Co-authored-by: Vinayak <[email protected]>
Co-authored-by: Qingchuan Ma <[email protected]>
Co-authored-by: Mufaddal Makati <[email protected]>
Co-authored-by: Mufaddal Makati <[email protected]>
hawflau added a commit that referenced this pull request Jan 30, 2021
* Support DLQ, RetryPolicy properties for EventBridgeRule,Schedule event sources (#1842)

* Add DeadLetterConfig,RetryPolicy properties for EventBridgeRule,Schedule event sources

* Minor fix,rename function argument

* Update test class name

* Combine dlq extraction/generation into the utility class

* Remove unused import

* fix: propagate condition to sqs queue policy for sqssubscription (#1798)

* fix: propagate condition to sqs queue policy for sqssubscription

* Update unit test for function_event_conditions

* Update black commands in Makefile to check only .py files

* Update test with one more SNS event source with sqsSubscription set

* Revert "Update black commands in Makefile to check only .py files"

This reverts commit 115ff09.

* chore: Remove biased language from pylintrc (#1847)

* fix: Support new CodeDeploy ManagedPolicy (#1858)

* fix: Support new CodeDeploy MangedPolicy in regions without AWSCodeDeployRoleForLambda

CodeDeploy is migrating from AWSCodeDeployRoleForLambda to AWSCodeDeployRoleForLambdaLimited.
Some partitions do not support AWSCodeDeployRoleForLambda and therefore we need to use the newer
one in those partitions. We cannot widely update to AWSCodeDeployRoleForLambdaLimited since this
can cause customer's stacks to fail unexpectedly.

* Forgot to commit unit tests

* Handle PR feedback

Co-authored-by: Jacob Fuss <[email protected]>

* fix: Update Slack invite link (#1877)

Co-authored-by: Jacob Fuss <[email protected]>

* feature: Support for custom checkpointing (#1883)

Co-authored-by: Vinayak <[email protected]>

* Fix: Description in AWS::Serverless::HttpApi (#1884)

* Fix: Description in AWS::Serverless::HttpApi

* Update _set to _add

* Update AWS::S3::Bucket properties (#1885)

* Update AWS::S3::Bucket properties

* Fix type checking validators for AWS::S3::Bucket

* Update to use any_type() in favor of supporing ref

* Fix: Replaced invalid AMQ managed policy by providing policy statements (#1891)

* Fix for invalid MQ event source managed policy

* Fix for invalid managed policy for MQ, included support for new MQ event source property, updated test cases

* Black reformatting

* Test case changes

* Changed policy name

* Modified test cases with new policy name

* chore: bump version 1.34.0 (#1892)

* Fix: SAM crashes method_definition for path is invalid (#1802)

* Fix: SAM crashes method_definition for path is invalid

* Fix: SAM crashes whenmappings is null

* Removed print statement in test_translator

* Fix: Swagger security not a dict

Co-authored-by: Mufaddal Makati <[email protected]>

Co-authored-by: ejafarli <[email protected]>
Co-authored-by: _sam <[email protected]>
Co-authored-by: Jacob Fuss <[email protected]>
Co-authored-by: Jacob Fuss <[email protected]>
Co-authored-by: vinayaksood <[email protected]>
Co-authored-by: Vinayak <[email protected]>
Co-authored-by: Qingchuan Ma <[email protected]>
Co-authored-by: Mufaddal Makati <[email protected]>
Co-authored-by: Mufaddal Makati <[email protected]>

Co-authored-by: ejafarli <[email protected]>
Co-authored-by: _sam <[email protected]>
Co-authored-by: Jacob Fuss <[email protected]>
Co-authored-by: Jacob Fuss <[email protected]>
Co-authored-by: vinayaksood <[email protected]>
Co-authored-by: Vinayak <[email protected]>
Co-authored-by: Qingchuan Ma <[email protected]>
Co-authored-by: Mufaddal Makati <[email protected]>
Co-authored-by: Mufaddal Makati <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants