Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content

Commit dab47b0

Browse files
armonmitchellh
authored andcommitted
command/plan: remote enable
1 parent b6265cf commit dab47b0

1 file changed

Lines changed: 14 additions & 34 deletions

File tree

command/plan.go

Lines changed: 14 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type PlanCommand struct {
1717

1818
func (c *PlanCommand) Run(args []string) int {
1919
var destroy, refresh bool
20-
var outPath, statePath, backupPath string
20+
var outPath string
2121
var moduleDepth int
2222

2323
args = c.Meta.process(args, true)
@@ -27,8 +27,8 @@ func (c *PlanCommand) Run(args []string) int {
2727
cmdFlags.BoolVar(&refresh, "refresh", true, "refresh")
2828
cmdFlags.IntVar(&moduleDepth, "module-depth", 0, "module-depth")
2929
cmdFlags.StringVar(&outPath, "out", "", "path")
30-
cmdFlags.StringVar(&statePath, "state", DefaultStateFilename, "path")
31-
cmdFlags.StringVar(&backupPath, "backup", "", "path")
30+
cmdFlags.StringVar(&c.Meta.statePath, "state", DefaultStateFilename, "path")
31+
cmdFlags.StringVar(&c.Meta.backupPath, "backup", "", "path")
3232
cmdFlags.Usage = func() { c.Ui.Error(c.Help()) }
3333
if err := cmdFlags.Parse(args); err != nil {
3434
return 1
@@ -52,24 +52,9 @@ func (c *PlanCommand) Run(args []string) int {
5252
}
5353
}
5454

55-
// If the default state path doesn't exist, ignore it.
56-
if statePath != "" {
57-
if _, err := os.Stat(statePath); err != nil {
58-
if os.IsNotExist(err) && statePath == DefaultStateFilename {
59-
statePath = ""
60-
}
61-
}
62-
}
63-
64-
// If we don't specify a backup path, default to state out with
65-
// the extension
66-
if backupPath == "" {
67-
backupPath = statePath + DefaultBackupExtention
68-
}
69-
7055
ctx, _, err := c.Context(contextOpts{
7156
Path: path,
72-
StatePath: statePath,
57+
StatePath: c.Meta.statePath,
7358
})
7459
if err != nil {
7560
c.Ui.Error(err.Error())
@@ -84,26 +69,21 @@ func (c *PlanCommand) Run(args []string) int {
8469
}
8570

8671
if refresh {
87-
// Create a backup of the state before updating
88-
if backupPath != "-" && c.state != nil {
89-
log.Printf("[INFO] Writing backup state to: %s", backupPath)
90-
f, err := os.Create(backupPath)
91-
if err == nil {
92-
err = terraform.WriteState(c.state, f)
93-
f.Close()
94-
}
95-
if err != nil {
96-
c.Ui.Error(fmt.Sprintf("Error writing backup state file: %s", err))
97-
return 1
98-
}
99-
}
100-
10172
c.Ui.Output("Refreshing Terraform state prior to plan...\n")
102-
if _, err := ctx.Refresh(); err != nil {
73+
state, err := ctx.Refresh()
74+
if err != nil {
10375
c.Ui.Error(fmt.Sprintf("Error refreshing state: %s", err))
10476
return 1
10577
}
10678
c.Ui.Output("")
79+
80+
if state != nil {
81+
log.Printf("[INFO] Writing state output to: %s", c.Meta.StateOutPath())
82+
if err := c.Meta.PersistState(state); err != nil {
83+
c.Ui.Error(fmt.Sprintf("Error writing state file: %s", err))
84+
return 1
85+
}
86+
}
10787
}
10888

10989
plan, err := ctx.Plan(&terraform.PlanOpts{Destroy: destroy})

0 commit comments

Comments
 (0)