-
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
docs/contributing: Add Data Sources section to Provider Design page #17546
Conversation
This quick section is designed to explain the "in words" design methodology behind singular versus plural data sources.
c019282
to
a1c2cde
Compare
|
||
#### Plural Data Sources | ||
|
||
These data sources are intended to return zero, one, or many results, usually associated with a managed resource type. Typically results are a set unless ordering guarantees are provided by the remote system. These should be named with a plural suffix (e.g. `s` or `es`) and should not include any specific attribute in the naming (e.g. prefer `aws_ec2_transit_gateways` instead of `aws_ec2_transit_gateway_ids`). |
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.
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.
Yep, this documentation serves to move towards standardizing data source behaviors in a consistent manner across the provider. Eventually we can (and should) go back through any implementations not following this guidance and remove errors for zero results in plural data sources.
Previously, the Terraform CLI maintainers were hesitant with zero result data sources due to their graph placement and the potential for unexpected behaviors, but since Terraform CLI 0.14 includes these nodes in the graph just like managed resources, it is a little safer to rely on the attribute values further down the graph.
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.
Awesome! 🚀
This has been released in version 3.28.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
This quick section is designed to explain the "in words" design methodology behind singular versus plural data sources. Since this documentation is not adding too much beyond the upstream Terraform documentation except the newer concept of plural data sources. It will likely be upstreamed in the future as it is generally applicable to the Terraform ecosystem.
Output from acceptance testing: N/A (documentation)