aws-sdk-core 2.4.0 → 3.53.0

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 (487) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -0
  3. data/ca-bundle.crt +3615 -3541
  4. data/lib/aws-sdk-core.rb +96 -408
  5. data/lib/aws-sdk-core/async_client_stubs.rb +80 -0
  6. data/lib/aws-sdk-core/binary.rb +6 -0
  7. data/lib/aws-sdk-core/binary/decode_handler.rb +56 -0
  8. data/lib/aws-sdk-core/binary/encode_handler.rb +32 -0
  9. data/lib/aws-sdk-core/binary/event_builder.rb +122 -0
  10. data/lib/aws-sdk-core/binary/event_parser.rb +134 -0
  11. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +62 -0
  12. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +53 -0
  13. data/lib/aws-sdk-core/client_side_monitoring/publisher.rb +41 -0
  14. data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +197 -0
  15. data/lib/aws-sdk-core/client_stubs.rb +73 -10
  16. data/lib/aws-sdk-core/credential_provider.rb +2 -0
  17. data/lib/aws-sdk-core/credential_provider_chain.rb +22 -5
  18. data/lib/aws-sdk-core/ecs_credentials.rb +3 -3
  19. data/lib/aws-sdk-core/endpoint_cache.rb +188 -0
  20. data/lib/aws-sdk-core/errors.rb +174 -10
  21. data/lib/aws-sdk-core/event_emitter.rb +62 -0
  22. data/lib/aws-sdk-core/ini_parser.rb +1 -0
  23. data/lib/aws-sdk-core/instance_profile_credentials.rb +21 -12
  24. data/lib/aws-sdk-core/json.rb +4 -5
  25. data/lib/aws-sdk-core/json/builder.rb +4 -2
  26. data/lib/aws-sdk-core/json/error_handler.rb +19 -2
  27. data/lib/aws-sdk-core/json/handler.rb +22 -3
  28. data/lib/aws-sdk-core/json/parser.rb +1 -1
  29. data/lib/aws-sdk-core/log/param_filter.rb +4 -3
  30. data/lib/aws-sdk-core/pageable_response.rb +1 -0
  31. data/lib/aws-sdk-core/pager.rb +30 -25
  32. data/lib/aws-sdk-core/param_converter.rb +3 -3
  33. data/lib/aws-sdk-core/param_validator.rb +56 -21
  34. data/lib/aws-sdk-core/plugins/api_key.rb +52 -0
  35. data/lib/aws-sdk-core/plugins/apig_authorizer_token.rb +30 -0
  36. data/lib/aws-sdk-core/plugins/apig_credentials_configuration.rb +34 -0
  37. data/lib/aws-sdk-core/plugins/apig_user_agent.rb +37 -0
  38. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +256 -0
  39. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +84 -0
  40. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +62 -0
  41. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +160 -0
  42. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +63 -0
  43. data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +30 -0
  44. data/lib/aws-sdk-core/plugins/global_configuration.rb +19 -10
  45. data/lib/aws-sdk-core/plugins/helpful_socket_errors.rb +41 -0
  46. data/lib/aws-sdk-core/plugins/idempotency_token.rb +36 -0
  47. data/lib/aws-sdk-core/plugins/invocation_id.rb +33 -0
  48. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +29 -0
  49. data/lib/aws-sdk-core/plugins/logging.rb +18 -18
  50. data/lib/aws-sdk-core/plugins/param_converter.rb +9 -5
  51. data/lib/aws-sdk-core/plugins/param_validator.rb +8 -5
  52. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +10 -0
  53. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -1
  54. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +13 -12
  55. data/lib/aws-sdk-core/plugins/protocols/query.rb +2 -2
  56. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +28 -16
  57. data/lib/aws-sdk-core/plugins/response_paging.rb +5 -18
  58. data/lib/aws-sdk-core/plugins/retry_errors.rb +97 -23
  59. data/lib/aws-sdk-core/plugins/signature_v2.rb +51 -0
  60. data/lib/aws-sdk-core/plugins/signature_v4.rb +141 -0
  61. data/lib/aws-sdk-core/plugins/stub_responses.rb +35 -18
  62. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +53 -0
  63. data/lib/aws-sdk-core/plugins/user_agent.rb +23 -6
  64. data/lib/aws-sdk-core/process_credentials.rb +76 -0
  65. data/lib/aws-sdk-core/query.rb +5 -0
  66. data/lib/aws-sdk-core/query/ec2_param_builder.rb +9 -3
  67. data/lib/aws-sdk-core/query/handler.rb +20 -16
  68. data/lib/aws-sdk-core/query/param_builder.rb +10 -4
  69. data/lib/aws-sdk-core/refreshing_credentials.rb +1 -1
  70. data/lib/aws-sdk-core/resources/collection.rb +121 -0
  71. data/lib/aws-sdk-core/rest.rb +10 -0
  72. data/lib/aws-sdk-core/rest/handler.rb +1 -0
  73. data/lib/aws-sdk-core/rest/request/builder.rb +2 -1
  74. data/lib/aws-sdk-core/rest/request/endpoint.rb +11 -66
  75. data/lib/aws-sdk-core/rest/request/headers.rb +20 -1
  76. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +103 -0
  77. data/lib/aws-sdk-core/rest/response/body.rb +14 -1
  78. data/lib/aws-sdk-core/rest/response/headers.rb +9 -0
  79. data/lib/aws-sdk-core/rest/response/parser.rb +18 -14
  80. data/lib/aws-sdk-core/shared_config.rb +132 -18
  81. data/lib/aws-sdk-core/shared_credentials.rb +2 -0
  82. data/lib/aws-sdk-core/structure.rb +21 -11
  83. data/lib/aws-sdk-core/stubbing/data_applicator.rb +1 -1
  84. data/lib/aws-sdk-core/stubbing/empty_stub.rb +10 -3
  85. data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +8 -0
  86. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +1 -1
  87. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +99 -1
  88. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +5 -1
  89. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +9 -5
  90. data/lib/aws-sdk-core/stubbing/stub_data.rb +16 -3
  91. data/lib/aws-sdk-core/util.rb +66 -0
  92. data/lib/aws-sdk-core/waiters.rb +3 -0
  93. data/lib/aws-sdk-core/waiters/poller.rb +5 -7
  94. data/lib/aws-sdk-core/waiters/waiter.rb +1 -0
  95. data/lib/aws-sdk-core/xml.rb +9 -0
  96. data/lib/aws-sdk-core/xml/builder.rb +11 -5
  97. data/lib/aws-sdk-core/xml/error_handler.rb +27 -5
  98. data/lib/aws-sdk-core/xml/parser.rb +1 -11
  99. data/lib/aws-sdk-core/xml/parser/engines/ox.rb +5 -1
  100. data/lib/aws-sdk-core/xml/parser/frame.rb +6 -6
  101. data/lib/aws-sdk-sts.rb +45 -0
  102. data/lib/aws-sdk-sts/client.rb +1761 -0
  103. data/lib/aws-sdk-sts/client_api.rb +304 -0
  104. data/lib/aws-sdk-sts/customizations.rb +0 -0
  105. data/lib/aws-sdk-sts/errors.rb +142 -0
  106. data/lib/aws-sdk-sts/resource.rb +23 -0
  107. data/lib/aws-sdk-sts/types.rb +1279 -0
  108. data/lib/seahorse.rb +60 -60
  109. data/lib/seahorse/client/async_base.rb +50 -0
  110. data/lib/seahorse/client/async_response.rb +62 -0
  111. data/lib/seahorse/client/base.rb +2 -8
  112. data/lib/seahorse/client/configuration.rb +9 -1
  113. data/lib/seahorse/client/h2/connection.rb +244 -0
  114. data/lib/seahorse/client/h2/handler.rb +151 -0
  115. data/lib/seahorse/client/http/async_response.rb +42 -0
  116. data/lib/seahorse/client/http/response.rb +10 -5
  117. data/lib/seahorse/client/logging/formatter.rb +5 -1
  118. data/lib/seahorse/client/logging/handler.rb +2 -0
  119. data/lib/seahorse/client/net_http/connection_pool.rb +27 -11
  120. data/lib/seahorse/client/net_http/handler.rb +10 -2
  121. data/lib/seahorse/client/net_http/patches.rb +9 -1
  122. data/lib/seahorse/client/networking_error.rb +28 -0
  123. data/lib/seahorse/client/plugin.rb +66 -6
  124. data/lib/seahorse/client/plugin_list.rb +3 -1
  125. data/lib/seahorse/client/plugins/content_length.rb +7 -2
  126. data/lib/seahorse/client/plugins/endpoint.rb +14 -10
  127. data/lib/seahorse/client/plugins/h2.rb +64 -0
  128. data/lib/seahorse/client/plugins/logging.rb +17 -19
  129. data/lib/seahorse/client/plugins/net_http.rb +23 -15
  130. data/lib/seahorse/client/plugins/raise_response_errors.rb +4 -4
  131. data/lib/seahorse/client/plugins/response_target.rb +10 -1
  132. data/lib/seahorse/client/request_context.rb +5 -0
  133. data/lib/seahorse/client/response.rb +9 -20
  134. data/lib/seahorse/model/api.rb +37 -0
  135. data/lib/seahorse/model/authorizer.rb +21 -0
  136. data/lib/seahorse/model/operation.rb +20 -0
  137. data/lib/seahorse/model/shapes.rb +44 -2
  138. data/lib/seahorse/util.rb +1 -21
  139. metadata +112 -359
  140. data/apis/acm/2015-12-08/api-2.json +0 -495
  141. data/apis/acm/2015-12-08/examples-1.json +0 -5
  142. data/apis/acm/2015-12-08/paginators-1.json +0 -10
  143. data/apis/apigateway/2015-07-09/api-2.json +0 -3347
  144. data/apis/apigateway/2015-07-09/examples-1.json +0 -5
  145. data/apis/apigateway/2015-07-09/paginators-1.json +0 -52
  146. data/apis/application-autoscaling/2016-02-06/api-2.json +0 -502
  147. data/apis/application-autoscaling/2016-02-06/examples-1.json +0 -5
  148. data/apis/application-autoscaling/2016-02-06/paginators-1.json +0 -22
  149. data/apis/autoscaling/2011-01-01/api-2.json +0 -2038
  150. data/apis/autoscaling/2011-01-01/examples-1.json +0 -5
  151. data/apis/autoscaling/2011-01-01/paginators-1.json +0 -52
  152. data/apis/autoscaling/2011-01-01/resources-1.json +0 -1613
  153. data/apis/autoscaling/2011-01-01/waiters-2.json +0 -62
  154. data/apis/cloudformation/2010-05-15/api-2.json +0 -1299
  155. data/apis/cloudformation/2010-05-15/examples-1.json +0 -5
  156. data/apis/cloudformation/2010-05-15/paginators-1.json +0 -27
  157. data/apis/cloudformation/2010-05-15/resources-1.json +0 -202
  158. data/apis/cloudformation/2010-05-15/waiters-2.json +0 -235
  159. data/apis/cloudfront/2016-01-28/api-2.json +0 -2218
  160. data/apis/cloudfront/2016-01-28/examples-1.json +0 -5
  161. data/apis/cloudfront/2016-01-28/paginators-1.json +0 -32
  162. data/apis/cloudfront/2016-01-28/waiters-2.json +0 -47
  163. data/apis/cloudhsm/2014-05-30/api-2.json +0 -877
  164. data/apis/cloudhsm/2014-05-30/examples-1.json +0 -5
  165. data/apis/cloudsearch/2013-01-01/api-2.json +0 -2001
  166. data/apis/cloudsearch/2013-01-01/paginators-1.json +0 -20
  167. data/apis/cloudsearchdomain/2013-01-01/api-2.json +0 -373
  168. data/apis/cloudsearchdomain/2013-01-01/examples-1.json +0 -5
  169. data/apis/cloudtrail/2013-11-01/api-2.json +0 -801
  170. data/apis/cloudtrail/2013-11-01/examples-1.json +0 -5
  171. data/apis/cloudtrail/2013-11-01/paginators-1.json +0 -7
  172. data/apis/codecommit/2015-04-13/api-2.json +0 -916
  173. data/apis/codecommit/2015-04-13/examples-1.json +0 -5
  174. data/apis/codecommit/2015-04-13/paginators-1.json +0 -14
  175. data/apis/codedeploy/2014-10-06/api-2.json +0 -1954
  176. data/apis/codedeploy/2014-10-06/examples-1.json +0 -5
  177. data/apis/codedeploy/2014-10-06/paginators-1.json +0 -34
  178. data/apis/codepipeline/2015-07-09/api-2.json +0 -1633
  179. data/apis/codepipeline/2015-07-09/examples-1.json +0 -902
  180. data/apis/cognito-identity/2014-06-30/api-2.json +0 -859
  181. data/apis/cognito-identity/2014-06-30/examples-1.json +0 -5
  182. data/apis/cognito-idp/2016-04-18/api-2.json +0 -1657
  183. data/apis/cognito-idp/2016-04-18/examples-1.json +0 -5
  184. data/apis/cognito-sync/2014-06-30/api-2.json +0 -1874
  185. data/apis/config/2014-11-12/api-2.json +0 -1303
  186. data/apis/config/2014-11-12/examples-1.json +0 -5
  187. data/apis/config/2014-11-12/paginators-1.json +0 -10
  188. data/apis/datapipeline/2012-10-29/api-2.json +0 -1167
  189. data/apis/datapipeline/2012-10-29/paginators-1.json +0 -26
  190. data/apis/devicefarm/2015-06-23/api-2.json +0 -2030
  191. data/apis/devicefarm/2015-06-23/examples-1.json +0 -5
  192. data/apis/devicefarm/2015-06-23/paginators-1.json +0 -74
  193. data/apis/directconnect/2012-10-25/api-2.json +0 -793
  194. data/apis/directconnect/2012-10-25/examples-1.json +0 -5
  195. data/apis/directconnect/2012-10-25/paginators-1.json +0 -22
  196. data/apis/discovery/2015-11-01/api-2.json +0 -556
  197. data/apis/discovery/2015-11-01/examples-1.json +0 -5
  198. data/apis/dms/2016-01-01/api-2.json +0 -1469
  199. data/apis/dms/2016-01-01/examples-1.json +0 -5
  200. data/apis/ds/2015-04-16/api-2.json +0 -1674
  201. data/apis/ds/2015-04-16/examples-1.json +0 -5
  202. data/apis/dynamodb/2012-08-10/api-2.json +0 -1200
  203. data/apis/dynamodb/2012-08-10/examples-1.json +0 -5
  204. data/apis/dynamodb/2012-08-10/paginators-1.json +0 -26
  205. data/apis/dynamodb/2012-08-10/resources-1.json +0 -136
  206. data/apis/dynamodb/2012-08-10/waiters-2.json +0 -35
  207. data/apis/ec2/2015-10-01/api-2.json +0 -13759
  208. data/apis/ec2/2015-10-01/examples-1.json +0 -5
  209. data/apis/ec2/2015-10-01/paginators-1.json +0 -138
  210. data/apis/ec2/2015-10-01/resources-1.json +0 -2582
  211. data/apis/ec2/2015-10-01/waiters-2.json +0 -593
  212. data/apis/ec2/2016-04-01/api-2.json +0 -13842
  213. data/apis/ec2/2016-04-01/examples-1.json +0 -5
  214. data/apis/ec2/2016-04-01/paginators-1.json +0 -138
  215. data/apis/ec2/2016-04-01/resources-1.json +0 -2582
  216. data/apis/ec2/2016-04-01/waiters-2.json +0 -593
  217. data/apis/ecr/2015-09-21/api-2.json +0 -849
  218. data/apis/ecr/2015-09-21/examples-1.json +0 -5
  219. data/apis/ecs/2014-11-13/api-2.json +0 -1396
  220. data/apis/ecs/2014-11-13/examples-1.json +0 -5
  221. data/apis/ecs/2014-11-13/paginators-1.json +0 -40
  222. data/apis/ecs/2014-11-13/waiters-2.json +0 -93
  223. data/apis/elasticache/2015-02-02/api-2.json +0 -2426
  224. data/apis/elasticache/2015-02-02/examples-1.json +0 -5
  225. data/apis/elasticache/2015-02-02/paginators-1.json +0 -76
  226. data/apis/elasticache/2015-02-02/waiters-2.json +0 -143
  227. data/apis/elasticbeanstalk/2010-12-01/api-2.json +0 -1894
  228. data/apis/elasticbeanstalk/2010-12-01/examples-1.json +0 -1109
  229. data/apis/elasticbeanstalk/2010-12-01/paginators-1.json +0 -25
  230. data/apis/elasticfilesystem/2015-02-01/api-2.json +0 -713
  231. data/apis/elasticfilesystem/2015-02-01/examples-1.json +0 -5
  232. data/apis/elasticloadbalancing/2012-06-01/api-2.json +0 -2145
  233. data/apis/elasticloadbalancing/2012-06-01/paginators-1.json +0 -18
  234. data/apis/elasticloadbalancing/2012-06-01/waiters-2.json +0 -49
  235. data/apis/elasticmapreduce/2009-03-31/api-2.json +0 -1341
  236. data/apis/elasticmapreduce/2009-03-31/examples-1.json +0 -5
  237. data/apis/elasticmapreduce/2009-03-31/paginators-1.json +0 -32
  238. data/apis/elasticmapreduce/2009-03-31/waiters-2.json +0 -67
  239. data/apis/elastictranscoder/2012-09-25/api-2.json +0 -1807
  240. data/apis/elastictranscoder/2012-09-25/paginators-1.json +0 -24
  241. data/apis/elastictranscoder/2012-09-25/waiters-2.json +0 -30
  242. data/apis/email/2010-12-01/api-2.json +0 -1791
  243. data/apis/email/2010-12-01/examples-1.json +0 -5
  244. data/apis/email/2010-12-01/paginators-1.json +0 -13
  245. data/apis/email/2010-12-01/waiters-2.json +0 -18
  246. data/apis/es/2015-01-01/api-2.json +0 -764
  247. data/apis/events/2015-10-07/api-2.json +0 -643
  248. data/apis/events/2015-10-07/examples-1.json +0 -5
  249. data/apis/firehose/2015-08-04/api-2.json +0 -719
  250. data/apis/gamelift/2015-10-01/api-2.json +0 -2307
  251. data/apis/gamelift/2015-10-01/examples-1.json +0 -5
  252. data/apis/glacier/2012-06-01/api-2.json +0 -2144
  253. data/apis/glacier/2012-06-01/paginators-1.json +0 -28
  254. data/apis/glacier/2012-06-01/resources-1.json +0 -563
  255. data/apis/glacier/2012-06-01/waiters-2.json +0 -39
  256. data/apis/iam/2010-05-08/api-2.json +0 -4514
  257. data/apis/iam/2010-05-08/examples-1.json +0 -5
  258. data/apis/iam/2010-05-08/paginators-1.json +0 -198
  259. data/apis/iam/2010-05-08/resources-1.json +0 -1740
  260. data/apis/iam/2010-05-08/waiters-2.json +0 -39
  261. data/apis/importexport/2010-06-01/api-2.json +0 -666
  262. data/apis/importexport/2010-06-01/paginators-1.json +0 -11
  263. data/apis/inspector/2016-02-16/api-2.json +0 -1964
  264. data/apis/inspector/2016-02-16/examples-1.json +0 -5
  265. data/apis/iot-data/2015-05-28/api-2.json +0 -263
  266. data/apis/iot/2015-05-28/api-2.json +0 -3800
  267. data/apis/iot/2015-05-28/examples-1.json +0 -5
  268. data/apis/kinesis/2013-12-02/api-2.json +0 -822
  269. data/apis/kinesis/2013-12-02/examples-1.json +0 -5
  270. data/apis/kinesis/2013-12-02/paginators-1.json +0 -18
  271. data/apis/kinesis/2013-12-02/waiters-2.json +0 -18
  272. data/apis/kms/2014-11-01/api-2.json +0 -1209
  273. data/apis/kms/2014-11-01/examples-1.json +0 -5
  274. data/apis/kms/2014-11-01/paginators-1.json +0 -32
  275. data/apis/lambda/2014-11-11/api-2.json +0 -667
  276. data/apis/lambda/2014-11-11/paginators-1.json +0 -16
  277. data/apis/lambda/2015-03-31/api-2.json +0 -1342
  278. data/apis/lambda/2015-03-31/examples-1.json +0 -5
  279. data/apis/lambda/2015-03-31/paginators-1.json +0 -16
  280. data/apis/logs/2014-03-28/api-2.json +0 -1138
  281. data/apis/logs/2014-03-28/examples-1.json +0 -5
  282. data/apis/logs/2014-03-28/paginators-1.json +0 -49
  283. data/apis/machinelearning/2014-12-12/api-2.json +0 -1947
  284. data/apis/machinelearning/2014-12-12/paginators-1.json +0 -28
  285. data/apis/machinelearning/2014-12-12/waiters-2.json +0 -81
  286. data/apis/marketplacecommerceanalytics/2015-07-01/api-2.json +0 -120
  287. data/apis/marketplacecommerceanalytics/2015-07-01/examples-1.json +0 -5
  288. data/apis/meteringmarketplace/2016-01-14/api-2.json +0 -127
  289. data/apis/meteringmarketplace/2016-01-14/examples-1.json +0 -5
  290. data/apis/monitoring/2010-08-01/api-2.json +0 -790
  291. data/apis/monitoring/2010-08-01/examples-1.json +0 -5
  292. data/apis/monitoring/2010-08-01/paginators-1.json +0 -24
  293. data/apis/monitoring/2010-08-01/resources-1.json +0 -346
  294. data/apis/monitoring/2010-08-01/waiters-2.json +0 -18
  295. data/apis/opsworks/2013-02-18/api-2.json +0 -2606
  296. data/apis/opsworks/2013-02-18/examples-1.json +0 -5
  297. data/apis/opsworks/2013-02-18/paginators-1.json +0 -55
  298. data/apis/opsworks/2013-02-18/resources-1.json +0 -173
  299. data/apis/opsworks/2013-02-18/waiters-2.json +0 -295
  300. data/apis/rds/2014-10-31/api-2.json +0 -4757
  301. data/apis/rds/2014-10-31/examples-1.json +0 -5
  302. data/apis/rds/2014-10-31/paginators-1.json +0 -110
  303. data/apis/rds/2014-10-31/resources-1.json +0 -3272
  304. data/apis/rds/2014-10-31/waiters-2.json +0 -102
  305. data/apis/redshift/2012-12-01/api-2.json +0 -3768
  306. data/apis/redshift/2012-12-01/examples-1.json +0 -5
  307. data/apis/redshift/2012-12-01/paginators-1.json +0 -94
  308. data/apis/redshift/2012-12-01/waiters-2.json +0 -97
  309. data/apis/route53/2013-04-01/api-2.json +0 -3245
  310. data/apis/route53/2013-04-01/examples-1.json +0 -5
  311. data/apis/route53/2013-04-01/paginators-1.json +0 -33
  312. data/apis/route53/2013-04-01/waiters-2.json +0 -18
  313. data/apis/route53domains/2014-05-15/api-2.json +0 -1197
  314. data/apis/route53domains/2014-05-15/paginators-1.json +0 -17
  315. data/apis/s3/2006-03-01/api-2.json +0 -4517
  316. data/apis/s3/2006-03-01/examples-1.json +0 -5
  317. data/apis/s3/2006-03-01/paginators-1.json +0 -66
  318. data/apis/s3/2006-03-01/resources-1.json +0 -1176
  319. data/apis/s3/2006-03-01/waiters-2.json +0 -73
  320. data/apis/sdb/2009-04-15/api-2.json +0 -954
  321. data/apis/sdb/2009-04-15/paginators-1.json +0 -15
  322. data/apis/servicecatalog/2015-12-10/api-2.json +0 -749
  323. data/apis/servicecatalog/2015-12-10/examples-1.json +0 -5
  324. data/apis/sns/2010-03-31/api-2.json +0 -1139
  325. data/apis/sns/2010-03-31/paginators-1.json +0 -29
  326. data/apis/sns/2010-03-31/resources-1.json +0 -327
  327. data/apis/sqs/2012-11-05/api-2.json +0 -950
  328. data/apis/sqs/2012-11-05/examples-1.json +0 -44
  329. data/apis/sqs/2012-11-05/paginators-1.json +0 -7
  330. data/apis/ssm/2014-11-06/api-2.json +0 -1796
  331. data/apis/ssm/2014-11-06/examples-1.json +0 -5
  332. data/apis/ssm/2014-11-06/paginators-1.json +0 -34
  333. data/apis/storagegateway/2013-06-30/api-2.json +0 -2275
  334. data/apis/storagegateway/2013-06-30/examples-1.json +0 -5
  335. data/apis/storagegateway/2013-06-30/paginators-1.json +0 -52
  336. data/apis/streams.dynamodb/2012-08-10/api-2.json +0 -397
  337. data/apis/streams.dynamodb/2012-08-10/examples-1.json +0 -5
  338. data/apis/sts/2011-06-15/api-2.json +0 -521
  339. data/apis/sts/2011-06-15/examples-1.json +0 -5
  340. data/apis/support/2013-04-15/api-2.json +0 -869
  341. data/apis/support/2013-04-15/paginators-1.json +0 -25
  342. data/apis/swf/2012-01-25/api-2.json +0 -2838
  343. data/apis/swf/2012-01-25/paginators-1.json +0 -46
  344. data/apis/waf/2015-08-24/api-2.json +0 -1959
  345. data/apis/waf/2015-08-24/examples-1.json +0 -5
  346. data/apis/workspaces/2015-04-08/api-2.json +0 -632
  347. data/apis/workspaces/2015-04-08/examples-1.json +0 -5
  348. data/apis/workspaces/2015-04-08/paginators-1.json +0 -20
  349. data/bin/aws.rb +0 -180
  350. data/endpoints.json +0 -1460
  351. data/lib/aws-sdk-core/acm.rb +0 -6
  352. data/lib/aws-sdk-core/api/builder.rb +0 -106
  353. data/lib/aws-sdk-core/api/customizations.rb +0 -217
  354. data/lib/aws-sdk-core/api/docs/builder.rb +0 -220
  355. data/lib/aws-sdk-core/api/docs/client_type_documenter.rb +0 -109
  356. data/lib/aws-sdk-core/api/docs/docstring_provider.rb +0 -75
  357. data/lib/aws-sdk-core/api/docs/operation_documenter.rb +0 -138
  358. data/lib/aws-sdk-core/api/docs/param_formatter.rb +0 -163
  359. data/lib/aws-sdk-core/api/docs/request_syntax_example.rb +0 -22
  360. data/lib/aws-sdk-core/api/docs/response_structure_example.rb +0 -91
  361. data/lib/aws-sdk-core/api/docs/shared_example.rb +0 -100
  362. data/lib/aws-sdk-core/api/docs/utils.rb +0 -133
  363. data/lib/aws-sdk-core/api/shape_map.rb +0 -142
  364. data/lib/aws-sdk-core/apigateway.rb +0 -6
  365. data/lib/aws-sdk-core/applicationautoscaling.rb +0 -6
  366. data/lib/aws-sdk-core/applicationdiscoveryservice.rb +0 -5
  367. data/lib/aws-sdk-core/autoscaling.rb +0 -8
  368. data/lib/aws-sdk-core/checksums.rb +0 -51
  369. data/lib/aws-sdk-core/client.rb +0 -57
  370. data/lib/aws-sdk-core/client_waiters.rb +0 -120
  371. data/lib/aws-sdk-core/cloudformation.rb +0 -8
  372. data/lib/aws-sdk-core/cloudfront.rb +0 -15
  373. data/lib/aws-sdk-core/cloudfront/url_signer.rb +0 -167
  374. data/lib/aws-sdk-core/cloudhsm.rb +0 -5
  375. data/lib/aws-sdk-core/cloudsearch.rb +0 -5
  376. data/lib/aws-sdk-core/cloudsearchdomain.rb +0 -5
  377. data/lib/aws-sdk-core/cloudtrail.rb +0 -6
  378. data/lib/aws-sdk-core/cloudwatch.rb +0 -8
  379. data/lib/aws-sdk-core/cloudwatchevents.rb +0 -5
  380. data/lib/aws-sdk-core/cloudwatchlogs.rb +0 -6
  381. data/lib/aws-sdk-core/codecommit.rb +0 -6
  382. data/lib/aws-sdk-core/codedeploy.rb +0 -6
  383. data/lib/aws-sdk-core/codepipeline.rb +0 -5
  384. data/lib/aws-sdk-core/cognitoidentity.rb +0 -5
  385. data/lib/aws-sdk-core/cognitoidentityprovider.rb +0 -5
  386. data/lib/aws-sdk-core/cognitosync.rb +0 -4
  387. data/lib/aws-sdk-core/configservice.rb +0 -6
  388. data/lib/aws-sdk-core/databasemigrationservice.rb +0 -5
  389. data/lib/aws-sdk-core/datapipeline.rb +0 -5
  390. data/lib/aws-sdk-core/devicefarm.rb +0 -6
  391. data/lib/aws-sdk-core/directconnect.rb +0 -6
  392. data/lib/aws-sdk-core/directoryservice.rb +0 -5
  393. data/lib/aws-sdk-core/dynamodb.rb +0 -40
  394. data/lib/aws-sdk-core/dynamodb/attribute_value.rb +0 -108
  395. data/lib/aws-sdk-core/dynamodbstreams.rb +0 -5
  396. data/lib/aws-sdk-core/ec2.rb +0 -8
  397. data/lib/aws-sdk-core/ecr.rb +0 -5
  398. data/lib/aws-sdk-core/ecs.rb +0 -7
  399. data/lib/aws-sdk-core/efs.rb +0 -5
  400. data/lib/aws-sdk-core/elasticache.rb +0 -7
  401. data/lib/aws-sdk-core/elasticbeanstalk.rb +0 -6
  402. data/lib/aws-sdk-core/elasticloadbalancing.rb +0 -6
  403. data/lib/aws-sdk-core/elasticsearchservice.rb +0 -4
  404. data/lib/aws-sdk-core/elastictranscoder.rb +0 -6
  405. data/lib/aws-sdk-core/empty_structure.rb +0 -3
  406. data/lib/aws-sdk-core/emr.rb +0 -7
  407. data/lib/aws-sdk-core/endpoint_provider.rb +0 -95
  408. data/lib/aws-sdk-core/firehose.rb +0 -4
  409. data/lib/aws-sdk-core/gamelift.rb +0 -5
  410. data/lib/aws-sdk-core/glacier.rb +0 -7
  411. data/lib/aws-sdk-core/iam.rb +0 -8
  412. data/lib/aws-sdk-core/importexport.rb +0 -5
  413. data/lib/aws-sdk-core/inspector.rb +0 -5
  414. data/lib/aws-sdk-core/iot.rb +0 -5
  415. data/lib/aws-sdk-core/iotdataplane.rb +0 -4
  416. data/lib/aws-sdk-core/kinesis.rb +0 -7
  417. data/lib/aws-sdk-core/kms.rb +0 -6
  418. data/lib/aws-sdk-core/lambda.rb +0 -6
  419. data/lib/aws-sdk-core/lambdapreview.rb +0 -5
  420. data/lib/aws-sdk-core/machinelearning.rb +0 -6
  421. data/lib/aws-sdk-core/marketplacecommerceanalytics.rb +0 -5
  422. data/lib/aws-sdk-core/marketplacemetering.rb +0 -5
  423. data/lib/aws-sdk-core/opsworks.rb +0 -8
  424. data/lib/aws-sdk-core/partitions.rb +0 -174
  425. data/lib/aws-sdk-core/partitions/partition.rb +0 -95
  426. data/lib/aws-sdk-core/partitions/partition_list.rb +0 -60
  427. data/lib/aws-sdk-core/partitions/region.rb +0 -78
  428. data/lib/aws-sdk-core/partitions/service.rb +0 -84
  429. data/lib/aws-sdk-core/plugins/api_gateway_header.rb +0 -19
  430. data/lib/aws-sdk-core/plugins/csd_conditional_signing.rb +0 -30
  431. data/lib/aws-sdk-core/plugins/dynamodb_crc32_validation.rb +0 -52
  432. data/lib/aws-sdk-core/plugins/dynamodb_extended_retries.rb +0 -22
  433. data/lib/aws-sdk-core/plugins/dynamodb_simple_attributes.rb +0 -209
  434. data/lib/aws-sdk-core/plugins/ec2_copy_encrypted_snapshot.rb +0 -87
  435. data/lib/aws-sdk-core/plugins/ec2_region_validation.rb +0 -17
  436. data/lib/aws-sdk-core/plugins/glacier_account_id.rb +0 -19
  437. data/lib/aws-sdk-core/plugins/glacier_api_version.rb +0 -19
  438. data/lib/aws-sdk-core/plugins/glacier_checksums.rb +0 -87
  439. data/lib/aws-sdk-core/plugins/machine_learning_predict_endpoint.rb +0 -20
  440. data/lib/aws-sdk-core/plugins/request_signer.rb +0 -138
  441. data/lib/aws-sdk-core/plugins/route_53_id_fix.rb +0 -55
  442. data/lib/aws-sdk-core/plugins/s3_accelerate.rb +0 -73
  443. data/lib/aws-sdk-core/plugins/s3_bucket_dns.rb +0 -86
  444. data/lib/aws-sdk-core/plugins/s3_bucket_name_restrictions.rb +0 -21
  445. data/lib/aws-sdk-core/plugins/s3_expect_100_continue.rb +0 -27
  446. data/lib/aws-sdk-core/plugins/s3_get_bucket_location_fix.rb +0 -21
  447. data/lib/aws-sdk-core/plugins/s3_http_200_errors.rb +0 -45
  448. data/lib/aws-sdk-core/plugins/s3_location_constraint.rb +0 -31
  449. data/lib/aws-sdk-core/plugins/s3_md5s.rb +0 -50
  450. data/lib/aws-sdk-core/plugins/s3_redirects.rb +0 -37
  451. data/lib/aws-sdk-core/plugins/s3_request_signer.rb +0 -166
  452. data/lib/aws-sdk-core/plugins/s3_sse_cpk.rb +0 -64
  453. data/lib/aws-sdk-core/plugins/s3_url_encoded_keys.rb +0 -92
  454. data/lib/aws-sdk-core/plugins/sqs_md5s.rb +0 -162
  455. data/lib/aws-sdk-core/plugins/sqs_queue_urls.rb +0 -34
  456. data/lib/aws-sdk-core/plugins/swf_read_timeouts.rb +0 -23
  457. data/lib/aws-sdk-core/rds.rb +0 -8
  458. data/lib/aws-sdk-core/redshift.rb +0 -7
  459. data/lib/aws-sdk-core/route53.rb +0 -7
  460. data/lib/aws-sdk-core/route53domains.rb +0 -5
  461. data/lib/aws-sdk-core/s3.rb +0 -26
  462. data/lib/aws-sdk-core/s3/bucket_region_cache.rb +0 -75
  463. data/lib/aws-sdk-core/s3/presigner.rb +0 -113
  464. data/lib/aws-sdk-core/service.rb +0 -4
  465. data/lib/aws-sdk-core/servicecatalog.rb +0 -5
  466. data/lib/aws-sdk-core/ses.rb +0 -7
  467. data/lib/aws-sdk-core/signers/base.rb +0 -31
  468. data/lib/aws-sdk-core/signers/s3.rb +0 -184
  469. data/lib/aws-sdk-core/signers/v2.rb +0 -51
  470. data/lib/aws-sdk-core/signers/v3.rb +0 -34
  471. data/lib/aws-sdk-core/signers/v4.rb +0 -233
  472. data/lib/aws-sdk-core/simpledb.rb +0 -5
  473. data/lib/aws-sdk-core/sns.rb +0 -6
  474. data/lib/aws-sdk-core/sqs.rb +0 -6
  475. data/lib/aws-sdk-core/ssm.rb +0 -6
  476. data/lib/aws-sdk-core/storagegateway.rb +0 -6
  477. data/lib/aws-sdk-core/sts.rb +0 -5
  478. data/lib/aws-sdk-core/support.rb +0 -5
  479. data/lib/aws-sdk-core/swf.rb +0 -5
  480. data/lib/aws-sdk-core/tree_hash.rb +0 -69
  481. data/lib/aws-sdk-core/version.rb +0 -3
  482. data/lib/aws-sdk-core/waf.rb +0 -5
  483. data/lib/aws-sdk-core/waiters/null_provider.rb +0 -12
  484. data/lib/aws-sdk-core/waiters/provider.rb +0 -35
  485. data/lib/aws-sdk-core/workspaces.rb +0 -6
  486. data/lib/seahorse/client/plugins/restful_bindings.rb +0 -127
  487. 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