-
Notifications
You must be signed in to change notification settings - Fork 9.3k
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
internal/keyvaluetags: Create {SERVICE}GetTag generator, support EC2 list/get, use in aws_ec2_tag implementation #13745
Conversation
…list/get, use in aws_ec2_tag implementation Reference: #9061 The GetTag generator simplifies the creation of the new individual service tag resources into a consistent implementation. This consistent implementation can be used to automatically generate the service tag resources themselves in the future. Output from acceptance testing: ``` --- PASS: TestAccAWSEc2Tag_basic (485.52s) --- PASS: TestAccAWSEc2Tag_disappears (529.67s) --- PASS: TestAccAWSEc2Tag_Value (588.49s) ```
// The two types must be equivalent. | ||
func ServiceTagType2(serviceName string) string { | ||
switch serviceName { | ||
case "ec2": |
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.
👍
Will allow us to get rid of ec2TagsFromTagDescriptions
:
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.
We could also get rid of ec2TagSpecificationsFromMap
by adding
func (tags KeyValueTags) Ec2TagSpecifications(resourceType string) []*ec2.TagSpecification {
but that's another issue: #13870.
func {{ . | Title }}GetTag(conn {{ . | ClientType }}, identifier string{{ if . | ListTagsInputResourceTypeField }}, resourceType string{{ end }}, key string) (bool, *string, error) { | ||
{{- if . | ListTagsInputFilterIdentifierName }} | ||
input := &{{ . | TagPackage }}.{{ . | ListTagsFunction }}Input{ | ||
Filters: []*{{ . | TagPackage }}.Filter{ |
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.
We should be able to use the namevaluesfilters
functionality from #13313 when that's merged (reminds me I need to get back to that).
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.
From my recent read-up on data templates in Go 😅 , looks great @bflad 🚀
Output of acceptance tests:
--- PASS: TestAccAWSEc2Tag_disappears (436.48s)
--- PASS: TestAccAWSEc2Tag_basic (437.68s)
--- PASS: TestAccAWSEc2Tag_Value (453.68s)
This has been released in version 2.67.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 for triage. Thanks! |
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! |
Community Note
Reference: #9061
Release note for CHANGELOG:
The
{SERVICE}GetTag
generator simplifies the creation of the new individual service tag resources into a consistent implementation. This consistent implementation can be used to automatically generate the service tag resources themselves in the future.Output from acceptance testing: