aws-sdk-core 2.3.23 → 3.89.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. checksums.yaml +5 -5
  2. data/VERSION +1 -0
  3. data/ca-bundle.crt +3615 -3541
  4. data/lib/aws-sdk-core.rb +106 -404
  5. data/lib/aws-sdk-core/arn.rb +77 -0
  6. data/lib/aws-sdk-core/arn_parser.rb +38 -0
  7. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +101 -0
  8. data/lib/aws-sdk-core/async_client_stubs.rb +80 -0
  9. data/lib/aws-sdk-core/binary.rb +6 -0
  10. data/lib/aws-sdk-core/binary/decode_handler.rb +56 -0
  11. data/lib/aws-sdk-core/binary/encode_handler.rb +32 -0
  12. data/lib/aws-sdk-core/binary/event_builder.rb +122 -0
  13. data/lib/aws-sdk-core/binary/event_parser.rb +134 -0
  14. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +62 -0
  15. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +53 -0
  16. data/lib/aws-sdk-core/client_side_monitoring/publisher.rb +49 -0
  17. data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +197 -0
  18. data/lib/aws-sdk-core/client_stubs.rb +73 -10
  19. data/lib/aws-sdk-core/credential_provider.rb +0 -29
  20. data/lib/aws-sdk-core/credential_provider_chain.rb +56 -6
  21. data/lib/aws-sdk-core/deprecations.rb +16 -10
  22. data/lib/aws-sdk-core/ecs_credentials.rb +14 -10
  23. data/lib/aws-sdk-core/endpoint_cache.rb +191 -0
  24. data/lib/aws-sdk-core/errors.rb +221 -11
  25. data/lib/aws-sdk-core/event_emitter.rb +62 -0
  26. data/lib/aws-sdk-core/ini_parser.rb +41 -0
  27. data/lib/aws-sdk-core/instance_profile_credentials.rb +133 -42
  28. data/lib/aws-sdk-core/json.rb +9 -10
  29. data/lib/aws-sdk-core/json/builder.rb +4 -2
  30. data/lib/aws-sdk-core/json/error_handler.rb +19 -2
  31. data/lib/aws-sdk-core/json/handler.rb +22 -3
  32. data/lib/aws-sdk-core/json/parser.rb +1 -1
  33. data/lib/aws-sdk-core/log/formatter.rb +7 -1
  34. data/lib/aws-sdk-core/log/param_filter.rb +4 -3
  35. data/lib/aws-sdk-core/pageable_response.rb +1 -0
  36. data/lib/aws-sdk-core/pager.rb +30 -25
  37. data/lib/aws-sdk-core/param_converter.rb +3 -3
  38. data/lib/aws-sdk-core/param_validator.rb +60 -26
  39. data/lib/aws-sdk-core/plugins/api_key.rb +52 -0
  40. data/lib/aws-sdk-core/plugins/apig_authorizer_token.rb +30 -0
  41. data/lib/aws-sdk-core/plugins/apig_credentials_configuration.rb +34 -0
  42. data/lib/aws-sdk-core/plugins/apig_user_agent.rb +37 -0
  43. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +280 -0
  44. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +84 -0
  45. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +62 -0
  46. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +160 -0
  47. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +63 -0
  48. data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +30 -0
  49. data/lib/aws-sdk-core/plugins/global_configuration.rb +19 -10
  50. data/lib/aws-sdk-core/plugins/helpful_socket_errors.rb +41 -0
  51. data/lib/aws-sdk-core/plugins/idempotency_token.rb +36 -0
  52. data/lib/aws-sdk-core/plugins/invocation_id.rb +33 -0
  53. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +29 -0
  54. data/lib/aws-sdk-core/plugins/logging.rb +18 -18
  55. data/lib/aws-sdk-core/plugins/param_converter.rb +9 -5
  56. data/lib/aws-sdk-core/plugins/param_validator.rb +8 -5
  57. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +10 -0
  58. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -1
  59. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +13 -12
  60. data/lib/aws-sdk-core/plugins/protocols/query.rb +2 -2
  61. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +48 -19
  62. data/lib/aws-sdk-core/plugins/response_paging.rb +5 -18
  63. data/lib/aws-sdk-core/plugins/retry_errors.rb +102 -24
  64. data/lib/aws-sdk-core/plugins/signature_v2.rb +51 -0
  65. data/lib/aws-sdk-core/plugins/signature_v4.rb +141 -0
  66. data/lib/aws-sdk-core/plugins/stub_responses.rb +35 -18
  67. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +53 -0
  68. data/lib/aws-sdk-core/plugins/user_agent.rb +23 -10
  69. data/lib/aws-sdk-core/process_credentials.rb +80 -0
  70. data/lib/aws-sdk-core/query.rb +5 -0
  71. data/lib/aws-sdk-core/query/ec2_param_builder.rb +9 -3
  72. data/lib/aws-sdk-core/query/handler.rb +20 -16
  73. data/lib/aws-sdk-core/query/param_builder.rb +10 -4
  74. data/lib/aws-sdk-core/refreshing_credentials.rb +1 -1
  75. data/lib/aws-sdk-core/resources/collection.rb +121 -0
  76. data/lib/aws-sdk-core/rest.rb +10 -0
  77. data/lib/aws-sdk-core/rest/handler.rb +1 -0
  78. data/lib/aws-sdk-core/rest/request/builder.rb +2 -1
  79. data/lib/aws-sdk-core/rest/request/endpoint.rb +11 -66
  80. data/lib/aws-sdk-core/rest/request/headers.rb +20 -1
  81. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +103 -0
  82. data/lib/aws-sdk-core/rest/response/body.rb +14 -1
  83. data/lib/aws-sdk-core/rest/response/headers.rb +9 -0
  84. data/lib/aws-sdk-core/rest/response/parser.rb +18 -14
  85. data/lib/aws-sdk-core/shared_config.rb +451 -0
  86. data/lib/aws-sdk-core/shared_credentials.rb +16 -53
  87. data/lib/aws-sdk-core/structure.rb +22 -13
  88. data/lib/aws-sdk-core/stubbing/data_applicator.rb +1 -1
  89. data/lib/aws-sdk-core/stubbing/empty_stub.rb +10 -3
  90. data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +8 -0
  91. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +1 -1
  92. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +99 -1
  93. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +5 -1
  94. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +9 -5
  95. data/lib/aws-sdk-core/stubbing/stub_data.rb +16 -3
  96. data/lib/aws-sdk-core/util.rb +66 -0
  97. data/lib/aws-sdk-core/waiters.rb +3 -0
  98. data/lib/aws-sdk-core/waiters/poller.rb +5 -7
  99. data/lib/aws-sdk-core/waiters/waiter.rb +3 -2
  100. data/lib/aws-sdk-core/xml.rb +9 -0
  101. data/lib/aws-sdk-core/xml/builder.rb +11 -5
  102. data/lib/aws-sdk-core/xml/error_handler.rb +27 -5
  103. data/lib/aws-sdk-core/xml/parser.rb +1 -11
  104. data/lib/aws-sdk-core/xml/parser/engines/ox.rb +5 -1
  105. data/lib/aws-sdk-core/xml/parser/frame.rb +6 -6
  106. data/lib/aws-sdk-sts.rb +45 -0
  107. data/lib/aws-sdk-sts/client.rb +2156 -0
  108. data/lib/aws-sdk-sts/client_api.rb +336 -0
  109. data/lib/aws-sdk-sts/customizations.rb +2 -0
  110. data/lib/aws-sdk-sts/errors.rb +142 -0
  111. data/lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb +32 -0
  112. data/lib/aws-sdk-sts/presigner.rb +67 -0
  113. data/lib/aws-sdk-sts/resource.rb +23 -0
  114. data/lib/aws-sdk-sts/types.rb +1504 -0
  115. data/lib/seahorse.rb +60 -60
  116. data/lib/seahorse/client/async_base.rb +50 -0
  117. data/lib/seahorse/client/async_response.rb +62 -0
  118. data/lib/seahorse/client/base.rb +5 -9
  119. data/lib/seahorse/client/configuration.rb +10 -2
  120. data/lib/seahorse/client/events.rb +1 -1
  121. data/lib/seahorse/client/h2/connection.rb +246 -0
  122. data/lib/seahorse/client/h2/handler.rb +151 -0
  123. data/lib/seahorse/client/handler_list_entry.rb +2 -2
  124. data/lib/seahorse/client/http/async_response.rb +42 -0
  125. data/lib/seahorse/client/http/response.rb +13 -8
  126. data/lib/seahorse/client/logging/formatter.rb +7 -1
  127. data/lib/seahorse/client/logging/handler.rb +2 -0
  128. data/lib/seahorse/client/net_http/connection_pool.rb +46 -28
  129. data/lib/seahorse/client/net_http/handler.rb +17 -3
  130. data/lib/seahorse/client/net_http/patches.rb +9 -1
  131. data/lib/seahorse/client/networking_error.rb +28 -0
  132. data/lib/seahorse/client/plugin.rb +67 -6
  133. data/lib/seahorse/client/plugin_list.rb +3 -1
  134. data/lib/seahorse/client/plugins/content_length.rb +7 -2
  135. data/lib/seahorse/client/plugins/endpoint.rb +14 -10
  136. data/lib/seahorse/client/plugins/h2.rb +64 -0
  137. data/lib/seahorse/client/plugins/logging.rb +17 -19
  138. data/lib/seahorse/client/plugins/net_http.rb +23 -15
  139. data/lib/seahorse/client/plugins/raise_response_errors.rb +4 -4
  140. data/lib/seahorse/client/plugins/response_target.rb +10 -1
  141. data/lib/seahorse/client/request_context.rb +5 -0
  142. data/lib/seahorse/client/response.rb +9 -20
  143. data/lib/seahorse/model/api.rb +37 -0
  144. data/lib/seahorse/model/authorizer.rb +21 -0
  145. data/lib/seahorse/model/operation.rb +20 -0
  146. data/lib/seahorse/model/shapes.rb +44 -2
  147. data/lib/seahorse/util.rb +1 -21
  148. metadata +127 -360
  149. data/apis/acm/2015-12-08/api-2.json +0 -495
  150. data/apis/acm/2015-12-08/examples-1.json +0 -5
  151. data/apis/acm/2015-12-08/paginators-1.json +0 -10
  152. data/apis/apigateway/2015-07-09/api-2.json +0 -3347
  153. data/apis/apigateway/2015-07-09/examples-1.json +0 -5
  154. data/apis/apigateway/2015-07-09/paginators-1.json +0 -52
  155. data/apis/application-autoscaling/2016-02-06/api-2.json +0 -502
  156. data/apis/application-autoscaling/2016-02-06/examples-1.json +0 -5
  157. data/apis/application-autoscaling/2016-02-06/paginators-1.json +0 -22
  158. data/apis/autoscaling/2011-01-01/api-2.json +0 -2038
  159. data/apis/autoscaling/2011-01-01/examples-1.json +0 -5
  160. data/apis/autoscaling/2011-01-01/paginators-1.json +0 -52
  161. data/apis/autoscaling/2011-01-01/resources-1.json +0 -1613
  162. data/apis/autoscaling/2011-01-01/waiters-2.json +0 -62
  163. data/apis/cloudformation/2010-05-15/api-2.json +0 -1299
  164. data/apis/cloudformation/2010-05-15/examples-1.json +0 -5
  165. data/apis/cloudformation/2010-05-15/paginators-1.json +0 -27
  166. data/apis/cloudformation/2010-05-15/resources-1.json +0 -202
  167. data/apis/cloudformation/2010-05-15/waiters-2.json +0 -235
  168. data/apis/cloudfront/2016-01-28/api-2.json +0 -2218
  169. data/apis/cloudfront/2016-01-28/examples-1.json +0 -5
  170. data/apis/cloudfront/2016-01-28/paginators-1.json +0 -32
  171. data/apis/cloudfront/2016-01-28/waiters-2.json +0 -47
  172. data/apis/cloudhsm/2014-05-30/api-2.json +0 -877
  173. data/apis/cloudhsm/2014-05-30/examples-1.json +0 -5
  174. data/apis/cloudsearch/2013-01-01/api-2.json +0 -2001
  175. data/apis/cloudsearch/2013-01-01/paginators-1.json +0 -20
  176. data/apis/cloudsearchdomain/2013-01-01/api-2.json +0 -373
  177. data/apis/cloudsearchdomain/2013-01-01/examples-1.json +0 -5
  178. data/apis/cloudtrail/2013-11-01/api-2.json +0 -801
  179. data/apis/cloudtrail/2013-11-01/examples-1.json +0 -5
  180. data/apis/cloudtrail/2013-11-01/paginators-1.json +0 -7
  181. data/apis/codecommit/2015-04-13/api-2.json +0 -916
  182. data/apis/codecommit/2015-04-13/examples-1.json +0 -5
  183. data/apis/codecommit/2015-04-13/paginators-1.json +0 -14
  184. data/apis/codedeploy/2014-10-06/api-2.json +0 -1954
  185. data/apis/codedeploy/2014-10-06/examples-1.json +0 -5
  186. data/apis/codedeploy/2014-10-06/paginators-1.json +0 -34
  187. data/apis/codepipeline/2015-07-09/api-2.json +0 -1633
  188. data/apis/codepipeline/2015-07-09/examples-1.json +0 -902
  189. data/apis/cognito-identity/2014-06-30/api-2.json +0 -859
  190. data/apis/cognito-identity/2014-06-30/examples-1.json +0 -5
  191. data/apis/cognito-idp/2016-04-18/api-2.json +0 -1657
  192. data/apis/cognito-idp/2016-04-18/examples-1.json +0 -5
  193. data/apis/cognito-sync/2014-06-30/api-2.json +0 -1874
  194. data/apis/config/2014-11-12/api-2.json +0 -1303
  195. data/apis/config/2014-11-12/examples-1.json +0 -5
  196. data/apis/config/2014-11-12/paginators-1.json +0 -10
  197. data/apis/datapipeline/2012-10-29/api-2.json +0 -1167
  198. data/apis/datapipeline/2012-10-29/paginators-1.json +0 -26
  199. data/apis/devicefarm/2015-06-23/api-2.json +0 -1819
  200. data/apis/devicefarm/2015-06-23/examples-1.json +0 -5
  201. data/apis/devicefarm/2015-06-23/paginators-1.json +0 -74
  202. data/apis/directconnect/2012-10-25/api-2.json +0 -793
  203. data/apis/directconnect/2012-10-25/examples-1.json +0 -5
  204. data/apis/directconnect/2012-10-25/paginators-1.json +0 -22
  205. data/apis/discovery/2015-11-01/api-2.json +0 -556
  206. data/apis/discovery/2015-11-01/examples-1.json +0 -5
  207. data/apis/dms/2016-01-01/api-2.json +0 -1469
  208. data/apis/dms/2016-01-01/examples-1.json +0 -5
  209. data/apis/ds/2015-04-16/api-2.json +0 -1674
  210. data/apis/ds/2015-04-16/examples-1.json +0 -5
  211. data/apis/dynamodb/2012-08-10/api-2.json +0 -1200
  212. data/apis/dynamodb/2012-08-10/examples-1.json +0 -5
  213. data/apis/dynamodb/2012-08-10/paginators-1.json +0 -26
  214. data/apis/dynamodb/2012-08-10/resources-1.json +0 -136
  215. data/apis/dynamodb/2012-08-10/waiters-2.json +0 -35
  216. data/apis/ec2/2015-10-01/api-2.json +0 -13759
  217. data/apis/ec2/2015-10-01/examples-1.json +0 -5
  218. data/apis/ec2/2015-10-01/paginators-1.json +0 -138
  219. data/apis/ec2/2015-10-01/resources-1.json +0 -2582
  220. data/apis/ec2/2015-10-01/waiters-2.json +0 -593
  221. data/apis/ec2/2016-04-01/api-2.json +0 -13842
  222. data/apis/ec2/2016-04-01/examples-1.json +0 -5
  223. data/apis/ec2/2016-04-01/paginators-1.json +0 -138
  224. data/apis/ec2/2016-04-01/resources-1.json +0 -2582
  225. data/apis/ec2/2016-04-01/waiters-2.json +0 -593
  226. data/apis/ecr/2015-09-21/api-2.json +0 -849
  227. data/apis/ecr/2015-09-21/examples-1.json +0 -5
  228. data/apis/ecs/2014-11-13/api-2.json +0 -1396
  229. data/apis/ecs/2014-11-13/examples-1.json +0 -5
  230. data/apis/ecs/2014-11-13/paginators-1.json +0 -40
  231. data/apis/ecs/2014-11-13/waiters-2.json +0 -93
  232. data/apis/elasticache/2015-02-02/api-2.json +0 -2426
  233. data/apis/elasticache/2015-02-02/examples-1.json +0 -5
  234. data/apis/elasticache/2015-02-02/paginators-1.json +0 -76
  235. data/apis/elasticache/2015-02-02/waiters-2.json +0 -143
  236. data/apis/elasticbeanstalk/2010-12-01/api-2.json +0 -1894
  237. data/apis/elasticbeanstalk/2010-12-01/examples-1.json +0 -1109
  238. data/apis/elasticbeanstalk/2010-12-01/paginators-1.json +0 -25
  239. data/apis/elasticfilesystem/2015-02-01/api-2.json +0 -713
  240. data/apis/elasticfilesystem/2015-02-01/examples-1.json +0 -5
  241. data/apis/elasticloadbalancing/2012-06-01/api-2.json +0 -2145
  242. data/apis/elasticloadbalancing/2012-06-01/paginators-1.json +0 -18
  243. data/apis/elasticloadbalancing/2012-06-01/waiters-2.json +0 -49
  244. data/apis/elasticmapreduce/2009-03-31/api-2.json +0 -1341
  245. data/apis/elasticmapreduce/2009-03-31/examples-1.json +0 -5
  246. data/apis/elasticmapreduce/2009-03-31/paginators-1.json +0 -32
  247. data/apis/elasticmapreduce/2009-03-31/waiters-2.json +0 -67
  248. data/apis/elastictranscoder/2012-09-25/api-2.json +0 -1807
  249. data/apis/elastictranscoder/2012-09-25/paginators-1.json +0 -24
  250. data/apis/elastictranscoder/2012-09-25/waiters-2.json +0 -30
  251. data/apis/email/2010-12-01/api-2.json +0 -1791
  252. data/apis/email/2010-12-01/examples-1.json +0 -5
  253. data/apis/email/2010-12-01/paginators-1.json +0 -13
  254. data/apis/email/2010-12-01/waiters-2.json +0 -18
  255. data/apis/es/2015-01-01/api-2.json +0 -764
  256. data/apis/events/2015-10-07/api-2.json +0 -643
  257. data/apis/events/2015-10-07/examples-1.json +0 -5
  258. data/apis/firehose/2015-08-04/api-2.json +0 -719
  259. data/apis/gamelift/2015-10-01/api-2.json +0 -2307
  260. data/apis/gamelift/2015-10-01/examples-1.json +0 -5
  261. data/apis/glacier/2012-06-01/api-2.json +0 -2144
  262. data/apis/glacier/2012-06-01/paginators-1.json +0 -28
  263. data/apis/glacier/2012-06-01/resources-1.json +0 -563
  264. data/apis/glacier/2012-06-01/waiters-2.json +0 -39
  265. data/apis/iam/2010-05-08/api-2.json +0 -4514
  266. data/apis/iam/2010-05-08/examples-1.json +0 -5
  267. data/apis/iam/2010-05-08/paginators-1.json +0 -198
  268. data/apis/iam/2010-05-08/resources-1.json +0 -1740
  269. data/apis/iam/2010-05-08/waiters-2.json +0 -39
  270. data/apis/importexport/2010-06-01/api-2.json +0 -666
  271. data/apis/importexport/2010-06-01/paginators-1.json +0 -11
  272. data/apis/inspector/2016-02-16/api-2.json +0 -1964
  273. data/apis/inspector/2016-02-16/examples-1.json +0 -5
  274. data/apis/iot-data/2015-05-28/api-2.json +0 -263
  275. data/apis/iot/2015-05-28/api-2.json +0 -3800
  276. data/apis/iot/2015-05-28/examples-1.json +0 -5
  277. data/apis/kinesis/2013-12-02/api-2.json +0 -822
  278. data/apis/kinesis/2013-12-02/examples-1.json +0 -5
  279. data/apis/kinesis/2013-12-02/paginators-1.json +0 -18
  280. data/apis/kinesis/2013-12-02/waiters-2.json +0 -18
  281. data/apis/kms/2014-11-01/api-2.json +0 -1209
  282. data/apis/kms/2014-11-01/examples-1.json +0 -5
  283. data/apis/kms/2014-11-01/paginators-1.json +0 -32
  284. data/apis/lambda/2014-11-11/api-2.json +0 -667
  285. data/apis/lambda/2014-11-11/paginators-1.json +0 -16
  286. data/apis/lambda/2015-03-31/api-2.json +0 -1342
  287. data/apis/lambda/2015-03-31/examples-1.json +0 -5
  288. data/apis/lambda/2015-03-31/paginators-1.json +0 -16
  289. data/apis/logs/2014-03-28/api-2.json +0 -1138
  290. data/apis/logs/2014-03-28/examples-1.json +0 -5
  291. data/apis/logs/2014-03-28/paginators-1.json +0 -49
  292. data/apis/machinelearning/2014-12-12/api-2.json +0 -1947
  293. data/apis/machinelearning/2014-12-12/paginators-1.json +0 -28
  294. data/apis/machinelearning/2014-12-12/waiters-2.json +0 -81
  295. data/apis/marketplacecommerceanalytics/2015-07-01/api-2.json +0 -120
  296. data/apis/marketplacecommerceanalytics/2015-07-01/examples-1.json +0 -5
  297. data/apis/meteringmarketplace/2016-01-14/api-2.json +0 -127
  298. data/apis/meteringmarketplace/2016-01-14/examples-1.json +0 -5
  299. data/apis/monitoring/2010-08-01/api-2.json +0 -790
  300. data/apis/monitoring/2010-08-01/examples-1.json +0 -5
  301. data/apis/monitoring/2010-08-01/paginators-1.json +0 -24
  302. data/apis/monitoring/2010-08-01/resources-1.json +0 -346
  303. data/apis/monitoring/2010-08-01/waiters-2.json +0 -18
  304. data/apis/opsworks/2013-02-18/api-2.json +0 -2606
  305. data/apis/opsworks/2013-02-18/examples-1.json +0 -5
  306. data/apis/opsworks/2013-02-18/paginators-1.json +0 -55
  307. data/apis/opsworks/2013-02-18/resources-1.json +0 -173
  308. data/apis/opsworks/2013-02-18/waiters-2.json +0 -295
  309. data/apis/rds/2014-10-31/api-2.json +0 -4757
  310. data/apis/rds/2014-10-31/examples-1.json +0 -5
  311. data/apis/rds/2014-10-31/paginators-1.json +0 -110
  312. data/apis/rds/2014-10-31/resources-1.json +0 -3272
  313. data/apis/rds/2014-10-31/waiters-2.json +0 -102
  314. data/apis/redshift/2012-12-01/api-2.json +0 -3768
  315. data/apis/redshift/2012-12-01/examples-1.json +0 -5
  316. data/apis/redshift/2012-12-01/paginators-1.json +0 -94
  317. data/apis/redshift/2012-12-01/waiters-2.json +0 -97
  318. data/apis/route53/2013-04-01/api-2.json +0 -3245
  319. data/apis/route53/2013-04-01/examples-1.json +0 -5
  320. data/apis/route53/2013-04-01/paginators-1.json +0 -33
  321. data/apis/route53/2013-04-01/waiters-2.json +0 -18
  322. data/apis/route53domains/2014-05-15/api-2.json +0 -1197
  323. data/apis/route53domains/2014-05-15/paginators-1.json +0 -17
  324. data/apis/s3/2006-03-01/api-2.json +0 -4517
  325. data/apis/s3/2006-03-01/examples-1.json +0 -5
  326. data/apis/s3/2006-03-01/paginators-1.json +0 -66
  327. data/apis/s3/2006-03-01/resources-1.json +0 -1176
  328. data/apis/s3/2006-03-01/waiters-2.json +0 -73
  329. data/apis/sdb/2009-04-15/api-2.json +0 -954
  330. data/apis/sdb/2009-04-15/paginators-1.json +0 -15
  331. data/apis/servicecatalog/2015-12-10/api-2.json +0 -749
  332. data/apis/servicecatalog/2015-12-10/examples-1.json +0 -5
  333. data/apis/sns/2010-03-31/api-2.json +0 -1139
  334. data/apis/sns/2010-03-31/paginators-1.json +0 -29
  335. data/apis/sns/2010-03-31/resources-1.json +0 -327
  336. data/apis/sqs/2012-11-05/api-2.json +0 -950
  337. data/apis/sqs/2012-11-05/examples-1.json +0 -44
  338. data/apis/sqs/2012-11-05/paginators-1.json +0 -7
  339. data/apis/ssm/2014-11-06/api-2.json +0 -1742
  340. data/apis/ssm/2014-11-06/examples-1.json +0 -5
  341. data/apis/ssm/2014-11-06/paginators-1.json +0 -34
  342. data/apis/storagegateway/2013-06-30/api-2.json +0 -2275
  343. data/apis/storagegateway/2013-06-30/examples-1.json +0 -5
  344. data/apis/storagegateway/2013-06-30/paginators-1.json +0 -52
  345. data/apis/streams.dynamodb/2012-08-10/api-2.json +0 -397
  346. data/apis/streams.dynamodb/2012-08-10/examples-1.json +0 -5
  347. data/apis/sts/2011-06-15/api-2.json +0 -521
  348. data/apis/sts/2011-06-15/examples-1.json +0 -5
  349. data/apis/support/2013-04-15/api-2.json +0 -869
  350. data/apis/support/2013-04-15/paginators-1.json +0 -25
  351. data/apis/swf/2012-01-25/api-2.json +0 -2838
  352. data/apis/swf/2012-01-25/paginators-1.json +0 -46
  353. data/apis/waf/2015-08-24/api-2.json +0 -1959
  354. data/apis/waf/2015-08-24/examples-1.json +0 -5
  355. data/apis/workspaces/2015-04-08/api-2.json +0 -632
  356. data/apis/workspaces/2015-04-08/examples-1.json +0 -5
  357. data/apis/workspaces/2015-04-08/paginators-1.json +0 -20
  358. data/bin/aws.rb +0 -180
  359. data/endpoints.json +0 -1460
  360. data/lib/aws-sdk-core/acm.rb +0 -6
  361. data/lib/aws-sdk-core/api/builder.rb +0 -106
  362. data/lib/aws-sdk-core/api/customizations.rb +0 -217
  363. data/lib/aws-sdk-core/api/docs/builder.rb +0 -220
  364. data/lib/aws-sdk-core/api/docs/client_type_documenter.rb +0 -109
  365. data/lib/aws-sdk-core/api/docs/docstring_provider.rb +0 -75
  366. data/lib/aws-sdk-core/api/docs/operation_documenter.rb +0 -138
  367. data/lib/aws-sdk-core/api/docs/param_formatter.rb +0 -163
  368. data/lib/aws-sdk-core/api/docs/request_syntax_example.rb +0 -22
  369. data/lib/aws-sdk-core/api/docs/response_structure_example.rb +0 -91
  370. data/lib/aws-sdk-core/api/docs/shared_example.rb +0 -100
  371. data/lib/aws-sdk-core/api/docs/utils.rb +0 -133
  372. data/lib/aws-sdk-core/api/shape_map.rb +0 -142
  373. data/lib/aws-sdk-core/apigateway.rb +0 -6
  374. data/lib/aws-sdk-core/applicationautoscaling.rb +0 -6
  375. data/lib/aws-sdk-core/applicationdiscoveryservice.rb +0 -5
  376. data/lib/aws-sdk-core/autoscaling.rb +0 -8
  377. data/lib/aws-sdk-core/checksums.rb +0 -51
  378. data/lib/aws-sdk-core/client.rb +0 -67
  379. data/lib/aws-sdk-core/client_waiters.rb +0 -120
  380. data/lib/aws-sdk-core/cloudformation.rb +0 -8
  381. data/lib/aws-sdk-core/cloudfront.rb +0 -15
  382. data/lib/aws-sdk-core/cloudfront/url_signer.rb +0 -167
  383. data/lib/aws-sdk-core/cloudhsm.rb +0 -5
  384. data/lib/aws-sdk-core/cloudsearch.rb +0 -5
  385. data/lib/aws-sdk-core/cloudsearchdomain.rb +0 -5
  386. data/lib/aws-sdk-core/cloudtrail.rb +0 -6
  387. data/lib/aws-sdk-core/cloudwatch.rb +0 -8
  388. data/lib/aws-sdk-core/cloudwatchevents.rb +0 -5
  389. data/lib/aws-sdk-core/cloudwatchlogs.rb +0 -6
  390. data/lib/aws-sdk-core/codecommit.rb +0 -6
  391. data/lib/aws-sdk-core/codedeploy.rb +0 -6
  392. data/lib/aws-sdk-core/codepipeline.rb +0 -5
  393. data/lib/aws-sdk-core/cognitoidentity.rb +0 -5
  394. data/lib/aws-sdk-core/cognitoidentityprovider.rb +0 -5
  395. data/lib/aws-sdk-core/cognitosync.rb +0 -4
  396. data/lib/aws-sdk-core/configservice.rb +0 -6
  397. data/lib/aws-sdk-core/databasemigrationservice.rb +0 -5
  398. data/lib/aws-sdk-core/datapipeline.rb +0 -5
  399. data/lib/aws-sdk-core/devicefarm.rb +0 -6
  400. data/lib/aws-sdk-core/directconnect.rb +0 -6
  401. data/lib/aws-sdk-core/directoryservice.rb +0 -5
  402. data/lib/aws-sdk-core/dynamodb.rb +0 -40
  403. data/lib/aws-sdk-core/dynamodb/attribute_value.rb +0 -108
  404. data/lib/aws-sdk-core/dynamodbstreams.rb +0 -5
  405. data/lib/aws-sdk-core/ec2.rb +0 -8
  406. data/lib/aws-sdk-core/ecr.rb +0 -5
  407. data/lib/aws-sdk-core/ecs.rb +0 -7
  408. data/lib/aws-sdk-core/efs.rb +0 -5
  409. data/lib/aws-sdk-core/elasticache.rb +0 -7
  410. data/lib/aws-sdk-core/elasticbeanstalk.rb +0 -6
  411. data/lib/aws-sdk-core/elasticloadbalancing.rb +0 -6
  412. data/lib/aws-sdk-core/elasticsearchservice.rb +0 -4
  413. data/lib/aws-sdk-core/elastictranscoder.rb +0 -6
  414. data/lib/aws-sdk-core/empty_structure.rb +0 -3
  415. data/lib/aws-sdk-core/emr.rb +0 -7
  416. data/lib/aws-sdk-core/endpoint_provider.rb +0 -95
  417. data/lib/aws-sdk-core/firehose.rb +0 -4
  418. data/lib/aws-sdk-core/gamelift.rb +0 -5
  419. data/lib/aws-sdk-core/glacier.rb +0 -7
  420. data/lib/aws-sdk-core/iam.rb +0 -8
  421. data/lib/aws-sdk-core/importexport.rb +0 -5
  422. data/lib/aws-sdk-core/inspector.rb +0 -5
  423. data/lib/aws-sdk-core/iot.rb +0 -5
  424. data/lib/aws-sdk-core/iotdataplane.rb +0 -4
  425. data/lib/aws-sdk-core/kinesis.rb +0 -7
  426. data/lib/aws-sdk-core/kms.rb +0 -6
  427. data/lib/aws-sdk-core/lambda.rb +0 -6
  428. data/lib/aws-sdk-core/lambdapreview.rb +0 -5
  429. data/lib/aws-sdk-core/machinelearning.rb +0 -6
  430. data/lib/aws-sdk-core/marketplacecommerceanalytics.rb +0 -5
  431. data/lib/aws-sdk-core/marketplacemetering.rb +0 -5
  432. data/lib/aws-sdk-core/opsworks.rb +0 -8
  433. data/lib/aws-sdk-core/partitions.rb +0 -174
  434. data/lib/aws-sdk-core/partitions/partition.rb +0 -95
  435. data/lib/aws-sdk-core/partitions/partition_list.rb +0 -60
  436. data/lib/aws-sdk-core/partitions/region.rb +0 -78
  437. data/lib/aws-sdk-core/partitions/service.rb +0 -84
  438. data/lib/aws-sdk-core/plugins/api_gateway_header.rb +0 -19
  439. data/lib/aws-sdk-core/plugins/csd_conditional_signing.rb +0 -30
  440. data/lib/aws-sdk-core/plugins/dynamodb_crc32_validation.rb +0 -52
  441. data/lib/aws-sdk-core/plugins/dynamodb_extended_retries.rb +0 -22
  442. data/lib/aws-sdk-core/plugins/dynamodb_simple_attributes.rb +0 -209
  443. data/lib/aws-sdk-core/plugins/ec2_copy_encrypted_snapshot.rb +0 -87
  444. data/lib/aws-sdk-core/plugins/ec2_region_validation.rb +0 -17
  445. data/lib/aws-sdk-core/plugins/glacier_account_id.rb +0 -19
  446. data/lib/aws-sdk-core/plugins/glacier_api_version.rb +0 -19
  447. data/lib/aws-sdk-core/plugins/glacier_checksums.rb +0 -87
  448. data/lib/aws-sdk-core/plugins/machine_learning_predict_endpoint.rb +0 -20
  449. data/lib/aws-sdk-core/plugins/request_signer.rb +0 -138
  450. data/lib/aws-sdk-core/plugins/route_53_id_fix.rb +0 -55
  451. data/lib/aws-sdk-core/plugins/s3_accelerate.rb +0 -73
  452. data/lib/aws-sdk-core/plugins/s3_bucket_dns.rb +0 -86
  453. data/lib/aws-sdk-core/plugins/s3_bucket_name_restrictions.rb +0 -21
  454. data/lib/aws-sdk-core/plugins/s3_expect_100_continue.rb +0 -27
  455. data/lib/aws-sdk-core/plugins/s3_get_bucket_location_fix.rb +0 -21
  456. data/lib/aws-sdk-core/plugins/s3_http_200_errors.rb +0 -45
  457. data/lib/aws-sdk-core/plugins/s3_location_constraint.rb +0 -31
  458. data/lib/aws-sdk-core/plugins/s3_md5s.rb +0 -50
  459. data/lib/aws-sdk-core/plugins/s3_redirects.rb +0 -37
  460. data/lib/aws-sdk-core/plugins/s3_request_signer.rb +0 -166
  461. data/lib/aws-sdk-core/plugins/s3_sse_cpk.rb +0 -64
  462. data/lib/aws-sdk-core/plugins/s3_url_encoded_keys.rb +0 -92
  463. data/lib/aws-sdk-core/plugins/sqs_md5s.rb +0 -162
  464. data/lib/aws-sdk-core/plugins/sqs_queue_urls.rb +0 -34
  465. data/lib/aws-sdk-core/plugins/swf_read_timeouts.rb +0 -23
  466. data/lib/aws-sdk-core/rds.rb +0 -8
  467. data/lib/aws-sdk-core/redshift.rb +0 -7
  468. data/lib/aws-sdk-core/route53.rb +0 -7
  469. data/lib/aws-sdk-core/route53domains.rb +0 -5
  470. data/lib/aws-sdk-core/s3.rb +0 -26
  471. data/lib/aws-sdk-core/s3/bucket_region_cache.rb +0 -75
  472. data/lib/aws-sdk-core/s3/presigner.rb +0 -113
  473. data/lib/aws-sdk-core/service.rb +0 -4
  474. data/lib/aws-sdk-core/servicecatalog.rb +0 -5
  475. data/lib/aws-sdk-core/ses.rb +0 -7
  476. data/lib/aws-sdk-core/signers/base.rb +0 -31
  477. data/lib/aws-sdk-core/signers/s3.rb +0 -184
  478. data/lib/aws-sdk-core/signers/v2.rb +0 -51
  479. data/lib/aws-sdk-core/signers/v3.rb +0 -34
  480. data/lib/aws-sdk-core/signers/v4.rb +0 -233
  481. data/lib/aws-sdk-core/simpledb.rb +0 -5
  482. data/lib/aws-sdk-core/sns.rb +0 -6
  483. data/lib/aws-sdk-core/sqs.rb +0 -6
  484. data/lib/aws-sdk-core/ssm.rb +0 -6
  485. data/lib/aws-sdk-core/storagegateway.rb +0 -6
  486. data/lib/aws-sdk-core/sts.rb +0 -5
  487. data/lib/aws-sdk-core/support.rb +0 -5
  488. data/lib/aws-sdk-core/swf.rb +0 -5
  489. data/lib/aws-sdk-core/tree_hash.rb +0 -69
  490. data/lib/aws-sdk-core/version.rb +0 -3
  491. data/lib/aws-sdk-core/waf.rb +0 -5
  492. data/lib/aws-sdk-core/waiters/null_provider.rb +0 -12
  493. data/lib/aws-sdk-core/waiters/provider.rb +0 -35
  494. data/lib/aws-sdk-core/workspaces.rb +0 -6
  495. data/lib/seahorse/client/plugins/restful_bindings.rb +0 -127
  496. data/service-models.json +0 -285
