1 | {
|
2 | "version": 2,
|
3 | "waiters": {
|
4 | "InstanceExists": {
|
5 | "delay": 5,
|
6 | "maxAttempts": 40,
|
7 | "operation": "DescribeInstances",
|
8 | "acceptors": [
|
9 | {
|
10 | "matcher": "path",
|
11 | "expected": true,
|
12 | "argument": "length(Reservations[]) > `0`",
|
13 | "state": "success"
|
14 | },
|
15 | {
|
16 | "matcher": "error",
|
17 | "expected": "InvalidInstanceID.NotFound",
|
18 | "state": "retry"
|
19 | }
|
20 | ]
|
21 | },
|
22 | "BundleTaskComplete": {
|
23 | "delay": 15,
|
24 | "operation": "DescribeBundleTasks",
|
25 | "maxAttempts": 40,
|
26 | "acceptors": [
|
27 | {
|
28 | "expected": "complete",
|
29 | "matcher": "pathAll",
|
30 | "state": "success",
|
31 | "argument": "BundleTasks[].State"
|
32 | },
|
33 | {
|
34 | "expected": "failed",
|
35 | "matcher": "pathAny",
|
36 | "state": "failure",
|
37 | "argument": "BundleTasks[].State"
|
38 | }
|
39 | ]
|
40 | },
|
41 | "ConversionTaskCancelled": {
|
42 | "delay": 15,
|
43 | "operation": "DescribeConversionTasks",
|
44 | "maxAttempts": 40,
|
45 | "acceptors": [
|
46 | {
|
47 | "expected": "cancelled",
|
48 | "matcher": "pathAll",
|
49 | "state": "success",
|
50 | "argument": "ConversionTasks[].State"
|
51 | }
|
52 | ]
|
53 | },
|
54 | "ConversionTaskCompleted": {
|
55 | "delay": 15,
|
56 | "operation": "DescribeConversionTasks",
|
57 | "maxAttempts": 40,
|
58 | "acceptors": [
|
59 | {
|
60 | "expected": "completed",
|
61 | "matcher": "pathAll",
|
62 | "state": "success",
|
63 | "argument": "ConversionTasks[].State"
|
64 | },
|
65 | {
|
66 | "expected": "cancelled",
|
67 | "matcher": "pathAny",
|
68 | "state": "failure",
|
69 | "argument": "ConversionTasks[].State"
|
70 | },
|
71 | {
|
72 | "expected": "cancelling",
|
73 | "matcher": "pathAny",
|
74 | "state": "failure",
|
75 | "argument": "ConversionTasks[].State"
|
76 | }
|
77 | ]
|
78 | },
|
79 | "ConversionTaskDeleted": {
|
80 | "delay": 15,
|
81 | "operation": "DescribeConversionTasks",
|
82 | "maxAttempts": 40,
|
83 | "acceptors": [
|
84 | {
|
85 | "expected": "deleted",
|
86 | "matcher": "pathAll",
|
87 | "state": "success",
|
88 | "argument": "ConversionTasks[].State"
|
89 | }
|
90 | ]
|
91 | },
|
92 | "CustomerGatewayAvailable": {
|
93 | "delay": 15,
|
94 | "operation": "DescribeCustomerGateways",
|
95 | "maxAttempts": 40,
|
96 | "acceptors": [
|
97 | {
|
98 | "expected": "available",
|
99 | "matcher": "pathAll",
|
100 | "state": "success",
|
101 | "argument": "CustomerGateways[].State"
|
102 | },
|
103 | {
|
104 | "expected": "deleted",
|
105 | "matcher": "pathAny",
|
106 | "state": "failure",
|
107 | "argument": "CustomerGateways[].State"
|
108 | },
|
109 | {
|
110 | "expected": "deleting",
|
111 | "matcher": "pathAny",
|
112 | "state": "failure",
|
113 | "argument": "CustomerGateways[].State"
|
114 | }
|
115 | ]
|
116 | },
|
117 | "ExportTaskCancelled": {
|
118 | "delay": 15,
|
119 | "operation": "DescribeExportTasks",
|
120 | "maxAttempts": 40,
|
121 | "acceptors": [
|
122 | {
|
123 | "expected": "cancelled",
|
124 | "matcher": "pathAll",
|
125 | "state": "success",
|
126 | "argument": "ExportTasks[].State"
|
127 | }
|
128 | ]
|
129 | },
|
130 | "ExportTaskCompleted": {
|
131 | "delay": 15,
|
132 | "operation": "DescribeExportTasks",
|
133 | "maxAttempts": 40,
|
134 | "acceptors": [
|
135 | {
|
136 | "expected": "completed",
|
137 | "matcher": "pathAll",
|
138 | "state": "success",
|
139 | "argument": "ExportTasks[].State"
|
140 | }
|
141 | ]
|
142 | },
|
143 | "ImageExists": {
|
144 | "operation": "DescribeImages",
|
145 | "maxAttempts": 40,
|
146 | "delay": 15,
|
147 | "acceptors": [
|
148 | {
|
149 | "matcher": "path",
|
150 | "expected": true,
|
151 | "argument": "length(Images[]) > `0`",
|
152 | "state": "success"
|
153 | },
|
154 | {
|
155 | "matcher": "error",
|
156 | "expected": "InvalidAMIID.NotFound",
|
157 | "state": "retry"
|
158 | }
|
159 | ]
|
160 | },
|
161 | "ImageAvailable": {
|
162 | "operation": "DescribeImages",
|
163 | "maxAttempts": 40,
|
164 | "delay": 15,
|
165 | "acceptors": [
|
166 | {
|
167 | "state": "success",
|
168 | "matcher": "pathAll",
|
169 | "argument": "Images[].State",
|
170 | "expected": "available"
|
171 | },
|
172 | {
|
173 | "state": "failure",
|
174 | "matcher": "pathAny",
|
175 | "argument": "Images[].State",
|
176 | "expected": "failed"
|
177 | }
|
178 | ]
|
179 | },
|
180 | "InstanceRunning": {
|
181 | "delay": 15,
|
182 | "operation": "DescribeInstances",
|
183 | "maxAttempts": 40,
|
184 | "acceptors": [
|
185 | {
|
186 | "expected": "running",
|
187 | "matcher": "pathAll",
|
188 | "state": "success",
|
189 | "argument": "Reservations[].Instances[].State.Name"
|
190 | },
|
191 | {
|
192 | "expected": "shutting-down",
|
193 | "matcher": "pathAny",
|
194 | "state": "failure",
|
195 | "argument": "Reservations[].Instances[].State.Name"
|
196 | },
|
197 | {
|
198 | "expected": "terminated",
|
199 | "matcher": "pathAny",
|
200 | "state": "failure",
|
201 | "argument": "Reservations[].Instances[].State.Name"
|
202 | },
|
203 | {
|
204 | "expected": "stopping",
|
205 | "matcher": "pathAny",
|
206 | "state": "failure",
|
207 | "argument": "Reservations[].Instances[].State.Name"
|
208 | },
|
209 | {
|
210 | "matcher": "error",
|
211 | "expected": "InvalidInstanceID.NotFound",
|
212 | "state": "retry"
|
213 | }
|
214 | ]
|
215 | },
|
216 | "InstanceStatusOk": {
|
217 | "operation": "DescribeInstanceStatus",
|
218 | "maxAttempts": 40,
|
219 | "delay": 15,
|
220 | "acceptors": [
|
221 | {
|
222 | "state": "success",
|
223 | "matcher": "pathAll",
|
224 | "argument": "InstanceStatuses[].InstanceStatus.Status",
|
225 | "expected": "ok"
|
226 | },
|
227 | {
|
228 | "matcher": "error",
|
229 | "expected": "InvalidInstanceID.NotFound",
|
230 | "state": "retry"
|
231 | }
|
232 | ]
|
233 | },
|
234 | "InstanceStopped": {
|
235 | "delay": 15,
|
236 | "operation": "DescribeInstances",
|
237 | "maxAttempts": 40,
|
238 | "acceptors": [
|
239 | {
|
240 | "expected": "stopped",
|
241 | "matcher": "pathAll",
|
242 | "state": "success",
|
243 | "argument": "Reservations[].Instances[].State.Name"
|
244 | },
|
245 | {
|
246 | "expected": "pending",
|
247 | "matcher": "pathAny",
|
248 | "state": "failure",
|
249 | "argument": "Reservations[].Instances[].State.Name"
|
250 | },
|
251 | {
|
252 | "expected": "terminated",
|
253 | "matcher": "pathAny",
|
254 | "state": "failure",
|
255 | "argument": "Reservations[].Instances[].State.Name"
|
256 | }
|
257 | ]
|
258 | },
|
259 | "InstanceTerminated": {
|
260 | "delay": 15,
|
261 | "operation": "DescribeInstances",
|
262 | "maxAttempts": 40,
|
263 | "acceptors": [
|
264 | {
|
265 | "expected": "terminated",
|
266 | "matcher": "pathAll",
|
267 | "state": "success",
|
268 | "argument": "Reservations[].Instances[].State.Name"
|
269 | },
|
270 | {
|
271 | "expected": "pending",
|
272 | "matcher": "pathAny",
|
273 | "state": "failure",
|
274 | "argument": "Reservations[].Instances[].State.Name"
|
275 | },
|
276 | {
|
277 | "expected": "stopping",
|
278 | "matcher": "pathAny",
|
279 | "state": "failure",
|
280 | "argument": "Reservations[].Instances[].State.Name"
|
281 | }
|
282 | ]
|
283 | },
|
284 | "KeyPairExists": {
|
285 | "operation": "DescribeKeyPairs",
|
286 | "delay": 5,
|
287 | "maxAttempts": 6,
|
288 | "acceptors": [
|
289 | {
|
290 | "expected": true,
|
291 | "matcher": "pathAll",
|
292 | "state": "success",
|
293 | "argument": "length(KeyPairs[].KeyName) > `0`"
|
294 | },
|
295 | {
|
296 | "expected": "InvalidKeyPair.NotFound",
|
297 | "matcher": "error",
|
298 | "state": "retry"
|
299 | }
|
300 | ]
|
301 | },
|
302 | "NatGatewayAvailable": {
|
303 | "operation": "DescribeNatGateways",
|
304 | "delay": 15,
|
305 | "maxAttempts": 40,
|
306 | "acceptors": [
|
307 | {
|
308 | "state": "success",
|
309 | "matcher": "pathAll",
|
310 | "argument": "NatGateways[].State",
|
311 | "expected": "available"
|
312 | },
|
313 | {
|
314 | "state": "failure",
|
315 | "matcher": "pathAny",
|
316 | "argument": "NatGateways[].State",
|
317 | "expected": "failed"
|
318 | },
|
319 | {
|
320 | "state": "failure",
|
321 | "matcher": "pathAny",
|
322 | "argument": "NatGateways[].State",
|
323 | "expected": "deleting"
|
324 | },
|
325 | {
|
326 | "state": "failure",
|
327 | "matcher": "pathAny",
|
328 | "argument": "NatGateways[].State",
|
329 | "expected": "deleted"
|
330 | },
|
331 | {
|
332 | "state": "retry",
|
333 | "matcher": "error",
|
334 | "expected": "NatGatewayNotFound"
|
335 | }
|
336 | ]
|
337 | },
|
338 | "NetworkInterfaceAvailable": {
|
339 | "operation": "DescribeNetworkInterfaces",
|
340 | "delay": 20,
|
341 | "maxAttempts": 10,
|
342 | "acceptors": [
|
343 | {
|
344 | "expected": "available",
|
345 | "matcher": "pathAll",
|
346 | "state": "success",
|
347 | "argument": "NetworkInterfaces[].Status"
|
348 | },
|
349 | {
|
350 | "expected": "InvalidNetworkInterfaceID.NotFound",
|
351 | "matcher": "error",
|
352 | "state": "failure"
|
353 | }
|
354 | ]
|
355 | },
|
356 | "PasswordDataAvailable": {
|
357 | "operation": "GetPasswordData",
|
358 | "maxAttempts": 40,
|
359 | "delay": 15,
|
360 | "acceptors": [
|
361 | {
|
362 | "state": "success",
|
363 | "matcher": "path",
|
364 | "argument": "length(PasswordData) > `0`",
|
365 | "expected": true
|
366 | }
|
367 | ]
|
368 | },
|
369 | "SnapshotCompleted": {
|
370 | "delay": 15,
|
371 | "operation": "DescribeSnapshots",
|
372 | "maxAttempts": 40,
|
373 | "acceptors": [
|
374 | {
|
375 | "expected": "completed",
|
376 | "matcher": "pathAll",
|
377 | "state": "success",
|
378 | "argument": "Snapshots[].State"
|
379 | }
|
380 | ]
|
381 | },
|
382 | "SpotInstanceRequestFulfilled": {
|
383 | "operation": "DescribeSpotInstanceRequests",
|
384 | "maxAttempts": 40,
|
385 | "delay": 15,
|
386 | "acceptors": [
|
387 | {
|
388 | "state": "success",
|
389 | "matcher": "pathAll",
|
390 | "argument": "SpotInstanceRequests[].Status.Code",
|
391 | "expected": "fulfilled"
|
392 | },
|
393 | {
|
394 | "state": "failure",
|
395 | "matcher": "pathAny",
|
396 | "argument": "SpotInstanceRequests[].Status.Code",
|
397 | "expected": "schedule-expired"
|
398 | },
|
399 | {
|
400 | "state": "failure",
|
401 | "matcher": "pathAny",
|
402 | "argument": "SpotInstanceRequests[].Status.Code",
|
403 | "expected": "canceled-before-fulfillment"
|
404 | },
|
405 | {
|
406 | "state": "failure",
|
407 | "matcher": "pathAny",
|
408 | "argument": "SpotInstanceRequests[].Status.Code",
|
409 | "expected": "bad-parameters"
|
410 | },
|
411 | {
|
412 | "state": "failure",
|
413 | "matcher": "pathAny",
|
414 | "argument": "SpotInstanceRequests[].Status.Code",
|
415 | "expected": "system-error"
|
416 | }
|
417 | ]
|
418 | },
|
419 | "SubnetAvailable": {
|
420 | "delay": 15,
|
421 | "operation": "DescribeSubnets",
|
422 | "maxAttempts": 40,
|
423 | "acceptors": [
|
424 | {
|
425 | "expected": "available",
|
426 | "matcher": "pathAll",
|
427 | "state": "success",
|
428 | "argument": "Subnets[].State"
|
429 | }
|
430 | ]
|
431 | },
|
432 | "SystemStatusOk": {
|
433 | "operation": "DescribeInstanceStatus",
|
434 | "maxAttempts": 40,
|
435 | "delay": 15,
|
436 | "acceptors": [
|
437 | {
|
438 | "state": "success",
|
439 | "matcher": "pathAll",
|
440 | "argument": "InstanceStatuses[].SystemStatus.Status",
|
441 | "expected": "ok"
|
442 | }
|
443 | ]
|
444 | },
|
445 | "VolumeAvailable": {
|
446 | "delay": 15,
|
447 | "operation": "DescribeVolumes",
|
448 | "maxAttempts": 40,
|
449 | "acceptors": [
|
450 | {
|
451 | "expected": "available",
|
452 | "matcher": "pathAll",
|
453 | "state": "success",
|
454 | "argument": "Volumes[].State"
|
455 | },
|
456 | {
|
457 | "expected": "deleted",
|
458 | "matcher": "pathAny",
|
459 | "state": "failure",
|
460 | "argument": "Volumes[].State"
|
461 | }
|
462 | ]
|
463 | },
|
464 | "VolumeDeleted": {
|
465 | "delay": 15,
|
466 | "operation": "DescribeVolumes",
|
467 | "maxAttempts": 40,
|
468 | "acceptors": [
|
469 | {
|
470 | "expected": "deleted",
|
471 | "matcher": "pathAll",
|
472 | "state": "success",
|
473 | "argument": "Volumes[].State"
|
474 | },
|
475 | {
|
476 | "matcher": "error",
|
477 | "expected": "InvalidVolume.NotFound",
|
478 | "state": "success"
|
479 | }
|
480 | ]
|
481 | },
|
482 | "VolumeInUse": {
|
483 | "delay": 15,
|
484 | "operation": "DescribeVolumes",
|
485 | "maxAttempts": 40,
|
486 | "acceptors": [
|
487 | {
|
488 | "expected": "in-use",
|
489 | "matcher": "pathAll",
|
490 | "state": "success",
|
491 | "argument": "Volumes[].State"
|
492 | },
|
493 | {
|
494 | "expected": "deleted",
|
495 | "matcher": "pathAny",
|
496 | "state": "failure",
|
497 | "argument": "Volumes[].State"
|
498 | }
|
499 | ]
|
500 | },
|
501 | "VpcAvailable": {
|
502 | "delay": 15,
|
503 | "operation": "DescribeVpcs",
|
504 | "maxAttempts": 40,
|
505 | "acceptors": [
|
506 | {
|
507 | "expected": "available",
|
508 | "matcher": "pathAll",
|
509 | "state": "success",
|
510 | "argument": "Vpcs[].State"
|
511 | }
|
512 | ]
|
513 | },
|
514 | "VpcExists": {
|
515 | "operation": "DescribeVpcs",
|
516 | "delay": 1,
|
517 | "maxAttempts": 5,
|
518 | "acceptors": [
|
519 | {
|
520 | "matcher": "status",
|
521 | "expected": 200,
|
522 | "state": "success"
|
523 | },
|
524 | {
|
525 | "matcher": "error",
|
526 | "expected": "InvalidVpcID.NotFound",
|
527 | "state": "retry"
|
528 | }
|
529 | ]
|
530 | },
|
531 | "VpnConnectionAvailable": {
|
532 | "delay": 15,
|
533 | "operation": "DescribeVpnConnections",
|
534 | "maxAttempts": 40,
|
535 | "acceptors": [
|
536 | {
|
537 | "expected": "available",
|
538 | "matcher": "pathAll",
|
539 | "state": "success",
|
540 | "argument": "VpnConnections[].State"
|
541 | },
|
542 | {
|
543 | "expected": "deleting",
|
544 | "matcher": "pathAny",
|
545 | "state": "failure",
|
546 | "argument": "VpnConnections[].State"
|
547 | },
|
548 | {
|
549 | "expected": "deleted",
|
550 | "matcher": "pathAny",
|
551 | "state": "failure",
|
552 | "argument": "VpnConnections[].State"
|
553 | }
|
554 | ]
|
555 | },
|
556 | "VpnConnectionDeleted": {
|
557 | "delay": 15,
|
558 | "operation": "DescribeVpnConnections",
|
559 | "maxAttempts": 40,
|
560 | "acceptors": [
|
561 | {
|
562 | "expected": "deleted",
|
563 | "matcher": "pathAll",
|
564 | "state": "success",
|
565 | "argument": "VpnConnections[].State"
|
566 | },
|
567 | {
|
568 | "expected": "pending",
|
569 | "matcher": "pathAny",
|
570 | "state": "failure",
|
571 | "argument": "VpnConnections[].State"
|
572 | }
|
573 | ]
|
574 | },
|
575 | "VpcPeeringConnectionExists": {
|
576 | "delay": 15,
|
577 | "operation": "DescribeVpcPeeringConnections",
|
578 | "maxAttempts": 40,
|
579 | "acceptors": [
|
580 | {
|
581 | "matcher": "status",
|
582 | "expected": 200,
|
583 | "state": "success"
|
584 | },
|
585 | {
|
586 | "matcher": "error",
|
587 | "expected": "InvalidVpcPeeringConnectionID.NotFound",
|
588 | "state": "retry"
|
589 | }
|
590 | ]
|
591 | }
|
592 | }
|
593 | }
|