Home > Back-end >  Terraform not declaring tfvars
Terraform not declaring tfvars

Time:12-17

I am new to Terraform and I am writing a script. Following is my directory structure

folder
---.terraform
---..terraform.lock.hcl
---main.tf
---terraform.tfvars
---variables.tf

Following is my content on terraform.tfvars.

environment    = "development"

Following is my content on main.tf.

tags = {
  environment = var.environment
}

But the values are not updating. Following is the error:

╷
│ Warning: Value for undeclared variable
│
│ The root module does not declare a variable named "environment" but a value was found in file "terraform.tfvars". If you meant to use this value, add a "variable" block to the configuration.
│
│ To silence these warnings, use TF_VAR_... environment variables to provide certain "global" settings to all configurations in your organization. To reduce the verbosity of these warnings, use the      
│ -compact-warnings option.
╵
╷
│ Warning: Value for undeclared variable
│
│ The root module does not declare a variable named "admin_username" but a value was found in file "terraform.tfvars". If you meant to use this value, add a "variable" block to the configuration.        
│
│ To silence these warnings, use TF_VAR_... environment variables to provide certain "global" settings to all configurations in your organization. To reduce the verbosity of these warnings, use the      
│ -compact-warnings option.
╵
╷
│ Warning: Values for undeclared variables
│
│ In addition to the other similar warnings shown, 1 other variable(s) defined without being declared.
╵
╷
│ Error: Reference to undeclared input variable
│
│   on main.tf line 22, in resource "azurerm_resource_group" "tf_example_rg":
│   22:     environment = var.environment
│
│ An input variable with the name "environment" has not been declared. This variable can be declared with a variable "environment" {} block.

As I am using terraform.tfvars I don't need to give the filename on CLI. I think I am doing everything right but it's yet not working.

CodePudding user response:

You have to actually declare your variable using variable block. For example:

variable "environment" {}

If you have such declarations, you have to double check the spelling and locations of them.

  • Related