Bird
Raised Fist0
Terraformcloud~5 mins

File naming conventions (.tf files) in Terraform - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
Why should Terraform configuration files use the .tf extension?
Terraform recognizes files with the .tf extension as configuration files. This helps Terraform load and process them correctly when running commands.
Click to reveal answer
beginner
What is a good practice for naming Terraform files to keep configurations organized?
Use descriptive names that reflect the purpose, like network.tf for networking resources or variables.tf for variable definitions. This makes it easier to find and manage code.
Click to reveal answer
beginner
Can you use multiple .tf files in one Terraform project folder?
Yes. Terraform automatically loads all .tf files in a folder and combines them. This allows splitting configuration into smaller, manageable parts.
Click to reveal answer
intermediate
Should Terraform files be named with numbers or special characters for ordering?
No. Terraform does not require numbered or special character prefixes. It processes all files together regardless of name order. Use clear descriptive names instead.
Click to reveal answer
intermediate
What file extension is used for Terraform variable values and why?
Terraform uses .tfvars files to store variable values separately from configuration. This helps keep sensitive or environment-specific data organized and secure.
Click to reveal answer
Which file extension should Terraform configuration files have?
A.txt
B.json
C.tf
D.conf
How does Terraform handle multiple .tf files in the same folder?
AIt ignores files with similar names
BIt only loads the first file alphabetically
CIt requires files to be numbered to load
DIt loads and combines all .tf files automatically
What is a recommended naming style for Terraform files?
ADescriptive names like network.tf or variables.tf
BRandom numbers like 001.tf, 002.tf
CUsing spaces and special characters
DUsing uppercase extensions like .TF
Which file extension is used for storing Terraform variable values?
A.tfvars
B.tf
C.var
D.json
Is it necessary to number Terraform files to control their load order?
AYes, numbering controls load order
BNo, Terraform loads all files together regardless of name
COnly if files are in different folders
DYes, but only for .tfvars files
Explain why using descriptive file names for Terraform .tf files is important.
Think about how you find files on your computer.
You got /4 concepts.
    Describe how Terraform processes multiple .tf files in a project folder.
    Imagine putting puzzle pieces together.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following is the most common file name used to define the main Terraform configuration?
      easy
      A. terraform.tf
      B. config.tf
      C. setup.tf
      D. main.tf

      Solution

      1. Step 1: Understand common Terraform file names

        The main Terraform configuration is typically placed in a file named main.tf to keep it clear and standard.
      2. Step 2: Compare options with common practice

        Among the options, only main.tf is widely recognized and recommended for the main configuration.
      3. Final Answer:

        main.tf -> Option D
      4. Quick Check:

        Main configuration file = main.tf [OK]
      Hint: Main config file is usually named main.tf [OK]
      Common Mistakes:
      • Choosing uncommon names like config.tf
      • Using generic names like terraform.tf
      • Confusing setup files with main config
      2. Which file name is conventionally used to declare input variables in Terraform?
      easy
      A. variables.tf
      B. inputs.tf
      C. vars.tf
      D. params.tf

      Solution

      1. Step 1: Identify the standard file for input variables

        Terraform commonly uses variables.tf to declare input variables for clarity and consistency.
      2. Step 2: Check other options for correctness

        Other names like inputs.tf, vars.tf, and params.tf are not standard and may confuse team members.
      3. Final Answer:

        variables.tf -> Option A
      4. Quick Check:

        Input variables file = variables.tf [OK]
      Hint: Input variables go in variables.tf file [OK]
      Common Mistakes:
      • Using inputs.tf instead of variables.tf
      • Shortening to vars.tf which is non-standard
      • Naming it params.tf which is unclear
      3. Given these files in a Terraform project: main.tf, variables.tf, and outputs.tf, what is the purpose of outputs.tf?
      medium
      A. To define the resources to create
      B. To declare input variables
      C. To specify values to show after apply
      D. To configure backend storage

      Solution

      1. Step 1: Understand the role of outputs.tf

        The outputs.tf file is used to declare output values that Terraform will display after applying the configuration.
      2. Step 2: Differentiate from other files

        main.tf defines resources, variables.tf declares inputs, and backend configuration is usually in backend.tf or inside main.tf.
      3. Final Answer:

        To specify values to show after apply -> Option C
      4. Quick Check:

        outputs.tf shows output values [OK]
      Hint: Outputs.tf shows results after apply [OK]
      Common Mistakes:
      • Confusing outputs.tf with variables.tf
      • Thinking outputs.tf defines resources
      • Assuming outputs.tf configures backend
      4. You have a Terraform project with files named main.tf, variables.tf, and output.tf. Why might this violate standard conventions?
      medium
      A. Because main.tf must contain outputs
      B. Because the outputs file is misnamed; it should be outputs.tf
      C. Because variables.tf is missing output declarations
      D. Because Terraform requires outputs in a .json file

      Solution

      1. Step 1: Check file naming conventions for outputs

        The conventional file name for outputs is outputs.tf (plural). Naming it output.tf (singular) violates standard conventions.
      2. Step 2: Understand Terraform file loading

        Terraform loads all .tf files regardless of name for functionality, but standard names improve clarity and teamwork.
      3. Final Answer:

        Because the outputs file is misnamed; it should be outputs.tf -> Option B
      4. Quick Check:

        outputs file = outputs.tf [OK]
      Hint: Outputs file should be named outputs.tf [OK]
      Common Mistakes:
      • Assuming outputs can be in variables.tf
      • Thinking main.tf must have outputs
      • Expecting outputs in JSON files
      5. You want to organize a large Terraform project by splitting configurations into multiple files. Which naming approach best supports teamwork and maintenance?
      hard
      A. Use descriptive names like network.tf, compute.tf, variables.tf, outputs.tf
      B. Name all files config1.tf, config2.tf, config3.tf for simplicity
      C. Put all code in main.tf to avoid confusion
      D. Use random names to avoid predictable patterns

      Solution

      1. Step 1: Consider clarity and teamwork in file naming

        Descriptive file names like network.tf and compute.tf help team members quickly find and understand code sections.
      2. Step 2: Evaluate other naming options

        Generic names like config1.tf or random names cause confusion and make maintenance harder. Putting all code in one file reduces clarity.
      3. Final Answer:

        Use descriptive names like network.tf, compute.tf, variables.tf, outputs.tf -> Option A
      4. Quick Check:

        Descriptive file names improve teamwork [OK]
      Hint: Use clear, descriptive file names for easier teamwork [OK]
      Common Mistakes:
      • Using numbered or random file names
      • Putting all code in one file
      • Ignoring naming conventions for clarity