Class: RubyTerraform::Commands::Plan
- Includes:
- Options::Global
- Defined in:
- lib/ruby_terraform/commands/plan.rb
Overview
Wraps the terraform plan command which generates a speculative execution
plan, showing what actions Terraform would take to apply the current
configuration. This command will not actually perform the planned actions.
You can optionally save the plan to a file, which you can then pass to the Apply command to perform exactly the actions described in the plan.
For options accepted on construction, see Base#initialize.
When executing an instance of Plan via Base#execute, the following options are supported:
:directory: the path to a directory containing terraform configuration (deprecated in terraform 0.14, removed in terraform 0.15, use:chdirinstead).:chdir: the path of a working directory to switch to before executing the given subcommand.:compact_warnings: whentrue, if terraform produces any warnings that are not accompanied by errors, they are shown in a more compact form that includes only the summary messages; defaults tofalse.:destroy: whentrue, a plan will be generated to destroy all resources managed by the given configuration and state; defaults tofalse.:detailed_exitcode: whether or not to return detailed exit codes when the command exits; this will change the meaning of exit codes to: 0 - Succeeded, diff is empty (no changes); 1 - Errored; 2 - Succeeded, there is a diff; defaults tofalse.:input: whenfalse, will not ask for input for variables not directly set; defaults totrue.:lock: whentrue, locks the state file when locking is supported; whenfalse, does not lock the state file; defaults totrue.:lock_timeout: the duration to retry a state lock; defaults to"0s".:no_color: whether or not the output from the command should be in color; defaults tofalse.:parallelism: the number of parallel resource operations; defaults to10.:plan: the path to output the plan if it should be saved to a file.:refresh: whentrue, updates state prior to checking for differences; whenfalseuses locally available state; defaults totrue; this has no effect when:planis provided.:replace: force replacement of a particular resource instance using its resource address. If the plan would've normally produced an update or no-op action for this instance, Terraform will plan to replace it instead.:replaces: an array of resource addresses to replace; if bothreplaceandreplacesare provided, all resources will be replaced.:state: the path to the state file from which to read state and in which to store state (unless:state_outis specified); defaults to"terraform.tfstate".:target: the address of a resource to target; if both:targetand:targetsare provided, all targets will be passed to terraform.:targets: an array of resource addresses to target; if both:targetand:targetsare provided, all targets will be passed to terraform.:vars: a map of variables to be passed to the terraform configuration.:var_file: the path to a terraform var file; if both:var_fileand:var_filesare provided, all var files will be passed to terraform.:var_files: an array of paths to terraform var files; if both:var_fileand:var_filesare provided, all var files will be passed to terraform.
The Base#execute method accepts an optional second parameter which is a map
of invocation options. Currently, the only supported option is
:environment which is a map of environment variables to expose during
invocation of the command.
Constructor Details
This class inherits a constructor from RubyTerraform::Commands::Base