Browse Source

add the -refresh option to plan and apply

pull/120/head
Joel Damata 4 years ago
parent
commit
10db279a6d
  1. 3
      DOCS.md
  2. 12
      plugin.go

3
DOCS.md

@ -229,6 +229,9 @@ init_options.lock
init_options.lock-timeout
: Duration to wait for a state lock. Default `0s`.
init_options.refresh
: Update the state for each resource prior to planning and applying. Default `true`.
fmt_options
: contains the configuration for the fmt action.

12
plugin.go

@ -48,6 +48,7 @@ type (
BackendConfig []string `json:"backend-config"`
Lock *bool `json:"lock"`
LockTimeout string `json:"lock-timeout"`
Refresh *bool `json:"refresh"`
}
// FmtOptions fmt options for the Terraform's fmt command
@ -234,6 +235,11 @@ func initCommand(config InitOptions) *exec.Cmd {
args = append(args, fmt.Sprintf("-lock-timeout=%s", config.LockTimeout))
}
// True is default in TF
if config.Refresh != nil {
args = append(args, fmt.Sprintf("-refresh=%t", *config.Refresh))
}
// Fail Terraform execution on prompt
args = append(args, "-input=false")
@ -270,6 +276,9 @@ func tfApply(config Config) *exec.Cmd {
if config.InitOptions.LockTimeout != "" {
args = append(args, fmt.Sprintf("-lock-timeout=%s", config.InitOptions.LockTimeout))
}
if config.InitOptions.Refresh != nil {
args = append(args, fmt.Sprintf("-refresh=%t", *config.InitOptions.Refresh))
}
args = append(args, getTfoutPath())
return exec.Command(
@ -328,6 +337,9 @@ func tfPlan(config Config, destroy bool) *exec.Cmd {
if config.InitOptions.LockTimeout != "" {
args = append(args, fmt.Sprintf("-lock-timeout=%s", config.InitOptions.LockTimeout))
}
if config.InitOptions.Refresh != nil {
args = append(args, fmt.Sprintf("-refresh=%t", *config.InitOptions.Refresh))
}
return exec.Command(
"terraform",
args...,

Loading…
Cancel
Save