Skip to content
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

resource/aws_appautoscaling_policy: Support additional predefined metric types in validation #3122

Merged
merged 1 commit into from
Jan 26, 2018

Conversation

bflad
Copy link
Contributor

@bflad bflad commented Jan 24, 2018

Closes #3112

Validation of the attributes for aws_appautoscaling_policy has been a mixed bag of requests for the validation at plan time and issues like this where the validation is not up to date. Ideally, we would perform some type of compile time reflection of these applicationautoscaling.MetricType* constants instead, but this at least brings us up to all the currently supported predefined metrics types and adds unit testing.

make test TEST=./aws TESTARGS='-run=TestValidateAppautoscalingPredefinedMetricSpecification'
==> Checking that code complies with gofmt requirements...
go test ./aws -timeout=30s -parallel=4
ok  	github.com/terraform-providers/terraform-provider-aws/aws	1.800s

@bflad bflad added bug Addresses a defect in current functionality. service/applicationautoscaling labels Jan 24, 2018
Copy link
Member

@radeksimko radeksimko left a comment

Choose a reason for hiding this comment

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

LGTM, but I'd probably prefer a more future-proof solution as mentioned in my comment.

I'll leave it up to you though.

applicationautoscaling.MetricTypeEcsserviceAverageCpuutilization,
applicationautoscaling.MetricTypeEcsserviceAverageMemoryUtilization,
applicationautoscaling.MetricTypeRdsreaderAverageCpuutilization,
applicationautoscaling.MetricTypeRdsreaderAverageDatabaseConnections,
Copy link
Member

Choose a reason for hiding this comment

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

Something tells me this list is going to continue to grow and we just shouldn't be validating it at all, instead of playing catch up with Amazon... 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I agree with you for the most part. Its a challenge of better user experience (plan-time validation and requiring provider updates) vs development time (SDK not providing a quick way to get the full list of them). Since this PR is approved and we're planning on releasing today, I'll bring this one in as-is to at least fix the current state of the world, then will followup with a PR to remove the validation completely. We'll see if it lands in time for today as well.

As a separate pet project I will likely try to automatically go generate these from the SDK as I personally have found the plan-time validation to helpful and this type of generation would be applicable in a few other places. Then again I also always kept my AWS provider up to date in my environments.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As noted, followup PR to remove validation (if we want to): #3141

@bflad bflad merged commit 8d14082 into master Jan 26, 2018
@bflad bflad deleted the b-aws_appautoscaling_policy-more-metric-validation branch January 26, 2018 11:59
bflad added a commit that referenced this pull request Jan 26, 2018
@bflad
Copy link
Contributor Author

bflad commented Jan 29, 2018

This has been released in terraform-provider-aws version 1.8.0. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

@bflad bflad added this to the v1.8.0 milestone Jan 29, 2018
@ghost
Copy link

ghost commented Apr 8, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks!

@ghost ghost locked and limited conversation to collaborators Apr 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Addresses a defect in current functionality.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ECS Target Tracking AutoScaling
2 participants