]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blame - vendor/github.com/hashicorp/terraform/terraform/hook_mock.go
Upgrade to 0.12
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / terraform / hook_mock.go
CommitLineData
bae9f6d2
JC
1package terraform
2
107c1cdb
ND
3import (
4 "sync"
5
6 "github.com/zclconf/go-cty/cty"
7
8 "github.com/hashicorp/terraform/addrs"
9 "github.com/hashicorp/terraform/plans"
10 "github.com/hashicorp/terraform/providers"
11 "github.com/hashicorp/terraform/states"
12)
bae9f6d2
JC
13
14// MockHook is an implementation of Hook that can be used for tests.
15// It records all of its function calls.
16type MockHook struct {
17 sync.Mutex
18
107c1cdb
ND
19 PreApplyCalled bool
20 PreApplyAddr addrs.AbsResourceInstance
21 PreApplyGen states.Generation
22 PreApplyAction plans.Action
23 PreApplyPriorState cty.Value
24 PreApplyPlannedState cty.Value
25 PreApplyReturn HookAction
26 PreApplyError error
bae9f6d2
JC
27
28 PostApplyCalled bool
107c1cdb
ND
29 PostApplyAddr addrs.AbsResourceInstance
30 PostApplyGen states.Generation
31 PostApplyNewState cty.Value
bae9f6d2
JC
32 PostApplyError error
33 PostApplyReturn HookAction
34 PostApplyReturnError error
107c1cdb
ND
35 PostApplyFn func(addrs.AbsResourceInstance, states.Generation, cty.Value, error) (HookAction, error)
36
37 PreDiffCalled bool
38 PreDiffAddr addrs.AbsResourceInstance
39 PreDiffGen states.Generation
40 PreDiffPriorState cty.Value
41 PreDiffProposedState cty.Value
42 PreDiffReturn HookAction
43 PreDiffError error
44
45 PostDiffCalled bool
46 PostDiffAddr addrs.AbsResourceInstance
47 PostDiffGen states.Generation
48 PostDiffAction plans.Action
49 PostDiffPriorState cty.Value
50 PostDiffPlannedState cty.Value
51 PostDiffReturn HookAction
52 PostDiffError error
53
54 PreProvisionInstanceCalled bool
55 PreProvisionInstanceAddr addrs.AbsResourceInstance
56 PreProvisionInstanceState cty.Value
57 PreProvisionInstanceReturn HookAction
58 PreProvisionInstanceError error
59
60 PostProvisionInstanceCalled bool
61 PostProvisionInstanceAddr addrs.AbsResourceInstance
62 PostProvisionInstanceState cty.Value
63 PostProvisionInstanceReturn HookAction
64 PostProvisionInstanceError error
65
66 PreProvisionInstanceStepCalled bool
67 PreProvisionInstanceStepAddr addrs.AbsResourceInstance
68 PreProvisionInstanceStepProvisionerType string
69 PreProvisionInstanceStepReturn HookAction
70 PreProvisionInstanceStepError error
71
72 PostProvisionInstanceStepCalled bool
73 PostProvisionInstanceStepAddr addrs.AbsResourceInstance
74 PostProvisionInstanceStepProvisionerType string
75 PostProvisionInstanceStepErrorArg error
76 PostProvisionInstanceStepReturn HookAction
77 PostProvisionInstanceStepError error
78
79 ProvisionOutputCalled bool
80 ProvisionOutputAddr addrs.AbsResourceInstance
81 ProvisionOutputProvisionerType string
82 ProvisionOutputMessage string
83
84 PreRefreshCalled bool
85 PreRefreshAddr addrs.AbsResourceInstance
86 PreRefreshGen states.Generation
87 PreRefreshPriorState cty.Value
88 PreRefreshReturn HookAction
89 PreRefreshError error
90
91 PostRefreshCalled bool
92 PostRefreshAddr addrs.AbsResourceInstance
93 PostRefreshGen states.Generation
94 PostRefreshPriorState cty.Value
95 PostRefreshNewState cty.Value
96 PostRefreshReturn HookAction
97 PostRefreshError error
bae9f6d2
JC
98
99 PreImportStateCalled bool
107c1cdb
ND
100 PreImportStateAddr addrs.AbsResourceInstance
101 PreImportStateID string
bae9f6d2
JC
102 PreImportStateReturn HookAction
103 PreImportStateError error
104
107c1cdb
ND
105 PostImportStateCalled bool
106 PostImportStateAddr addrs.AbsResourceInstance
107 PostImportStateNewStates []providers.ImportedResource
108 PostImportStateReturn HookAction
109 PostImportStateError error
bae9f6d2
JC
110
111 PostStateUpdateCalled bool
107c1cdb 112 PostStateUpdateState *states.State
bae9f6d2
JC
113 PostStateUpdateReturn HookAction
114 PostStateUpdateError error
115}
116
107c1cdb
ND
117var _ Hook = (*MockHook)(nil)
118
119func (h *MockHook) PreApply(addr addrs.AbsResourceInstance, gen states.Generation, action plans.Action, priorState, plannedNewState cty.Value) (HookAction, error) {
bae9f6d2
JC
120 h.Lock()
121 defer h.Unlock()
122
123 h.PreApplyCalled = true
107c1cdb
ND
124 h.PreApplyAddr = addr
125 h.PreApplyGen = gen
126 h.PreApplyAction = action
127 h.PreApplyPriorState = priorState
128 h.PreApplyPlannedState = plannedNewState
bae9f6d2
JC
129 return h.PreApplyReturn, h.PreApplyError
130}
131
107c1cdb 132func (h *MockHook) PostApply(addr addrs.AbsResourceInstance, gen states.Generation, newState cty.Value, err error) (HookAction, error) {
bae9f6d2
JC
133 h.Lock()
134 defer h.Unlock()
135
136 h.PostApplyCalled = true
107c1cdb
ND
137 h.PostApplyAddr = addr
138 h.PostApplyGen = gen
139 h.PostApplyNewState = newState
140 h.PostApplyError = err
bae9f6d2
JC
141
142 if h.PostApplyFn != nil {
107c1cdb 143 return h.PostApplyFn(addr, gen, newState, err)
bae9f6d2
JC
144 }
145
146 return h.PostApplyReturn, h.PostApplyReturnError
147}
148
107c1cdb 149func (h *MockHook) PreDiff(addr addrs.AbsResourceInstance, gen states.Generation, priorState, proposedNewState cty.Value) (HookAction, error) {
bae9f6d2
JC
150 h.Lock()
151 defer h.Unlock()
152
153 h.PreDiffCalled = true
107c1cdb
ND
154 h.PreDiffAddr = addr
155 h.PreDiffGen = gen
156 h.PreDiffPriorState = priorState
157 h.PreDiffProposedState = proposedNewState
bae9f6d2
JC
158 return h.PreDiffReturn, h.PreDiffError
159}
160
107c1cdb 161func (h *MockHook) PostDiff(addr addrs.AbsResourceInstance, gen states.Generation, action plans.Action, priorState, plannedNewState cty.Value) (HookAction, error) {
bae9f6d2
JC
162 h.Lock()
163 defer h.Unlock()
164
165 h.PostDiffCalled = true
107c1cdb
ND
166 h.PostDiffAddr = addr
167 h.PostDiffGen = gen
168 h.PostDiffAction = action
169 h.PostDiffPriorState = priorState
170 h.PostDiffPlannedState = plannedNewState
bae9f6d2
JC
171 return h.PostDiffReturn, h.PostDiffError
172}
173
107c1cdb 174func (h *MockHook) PreProvisionInstance(addr addrs.AbsResourceInstance, state cty.Value) (HookAction, error) {
bae9f6d2
JC
175 h.Lock()
176 defer h.Unlock()
177
107c1cdb
ND
178 h.PreProvisionInstanceCalled = true
179 h.PreProvisionInstanceAddr = addr
180 h.PreProvisionInstanceState = state
181 return h.PreProvisionInstanceReturn, h.PreProvisionInstanceError
bae9f6d2
JC
182}
183
107c1cdb 184func (h *MockHook) PostProvisionInstance(addr addrs.AbsResourceInstance, state cty.Value) (HookAction, error) {
bae9f6d2
JC
185 h.Lock()
186 defer h.Unlock()
187
107c1cdb
ND
188 h.PostProvisionInstanceCalled = true
189 h.PostProvisionInstanceAddr = addr
190 h.PostProvisionInstanceState = state
191 return h.PostProvisionInstanceReturn, h.PostProvisionInstanceError
bae9f6d2
JC
192}
193
107c1cdb 194func (h *MockHook) PreProvisionInstanceStep(addr addrs.AbsResourceInstance, typeName string) (HookAction, error) {
bae9f6d2
JC
195 h.Lock()
196 defer h.Unlock()
197
107c1cdb
ND
198 h.PreProvisionInstanceStepCalled = true
199 h.PreProvisionInstanceStepAddr = addr
200 h.PreProvisionInstanceStepProvisionerType = typeName
201 return h.PreProvisionInstanceStepReturn, h.PreProvisionInstanceStepError
bae9f6d2
JC
202}
203
107c1cdb 204func (h *MockHook) PostProvisionInstanceStep(addr addrs.AbsResourceInstance, typeName string, err error) (HookAction, error) {
bae9f6d2
JC
205 h.Lock()
206 defer h.Unlock()
207
107c1cdb
ND
208 h.PostProvisionInstanceStepCalled = true
209 h.PostProvisionInstanceStepAddr = addr
210 h.PostProvisionInstanceStepProvisionerType = typeName
211 h.PostProvisionInstanceStepErrorArg = err
212 return h.PostProvisionInstanceStepReturn, h.PostProvisionInstanceStepError
bae9f6d2
JC
213}
214
107c1cdb 215func (h *MockHook) ProvisionOutput(addr addrs.AbsResourceInstance, typeName string, line string) {
bae9f6d2
JC
216 h.Lock()
217 defer h.Unlock()
218
219 h.ProvisionOutputCalled = true
107c1cdb
ND
220 h.ProvisionOutputAddr = addr
221 h.ProvisionOutputProvisionerType = typeName
222 h.ProvisionOutputMessage = line
bae9f6d2
JC
223}
224
107c1cdb 225func (h *MockHook) PreRefresh(addr addrs.AbsResourceInstance, gen states.Generation, priorState cty.Value) (HookAction, error) {
bae9f6d2
JC
226 h.Lock()
227 defer h.Unlock()
228
229 h.PreRefreshCalled = true
107c1cdb
ND
230 h.PreRefreshAddr = addr
231 h.PreRefreshGen = gen
232 h.PreRefreshPriorState = priorState
bae9f6d2
JC
233 return h.PreRefreshReturn, h.PreRefreshError
234}
235
107c1cdb 236func (h *MockHook) PostRefresh(addr addrs.AbsResourceInstance, gen states.Generation, priorState cty.Value, newState cty.Value) (HookAction, error) {
bae9f6d2
JC
237 h.Lock()
238 defer h.Unlock()
239
240 h.PostRefreshCalled = true
107c1cdb
ND
241 h.PostRefreshAddr = addr
242 h.PostRefreshPriorState = priorState
243 h.PostRefreshNewState = newState
bae9f6d2
JC
244 return h.PostRefreshReturn, h.PostRefreshError
245}
246
107c1cdb 247func (h *MockHook) PreImportState(addr addrs.AbsResourceInstance, importID string) (HookAction, error) {
bae9f6d2
JC
248 h.Lock()
249 defer h.Unlock()
250
251 h.PreImportStateCalled = true
107c1cdb
ND
252 h.PreImportStateAddr = addr
253 h.PreImportStateID = importID
bae9f6d2
JC
254 return h.PreImportStateReturn, h.PreImportStateError
255}
256
107c1cdb 257func (h *MockHook) PostImportState(addr addrs.AbsResourceInstance, imported []providers.ImportedResource) (HookAction, error) {
bae9f6d2
JC
258 h.Lock()
259 defer h.Unlock()
260
261 h.PostImportStateCalled = true
107c1cdb
ND
262 h.PostImportStateAddr = addr
263 h.PostImportStateNewStates = imported
bae9f6d2
JC
264 return h.PostImportStateReturn, h.PostImportStateError
265}
266
107c1cdb 267func (h *MockHook) PostStateUpdate(new *states.State) (HookAction, error) {
bae9f6d2
JC
268 h.Lock()
269 defer h.Unlock()
270
271 h.PostStateUpdateCalled = true
107c1cdb 272 h.PostStateUpdateState = new
bae9f6d2
JC
273 return h.PostStateUpdateReturn, h.PostStateUpdateError
274}