-
Notifications
You must be signed in to change notification settings - Fork 9.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add LoadBasedAutoscaling to OpsWorks Layer #10962
Add LoadBasedAutoscaling to OpsWorks Layer #10962
Conversation
Pull request #21306 has significantly refactored the AWS Provider codebase. As a result, most PRs opened prior to the refactor now have merge conflicts that must be resolved before proceeding. Specifically, PR #21306 relocated the code for all AWS resources and data sources from a single We recognize that many pull requests have been open for some time without yet being addressed by our maintainers. Therefore, we want to make it clear that resolving these conflicts in no way affects the prioritization of a particular pull request. Once a pull request has been prioritized for review, the necessary changes will be made by a maintainer -- either directly or in collaboration with the pull request author. For a more complete description of this refactor, including examples of how old filepaths and function names correspond to their new counterparts: please refer to issue #20000. For a quick guide on how to amend your pull request to resolve the merge conflicts resulting from this refactor and bring it in line with our new code patterns: please refer to our Service Package Refactor Pull Request Guide. |
This reverts commit e8c609c.
ccdf604
to
2d2351e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀.
% make testacc TESTARGS='-run=TestAccOpsWorksCustomLayer_' PKG=opsworks ACCTEST_PARALLELISM=2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/opsworks/... -v -count 1 -parallel 2 -run=TestAccOpsWorksCustomLayer_ -timeout 180m
=== RUN TestAccOpsWorksCustomLayer_basic
=== PAUSE TestAccOpsWorksCustomLayer_basic
=== RUN TestAccOpsWorksCustomLayer_update
=== PAUSE TestAccOpsWorksCustomLayer_update
=== RUN TestAccOpsWorksCustomLayer_cloudWatch
=== PAUSE TestAccOpsWorksCustomLayer_cloudWatch
=== RUN TestAccOpsWorksCustomLayer_loadBasedAutoScaling
=== PAUSE TestAccOpsWorksCustomLayer_loadBasedAutoScaling
=== CONT TestAccOpsWorksCustomLayer_basic
=== CONT TestAccOpsWorksCustomLayer_cloudWatch
--- PASS: TestAccOpsWorksCustomLayer_basic (40.65s)
=== CONT TestAccOpsWorksCustomLayer_update
--- PASS: TestAccOpsWorksCustomLayer_cloudWatch (80.40s)
=== CONT TestAccOpsWorksCustomLayer_loadBasedAutoScaling
--- PASS: TestAccOpsWorksCustomLayer_update (68.86s)
--- PASS: TestAccOpsWorksCustomLayer_loadBasedAutoScaling (66.39s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/opsworks 150.877s
@xsalazar Thanks for the contribution 🎉 👏. |
Wow, thanks @ewbankkit for seeing this one through! 🎉 |
This functionality has been released in v4.35.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you! |
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Summary
This PR adds the capability to define load-based autoscaling settings for OpsWorks Layers. These settings will be used for any OpsWorks Instance within the layer defined as a "load"-type Instance as to when to spin them up.
It is worth noting that the AWS API around these settings, sets default values which are non-intuitive and not well documented. By default, right now, these settings are set as follows within the AWS API when creating a brand new OpsWorks Layer from scratch:
Note the default values, as well as the
Enable
flag set to false.Even if you don't want to enable this setting, but try to apply the disabled Threshold values as -1 (disabled), the AWS API will throw an exception:
This behavior is undocumented, but it seems as if at least one threshold value must be set, even if the load-based autoscaling is disabled all together.
Given this behavior and the limitations around inter-argument dependencies in the language, I have tried to handle as many combinations of incorrect states as best as possible, but it was difficult to find an existing pattern for this type of handling.
Community Note
Related PRs and Issues
#3165
#2228
Release Notes
Release note for CHANGELOG:
Test
Output from acceptance testing: