feat(ecs-patterns) expose ALB idleTimeout property#21221
feat(ecs-patterns) expose ALB idleTimeout property#21221michaeldrey wants to merge 8 commits intoaws:mainfrom
Conversation
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
There was a problem hiding this comment.
Thank you for your contribution. This looks like really excellent work (and includes everything I ever ask for in terms of tests and documentation updates). 120 files, however, makes it hard to provide a meaningful and thorough review. Could you please split this up into multiple PRs so that we can review them more effectively? For instance, I see that some test changes are just a correction of a typo. Great catch, but those could be their own PR to reduce the noise.
Also to cut down the number of files, I noticed that some files just include spacing changes. I don't think most of those are necessary, but the ones that are could go in the same PR as the typo fixes. I think I would generally split this into three:
- The typo/formatting fixes.
- The change to application-load-balanced-service-base.ts and corresponding tests.
- The change to application-multiple-target-groups-service-base.ts and corresponding tests.
|
@TheRealAmazonKendra Thanks for the quick response! You have a great point, this has kind of snowballed a bit. I will begin splitting this out into the PR's you've suggested |
Thank you! I know it can be kind of a pain in the ass to split up a PR once you've got it all prepared. I appreciate your efforts here. |
…nstruct (#21237) Currently when you run `yarn build+test+extract`, integration tests all fail with `No stack found for test x`. This PR updates all the integration tests to the new standard using `integ-runner` + `integ-tests` libraries. Integration tests tend to generate a lot of files for the snapshot, hence the 111 files in the PR. This PR is breaking up my previous PR, #21221 ---- ### All Submissions: * [ ] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [x] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [x] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
A few integration tests slipped under the radar and were not updated with the new integ-tests library. Also corrected typos. Relates to: #21237 #21221 ---- ### All Submissions: * [x] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [x] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [x] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…nstruct (aws#21237) Currently when you run `yarn build+test+extract`, integration tests all fail with `No stack found for test x`. This PR updates all the integration tests to the new standard using `integ-runner` + `integ-tests` libraries. Integration tests tend to generate a lot of files for the snapshot, hence the 111 files in the PR. This PR is breaking up my previous PR, aws#21221 ---- ### All Submissions: * [ ] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [x] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [x] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
A few integration tests slipped under the radar and were not updated with the new integ-tests library. Also corrected typos. Relates to: aws#21237 aws#21221 ---- ### All Submissions: * [x] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [x] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [x] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
|
@michaeldrey Do you plan to make any updates to this PR or just the other two that came out of this? If the latter, let's close this one so we don't have extra PRs open that we're not going to review. |
|
@TheRealAmazonKendra I'll close this one as the other two capture all the features in this PR. |
…21261) This PR exposes the idleTime property for both EC2 and Fargate ALB services. [Per the CFN specs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattributes.html), I have set the idleTimeout to default to 60 seconds, and it cannot exceed 4000 seconds. If no value is provided we set the value to undefined. We do this because: 1. The default value is set for the user via the CFN. The behavior for the property is to either add a value or leave it undefined and let CFN set the default.[ See here](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-load-balancer.ts#L102) 2. Setting a default causes snapshot tests to fail for dependent services as we're adding a new attribute to the cloudformation. A README entry has been created for this property. Relates to #21221 #21266 closes #12913 ---- ### All Submissions: * [x] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [x] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [x] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…ices (#21266) This PR exposes the idleTime property for both EC2 and Fargate **multi** ALB services. [Per the CFN specs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattributes.html), I have set the idleTimeout to default to 60 seconds, and it cannot exceed 4000 seconds. If no value is provided we set the value to undefined. We do this because: 1. The default value is set for the user via the CFN. The behavior for the property is to either add a value or leave it undefined and let CFN set the default.[ See here](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-load-balancer.ts#L102) 2. Setting a default causes snapshot tests to fail for dependent services as we're adding a new attribute to the cloudformation. A README entry has been created for this property. Relates to #21221 #21261 closes #12913 ---- ### All Submissions: * [x] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [x] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [x] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This PR exposes the idleTime property for both EC2 and Fargate, and the MultiTargetGroup ALB services. Per the CFN specs, I have set the idleTimeout to default to 60 seconds, and it cannot exceed 4000 seconds.
If no value is provided we set the value to undefined. We do this because:
In addition to this, I've updated all the Integ tests to a working state (would not build otherwise) and added working tests for all cases listed above.
Lastly I've added two examples to the README.
closes #12913
All Submissions:
Adding new Unconventional Dependencies:
New Features
yarn integto deploy the infrastructure and generate the snapshot (i.e.yarn integwithout--dry-run)?By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license