Terraform Variables: A Guide to Getting Started ๐Ÿš€

Terraform Variables: A Guide to Getting Started ๐Ÿš€

Day 63 : #90DaysOfDevOps Challange

ยท

3 min read

Welcome to this beginner-friendly guide on Terraform variables! ๐ŸŽ‰ In this blog post, we'll walk through the basics of using variables in Terraform and how they can enhance your infrastructure-as-code experience. So, let's dive right in! ๐Ÿ’ช

Why Are Variables Important in Terraform?

Variables in Terraform play a crucial role in storing and managing values such as instance names, configurations, and more. They provide flexibility and reusability, making your infrastructure code more dynamic and adaptable. Let's learn how to leverage variables effectively!

Creating a Variables File

To begin, we'll create a dedicated file called variables.tf to store all our variables. This file acts as a central repository for defining and managing your variables. Here's an example:

๐Ÿ“„ variables.tf

variable "filename" {
  default = "C:\\Users\\DHANANJAY KULKARNI\\Desktop\\Terraform\\day_63\\demo-var.txt"
}

variable "content" {
  default = "This is coming from a variable which was updated"
}

Here, we define two variables: filename and content. You can modify their default values to suit your needs. Now, let's see how to access these variables in your main Terraform configuration file.

Task-01: Creating a Local File with Terraform

Now, let's leverage Terraform to create a local file using the variables we defined earlier. Follow these steps:

1๏ธโƒฃ Open your preferred text editor, such as VS Code, on your Windows machine. 2๏ธโƒฃ Create a new file and name it main.tf. 3๏ธโƒฃ Add the following code to the main.tf file:

resource "local_file" "devops" {
  filename = var.filename
  content  = var.content
}

4๏ธโƒฃ Save the file.

That's it! You've just created a local file using Terraform. The local_file resource block utilizes the filename and content variables from variables.tf to populate the file.

Understanding Data Types in Terraform

Terraform supports various data types, including Map, List, Set, and Object. Let's explore them further!

Map

A Map is a collection of key-value pairs. It allows you to associate values with specific keys. Here's an example of using a Map variable:

variable "file_contents" {
  type = map
  default = {
    "statement1" = "this is cool"
    "statement2" = "this is cooler"
  }
}

In the above code, we define a file_contents variable of type map. It contains two key-value pairs representing statements. Maps are incredibly useful for organizing related data.

Task-02: Demonstrating Usage of List, Set, and Object Data Types

Now, let's demonstrate how to utilize the List, Set, and Object data types in Terraform. Follow these steps:

1๏ธโƒฃ After saving the main.tf file, execute the command terraform init to initialize your Terraform configuration.

2๏ธโƒฃ Execute the command terraform apply to apply the configuration and create the local file.

3๏ธโƒฃ Once the operation is successful, execute the command terraform refresh to reload the variables and refresh the state by your configuration file.

By completing these steps, you'll have successfully implemented Terraform to create a local file and explored various data types.

That's a wrap! You've learned the basics of Terraform variables and

explored different data types. Now, you can confidently leverage variables in your Terraform projects to enhance flexibility and maintainability.

Happy Terraforming! ๐ŸŒ๐Ÿš€๐Ÿ”ง

Did you find this article valuable?

Support Dhananjay Kulkarni by becoming a sponsor. Any amount is appreciated!

ย