Frequently Asked Questions
Relevant source files
The following files were used as context for generating this wiki page:The Terraform AWS provider is a plugin for Terraform that enables the complete lifecycle management of AWS resources. It is internally maintained by the HashiCorp AWS Provider team. This page consolidates answers to frequently asked questions from users and contributors, drawing from various project documents to provide a centralized source of information.
The project provides multiple avenues for support and information, including comprehensive documentation, community forums, and a public roadmap. For specific questions not covered here, users are encouraged to consult the official FAQ document.
Sources: README.md:1-26, docs/contributing/faq.md
General Information & Support
Users and contributors have several resources available for documentation, support, and community interaction. The primary entry point is the project's main documentation, but specialized channels exist for different types of inquiries.
Sources: README.md:10-20, internal/service/fms/README.md:6-10
Key Resources
The following table summarizes the main channels for information and community engagement.
| Resource | Description | Link |
|---|---|---|
| Website | Official Terraform project page. | terraform.io |
| Tutorials | Guided learning for getting started. | learn.hashicorp.com |
| Forum | Official discussion forum for the AWS provider. | discuss.hashicorp.com |
| Chat | Real-time community chat on Gitter. | gitter.im/hashicorp-terraform/Lobby |
| Mailing List | Google Group for Terraform-related announcements and discussions. | Google Groups |
| Documentation | Comprehensive provider documentation. | terraform.io/docs/providers/aws/index.html |
| Roadmap | Quarterly published development roadmap. | ROADMAP.md |
| FAQ | Official Frequently Asked Questions document. | FAQ |
Sources: README.md:10-26, README.md:37-39
Information Discovery Flow
This diagram illustrates the recommended path for a user or contributor seeking information about the provider.
Sources: README.md:22-42
Security Disclosures
If you believe you have found a security issue in the Terraform AWS Provider, please responsibly disclose it by contacting the team at security@hashicorp.com.
Sources: README.md:27-28
Issue and Pull Request Management
The project uses GitHub labels to manage and triage incoming issues and pull requests. Understanding these labels can help contributors and users track the status of their submissions.
Sources: infrastructure/repository/labels-workflow.tf
Issue Lifecycle for Questions
When an issue is identified as a question, it typically follows a specific workflow, which may involve redirecting the user to a more appropriate community forum.
This diagram shows the typical lifecycle of an issue filed as a question.
Sources: infrastructure/repository/labels-workflow.tf:20-22, infrastructure/repository/labels-workflow.tf:68-73, infrastructure/repository/labels-workflow.tf:89-92
Common Workflow Labels
The following labels are frequently used to categorize and manage issues and pull requests.
| Label | Description |
|---|---|
bug | Addresses a defect in current functionality. |
enhancement | Requests to existing resources that expand functionality or scope. |
question | A question about existing functionality; most are re-routed to discuss.hashicorp.com. |
good first issue | A call to action for new contributors; smaller or straightforward issues. |
needs-triage | Waiting for the first response or review from a maintainer. |
waiting-response | Maintainers are waiting for a response from the community or contributor. |
breaking-change | Introduces a breaking change in current functionality. |
documentation | Introduces or discusses updates to documentation. |
new-resource | Introduces a new resource. |
new-data-source | Introduces a new data source. |
Sources: infrastructure/repository/labels-workflow.tf:14-107
Contributing to the Provider
The project welcomes contributions from the community. A typical contribution involves forking the repository, making changes, and submitting a pull request.
Sources: providerlint/vendor/google.golang.org/appengine/CONTRIBUTING.md:1-12
Contribution Workflow
The following sequence diagram outlines the high-level steps for contributing code.
This diagram shows the standard fork-and-pull model used for contributions.
Sources: providerlint/vendor/google.golang.org/appengine/CONTRIBUTING.md:4-12, infrastructure/repository/labels-workflow.tf:68-70
Contributor Agreements and Conduct
Before a pull request can be accepted, contributors may need to sign a Contributor License Agreement (CLA). All contributors and maintainers are expected to adhere to the project's Code of Conduct, which is adapted from the Contributor Covenant. This code is designed to foster an open, welcoming, and harassment-free community.
Sources: providerlint/vendor/google.golang.org/appengine/CONTRIBUTING.md:25-69
Project Roadmap
The team publishes a quarterly roadmap to highlight areas of focus. This provides transparency into what new services, enhancements, and research are being prioritized.
Sources: ROADMAP.md:1-12
Roadmap Planning
- Frequency: The roadmap is updated every few months (e.g., quarterly).
- Selection: Items are chosen from top community issues, core service enhancements, and internal priorities.
- Scope: The roadmap describes the team's focus but does not include all work that will be performed. Community PRs and other features are still merged weekly.
Sources: ROADMAP.md:3-12
Example Roadmap Items (Feb 2022 - Apr 2022)
The roadmap provides specific goals for new services and enhancements.
| Category | Example Item | GitHub Issue |
|---|---|---|
| New Service | AWS AppFlow | #16253 |
| New Service | Amazon Global Networks | #11132 |
| Enhancement | Support for time-based retention policies in DLM | #11456 |
| Enhancement | default_tags always shows an update | #18311 |
| Research Topic | Scaffolding for new resources, datasources, and tests | N/A |
Sources: ROADMAP.md:27-101