@@ -1,6 +0,0 @@
1
- Aws.add_service(:APIGateway, {
2
- api: "#{Aws::API_DIR}/apigateway/2015-07-09/api-2.json",
3
- docs: "#{Aws::API_DIR}/apigateway/2015-07-09/docs-2.json",
4
- examples: "#{Aws::API_DIR}/apigateway/2015-07-09/examples-1.json",
5
- paginators: "#{Aws::API_DIR}/apigateway/2015-07-09/paginators-1.json",
6
- })
@@ -1,6 +0,0 @@
1
- Aws.add_service(:ApplicationAutoScaling, {
2
- api: "#{Aws::API_DIR}/application-autoscaling/2016-02-06/api-2.json",
3
- docs: "#{Aws::API_DIR}/application-autoscaling/2016-02-06/docs-2.json",
4
- examples: "#{Aws::API_DIR}/application-autoscaling/2016-02-06/examples-1.json",
5
- paginators: "#{Aws::API_DIR}/application-autoscaling/2016-02-06/paginators-1.json",
6
- })
@@ -1,5 +0,0 @@
1
- Aws.add_service(:ApplicationDiscoveryService, {
2
- api: "#{Aws::API_DIR}/discovery/2015-11-01/api-2.json",
3
- docs: "#{Aws::API_DIR}/discovery/2015-11-01/docs-2.json",
4
- examples: "#{Aws::API_DIR}/discovery/2015-11-01/examples-1.json",
5
- })
@@ -1,8 +0,0 @@
1
- Aws.add_service(:AutoScaling, {
2
- api: "#{Aws::API_DIR}/autoscaling/2011-01-01/api-2.json",
3
- docs: "#{Aws::API_DIR}/autoscaling/2011-01-01/docs-2.json",
4
- examples: "#{Aws::API_DIR}/autoscaling/2011-01-01/examples-1.json",
5
- paginators: "#{Aws::API_DIR}/autoscaling/2011-01-01/paginators-1.json",
6
- resources: "#{Aws::API_DIR}/autoscaling/2011-01-01/resources-1.json",
7
- waiters: "#{Aws::API_DIR}/autoscaling/2011-01-01/waiters-2.json",
8
- })
@@ -1,51 +0,0 @@
1
- require 'openssl'
2
- require 'tempfile'
3
-
4
- module Aws
5
- # @api private
6
- module Checksums
7
-
8
- CHUNK_SIZE = 1 * 1024 * 1024 # one MB
9
-
10
- class << self
11
-
12
- # @param [File, Tempfile, IO#read, String] value
13
- # @return [String<SHA256 Hexdigest>]
14
- def sha256_hexdigest(value)
15
- if File === value || Tempfile === value
16
- OpenSSL::Digest::SHA256.file(value).hexdigest
17
- elsif value.respond_to?(:read)
18
- sha256 = OpenSSL::Digest::SHA256.new
19
- update_in_chunks(sha256, value)
20
- sha256.hexdigest
21
- else
22
- OpenSSL::Digest::SHA256.hexdigest(value)
23
- end
24
- end
25
-
26
- # @param [File, Tempfile, IO#read, String] value
27
- # @return [String<MD5>]
28
- def md5(value)
29
- if File === value || Tempfile === value
30
- Base64.encode64(OpenSSL::Digest::MD5.file(value).digest).strip
31
- elsif value.respond_to?(:read)
32
- md5 = OpenSSL::Digest::MD5.new
33
- update_in_chunks(md5, value)
34
- Base64.encode64(md5.digest).strip
35
- else
36
- Base64.encode64(OpenSSL::Digest::MD5.digest(value)).strip
37
- end
38
- end
39
-
40
- private
41
-
42
- def update_in_chunks(digest, io)
43
- while chunk = io.read(CHUNK_SIZE)
44
- digest.update(chunk)
45
- end
46
- io.rewind
47
- end
48
-
49
- end
50
- end
51
- end
@@ -1,67 +0,0 @@
1
- module Aws
2
- # Base class for all {Aws} service clients.
3
- class Client < Seahorse::Client::Base
4
-
5
- # @api private
6
- DEFAULT_PLUGINS = [
7
- 'Seahorse::Client::Plugins::ContentLength',
8
- 'Aws::Plugins::Logging',
9
- 'Aws::Plugins::ParamConverter',
10
- 'Aws::Plugins::ParamValidator',
11
- 'Aws::Plugins::UserAgent',
12
- 'Aws::Plugins::RetryErrors',
13
- 'Aws::Plugins::GlobalConfiguration',
14
- 'Aws::Plugins::RegionalEndpoint',
15
- 'Aws::Plugins::RequestSigner',
16
- 'Aws::Plugins::ResponsePaging',
17
- 'Aws::Plugins::StubResponses',
18
- ]
19
-
20
- # @api private
21
- PROTOCOL_PLUGINS = Hash.new(DEFAULT_PLUGINS).merge({
22
- 'json' => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::JsonRpc),
23
- 'rest-json' => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::RestJson),
24
- 'rest-xml' => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::RestXml),
25
- 'query' => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::Query),
26
- 'ec2' => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::EC2),
27
- })
28
-
29
- include ClientStubs
30
- include ClientWaiters
31
-
32
- class << self
33
-
34
- # @return [Symbol]
35
- # @api private
36
- attr_accessor :identifier
37
-
38
- # @api private
39
- def define(svc_name, options)
40
- client_class = Class.new(self)
41
- client_class.identifier = svc_name.downcase.to_sym
42
- client_class.set_api(Api::Builder.build(options[:api], options))
43
- client_class.set_waiters(options[:waiters])
44
-
45
- protocol = client_class.api.metadata['protocol']
46
- PROTOCOL_PLUGINS[protocol].each do |plugin|
47
- client_class.add_plugin(plugin)
48
- end
49
-
50
- Api::Customizations.apply_plugins(client_class)
51
-
52
- soft_deprecation
53
- client_class
54
- end
55
-
56
- private
57
-
58
- def soft_deprecation
59
- unless @warned
60
- @warned = true
61
- warn('NEWER VERSION AVAILABLE: Please upgrade to AWS SDK For Ruby V3')
62
- end
63
- end
64
-
65
- end
66
- end
67
- end
@@ -1,120 +0,0 @@
1
- module Aws
2
- module ClientWaiters
3
-
4
- # @api private
5
- def self.included(subclass)
6
- class << subclass
7
-
8
- def set_waiters(waiters)
9
- @waiters =
10
- case waiters
11
- when Waiters::Provider then waiters
12
- when Hash then Waiters::Provider.new(waiters)
13
- when String, Pathname then Waiters::Provider.new(Json.load_file(waiters))
14
- when nil then Waiters::NullProvider.new
15
- else raise ArgumentError, 'invalid waiters'
16
- end
17
- end
18
-
19
- def waiters
20
- @waiters
21
- end
22
-
23
- end
24
- end
25
-
26
- # Waiters polls an API operation until a resource enters a desired
27
- # state.
28
- #
29
- # ## Basic Usage
30
- #
31
- # Waiters will poll until they are succesful, they fail by
32
- # entering a terminal state, or until a maximum number of attempts
33
- # are made.
34
- #
35
- # # polls in a loop, sleeping between attempts
36
- # client.waiter_until(waiter_name, params)
37
- #
38
- # ## Configuration
39
- #
40
- # You can configure the maximum number of polling attempts, and the
41
- # delay (in seconds) between each polling attempt. You configure
42
- # waiters by passing a block to {#wait_until}:
43
- #
44
- # # poll for ~25 seconds
45
- # client.wait_until(...) do |w|
46
- # w.max_attempts = 5
47
- # w.delay = 5
48
- # end
49
- #
50
- # ## Callbacks
51
- #
52
- # You can be notified before each polling attempt and before each
53
- # delay. If you throw `:success` or `:failure` from these callbacks,
54
- # it will terminate the waiter.
55
- #
56
- # started_at = Time.now
57
- # client.wait_until(...) do |w|
58
- #
59
- # # disable max attempts
60
- # w.max_attempts = nil
61
- #
62
- # # poll for 1 hour, instead of a number of attempts
63
- # w.before_wait do |attempts, response|
64
- # throw :failure if Time.now - started_at > 3600
65
- # end
66
- #
67
- # end
68
- #
69
- # ## Handling Errors
70
- #
71
- # When a waiter is successful, it returns `true`. When a waiter
72
- # fails, it raises an error. **All errors raised extend from
73
- # {Aws::Waiters::Errors::WaiterFailed}**.
74
- #
75
- # begin
76
- # client.wait_until(...)
77
- # rescue Aws::Waiters::Errors::WaiterFailed
78
- # # resource did not enter the desired state in time
79
- # end
80
- #
81
- # @param [Symbol] waiter_name The name of the waiter. See {#waiter_names}
82
- # for a full list of supported waiters.
83
- #
84
- # @param [Hash] params Additional request parameters. See the {#waiter_names}
85
- # for a list of supported waiters and what request they call. The
86
- # called request determines the list of accepted parameters.
87
- #
88
- # @yieldparam [Waiters::Waiter] waiter Yields a {Waiters::Waiter Waiter}
89
- # object that can be configured prior to waiting.
90
- #
91
- # @raise [Errors::FailureStateError] Raised when the waiter terminates
92
- # because the waiter has entered a state that it will not transition
93
- # out of, preventing success.
94
- #
95
- # @raise [Errors::TooManyAttemptsError] Raised when the configured
96
- # maximum number of attempts have been made, and the waiter is not
97
- # yet successful.
98
- #
99
- # @raise [Errors::UnexpectedError] Raised when an error is encounted
100
- # while polling for a resource that is not expected.
101
- #
102
- # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
103
- # for an unknown state.
104
- #
105
- # @return [Boolean] Returns `true` if the waiter was successful.
106
- #
107
- def wait_until(waiter_name, params = {}, &block)
108
- waiter = self.class.waiters.waiter(waiter_name)
109
- yield(waiter) if block_given?
110
- waiter.wait(client:self, params:params)
111
- end
112
-
113
- # Returns the list of supported waiters.
114
- # @return [Array<Symbol>]
115
- def waiter_names
116
- self.class.waiters.waiter_names
117
- end
118
-
119
- end
120
- end
@@ -1,8 +0,0 @@
1
- Aws.add_service(:CloudFormation, {
2
- api: "#{Aws::API_DIR}/cloudformation/2010-05-15/api-2.json",
3
- docs: "#{Aws::API_DIR}/cloudformation/2010-05-15/docs-2.json",
4
- examples: "#{Aws::API_DIR}/cloudformation/2010-05-15/examples-1.json",
5
- paginators: "#{Aws::API_DIR}/cloudformation/2010-05-15/paginators-1.json",
6
- resources: "#{Aws::API_DIR}/cloudformation/2010-05-15/resources-1.json",
7
- waiters: "#{Aws::API_DIR}/cloudformation/2010-05-15/waiters-2.json",
8
- })
@@ -1,15 +0,0 @@
1
- Aws.add_service(:CloudFront, {
2
- api: "#{Aws::API_DIR}/cloudfront/2016-01-28/api-2.json",
3
- docs: "#{Aws::API_DIR}/cloudfront/2016-01-28/docs-2.json",
4
- examples: "#{Aws::API_DIR}/cloudfront/2016-01-28/examples-1.json",
5
- paginators: "#{Aws::API_DIR}/cloudfront/2016-01-28/paginators-1.json",
6
- waiters: "#{Aws::API_DIR}/cloudfront/2016-01-28/waiters-2.json",
7
- })
8
-
9
- module Aws
10
- module CloudFront
11
-
12
- autoload :UrlSigner, 'aws-sdk-core/cloudfront/url_signer.rb'
13
-
14
- end
15
- end
@@ -1,167 +0,0 @@
1
- require 'base64'
2
- require 'uri'
3
- require 'time'
4
- require 'json'
5
- require 'openssl'
6
-
7
- module Aws
8
- module CloudFront
9
-
10
- # Allows you to create signed URLs for Amazon CloudFront resources
11
- #
12
- # signer = Aws::CloudFront::UrlSigner.new
13
- # url = signer.signed_url(url,
14
- # key_pair_id: "cf-keypair-id",
15
- # private_key_path: "./cf_private_key.pem"
16
- # )
17
- #
18
- class UrlSigner
19
-
20
- # @option options [String] :key_pair_id
21
- # @option options [String] :private_key
22
- # @option options [String] :private_key_path
23
- def initialize(options = {})
24
- @key_pair_id = key_pair_id(options)
25
- @private_key = private_key(options)
26
- end
27
-
28
- # create a signed Amazon CloudFront URL
29
- # @param [String] url
30
- # @option params [Time, DateTime, Date, String, Integer<timestamp>] :expires
31
- # @option params [String<JSON>] :policy
32
- def signed_url(url, params = {})
33
- url_sections = url.split('://')
34
- if url_sections.length < 2
35
- raise ArgumentError, "Invaild URL:#{url}"
36
- end
37
- # removing wildcard character to get real scheme
38
- scheme = url_sections[0].gsub('*', '')
39
- uri = "#{scheme}://#{url_sections[1]}"
40
- signed_content = signature(
41
- :resource => resource(scheme, uri),
42
- :expires => time(params[:expires]),
43
- :policy => params[:policy]
44
- )
45
-
46
- start_flag = URI.parse(uri).query ? '&' : '?'
47
- uri = "#{uri}#{start_flag}#{signed_content}"
48
-
49
- if scheme == 'rtmp'
50
- rtmp_url(URI(uri))
51
- else
52
- uri
53
- end
54
- end
55
-
56
- private
57
-
58
- def time(expires)
59
- case expires
60
- when Time then expires.to_i
61
- when DateTime, Date then expires.to_time.to_i
62
- when String then Time.parse(expires).to_i
63
- when Integer, NIL then expires
64
- else
65
- msg = "expected a time value for :expires, got `#{expires.class}'"
66
- raise ArgumentError, msg
67
- end
68
- end
69
-
70
- # create a relative signed URL for RTMP distribution
71
- def rtmp_url(uri)
72
- result = uri.path.gsub(' ', '/')
73
- result[0] = ''
74
- if uri.query
75
- "#{result}?#{uri.query}"
76
- else
77
- result
78
- end
79
- end
80
-
81
- # prepare resource for signing
82
- def resource(scheme, url)
83
- case scheme
84
- when 'http', 'http*', 'https' then url
85
- when 'rtmp'
86
- url_info = URI.parse(url)
87
- path = url_info.path
88
- path[0] = ''
89
- resource_content = "#{File.dirname(path)}/#{File.basename(path)}".gsub(' ', '/')
90
- if url_info.query
91
- "#{resource_content}?#{uri.query}"
92
- else
93
- resource_content
94
- end
95
- else
96
- msg = "Invaild URI scheme:#{scheme}.Scheme must be one of: http, https or rtmp."
97
- raise ArgumentError, msg
98
- end
99
- end
100
-
101
- # create signed values that used to construct signed URLs
102
- # @option param [String] :resource
103
- # @option param [Integer<timestamp>] :expires
104
- # @option param [String<JSON>] :policy
105
- def signature(params = {})
106
- signature_content = []
107
- if params[:policy]
108
- policy = params[:policy].gsub('/\s/s', '')
109
- signature_content << "Policy=#{encode(policy)}"
110
- elsif params[:resource] && params[:expires]
111
- policy = canned_policy(params[:resource], params[:expires])
112
- signature_content << "Expires=#{params[:expires]}"
113
- else
114
- msg = "Either a policy or a resource with an expiration time must be provided."
115
- raise ArgumentError, msg
116
- end
117
-
118
- signature_content << "Signature=#{encode(sign_policy(policy))}"
119
- signature_content << "Key-Pair-Id=#{@key_pair_id}"
120
- signature_content.join('&').gsub("\n", '')
121
- end
122
-
123
- # create the signature string with policy signed
124
- def sign_policy(policy)
125
- key = OpenSSL::PKey::RSA.new(@private_key)
126
- key.sign(OpenSSL::Digest::SHA1.new, policy)
127
- end
128
-
129
- # create canned policy that used for signing
130
- def canned_policy(resource, expires)
131
- json_hash = {
132
- 'Statement' => [
133
- 'Resource' => resource,
134
- 'Condition' => {
135
- 'DateLessThan' => {'AWS:EpochTime' => expires}
136
- }
137
- ]
138
- }
139
- json_hash.to_json
140
- end
141
-
142
- def encode(policy)
143
- Base64.encode64(policy).gsub(/[+=\/]/, '+' => '-', '=' => '_', '/' => '~')
144
- end
145
-
146
- def key_pair_id(options)
147
- if options[:key_pair_id].nil? or options[:key_pair_id] == ''
148
- raise ArgumentError, ":key_pair_id must not be blank"
149
- else
150
- options[:key_pair_id]
151
- end
152
- end
153
-
154
- def private_key(options)
155
- if options[:private_key]
156
- options[:private_key]
157
- elsif options[:private_key_path]
158
- File.open(options[:private_key_path], 'rb') { |f| f.read }
159
- else
160
- msg = ":private_key or :private_key_path should be provided"
161
- raise ArgumentError, msg
162
- end
163
- end
164
-
165
- end
166
- end
167
- end