HashiCorp Terraform-Associate-004 Exam
HashiCorp Certified: Terraform Associate (004) (Page 2 )

Updated On: 4-Feb-2026

Module version is required to reference a module on the Terraform Module Registry.

  1. True
  2. False

Answer(s): B

Explanation:

Module version is optional to reference a module on the Terraform Module Registry. If you omit the version constraint, Terraform will automatically use the latest available version of the module



You ate creating a Terraform configuration which needs to make use of multiple providers, one for AWS and one for Datadog.
Which of the following provider blocks would allow you to do this?

A)



B)



C)



D)

  1. Option A
  2. Option B
  3. Option C
  4. Option D

Answer(s): C

Explanation:

Option C is the correct way to configure multiple providers in a Terraform configuration. Each provider block must have a name attribute that specifies which provider it configures2. The other options are either missing the name attribute or using an invalid syntax.



terraform validate confirms that your infrastructure matches the Terraform state file.

  1. True
  2. False

Answer(s): B

Explanation:

terraform validate does not confirm that your infrastructure matches the Terraform state file. It only checks whether the configuration files in a directory are syntactically valid and internally consistent3. To confirm that your infrastructure matches the Terraform state file, you need to use terraform plan or terraform apply with the -refresh-only option.



Which command must you first run before performing further Terraform operations in a working directory?

  1. terraform import
  2. terraform workspace
  3. terraform plan
  4. terraform init

Answer(s): D

Explanation:

terraform init is the first command that should be run after writing a new Terraform configuration or cloning an existing one from version control. It initializes a working directory containing Terraform configuration files and downloads any required providers and modules. The other commands are used for different purposes, such as importing existing resources, switching between workspaces, generating execution plans, etc.



A developer accidentally launched a VM (virtual machine) outside of the Terraform workflow and ended up with two servers with the same name. They don't know which VM Terraform manages but do have a list of all active VM IDs.

Which of the following methods could you use to discover which instance Terraform manages?

  1. Run terraform state list to find the names of all VMs, then run terraform state show for each of them to find which VM ID Terraform manages
  2. Update the code to include outputs for the ID of all VMs, then run terraform plan to view the outputs
  3. Run terraform taint/code on all the VMs to recreate them
  4. Use terraform refresh/code to find out which IDs are already part of state

Answer(s): A

Explanation:

The terraform state list command lists all resources that are managed by Terraform in the current state file1. The terraform state show command shows the attributes of a single resource in the state file2. By using these two commands, you can compare the VM IDs in your list with the ones in the state file and identify which one is managed by Terraform.



Viewing page 2 of 53
Viewing questions 6 - 10 out of 259 questions



Post your Comments and Discuss HashiCorp Terraform-Associate-004 exam prep with other Community members:

Join the Terraform-Associate-004 Discussion