@@ -109,54 +109,51 @@ type Task struct {
109
109
110
110
func (t * Task ) Create (ctx context.Context ) error {
111
111
logrus .Info ("Creating resources..." )
112
- logrus .Info ("[1/12] Parsing PermissionSet..." )
113
- if err := t .DataSources .PermissionSet .Read (ctx ); err != nil {
114
- return err
115
- }
116
- logrus .Info ("[2/12] Importing DefaultVPC..." )
117
- if err := t .DataSources .DefaultVPC .Read (ctx ); err != nil {
118
- return err
119
- }
120
- logrus .Info ("[3/12] Importing DefaultVPCSubnets..." )
121
- if err := t .DataSources .DefaultVPCSubnets .Read (ctx ); err != nil {
122
- return err
123
- }
124
- logrus .Info ("[4/12] Reading Image..." )
125
- if err := t .DataSources .Image .Read (ctx ); err != nil {
126
- return err
127
- }
128
- logrus .Info ("[5/12] Creating Bucket..." )
129
- if err := t .Resources .Bucket .Create (ctx ); err != nil {
130
- return err
131
- }
132
- logrus .Info ("[6/12] Creating SecurityGroup..." )
133
- if err := t .Resources .SecurityGroup .Create (ctx ); err != nil {
134
- return err
135
- }
136
- logrus .Info ("[7/12] Creating KeyPair..." )
137
- if err := t .Resources .KeyPair .Create (ctx ); err != nil {
138
- return err
139
- }
140
- logrus .Info ("[8/12] Reading Credentials..." )
141
- if err := t .DataSources .Credentials .Read (ctx ); err != nil {
142
- return err
143
- }
144
- logrus .Info ("[9/12] Creating LaunchTemplate..." )
145
- if err := t .Resources .LaunchTemplate .Create (ctx ); err != nil {
146
- return err
147
- }
148
- logrus .Info ("[10/12] Creating AutoScalingGroup..." )
149
- if err := t .Resources .AutoScalingGroup .Create (ctx ); err != nil {
150
- return err
151
- }
152
- logrus .Info ("[11/12] Uploading Directory..." )
112
+ steps := []common.Step {{
113
+ Description : "Parsing PermissionSet..." ,
114
+ Action : t .DataSources .PermissionSet .Read ,
115
+ }, {
116
+ Description : "Importing DefaultVPC..." ,
117
+ Action : t .DataSources .DefaultVPC .Read ,
118
+ }, {
119
+ Description : "Importing DefaultVPCSubnets..." ,
120
+ Action : t .DataSources .DefaultVPCSubnets .Read ,
121
+ }, {
122
+ Description : "Reading Image..." ,
123
+ Action : t .DataSources .Image .Read ,
124
+ }, {
125
+ Description : "Creating Bucket..." ,
126
+ Action : t .Resources .Bucket .Create ,
127
+ }, {
128
+ Description : "Creating SecurityGroup..." ,
129
+ Action : t .Resources .SecurityGroup .Create ,
130
+ }, {
131
+ Description : "Creating KeyPair..." ,
132
+ Action : t .Resources .KeyPair .Create ,
133
+ }, {
134
+ Description : "Reading Credentials..." ,
135
+ Action : t .DataSources .Credentials .Read ,
136
+ }, {
137
+ Description : "Creating LaunchTemplate..." ,
138
+ Action : t .Resources .LaunchTemplate .Create ,
139
+ }, {
140
+ Description : "Creating AutoScalingGroup..." ,
141
+ Action : t .Resources .AutoScalingGroup .Create ,
142
+ }}
143
+
153
144
if t .Attributes .Environment .Directory != "" {
154
- if err := t .Push (ctx , t .Attributes .Environment .Directory ); err != nil {
155
- return err
156
- }
157
- }
158
- logrus .Info ("[12/12] Starting task..." )
159
- if err := t .Start (ctx ); err != nil {
145
+ steps = append (steps , common.Step {
146
+ Description : "Uploading Directory..." ,
147
+ Action : func (ctx context.Context ) error {
148
+ return t .Push (ctx , t .Attributes .Environment .Directory )
149
+ },
150
+ })
151
+ }
152
+ steps = append (steps , common.Step {
153
+ Description : "Starting task..." ,
154
+ Action : t .Start ,
155
+ })
156
+ if err := common .RunSteps (ctx , steps ); err != nil {
160
157
return err
161
158
}
162
159
logrus .Info ("Creation completed" )
@@ -168,40 +165,35 @@ func (t *Task) Create(ctx context.Context) error {
168
165
169
166
func (t * Task ) Read (ctx context.Context ) error {
170
167
logrus .Info ("Reading resources... (this may happen several times)" )
171
- logrus .Info ("[1/9] Reading DefaultVPC..." )
172
- if err := t .DataSources .DefaultVPC .Read (ctx ); err != nil {
173
- return err
174
- }
175
- logrus .Info ("[2/9] Reading DefaultVPCSubnets..." )
176
- if err := t .DataSources .DefaultVPCSubnets .Read (ctx ); err != nil {
177
- return err
178
- }
179
- logrus .Info ("[3/9] Reading Image..." )
180
- if err := t .DataSources .Image .Read (ctx ); err != nil {
181
- return err
182
- }
183
- logrus .Info ("[4/9] Reading Bucket..." )
184
- if err := t .Resources .Bucket .Read (ctx ); err != nil {
185
- return err
186
- }
187
- logrus .Info ("[5/9] Reading SecurityGroup..." )
188
- if err := t .Resources .SecurityGroup .Read (ctx ); err != nil {
189
- return err
190
- }
191
- logrus .Info ("[6/9] Reading KeyPair..." )
192
- if err := t .Resources .KeyPair .Read (ctx ); err != nil {
193
- return err
194
- }
195
- logrus .Info ("[7/9] Reading Credentials..." )
196
- if err := t .DataSources .Credentials .Read (ctx ); err != nil {
197
- return err
198
- }
199
- logrus .Info ("[8/9] Reading LaunchTemplate..." )
200
- if err := t .Resources .LaunchTemplate .Read (ctx ); err != nil {
201
- return err
202
- }
203
- logrus .Info ("[9/9] Reading AutoScalingGroup..." )
204
- if err := t .Resources .AutoScalingGroup .Read (ctx ); err != nil {
168
+ steps := []common.Step {{
169
+ Description : "Reading DefaultVPC..." ,
170
+ Action : t .DataSources .DefaultVPC .Read ,
171
+ }, {
172
+ Description : "Reading DefaultVPCSubnets..." ,
173
+ Action : t .DataSources .DefaultVPCSubnets .Read ,
174
+ }, {
175
+ Description : "Reading Image..." ,
176
+ Action : t .DataSources .Image .Read ,
177
+ }, {
178
+ Description : "Reading Bucket..." ,
179
+ Action : t .Resources .Bucket .Read ,
180
+ }, {
181
+ Description : "Reading SecurityGroup..." ,
182
+ Action : t .Resources .SecurityGroup .Read ,
183
+ }, {
184
+ Description : "Reading KeyPair..." ,
185
+ Action : t .Resources .KeyPair .Read ,
186
+ }, {
187
+ Description : "Reading Credentials..." ,
188
+ Action : t .DataSources .Credentials .Read ,
189
+ }, {
190
+ Description : "Reading LaunchTemplate..." ,
191
+ Action : t .Resources .LaunchTemplate .Read ,
192
+ }, {
193
+ Description : "Reading AutoScalingGroup..." ,
194
+ Action : t .Resources .AutoScalingGroup .Read ,
195
+ }}
196
+ if err := common .RunSteps (ctx , steps ); err != nil {
205
197
return err
206
198
}
207
199
logrus .Info ("Read completed" )
@@ -213,41 +205,49 @@ func (t *Task) Read(ctx context.Context) error {
213
205
214
206
func (t * Task ) Delete (ctx context.Context ) error {
215
207
logrus .Info ("Deleting resources..." )
216
- logrus . Info ( "[1/8] Downloading Directory..." )
208
+ steps := []common. Step {}
217
209
if t .Read (ctx ) == nil {
218
210
if t .Attributes .Environment .DirectoryOut != "" {
219
- if err := t .Pull (ctx , t .Attributes .Environment .Directory , t .Attributes .Environment .DirectoryOut ); err != nil && err != common .NotFoundError {
220
- return err
221
- }
211
+ steps = []common.Step {{
212
+ Description : "Downloading Directory..." ,
213
+ Action : func (ctx context.Context ) error {
214
+ err := t .Pull (ctx , t .Attributes .Environment .Directory , t .Attributes .Environment .DirectoryOut )
215
+ if err != nil && err != common .NotFoundError {
216
+ return err
217
+ }
218
+ return nil
219
+ }}}
222
220
}
223
- logrus .Info ("[2/8] Emptying Bucket..." )
224
-
225
- if err := machine .Delete (ctx , t .DataSources .Credentials .Resource ["RCLONE_REMOTE" ]); err != nil && err != common .NotFoundError {
226
- return err
227
- }
228
- }
229
- logrus .Info ("[3/8] Deleting AutoScalingGroup..." )
230
- if err := t .Resources .AutoScalingGroup .Delete (ctx ); err != nil {
231
- return err
232
- }
233
- logrus .Info ("[4/8] Deleting LaunchTemplate..." )
234
- if err := t .Resources .LaunchTemplate .Delete (ctx ); err != nil {
235
- return err
236
- }
237
- logrus .Info ("[5/8] Deleting KeyPair..." )
238
- if err := t .Resources .KeyPair .Delete (ctx ); err != nil {
239
- return err
240
- }
241
- logrus .Info ("[6/8] Deleting SecurityGroup..." )
242
- if err := t .Resources .SecurityGroup .Delete (ctx ); err != nil {
243
- return err
244
- }
245
- logrus .Info ("[7/8] Reading Credentials..." )
246
- if err := t .DataSources .Credentials .Read (ctx ); err != nil {
247
- return err
248
- }
249
- logrus .Info ("[8/8] Deleting Bucket..." )
250
- if err := t .Resources .Bucket .Delete (ctx ); err != nil {
221
+ steps = append (steps , common.Step {
222
+ Description : "Emptying Bucket..." ,
223
+ Action : func (ctx context.Context ) error {
224
+ err := machine .Delete (ctx , t .DataSources .Credentials .Resource ["RCLONE_REMOTE" ])
225
+ if err != nil && err != common .NotFoundError {
226
+ return err
227
+ }
228
+ return nil
229
+ }})
230
+ }
231
+ steps = append (steps , []common.Step {{
232
+ Description : "Deleting AutoScalingGroup..." ,
233
+ Action : t .Resources .AutoScalingGroup .Delete ,
234
+ }, {
235
+ Description : "Deleting LaunchTemplate..." ,
236
+ Action : t .Resources .LaunchTemplate .Delete ,
237
+ }, {
238
+ Description : "Deleting KeyPair..." ,
239
+ Action : t .Resources .KeyPair .Delete ,
240
+ }, {
241
+ Description : "Deleting SecurityGroup..." ,
242
+ Action : t .Resources .SecurityGroup .Delete ,
243
+ }, {
244
+ Description : "Reading Credentials..." ,
245
+ Action : t .DataSources .Credentials .Read ,
246
+ }, {
247
+ Description : "Deleting Bucket..." ,
248
+ Action : t .Resources .Bucket .Delete ,
249
+ }}... )
250
+ if err := common .RunSteps (ctx , steps ); err != nil {
251
251
return err
252
252
}
253
253
logrus .Info ("Deletion completed" )
0 commit comments