Cloud Automation – Define template by Terraform

About Terraform

Terraform is an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure.

The main purpose of the Terraform language is declaring resources, which represent infrastructure objects. All other language features exist only to make the definition of resources more flexible and convenient.

Terraform lets you use the same workflow to manage multiple providers and handle cross-cloud dependencies. This simplifies management and orchestration for large-scale, multi-cloud infrastructures.

The Typical Terraform Workflow 

Typically, this workflow involves some manual steps that are easily automatable. For example, using the Terraform CLI we have to run the command terraform plan to check the effect of our newly prepared configuration files. Similarly, we have to execute the command terraform apply to propagate the changes to the live environment. 

If you want to have all of the important Terraform commands in one place, take a look at our Terraform Cheat Sheet.

How many providers does Terraform support?

  • AWS.
  • Azure.
  • Google Cloud Platform.
  • Kubernetes.
  • Alibaba Cloud.
  • Oracle Cloud Infrastructure.

Benefit of using Terraform in Cloud Automation

  • Automating Terraform Orchestration with Custom Tooling
  • Building infrastructure provisioning pipelines
  • Leveraging GitOps to Automate Delivery of IaC
  • Automated Terraform CLI Workflow

How to define Terraform template in Cloud Automation

With Cloud Automation, we need to define modules of Terraform corresponding with Cloud Automation template launching's configuration:

Cloud Automation Terraform Note
Resource provisioning main.tf This is our main configuration file where we are going to define our resource definition
Parameter variable variables.tf This is the file where we are going to define our variables
Tagging N/A Not available in Terraform
Script N/A Not available in Terraform
Output Output values make information about your infrastructure available on the command line, and can expose information for other Terraform configurations to use. Output values are similar to return values in programming languages.
Define provider in Terraform
Define infrastructure in Terraform
Define variable in Terraform
Define output in Terraform

Leave a Reply