In this example, the instance_tags
variable is defined with a type of map(string)
, and it is given a default value of { Name = "my-instance" }
. The AWS provider is then configured to use the us-west-2
region.
The aws_instance
resource is used to launch Amazon EC2 instances. The tags
argument is used to assign tags to the instance, and it is set to the value of the instance_tags
variable.
You can change the value of instance_tags
by modifying the default value in the variable definition, or you can specify a different value when you run Terraform by using the -var
flag. For example, if you want to launch an instance with tags { Name = "my-instance", Environment = "prod" }
, you can run the following command:
$ terraform apply -var ‘instance_tags={ Name = “my-instance”, Environment = “prod” }’
Maps are a collection of string keys and string values. These can be useful for selecting values based on predefined parameters such as the server configuration by the monthly price.
We’ve replaced our sensitive strings with variables, but we still are hard-coding AMIs. Unfortunately, AMIs are specific to the region that is in use. One option is to just ask the user to input the proper AMI for the region, but Terraform can do better than that with maps.
dynamic lookup – The square-bracket index notation used here is an example of how the map type expression is accessed as a variable, with [var.region] referencing the var.amis declaration for dynamic lookup.
static value lookup – the map type expression can also use a static value lookup directly with var.amis[“us-east-1”].
Maps are a way to create variables that are lookup tables. An example will show this best. Let’s extract our AMIs into a map and add support for the us-west-2 region as well:










I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I am working at Cotocus. I blog tech insights at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at I reviewed , and SEO strategies at Wizbrand.
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at PINTEREST
Rajesh Kumar at QUORA
Rajesh Kumar at WIZBRAND