provide.tf
provider "aws" {
access_key = "${var.AWS_ACCESS_KEY}"
secret_key = "${var.AWS_SECRET_KEY}"
region = "${var.AWS_REGION}"
}
Declaring your variables before using them. You can xpect those definitions to be in your vars.tf file or variables.tf. that the file can be named anything, since Terraform loads all files ending in .tf in a directory.
variable "AWS_ACCESS_KEY" {}
variable "AWS_SECRET_KEY" {}
variable "AWS_REGION" {
default = "ap-south-1"
}
variable "AMIS" {
type = "map"
default = {
ap-south-1 = "ami-5b673c34"
us-west-2 = "ami-06b94666"
eu-west-1 = "ami-0d729a60"
}
}
Assigning Variables using file. To persist variable values, create a file and assign variables within this file. Create a file named terraform.tfvars. For all files which match terraform.tfvars or *.auto.tfvars present in the current directory, Terraform automatically loads them to populate variables.
AWS_ACCESS_KEY = ""
AWS_SECRET_KEY = ""
AWS_REGION = ""
resource "aws_instance" "example" {
ami = "${lookup(var.AMIS, var.AWS_REGION)}"
instance_type = "t2.micro"
}