Guide to asking for help in this forum

Hello! Welcome to the Terraform community forum. :wave:

There are a few different categories in this forum and choosing the most relevant category will increase the chance that you’ll reach someone who is familiar with what you are asking:

When thinking about which category to use, ask yourself the question “what existing experience might someone need to have to answer this question?”. For example, if someone who has never used Amazon Web Services couldn’t answer your question because it concerns AWS functionality, then the AWS Provider Category is likely the best choice, because that’s the category where other folks who use AWS are most likely to participate.

This forum is primarily for folks in the Terraform community to help one another by sharing their experiences, although some Terraform team members do sometimes also contribute here.

If you are a Terraform Cloud or Terraform Enterprise user and you have a problem that is specific to how you’ve configured your account or workspace, we recommend contacting HashiCorp Support instead of posting in this forum, because the support team can offer personalized guidance. This forum works better for broad and general questions that might be applicable to lots of different people.


What to share when asking a question

The most common problem for folks asking questions in this forum is not sharing enough information. If other participants can’t see clearly what you are intending to achieve, what you’ve tried already, and how Terraform behaved when you tried it then they are less likely to try to help.

The best questions in this forum follow the following format:

  • Describe clearly and thoroughly what your original goal is.

    By the time you’re asking the question you might be several steps away from your original goal, now focused on a particular solution you’ve identified. But the solution you’ve already chosen might not actually be the most appropriate, so it’s better to state the overall problem you are trying to solve.

    (For more information on the common mistake of asking about the wrong problem, see XY Problem.)

  • Show what you tried already.

    For best results, reduce your code down to the smallest example that still shows the problem and then share that entire example. It can be tempting to leave things out that don’t seem relevant, but often folks leave out too much and so make their question hard or impossible to answer.

    If you do include only a subset of the code you wrote and the commands you ran, make sure that the subset you shared can be used to reproduce the same behavior you saw, rather than raising some other unrelated error.

    Relatedly, when you include code in the forum you must use code block fences ``` to delimit it so that the forum will render it properly. The <> icon in the editor toolbar, labelled “Preformatted Text” and with the keyboard shortcut Ctrl+E, can create the needed fences around the selected text automatically. Don’t just paste code into the box without fencing it, and please don’t share screenshots of code because it’s much harder for a potential contributor to copy your code locally in order to test it, and the code would not be available to anyone who cannot see the image.

  • Show the entire output from Terraform

    Experienced Terraform users can infer a lot of context from Terraform’s detailed output, so if you include the whole output it’s more likely that a reader will be able to identify exactly what went wrong without asking any further questions.

    In particular, if you have a question about why Terraform is planning a particular action – for example, why it’s proposing to destroy an object – it’s important to show exactly what plan output Terraform generated in full. Often the plan for one resource depends on the plan for another, so it’s important to show the entire plan even if your question is only about one resource.

    If you saw an error message, it’s important to include the entire error message exactly as Terraform presented it. Do not summarize the error message or exclude parts of it that don’t seem relevant. And definitely don’t just say “it failed” or “it returned an error” without saying anything about what the error message was.

If you follow the above structure and share all of the information you have available then it’s far more likely that someone will engage with your topic and offer a potential solution.

Thanks!

6 Likes