aws-sdk-core 2.6.1 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (242) hide show
  1. checksums.yaml +4 -4
  2. data/apis/acm/2015-12-08/api-2.json +93 -4
  3. data/apis/acm/2015-12-08/paginators-1.json +2 -2
  4. data/apis/apigateway/2015-07-09/api-2.json +640 -30
  5. data/apis/application-autoscaling/2016-02-06/api-2.json +5 -2
  6. data/apis/appstream/2016-12-01/api-2.json +820 -0
  7. data/apis/appstream/2016-12-01/examples-1.json +5 -0
  8. data/apis/appstream/2016-12-01/waiters-2.json +55 -0
  9. data/apis/autoscaling/2011-01-01/api-2.json +1 -0
  10. data/apis/autoscaling/2011-01-01/resources-1.json +12 -1
  11. data/apis/batch/2016-08-10/api-2.json +885 -0
  12. data/apis/batch/2016-08-10/examples-1.json +589 -0
  13. data/apis/budgets/2016-10-20/api-2.json +696 -0
  14. data/apis/budgets/2016-10-20/examples-1.json +5 -0
  15. data/apis/cloudformation/2010-05-15/api-2.json +138 -12
  16. data/apis/cloudformation/2010-05-15/examples-1.json +153 -0
  17. data/apis/cloudformation/2010-05-15/resources-1.json +10 -1
  18. data/apis/cloudformation/2010-05-15/waiters-2.json +18 -96
  19. data/apis/cloudfront/2016-01-28/api-2.json +1 -0
  20. data/apis/cloudfront/2016-08-01/api-2.json +1 -0
  21. data/apis/cloudfront/2016-08-20/api-2.json +1 -0
  22. data/apis/cloudfront/2016-09-07/api-2.json +1 -0
  23. data/apis/cloudfront/2016-09-29/api-2.json +2599 -0
  24. data/apis/cloudfront/2016-09-29/examples-1.json +5 -0
  25. data/apis/cloudfront/2016-09-29/paginators-1.json +32 -0
  26. data/apis/cloudfront/2016-09-29/waiters-2.json +47 -0
  27. data/apis/cloudfront/2016-11-25/api-2.json +2665 -0
  28. data/apis/cloudfront/2016-11-25/examples-1.json +5 -0
  29. data/apis/cloudfront/2016-11-25/paginators-1.json +32 -0
  30. data/apis/cloudfront/2016-11-25/waiters-2.json +47 -0
  31. data/apis/cloudhsm/2014-05-30/api-2.json +2 -1
  32. data/apis/cloudsearch/2013-01-01/api-2.json +2 -1
  33. data/apis/cloudsearchdomain/2013-01-01/api-2.json +2 -1
  34. data/apis/cloudtrail/2013-11-01/api-2.json +109 -3
  35. data/apis/cloudtrail/2013-11-01/paginators-1.json +6 -0
  36. data/apis/codebuild/2016-10-06/api-2.json +702 -0
  37. data/apis/codebuild/2016-10-06/examples-1.json +5 -0
  38. data/apis/codecommit/2015-04-13/api-2.json +2 -1
  39. data/apis/codedeploy/2014-10-06/api-2.json +138 -17
  40. data/apis/codepipeline/2015-07-09/api-2.json +3 -2
  41. data/apis/cognito-identity/2014-06-30/api-2.json +84 -5
  42. data/apis/cognito-idp/2016-04-18/api-2.json +472 -10
  43. data/apis/cognito-sync/2014-06-30/api-2.json +2 -1
  44. data/apis/config/2014-11-12/api-2.json +40 -9
  45. data/apis/config/2014-11-12/paginators-1.json +2 -2
  46. data/apis/cur/2017-01-06/api-2.json +226 -0
  47. data/apis/cur/2017-01-06/examples-1.json +5 -0
  48. data/apis/cur/2017-01-06/paginators-1.json +9 -0
  49. data/apis/datapipeline/2012-10-29/api-2.json +2 -1
  50. data/apis/devicefarm/2015-06-23/api-2.json +2 -1
  51. data/apis/devicefarm/2015-06-23/examples-1.json +1237 -0
  52. data/apis/directconnect/2012-10-25/api-2.json +257 -10
  53. data/apis/discovery/2015-11-01/api-2.json +316 -5
  54. data/apis/dms/2016-01-01/api-2.json +45 -9
  55. data/apis/ds/2015-04-16/api-2.json +144 -1
  56. data/apis/dynamodb/2011-12-05/api-2.json +802 -0
  57. data/apis/dynamodb/2011-12-05/examples-1.json +5 -0
  58. data/apis/dynamodb/2011-12-05/paginators-1.json +26 -0
  59. data/apis/dynamodb/2011-12-05/waiters-2.json +35 -0
  60. data/apis/dynamodb/2012-08-10/api-2.json +115 -1
  61. data/apis/dynamodb/2012-08-10/examples-1.json +623 -0
  62. data/apis/dynamodb/2012-08-10/paginators-1.json +4 -4
  63. data/apis/ec2/2015-10-01/api-2.json +1 -0
  64. data/apis/ec2/2016-04-01/api-2.json +1 -0
  65. data/apis/ec2/2016-09-15/api-2.json +14415 -0
  66. data/apis/ec2/2016-09-15/examples-1.json +3740 -0
  67. data/apis/ec2/2016-09-15/paginators-1.json +138 -0
  68. data/apis/ec2/2016-09-15/resources-1.json +2582 -0
  69. data/apis/ec2/2016-09-15/waiters-2.json +593 -0
  70. data/apis/ec2/2016-11-15/api-2.json +15037 -0
  71. data/apis/ec2/2016-11-15/examples-1.json +3740 -0
  72. data/apis/ec2/2016-11-15/paginators-1.json +138 -0
  73. data/apis/ec2/2016-11-15/resources-1.json +2582 -0
  74. data/apis/ec2/2016-11-15/waiters-2.json +593 -0
  75. data/apis/ecr/2015-09-21/api-2.json +88 -4
  76. data/apis/ecr/2015-09-21/paginators-1.json +12 -6
  77. data/apis/ecs/2014-11-13/api-2.json +183 -9
  78. data/apis/elasticache/2015-02-02/api-2.json +57 -9
  79. data/apis/elasticache/2015-02-02/examples-1.json +2963 -0
  80. data/apis/elasticbeanstalk/2010-12-01/api-2.json +155 -6
  81. data/apis/elasticfilesystem/2015-02-01/api-2.json +2 -1
  82. data/apis/elasticfilesystem/2015-02-01/examples-1.json +217 -0
  83. data/apis/elasticloadbalancing/2012-06-01/api-2.json +1 -0
  84. data/apis/elasticloadbalancingv2/2015-12-01/api-2.json +1 -0
  85. data/apis/elasticmapreduce/2009-03-31/api-2.json +449 -5
  86. data/apis/elastictranscoder/2012-09-25/api-2.json +44 -13
  87. data/apis/elastictranscoder/2012-09-25/examples-1.json +5 -0
  88. data/apis/email/2010-12-01/api-2.json +425 -4
  89. data/apis/es/2015-01-01/api-2.json +1 -0
  90. data/apis/events/2015-10-07/api-2.json +1 -0
  91. data/apis/firehose/2015-08-04/api-2.json +151 -4
  92. data/apis/firehose/2015-08-04/examples-1.json +5 -0
  93. data/apis/gamelift/2015-10-01/api-2.json +367 -787
  94. data/apis/gamelift/2015-10-01/examples-1.json +2 -2
  95. data/apis/glacier/2012-06-01/api-2.json +369 -779
  96. data/apis/glacier/2012-06-01/examples-1.json +806 -0
  97. data/apis/glacier/2012-06-01/paginators-1.json +5 -5
  98. data/apis/health/2016-08-04/api-2.json +547 -0
  99. data/apis/health/2016-08-04/examples-1.json +5 -0
  100. data/apis/health/2016-08-04/paginators-1.json +31 -0
  101. data/apis/iam/2010-05-08/api-2.json +209 -0
  102. data/apis/iam/2010-05-08/examples-1.json +1186 -0
  103. data/apis/importexport/2010-06-01/api-2.json +1 -0
  104. data/apis/inspector/2016-02-16/api-2.json +2 -1
  105. data/apis/inspector/2016-02-16/examples-1.json +1135 -0
  106. data/apis/iot/2015-05-28/api-2.json +16 -0
  107. data/apis/iot-data/2015-05-28/api-2.json +1 -0
  108. data/apis/kinesis/2013-12-02/api-2.json +80 -12
  109. data/apis/kinesisanalytics/2015-08-14/api-2.json +7 -2
  110. data/apis/kms/2014-11-01/api-2.json +4 -2
  111. data/apis/kms/2014-11-01/examples-1.json +810 -0
  112. data/apis/lambda/2014-11-11/api-2.json +1 -0
  113. data/apis/lambda/2015-03-31/api-2.json +162 -9
  114. data/apis/lambda/2015-03-31/examples-1.json +609 -0
  115. data/apis/lightsail/2016-11-28/api-2.json +2137 -0
  116. data/apis/lightsail/2016-11-28/examples-1.json +5 -0
  117. data/apis/logs/2014-03-28/api-2.json +113 -6
  118. data/apis/machinelearning/2014-12-12/api-2.json +1 -0
  119. data/apis/marketplacecommerceanalytics/2015-07-01/api-2.json +5 -2
  120. data/apis/meteringmarketplace/2016-01-14/api-2.json +136 -0
  121. data/apis/monitoring/2010-08-01/api-2.json +27 -6
  122. data/apis/opsworks/2013-02-18/api-2.json +1 -0
  123. data/apis/opsworkscm/2016-11-01/api-2.json +712 -0
  124. data/apis/opsworkscm/2016-11-01/examples-1.json +5 -0
  125. data/apis/pinpoint/2016-12-01/api-2.json +2753 -0
  126. data/apis/pinpoint/2016-12-01/examples-1.json +5 -0
  127. data/apis/polly/2016-06-10/api-2.json +504 -0
  128. data/apis/polly/2016-06-10/examples-1.json +171 -0
  129. data/apis/rds/2013-01-10/api-2.json +2902 -0
  130. data/apis/rds/2013-01-10/examples-1.json +5 -0
  131. data/apis/rds/2013-01-10/paginators-1.json +97 -0
  132. data/apis/rds/2013-02-12/api-2.json +3058 -0
  133. data/apis/rds/2013-02-12/examples-1.json +5 -0
  134. data/apis/rds/2013-02-12/paginators-1.json +110 -0
  135. data/apis/rds/2013-09-09/api-2.json +3159 -0
  136. data/apis/rds/2013-09-09/examples-1.json +5 -0
  137. data/apis/rds/2013-09-09/paginators-1.json +110 -0
  138. data/apis/rds/2013-09-09/waiters-2.json +97 -0
  139. data/apis/rds/2014-09-01/api-2.json +3272 -0
  140. data/apis/rds/2014-09-01/examples-1.json +5 -0
  141. data/apis/rds/2014-09-01/paginators-1.json +4 -0
  142. data/apis/rds/2014-10-31/api-2.json +144 -11
  143. data/apis/rds/2014-10-31/examples-1.json +332 -4
  144. data/apis/rds/2014-10-31/paginators-1.json +18 -18
  145. data/apis/rds/2014-10-31/resources-1.json +1 -1
  146. data/apis/redshift/2012-12-01/api-2.json +10 -3
  147. data/apis/rekognition/2016-06-27/api-2.json +836 -0
  148. data/apis/rekognition/2016-06-27/examples-1.json +651 -0
  149. data/apis/rekognition/2016-06-27/paginators-1.json +16 -0
  150. data/apis/route53/2013-04-01/api-2.json +186 -219
  151. data/apis/route53/2013-04-01/paginators-1.json +9 -9
  152. data/apis/route53domains/2014-05-15/api-2.json +1 -0
  153. data/apis/s3/2006-03-01/api-2.json +871 -20
  154. data/apis/sdb/2009-04-15/api-2.json +1 -0
  155. data/apis/servicecatalog/2015-12-10/api-2.json +1214 -29
  156. data/apis/shield/2016-06-02/api-2.json +494 -0
  157. data/apis/shield/2016-06-02/examples-1.json +5 -0
  158. data/apis/sms/2016-10-24/api-2.json +612 -0
  159. data/apis/sms/2016-10-24/examples-1.json +5 -0
  160. data/apis/sms/2016-10-24/paginators-1.json +28 -0
  161. data/apis/snowball/2016-06-30/api-2.json +283 -11
  162. data/apis/snowball/2016-06-30/examples-1.json +437 -0
  163. data/apis/sns/2010-03-31/api-2.json +1 -0
  164. data/apis/sqs/2012-11-05/api-2.json +74 -38
  165. data/apis/sqs/2012-11-05/examples-1.json +0 -39
  166. data/apis/sqs/2012-11-05/resources-1.json +232 -0
  167. data/apis/ssm/2014-11-06/api-2.json +4036 -536
  168. data/apis/states/2016-11-23/api-2.json +1021 -0
  169. data/apis/states/2016-11-23/examples-1.json +5 -0
  170. data/apis/states/2016-11-23/paginators-1.json +28 -0
  171. data/apis/storagegateway/2013-06-30/api-2.json +269 -6
  172. data/apis/storagegateway/2013-06-30/examples-1.json +1376 -0
  173. data/apis/streams.dynamodb/2012-08-10/api-2.json +2 -1
  174. data/apis/streams.dynamodb/2012-08-10/examples-1.json +207 -0
  175. data/apis/sts/2011-06-15/api-2.json +1 -0
  176. data/apis/sts/2011-06-15/examples-1.json +201 -0
  177. data/apis/support/2013-04-15/api-2.json +1 -0
  178. data/apis/swf/2012-01-25/api-2.json +1 -0
  179. data/apis/waf/2015-08-24/api-2.json +12 -11
  180. data/apis/waf/2015-08-24/examples-1.json +1012 -0
  181. data/apis/waf-regional/2016-11-28/api-2.json +2090 -0
  182. data/apis/waf-regional/2016-11-28/examples-1.json +1017 -0
  183. data/apis/workspaces/2015-04-08/api-2.json +1 -0
  184. data/apis/xray/2016-04-12/api-2.json +491 -0
  185. data/apis/xray/2016-04-12/examples-1.json +5 -0
  186. data/endpoints.json +781 -392
  187. data/lib/aws-sdk-core/api/customizations.rb +16 -0
  188. data/lib/aws-sdk-core/api/docs/builder.rb +2 -1
  189. data/lib/aws-sdk-core/api/docs/client_type_documenter.rb +9 -0
  190. data/lib/aws-sdk-core/api/docs/crosslink.rb +43 -0
  191. data/lib/aws-sdk-core/api/docs/operation_documenter.rb +11 -2
  192. data/lib/aws-sdk-core/appstream.rb +6 -0
  193. data/lib/aws-sdk-core/batch.rb +5 -0
  194. data/lib/aws-sdk-core/budgets.rb +5 -0
  195. data/lib/aws-sdk-core/client.rb +1 -0
  196. data/lib/aws-sdk-core/client_waiters.rb +5 -5
  197. data/lib/aws-sdk-core/cloudfront/url_signer.rb +1 -1
  198. data/lib/aws-sdk-core/cloudfront.rb +5 -5
  199. data/lib/aws-sdk-core/codebuild.rb +5 -0
  200. data/lib/aws-sdk-core/costandusagereportservice.rb +6 -0
  201. data/lib/aws-sdk-core/credential_provider_chain.rb +3 -3
  202. data/lib/aws-sdk-core/cur.rb +6 -0
  203. data/lib/aws-sdk-core/ec2.rb +6 -6
  204. data/lib/aws-sdk-core/elastictranscoder.rb +1 -0
  205. data/lib/aws-sdk-core/firehose.rb +1 -0
  206. data/lib/aws-sdk-core/glacier.rb +1 -0
  207. data/lib/aws-sdk-core/health.rb +6 -0
  208. data/lib/aws-sdk-core/instance_profile_credentials.rb +1 -1
  209. data/lib/aws-sdk-core/lightsail.rb +5 -0
  210. data/lib/aws-sdk-core/opsworkscm.rb +5 -0
  211. data/lib/aws-sdk-core/partitions/region.rb +0 -12
  212. data/lib/aws-sdk-core/partitions/service.rb +1 -11
  213. data/lib/aws-sdk-core/pinpoint.rb +5 -0
  214. data/lib/aws-sdk-core/plugins/ec2_copy_encrypted_snapshot.rb +24 -55
  215. data/lib/aws-sdk-core/plugins/idempotency_token.rb +37 -0
  216. data/lib/aws-sdk-core/plugins/rds_cross_region_copying.rb +64 -0
  217. data/lib/aws-sdk-core/plugins/request_signer.rb +4 -0
  218. data/lib/aws-sdk-core/plugins/retry_errors.rb +1 -0
  219. data/lib/aws-sdk-core/plugins/s3_accelerate.rb +18 -1
  220. data/lib/aws-sdk-core/plugins/s3_bucket_dns.rb +1 -1
  221. data/lib/aws-sdk-core/plugins/s3_dualstack.rb +6 -9
  222. data/lib/aws-sdk-core/plugins/sqs_md5s.rb +1 -1
  223. data/lib/aws-sdk-core/polly/presigner.rb +70 -0
  224. data/lib/aws-sdk-core/polly.rb +13 -0
  225. data/lib/aws-sdk-core/rekognition.rb +6 -0
  226. data/lib/aws-sdk-core/rest/request/endpoint.rb +11 -66
  227. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +90 -0
  228. data/lib/aws-sdk-core/shield.rb +5 -0
  229. data/lib/aws-sdk-core/signers/v4.rb +2 -1
  230. data/lib/aws-sdk-core/sms.rb +6 -0
  231. data/lib/aws-sdk-core/sqs.rb +1 -0
  232. data/lib/aws-sdk-core/states.rb +6 -0
  233. data/lib/aws-sdk-core/version.rb +1 -1
  234. data/lib/aws-sdk-core/wafregional.rb +5 -0
  235. data/lib/aws-sdk-core/xray.rb +5 -0
  236. data/lib/aws-sdk-core.rb +20 -0
  237. data/lib/seahorse/client/net_http/connection_pool.rb +11 -7
  238. data/lib/seahorse/client/net_http/handler.rb +5 -2
  239. data/lib/seahorse/client/plugin_list.rb +3 -1
  240. data/lib/seahorse/client/response.rb +9 -20
  241. data/service-models.json +66 -2
  242. metadata +115 -2
@@ -0,0 +1,593 @@
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
+ }