waiters-2.json 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593
  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. }