# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1

name: Feature Request
description: Suggest a new feature or other enhancement.
labels: ["enhancement", "new"]
body:
  - type: markdown
    attributes:
      value: |
        # Thank you for opening a feature request.

        The [hashicorp/terraform](https://github.com/hashicorp/terraform) issue tracker is reserved for feature requests relating to the core Terraform CLI application and configuration language.

        For general usage questions, please see the [Community Forum](https://discuss.hashicorp.com/c/terraform-core/27).

        ## If your feature request relates to:
        * **HCP Terraform or Terraform Enterprise**: please email tf-cloud@hashicorp.support or [open a new request](https://support.hashicorp.com/hc/en-us/requests/new).
        * **AWS Terraform Provider**: Open an issue at [hashicorp/terraform-provider-aws](https://github.com/hashicorp/terraform-provider-aws/issues/new/choose).
        * **Azure Terraform Provider**: Open an issue at [hashicorp/terraform-provider-azurerm](https://github.com/hashicorp/terraform-provider-azurerm/issues/new/choose).
        * **Other Terraform Providers**: Please open an issue in the provider's own repository, which can be found by searching the [Terraform Registry](https://registry.terraform.io/browse/providers).

  - type: textarea
    id: tf-version
    attributes:
      label: Terraform Version
      description: Run `terraform version` to show the version, and paste the result below. If you're not using the latest version, please check to see if something related to your request has already been implemented in a later version.
      render: shell
      placeholder: ...output of `terraform version`...
      value:
    validations:
      required: true

  - type: textarea
    id: tf-use-case
    attributes:
      label: Use Cases
      description: |
        In order to properly evaluate a feature request, it is necessary to understand the use cases for it.
        Please describe below the _end goal_ you are trying to achieve that has led you to request this feature.
        Please keep this section focused on the problem and not on the suggested solution. We'll get to that in a moment, below!
      placeholder:
      value:
    validations:
      required: true

  - type: textarea
    id: tf-attempted-solution
    attributes:
      label: Attempted Solutions
      description: |
          If you've already tried to solve the problem within Terraform's existing features and found a limitation that prevented you from succeeding, please describe it below in as much detail as possible.
          Ideally, this would include real configuration snippets that you tried, real Terraform command lines you ran, and what results you got in each case.
          Please remove any sensitive information such as passwords before sharing configuration snippets and command lines.
      placeholder:
      value:
    validations:
      required: true

  - type: textarea
    id: tf-proposal
    attributes:
      label: Proposal
      description: |
          If you have an idea for a way to address the problem via a change to Terraform features, please describe it below.
          In this section, it's helpful to include specific examples of how what you are suggesting might look in configuration files, or on the command line, since that allows us to understand the full picture of what you are proposing.
          If you're not sure of some details, don't worry! When we evaluate the feature request we may suggest modifications as necessary to work within the design constraints of Terraform Core.
      placeholder:
      value:
    validations:
      required: false

  - type: textarea
    id: tf-references
    attributes:
      label: References
      description: |
        Are there any other GitHub issues, whether open or closed, that are related to the problem you've described above or to the suggested solution? If so, please create a list below that mentions each of them. For example:
        ```
          - #6017
        ```
      placeholder:
      value:
    validations:
      required: false

  - type: markdown
    attributes:
      value: |
        **Note:** If the submit button is disabled and you have filled out all required fields, please check that you did not forget a **Title** for the issue.
