7 // stopHook is a private Hook implementation that Terraform uses to
8 // signal when to stop or cancel actions.
13 func (h *stopHook) PreApply(*InstanceInfo, *InstanceState, *InstanceDiff) (HookAction, error) {
17 func (h *stopHook) PostApply(*InstanceInfo, *InstanceState, error) (HookAction, error) {
21 func (h *stopHook) PreDiff(*InstanceInfo, *InstanceState) (HookAction, error) {
25 func (h *stopHook) PostDiff(*InstanceInfo, *InstanceDiff) (HookAction, error) {
29 func (h *stopHook) PreProvisionResource(*InstanceInfo, *InstanceState) (HookAction, error) {
33 func (h *stopHook) PostProvisionResource(*InstanceInfo, *InstanceState) (HookAction, error) {
37 func (h *stopHook) PreProvision(*InstanceInfo, string) (HookAction, error) {
41 func (h *stopHook) PostProvision(*InstanceInfo, string, error) (HookAction, error) {
45 func (h *stopHook) ProvisionOutput(*InstanceInfo, string, string) {
48 func (h *stopHook) PreRefresh(*InstanceInfo, *InstanceState) (HookAction, error) {
52 func (h *stopHook) PostRefresh(*InstanceInfo, *InstanceState) (HookAction, error) {
56 func (h *stopHook) PreImportState(*InstanceInfo, string) (HookAction, error) {
60 func (h *stopHook) PostImportState(*InstanceInfo, []*InstanceState) (HookAction, error) {
64 func (h *stopHook) PostStateUpdate(*State) (HookAction, error) {
68 func (h *stopHook) hook() (HookAction, error) {
70 return HookActionHalt, nil
73 return HookActionContinue, nil
76 // reset should be called within the lock context
77 func (h *stopHook) Reset() {
78 atomic.StoreUint32(&h.stop, 0)
81 func (h *stopHook) Stop() {
82 atomic.StoreUint32(&h.stop, 1)
85 func (h *stopHook) Stopped() bool {
86 return atomic.LoadUint32(&h.stop) == 1