-In this section, we will learn how to install Terraform.
Terraform can be downloaded as a single binary or an executable
file from the Terraform download section in www.terraform.io.
Installing Terraform is as simple as downloading this file and
copying it to the system path.
Once installed, we can check the version by running the
command Terraform version.
The latest version of Terraform as of this recording is 0.13
and we'll be making use of this version throughout the course.
Terraform is supported on Windows, Mac and several other
Linux-based distributions.
Please note that all the examples and labs used in this course
will make use of Terraform running on a Linux machine and
specifically the version 0.13.
That's it.
We can now start deploying resources using Terraform.
As stated earlier, Terraform uses configuration files which
are written in HCL to deploy infrastructure resources.
These files have a .tf extension and can be created using any text
editor such as Notepad or Notepad++ for Windows or command line text
editors such as Vim or eMac in Linux or it could be any ID of your choice.
What is a resource?
A resource is an object data for managers.
It could be a file on a local host or it could be a virtual machine on
the cloud such as an EC2 instance.
It could be services like S3 buckets, ECS, DynamoDB tables, IM users or IM
groups, rules, policies, et cetera.
Or it could be resources on major cloud providers such as
the Compute an App Engine from GCP, databases on Azure, Azure
Active Directory, et cetera.
There are literally hundreds of resources that can be
provisioned across most of the cloud and on-premise
infrastructure using Terraform.
We will look into some of these examples later in this course,
but for the first few sections, we will stick to two very easy to
understand resources, the local file type of resource and a special kind
of resource called a random pit.
It is important to use a simple resource type to really understand
the basics of Terraform such as the lifecycle of resources,
the HCL format, et cetera.
Once we gain a good understanding of the basics, we can easily apply
that knowledge to other real-life use cases and we will see that
in later sections of this course.