Command: apply

The terraform apply command is used to apply the changes required to reach the desired state of the configuration, or the pre-determined set of actions generated by a terraform plan execution plan.


Usage: terraform apply [options] [dir-or-plan]

By default, apply scans the current directory for the configuration and applies the changes appropriately. However, a path to another configuration or an execution plan can be provided. Execution plans can be used to only execute a pre-determined set of actions.

The dir argument can also be a module source. In this case, apply behaves as though init were called with that argument followed by an apply in the current directory. This is meant as a shortcut for getting started.

The command-line flags are all optional. The list of available flags are:

  • -backup=path - Path to the backup file. Defaults to -state-out with the ".backup" extension. Disabled by setting to "-".

  • -input=true - Ask for input for variables if not directly set.

  • -no-color - Disables output with coloring.

  • -parallelism=n - Limit the number of concurrent operation as Terraform walks the graph.

  • -refresh=true - Update the state for each resource prior to planning and applying. This has no effect if a plan file is given directly to apply.

  • -state=path - Path to the state file. Defaults to "terraform.tfstate". Ignored when remote state is used.

  • -state-out=path - Path to write updated state file. By default, the -state path will be used. Ignored when remote state is used.

  • -target=resource - A Resource Address to target. Operation will be limited to this resource and its dependencies. This flag can be used multiple times.

  • -var 'foo=bar' - Set a variable in the Terraform configuration. This flag can be set multiple times. Variable values are interpreted as HCL, so list and map values can be specified via this flag.

  • -var-file=foo - Set variables in the Terraform configuration from a variable file. If "terraform.tfvars" is present, it will be automatically loaded first. Any files specified by -var-file override any values in a "terraform.tfvars". This flag can be used multiple times.