From b728f8c0187359cadb0d4bbe1a3a6bd00734b703 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 4 May 2016 13:02:51 -0700 Subject: [PATCH] terraform: import state ID should be sent to hook --- command/hook_ui.go | 6 +++--- terraform/eval_import_state.go | 2 +- terraform/hook.go | 4 ++-- terraform/hook_mock.go | 4 +++- terraform/hook_stop.go | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/command/hook_ui.go b/command/hook_ui.go index 3a5357750..e1cb05285 100644 --- a/command/hook_ui.go +++ b/command/hook_ui.go @@ -252,13 +252,13 @@ func (h *UiHook) PreRefresh( } func (h *UiHook) PreImportState( - n *terraform.InstanceInfo) (terraform.HookAction, error) { + n *terraform.InstanceInfo, + id string) (terraform.HookAction, error) { h.once.Do(h.init) - id := n.HumanId() h.ui.Output(h.Colorize.Color(fmt.Sprintf( "[reset][bold]%s: Importing from ID %q...", - id, n.Id))) + n.HumanId(), id))) return terraform.HookActionContinue, nil } diff --git a/terraform/eval_import_state.go b/terraform/eval_import_state.go index f8483144d..e2cc41dde 100644 --- a/terraform/eval_import_state.go +++ b/terraform/eval_import_state.go @@ -21,7 +21,7 @@ func (n *EvalImportState) Eval(ctx EvalContext) (interface{}, error) { { // Call pre-import hook err := ctx.Hook(func(h Hook) (HookAction, error) { - return h.PreImportState(n.Info) + return h.PreImportState(n.Info, n.Id) }) if err != nil { return nil, err diff --git a/terraform/hook.go b/terraform/hook.go index 3dcc97331..81a68842f 100644 --- a/terraform/hook.go +++ b/terraform/hook.go @@ -55,7 +55,7 @@ type Hook interface { // PreImportState and PostImportState are called before and after // a single resource's state is being improted. - PreImportState(*InstanceInfo) (HookAction, error) + PreImportState(*InstanceInfo, string) (HookAction, error) PostImportState(*InstanceInfo, []*InstanceState) (HookAction, error) } @@ -108,7 +108,7 @@ func (*NilHook) PostRefresh(*InstanceInfo, *InstanceState) (HookAction, error) { return HookActionContinue, nil } -func (*NilHook) PreImportState(*InstanceInfo) (HookAction, error) { +func (*NilHook) PreImportState(*InstanceInfo, string) (HookAction, error) { return HookActionContinue, nil } diff --git a/terraform/hook_mock.go b/terraform/hook_mock.go index 0adb1985e..d6c5fcb3f 100644 --- a/terraform/hook_mock.go +++ b/terraform/hook_mock.go @@ -72,6 +72,7 @@ type MockHook struct { PreImportStateCalled bool PreImportStateInfo *InstanceInfo + PreImportStateId string PreImportStateReturn HookAction PreImportStateError error @@ -169,9 +170,10 @@ func (h *MockHook) PostRefresh(n *InstanceInfo, s *InstanceState) (HookAction, e return h.PostRefreshReturn, h.PostRefreshError } -func (h *MockHook) PreImportState(info *InstanceInfo) (HookAction, error) { +func (h *MockHook) PreImportState(info *InstanceInfo, id string) (HookAction, error) { h.PreImportStateCalled = true h.PreImportStateInfo = info + h.PreImportStateId = id return h.PreImportStateReturn, h.PreImportStateError } diff --git a/terraform/hook_stop.go b/terraform/hook_stop.go index f93778b89..4c9bbb7b3 100644 --- a/terraform/hook_stop.go +++ b/terraform/hook_stop.go @@ -53,7 +53,7 @@ func (h *stopHook) PostRefresh(*InstanceInfo, *InstanceState) (HookAction, error return h.hook() } -func (h *stopHook) PreImportState(*InstanceInfo) (HookAction, error) { +func (h *stopHook) PreImportState(*InstanceInfo, string) (HookAction, error) { return h.hook() }