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(:ACM, {
2
- api: "#{Aws::API_DIR}/acm/2015-12-08/api-2.json",
3
- docs: "#{Aws::API_DIR}/acm/2015-12-08/docs-2.json",
4
- examples: "#{Aws::API_DIR}/acm/2015-12-08/examples-1.json",
5
- paginators: "#{Aws::API_DIR}/acm/2015-12-08/paginators-1.json",
6
- })
@@ -1,106 +0,0 @@
1
- require 'set'
2
-
3
- module Aws
4
- module Api
5
- class Builder
6
- class << self
7
-
8
- def build(definition, options = {})
9
- if Seahorse::Model::Api === definition
10
- definition
11
- else
12
- Builder.new.build(customize(load_definition(definition)), options)
13
- end
14
- end
15
-
16
- private
17
-
18
- def load_definition(definition)
19
- case definition
20
- when nil then {}
21
- when Hash then definition
22
- when String, Pathname then Json.load_file(definition)
23
- else raise ArgumentError, "invalid api definition #{definition}"
24
- end
25
- end
26
-
27
- def customize(definition)
28
- Customizations.apply_api_customizations(definition)
29
- definition
30
- end
31
-
32
- end
33
-
34
- # @param [Hash] definition
35
- # @return [Seahorse::Model::Api]
36
- def build(definition, options = {})
37
- api = build_api(definition)
38
- docs = build_docstring_provider(api, options)
39
- shapes = build_shape_map(definition, api, docs)
40
- build_operations(definition, api, shapes, docs)
41
- build_struct_classes(shapes, options)
42
- api
43
- end
44
-
45
- private
46
-
47
- def build_docstring_provider(api, options)
48
- if options[:docs] && ENV['DOCSTRINGS']
49
- docs = Json.load_file(options[:docs])
50
- Customizations.apply_doc_customizations(api, docs)
51
- Docs::DocstringProvider.new(docs)
52
- else
53
- Docs::NullDocstringProvider.new
54
- end
55
- end
56
-
57
- def build_api(definition)
58
- api = Seahorse::Model::Api.new
59
- api.metadata = definition['metadata'] || {}
60
- api.version = api.metadata['apiVersion']
61
- api
62
- end
63
-
64
- def build_shape_map(definition, api, docs)
65
- shapes = definition['shapes'] || {}
66
- api.metadata['shapes'] = ShapeMap.new(shapes, docs: docs)
67
- end
68
-
69
- def build_operations(definitions, api, shapes, docs)
70
- (definitions['operations'] || {}).each do |name, definition|
71
- operation = build_operation(name, definition, shapes, docs)
72
- api.add_operation(underscore(name), operation)
73
- end
74
- end
75
-
76
- def build_operation(name, definition, shapes, docs)
77
- http = definition['http'] || {}
78
- op = Seahorse::Model::Operation.new
79
- op.name = name
80
- op.http_method = http['method']
81
- op.http_request_uri = http['requestUri'] || '/'
82
- op.documentation = docs.operation_docs(name)
83
- op.deprecated = !!definition['deprecated']
84
- op.input = shapes.shape_ref(definition['input'])
85
- op.output = shapes.shape_ref(definition['output'])
86
- op['authtype'] = definition['authtype'] unless definition['authtype'].nil?
87
- (definition['errors'] || []).each do |error|
88
- op.errors << shapes.shape_ref(error)
89
- end
90
- op
91
- end
92
-
93
- def build_struct_classes(shapes, options)
94
- type_builder = options[:type_builder] || TypeBuilder.new(Module.new)
95
- shapes.each_structure do |shape|
96
- shape[:struct_class] = type_builder.build_type(shape, shapes)
97
- end
98
- end
99
-
100
- def underscore(str)
101
- Seahorse::Util.underscore(str).to_sym
102
- end
103
-
104
- end
105
- end
106
- end
@@ -1,217 +0,0 @@
1
- module Aws
2
- module Api
3
- module Customizations
4
-
5
- @apis = {}
6
- @docs = {}
7
- @plugins = {}
8
-
9
- class << self
10
-
11
- def api(prefix, &block)
12
- @apis[prefix] = block
13
- end
14
-
15
- def doc(prefix, &block)
16
- @docs[prefix] = block
17
- end
18
-
19
- def plugins(prefix, options)
20
- @plugins[prefix] = {
21
- add: options[:add] || [],
22
- remove: options[:remove] || [],
23
- }
24
- end
25
-
26
- def apply_api_customizations(api)
27
- metadata = api['metadata'] || {}
28
- prefix = metadata['endpointPrefix']
29
- @apis[prefix].call(api) if @apis[prefix]
30
- end
31
-
32
- def apply_doc_customizations(api, docs)
33
- prefix = api.metadata['endpointPrefix']
34
- @docs[prefix].call(docs) if @docs[prefix]
35
- end
36
-
37
- def apply_plugins(client_class)
38
- prefix = client_class.api.metadata['endpointPrefix']
39
- if @plugins[prefix]
40
- @plugins[prefix][:add].each { |p| client_class.add_plugin(p) }
41
- @plugins[prefix][:remove].each { |p| client_class.remove_plugin(p) }
42
- end
43
- end
44
-
45
- end
46
-
47
- plugins('apigateway',
48
- add: %w(Aws::Plugins::APIGatewayHeader),
49
- )
50
-
51
- api('cloudfront') do |api|
52
-
53
- api['shapes'].each do |_, shape|
54
- if shape['members'] && shape['members']['MaxItems']
55
- shape['members']['MaxItems']['shape'] = 'integer'
56
- end
57
- end
58
-
59
- api['operations'].keys.each do |name|
60
- symbolized = name.sub(/\d{4}_\d{2}_\d{2}$/, '')
61
- api['operations'][symbolized] = api['operations'].delete(name)
62
- end
63
-
64
- end
65
-
66
- plugins('cloudsearchdomain',
67
- add: %w(Aws::Plugins::CSDConditionalSigning),
68
- remove: %w(Aws::Plugins::RegionalEndpoint),
69
- )
70
-
71
- plugins('dynamodb', add: %w(
72
- Aws::Plugins::DynamoDBExtendedRetries
73
- Aws::Plugins::DynamoDBSimpleAttributes
74
- Aws::Plugins::DynamoDBCRC32Validation
75
- ))
76
-
77
- api('ec2') do |api|
78
- if ENV['DOCSTRINGS']
79
- members = api['shapes']['CopySnapshotRequest']['members']
80
- members.delete('DestinationRegion')
81
- members.delete('PresignedUrl')
82
- end
83
- end
84
-
85
- plugins('ec2', add: %w(
86
- Aws::Plugins::EC2CopyEncryptedSnapshot
87
- Aws::Plugins::EC2RegionValidation
88
- ))
89
-
90
- api('glacier') do |api|
91
- api['shapes']['Timestamp'] = {
92
- 'type' => 'timestamp',
93
- 'timestampFormat' => 'iso8601',
94
- }
95
- api['shapes'].each do |_, shape|
96
- if shape['members']
97
- shape['members'].each do |name, ref|
98
- case name
99
- when /date/i then ref['shape'] = 'Timestamp'
100
- when 'limit' then ref['shape'] = 'Size'
101
- when 'partSize' then ref['shape'] = 'Size'
102
- when 'archiveSize' then ref['shape'] = 'Size'
103
- end
104
- end
105
- end
106
- end
107
- end
108
-
109
- plugins('glacier', add: %w(
110
- Aws::Plugins::GlacierAccountId
111
- Aws::Plugins::GlacierApiVersion
112
- Aws::Plugins::GlacierChecksums
113
- ))
114
-
115
- api('importexport') do |api|
116
- api['operations'].each do |_, operation|
117
- operation['http']['requestUri'] = '/'
118
- end
119
- end
120
-
121
- api('data.iot') do |api|
122
- api['metadata'].delete('endpointPrefix')
123
- end
124
-
125
- api('lambda') do |api|
126
- api['shapes']['Timestamp']['type'] = 'timestamp'
127
- end
128
-
129
- doc('lambda') do |docs|
130
- docs['shapes']['Blob']['refs']['UpdateFunctionCodeRequest$ZipFile'] =
131
- "<p>.zip file containing your packaged source code.</p>"
132
- end
133
-
134
- plugins('machinelearning', add: %w(
135
- Aws::Plugins::MachineLearningPredictEndpoint
136
- ))
137
-
138
- api('route53') do |api|
139
- api['shapes']['PageMaxItems']['type'] = 'integer'
140
- end
141
-
142
- plugins('route53', add: %w(
143
- Aws::Plugins::Route53IdFix
144
- ))
145
-
146
- api('s3') do |api|
147
- api['metadata'].delete('signatureVersion')
148
- if ENV['DOCSTRINGS']
149
- api['shapes']['AccelerateBoolean'] = { 'type' => 'boolean' }
150
- api['operations'].each do |operation_name, operation|
151
- next if %w(CreateBucket ListBuckets DeleteBucket).include?(operation_name)
152
- if input_ref = operation['input']
153
- input_shape = api['shapes'][input_ref['shape']]
154
- input_shape['members']['UseAccelerateEndpoint'] = {
155
- 'shape' => 'AccelerateBoolean'
156
- }
157
- end
158
- end
159
- end
160
-
161
- api['shapes']['ExpiresString'] = { 'type' => 'string' }
162
- %w(HeadObjectOutput GetObjectOutput).each do |shape|
163
- members = api['shapes'][shape]['members']
164
- # inject ExpiresString directly after Expires
165
- api['shapes'][shape]['members'] = members.inject({}) do |h, (k,v)|
166
- h[k] = v
167
- if k == 'Expires'
168
- h['ExpiresString'] = {
169
- 'shape' => 'ExpiresString',
170
- 'location' => 'header',
171
- 'locationName' => 'Expires',
172
- }
173
- end
174
- h
175
- end
176
- end
177
- end
178
-
179
- doc('s3') do |docs|
180
- if ENV['DOCSTRINGS']
181
- docs['shapes']['AccelerateBoolean'] = {}
182
- docs['shapes']['AccelerateBoolean']['refs'] = {}
183
- docs['shapes']['AccelerateBoolean']['base'] = 'When <tt>true</tt>, the "https://BUCKETNAME.s3-accelerate.amazonaws.com" endpoint will be used.'
184
- end
185
- end
186
-
187
- plugins('s3', add: %w(
188
- Aws::Plugins::S3Accelerate
189
- Aws::Plugins::S3BucketDns
190
- Aws::Plugins::S3BucketNameRestrictions
191
- Aws::Plugins::S3Expect100Continue
192
- Aws::Plugins::S3Http200Errors
193
- Aws::Plugins::S3GetBucketLocationFix
194
- Aws::Plugins::S3LocationConstraint
195
- Aws::Plugins::S3Md5s
196
- Aws::Plugins::S3Redirects
197
- Aws::Plugins::S3SseCpk
198
- Aws::Plugins::S3UrlEncodedKeys
199
- Aws::Plugins::S3RequestSigner
200
- ))
201
-
202
- api('sqs') do |api|
203
- api['metadata']['errorPrefix'] = 'AWS.SimpleQueueService.'
204
- end
205
-
206
- plugins('sqs', add: %w(
207
- Aws::Plugins::SQSQueueUrls
208
- Aws::Plugins::SQSMd5s
209
- ))
210
-
211
- plugins('swf', add: %w(
212
- Aws::Plugins::SWFReadTimeouts
213
- ))
214
-
215
- end
216
- end
217
- end
@@ -1,220 +0,0 @@
1
- require 'erb'
2
-
3
- module Aws
4
- module Api
5
- module Docs
6
- class Builder
7
-
8
- def self.document(svc_module)
9
- new(svc_module).document
10
- end
11
-
12
- def initialize(svc_module)
13
- @svc_module = svc_module
14
- @svc_name = svc_module.name.split('::').last
15
- @client_class = svc_module.const_get(:Client)
16
- @api = @client_class.api
17
- @full_name = @api.metadata['serviceFullName']
18
- @error_names = @api.operations.map {|_,o| o.errors.map(&:shape).map(&:name) }
19
- @error_names = @error_names.flatten.uniq.sort
20
- @namespace = YARD::Registry['Aws']
21
- end
22
-
23
- def document
24
- document_service
25
- document_types
26
- document_client
27
- document_errors
28
- end
29
-
30
- private
31
-
32
- def document_service
33
- yard_mod = YARD::CodeObjects::ModuleObject.new(@namespace, @svc_name)
34
- yard_mod.docstring = service_docstring
35
- yard_mod.docstring.add_tag(YARD::Tags::Tag.new(:service, @svc_name))
36
- @namespace = yard_mod
37
- end
38
-
39
- def service_docstring
40
- path = "doc-src/services/#{@svc_name}/service.md"
41
- path = 'doc-src/services/default/service.md' unless File.exist?(path)
42
- template = read(path)
43
- svc_name = @svc_name
44
- api = @api
45
- full_name = @full_name
46
- ERB.new(template).result(binding)
47
- end
48
-
49
- def document_errors
50
- yard_mod = YARD::CodeObjects::ModuleObject.new(@namespace, 'Errors')
51
- yard_mod.docstring = errors_docstring
52
-
53
- base_error = YARD::CodeObjects::ClassObject.new(yard_mod, 'ServiceError')
54
- base_error.docstring = "Base class for all Aws::#{@svc_name} errors."
55
- base_error.superclass = YARD::Registry['Aws::Errors::ServiceError']
56
-
57
- @error_names.each do |error_name|
58
- error_klass = YARD::CodeObjects::ClassObject.new(yard_mod, error_name)
59
- error_klass.superclass = base_error
60
- end
61
- end
62
-
63
- def errors_docstring
64
- path = "doc-src/services/#{@svc_name}/errors.md"
65
- path = 'doc-src/services/default/errors.md' unless File.exist?(path)
66
- template = read(path)
67
- svc_name = @svc_name
68
- api = @api
69
- full_name = @full_name
70
- known_errors = @error_names
71
- ERB.new(template).result(binding)
72
- end
73
-
74
- def document_client
75
- yard_class = YARD::CodeObjects::ClassObject.new(@namespace, 'Client')
76
- yard_class.superclass = YARD::Registry['Seahorse::Client::Base']
77
- yard_class.docstring = client_docstring
78
- document_client_constructor(yard_class)
79
- document_client_operations(yard_class)
80
- document_client_waiters(yard_class)
81
- end
82
-
83
- def document_types
84
- namespace = YARD::CodeObjects::ModuleObject.new(@namespace, 'Types')
85
- documenter = ClientTypeDocumenter.new(namespace)
86
- @api.metadata['shapes'].each_structure do |shape|
87
- documenter.document(@api, shape)
88
- end
89
- end
90
-
91
- def client_docstring
92
- path = "doc-src/services/#{@svc_name}/client.md"
93
- path = 'doc-src/services/default/client.md' unless File.exist?(path)
94
- render(path)
95
- end
96
-
97
- def render(path)
98
- svc_name = @svc_name
99
- api = @api
100
- full_name = @full_name
101
- ERB.new(File.read(path)).result(binding)
102
- end
103
-
104
- def document_client_constructor(namespace)
105
- constructor = YARD::CodeObjects::MethodObject.new(namespace, :initialize)
106
- constructor.group = 'Constructor'
107
- constructor.scope = :instance
108
- constructor.parameters << ['options', '{}']
109
- constructor.docstring = client_constructor_docstring
110
- end
111
-
112
- def client_constructor_docstring
113
- <<-DOCS.strip
114
- Constructs an API client.
115
- #{client_constructor_options}
116
- @return [#{@client_class.name}] Returns an API client.
117
- DOCS
118
- end
119
-
120
- def client_constructor_options
121
- options = {}
122
- @client_class.plugins.each do |plugin|
123
- if p = YARD::Registry[plugin.name]
124
- p.tags.each do |tag|
125
- if tag.tag_name == 'seahorse_client_option'
126
- option_name = tag.text.match(/.+(:\w+)/)[1]
127
- option_text = "@option options " + tag.text.split("\n").join("\n ")
128
- options[option_name] = option_text +
129
- " See {#{plugin.name}} for more details."
130
- end
131
- end
132
- end
133
- end
134
- options.sort_by { |k,v| k }.map(&:last).join("\n")
135
- end
136
-
137
- def document_client_operations(namespace)
138
- @api.operations.each do |method_name, operation|
139
- document_client_operation(namespace, method_name, operation)
140
- end
141
- end
142
-
143
- def document_client_operation(namespace, method_name, operation)
144
- documenter = OperationDocumenter.new(@svc_name, namespace)
145
- documenter.document(method_name, operation)
146
- end
147
-
148
- def document_client_waiters(yard_class)
149
- m = YARD::CodeObjects::MethodObject.new(yard_class, :wait_until)
150
- m.scope = :instance
151
- m.parameters << ['waiter_name', nil]
152
- m.parameters << ['params', '{}']
153
- m.docstring = YARD::Registry['Aws::ClientWaiters#wait_until'].docstring
154
-
155
- waiters = @client_class.waiters.waiter_names.sort.inject('') do |w,name|
156
- waiter = @client_class.waiters.waiter(name)
157
- operation = waiter.poller.operation_name
158
- w << "<tr><td><tt>:#{name}</tt></td><td>{##{operation}}</td><td>#{waiter.delay}</td><td>#{waiter.max_attempts}</td></tr>"
159
- end
160
- docstring = <<-DOCSTRING
161
- Returns the list of supported waiters. The following table lists the supported
162
- waiters and the client method they call:
163
- <table>
164
- <thead>
165
- <tr><th>Waiter Name</th><th>Client Method</th><th>Default Delay:</th><th>Default Max Attempts:</th></tr>
166
- </thead>
167
- <tbody>
168
- #{waiters}
169
- </tbody>
170
- </table>
171
- @return [Array<Symbol>] the list of supported waiters.
172
- DOCSTRING
173
- m = YARD::CodeObjects::MethodObject.new(yard_class, :waiter_names)
174
- m.scope = :instance
175
- m.docstring = docstring
176
- end
177
-
178
- class Tabulator
179
-
180
- def initialize
181
- @tabs = []
182
- @tab_contents = []
183
- end
184
-
185
- def tab(method_name, tab_name, &block)
186
- tab_class = tab_name.downcase.gsub(/[^a-z]+/i, '-')
187
- tab_id = "#{method_name.to_s.gsub(/_/, '-')}-#{tab_class}"
188
- class_names = ['tab-contents', tab_class]
189
- @tabs << [tab_id, tab_name]
190
- @tab_contents << "<div class=\"#{class_names.join(' ')}\" id=\"#{tab_id}\">"
191
- @tab_contents << yield
192
- @tab_contents << '</div>'
193
- end
194
-
195
- def to_html
196
- lines = []
197
- lines << '<div class="tab-box">'
198
- lines << '<ul class="tabs">'
199
- @tabs.each do |tab_id, tab_name|
200
- lines << "<li data-tab-id=\"#{tab_id}\">#{tab_name}</li>"
201
- end
202
- lines << '</ul>'
203
- lines.concat(@tab_contents)
204
- lines << '</div>'
205
- lines.join
206
- end
207
- alias inspect to_html
208
- alias to_str to_html
209
- alias to_s to_html
210
-
211
- end
212
-
213
- def read(path)
214
- File.open(path, 'r', encoding: 'UTF-8') { |f| f.read }
215
- end
216
-
217
- end
218
- end
219
- end
220
- end