Terraform Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
Line 5: Line 5:
=Overview=
=Overview=


Terraform is a tool for building, changing and managing infrastructure, as code. It uses a configuration language named Hashicorp Configuration Language (HCL). Terraform is platform agnostic, and achieves that by using different [[#Provider|provider]] APIs for [[#Resource|resource]] provisioning, via [[#Provider_Plug-In|plug-ins]]. A heterogenous environment can be managed with the same [[#Workflow|workflow]].
Terraform is a tool for building, changing and managing infrastructure, as code. It uses a configuration language named [[#Hashicorp_Configuration_Language_.28HCL.29|Hashicorp Configuration Language (HCL)]]. Terraform is platform agnostic, and achieves that by using different [[#Provider|provider]] APIs for [[#Resource|resource]] provisioning, via [[#Provider_Plug-In|plug-ins]]. A heterogenous environment can be managed with the same [[#Workflow|workflow]].


=Hashicorp Configuration Language (HCL)=
=Hashicorp Configuration Language (HCL)=

Revision as of 20:09, 13 November 2019

Internal

Overview

Terraform is a tool for building, changing and managing infrastructure, as code. It uses a configuration language named Hashicorp Configuration Language (HCL). Terraform is platform agnostic, and achieves that by using different provider APIs for resource provisioning, via plug-ins. A heterogenous environment can be managed with the same workflow.

Hashicorp Configuration Language (HCL)

HCL is human-readable. Configuration can also be JSON, but JSON is only recommended when the configuration is generated by a machine. Internally, the declarative language that drives provider API for resource provisioning.

Provider

Provider Plug-In

Resource

Workflow