First Terraform Configuration
Terraform Language
The Terraform language is Terraform's primary user interface. In every edition of Terraform, a configuration written in the Terraform language is always at the heart of the workflow.
The main purpose of the Terraform language is declaring resources, which represent infrastructure objects.
Terraform configuration
A Terraform configuration is a complete document in the Terraform language that tells Terraform how to manage a given collection of infrastructure. A configuration can consist of multiple files and directories.
<BLOCK TYPE> "<BLOCK LABEL>" "<BLOCK LABEL>" {
# Block body
<IDENTIFIER> = <EXPRESSION> # Argument
}
File Extension
Code in the Terraform language is stored in plain text files with the .tf file extension. There is also a JSON-based variant of the language that is named with the .tf.json file extension.
Text Encoding
Configuration files must always use UTF-8 encoding, and by convention usually use Unix-style line endings (LF) rather than Windows-style line endings (CRLF), though both are accepted
let's create first terraform configurations
create a file first.tf in the present working directory with the below content
// this is comment
# this is comment
output hello1 {
value = "Hello World 1234"
}
now let's run terraform plan command
output
┌──(gaurav㉿learning-ocean)-[~/youtube-course/hello-world]
└─$ terraform plan
Changes to Outputs:
+ hello1 = "Hello World 1234"
You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure.
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.
┌──(gaurav㉿learning-ocean)-[~/youtube-course/hello-world]
└─$
Demo: