Terraform CLI

Introduction

Terraform provides a command line interface (CLI) that can be called with the terraform command once you’ve installed Terraform onto your system.

To view a list of the commands available in your current Terraform version, run terraform with no additional arguments:

Usage: terraform [global options] <subcommand> [args]

The available commands for execution are listed below.
The primary workflow commands are given first, followed by
less common or more advanced commands.

Main commands:
init          Prepare your working directory for other commands
validate      Check whether the configuration is valid
plan          Show changes required by the current configuration
apply         Create or update infrastructure
destroy       Destroy previously-created infrastructure

All other commands:
console       Try Terraform expressions at an interactive command prompt
fmt           Reformat your configuration in the standard style
force-unlock  Release a stuck lock on the current workspace
get           Install or upgrade remote Terraform modules
graph         Generate a Graphviz graph of the steps in an operation
import        Associate existing infrastructure with a Terraform resource
login         Obtain and save credentials for a remote host
logout        Remove locally-stored credentials for a remote host
metadata      Metadata related commands
output        Show output values from your root module
providers     Show the providers required for this configuration
refresh       Update the state to match remote systems
show          Show the current state or a saved plan
state         Advanced state management
taint         Mark a resource instance as not fully functional
untaint       Remove the 'tainted' state from a resource instance
version       Show the current Terraform version
workspace     Workspace management

Global options (use these before the subcommand, if any):
-chdir=DIR    Switch to a different working directory before executing the
                given subcommand.
-help         Show this help output, or the help for a specified subcommand.
-version      An alias for the "version" subcommand.

Main Commands for Terrafrom CLI are:

Subcommand Description
init Initialize your Terraform working directory
validate Checks if your configuration is valid
plan Show changes that will be made to your current environment
apply Create or update your environment
destroy Delete the environment that was previously created

Terraform init

The terraform init command initializes your Terraform working directory.

Terraform validate

The terraform validate command runs checks to verify that the Terraform configuration in the working directory is syntactically valid, but does not validate remote services like remote state and provider APIs.

It is commonly used to validate reusable modules and ensure that the attribute names and value types are generally correct.

Terraform plan

The terraform plan command creates and execution plan that provides you a preview of the changes that will be made to your infrastructure (ie. which resources will be created, which will be deleted, and which ones will be modified).

Terraform apply

The terraform apply command executes the actions that are proposed from the Terraform plan. 

Terraform destroy

The terraform destroy command deletes all remote resources that are managed by the current working directory’s Terraform configuration.

Note that if the resource was created outside of the particular Terraform configuration, it will not be destroyed.