aws-sdk-core 2.11.390 → 3.72.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1178) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -0
  3. data/lib/aws-sdk-core.rb +84 -554
  4. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +101 -0
  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 +49 -0
  14. data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +197 -0
  15. data/lib/aws-sdk-core/client_stubs.rb +11 -8
  16. data/lib/aws-sdk-core/credential_provider.rb +11 -12
  17. data/lib/aws-sdk-core/credential_provider_chain.rb +41 -14
  18. data/lib/aws-sdk-core/deprecations.rb +16 -10
  19. data/lib/aws-sdk-core/endpoint_cache.rb +14 -11
  20. data/lib/aws-sdk-core/errors.rb +123 -22
  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 +4 -3
  24. data/lib/aws-sdk-core/json.rb +9 -10
  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 +60 -26
  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 +280 -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 +43 -50
  42. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +9 -8
  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/idempotency_token.rb +1 -2
  46. data/lib/aws-sdk-core/plugins/invocation_id.rb +33 -0
  47. data/lib/aws-sdk-core/plugins/logging.rb +18 -18
  48. data/lib/aws-sdk-core/plugins/param_converter.rb +9 -5
  49. data/lib/aws-sdk-core/plugins/param_validator.rb +8 -5
  50. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +10 -0
  51. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -1
  52. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +13 -12
  53. data/lib/aws-sdk-core/plugins/protocols/query.rb +2 -2
  54. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +24 -16
  55. data/lib/aws-sdk-core/plugins/response_paging.rb +5 -18
  56. data/lib/aws-sdk-core/plugins/retry_errors.rb +81 -25
  57. data/lib/aws-sdk-core/plugins/signature_v2.rb +51 -0
  58. data/lib/aws-sdk-core/plugins/signature_v4.rb +141 -0
  59. data/lib/aws-sdk-core/plugins/stub_responses.rb +35 -18
  60. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +53 -0
  61. data/lib/aws-sdk-core/plugins/user_agent.rb +23 -6
  62. data/lib/aws-sdk-core/process_credentials.rb +80 -0
  63. data/lib/aws-sdk-core/query.rb +5 -0
  64. data/lib/aws-sdk-core/query/ec2_param_builder.rb +9 -3
  65. data/lib/aws-sdk-core/query/handler.rb +20 -16
  66. data/lib/aws-sdk-core/query/param_builder.rb +10 -4
  67. data/lib/aws-sdk-core/refreshing_credentials.rb +1 -1
  68. data/lib/aws-sdk-core/resources/collection.rb +121 -0
  69. data/lib/aws-sdk-core/rest.rb +10 -0
  70. data/lib/aws-sdk-core/rest/handler.rb +1 -0
  71. data/lib/aws-sdk-core/rest/request/builder.rb +2 -1
  72. data/lib/aws-sdk-core/rest/request/endpoint.rb +3 -3
  73. data/lib/aws-sdk-core/rest/request/headers.rb +11 -1
  74. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +13 -0
  75. data/lib/aws-sdk-core/rest/response/body.rb +14 -1
  76. data/lib/aws-sdk-core/rest/response/headers.rb +2 -0
  77. data/lib/aws-sdk-core/rest/response/parser.rb +18 -14
  78. data/lib/aws-sdk-core/shared_config.rb +172 -15
  79. data/lib/aws-sdk-core/shared_credentials.rb +2 -0
  80. data/lib/aws-sdk-core/structure.rb +22 -13
  81. data/lib/aws-sdk-core/stubbing/data_applicator.rb +1 -1
  82. data/lib/aws-sdk-core/stubbing/empty_stub.rb +10 -3
  83. data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +8 -0
  84. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +1 -1
  85. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +92 -0
  86. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +5 -1
  87. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +9 -5
  88. data/lib/aws-sdk-core/stubbing/stub_data.rb +16 -3
  89. data/lib/aws-sdk-core/util.rb +66 -0
  90. data/lib/aws-sdk-core/waiters.rb +3 -0
  91. data/lib/aws-sdk-core/waiters/poller.rb +5 -9
  92. data/lib/aws-sdk-core/waiters/waiter.rb +1 -0
  93. data/lib/aws-sdk-core/xml.rb +9 -0
  94. data/lib/aws-sdk-core/xml/builder.rb +11 -5
  95. data/lib/aws-sdk-core/xml/error_handler.rb +27 -5
  96. data/lib/aws-sdk-core/xml/parser.rb +1 -11
  97. data/lib/aws-sdk-core/xml/parser/frame.rb +6 -6
  98. data/lib/aws-sdk-sts.rb +45 -0
  99. data/lib/aws-sdk-sts/client.rb +1840 -0
  100. data/lib/aws-sdk-sts/client_api.rb +320 -0
  101. data/lib/aws-sdk-sts/customizations.rb +0 -0
  102. data/lib/aws-sdk-sts/errors.rb +142 -0
  103. data/lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb +32 -0
  104. data/lib/aws-sdk-sts/resource.rb +23 -0
  105. data/lib/aws-sdk-sts/types.rb +1312 -0
  106. data/lib/seahorse.rb +60 -60
  107. data/lib/seahorse/client/async_base.rb +50 -0
  108. data/lib/seahorse/client/async_response.rb +62 -0
  109. data/lib/seahorse/client/base.rb +5 -9
  110. data/lib/seahorse/client/configuration.rb +4 -2
  111. data/lib/seahorse/client/h2/connection.rb +244 -0
  112. data/lib/seahorse/client/h2/handler.rb +151 -0
  113. data/lib/seahorse/client/handler_list_entry.rb +2 -2
  114. data/lib/seahorse/client/http/async_response.rb +42 -0
  115. data/lib/seahorse/client/http/response.rb +10 -5
  116. data/lib/seahorse/client/logging/formatter.rb +2 -0
  117. data/lib/seahorse/client/logging/handler.rb +2 -0
  118. data/lib/seahorse/client/net_http/connection_pool.rb +16 -4
  119. data/lib/seahorse/client/net_http/handler.rb +5 -0
  120. data/lib/seahorse/client/net_http/patches.rb +9 -1
  121. data/lib/seahorse/client/networking_error.rb +28 -0
  122. data/lib/seahorse/client/plugin.rb +66 -6
  123. data/lib/seahorse/client/plugins/content_length.rb +7 -2
  124. data/lib/seahorse/client/plugins/endpoint.rb +14 -10
  125. data/lib/seahorse/client/plugins/h2.rb +64 -0
  126. data/lib/seahorse/client/plugins/logging.rb +17 -19
  127. data/lib/seahorse/client/plugins/net_http.rb +23 -15
  128. data/lib/seahorse/client/plugins/raise_response_errors.rb +4 -4
  129. data/lib/seahorse/client/plugins/response_target.rb +10 -1
  130. data/lib/seahorse/client/request_context.rb +5 -0
  131. data/lib/seahorse/model/api.rb +33 -0
  132. data/lib/seahorse/model/authorizer.rb +21 -0
  133. data/lib/seahorse/model/operation.rb +11 -0
  134. data/lib/seahorse/model/shapes.rb +44 -2
  135. data/lib/seahorse/util.rb +1 -22
  136. metadata +98 -1051
  137. data/apis/AWSMigrationHub/2017-05-31/api-2.json +0 -838
  138. data/apis/AWSMigrationHub/2017-05-31/examples-1.json +0 -5
  139. data/apis/AWSMigrationHub/2017-05-31/paginators-1.json +0 -4
  140. data/apis/acm-pca/2017-08-22/api-2.json +0 -1091
  141. data/apis/acm-pca/2017-08-22/examples-1.json +0 -5
  142. data/apis/acm-pca/2017-08-22/paginators-1.json +0 -22
  143. data/apis/acm-pca/2017-08-22/waiters-2.json +0 -61
  144. data/apis/acm/2015-12-08/api-2.json +0 -843
  145. data/apis/acm/2015-12-08/examples-1.json +0 -5
  146. data/apis/acm/2015-12-08/paginators-1.json +0 -10
  147. data/apis/acm/2015-12-08/smoke.json +0 -18
  148. data/apis/acm/2015-12-08/waiters-2.json +0 -35
  149. data/apis/alexaforbusiness/2017-11-09/api-2.json +0 -4003
  150. data/apis/alexaforbusiness/2017-11-09/examples-1.json +0 -5
  151. data/apis/alexaforbusiness/2017-11-09/paginators-1.json +0 -94
  152. data/apis/amplify/2017-07-25/api-2.json +0 -2171
  153. data/apis/amplify/2017-07-25/examples-1.json +0 -5
  154. data/apis/amplify/2017-07-25/paginators-1.json +0 -4
  155. data/apis/apigateway/2015-07-09/api-2.json +0 -5384
  156. data/apis/apigateway/2015-07-09/examples-1.json +0 -5
  157. data/apis/apigateway/2015-07-09/paginators-1.json +0 -76
  158. data/apis/apigateway/2015-07-09/smoke.json +0 -20
  159. data/apis/apigatewaymanagementapi/2018-11-29/api-2.json +0 -192
  160. data/apis/apigatewaymanagementapi/2018-11-29/paginators-1.json +0 -3
  161. data/apis/apigatewayv2/2018-11-29/api-2.json +0 -5773
  162. data/apis/apigatewayv2/2018-11-29/paginators-1.json +0 -3
  163. data/apis/application-autoscaling/2016-02-06/api-2.json +0 -779
  164. data/apis/application-autoscaling/2016-02-06/examples-1.json +0 -384
  165. data/apis/application-autoscaling/2016-02-06/paginators-1.json +0 -28
  166. data/apis/application-autoscaling/2016-02-06/smoke.json +0 -13
  167. data/apis/application-insights/2018-11-25/api-2.json +0 -721
  168. data/apis/application-insights/2018-11-25/examples-1.json +0 -5
  169. data/apis/application-insights/2018-11-25/paginators-1.json +0 -19
  170. data/apis/appmesh/2018-10-01/api-2.json +0 -1972
  171. data/apis/appmesh/2018-10-01/examples-1.json +0 -4
  172. data/apis/appmesh/2018-10-01/paginators-1.json +0 -28
  173. data/apis/appmesh/2019-01-25/api-2.json +0 -3424
  174. data/apis/appmesh/2019-01-25/examples-1.json +0 -4
  175. data/apis/appmesh/2019-01-25/paginators-1.json +0 -40
  176. data/apis/appstream/2016-12-01/api-2.json +0 -2356
  177. data/apis/appstream/2016-12-01/examples-1.json +0 -5
  178. data/apis/appstream/2016-12-01/paginators-1.json +0 -14
  179. data/apis/appstream/2016-12-01/smoke.json +0 -11
  180. data/apis/appstream/2016-12-01/waiters-2.json +0 -55
  181. data/apis/appsync/2017-07-25/api-2.json +0 -2003
  182. data/apis/appsync/2017-07-25/examples-1.json +0 -5
  183. data/apis/appsync/2017-07-25/paginators-1.json +0 -4
  184. data/apis/athena/2017-05-18/api-2.json +0 -985
  185. data/apis/athena/2017-05-18/examples-1.json +0 -5
  186. data/apis/athena/2017-05-18/paginators-1.json +0 -24
  187. data/apis/athena/2017-05-18/smoke.json +0 -11
  188. data/apis/autoscaling-plans/2018-01-06/api-2.json +0 -659
  189. data/apis/autoscaling-plans/2018-01-06/examples-1.json +0 -5
  190. data/apis/autoscaling-plans/2018-01-06/paginators-1.json +0 -4
  191. data/apis/autoscaling/2011-01-01/api-2.json +0 -2455
  192. data/apis/autoscaling/2011-01-01/examples-1.json +0 -1396
  193. data/apis/autoscaling/2011-01-01/paginators-1.json +0 -52
  194. data/apis/autoscaling/2011-01-01/resources-1.json +0 -1624
  195. data/apis/autoscaling/2011-01-01/smoke.json +0 -20
  196. data/apis/autoscaling/2011-01-01/waiters-2.json +0 -62
  197. data/apis/backup/2018-11-15/api-2.json +0 -2150
  198. data/apis/backup/2018-11-15/examples-1.json +0 -5
  199. data/apis/backup/2018-11-15/paginators-1.json +0 -59
  200. data/apis/batch/2016-08-10/api-2.json +0 -1137
  201. data/apis/batch/2016-08-10/examples-1.json +0 -589
  202. data/apis/batch/2016-08-10/paginators-1.json +0 -28
  203. data/apis/batch/2016-08-10/smoke.json +0 -11
  204. data/apis/budgets/2016-10-20/api-2.json +0 -807
  205. data/apis/budgets/2016-10-20/examples-1.json +0 -5
  206. data/apis/budgets/2016-10-20/paginators-1.json +0 -4
  207. data/apis/ce/2017-10-25/api-2.json +0 -1035
  208. data/apis/ce/2017-10-25/examples-1.json +0 -5
  209. data/apis/ce/2017-10-25/paginators-1.json +0 -4
  210. data/apis/chime/2018-05-01/api-2.json +0 -3499
  211. data/apis/chime/2018-05-01/examples-1.json +0 -5
  212. data/apis/chime/2018-05-01/paginators-1.json +0 -39
  213. data/apis/cloud9/2017-09-23/api-2.json +0 -549
  214. data/apis/cloud9/2017-09-23/examples-1.json +0 -315
  215. data/apis/cloud9/2017-09-23/paginators-1.json +0 -14
  216. data/apis/clouddirectory/2016-05-10/api-2.json +0 -4244
  217. data/apis/clouddirectory/2016-05-10/examples-1.json +0 -5
  218. data/apis/clouddirectory/2016-05-10/paginators-1.json +0 -94
  219. data/apis/clouddirectory/2017-01-11/api-2.json +0 -4321
  220. data/apis/clouddirectory/2017-01-11/examples-1.json +0 -5
  221. data/apis/clouddirectory/2017-01-11/paginators-1.json +0 -99
  222. data/apis/cloudformation/2010-05-15/api-2.json +0 -2686
  223. data/apis/cloudformation/2010-05-15/examples-1.json +0 -5
  224. data/apis/cloudformation/2010-05-15/paginators-1.json +0 -42
  225. data/apis/cloudformation/2010-05-15/resources-1.json +0 -211
  226. data/apis/cloudformation/2010-05-15/waiters-2.json +0 -182
  227. data/apis/cloudfront/2016-01-28/api-2.json +0 -2219
  228. data/apis/cloudfront/2016-01-28/examples-1.json +0 -5
  229. data/apis/cloudfront/2016-01-28/paginators-1.json +0 -32
  230. data/apis/cloudfront/2016-01-28/waiters-2.json +0 -47
  231. data/apis/cloudfront/2016-08-01/api-2.json +0 -2548
  232. data/apis/cloudfront/2016-08-01/examples-1.json +0 -5
  233. data/apis/cloudfront/2016-08-01/paginators-1.json +0 -32
  234. data/apis/cloudfront/2016-08-01/waiters-2.json +0 -47
  235. data/apis/cloudfront/2016-08-20/api-2.json +0 -2586
  236. data/apis/cloudfront/2016-08-20/paginators-1.json +0 -32
  237. data/apis/cloudfront/2016-08-20/waiters-2.json +0 -47
  238. data/apis/cloudfront/2016-09-07/api-2.json +0 -2596
  239. data/apis/cloudfront/2016-09-07/examples-1.json +0 -5
  240. data/apis/cloudfront/2016-09-07/paginators-1.json +0 -32
  241. data/apis/cloudfront/2016-09-07/waiters-2.json +0 -47
  242. data/apis/cloudfront/2016-09-29/api-2.json +0 -2599
  243. data/apis/cloudfront/2016-09-29/examples-1.json +0 -5
  244. data/apis/cloudfront/2016-09-29/paginators-1.json +0 -32
  245. data/apis/cloudfront/2016-09-29/waiters-2.json +0 -47
  246. data/apis/cloudfront/2016-11-25/api-2.json +0 -2665
  247. data/apis/cloudfront/2016-11-25/examples-1.json +0 -5
  248. data/apis/cloudfront/2016-11-25/paginators-1.json +0 -32
  249. data/apis/cloudfront/2016-11-25/waiters-2.json +0 -47
  250. data/apis/cloudfront/2017-03-25/api-2.json +0 -2726
  251. data/apis/cloudfront/2017-03-25/examples-1.json +0 -83
  252. data/apis/cloudfront/2017-03-25/paginators-1.json +0 -32
  253. data/apis/cloudfront/2017-03-25/waiters-2.json +0 -47
  254. data/apis/cloudfront/2017-10-30/api-2.json +0 -3906
  255. data/apis/cloudfront/2017-10-30/examples-1.json +0 -5
  256. data/apis/cloudfront/2017-10-30/paginators-1.json +0 -32
  257. data/apis/cloudfront/2017-10-30/smoke.json +0 -20
  258. data/apis/cloudfront/2017-10-30/waiters-2.json +0 -47
  259. data/apis/cloudfront/2018-06-18/api-2.json +0 -3907
  260. data/apis/cloudfront/2018-06-18/examples-1.json +0 -5
  261. data/apis/cloudfront/2018-06-18/paginators-1.json +0 -32
  262. data/apis/cloudfront/2018-06-18/smoke.json +0 -20
  263. data/apis/cloudfront/2018-06-18/waiters-2.json +0 -47
  264. data/apis/cloudfront/2018-11-05/api-2.json +0 -4004
  265. data/apis/cloudfront/2018-11-05/examples-1.json +0 -5
  266. data/apis/cloudfront/2018-11-05/paginators-1.json +0 -32
  267. data/apis/cloudfront/2018-11-05/smoke.json +0 -20
  268. data/apis/cloudfront/2018-11-05/waiters-2.json +0 -47
  269. data/apis/cloudfront/2019-03-26/api-2.json +0 -4032
  270. data/apis/cloudfront/2019-03-26/examples-1.json +0 -5
  271. data/apis/cloudfront/2019-03-26/paginators-1.json +0 -32
  272. data/apis/cloudfront/2019-03-26/smoke.json +0 -20
  273. data/apis/cloudfront/2019-03-26/waiters-2.json +0 -47
  274. data/apis/cloudhsm/2014-05-30/api-2.json +0 -879
  275. data/apis/cloudhsm/2014-05-30/examples-1.json +0 -5
  276. data/apis/cloudhsm/2014-05-30/paginators-1.json +0 -4
  277. data/apis/cloudhsmv2/2017-04-28/api-2.json +0 -718
  278. data/apis/cloudhsmv2/2017-04-28/examples-1.json +0 -5
  279. data/apis/cloudhsmv2/2017-04-28/paginators-1.json +0 -19
  280. data/apis/cloudhsmv2/2017-04-28/smoke.json +0 -18
  281. data/apis/cloudsearch/2013-01-01/api-2.json +0 -2002
  282. data/apis/cloudsearch/2013-01-01/paginators-1.json +0 -20
  283. data/apis/cloudsearchdomain/2013-01-01/api-2.json +0 -374
  284. data/apis/cloudsearchdomain/2013-01-01/examples-1.json +0 -5
  285. data/apis/cloudtrail/2013-11-01/api-2.json +0 -1048
  286. data/apis/cloudtrail/2013-11-01/examples-1.json +0 -5
  287. data/apis/cloudtrail/2013-11-01/paginators-1.json +0 -28
  288. data/apis/cloudtrail/2013-11-01/smoke.json +0 -18
  289. data/apis/codebuild/2016-10-06/api-2.json +0 -1276
  290. data/apis/codebuild/2016-10-06/examples-1.json +0 -281
  291. data/apis/codebuild/2016-10-06/paginators-1.json +0 -4
  292. data/apis/codebuild/2016-10-06/smoke.json +0 -11
  293. data/apis/codecommit/2015-04-13/api-2.json +0 -4248
  294. data/apis/codecommit/2015-04-13/examples-1.json +0 -5
  295. data/apis/codecommit/2015-04-13/paginators-1.json +0 -49
  296. data/apis/codecommit/2015-04-13/smoke.json +0 -18
  297. data/apis/codedeploy/2014-10-06/api-2.json +0 -3224
  298. data/apis/codedeploy/2014-10-06/examples-1.json +0 -5
  299. data/apis/codedeploy/2014-10-06/paginators-1.json +0 -34
  300. data/apis/codedeploy/2014-10-06/smoke.json +0 -18
  301. data/apis/codedeploy/2014-10-06/waiters-2.json +0 -30
  302. data/apis/codepipeline/2015-07-09/api-2.json +0 -2406
  303. data/apis/codepipeline/2015-07-09/examples-1.json +0 -5
  304. data/apis/codepipeline/2015-07-09/paginators-1.json +0 -38
  305. data/apis/codepipeline/2015-07-09/smoke.json +0 -18
  306. data/apis/codestar-notifications/2019-10-15/api-2.json +0 -724
  307. data/apis/codestar-notifications/2019-10-15/examples-1.json +0 -5
  308. data/apis/codestar-notifications/2019-10-15/paginators-1.json +0 -22
  309. data/apis/codestar/2017-04-19/api-2.json +0 -1033
  310. data/apis/codestar/2017-04-19/examples-1.json +0 -5
  311. data/apis/codestar/2017-04-19/paginators-1.json +0 -4
  312. data/apis/codestar/2017-04-19/smoke.json +0 -11
  313. data/apis/cognito-identity/2014-06-30/api-2.json +0 -1053
  314. data/apis/cognito-identity/2014-06-30/examples-1.json +0 -5
  315. data/apis/cognito-identity/2014-06-30/paginators-1.json +0 -4
  316. data/apis/cognito-idp/2016-04-18/api-2.json +0 -5371
  317. data/apis/cognito-idp/2016-04-18/examples-1.json +0 -5
  318. data/apis/cognito-idp/2016-04-18/paginators-1.json +0 -58
  319. data/apis/cognito-idp/2016-04-18/smoke.json +0 -20
  320. data/apis/cognito-sync/2014-06-30/api-2.json +0 -1875
  321. data/apis/comprehend/2017-11-27/api-2.json +0 -2361
  322. data/apis/comprehend/2017-11-27/examples-1.json +0 -5
  323. data/apis/comprehend/2017-11-27/paginators-1.json +0 -44
  324. data/apis/comprehendmedical/2018-10-30/api-2.json +0 -681
  325. data/apis/comprehendmedical/2018-10-30/examples-1.json +0 -5
  326. data/apis/comprehendmedical/2018-10-30/paginators-1.json +0 -4
  327. data/apis/config/2014-11-12/api-2.json +0 -3496
  328. data/apis/config/2014-11-12/examples-1.json +0 -5
  329. data/apis/config/2014-11-12/paginators-1.json +0 -21
  330. data/apis/config/2014-11-12/smoke.json +0 -19
  331. data/apis/connect/2017-08-08/api-2.json +0 -1926
  332. data/apis/connect/2017-08-08/examples-1.json +0 -5
  333. data/apis/connect/2017-08-08/paginators-1.json +0 -62
  334. data/apis/cur/2017-01-06/api-2.json +0 -277
  335. data/apis/cur/2017-01-06/examples-1.json +0 -102
  336. data/apis/cur/2017-01-06/paginators-1.json +0 -9
  337. data/apis/cur/2017-01-06/smoke.json +0 -11
  338. data/apis/datapipeline/2012-10-29/api-2.json +0 -1168
  339. data/apis/datapipeline/2012-10-29/paginators-1.json +0 -26
  340. data/apis/datasync/2018-11-09/api-2.json +0 -1337
  341. data/apis/datasync/2018-11-09/examples-1.json +0 -5
  342. data/apis/datasync/2018-11-09/paginators-1.json +0 -29
  343. data/apis/dax/2017-04-19/api-2.json +0 -1140
  344. data/apis/dax/2017-04-19/examples-1.json +0 -5
  345. data/apis/dax/2017-04-19/paginators-1.json +0 -4
  346. data/apis/devicefarm/2015-06-23/api-2.json +0 -3197
  347. data/apis/devicefarm/2015-06-23/examples-1.json +0 -1242
  348. data/apis/devicefarm/2015-06-23/paginators-1.json +0 -77
  349. data/apis/devicefarm/2015-06-23/smoke.json +0 -18
  350. data/apis/directconnect/2012-10-25/api-2.json +0 -2074
  351. data/apis/directconnect/2012-10-25/examples-1.json +0 -5
  352. data/apis/directconnect/2012-10-25/paginators-1.json +0 -22
  353. data/apis/directconnect/2012-10-25/smoke.json +0 -18
  354. data/apis/discovery/2015-11-01/api-2.json +0 -1334
  355. data/apis/discovery/2015-11-01/examples-1.json +0 -5
  356. data/apis/discovery/2015-11-01/paginators-1.json +0 -14
  357. data/apis/discovery/2015-11-01/smoke.json +0 -11
  358. data/apis/dlm/2018-01-12/api-2.json +0 -444
  359. data/apis/dlm/2018-01-12/examples-1.json +0 -5
  360. data/apis/dlm/2018-01-12/paginators-1.json +0 -4
  361. data/apis/dms/2016-01-01/api-2.json +0 -2296
  362. data/apis/dms/2016-01-01/examples-1.json +0 -1074
  363. data/apis/dms/2016-01-01/paginators-1.json +0 -79
  364. data/apis/dms/2016-01-01/smoke.json +0 -18
  365. data/apis/dms/2016-01-01/waiters-2.json +0 -336
  366. data/apis/docdb/2014-10-31/api-2.json +0 -2534
  367. data/apis/docdb/2014-10-31/examples-1.json +0 -5
  368. data/apis/docdb/2014-10-31/paginators-1.json +0 -43
  369. data/apis/docdb/2014-10-31/smoke.json +0 -18
  370. data/apis/docdb/2014-10-31/waiters-2.json +0 -90
  371. data/apis/ds/2015-04-16/api-2.json +0 -2634
  372. data/apis/ds/2015-04-16/examples-1.json +0 -5
  373. data/apis/ds/2015-04-16/paginators-1.json +0 -9
  374. data/apis/ds/2015-04-16/smoke.json +0 -20
  375. data/apis/dynamodb/2011-12-05/api-2.json +0 -803
  376. data/apis/dynamodb/2011-12-05/examples-1.json +0 -5
  377. data/apis/dynamodb/2011-12-05/paginators-1.json +0 -26
  378. data/apis/dynamodb/2011-12-05/smoke.json +0 -20
  379. data/apis/dynamodb/2011-12-05/waiters-2.json +0 -35
  380. data/apis/dynamodb/2012-08-10/api-2.json +0 -2802
  381. data/apis/dynamodb/2012-08-10/examples-1.json +0 -631
  382. data/apis/dynamodb/2012-08-10/paginators-1.json +0 -26
  383. data/apis/dynamodb/2012-08-10/resources-1.json +0 -136
  384. data/apis/dynamodb/2012-08-10/smoke.json +0 -20
  385. data/apis/dynamodb/2012-08-10/waiters-2.json +0 -35
  386. data/apis/ec2-instance-connect/2018-04-02/api-2.json +0 -119
  387. data/apis/ec2-instance-connect/2018-04-02/examples-1.json +0 -34
  388. data/apis/ec2-instance-connect/2018-04-02/paginators-1.json +0 -4
  389. data/apis/ec2/2015-10-01/api-2.json +0 -13760
  390. data/apis/ec2/2015-10-01/examples-1.json +0 -5
  391. data/apis/ec2/2015-10-01/paginators-1.json +0 -138
  392. data/apis/ec2/2015-10-01/resources-1.json +0 -2582
  393. data/apis/ec2/2015-10-01/waiters-2.json +0 -593
  394. data/apis/ec2/2016-04-01/api-2.json +0 -14191
  395. data/apis/ec2/2016-04-01/examples-1.json +0 -3729
  396. data/apis/ec2/2016-04-01/paginators-1.json +0 -138
  397. data/apis/ec2/2016-04-01/resources-1.json +0 -2582
  398. data/apis/ec2/2016-04-01/waiters-2.json +0 -593
  399. data/apis/ec2/2016-09-15/api-2.json +0 -14415
  400. data/apis/ec2/2016-09-15/examples-1.json +0 -3740
  401. data/apis/ec2/2016-09-15/paginators-1.json +0 -138
  402. data/apis/ec2/2016-09-15/resources-1.json +0 -2582
  403. data/apis/ec2/2016-09-15/waiters-2.json +0 -593
  404. data/apis/ec2/2016-11-15/api-2.json +0 -25611
  405. data/apis/ec2/2016-11-15/examples-1.json +0 -5048
  406. data/apis/ec2/2016-11-15/paginators-1.json +0 -450
  407. data/apis/ec2/2016-11-15/resources-1.json +0 -2582
  408. data/apis/ec2/2016-11-15/smoke.json +0 -20
  409. data/apis/ec2/2016-11-15/waiters-2.json +0 -622
  410. data/apis/ecr/2015-09-21/api-2.json +0 -1615
  411. data/apis/ecr/2015-09-21/examples-1.json +0 -215
  412. data/apis/ecr/2015-09-21/paginators-1.json +0 -48
  413. data/apis/ecr/2015-09-21/smoke.json +0 -18
  414. data/apis/ecs/2014-11-13/api-2.json +0 -2902
  415. data/apis/ecs/2014-11-13/examples-1.json +0 -1137
  416. data/apis/ecs/2014-11-13/paginators-1.json +0 -40
  417. data/apis/ecs/2014-11-13/smoke.json +0 -18
  418. data/apis/ecs/2014-11-13/waiters-2.json +0 -93
  419. data/apis/eks/2017-11-01/api-2.json +0 -750
  420. data/apis/eks/2017-11-01/examples-1.json +0 -114
  421. data/apis/eks/2017-11-01/paginators-1.json +0 -16
  422. data/apis/eks/2017-11-01/waiters-2.json +0 -54
  423. data/apis/elasticache/2015-02-02/api-2.json +0 -3301
  424. data/apis/elasticache/2015-02-02/examples-1.json +0 -3149
  425. data/apis/elasticache/2015-02-02/paginators-1.json +0 -88
  426. data/apis/elasticache/2015-02-02/smoke.json +0 -18
  427. data/apis/elasticache/2015-02-02/waiters-2.json +0 -143
  428. data/apis/elasticbeanstalk/2010-12-01/api-2.json +0 -2492
  429. data/apis/elasticbeanstalk/2010-12-01/examples-1.json +0 -1109
  430. data/apis/elasticbeanstalk/2010-12-01/paginators-1.json +0 -25
  431. data/apis/elasticbeanstalk/2010-12-01/smoke.json +0 -18
  432. data/apis/elasticfilesystem/2015-02-01/api-2.json +0 -896
  433. data/apis/elasticfilesystem/2015-02-01/examples-1.json +0 -291
  434. data/apis/elasticfilesystem/2015-02-01/paginators-1.json +0 -4
  435. data/apis/elasticfilesystem/2015-02-01/smoke.json +0 -18
  436. data/apis/elasticloadbalancing/2012-06-01/api-2.json +0 -1642
  437. data/apis/elasticloadbalancing/2012-06-01/examples-1.json +0 -1036
  438. data/apis/elasticloadbalancing/2012-06-01/paginators-1.json +0 -18
  439. data/apis/elasticloadbalancing/2012-06-01/smoke.json +0 -20
  440. data/apis/elasticloadbalancing/2012-06-01/waiters-2.json +0 -54
  441. data/apis/elasticloadbalancingv2/2015-12-01/api-2.json +0 -2299
  442. data/apis/elasticloadbalancingv2/2015-12-01/examples-1.json +0 -1384
  443. data/apis/elasticloadbalancingv2/2015-12-01/paginators-1.json +0 -19
  444. data/apis/elasticloadbalancingv2/2015-12-01/smoke.json +0 -20
  445. data/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json +0 -100
  446. data/apis/elasticmapreduce/2009-03-31/api-2.json +0 -2187
  447. data/apis/elasticmapreduce/2009-03-31/examples-1.json +0 -5
  448. data/apis/elasticmapreduce/2009-03-31/paginators-1.json +0 -42
  449. data/apis/elasticmapreduce/2009-03-31/smoke.json +0 -18
  450. data/apis/elasticmapreduce/2009-03-31/waiters-2.json +0 -86
  451. data/apis/elastictranscoder/2012-09-25/api-2.json +0 -1484
  452. data/apis/elastictranscoder/2012-09-25/examples-1.json +0 -5
  453. data/apis/elastictranscoder/2012-09-25/paginators-1.json +0 -24
  454. data/apis/elastictranscoder/2012-09-25/smoke.json +0 -18
  455. data/apis/elastictranscoder/2012-09-25/waiters-2.json +0 -30
  456. data/apis/email/2010-12-01/api-2.json +0 -3182
  457. data/apis/email/2010-12-01/examples-1.json +0 -1021
  458. data/apis/email/2010-12-01/paginators-1.json +0 -18
  459. data/apis/email/2010-12-01/smoke.json +0 -18
  460. data/apis/email/2010-12-01/waiters-2.json +0 -18
  461. data/apis/entitlement.marketplace/2017-01-11/api-2.json +0 -128
  462. data/apis/entitlement.marketplace/2017-01-11/examples-1.json +0 -5
  463. data/apis/entitlement.marketplace/2017-01-11/paginators-1.json +0 -4
  464. data/apis/es/2015-01-01/api-2.json +0 -1572
  465. data/apis/es/2015-01-01/examples-1.json +0 -5
  466. data/apis/es/2015-01-01/paginators-1.json +0 -29
  467. data/apis/es/2015-01-01/smoke.json +0 -18
  468. data/apis/eventbridge/2015-10-07/api-2.json +0 -1462
  469. data/apis/eventbridge/2015-10-07/examples-1.json +0 -5
  470. data/apis/eventbridge/2015-10-07/paginators-1.json +0 -4
  471. data/apis/eventbridge/2015-10-07/smoke.json +0 -18
  472. data/apis/events/2015-10-07/api-2.json +0 -1462
  473. data/apis/events/2015-10-07/examples-1.json +0 -5
  474. data/apis/events/2015-10-07/paginators-1.json +0 -4
  475. data/apis/events/2015-10-07/smoke.json +0 -18
  476. data/apis/firehose/2015-08-04/api-2.json +0 -1383
  477. data/apis/firehose/2015-08-04/examples-1.json +0 -5
  478. data/apis/firehose/2015-08-04/paginators-1.json +0 -4
  479. data/apis/firehose/2015-08-04/smoke.json +0 -18
  480. data/apis/fms/2018-01-01/api-2.json +0 -701
  481. data/apis/fms/2018-01-01/examples-1.json +0 -5
  482. data/apis/fms/2018-01-01/paginators-1.json +0 -22
  483. data/apis/forecast/2018-06-26/api-2.json +0 -1373
  484. data/apis/forecast/2018-06-26/examples-1.json +0 -5
  485. data/apis/forecast/2018-06-26/paginators-1.json +0 -40
  486. data/apis/forecastquery/2018-06-26/api-2.json +0 -154
  487. data/apis/forecastquery/2018-06-26/examples-1.json +0 -5
  488. data/apis/forecastquery/2018-06-26/paginators-1.json +0 -4
  489. data/apis/fsx/2018-03-01/api-2.json +0 -1050
  490. data/apis/fsx/2018-03-01/examples-1.json +0 -384
  491. data/apis/fsx/2018-03-01/paginators-1.json +0 -14
  492. data/apis/gamelift/2015-10-01/api-2.json +0 -3495
  493. data/apis/gamelift/2015-10-01/examples-1.json +0 -5
  494. data/apis/gamelift/2015-10-01/paginators-1.json +0 -4
  495. data/apis/gamelift/2015-10-01/smoke.json +0 -18
  496. data/apis/glacier/2012-06-01/api-2.json +0 -1906
  497. data/apis/glacier/2012-06-01/examples-1.json +0 -806
  498. data/apis/glacier/2012-06-01/paginators-1.json +0 -28
  499. data/apis/glacier/2012-06-01/resources-1.json +0 -563
  500. data/apis/glacier/2012-06-01/smoke.json +0 -18
  501. data/apis/glacier/2012-06-01/waiters-2.json +0 -39
  502. data/apis/globalaccelerator/2018-08-08/api-2.json +0 -818
  503. data/apis/globalaccelerator/2018-08-08/examples-1.json +0 -5
  504. data/apis/globalaccelerator/2018-08-08/paginators-1.json +0 -4
  505. data/apis/glue/2017-03-31/api-2.json +0 -6297
  506. data/apis/glue/2017-03-31/examples-1.json +0 -5
  507. data/apis/glue/2017-03-31/paginators-1.json +0 -120
  508. data/apis/glue/2017-03-31/smoke.json +0 -11
  509. data/apis/greengrass/2017-06-07/api-2.json +0 -5106
  510. data/apis/groundstation/2019-05-23/api-2.json +0 -2059
  511. data/apis/groundstation/2019-05-23/examples-1.json +0 -4
  512. data/apis/groundstation/2019-05-23/paginators-1.json +0 -40
  513. data/apis/guardduty/2017-11-28/api-2.json +0 -3206
  514. data/apis/guardduty/2017-11-28/examples-1.json +0 -5
  515. data/apis/guardduty/2017-11-28/paginators-1.json +0 -46
  516. data/apis/health/2016-08-04/api-2.json +0 -554
  517. data/apis/health/2016-08-04/examples-1.json +0 -5
  518. data/apis/health/2016-08-04/paginators-1.json +0 -31
  519. data/apis/health/2016-08-04/smoke.json +0 -11
  520. data/apis/iam/2010-05-08/api-2.json +0 -5778
  521. data/apis/iam/2010-05-08/examples-1.json +0 -1572
  522. data/apis/iam/2010-05-08/paginators-1.json +0 -198
  523. data/apis/iam/2010-05-08/resources-1.json +0 -1740
  524. data/apis/iam/2010-05-08/smoke.json +0 -18
  525. data/apis/iam/2010-05-08/waiters-2.json +0 -73
  526. data/apis/importexport/2010-06-01/api-2.json +0 -667
  527. data/apis/importexport/2010-06-01/paginators-1.json +0 -11
  528. data/apis/inspector/2016-02-16/api-2.json +0 -2387
  529. data/apis/inspector/2016-02-16/examples-1.json +0 -1148
  530. data/apis/inspector/2016-02-16/paginators-1.json +0 -54
  531. data/apis/inspector/2016-02-16/smoke.json +0 -18
  532. data/apis/iot-data/2015-05-28/api-2.json +0 -264
  533. data/apis/iot-jobs-data/2017-09-29/api-2.json +0 -348
  534. data/apis/iot-jobs-data/2017-09-29/examples-1.json +0 -5
  535. data/apis/iot-jobs-data/2017-09-29/paginators-1.json +0 -4
  536. data/apis/iot/2015-05-28/api-2.json +0 -9676
  537. data/apis/iot/2015-05-28/examples-1.json +0 -5
  538. data/apis/iot/2015-05-28/paginators-1.json +0 -4
  539. data/apis/iot/2015-05-28/smoke.json +0 -18
  540. data/apis/iot1click-devices/2018-05-14/api-2.json +0 -902
  541. data/apis/iot1click-projects/2018-05-14/api-2.json +0 -883
  542. data/apis/iot1click-projects/2018-05-14/examples-1.json +0 -5
  543. data/apis/iot1click-projects/2018-05-14/paginators-1.json +0 -16
  544. data/apis/iotanalytics/2017-11-27/api-2.json +0 -2223
  545. data/apis/iotanalytics/2017-11-27/examples-1.json +0 -5
  546. data/apis/iotanalytics/2017-11-27/paginators-1.json +0 -29
  547. data/apis/iotevents-data/2018-10-23/api-2.json +0 -454
  548. data/apis/iotevents-data/2018-10-23/examples-1.json +0 -5
  549. data/apis/iotevents-data/2018-10-23/paginators-1.json +0 -4
  550. data/apis/iotevents/2018-07-27/api-2.json +0 -1144
  551. data/apis/iotevents/2018-07-27/examples-1.json +0 -5
  552. data/apis/iotevents/2018-07-27/paginators-1.json +0 -4
  553. data/apis/iotthingsgraph/2018-09-06/api-2.json +0 -1581
  554. data/apis/iotthingsgraph/2018-09-06/examples-1.json +0 -5
  555. data/apis/iotthingsgraph/2018-09-06/paginators-1.json +0 -64
  556. data/apis/kafka/2018-11-14/api-2.json +0 -1950
  557. data/apis/kafka/2018-11-14/paginators-1.json +0 -34
  558. data/apis/kinesis-video-archived-media/2017-09-30/api-2.json +0 -418
  559. data/apis/kinesis-video-archived-media/2017-09-30/examples-1.json +0 -5
  560. data/apis/kinesis-video-archived-media/2017-09-30/paginators-1.json +0 -10
  561. data/apis/kinesis-video-media/2017-09-30/api-2.json +0 -160
  562. data/apis/kinesis-video-media/2017-09-30/examples-1.json +0 -5
  563. data/apis/kinesis-video-media/2017-09-30/paginators-1.json +0 -4
  564. data/apis/kinesis/2013-12-02/api-2.json +0 -1409
  565. data/apis/kinesis/2013-12-02/examples-1.json +0 -5
  566. data/apis/kinesis/2013-12-02/paginators-1.json +0 -23
  567. data/apis/kinesis/2013-12-02/smoke.json +0 -18
  568. data/apis/kinesis/2013-12-02/waiters-2.json +0 -30
  569. data/apis/kinesisanalytics/2015-08-14/api-2.json +0 -1510
  570. data/apis/kinesisanalytics/2015-08-14/examples-1.json +0 -5
  571. data/apis/kinesisanalytics/2015-08-14/paginators-1.json +0 -4
  572. data/apis/kinesisanalyticsv2/2018-05-23/api-2.json +0 -2121
  573. data/apis/kinesisanalyticsv2/2018-05-23/examples-1.json +0 -5
  574. data/apis/kinesisanalyticsv2/2018-05-23/paginators-1.json +0 -4
  575. data/apis/kinesisvideo/2017-09-30/api-2.json +0 -553
  576. data/apis/kinesisvideo/2017-09-30/examples-1.json +0 -5
  577. data/apis/kinesisvideo/2017-09-30/paginators-1.json +0 -10
  578. data/apis/kms/2014-11-01/api-2.json +0 -1834
  579. data/apis/kms/2014-11-01/examples-1.json +0 -906
  580. data/apis/kms/2014-11-01/paginators-1.json +0 -32
  581. data/apis/kms/2014-11-01/smoke.json +0 -19
  582. data/apis/lakeformation/2017-03-31/api-2.json +0 -708
  583. data/apis/lakeformation/2017-03-31/examples-1.json +0 -5
  584. data/apis/lakeformation/2017-03-31/paginators-1.json +0 -19
  585. data/apis/lambda/2014-11-11/api-2.json +0 -668
  586. data/apis/lambda/2014-11-11/paginators-1.json +0 -16
  587. data/apis/lambda/2015-03-31/api-2.json +0 -2353
  588. data/apis/lambda/2015-03-31/examples-1.json +0 -614
  589. data/apis/lambda/2015-03-31/paginators-1.json +0 -40
  590. data/apis/lambda/2015-03-31/smoke.json +0 -18
  591. data/apis/lambda/2015-03-31/waiters-2.json +0 -22
  592. data/apis/lex-models/2017-04-19/api-2.json +0 -2261
  593. data/apis/lex-models/2017-04-19/examples-1.json +0 -758
  594. data/apis/lex-models/2017-04-19/paginators-1.json +0 -54
  595. data/apis/license-manager/2018-08-01/api-2.json +0 -780
  596. data/apis/license-manager/2018-08-01/examples-1.json +0 -5
  597. data/apis/license-manager/2018-08-01/paginators-1.json +0 -4
  598. data/apis/lightsail/2016-11-28/api-2.json +0 -5015
  599. data/apis/lightsail/2016-11-28/examples-1.json +0 -5
  600. data/apis/lightsail/2016-11-28/paginators-1.json +0 -4
  601. data/apis/lightsail/2016-11-28/smoke.json +0 -11
  602. data/apis/logs/2014-03-28/api-2.json +0 -1701
  603. data/apis/logs/2014-03-28/examples-1.json +0 -5
  604. data/apis/logs/2014-03-28/paginators-1.json +0 -49
  605. data/apis/logs/2014-03-28/smoke.json +0 -19
  606. data/apis/machinelearning/2014-12-12/api-2.json +0 -1978
  607. data/apis/machinelearning/2014-12-12/examples-1.json +0 -5
  608. data/apis/machinelearning/2014-12-12/paginators-1.json +0 -28
  609. data/apis/machinelearning/2014-12-12/waiters-2.json +0 -81
  610. data/apis/macie/2017-12-19/api-2.json +0 -365
  611. data/apis/macie/2017-12-19/examples-1.json +0 -5
  612. data/apis/macie/2017-12-19/paginators-1.json +0 -14
  613. data/apis/managedblockchain/2018-09-24/api-2.json +0 -1363
  614. data/apis/managedblockchain/2018-09-24/examples-1.json +0 -5
  615. data/apis/managedblockchain/2018-09-24/paginators-1.json +0 -34
  616. data/apis/marketplacecommerceanalytics/2015-07-01/api-2.json +0 -176
  617. data/apis/marketplacecommerceanalytics/2015-07-01/examples-1.json +0 -5
  618. data/apis/marketplacecommerceanalytics/2015-07-01/paginators-1.json +0 -4
  619. data/apis/marketplacecommerceanalytics/2015-07-01/smoke.json +0 -17
  620. data/apis/mediaconnect/2018-11-14/api-2.json +0 -1901
  621. data/apis/mediaconnect/2018-11-14/paginators-1.json +0 -16
  622. data/apis/mediaconvert/2017-08-29/api-2.json +0 -8350
  623. data/apis/mediaconvert/2017-08-29/paginators-1.json +0 -34
  624. data/apis/medialive/2017-10-14/api-2.json +0 -9023
  625. data/apis/medialive/2017-10-14/paginators-1.json +0 -40
  626. data/apis/medialive/2017-10-14/waiters-2.json +0 -111
  627. data/apis/mediapackage-vod/2018-11-07/api-2.json +0 -1498
  628. data/apis/mediapackage-vod/2018-11-07/paginators-1.json +0 -22
  629. data/apis/mediapackage/2017-10-12/api-2.json +0 -2467
  630. data/apis/mediapackage/2017-10-12/paginators-1.json +0 -22
  631. data/apis/mediastore-data/2017-09-01/api-2.json +0 -406
  632. data/apis/mediastore-data/2017-09-01/examples-1.json +0 -5
  633. data/apis/mediastore-data/2017-09-01/paginators-1.json +0 -9
  634. data/apis/mediastore/2017-09-01/api-2.json +0 -735
  635. data/apis/mediastore/2017-09-01/examples-1.json +0 -5
  636. data/apis/mediastore/2017-09-01/paginators-1.json +0 -9
  637. data/apis/mediatailor/2018-04-23/api-2.json +0 -524
  638. data/apis/mediatailor/2018-04-23/paginators-1.json +0 -3
  639. data/apis/meteringmarketplace/2016-01-14/api-2.json +0 -344
  640. data/apis/meteringmarketplace/2016-01-14/examples-1.json +0 -5
  641. data/apis/meteringmarketplace/2016-01-14/paginators-1.json +0 -4
  642. data/apis/mobile/2017-07-01/api-2.json +0 -551
  643. data/apis/mobile/2017-07-01/examples-1.json +0 -5
  644. data/apis/mobile/2017-07-01/paginators-1.json +0 -14
  645. data/apis/monitoring/2010-08-01/api-2.json +0 -1526
  646. data/apis/monitoring/2010-08-01/examples-1.json +0 -5
  647. data/apis/monitoring/2010-08-01/paginators-1.json +0 -38
  648. data/apis/monitoring/2010-08-01/resources-1.json +0 -346
  649. data/apis/monitoring/2010-08-01/smoke.json +0 -22
  650. data/apis/monitoring/2010-08-01/waiters-2.json +0 -18
  651. data/apis/mq/2017-11-27/api-2.json +0 -2538
  652. data/apis/mq/2017-11-27/paginators-1.json +0 -3
  653. data/apis/mturk-requester/2017-01-17/api-2.json +0 -1696
  654. data/apis/mturk-requester/2017-01-17/examples-1.json +0 -5
  655. data/apis/mturk-requester/2017-01-17/paginators-1.json +0 -54
  656. data/apis/neptune/2014-10-31/api-2.json +0 -3515
  657. data/apis/neptune/2014-10-31/examples-1.json +0 -5
  658. data/apis/neptune/2014-10-31/paginators-1.json +0 -61
  659. data/apis/neptune/2014-10-31/smoke.json +0 -18
  660. data/apis/neptune/2014-10-31/waiters-2.json +0 -90
  661. data/apis/opsworks/2013-02-18/api-2.json +0 -2885
  662. data/apis/opsworks/2013-02-18/examples-1.json +0 -5
  663. data/apis/opsworks/2013-02-18/paginators-1.json +0 -55
  664. data/apis/opsworks/2013-02-18/resources-1.json +0 -173
  665. data/apis/opsworks/2013-02-18/smoke.json +0 -18
  666. data/apis/opsworks/2013-02-18/waiters-2.json +0 -289
  667. data/apis/opsworkscm/2016-11-01/api-2.json +0 -817
  668. data/apis/opsworkscm/2016-11-01/examples-1.json +0 -5
  669. data/apis/opsworkscm/2016-11-01/paginators-1.json +0 -4
  670. data/apis/opsworkscm/2016-11-01/waiters-2.json +0 -25
  671. data/apis/organizations/2016-11-28/api-2.json +0 -2317
  672. data/apis/organizations/2016-11-28/examples-1.json +0 -1409
  673. data/apis/organizations/2016-11-28/paginators-1.json +0 -74
  674. data/apis/personalize-events/2018-03-22/api-2.json +0 -91
  675. data/apis/personalize-events/2018-03-22/examples-1.json +0 -5
  676. data/apis/personalize-events/2018-03-22/paginators-1.json +0 -4
  677. data/apis/personalize-runtime/2018-05-22/api-2.json +0 -129
  678. data/apis/personalize-runtime/2018-05-22/examples-1.json +0 -5
  679. data/apis/personalize-runtime/2018-05-22/paginators-1.json +0 -4
  680. data/apis/personalize/2018-05-22/api-2.json +0 -1712
  681. data/apis/personalize/2018-05-22/examples-1.json +0 -5
  682. data/apis/personalize/2018-05-22/paginators-1.json +0 -58
  683. data/apis/pi/2018-02-27/api-2.json +0 -253
  684. data/apis/pi/2018-02-27/examples-1.json +0 -5
  685. data/apis/pi/2018-02-27/paginators-1.json +0 -4
  686. data/apis/pinpoint-email/2018-07-26/api-2.json +0 -2093
  687. data/apis/pinpoint-email/2018-07-26/examples-1.json +0 -5
  688. data/apis/pinpoint-email/2018-07-26/paginators-1.json +0 -34
  689. data/apis/pinpoint/2016-12-01/api-2.json +0 -10826
  690. data/apis/pinpoint/2016-12-01/examples-1.json +0 -5
  691. data/apis/polly/2016-06-10/api-2.json +0 -832
  692. data/apis/polly/2016-06-10/examples-1.json +0 -171
  693. data/apis/polly/2016-06-10/paginators-1.json +0 -9
  694. data/apis/polly/2016-06-10/smoke.json +0 -11
  695. data/apis/pricing/2017-10-15/api-2.json +0 -227
  696. data/apis/pricing/2017-10-15/examples-1.json +0 -103
  697. data/apis/pricing/2017-10-15/paginators-1.json +0 -19
  698. data/apis/qldb-session/2019-07-11/api-2.json +0 -259
  699. data/apis/qldb-session/2019-07-11/examples-1.json +0 -5
  700. data/apis/qldb-session/2019-07-11/paginators-1.json +0 -4
  701. data/apis/qldb/2019-01-02/api-2.json +0 -776
  702. data/apis/qldb/2019-01-02/examples-1.json +0 -5
  703. data/apis/qldb/2019-01-02/paginators-1.json +0 -19
  704. data/apis/quicksight/2018-04-01/api-2.json +0 -1223
  705. data/apis/quicksight/2018-04-01/examples-1.json +0 -5
  706. data/apis/quicksight/2018-04-01/paginators-1.json +0 -4
  707. data/apis/ram/2018-01-04/api-2.json +0 -1021
  708. data/apis/ram/2018-01-04/examples-1.json +0 -5
  709. data/apis/ram/2018-01-04/paginators-1.json +0 -39
  710. data/apis/rds-data/2018-08-01/api-2.json +0 -540
  711. data/apis/rds-data/2018-08-01/examples-1.json +0 -5
  712. data/apis/rds-data/2018-08-01/paginators-1.json +0 -4
  713. data/apis/rds/2013-01-10/api-2.json +0 -2903
  714. data/apis/rds/2013-01-10/examples-1.json +0 -5
  715. data/apis/rds/2013-01-10/paginators-1.json +0 -97
  716. data/apis/rds/2013-01-10/smoke.json +0 -18
  717. data/apis/rds/2013-02-12/api-2.json +0 -3059
  718. data/apis/rds/2013-02-12/examples-1.json +0 -5
  719. data/apis/rds/2013-02-12/paginators-1.json +0 -110
  720. data/apis/rds/2013-02-12/smoke.json +0 -18
  721. data/apis/rds/2013-09-09/api-2.json +0 -3160
  722. data/apis/rds/2013-09-09/examples-1.json +0 -5
  723. data/apis/rds/2013-09-09/paginators-1.json +0 -110
  724. data/apis/rds/2013-09-09/smoke.json +0 -18
  725. data/apis/rds/2013-09-09/waiters-2.json +0 -97
  726. data/apis/rds/2014-09-01/api-2.json +0 -3273
  727. data/apis/rds/2014-09-01/examples-1.json +0 -5
  728. data/apis/rds/2014-09-01/paginators-1.json +0 -4
  729. data/apis/rds/2014-09-01/smoke.json +0 -18
  730. data/apis/rds/2014-10-31/api-2.json +0 -6880
  731. data/apis/rds/2014-10-31/examples-1.json +0 -1951
  732. data/apis/rds/2014-10-31/paginators-1.json +0 -140
  733. data/apis/rds/2014-10-31/resources-1.json +0 -3272
  734. data/apis/rds/2014-10-31/smoke.json +0 -18
  735. data/apis/rds/2014-10-31/waiters-2.json +0 -260
  736. data/apis/rds/2015-11-12/api-2.json +0 -5509
  737. data/apis/rds/2015-11-12/examples-1.json +0 -1951
  738. data/apis/rds/2015-11-12/paginators-1.json +0 -110
  739. data/apis/rds/2015-11-12/resources-1.json +0 -3272
  740. data/apis/rds/2015-11-12/waiters-2.json +0 -175
  741. data/apis/redshift/2012-12-01/api-2.json +0 -4995
  742. data/apis/redshift/2012-12-01/examples-1.json +0 -5
  743. data/apis/redshift/2012-12-01/paginators-1.json +0 -100
  744. data/apis/redshift/2012-12-01/smoke.json +0 -18
  745. data/apis/redshift/2012-12-01/waiters-2.json +0 -97
  746. data/apis/rekognition/2016-06-27/api-2.json +0 -2142
  747. data/apis/rekognition/2016-06-27/examples-1.json +0 -651
  748. data/apis/rekognition/2016-06-27/paginators-1.json +0 -51
  749. data/apis/rekognition/2016-06-27/smoke.json +0 -11
  750. data/apis/resource-groups/2017-11-27/api-2.json +0 -743
  751. data/apis/resource-groups/2017-11-27/examples-1.json +0 -5
  752. data/apis/resource-groups/2017-11-27/paginators-1.json +0 -19
  753. data/apis/resourcegroupstaggingapi/2017-01-26/api-2.json +0 -329
  754. data/apis/resourcegroupstaggingapi/2017-01-26/examples-1.json +0 -5
  755. data/apis/resourcegroupstaggingapi/2017-01-26/paginators-1.json +0 -20
  756. data/apis/robomaker/2018-06-29/api-2.json +0 -2160
  757. data/apis/robomaker/2018-06-29/examples-1.json +0 -5
  758. data/apis/robomaker/2018-06-29/paginators-1.json +0 -34
  759. data/apis/route53/2013-04-01/api-2.json +0 -3780
  760. data/apis/route53/2013-04-01/examples-1.json +0 -762
  761. data/apis/route53/2013-04-01/paginators-1.json +0 -33
  762. data/apis/route53/2013-04-01/smoke.json +0 -18
  763. data/apis/route53/2013-04-01/waiters-2.json +0 -18
  764. data/apis/route53domains/2014-05-15/api-2.json +0 -1382
  765. data/apis/route53domains/2014-05-15/examples-1.json +0 -5
  766. data/apis/route53domains/2014-05-15/paginators-1.json +0 -16
  767. data/apis/route53resolver/2018-04-01/api-2.json +0 -1199
  768. data/apis/route53resolver/2018-04-01/examples-1.json +0 -5
  769. data/apis/route53resolver/2018-04-01/paginators-1.json +0 -24
  770. data/apis/route53resolver/2018-04-01/smoke.json +0 -18
  771. data/apis/runtime.lex/2016-11-28/api-2.json +0 -693
  772. data/apis/runtime.lex/2016-11-28/examples-1.json +0 -5
  773. data/apis/runtime.lex/2016-11-28/paginators-1.json +0 -4
  774. data/apis/runtime.sagemaker/2017-05-13/api-2.json +0 -152
  775. data/apis/runtime.sagemaker/2017-05-13/examples-1.json +0 -5
  776. data/apis/runtime.sagemaker/2017-05-13/paginators-1.json +0 -4
  777. data/apis/s3/2006-03-01/api-2.json +0 -6587
  778. data/apis/s3/2006-03-01/examples-1.json +0 -1876
  779. data/apis/s3/2006-03-01/paginators-1.json +0 -66
  780. data/apis/s3/2006-03-01/resources-1.json +0 -1249
  781. data/apis/s3/2006-03-01/smoke.json +0 -11
  782. data/apis/s3/2006-03-01/waiters-2.json +0 -73
  783. data/apis/s3control/2018-08-20/api-2.json +0 -1044
  784. data/apis/s3control/2018-08-20/examples-1.json +0 -5
  785. data/apis/s3control/2018-08-20/paginators-1.json +0 -9
  786. data/apis/sagemaker/2017-07-24/api-2.json +0 -5281
  787. data/apis/sagemaker/2017-07-24/examples-1.json +0 -5
  788. data/apis/sagemaker/2017-07-24/paginators-1.json +0 -84
  789. data/apis/sagemaker/2017-07-24/waiters-2.json +0 -163
  790. data/apis/sdb/2009-04-15/api-2.json +0 -955
  791. data/apis/sdb/2009-04-15/paginators-1.json +0 -15
  792. data/apis/secretsmanager/2017-10-17/api-2.json +0 -982
  793. data/apis/secretsmanager/2017-10-17/examples-1.json +0 -571
  794. data/apis/secretsmanager/2017-10-17/paginators-1.json +0 -14
  795. data/apis/secretsmanager/2017-10-17/smoke.json +0 -18
  796. data/apis/securityhub/2018-10-26/api-2.json +0 -2105
  797. data/apis/securityhub/2018-10-26/examples-1.json +0 -5
  798. data/apis/securityhub/2018-10-26/paginators-1.json +0 -29
  799. data/apis/serverlessrepo/2017-09-08/api-2.json +0 -1774
  800. data/apis/serverlessrepo/2017-09-08/paginators-1.json +0 -19
  801. data/apis/service-quotas/2019-06-24/api-2.json +0 -867
  802. data/apis/service-quotas/2019-06-24/examples-1.json +0 -5
  803. data/apis/service-quotas/2019-06-24/paginators-1.json +0 -40
  804. data/apis/servicecatalog/2015-12-10/api-2.json +0 -3977
  805. data/apis/servicecatalog/2015-12-10/examples-1.json +0 -5
  806. data/apis/servicecatalog/2015-12-10/paginators-1.json +0 -84
  807. data/apis/servicecatalog/2015-12-10/smoke.json +0 -11
  808. data/apis/servicediscovery/2017-03-14/api-2.json +0 -1156
  809. data/apis/servicediscovery/2017-03-14/examples-1.json +0 -5
  810. data/apis/servicediscovery/2017-03-14/paginators-1.json +0 -29
  811. data/apis/shield/2016-06-02/api-2.json +0 -893
  812. data/apis/shield/2016-06-02/examples-1.json +0 -5
  813. data/apis/shield/2016-06-02/paginators-1.json +0 -4
  814. data/apis/shield/2016-06-02/smoke.json +0 -11
  815. data/apis/signer/2017-08-25/api-2.json +0 -670
  816. data/apis/signer/2017-08-25/examples-1.json +0 -5
  817. data/apis/signer/2017-08-25/paginators-1.json +0 -19
  818. data/apis/signer/2017-08-25/waiters-2.json +0 -29
  819. data/apis/sms-voice/2018-09-05/api-2.json +0 -630
  820. data/apis/sms/2016-10-24/api-2.json +0 -1366
  821. data/apis/sms/2016-10-24/examples-1.json +0 -5
  822. data/apis/sms/2016-10-24/paginators-1.json +0 -28
  823. data/apis/sms/2016-10-24/smoke.json +0 -18
  824. data/apis/snowball/2016-06-30/api-2.json +0 -955
  825. data/apis/snowball/2016-06-30/examples-1.json +0 -442
  826. data/apis/snowball/2016-06-30/paginators-1.json +0 -16
  827. data/apis/snowball/2016-06-30/smoke.json +0 -11
  828. data/apis/sns/2010-03-31/api-2.json +0 -1468
  829. data/apis/sns/2010-03-31/examples-1.json +0 -5
  830. data/apis/sns/2010-03-31/paginators-1.json +0 -29
  831. data/apis/sns/2010-03-31/resources-1.json +0 -327
  832. data/apis/sns/2010-03-31/smoke.json +0 -19
  833. data/apis/sqs/2012-11-05/api-2.json +0 -1128
  834. data/apis/sqs/2012-11-05/examples-1.json +0 -5
  835. data/apis/sqs/2012-11-05/paginators-1.json +0 -7
  836. data/apis/sqs/2012-11-05/resources-1.json +0 -232
  837. data/apis/sqs/2012-11-05/smoke.json +0 -18
  838. data/apis/ssm/2014-11-06/api-2.json +0 -8916
  839. data/apis/ssm/2014-11-06/examples-1.json +0 -5
  840. data/apis/ssm/2014-11-06/paginators-1.json +0 -55
  841. data/apis/ssm/2014-11-06/smoke.json +0 -18
  842. data/apis/states/2016-11-23/api-2.json +0 -1409
  843. data/apis/states/2016-11-23/examples-1.json +0 -5
  844. data/apis/states/2016-11-23/paginators-1.json +0 -28
  845. data/apis/states/2016-11-23/smoke.json +0 -11
  846. data/apis/storagegateway/2013-06-30/api-2.json +0 -3166
  847. data/apis/storagegateway/2013-06-30/examples-1.json +0 -1381
  848. data/apis/storagegateway/2013-06-30/paginators-1.json +0 -76
  849. data/apis/streams.dynamodb/2012-08-10/api-2.json +0 -406
  850. data/apis/streams.dynamodb/2012-08-10/examples-1.json +0 -212
  851. data/apis/streams.dynamodb/2012-08-10/paginators-1.json +0 -4
  852. data/apis/sts/2011-06-15/api-2.json +0 -562
  853. data/apis/sts/2011-06-15/examples-1.json +0 -207
  854. data/apis/sts/2011-06-15/paginators-1.json +0 -4
  855. data/apis/sts/2011-06-15/smoke.json +0 -19
  856. data/apis/support/2013-04-15/api-2.json +0 -773
  857. data/apis/support/2013-04-15/examples-1.json +0 -5
  858. data/apis/support/2013-04-15/paginators-1.json +0 -25
  859. data/apis/support/2013-04-15/smoke.json +0 -22
  860. data/apis/swf/2012-01-25/api-2.json +0 -2792
  861. data/apis/swf/2012-01-25/examples-1.json +0 -5
  862. data/apis/swf/2012-01-25/paginators-1.json +0 -46
  863. data/apis/textract/2018-06-27/api-2.json +0 -572
  864. data/apis/textract/2018-06-27/examples-1.json +0 -5
  865. data/apis/textract/2018-06-27/paginators-1.json +0 -4
  866. data/apis/transcribe-streaming/2017-10-26/api-2.json +0 -262
  867. data/apis/transcribe-streaming/2017-10-26/examples-1.json +0 -5
  868. data/apis/transcribe-streaming/2017-10-26/paginators-1.json +0 -4
  869. data/apis/transcribe/2017-10-26/api-2.json +0 -516
  870. data/apis/transcribe/2017-10-26/examples-1.json +0 -5
  871. data/apis/transcribe/2017-10-26/paginators-1.json +0 -14
  872. data/apis/transfer/2018-11-05/api-2.json +0 -940
  873. data/apis/transfer/2018-11-05/examples-1.json +0 -5
  874. data/apis/transfer/2018-11-05/paginators-1.json +0 -19
  875. data/apis/translate/2017-07-01/api-2.json +0 -408
  876. data/apis/translate/2017-07-01/examples-1.json +0 -5
  877. data/apis/translate/2017-07-01/paginators-1.json +0 -4
  878. data/apis/waf-regional/2016-11-28/api-2.json +0 -3992
  879. data/apis/waf-regional/2016-11-28/examples-1.json +0 -1017
  880. data/apis/waf-regional/2016-11-28/paginators-1.json +0 -4
  881. data/apis/waf-regional/2016-11-28/smoke.json +0 -21
  882. data/apis/waf/2015-08-24/api-2.json +0 -3857
  883. data/apis/waf/2015-08-24/examples-1.json +0 -1017
  884. data/apis/waf/2015-08-24/paginators-1.json +0 -4
  885. data/apis/waf/2015-08-24/smoke.json +0 -21
  886. data/apis/workdocs/2016-05-01/api-2.json +0 -2899
  887. data/apis/workdocs/2016-05-01/examples-1.json +0 -5
  888. data/apis/workdocs/2016-05-01/paginators-1.json +0 -25
  889. data/apis/worklink/2018-09-25/api-2.json +0 -1266
  890. data/apis/worklink/2018-09-25/examples-1.json +0 -5
  891. data/apis/worklink/2018-09-25/paginators-1.json +0 -29
  892. data/apis/workmail/2017-10-01/api-2.json +0 -1560
  893. data/apis/workmail/2017-10-01/examples-1.json +0 -5
  894. data/apis/workmail/2017-10-01/paginators-1.json +0 -44
  895. data/apis/workmailmessageflow/2019-05-01/api-2.json +0 -67
  896. data/apis/workmailmessageflow/2019-05-01/examples-1.json +0 -5
  897. data/apis/workmailmessageflow/2019-05-01/paginators-1.json +0 -4
  898. data/apis/workspaces/2015-04-08/api-2.json +0 -1764
  899. data/apis/workspaces/2015-04-08/examples-1.json +0 -5
  900. data/apis/workspaces/2015-04-08/paginators-1.json +0 -20
  901. data/apis/workspaces/2015-04-08/smoke.json +0 -18
  902. data/apis/xray/2016-04-12/api-2.json +0 -1352
  903. data/apis/xray/2016-04-12/examples-1.json +0 -5
  904. data/apis/xray/2016-04-12/paginators-1.json +0 -59
  905. data/bin/aws.rb +0 -180
  906. data/endpoints.json +0 -5463
  907. data/lib/aws-sdk-core/acm.rb +0 -7
  908. data/lib/aws-sdk-core/acmpca.rb +0 -7
  909. data/lib/aws-sdk-core/alexaforbusiness.rb +0 -6
  910. data/lib/aws-sdk-core/amplify.rb +0 -6
  911. data/lib/aws-sdk-core/api/builder.rb +0 -129
  912. data/lib/aws-sdk-core/api/customizations.rb +0 -303
  913. data/lib/aws-sdk-core/api/docs/builder.rb +0 -223
  914. data/lib/aws-sdk-core/api/docs/client_type_documenter.rb +0 -118
  915. data/lib/aws-sdk-core/api/docs/crosslink.rb +0 -43
  916. data/lib/aws-sdk-core/api/docs/docstring_provider.rb +0 -75
  917. data/lib/aws-sdk-core/api/docs/operation_documenter.rb +0 -151
  918. data/lib/aws-sdk-core/api/docs/param_formatter.rb +0 -163
  919. data/lib/aws-sdk-core/api/docs/request_syntax_example.rb +0 -22
  920. data/lib/aws-sdk-core/api/docs/response_structure_example.rb +0 -91
  921. data/lib/aws-sdk-core/api/docs/shared_example.rb +0 -100
  922. data/lib/aws-sdk-core/api/docs/utils.rb +0 -133
  923. data/lib/aws-sdk-core/api/shape_map.rb +0 -146
  924. data/lib/aws-sdk-core/apigateway.rb +0 -6
  925. data/lib/aws-sdk-core/apigatewaymanagementapi.rb +0 -5
  926. data/lib/aws-sdk-core/apigatewayv2.rb +0 -5
  927. data/lib/aws-sdk-core/applicationautoscaling.rb +0 -6
  928. data/lib/aws-sdk-core/applicationdiscoveryservice.rb +0 -6
  929. data/lib/aws-sdk-core/applicationinsights.rb +0 -6
  930. data/lib/aws-sdk-core/appmesh.rb +0 -6
  931. data/lib/aws-sdk-core/appstream.rb +0 -7
  932. data/lib/aws-sdk-core/appsync.rb +0 -6
  933. data/lib/aws-sdk-core/athena.rb +0 -6
  934. data/lib/aws-sdk-core/autoscaling.rb +0 -8
  935. data/lib/aws-sdk-core/autoscalingplans.rb +0 -6
  936. data/lib/aws-sdk-core/backup.rb +0 -6
  937. data/lib/aws-sdk-core/batch.rb +0 -6
  938. data/lib/aws-sdk-core/budgets.rb +0 -6
  939. data/lib/aws-sdk-core/checksums.rb +0 -51
  940. data/lib/aws-sdk-core/chime.rb +0 -6
  941. data/lib/aws-sdk-core/client.rb +0 -62
  942. data/lib/aws-sdk-core/client_waiters.rb +0 -120
  943. data/lib/aws-sdk-core/cloud9.rb +0 -6
  944. data/lib/aws-sdk-core/clouddirectory.rb +0 -6
  945. data/lib/aws-sdk-core/cloudformation.rb +0 -8
  946. data/lib/aws-sdk-core/cloudfront.rb +0 -17
  947. data/lib/aws-sdk-core/cloudfront/cookie_signer.rb +0 -44
  948. data/lib/aws-sdk-core/cloudfront/signer.rb +0 -141
  949. data/lib/aws-sdk-core/cloudfront/url_signer.rb +0 -48
  950. data/lib/aws-sdk-core/cloudhsm.rb +0 -6
  951. data/lib/aws-sdk-core/cloudhsmv2.rb +0 -6
  952. data/lib/aws-sdk-core/cloudsearch.rb +0 -5
  953. data/lib/aws-sdk-core/cloudsearchdomain.rb +0 -5
  954. data/lib/aws-sdk-core/cloudtrail.rb +0 -6
  955. data/lib/aws-sdk-core/cloudwatch.rb +0 -8
  956. data/lib/aws-sdk-core/cloudwatchevents.rb +0 -6
  957. data/lib/aws-sdk-core/cloudwatchlogs.rb +0 -6
  958. data/lib/aws-sdk-core/codebuild.rb +0 -6
  959. data/lib/aws-sdk-core/codecommit.rb +0 -6
  960. data/lib/aws-sdk-core/codedeploy.rb +0 -7
  961. data/lib/aws-sdk-core/codepipeline.rb +0 -6
  962. data/lib/aws-sdk-core/codestar.rb +0 -6
  963. data/lib/aws-sdk-core/codestarnotifications.rb +0 -6
  964. data/lib/aws-sdk-core/cognitoidentity.rb +0 -6
  965. data/lib/aws-sdk-core/cognitoidentityprovider.rb +0 -6
  966. data/lib/aws-sdk-core/cognitosync.rb +0 -4
  967. data/lib/aws-sdk-core/comprehend.rb +0 -6
  968. data/lib/aws-sdk-core/comprehendmedical.rb +0 -6
  969. data/lib/aws-sdk-core/configservice.rb +0 -6
  970. data/lib/aws-sdk-core/connect.rb +0 -6
  971. data/lib/aws-sdk-core/costandusagereportservice.rb +0 -6
  972. data/lib/aws-sdk-core/costexplorer.rb +0 -6
  973. data/lib/aws-sdk-core/databasemigrationservice.rb +0 -7
  974. data/lib/aws-sdk-core/datapipeline.rb +0 -5
  975. data/lib/aws-sdk-core/datasync.rb +0 -6
  976. data/lib/aws-sdk-core/dax.rb +0 -6
  977. data/lib/aws-sdk-core/devicefarm.rb +0 -6
  978. data/lib/aws-sdk-core/directconnect.rb +0 -6
  979. data/lib/aws-sdk-core/directoryservice.rb +0 -6
  980. data/lib/aws-sdk-core/dlm.rb +0 -6
  981. data/lib/aws-sdk-core/docdb.rb +0 -7
  982. data/lib/aws-sdk-core/dynamodb.rb +0 -40
  983. data/lib/aws-sdk-core/dynamodb/attribute_value.rb +0 -110
  984. data/lib/aws-sdk-core/dynamodbstreams.rb +0 -6
  985. data/lib/aws-sdk-core/ec2.rb +0 -8
  986. data/lib/aws-sdk-core/ec2instanceconnect.rb +0 -6
  987. data/lib/aws-sdk-core/ecr.rb +0 -6
  988. data/lib/aws-sdk-core/ecs.rb +0 -7
  989. data/lib/aws-sdk-core/efs.rb +0 -6
  990. data/lib/aws-sdk-core/eks.rb +0 -7
  991. data/lib/aws-sdk-core/elasticache.rb +0 -7
  992. data/lib/aws-sdk-core/elasticbeanstalk.rb +0 -6
  993. data/lib/aws-sdk-core/elasticloadbalancing.rb +0 -7
  994. data/lib/aws-sdk-core/elasticloadbalancingv2.rb +0 -7
  995. data/lib/aws-sdk-core/elasticsearchservice.rb +0 -6
  996. data/lib/aws-sdk-core/elastictranscoder.rb +0 -7
  997. data/lib/aws-sdk-core/empty_structure.rb +0 -3
  998. data/lib/aws-sdk-core/emr.rb +0 -7
  999. data/lib/aws-sdk-core/endpoint_provider.rb +0 -131
  1000. data/lib/aws-sdk-core/eventbridge.rb +0 -6
  1001. data/lib/aws-sdk-core/firehose.rb +0 -6
  1002. data/lib/aws-sdk-core/fms.rb +0 -6
  1003. data/lib/aws-sdk-core/forecastqueryservice.rb +0 -6
  1004. data/lib/aws-sdk-core/forecastservice.rb +0 -6
  1005. data/lib/aws-sdk-core/fsx.rb +0 -6
  1006. data/lib/aws-sdk-core/gamelift.rb +0 -6
  1007. data/lib/aws-sdk-core/glacier.rb +0 -8
  1008. data/lib/aws-sdk-core/globalaccelerator.rb +0 -6
  1009. data/lib/aws-sdk-core/glue.rb +0 -6
  1010. data/lib/aws-sdk-core/greengrass.rb +0 -4
  1011. data/lib/aws-sdk-core/groundstation.rb +0 -6
  1012. data/lib/aws-sdk-core/guardduty.rb +0 -6
  1013. data/lib/aws-sdk-core/health.rb +0 -6
  1014. data/lib/aws-sdk-core/iam.rb +0 -8
  1015. data/lib/aws-sdk-core/importexport.rb +0 -5
  1016. data/lib/aws-sdk-core/inspector.rb +0 -6
  1017. data/lib/aws-sdk-core/iot.rb +0 -6
  1018. data/lib/aws-sdk-core/iot1clickdevicesservice.rb +0 -4
  1019. data/lib/aws-sdk-core/iot1clickprojects.rb +0 -6
  1020. data/lib/aws-sdk-core/iotanalytics.rb +0 -6
  1021. data/lib/aws-sdk-core/iotdataplane.rb +0 -4
  1022. data/lib/aws-sdk-core/iotevents.rb +0 -6
  1023. data/lib/aws-sdk-core/ioteventsdata.rb +0 -6
  1024. data/lib/aws-sdk-core/iotjobsdataplane.rb +0 -6
  1025. data/lib/aws-sdk-core/iotthingsgraph.rb +0 -6
  1026. data/lib/aws-sdk-core/kafka.rb +0 -5
  1027. data/lib/aws-sdk-core/kinesis.rb +0 -7
  1028. data/lib/aws-sdk-core/kinesisanalytics.rb +0 -6
  1029. data/lib/aws-sdk-core/kinesisanalyticsv2.rb +0 -6
  1030. data/lib/aws-sdk-core/kinesisvideo.rb +0 -6
  1031. data/lib/aws-sdk-core/kinesisvideoarchivedmedia.rb +0 -6
  1032. data/lib/aws-sdk-core/kinesisvideomedia.rb +0 -6
  1033. data/lib/aws-sdk-core/kms.rb +0 -6
  1034. data/lib/aws-sdk-core/lakeformation.rb +0 -6
  1035. data/lib/aws-sdk-core/lambda.rb +0 -7
  1036. data/lib/aws-sdk-core/lambdapreview.rb +0 -5
  1037. data/lib/aws-sdk-core/lex.rb +0 -6
  1038. data/lib/aws-sdk-core/lexmodelbuildingservice.rb +0 -6
  1039. data/lib/aws-sdk-core/licensemanager.rb +0 -6
  1040. data/lib/aws-sdk-core/lightsail.rb +0 -6
  1041. data/lib/aws-sdk-core/machinelearning.rb +0 -7
  1042. data/lib/aws-sdk-core/macie.rb +0 -6
  1043. data/lib/aws-sdk-core/managedblockchain.rb +0 -6
  1044. data/lib/aws-sdk-core/marketplacecommerceanalytics.rb +0 -6
  1045. data/lib/aws-sdk-core/marketplaceentitlementservice.rb +0 -6
  1046. data/lib/aws-sdk-core/marketplacemetering.rb +0 -6
  1047. data/lib/aws-sdk-core/mediaconnect.rb +0 -5
  1048. data/lib/aws-sdk-core/mediaconvert.rb +0 -5
  1049. data/lib/aws-sdk-core/medialive.rb +0 -6
  1050. data/lib/aws-sdk-core/mediapackage.rb +0 -5
  1051. data/lib/aws-sdk-core/mediapackagevod.rb +0 -5
  1052. data/lib/aws-sdk-core/mediastore.rb +0 -6
  1053. data/lib/aws-sdk-core/mediastoredata.rb +0 -6
  1054. data/lib/aws-sdk-core/mediatailor.rb +0 -5
  1055. data/lib/aws-sdk-core/migrationhub.rb +0 -6
  1056. data/lib/aws-sdk-core/mobile.rb +0 -6
  1057. data/lib/aws-sdk-core/mq.rb +0 -5
  1058. data/lib/aws-sdk-core/mturk.rb +0 -6
  1059. data/lib/aws-sdk-core/neptune.rb +0 -7
  1060. data/lib/aws-sdk-core/opsworks.rb +0 -8
  1061. data/lib/aws-sdk-core/opsworkscm.rb +0 -7
  1062. data/lib/aws-sdk-core/organizations.rb +0 -6
  1063. data/lib/aws-sdk-core/partitions.rb +0 -174
  1064. data/lib/aws-sdk-core/partitions/partition.rb +0 -95
  1065. data/lib/aws-sdk-core/partitions/partition_list.rb +0 -60
  1066. data/lib/aws-sdk-core/partitions/region.rb +0 -66
  1067. data/lib/aws-sdk-core/partitions/service.rb +0 -75
  1068. data/lib/aws-sdk-core/personalize.rb +0 -6
  1069. data/lib/aws-sdk-core/personalizeevents.rb +0 -6
  1070. data/lib/aws-sdk-core/personalizeruntime.rb +0 -6
  1071. data/lib/aws-sdk-core/pi.rb +0 -6
  1072. data/lib/aws-sdk-core/pinpoint.rb +0 -5
  1073. data/lib/aws-sdk-core/pinpointemail.rb +0 -6
  1074. data/lib/aws-sdk-core/pinpointsmsvoice.rb +0 -4
  1075. data/lib/aws-sdk-core/plugins/api_gateway_header.rb +0 -19
  1076. data/lib/aws-sdk-core/plugins/csd_conditional_signing.rb +0 -30
  1077. data/lib/aws-sdk-core/plugins/csd_switch_to_post.rb +0 -36
  1078. data/lib/aws-sdk-core/plugins/dynamodb_crc32_validation.rb +0 -52
  1079. data/lib/aws-sdk-core/plugins/dynamodb_extended_retries.rb +0 -22
  1080. data/lib/aws-sdk-core/plugins/dynamodb_simple_attributes.rb +0 -208
  1081. data/lib/aws-sdk-core/plugins/ec2_copy_encrypted_snapshot.rb +0 -56
  1082. data/lib/aws-sdk-core/plugins/ec2_region_validation.rb +0 -17
  1083. data/lib/aws-sdk-core/plugins/glacier_account_id.rb +0 -19
  1084. data/lib/aws-sdk-core/plugins/glacier_api_version.rb +0 -19
  1085. data/lib/aws-sdk-core/plugins/glacier_checksums.rb +0 -87
  1086. data/lib/aws-sdk-core/plugins/machine_learning_predict_endpoint.rb +0 -20
  1087. data/lib/aws-sdk-core/plugins/rds_cross_region_copying.rb +0 -69
  1088. data/lib/aws-sdk-core/plugins/request_signer.rb +0 -150
  1089. data/lib/aws-sdk-core/plugins/route_53_id_fix.rb +0 -55
  1090. data/lib/aws-sdk-core/plugins/s3_accelerate.rb +0 -90
  1091. data/lib/aws-sdk-core/plugins/s3_bucket_dns.rb +0 -86
  1092. data/lib/aws-sdk-core/plugins/s3_bucket_name_restrictions.rb +0 -21
  1093. data/lib/aws-sdk-core/plugins/s3_control_dns.rb +0 -25
  1094. data/lib/aws-sdk-core/plugins/s3_control_dualstack.rb +0 -48
  1095. data/lib/aws-sdk-core/plugins/s3_control_signer.rb +0 -53
  1096. data/lib/aws-sdk-core/plugins/s3_dualstack.rb +0 -67
  1097. data/lib/aws-sdk-core/plugins/s3_expect_100_continue.rb +0 -27
  1098. data/lib/aws-sdk-core/plugins/s3_get_bucket_location_fix.rb +0 -21
  1099. data/lib/aws-sdk-core/plugins/s3_host_id.rb +0 -26
  1100. data/lib/aws-sdk-core/plugins/s3_http_200_errors.rb +0 -45
  1101. data/lib/aws-sdk-core/plugins/s3_location_constraint.rb +0 -31
  1102. data/lib/aws-sdk-core/plugins/s3_md5s.rb +0 -50
  1103. data/lib/aws-sdk-core/plugins/s3_redirects.rb +0 -37
  1104. data/lib/aws-sdk-core/plugins/s3_request_signer.rb +0 -166
  1105. data/lib/aws-sdk-core/plugins/s3_sse_cpk.rb +0 -64
  1106. data/lib/aws-sdk-core/plugins/s3_url_encoded_keys.rb +0 -93
  1107. data/lib/aws-sdk-core/plugins/sqs_md5s.rb +0 -164
  1108. data/lib/aws-sdk-core/plugins/sqs_queue_urls.rb +0 -34
  1109. data/lib/aws-sdk-core/plugins/sts_regional_endpoints.rb +0 -30
  1110. data/lib/aws-sdk-core/plugins/swf_read_timeouts.rb +0 -23
  1111. data/lib/aws-sdk-core/polly.rb +0 -14
  1112. data/lib/aws-sdk-core/polly/presigner.rb +0 -70
  1113. data/lib/aws-sdk-core/pricing.rb +0 -6
  1114. data/lib/aws-sdk-core/qldb.rb +0 -6
  1115. data/lib/aws-sdk-core/qldbsession.rb +0 -6
  1116. data/lib/aws-sdk-core/quicksight.rb +0 -6
  1117. data/lib/aws-sdk-core/ram.rb +0 -6
  1118. data/lib/aws-sdk-core/rds.rb +0 -16
  1119. data/lib/aws-sdk-core/rds/auth_token_generator.rb +0 -63
  1120. data/lib/aws-sdk-core/rdsdataservice.rb +0 -6
  1121. data/lib/aws-sdk-core/redshift.rb +0 -7
  1122. data/lib/aws-sdk-core/rekognition.rb +0 -6
  1123. data/lib/aws-sdk-core/resourcegroups.rb +0 -6
  1124. data/lib/aws-sdk-core/resourcegroupstaggingapi.rb +0 -6
  1125. data/lib/aws-sdk-core/robomaker.rb +0 -6
  1126. data/lib/aws-sdk-core/route53.rb +0 -7
  1127. data/lib/aws-sdk-core/route53domains.rb +0 -6
  1128. data/lib/aws-sdk-core/route53resolver.rb +0 -6
  1129. data/lib/aws-sdk-core/s3.rb +0 -26
  1130. data/lib/aws-sdk-core/s3/bucket_region_cache.rb +0 -75
  1131. data/lib/aws-sdk-core/s3/presigner.rb +0 -116
  1132. data/lib/aws-sdk-core/s3control.rb +0 -6
  1133. data/lib/aws-sdk-core/sagemaker.rb +0 -7
  1134. data/lib/aws-sdk-core/sagemakerruntime.rb +0 -6
  1135. data/lib/aws-sdk-core/secretsmanager.rb +0 -6
  1136. data/lib/aws-sdk-core/securityhub.rb +0 -6
  1137. data/lib/aws-sdk-core/serverlessapplicationrepository.rb +0 -5
  1138. data/lib/aws-sdk-core/service.rb +0 -4
  1139. data/lib/aws-sdk-core/servicecatalog.rb +0 -6
  1140. data/lib/aws-sdk-core/servicediscovery.rb +0 -6
  1141. data/lib/aws-sdk-core/servicequotas.rb +0 -6
  1142. data/lib/aws-sdk-core/ses.rb +0 -7
  1143. data/lib/aws-sdk-core/shield.rb +0 -6
  1144. data/lib/aws-sdk-core/signer.rb +0 -7
  1145. data/lib/aws-sdk-core/signers/base.rb +0 -31
  1146. data/lib/aws-sdk-core/signers/s3.rb +0 -185
  1147. data/lib/aws-sdk-core/signers/v2.rb +0 -51
  1148. data/lib/aws-sdk-core/signers/v3.rb +0 -34
  1149. data/lib/aws-sdk-core/signers/v4.rb +0 -234
  1150. data/lib/aws-sdk-core/simpledb.rb +0 -5
  1151. data/lib/aws-sdk-core/sms.rb +0 -6
  1152. data/lib/aws-sdk-core/snowball.rb +0 -6
  1153. data/lib/aws-sdk-core/sns.rb +0 -7
  1154. data/lib/aws-sdk-core/sqs.rb +0 -7
  1155. data/lib/aws-sdk-core/ssm.rb +0 -6
  1156. data/lib/aws-sdk-core/states.rb +0 -6
  1157. data/lib/aws-sdk-core/storagegateway.rb +0 -6
  1158. data/lib/aws-sdk-core/sts.rb +0 -6
  1159. data/lib/aws-sdk-core/support.rb +0 -6
  1160. data/lib/aws-sdk-core/swf.rb +0 -6
  1161. data/lib/aws-sdk-core/textract.rb +0 -6
  1162. data/lib/aws-sdk-core/transcribeservice.rb +0 -6
  1163. data/lib/aws-sdk-core/transfer.rb +0 -6
  1164. data/lib/aws-sdk-core/translate.rb +0 -6
  1165. data/lib/aws-sdk-core/tree_hash.rb +0 -69
  1166. data/lib/aws-sdk-core/version.rb +0 -3
  1167. data/lib/aws-sdk-core/waf.rb +0 -6
  1168. data/lib/aws-sdk-core/wafregional.rb +0 -6
  1169. data/lib/aws-sdk-core/waiters/null_provider.rb +0 -12
  1170. data/lib/aws-sdk-core/waiters/provider.rb +0 -35
  1171. data/lib/aws-sdk-core/workdocs.rb +0 -6
  1172. data/lib/aws-sdk-core/worklink.rb +0 -6
  1173. data/lib/aws-sdk-core/workmail.rb +0 -6
  1174. data/lib/aws-sdk-core/workmailmessageflow.rb +0 -6
  1175. data/lib/aws-sdk-core/workspaces.rb +0 -6
  1176. data/lib/aws-sdk-core/xray.rb +0 -6
  1177. data/lib/seahorse/client/plugins/restful_bindings.rb +0 -125
  1178. data/service-models.json +0 -773
@@ -18,21 +18,43 @@ module Aws
18
18
  if body.empty?
19
19
  code = http_status_error_code(context)
20
20
  message = ''
21
+ data = EmptyStructure.new
21
22
  else
22
- code, message = extract_error(body, context)
23
+ code, message, data = extract_error(body, context)
23
24
  end
24
- svc = context.client.class.name.split('::')[1]
25
- errors_module = Aws.const_get(svc).const_get(:Errors)
26
- errors_module.error_class(code).new(context, message)
25
+ errors_module = context.client.class.errors_module
26
+ error_class = errors_module.error_class(code).new(context, message, data)
27
+ error_class
27
28
  end
28
29
 
29
30
  def extract_error(body, context)
31
+ code = error_code(body, context)
30
32
  [
31
- error_code(body, context),
33
+ code,
32
34
  error_message(body),
35
+ error_data(context, code)
33
36
  ]
34
37
  end
35
38
 
39
+ def error_data(context, code)
40
+ data = EmptyStructure.new
41
+ if error_rules = context.operation.errors
42
+ error_rules.each do |rule|
43
+ # for modeled shape with error trait
44
+ # match `code` in the error trait before
45
+ # match modeled shape name
46
+ error_shape_code = rule.shape['error']['code'] if rule.shape['error']
47
+ match = (code == error_shape_code || code == rule.shape.name)
48
+ if match && rule.shape.members.any?
49
+ data = Parser.new(rule).parse(context.http_response.body_contents)
50
+ end
51
+ end
52
+ end
53
+ data
54
+ rescue Xml::Parser::ParsingError
55
+ EmptyStructure.new
56
+ end
57
+
36
58
  def error_code(body, context)
37
59
  if matches = body.match(/<Code>(.+?)<\/Code>/)
38
60
  remove_prefix(unescape(matches[1]), context)
@@ -1,19 +1,9 @@
1
1
  module Aws
2
+ # @api private
2
3
  module Xml
3
-
4
4
  # A SAX-style XML parser that uses a shape context to handle types.
5
5
  class Parser
6
6
 
7
- autoload :Stack, 'aws-sdk-core/xml/parser/stack'
8
- autoload :Frame, 'aws-sdk-core/xml/parser/frame'
9
- autoload :ParsingError, 'aws-sdk-core/xml/parser/parsing_error'
10
-
11
- autoload :LibxmlEngine, 'aws-sdk-core/xml/parser/engines/libxml'
12
- autoload :NokogiriEngine, 'aws-sdk-core/xml/parser/engines/nokogiri'
13
- autoload :OgaEngine, 'aws-sdk-core/xml/parser/engines/oga'
14
- autoload :OxEngine, 'aws-sdk-core/xml/parser/engines/ox'
15
- autoload :RexmlEngine, 'aws-sdk-core/xml/parser/engines/rexml'
16
-
17
7
  # @param [Seahorse::Model::ShapeRef] rules
18
8
  def initialize(rules, options = {})
19
9
  @rules = rules
@@ -24,9 +24,9 @@ module Aws
24
24
 
25
25
  def frame_class(ref)
26
26
  klass = FRAME_CLASSES[ref.shape.class]
27
- if ListFrame == klass && ref[:flattened]
27
+ if ListFrame == klass && (ref.shape.flattened || ref["flattened"])
28
28
  FlatListFrame
29
- elsif MapFrame == klass && ref[:flattened]
29
+ elsif MapFrame == klass && (ref.shape.flattened || ref["flattened"])
30
30
  MapEntryFrame
31
31
  else
32
32
  klass
@@ -79,7 +79,7 @@ module Aws
79
79
 
80
80
  def initialize(xml_name, parent, ref, result = nil)
81
81
  super
82
- @result ||= ref[:struct_class].new
82
+ @result ||= ref.shape.struct_class.new
83
83
  @members = {}
84
84
  ref.shape.members.each do |member_name, member_ref|
85
85
  apply_default_value(member_name, member_ref)
@@ -120,15 +120,15 @@ module Aws
120
120
  end
121
121
 
122
122
  def xml_name(ref)
123
- if flattened_list?(ref.shape)
123
+ if flattened_list?(ref)
124
124
  ref.shape.member.location_name || ref.location_name
125
125
  else
126
126
  ref.location_name
127
127
  end
128
128
  end
129
129
 
130
- def flattened_list?(shape)
131
- ListShape === shape && shape['flattened']
130
+ def flattened_list?(ref)
131
+ ListShape === ref.shape && (ref.shape.flattened || ref["flattened"])
132
132
  end
133
133
 
134
134
  end
@@ -0,0 +1,45 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+
9
+ require_relative 'aws-sdk-sts/types'
10
+ require_relative 'aws-sdk-sts/client_api'
11
+ require_relative 'aws-sdk-sts/client'
12
+ require_relative 'aws-sdk-sts/errors'
13
+ require_relative 'aws-sdk-sts/resource'
14
+ require_relative 'aws-sdk-sts/customizations'
15
+
16
+ # This module provides support for AWS Security Token Service. This module is available in the
17
+ # `aws-sdk-core` gem.
18
+ #
19
+ # # Client
20
+ #
21
+ # The {Client} class provides one method for each API operation. Operation
22
+ # methods each accept a hash of request parameters and return a response
23
+ # structure.
24
+ #
25
+ # See {Client} for more information.
26
+ #
27
+ # # Errors
28
+ #
29
+ # Errors returned from AWS Security Token Service all
30
+ # extend {Errors::ServiceError}.
31
+ #
32
+ # begin
33
+ # # do stuff
34
+ # rescue Aws::STS::Errors::ServiceError
35
+ # # rescues all service API errors
36
+ # end
37
+ #
38
+ # See {Errors} for more information.
39
+ #
40
+ # @service
41
+ module Aws::STS
42
+
43
+ GEM_VERSION = '3.72.1'
44
+
45
+ end
@@ -0,0 +1,1840 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/signature_v4.rb'
28
+ require 'aws-sdk-core/plugins/protocols/query.rb'
29
+ require 'aws-sdk-sts/plugins/sts_regional_endpoints.rb'
30
+
31
+ Aws::Plugins::GlobalConfiguration.add_identifier(:sts)
32
+
33
+ module Aws::STS
34
+ class Client < Seahorse::Client::Base
35
+
36
+ include Aws::ClientStubs
37
+
38
+ @identifier = :sts
39
+
40
+ set_api(ClientApi::API)
41
+
42
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
43
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
44
+ add_plugin(Aws::Plugins::Logging)
45
+ add_plugin(Aws::Plugins::ParamConverter)
46
+ add_plugin(Aws::Plugins::ParamValidator)
47
+ add_plugin(Aws::Plugins::UserAgent)
48
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
49
+ add_plugin(Aws::Plugins::RetryErrors)
50
+ add_plugin(Aws::Plugins::GlobalConfiguration)
51
+ add_plugin(Aws::Plugins::RegionalEndpoint)
52
+ add_plugin(Aws::Plugins::EndpointDiscovery)
53
+ add_plugin(Aws::Plugins::EndpointPattern)
54
+ add_plugin(Aws::Plugins::ResponsePaging)
55
+ add_plugin(Aws::Plugins::StubResponses)
56
+ add_plugin(Aws::Plugins::IdempotencyToken)
57
+ add_plugin(Aws::Plugins::JsonvalueConverter)
58
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
59
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
60
+ add_plugin(Aws::Plugins::TransferEncoding)
61
+ add_plugin(Aws::Plugins::SignatureV4)
62
+ add_plugin(Aws::Plugins::Protocols::Query)
63
+ add_plugin(Aws::STS::Plugins::STSRegionalEndpoints)
64
+
65
+ # @overload initialize(options)
66
+ # @param [Hash] options
67
+ # @option options [required, Aws::CredentialProvider] :credentials
68
+ # Your AWS credentials. This can be an instance of any one of the
69
+ # following classes:
70
+ #
71
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
72
+ # credentials.
73
+ #
74
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
75
+ # from an EC2 IMDS on an EC2 instance.
76
+ #
77
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
78
+ # shared file, such as `~/.aws/config`.
79
+ #
80
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
81
+ #
82
+ # When `:credentials` are not configured directly, the following
83
+ # locations will be searched for credentials:
84
+ #
85
+ # * `Aws.config[:credentials]`
86
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
87
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
91
+ # very aggressive. Construct and pass an instance of
92
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
93
+ # timeouts.
94
+ #
95
+ # @option options [required, String] :region
96
+ # The AWS region to connect to. The configured `:region` is
97
+ # used to determine the service `:endpoint`. When not passed,
98
+ # a default `:region` is search for in the following locations:
99
+ #
100
+ # * `Aws.config[:region]`
101
+ # * `ENV['AWS_REGION']`
102
+ # * `ENV['AMAZON_REGION']`
103
+ # * `ENV['AWS_DEFAULT_REGION']`
104
+ # * `~/.aws/credentials`
105
+ # * `~/.aws/config`
106
+ #
107
+ # @option options [String] :access_key_id
108
+ #
109
+ # @option options [Boolean] :active_endpoint_cache (false)
110
+ # When set to `true`, a thread polling for endpoints will be running in
111
+ # the background every 60 secs (default). Defaults to `false`.
112
+ #
113
+ # @option options [Boolean] :client_side_monitoring (false)
114
+ # When `true`, client-side metrics will be collected for all API requests from
115
+ # this client.
116
+ #
117
+ # @option options [String] :client_side_monitoring_client_id ("")
118
+ # Allows you to provide an identifier for this client which will be attached to
119
+ # all generated client side metrics. Defaults to an empty string.
120
+ #
121
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
122
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
123
+ # side monitoring agent is running on, where client metrics will be published via UDP.
124
+ #
125
+ # @option options [Integer] :client_side_monitoring_port (31000)
126
+ # Required for publishing client metrics. The port that the client side monitoring
127
+ # agent is running on, where client metrics will be published via UDP.
128
+ #
129
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
130
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
131
+ # will use the Client Side Monitoring Agent Publisher.
132
+ #
133
+ # @option options [Boolean] :convert_params (true)
134
+ # When `true`, an attempt is made to coerce request parameters into
135
+ # the required types.
136
+ #
137
+ # @option options [Boolean] :disable_host_prefix_injection (false)
138
+ # Set to true to disable SDK automatically adding host prefix
139
+ # to default service endpoint when available.
140
+ #
141
+ # @option options [String] :endpoint
142
+ # The client endpoint is normally constructed from the `:region`
143
+ # option. You should only configure an `:endpoint` when connecting
144
+ # to test endpoints. This should be avalid HTTP(S) URI.
145
+ #
146
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
147
+ # Used for the maximum size limit of the LRU cache storing endpoints data
148
+ # for endpoint discovery enabled operations. Defaults to 1000.
149
+ #
150
+ # @option options [Integer] :endpoint_cache_max_threads (10)
151
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
152
+ #
153
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
154
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
155
+ # Use this option to config the time interval in seconds for making
156
+ # requests fetching endpoints information. Defaults to 60 sec.
157
+ #
158
+ # @option options [Boolean] :endpoint_discovery (false)
159
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
160
+ #
161
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
162
+ # The log formatter.
163
+ #
164
+ # @option options [Symbol] :log_level (:info)
165
+ # The log level to send messages to the `:logger` at.
166
+ #
167
+ # @option options [Logger] :logger
168
+ # The Logger instance to send log messages to. If this option
169
+ # is not set, logging will be disabled.
170
+ #
171
+ # @option options [String] :profile ("default")
172
+ # Used when loading credentials from the shared credentials file
173
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
174
+ #
175
+ # @option options [Float] :retry_base_delay (0.3)
176
+ # The base delay in seconds used by the default backoff function.
177
+ #
178
+ # @option options [Symbol] :retry_jitter (:none)
179
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
180
+ #
181
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
182
+ #
183
+ # @option options [Integer] :retry_limit (3)
184
+ # The maximum number of times to retry failed requests. Only
185
+ # ~ 500 level server errors and certain ~ 400 level client errors
186
+ # are retried. Generally, these are throttling errors, data
187
+ # checksum errors, networking errors, timeout errors and auth
188
+ # errors from expired credentials.
189
+ #
190
+ # @option options [Integer] :retry_max_delay (0)
191
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
192
+ #
193
+ # @option options [String] :secret_access_key
194
+ #
195
+ # @option options [String] :session_token
196
+ #
197
+ # @option options [String] :sts_regional_endpoints ("legacy")
198
+ # Passing in 'regional' to enable regional endpoint for STS for all supported
199
+ # regions (except 'aws-global'), defaults to 'legacy' mode, using global endpoint
200
+ # for legacy regions.
201
+ #
202
+ # @option options [Boolean] :stub_responses (false)
203
+ # Causes the client to return stubbed responses. By default
204
+ # fake responses are generated and returned. You can specify
205
+ # the response data to return or errors to raise by calling
206
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
207
+ #
208
+ # ** Please note ** When response stubbing is enabled, no HTTP
209
+ # requests are made, and retries are disabled.
210
+ #
211
+ # @option options [Boolean] :validate_params (true)
212
+ # When `true`, request parameters are validated before
213
+ # sending the request.
214
+ #
215
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
216
+ # requests through. Formatted like 'http://proxy.com:123'.
217
+ #
218
+ # @option options [Float] :http_open_timeout (15) The number of
219
+ # seconds to wait when opening a HTTP session before rasing a
220
+ # `Timeout::Error`.
221
+ #
222
+ # @option options [Integer] :http_read_timeout (60) The default
223
+ # number of seconds to wait for response data. This value can
224
+ # safely be set
225
+ # per-request on the session yeidled by {#session_for}.
226
+ #
227
+ # @option options [Float] :http_idle_timeout (5) The number of
228
+ # seconds a connection is allowed to sit idble before it is
229
+ # considered stale. Stale connections are closed and removed
230
+ # from the pool before making a request.
231
+ #
232
+ # @option options [Float] :http_continue_timeout (1) The number of
233
+ # seconds to wait for a 100-continue response before sending the
234
+ # request body. This option has no effect unless the request has
235
+ # "Expect" header set to "100-continue". Defaults to `nil` which
236
+ # disables this behaviour. This value can safely be set per
237
+ # request on the session yeidled by {#session_for}.
238
+ #
239
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
240
+ # HTTP debug output will be sent to the `:logger`.
241
+ #
242
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
243
+ # SSL peer certificates are verified when establishing a
244
+ # connection.
245
+ #
246
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
247
+ # certificate authority bundle file that should be used when
248
+ # verifying peer certificates. If you do not pass
249
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
250
+ # will be used if available.
251
+ #
252
+ # @option options [String] :ssl_ca_directory Full path of the
253
+ # directory that contains the unbundled SSL certificate
254
+ # authority files for verifying peer certificates. If you do
255
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
256
+ # system default will be used if available.
257
+ #
258
+ def initialize(*args)
259
+ super
260
+ end
261
+
262
+ # @!group API Operations
263
+
264
+ # Returns a set of temporary security credentials that you can use to
265
+ # access AWS resources that you might not normally have access to. These
266
+ # temporary credentials consist of an access key ID, a secret access
267
+ # key, and a security token. Typically, you use `AssumeRole` within your
268
+ # account or for cross-account access. For a comparison of `AssumeRole`
269
+ # with other API operations that produce temporary credentials, see
270
+ # [Requesting Temporary Security Credentials][1] and [Comparing the AWS
271
+ # STS API operations][2] in the *IAM User Guide*.
272
+ #
273
+ # You cannot use AWS account root user credentials to call `AssumeRole`.
274
+ # You must use credentials for an IAM user or an IAM role to call
275
+ # `AssumeRole`.
276
+ #
277
+ # For cross-account access, imagine that you own multiple accounts and
278
+ # need to access resources in each account. You could create long-term
279
+ # credentials in each account to access those resources. However,
280
+ # managing all those credentials and remembering which one can access
281
+ # which account can be time consuming. Instead, you can create one set
282
+ # of long-term credentials in one account. Then use temporary security
283
+ # credentials to access all the other accounts by assuming roles in
284
+ # those accounts. For more information about roles, see [IAM Roles][3]
285
+ # in the *IAM User Guide*.
286
+ #
287
+ # By default, the temporary security credentials created by `AssumeRole`
288
+ # last for one hour. However, you can use the optional `DurationSeconds`
289
+ # parameter to specify the duration of your session. You can provide a
290
+ # value from 900 seconds (15 minutes) up to the maximum session duration
291
+ # setting for the role. This setting can have a value from 1 hour to 12
292
+ # hours. To learn how to view the maximum value for your role, see [View
293
+ # the Maximum Session Duration Setting for a Role][4] in the *IAM User
294
+ # Guide*. The maximum session duration limit applies when you use the
295
+ # `AssumeRole*` API operations or the `assume-role*` CLI commands.
296
+ # However the limit does not apply when you use those operations to
297
+ # create a console URL. For more information, see [Using IAM Roles][5]
298
+ # in the *IAM User Guide*.
299
+ #
300
+ # The temporary security credentials created by `AssumeRole` can be used
301
+ # to make API calls to any AWS service with the following exception: You
302
+ # cannot call the AWS STS `GetFederationToken` or `GetSessionToken` API
303
+ # operations.
304
+ #
305
+ # (Optional) You can pass inline or managed [session policies][6] to
306
+ # this operation. You can pass a single JSON policy document to use as
307
+ # an inline session policy. You can also specify up to 10 managed
308
+ # policies to use as managed session policies. The plain text that you
309
+ # use for both inline and managed session policies shouldn't exceed
310
+ # 2048 characters. Passing policies to this operation returns new
311
+ # temporary credentials. The resulting session's permissions are the
312
+ # intersection of the role's identity-based policy and the session
313
+ # policies. You can use the role's temporary credentials in subsequent
314
+ # AWS API calls to access resources in the account that owns the role.
315
+ # You cannot use session policies to grant more permissions than those
316
+ # allowed by the identity-based policy of the role that is being
317
+ # assumed. For more information, see [Session Policies][6] in the *IAM
318
+ # User Guide*.
319
+ #
320
+ # To assume a role from a different account, your AWS account must be
321
+ # trusted by the role. The trust relationship is defined in the role's
322
+ # trust policy when the role is created. That trust policy states which
323
+ # accounts are allowed to delegate that access to users in the account.
324
+ #
325
+ # A user who wants to access a role in a different account must also
326
+ # have permissions that are delegated from the user account
327
+ # administrator. The administrator must attach a policy that allows the
328
+ # user to call `AssumeRole` for the ARN of the role in the other
329
+ # account. If the user is in the same account as the role, then you can
330
+ # do either of the following:
331
+ #
332
+ # * Attach a policy to the user (identical to the previous user in a
333
+ # different account).
334
+ #
335
+ # * Add the user as a principal directly in the role's trust policy.
336
+ #
337
+ # In this case, the trust policy acts as an IAM resource-based policy.
338
+ # Users in the same account as the role do not need explicit permission
339
+ # to assume the role. For more information about trust policies and
340
+ # resource-based policies, see [IAM Policies][7] in the *IAM User
341
+ # Guide*.
342
+ #
343
+ # **Using MFA with AssumeRole**
344
+ #
345
+ # (Optional) You can include multi-factor authentication (MFA)
346
+ # information when you call `AssumeRole`. This is useful for
347
+ # cross-account scenarios to ensure that the user that assumes the role
348
+ # has been authenticated with an AWS MFA device. In that scenario, the
349
+ # trust policy of the role being assumed includes a condition that tests
350
+ # for MFA authentication. If the caller does not include valid MFA
351
+ # information, the request to assume the role is denied. The condition
352
+ # in a trust policy that tests for MFA authentication might look like
353
+ # the following example.
354
+ #
355
+ # `"Condition": \{"Bool": \{"aws:MultiFactorAuthPresent": true\}\}`
356
+ #
357
+ # For more information, see [Configuring MFA-Protected API Access][8] in
358
+ # the *IAM User Guide* guide.
359
+ #
360
+ # To use MFA with `AssumeRole`, you pass values for the `SerialNumber`
361
+ # and `TokenCode` parameters. The `SerialNumber` value identifies the
362
+ # user's hardware or virtual MFA device. The `TokenCode` is the
363
+ # time-based one-time password (TOTP) that the MFA device produces.
364
+ #
365
+ #
366
+ #
367
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
368
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
369
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
370
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
371
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
372
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
373
+ # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
374
+ # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/MFAProtectedAPI.html
375
+ #
376
+ # @option params [required, String] :role_arn
377
+ # The Amazon Resource Name (ARN) of the role to assume.
378
+ #
379
+ # @option params [required, String] :role_session_name
380
+ # An identifier for the assumed role session.
381
+ #
382
+ # Use the role session name to uniquely identify a session when the same
383
+ # role is assumed by different principals or for different reasons. In
384
+ # cross-account scenarios, the role session name is visible to, and can
385
+ # be logged by the account that owns the role. The role session name is
386
+ # also used in the ARN of the assumed role principal. This means that
387
+ # subsequent cross-account API requests that use the temporary security
388
+ # credentials will expose the role session name to the external account
389
+ # in their AWS CloudTrail logs.
390
+ #
391
+ # The regex used to validate this parameter is a string of characters
392
+ # consisting of upper- and lower-case alphanumeric characters with no
393
+ # spaces. You can also include underscores or any of the following
394
+ # characters: =,.@-
395
+ #
396
+ # @option params [Array<Types::PolicyDescriptorType>] :policy_arns
397
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that you
398
+ # want to use as managed session policies. The policies must exist in
399
+ # the same account as the role.
400
+ #
401
+ # This parameter is optional. You can provide up to 10 managed policy
402
+ # ARNs. However, the plain text that you use for both inline and managed
403
+ # session policies shouldn't exceed 2048 characters. For more
404
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
405
+ # Service Namespaces][1] in the AWS General Reference.
406
+ #
407
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
408
+ # session policy guideline. However, an AWS conversion compresses the
409
+ # session policies into a packed binary format that has a separate
410
+ # limit. This is the enforced limit. The `PackedPolicySize` response
411
+ # element indicates by percentage how close the policy is to the upper
412
+ # size limit.
413
+ #
414
+ # </note>
415
+ #
416
+ # Passing policies to this operation returns new temporary credentials.
417
+ # The resulting session's permissions are the intersection of the
418
+ # role's identity-based policy and the session policies. You can use
419
+ # the role's temporary credentials in subsequent AWS API calls to
420
+ # access resources in the account that owns the role. You cannot use
421
+ # session policies to grant more permissions than those allowed by the
422
+ # identity-based policy of the role that is being assumed. For more
423
+ # information, see [Session Policies][2] in the *IAM User Guide*.
424
+ #
425
+ #
426
+ #
427
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
428
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
429
+ #
430
+ # @option params [String] :policy
431
+ # An IAM policy in JSON format that you want to use as an inline session
432
+ # policy.
433
+ #
434
+ # This parameter is optional. Passing policies to this operation returns
435
+ # new temporary credentials. The resulting session's permissions are
436
+ # the intersection of the role's identity-based policy and the session
437
+ # policies. You can use the role's temporary credentials in subsequent
438
+ # AWS API calls to access resources in the account that owns the role.
439
+ # You cannot use session policies to grant more permissions than those
440
+ # allowed by the identity-based policy of the role that is being
441
+ # assumed. For more information, see [Session Policies][1] in the *IAM
442
+ # User Guide*.
443
+ #
444
+ # The plain text that you use for both inline and managed session
445
+ # policies shouldn't exceed 2048 characters. The JSON policy characters
446
+ # can be any ASCII character from the space character to the end of the
447
+ # valid character list (\\u0020 through \\u00FF). It can also include
448
+ # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
449
+ # characters.
450
+ #
451
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
452
+ # session policy guideline. However, an AWS conversion compresses the
453
+ # session policies into a packed binary format that has a separate
454
+ # limit. This is the enforced limit. The `PackedPolicySize` response
455
+ # element indicates by percentage how close the policy is to the upper
456
+ # size limit.
457
+ #
458
+ # </note>
459
+ #
460
+ #
461
+ #
462
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
463
+ #
464
+ # @option params [Integer] :duration_seconds
465
+ # The duration, in seconds, of the role session. The value can range
466
+ # from 900 seconds (15 minutes) up to the maximum session duration
467
+ # setting for the role. This setting can have a value from 1 hour to 12
468
+ # hours. If you specify a value higher than this setting, the operation
469
+ # fails. For example, if you specify a session duration of 12 hours, but
470
+ # your administrator set the maximum session duration to 6 hours, your
471
+ # operation fails. To learn how to view the maximum value for your role,
472
+ # see [View the Maximum Session Duration Setting for a Role][1] in the
473
+ # *IAM User Guide*.
474
+ #
475
+ # By default, the value is set to `3600` seconds.
476
+ #
477
+ # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
478
+ # console session that you might request using the returned credentials.
479
+ # The request to the federation endpoint for a console sign-in token
480
+ # takes a `SessionDuration` parameter that specifies the maximum length
481
+ # of the console session. For more information, see [Creating a URL that
482
+ # Enables Federated Users to Access the AWS Management Console][2] in
483
+ # the *IAM User Guide*.
484
+ #
485
+ # </note>
486
+ #
487
+ #
488
+ #
489
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
490
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
491
+ #
492
+ # @option params [String] :external_id
493
+ # A unique identifier that might be required when you assume a role in
494
+ # another account. If the administrator of the account to which the role
495
+ # belongs provided you with an external ID, then provide that value in
496
+ # the `ExternalId` parameter. This value can be any string, such as a
497
+ # passphrase or account number. A cross-account role is usually set up
498
+ # to trust everyone in an account. Therefore, the administrator of the
499
+ # trusting account might send an external ID to the administrator of the
500
+ # trusted account. That way, only someone with the ID can assume the
501
+ # role, rather than everyone in the account. For more information about
502
+ # the external ID, see [How to Use an External ID When Granting Access
503
+ # to Your AWS Resources to a Third Party][1] in the *IAM User Guide*.
504
+ #
505
+ # The regex used to validate this parameter is a string of characters
506
+ # consisting of upper- and lower-case alphanumeric characters with no
507
+ # spaces. You can also include underscores or any of the following
508
+ # characters: =,.@:/-
509
+ #
510
+ #
511
+ #
512
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
513
+ #
514
+ # @option params [String] :serial_number
515
+ # The identification number of the MFA device that is associated with
516
+ # the user who is making the `AssumeRole` call. Specify this value if
517
+ # the trust policy of the role being assumed includes a condition that
518
+ # requires MFA authentication. The value is either the serial number for
519
+ # a hardware device (such as `GAHT12345678`) or an Amazon Resource Name
520
+ # (ARN) for a virtual device (such as
521
+ # `arn:aws:iam::123456789012:mfa/user`).
522
+ #
523
+ # The regex used to validate this parameter is a string of characters
524
+ # consisting of upper- and lower-case alphanumeric characters with no
525
+ # spaces. You can also include underscores or any of the following
526
+ # characters: =,.@-
527
+ #
528
+ # @option params [String] :token_code
529
+ # The value provided by the MFA device, if the trust policy of the role
530
+ # being assumed requires MFA (that is, if the policy includes a
531
+ # condition that tests for MFA). If the role being assumed requires MFA
532
+ # and if the `TokenCode` value is missing or expired, the `AssumeRole`
533
+ # call returns an "access denied" error.
534
+ #
535
+ # The format for this parameter, as described by its regex pattern, is a
536
+ # sequence of six numeric digits.
537
+ #
538
+ # @return [Types::AssumeRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
539
+ #
540
+ # * {Types::AssumeRoleResponse#credentials #credentials} => Types::Credentials
541
+ # * {Types::AssumeRoleResponse#assumed_role_user #assumed_role_user} => Types::AssumedRoleUser
542
+ # * {Types::AssumeRoleResponse#packed_policy_size #packed_policy_size} => Integer
543
+ #
544
+ #
545
+ # @example Example: To assume a role
546
+ #
547
+ # resp = client.assume_role({
548
+ # duration_seconds: 3600,
549
+ # external_id: "123ABC",
550
+ # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}",
551
+ # role_arn: "arn:aws:iam::123456789012:role/demo",
552
+ # role_session_name: "Bob",
553
+ # })
554
+ #
555
+ # resp.to_h outputs the following:
556
+ # {
557
+ # assumed_role_user: {
558
+ # arn: "arn:aws:sts::123456789012:assumed-role/demo/Bob",
559
+ # assumed_role_id: "ARO123EXAMPLE123:Bob",
560
+ # },
561
+ # credentials: {
562
+ # access_key_id: "AKIAIOSFODNN7EXAMPLE",
563
+ # expiration: Time.parse("2011-07-15T23:28:33.359Z"),
564
+ # secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
565
+ # session_token: "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==",
566
+ # },
567
+ # packed_policy_size: 6,
568
+ # }
569
+ #
570
+ # @example Request syntax with placeholder values
571
+ #
572
+ # resp = client.assume_role({
573
+ # role_arn: "arnType", # required
574
+ # role_session_name: "roleSessionNameType", # required
575
+ # policy_arns: [
576
+ # {
577
+ # arn: "arnType",
578
+ # },
579
+ # ],
580
+ # policy: "sessionPolicyDocumentType",
581
+ # duration_seconds: 1,
582
+ # external_id: "externalIdType",
583
+ # serial_number: "serialNumberType",
584
+ # token_code: "tokenCodeType",
585
+ # })
586
+ #
587
+ # @example Response structure
588
+ #
589
+ # resp.credentials.access_key_id #=> String
590
+ # resp.credentials.secret_access_key #=> String
591
+ # resp.credentials.session_token #=> String
592
+ # resp.credentials.expiration #=> Time
593
+ # resp.assumed_role_user.assumed_role_id #=> String
594
+ # resp.assumed_role_user.arn #=> String
595
+ # resp.packed_policy_size #=> Integer
596
+ #
597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole AWS API Documentation
598
+ #
599
+ # @overload assume_role(params = {})
600
+ # @param [Hash] params ({})
601
+ def assume_role(params = {}, options = {})
602
+ req = build_request(:assume_role, params)
603
+ req.send_request(options)
604
+ end
605
+
606
+ # Returns a set of temporary security credentials for users who have
607
+ # been authenticated via a SAML authentication response. This operation
608
+ # provides a mechanism for tying an enterprise identity store or
609
+ # directory to role-based AWS access without user-specific credentials
610
+ # or configuration. For a comparison of `AssumeRoleWithSAML` with the
611
+ # other API operations that produce temporary credentials, see
612
+ # [Requesting Temporary Security Credentials][1] and [Comparing the AWS
613
+ # STS API operations][2] in the *IAM User Guide*.
614
+ #
615
+ # The temporary security credentials returned by this operation consist
616
+ # of an access key ID, a secret access key, and a security token.
617
+ # Applications can use these temporary security credentials to sign
618
+ # calls to AWS services.
619
+ #
620
+ # By default, the temporary security credentials created by
621
+ # `AssumeRoleWithSAML` last for one hour. However, you can use the
622
+ # optional `DurationSeconds` parameter to specify the duration of your
623
+ # session. Your role session lasts for the duration that you specify, or
624
+ # until the time specified in the SAML authentication response's
625
+ # `SessionNotOnOrAfter` value, whichever is shorter. You can provide a
626
+ # `DurationSeconds` value from 900 seconds (15 minutes) up to the
627
+ # maximum session duration setting for the role. This setting can have a
628
+ # value from 1 hour to 12 hours. To learn how to view the maximum value
629
+ # for your role, see [View the Maximum Session Duration Setting for a
630
+ # Role][3] in the *IAM User Guide*. The maximum session duration limit
631
+ # applies when you use the `AssumeRole*` API operations or the
632
+ # `assume-role*` CLI commands. However the limit does not apply when you
633
+ # use those operations to create a console URL. For more information,
634
+ # see [Using IAM Roles][4] in the *IAM User Guide*.
635
+ #
636
+ # The temporary security credentials created by `AssumeRoleWithSAML` can
637
+ # be used to make API calls to any AWS service with the following
638
+ # exception: you cannot call the STS `GetFederationToken` or
639
+ # `GetSessionToken` API operations.
640
+ #
641
+ # (Optional) You can pass inline or managed [session policies][5] to
642
+ # this operation. You can pass a single JSON policy document to use as
643
+ # an inline session policy. You can also specify up to 10 managed
644
+ # policies to use as managed session policies. The plain text that you
645
+ # use for both inline and managed session policies shouldn't exceed
646
+ # 2048 characters. Passing policies to this operation returns new
647
+ # temporary credentials. The resulting session's permissions are the
648
+ # intersection of the role's identity-based policy and the session
649
+ # policies. You can use the role's temporary credentials in subsequent
650
+ # AWS API calls to access resources in the account that owns the role.
651
+ # You cannot use session policies to grant more permissions than those
652
+ # allowed by the identity-based policy of the role that is being
653
+ # assumed. For more information, see [Session Policies][5] in the *IAM
654
+ # User Guide*.
655
+ #
656
+ # Before your application can call `AssumeRoleWithSAML`, you must
657
+ # configure your SAML identity provider (IdP) to issue the claims
658
+ # required by AWS. Additionally, you must use AWS Identity and Access
659
+ # Management (IAM) to create a SAML provider entity in your AWS account
660
+ # that represents your identity provider. You must also create an IAM
661
+ # role that specifies this SAML provider in its trust policy.
662
+ #
663
+ # Calling `AssumeRoleWithSAML` does not require the use of AWS security
664
+ # credentials. The identity of the caller is validated by using keys in
665
+ # the metadata document that is uploaded for the SAML provider entity
666
+ # for your identity provider.
667
+ #
668
+ # Calling `AssumeRoleWithSAML` can result in an entry in your AWS
669
+ # CloudTrail logs. The entry includes the value in the `NameID` element
670
+ # of the SAML assertion. We recommend that you use a `NameIDType` that
671
+ # is not associated with any personally identifiable information (PII).
672
+ # For example, you could instead use the Persistent Identifier
673
+ # (`urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`).
674
+ #
675
+ # For more information, see the following resources:
676
+ #
677
+ # * [About SAML 2.0-based Federation][6] in the *IAM User Guide*.
678
+ #
679
+ # * [Creating SAML Identity Providers][7] in the *IAM User Guide*.
680
+ #
681
+ # * [Configuring a Relying Party and Claims][8] in the *IAM User Guide*.
682
+ #
683
+ # * [Creating a Role for SAML 2.0 Federation][9] in the *IAM User
684
+ # Guide*.
685
+ #
686
+ #
687
+ #
688
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
689
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
690
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
691
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
692
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
693
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html
694
+ # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html
695
+ # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html
696
+ # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html
697
+ #
698
+ # @option params [required, String] :role_arn
699
+ # The Amazon Resource Name (ARN) of the role that the caller is
700
+ # assuming.
701
+ #
702
+ # @option params [required, String] :principal_arn
703
+ # The Amazon Resource Name (ARN) of the SAML provider in IAM that
704
+ # describes the IdP.
705
+ #
706
+ # @option params [required, String] :saml_assertion
707
+ # The base-64 encoded SAML authentication response provided by the IdP.
708
+ #
709
+ # For more information, see [Configuring a Relying Party and Adding
710
+ # Claims][1] in the *IAM User Guide*.
711
+ #
712
+ #
713
+ #
714
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html
715
+ #
716
+ # @option params [Array<Types::PolicyDescriptorType>] :policy_arns
717
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that you
718
+ # want to use as managed session policies. The policies must exist in
719
+ # the same account as the role.
720
+ #
721
+ # This parameter is optional. You can provide up to 10 managed policy
722
+ # ARNs. However, the plain text that you use for both inline and managed
723
+ # session policies shouldn't exceed 2048 characters. For more
724
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
725
+ # Service Namespaces][1] in the AWS General Reference.
726
+ #
727
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
728
+ # session policy guideline. However, an AWS conversion compresses the
729
+ # session policies into a packed binary format that has a separate
730
+ # limit. This is the enforced limit. The `PackedPolicySize` response
731
+ # element indicates by percentage how close the policy is to the upper
732
+ # size limit.
733
+ #
734
+ # </note>
735
+ #
736
+ # Passing policies to this operation returns new temporary credentials.
737
+ # The resulting session's permissions are the intersection of the
738
+ # role's identity-based policy and the session policies. You can use
739
+ # the role's temporary credentials in subsequent AWS API calls to
740
+ # access resources in the account that owns the role. You cannot use
741
+ # session policies to grant more permissions than those allowed by the
742
+ # identity-based policy of the role that is being assumed. For more
743
+ # information, see [Session Policies][2] in the *IAM User Guide*.
744
+ #
745
+ #
746
+ #
747
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
748
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
749
+ #
750
+ # @option params [String] :policy
751
+ # An IAM policy in JSON format that you want to use as an inline session
752
+ # policy.
753
+ #
754
+ # This parameter is optional. Passing policies to this operation returns
755
+ # new temporary credentials. The resulting session's permissions are
756
+ # the intersection of the role's identity-based policy and the session
757
+ # policies. You can use the role's temporary credentials in subsequent
758
+ # AWS API calls to access resources in the account that owns the role.
759
+ # You cannot use session policies to grant more permissions than those
760
+ # allowed by the identity-based policy of the role that is being
761
+ # assumed. For more information, see [Session Policies][1] in the *IAM
762
+ # User Guide*.
763
+ #
764
+ # The plain text that you use for both inline and managed session
765
+ # policies shouldn't exceed 2048 characters. The JSON policy characters
766
+ # can be any ASCII character from the space character to the end of the
767
+ # valid character list (\\u0020 through \\u00FF). It can also include
768
+ # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
769
+ # characters.
770
+ #
771
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
772
+ # session policy guideline. However, an AWS conversion compresses the
773
+ # session policies into a packed binary format that has a separate
774
+ # limit. This is the enforced limit. The `PackedPolicySize` response
775
+ # element indicates by percentage how close the policy is to the upper
776
+ # size limit.
777
+ #
778
+ # </note>
779
+ #
780
+ #
781
+ #
782
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
783
+ #
784
+ # @option params [Integer] :duration_seconds
785
+ # The duration, in seconds, of the role session. Your role session lasts
786
+ # for the duration that you specify for the `DurationSeconds` parameter,
787
+ # or until the time specified in the SAML authentication response's
788
+ # `SessionNotOnOrAfter` value, whichever is shorter. You can provide a
789
+ # `DurationSeconds` value from 900 seconds (15 minutes) up to the
790
+ # maximum session duration setting for the role. This setting can have a
791
+ # value from 1 hour to 12 hours. If you specify a value higher than this
792
+ # setting, the operation fails. For example, if you specify a session
793
+ # duration of 12 hours, but your administrator set the maximum session
794
+ # duration to 6 hours, your operation fails. To learn how to view the
795
+ # maximum value for your role, see [View the Maximum Session Duration
796
+ # Setting for a Role][1] in the *IAM User Guide*.
797
+ #
798
+ # By default, the value is set to `3600` seconds.
799
+ #
800
+ # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
801
+ # console session that you might request using the returned credentials.
802
+ # The request to the federation endpoint for a console sign-in token
803
+ # takes a `SessionDuration` parameter that specifies the maximum length
804
+ # of the console session. For more information, see [Creating a URL that
805
+ # Enables Federated Users to Access the AWS Management Console][2] in
806
+ # the *IAM User Guide*.
807
+ #
808
+ # </note>
809
+ #
810
+ #
811
+ #
812
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
813
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
814
+ #
815
+ # @return [Types::AssumeRoleWithSAMLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
816
+ #
817
+ # * {Types::AssumeRoleWithSAMLResponse#credentials #credentials} => Types::Credentials
818
+ # * {Types::AssumeRoleWithSAMLResponse#assumed_role_user #assumed_role_user} => Types::AssumedRoleUser
819
+ # * {Types::AssumeRoleWithSAMLResponse#packed_policy_size #packed_policy_size} => Integer
820
+ # * {Types::AssumeRoleWithSAMLResponse#subject #subject} => String
821
+ # * {Types::AssumeRoleWithSAMLResponse#subject_type #subject_type} => String
822
+ # * {Types::AssumeRoleWithSAMLResponse#issuer #issuer} => String
823
+ # * {Types::AssumeRoleWithSAMLResponse#audience #audience} => String
824
+ # * {Types::AssumeRoleWithSAMLResponse#name_qualifier #name_qualifier} => String
825
+ #
826
+ # @example Request syntax with placeholder values
827
+ #
828
+ # resp = client.assume_role_with_saml({
829
+ # role_arn: "arnType", # required
830
+ # principal_arn: "arnType", # required
831
+ # saml_assertion: "SAMLAssertionType", # required
832
+ # policy_arns: [
833
+ # {
834
+ # arn: "arnType",
835
+ # },
836
+ # ],
837
+ # policy: "sessionPolicyDocumentType",
838
+ # duration_seconds: 1,
839
+ # })
840
+ #
841
+ # @example Response structure
842
+ #
843
+ # resp.credentials.access_key_id #=> String
844
+ # resp.credentials.secret_access_key #=> String
845
+ # resp.credentials.session_token #=> String
846
+ # resp.credentials.expiration #=> Time
847
+ # resp.assumed_role_user.assumed_role_id #=> String
848
+ # resp.assumed_role_user.arn #=> String
849
+ # resp.packed_policy_size #=> Integer
850
+ # resp.subject #=> String
851
+ # resp.subject_type #=> String
852
+ # resp.issuer #=> String
853
+ # resp.audience #=> String
854
+ # resp.name_qualifier #=> String
855
+ #
856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML AWS API Documentation
857
+ #
858
+ # @overload assume_role_with_saml(params = {})
859
+ # @param [Hash] params ({})
860
+ def assume_role_with_saml(params = {}, options = {})
861
+ req = build_request(:assume_role_with_saml, params)
862
+ req.send_request(options)
863
+ end
864
+
865
+ # Returns a set of temporary security credentials for users who have
866
+ # been authenticated in a mobile or web application with a web identity
867
+ # provider. Example providers include Amazon Cognito, Login with Amazon,
868
+ # Facebook, Google, or any OpenID Connect-compatible identity provider.
869
+ #
870
+ # <note markdown="1"> For mobile applications, we recommend that you use Amazon Cognito. You
871
+ # can use Amazon Cognito with the [AWS SDK for iOS Developer Guide][1]
872
+ # and the [AWS SDK for Android Developer Guide][2] to uniquely identify
873
+ # a user. You can also supply the user with a consistent identity
874
+ # throughout the lifetime of an application.
875
+ #
876
+ # To learn more about Amazon Cognito, see [Amazon Cognito Overview][3]
877
+ # in *AWS SDK for Android Developer Guide* and [Amazon Cognito
878
+ # Overview][4] in the *AWS SDK for iOS Developer Guide*.
879
+ #
880
+ # </note>
881
+ #
882
+ # Calling `AssumeRoleWithWebIdentity` does not require the use of AWS
883
+ # security credentials. Therefore, you can distribute an application
884
+ # (for example, on mobile devices) that requests temporary security
885
+ # credentials without including long-term AWS credentials in the
886
+ # application. You also don't need to deploy server-based proxy
887
+ # services that use long-term AWS credentials. Instead, the identity of
888
+ # the caller is validated by using a token from the web identity
889
+ # provider. For a comparison of `AssumeRoleWithWebIdentity` with the
890
+ # other API operations that produce temporary credentials, see
891
+ # [Requesting Temporary Security Credentials][5] and [Comparing the AWS
892
+ # STS API operations][6] in the *IAM User Guide*.
893
+ #
894
+ # The temporary security credentials returned by this API consist of an
895
+ # access key ID, a secret access key, and a security token. Applications
896
+ # can use these temporary security credentials to sign calls to AWS
897
+ # service API operations.
898
+ #
899
+ # By default, the temporary security credentials created by
900
+ # `AssumeRoleWithWebIdentity` last for one hour. However, you can use
901
+ # the optional `DurationSeconds` parameter to specify the duration of
902
+ # your session. You can provide a value from 900 seconds (15 minutes) up
903
+ # to the maximum session duration setting for the role. This setting can
904
+ # have a value from 1 hour to 12 hours. To learn how to view the maximum
905
+ # value for your role, see [View the Maximum Session Duration Setting
906
+ # for a Role][7] in the *IAM User Guide*. The maximum session duration
907
+ # limit applies when you use the `AssumeRole*` API operations or the
908
+ # `assume-role*` CLI commands. However the limit does not apply when you
909
+ # use those operations to create a console URL. For more information,
910
+ # see [Using IAM Roles][8] in the *IAM User Guide*.
911
+ #
912
+ # The temporary security credentials created by
913
+ # `AssumeRoleWithWebIdentity` can be used to make API calls to any AWS
914
+ # service with the following exception: you cannot call the STS
915
+ # `GetFederationToken` or `GetSessionToken` API operations.
916
+ #
917
+ # (Optional) You can pass inline or managed [session policies][9] to
918
+ # this operation. You can pass a single JSON policy document to use as
919
+ # an inline session policy. You can also specify up to 10 managed
920
+ # policies to use as managed session policies. The plain text that you
921
+ # use for both inline and managed session policies shouldn't exceed
922
+ # 2048 characters. Passing policies to this operation returns new
923
+ # temporary credentials. The resulting session's permissions are the
924
+ # intersection of the role's identity-based policy and the session
925
+ # policies. You can use the role's temporary credentials in subsequent
926
+ # AWS API calls to access resources in the account that owns the role.
927
+ # You cannot use session policies to grant more permissions than those
928
+ # allowed by the identity-based policy of the role that is being
929
+ # assumed. For more information, see [Session Policies][9] in the *IAM
930
+ # User Guide*.
931
+ #
932
+ # Before your application can call `AssumeRoleWithWebIdentity`, you must
933
+ # have an identity token from a supported identity provider and create a
934
+ # role that the application can assume. The role that your application
935
+ # assumes must trust the identity provider that is associated with the
936
+ # identity token. In other words, the identity provider must be
937
+ # specified in the role's trust policy.
938
+ #
939
+ # Calling `AssumeRoleWithWebIdentity` can result in an entry in your AWS
940
+ # CloudTrail logs. The entry includes the [Subject][10] of the provided
941
+ # Web Identity Token. We recommend that you avoid using any personally
942
+ # identifiable information (PII) in this field. For example, you could
943
+ # instead use a GUID or a pairwise identifier, as [suggested in the OIDC
944
+ # specification][11].
945
+ #
946
+ # For more information about how to use web identity federation and the
947
+ # `AssumeRoleWithWebIdentity` API, see the following resources:
948
+ #
949
+ # * [Using Web Identity Federation API Operations for Mobile Apps][12]
950
+ # and [Federation Through a Web-based Identity Provider][13].
951
+ #
952
+ # * [ Web Identity Federation Playground][14]. Walk through the process
953
+ # of authenticating through Login with Amazon, Facebook, or Google,
954
+ # getting temporary security credentials, and then using those
955
+ # credentials to make a request to AWS.
956
+ #
957
+ # * [AWS SDK for iOS Developer Guide][1] and [AWS SDK for Android
958
+ # Developer Guide][2]. These toolkits contain sample apps that show
959
+ # how to invoke the identity providers, and then how to use the
960
+ # information from these providers to get and use temporary security
961
+ # credentials.
962
+ #
963
+ # * [Web Identity Federation with Mobile Applications][15]. This article
964
+ # discusses web identity federation and shows an example of how to use
965
+ # web identity federation to get access to content in Amazon S3.
966
+ #
967
+ #
968
+ #
969
+ # [1]: http://aws.amazon.com/sdkforios/
970
+ # [2]: http://aws.amazon.com/sdkforandroid/
971
+ # [3]: https://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840
972
+ # [4]: https://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664
973
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
974
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
975
+ # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
976
+ # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
977
+ # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
978
+ # [10]: http://openid.net/specs/openid-connect-core-1_0.html#Claims
979
+ # [11]: http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes
980
+ # [12]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html
981
+ # [13]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
982
+ # [14]: https://web-identity-federation-playground.s3.amazonaws.com/index.html
983
+ # [15]: http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications
984
+ #
985
+ # @option params [required, String] :role_arn
986
+ # The Amazon Resource Name (ARN) of the role that the caller is
987
+ # assuming.
988
+ #
989
+ # @option params [required, String] :role_session_name
990
+ # An identifier for the assumed role session. Typically, you pass the
991
+ # name or identifier that is associated with the user who is using your
992
+ # application. That way, the temporary security credentials that your
993
+ # application will use are associated with that user. This session name
994
+ # is included as part of the ARN and assumed role ID in the
995
+ # `AssumedRoleUser` response element.
996
+ #
997
+ # The regex used to validate this parameter is a string of characters
998
+ # consisting of upper- and lower-case alphanumeric characters with no
999
+ # spaces. You can also include underscores or any of the following
1000
+ # characters: =,.@-
1001
+ #
1002
+ # @option params [required, String] :web_identity_token
1003
+ # The OAuth 2.0 access token or OpenID Connect ID token that is provided
1004
+ # by the identity provider. Your application must get this token by
1005
+ # authenticating the user who is using your application with a web
1006
+ # identity provider before the application makes an
1007
+ # `AssumeRoleWithWebIdentity` call.
1008
+ #
1009
+ # @option params [String] :provider_id
1010
+ # The fully qualified host component of the domain name of the identity
1011
+ # provider.
1012
+ #
1013
+ # Specify this value only for OAuth 2.0 access tokens. Currently
1014
+ # `www.amazon.com` and `graph.facebook.com` are the only supported
1015
+ # identity providers for OAuth 2.0 access tokens. Do not include URL
1016
+ # schemes and port numbers.
1017
+ #
1018
+ # Do not specify this value for OpenID Connect ID tokens.
1019
+ #
1020
+ # @option params [Array<Types::PolicyDescriptorType>] :policy_arns
1021
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that you
1022
+ # want to use as managed session policies. The policies must exist in
1023
+ # the same account as the role.
1024
+ #
1025
+ # This parameter is optional. You can provide up to 10 managed policy
1026
+ # ARNs. However, the plain text that you use for both inline and managed
1027
+ # session policies shouldn't exceed 2048 characters. For more
1028
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
1029
+ # Service Namespaces][1] in the AWS General Reference.
1030
+ #
1031
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
1032
+ # session policy guideline. However, an AWS conversion compresses the
1033
+ # session policies into a packed binary format that has a separate
1034
+ # limit. This is the enforced limit. The `PackedPolicySize` response
1035
+ # element indicates by percentage how close the policy is to the upper
1036
+ # size limit.
1037
+ #
1038
+ # </note>
1039
+ #
1040
+ # Passing policies to this operation returns new temporary credentials.
1041
+ # The resulting session's permissions are the intersection of the
1042
+ # role's identity-based policy and the session policies. You can use
1043
+ # the role's temporary credentials in subsequent AWS API calls to
1044
+ # access resources in the account that owns the role. You cannot use
1045
+ # session policies to grant more permissions than those allowed by the
1046
+ # identity-based policy of the role that is being assumed. For more
1047
+ # information, see [Session Policies][2] in the *IAM User Guide*.
1048
+ #
1049
+ #
1050
+ #
1051
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1052
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1053
+ #
1054
+ # @option params [String] :policy
1055
+ # An IAM policy in JSON format that you want to use as an inline session
1056
+ # policy.
1057
+ #
1058
+ # This parameter is optional. Passing policies to this operation returns
1059
+ # new temporary credentials. The resulting session's permissions are
1060
+ # the intersection of the role's identity-based policy and the session
1061
+ # policies. You can use the role's temporary credentials in subsequent
1062
+ # AWS API calls to access resources in the account that owns the role.
1063
+ # You cannot use session policies to grant more permissions than those
1064
+ # allowed by the identity-based policy of the role that is being
1065
+ # assumed. For more information, see [Session Policies][1] in the *IAM
1066
+ # User Guide*.
1067
+ #
1068
+ # The plain text that you use for both inline and managed session
1069
+ # policies shouldn't exceed 2048 characters. The JSON policy characters
1070
+ # can be any ASCII character from the space character to the end of the
1071
+ # valid character list (\\u0020 through \\u00FF). It can also include
1072
+ # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1073
+ # characters.
1074
+ #
1075
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
1076
+ # session policy guideline. However, an AWS conversion compresses the
1077
+ # session policies into a packed binary format that has a separate
1078
+ # limit. This is the enforced limit. The `PackedPolicySize` response
1079
+ # element indicates by percentage how close the policy is to the upper
1080
+ # size limit.
1081
+ #
1082
+ # </note>
1083
+ #
1084
+ #
1085
+ #
1086
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1087
+ #
1088
+ # @option params [Integer] :duration_seconds
1089
+ # The duration, in seconds, of the role session. The value can range
1090
+ # from 900 seconds (15 minutes) up to the maximum session duration
1091
+ # setting for the role. This setting can have a value from 1 hour to 12
1092
+ # hours. If you specify a value higher than this setting, the operation
1093
+ # fails. For example, if you specify a session duration of 12 hours, but
1094
+ # your administrator set the maximum session duration to 6 hours, your
1095
+ # operation fails. To learn how to view the maximum value for your role,
1096
+ # see [View the Maximum Session Duration Setting for a Role][1] in the
1097
+ # *IAM User Guide*.
1098
+ #
1099
+ # By default, the value is set to `3600` seconds.
1100
+ #
1101
+ # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
1102
+ # console session that you might request using the returned credentials.
1103
+ # The request to the federation endpoint for a console sign-in token
1104
+ # takes a `SessionDuration` parameter that specifies the maximum length
1105
+ # of the console session. For more information, see [Creating a URL that
1106
+ # Enables Federated Users to Access the AWS Management Console][2] in
1107
+ # the *IAM User Guide*.
1108
+ #
1109
+ # </note>
1110
+ #
1111
+ #
1112
+ #
1113
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
1114
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
1115
+ #
1116
+ # @return [Types::AssumeRoleWithWebIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1117
+ #
1118
+ # * {Types::AssumeRoleWithWebIdentityResponse#credentials #credentials} => Types::Credentials
1119
+ # * {Types::AssumeRoleWithWebIdentityResponse#subject_from_web_identity_token #subject_from_web_identity_token} => String
1120
+ # * {Types::AssumeRoleWithWebIdentityResponse#assumed_role_user #assumed_role_user} => Types::AssumedRoleUser
1121
+ # * {Types::AssumeRoleWithWebIdentityResponse#packed_policy_size #packed_policy_size} => Integer
1122
+ # * {Types::AssumeRoleWithWebIdentityResponse#provider #provider} => String
1123
+ # * {Types::AssumeRoleWithWebIdentityResponse#audience #audience} => String
1124
+ #
1125
+ #
1126
+ # @example Example: To assume a role as an OpenID Connect-federated user
1127
+ #
1128
+ # resp = client.assume_role_with_web_identity({
1129
+ # duration_seconds: 3600,
1130
+ # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}",
1131
+ # provider_id: "www.amazon.com",
1132
+ # role_arn: "arn:aws:iam::123456789012:role/FederatedWebIdentityRole",
1133
+ # role_session_name: "app1",
1134
+ # web_identity_token: "Atza%7CIQEBLjAsAhRFiXuWpUXuRvQ9PZL3GMFcYevydwIUFAHZwXZXXXXXXXXJnrulxKDHwy87oGKPznh0D6bEQZTSCzyoCtL_8S07pLpr0zMbn6w1lfVZKNTBdDansFBmtGnIsIapjI6xKR02Yc_2bQ8LZbUXSGm6Ry6_BG7PrtLZtj_dfCTj92xNGed-CrKqjG7nPBjNIL016GGvuS5gSvPRUxWES3VYfm1wl7WTI7jn-Pcb6M-buCgHhFOzTQxod27L9CqnOLio7N3gZAGpsp6n1-AJBOCJckcyXe2c6uD0srOJeZlKUm2eTDVMf8IehDVI0r1QOnTV6KzzAI3OY87Vd_cVMQ",
1135
+ # })
1136
+ #
1137
+ # resp.to_h outputs the following:
1138
+ # {
1139
+ # assumed_role_user: {
1140
+ # arn: "arn:aws:sts::123456789012:assumed-role/FederatedWebIdentityRole/app1",
1141
+ # assumed_role_id: "AROACLKWSDQRAOEXAMPLE:app1",
1142
+ # },
1143
+ # audience: "client.5498841531868486423.1548@apps.example.com",
1144
+ # credentials: {
1145
+ # access_key_id: "AKIAIOSFODNN7EXAMPLE",
1146
+ # expiration: Time.parse("2014-10-24T23:00:23Z"),
1147
+ # secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
1148
+ # session_token: "AQoDYXdzEE0a8ANXXXXXXXXNO1ewxE5TijQyp+IEXAMPLE",
1149
+ # },
1150
+ # packed_policy_size: 123,
1151
+ # provider: "www.amazon.com",
1152
+ # subject_from_web_identity_token: "amzn1.account.AF6RHO7KZU5XRVQJGXK6HEXAMPLE",
1153
+ # }
1154
+ #
1155
+ # @example Request syntax with placeholder values
1156
+ #
1157
+ # resp = client.assume_role_with_web_identity({
1158
+ # role_arn: "arnType", # required
1159
+ # role_session_name: "roleSessionNameType", # required
1160
+ # web_identity_token: "clientTokenType", # required
1161
+ # provider_id: "urlType",
1162
+ # policy_arns: [
1163
+ # {
1164
+ # arn: "arnType",
1165
+ # },
1166
+ # ],
1167
+ # policy: "sessionPolicyDocumentType",
1168
+ # duration_seconds: 1,
1169
+ # })
1170
+ #
1171
+ # @example Response structure
1172
+ #
1173
+ # resp.credentials.access_key_id #=> String
1174
+ # resp.credentials.secret_access_key #=> String
1175
+ # resp.credentials.session_token #=> String
1176
+ # resp.credentials.expiration #=> Time
1177
+ # resp.subject_from_web_identity_token #=> String
1178
+ # resp.assumed_role_user.assumed_role_id #=> String
1179
+ # resp.assumed_role_user.arn #=> String
1180
+ # resp.packed_policy_size #=> Integer
1181
+ # resp.provider #=> String
1182
+ # resp.audience #=> String
1183
+ #
1184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity AWS API Documentation
1185
+ #
1186
+ # @overload assume_role_with_web_identity(params = {})
1187
+ # @param [Hash] params ({})
1188
+ def assume_role_with_web_identity(params = {}, options = {})
1189
+ req = build_request(:assume_role_with_web_identity, params)
1190
+ req.send_request(options)
1191
+ end
1192
+
1193
+ # Decodes additional information about the authorization status of a
1194
+ # request from an encoded message returned in response to an AWS
1195
+ # request.
1196
+ #
1197
+ # For example, if a user is not authorized to perform an operation that
1198
+ # he or she has requested, the request returns a
1199
+ # `Client.UnauthorizedOperation` response (an HTTP 403 response). Some
1200
+ # AWS operations additionally return an encoded message that can provide
1201
+ # details about this authorization failure.
1202
+ #
1203
+ # <note markdown="1"> Only certain AWS operations return an encoded authorization message.
1204
+ # The documentation for an individual operation indicates whether that
1205
+ # operation returns an encoded message in addition to returning an HTTP
1206
+ # code.
1207
+ #
1208
+ # </note>
1209
+ #
1210
+ # The message is encoded because the details of the authorization status
1211
+ # can constitute privileged information that the user who requested the
1212
+ # operation should not see. To decode an authorization status message, a
1213
+ # user must be granted permissions via an IAM policy to request the
1214
+ # `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
1215
+ # action.
1216
+ #
1217
+ # The decoded message includes the following type of information:
1218
+ #
1219
+ # * Whether the request was denied due to an explicit deny or due to the
1220
+ # absence of an explicit allow. For more information, see [Determining
1221
+ # Whether a Request is Allowed or Denied][1] in the *IAM User Guide*.
1222
+ #
1223
+ # * The principal who made the request.
1224
+ #
1225
+ # * The requested action.
1226
+ #
1227
+ # * The requested resource.
1228
+ #
1229
+ # * The values of condition keys in the context of the user's request.
1230
+ #
1231
+ #
1232
+ #
1233
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
1234
+ #
1235
+ # @option params [required, String] :encoded_message
1236
+ # The encoded message that was returned with the response.
1237
+ #
1238
+ # @return [Types::DecodeAuthorizationMessageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1239
+ #
1240
+ # * {Types::DecodeAuthorizationMessageResponse#decoded_message #decoded_message} => String
1241
+ #
1242
+ #
1243
+ # @example Example: To decode information about an authorization status of a request
1244
+ #
1245
+ # resp = client.decode_authorization_message({
1246
+ # encoded_message: "<encoded-message>",
1247
+ # })
1248
+ #
1249
+ # resp.to_h outputs the following:
1250
+ # {
1251
+ # decoded_message: "{\"allowed\": \"false\",\"explicitDeny\": \"false\",\"matchedStatements\": \"\",\"failures\": \"\",\"context\": {\"principal\": {\"id\": \"AIDACKCEVSQ6C2EXAMPLE\",\"name\": \"Bob\",\"arn\": \"arn:aws:iam::123456789012:user/Bob\"},\"action\": \"ec2:StopInstances\",\"resource\": \"arn:aws:ec2:us-east-1:123456789012:instance/i-dd01c9bd\",\"conditions\": [{\"item\": {\"key\": \"ec2:Tenancy\",\"values\": [\"default\"]},{\"item\": {\"key\": \"ec2:ResourceTag/elasticbeanstalk:environment-name\",\"values\": [\"Default-Environment\"]}},(Additional items ...)]}}",
1252
+ # }
1253
+ #
1254
+ # @example Request syntax with placeholder values
1255
+ #
1256
+ # resp = client.decode_authorization_message({
1257
+ # encoded_message: "encodedMessageType", # required
1258
+ # })
1259
+ #
1260
+ # @example Response structure
1261
+ #
1262
+ # resp.decoded_message #=> String
1263
+ #
1264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage AWS API Documentation
1265
+ #
1266
+ # @overload decode_authorization_message(params = {})
1267
+ # @param [Hash] params ({})
1268
+ def decode_authorization_message(params = {}, options = {})
1269
+ req = build_request(:decode_authorization_message, params)
1270
+ req.send_request(options)
1271
+ end
1272
+
1273
+ # Returns the account identifier for the specified access key ID.
1274
+ #
1275
+ # Access keys consist of two parts: an access key ID (for example,
1276
+ # `AKIAIOSFODNN7EXAMPLE`) and a secret access key (for example,
1277
+ # `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`). For more information
1278
+ # about access keys, see [Managing Access Keys for IAM Users][1] in the
1279
+ # *IAM User Guide*.
1280
+ #
1281
+ # When you pass an access key ID to this operation, it returns the ID of
1282
+ # the AWS account to which the keys belong. Access key IDs beginning
1283
+ # with `AKIA` are long-term credentials for an IAM user or the AWS
1284
+ # account root user. Access key IDs beginning with `ASIA` are temporary
1285
+ # credentials that are created using STS operations. If the account in
1286
+ # the response belongs to you, you can sign in as the root user and
1287
+ # review your root user access keys. Then, you can pull a [credentials
1288
+ # report][2] to learn which IAM user owns the keys. To learn who
1289
+ # requested the temporary credentials for an `ASIA` access key, view the
1290
+ # STS events in your [CloudTrail logs][3].
1291
+ #
1292
+ # This operation does not indicate the state of the access key. The key
1293
+ # might be active, inactive, or deleted. Active keys might not have
1294
+ # permissions to perform an operation. Providing a deleted access key
1295
+ # might return an error that the key doesn't exist.
1296
+ #
1297
+ #
1298
+ #
1299
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
1300
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html
1301
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html
1302
+ #
1303
+ # @option params [required, String] :access_key_id
1304
+ # The identifier of an access key.
1305
+ #
1306
+ # This parameter allows (through its regex pattern) a string of
1307
+ # characters that can consist of any upper- or lowercased letter or
1308
+ # digit.
1309
+ #
1310
+ # @return [Types::GetAccessKeyInfoResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1311
+ #
1312
+ # * {Types::GetAccessKeyInfoResponse#account #account} => String
1313
+ #
1314
+ # @example Request syntax with placeholder values
1315
+ #
1316
+ # resp = client.get_access_key_info({
1317
+ # access_key_id: "accessKeyIdType", # required
1318
+ # })
1319
+ #
1320
+ # @example Response structure
1321
+ #
1322
+ # resp.account #=> String
1323
+ #
1324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetAccessKeyInfo AWS API Documentation
1325
+ #
1326
+ # @overload get_access_key_info(params = {})
1327
+ # @param [Hash] params ({})
1328
+ def get_access_key_info(params = {}, options = {})
1329
+ req = build_request(:get_access_key_info, params)
1330
+ req.send_request(options)
1331
+ end
1332
+
1333
+ # Returns details about the IAM user or role whose credentials are used
1334
+ # to call the operation.
1335
+ #
1336
+ # <note markdown="1"> No permissions are required to perform this operation. If an
1337
+ # administrator adds a policy to your IAM user or role that explicitly
1338
+ # denies access to the `sts:GetCallerIdentity` action, you can still
1339
+ # perform this operation. Permissions are not required because the same
1340
+ # information is returned when an IAM user or role is denied access. To
1341
+ # view an example response, see [I Am Not Authorized to Perform:
1342
+ # iam:DeleteVirtualMFADevice][1].
1343
+ #
1344
+ # </note>
1345
+ #
1346
+ #
1347
+ #
1348
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_access-denied-delete-mfa
1349
+ #
1350
+ # @return [Types::GetCallerIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1351
+ #
1352
+ # * {Types::GetCallerIdentityResponse#user_id #user_id} => String
1353
+ # * {Types::GetCallerIdentityResponse#account #account} => String
1354
+ # * {Types::GetCallerIdentityResponse#arn #arn} => String
1355
+ #
1356
+ #
1357
+ # @example Example: To get details about a calling IAM user
1358
+ #
1359
+ # # This example shows a request and response made with the credentials for a user named Alice in the AWS account
1360
+ # # 123456789012.
1361
+ #
1362
+ # resp = client.get_caller_identity({
1363
+ # })
1364
+ #
1365
+ # resp.to_h outputs the following:
1366
+ # {
1367
+ # account: "123456789012",
1368
+ # arn: "arn:aws:iam::123456789012:user/Alice",
1369
+ # user_id: "AKIAI44QH8DHBEXAMPLE",
1370
+ # }
1371
+ #
1372
+ # @example Example: To get details about a calling user federated with AssumeRole
1373
+ #
1374
+ # # This example shows a request and response made with temporary credentials created by AssumeRole. The name of the assumed
1375
+ # # role is my-role-name, and the RoleSessionName is set to my-role-session-name.
1376
+ #
1377
+ # resp = client.get_caller_identity({
1378
+ # })
1379
+ #
1380
+ # resp.to_h outputs the following:
1381
+ # {
1382
+ # account: "123456789012",
1383
+ # arn: "arn:aws:sts::123456789012:assumed-role/my-role-name/my-role-session-name",
1384
+ # user_id: "AKIAI44QH8DHBEXAMPLE:my-role-session-name",
1385
+ # }
1386
+ #
1387
+ # @example Example: To get details about a calling user federated with GetFederationToken
1388
+ #
1389
+ # # This example shows a request and response made with temporary credentials created by using GetFederationToken. The Name
1390
+ # # parameter is set to my-federated-user-name.
1391
+ #
1392
+ # resp = client.get_caller_identity({
1393
+ # })
1394
+ #
1395
+ # resp.to_h outputs the following:
1396
+ # {
1397
+ # account: "123456789012",
1398
+ # arn: "arn:aws:sts::123456789012:federated-user/my-federated-user-name",
1399
+ # user_id: "123456789012:my-federated-user-name",
1400
+ # }
1401
+ #
1402
+ # @example Response structure
1403
+ #
1404
+ # resp.user_id #=> String
1405
+ # resp.account #=> String
1406
+ # resp.arn #=> String
1407
+ #
1408
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity AWS API Documentation
1409
+ #
1410
+ # @overload get_caller_identity(params = {})
1411
+ # @param [Hash] params ({})
1412
+ def get_caller_identity(params = {}, options = {})
1413
+ req = build_request(:get_caller_identity, params)
1414
+ req.send_request(options)
1415
+ end
1416
+
1417
+ # Returns a set of temporary security credentials (consisting of an
1418
+ # access key ID, a secret access key, and a security token) for a
1419
+ # federated user. A typical use is in a proxy application that gets
1420
+ # temporary security credentials on behalf of distributed applications
1421
+ # inside a corporate network. You must call the `GetFederationToken`
1422
+ # operation using the long-term security credentials of an IAM user. As
1423
+ # a result, this call is appropriate in contexts where those credentials
1424
+ # can be safely stored, usually in a server-based application. For a
1425
+ # comparison of `GetFederationToken` with the other API operations that
1426
+ # produce temporary credentials, see [Requesting Temporary Security
1427
+ # Credentials][1] and [Comparing the AWS STS API operations][2] in the
1428
+ # *IAM User Guide*.
1429
+ #
1430
+ # <note markdown="1"> You can create a mobile-based or browser-based app that can
1431
+ # authenticate users using a web identity provider like Login with
1432
+ # Amazon, Facebook, Google, or an OpenID Connect-compatible identity
1433
+ # provider. In this case, we recommend that you use [Amazon Cognito][3]
1434
+ # or `AssumeRoleWithWebIdentity`. For more information, see [Federation
1435
+ # Through a Web-based Identity Provider][4].
1436
+ #
1437
+ # </note>
1438
+ #
1439
+ # You can also call `GetFederationToken` using the security credentials
1440
+ # of an AWS account root user, but we do not recommend it. Instead, we
1441
+ # recommend that you create an IAM user for the purpose of the proxy
1442
+ # application. Then attach a policy to the IAM user that limits
1443
+ # federated users to only the actions and resources that they need to
1444
+ # access. For more information, see [IAM Best Practices][5] in the *IAM
1445
+ # User Guide*.
1446
+ #
1447
+ # The temporary credentials are valid for the specified duration, from
1448
+ # 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
1449
+ # hours). The default is 43,200 seconds (12 hours). Temporary
1450
+ # credentials that are obtained by using AWS account root user
1451
+ # credentials have a maximum duration of 3,600 seconds (1 hour).
1452
+ #
1453
+ # The temporary security credentials created by `GetFederationToken` can
1454
+ # be used to make API calls to any AWS service with the following
1455
+ # exceptions:
1456
+ #
1457
+ # * You cannot use these credentials to call any IAM API operations.
1458
+ #
1459
+ # * You cannot call any STS API operations except `GetCallerIdentity`.
1460
+ #
1461
+ # **Permissions**
1462
+ #
1463
+ # You must pass an inline or managed [session policy][6] to this
1464
+ # operation. You can pass a single JSON policy document to use as an
1465
+ # inline session policy. You can also specify up to 10 managed policies
1466
+ # to use as managed session policies. The plain text that you use for
1467
+ # both inline and managed session policies shouldn't exceed 2048
1468
+ # characters.
1469
+ #
1470
+ # Though the session policy parameters are optional, if you do not pass
1471
+ # a policy, then the resulting federated user session has no
1472
+ # permissions. The only exception is when the credentials are used to
1473
+ # access a resource that has a resource-based policy that specifically
1474
+ # references the federated user session in the `Principal` element of
1475
+ # the policy. When you pass session policies, the session permissions
1476
+ # are the intersection of the IAM user policies and the session policies
1477
+ # that you pass. This gives you a way to further restrict the
1478
+ # permissions for a federated user. You cannot use session policies to
1479
+ # grant more permissions than those that are defined in the permissions
1480
+ # policy of the IAM user. For more information, see [Session
1481
+ # Policies][6] in the *IAM User Guide*. For information about using
1482
+ # `GetFederationToken` to create temporary security credentials, see
1483
+ # [GetFederationToken—Federation Through a Custom Identity Broker][7].
1484
+ #
1485
+ #
1486
+ #
1487
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1488
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1489
+ # [3]: http://aws.amazon.com/cognito/
1490
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
1491
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
1492
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1493
+ # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken
1494
+ #
1495
+ # @option params [required, String] :name
1496
+ # The name of the federated user. The name is used as an identifier for
1497
+ # the temporary security credentials (such as `Bob`). For example, you
1498
+ # can reference the federated user name in a resource-based policy, such
1499
+ # as in an Amazon S3 bucket policy.
1500
+ #
1501
+ # The regex used to validate this parameter is a string of characters
1502
+ # consisting of upper- and lower-case alphanumeric characters with no
1503
+ # spaces. You can also include underscores or any of the following
1504
+ # characters: =,.@-
1505
+ #
1506
+ # @option params [String] :policy
1507
+ # An IAM policy in JSON format that you want to use as an inline session
1508
+ # policy.
1509
+ #
1510
+ # You must pass an inline or managed [session policy][1] to this
1511
+ # operation. You can pass a single JSON policy document to use as an
1512
+ # inline session policy. You can also specify up to 10 managed policies
1513
+ # to use as managed session policies.
1514
+ #
1515
+ # This parameter is optional. However, if you do not pass any session
1516
+ # policies, then the resulting federated user session has no
1517
+ # permissions. The only exception is when the credentials are used to
1518
+ # access a resource that has a resource-based policy that specifically
1519
+ # references the federated user session in the `Principal` element of
1520
+ # the policy.
1521
+ #
1522
+ # When you pass session policies, the session permissions are the
1523
+ # intersection of the IAM user policies and the session policies that
1524
+ # you pass. This gives you a way to further restrict the permissions for
1525
+ # a federated user. You cannot use session policies to grant more
1526
+ # permissions than those that are defined in the permissions policy of
1527
+ # the IAM user. For more information, see [Session Policies][1] in the
1528
+ # *IAM User Guide*.
1529
+ #
1530
+ # The plain text that you use for both inline and managed session
1531
+ # policies shouldn't exceed 2048 characters. The JSON policy characters
1532
+ # can be any ASCII character from the space character to the end of the
1533
+ # valid character list (\\u0020 through \\u00FF). It can also include
1534
+ # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1535
+ # characters.
1536
+ #
1537
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
1538
+ # session policy guideline. However, an AWS conversion compresses the
1539
+ # session policies into a packed binary format that has a separate
1540
+ # limit. This is the enforced limit. The `PackedPolicySize` response
1541
+ # element indicates by percentage how close the policy is to the upper
1542
+ # size limit.
1543
+ #
1544
+ # </note>
1545
+ #
1546
+ #
1547
+ #
1548
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1549
+ #
1550
+ # @option params [Array<Types::PolicyDescriptorType>] :policy_arns
1551
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that you
1552
+ # want to use as a managed session policy. The policies must exist in
1553
+ # the same account as the IAM user that is requesting federated access.
1554
+ #
1555
+ # You must pass an inline or managed [session policy][1] to this
1556
+ # operation. You can pass a single JSON policy document to use as an
1557
+ # inline session policy. You can also specify up to 10 managed policies
1558
+ # to use as managed session policies. The plain text that you use for
1559
+ # both inline and managed session policies shouldn't exceed 2048
1560
+ # characters. You can provide up to 10 managed policy ARNs. For more
1561
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
1562
+ # Service Namespaces][2] in the AWS General Reference.
1563
+ #
1564
+ # This parameter is optional. However, if you do not pass any session
1565
+ # policies, then the resulting federated user session has no
1566
+ # permissions. The only exception is when the credentials are used to
1567
+ # access a resource that has a resource-based policy that specifically
1568
+ # references the federated user session in the `Principal` element of
1569
+ # the policy.
1570
+ #
1571
+ # When you pass session policies, the session permissions are the
1572
+ # intersection of the IAM user policies and the session policies that
1573
+ # you pass. This gives you a way to further restrict the permissions for
1574
+ # a federated user. You cannot use session policies to grant more
1575
+ # permissions than those that are defined in the permissions policy of
1576
+ # the IAM user. For more information, see [Session Policies][1] in the
1577
+ # *IAM User Guide*.
1578
+ #
1579
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
1580
+ # session policy guideline. However, an AWS conversion compresses the
1581
+ # session policies into a packed binary format that has a separate
1582
+ # limit. This is the enforced limit. The `PackedPolicySize` response
1583
+ # element indicates by percentage how close the policy is to the upper
1584
+ # size limit.
1585
+ #
1586
+ # </note>
1587
+ #
1588
+ #
1589
+ #
1590
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1591
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1592
+ #
1593
+ # @option params [Integer] :duration_seconds
1594
+ # The duration, in seconds, that the session should last. Acceptable
1595
+ # durations for federation sessions range from 900 seconds (15 minutes)
1596
+ # to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the
1597
+ # default. Sessions obtained using AWS account root user credentials are
1598
+ # restricted to a maximum of 3,600 seconds (one hour). If the specified
1599
+ # duration is longer than one hour, the session obtained by using root
1600
+ # user credentials defaults to one hour.
1601
+ #
1602
+ # @return [Types::GetFederationTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1603
+ #
1604
+ # * {Types::GetFederationTokenResponse#credentials #credentials} => Types::Credentials
1605
+ # * {Types::GetFederationTokenResponse#federated_user #federated_user} => Types::FederatedUser
1606
+ # * {Types::GetFederationTokenResponse#packed_policy_size #packed_policy_size} => Integer
1607
+ #
1608
+ #
1609
+ # @example Example: To get temporary credentials for a role by using GetFederationToken
1610
+ #
1611
+ # resp = client.get_federation_token({
1612
+ # duration_seconds: 3600,
1613
+ # name: "Bob",
1614
+ # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}",
1615
+ # })
1616
+ #
1617
+ # resp.to_h outputs the following:
1618
+ # {
1619
+ # credentials: {
1620
+ # access_key_id: "AKIAIOSFODNN7EXAMPLE",
1621
+ # expiration: Time.parse("2011-07-15T23:28:33.359Z"),
1622
+ # secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
1623
+ # session_token: "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==",
1624
+ # },
1625
+ # federated_user: {
1626
+ # arn: "arn:aws:sts::123456789012:federated-user/Bob",
1627
+ # federated_user_id: "123456789012:Bob",
1628
+ # },
1629
+ # packed_policy_size: 6,
1630
+ # }
1631
+ #
1632
+ # @example Request syntax with placeholder values
1633
+ #
1634
+ # resp = client.get_federation_token({
1635
+ # name: "userNameType", # required
1636
+ # policy: "sessionPolicyDocumentType",
1637
+ # policy_arns: [
1638
+ # {
1639
+ # arn: "arnType",
1640
+ # },
1641
+ # ],
1642
+ # duration_seconds: 1,
1643
+ # })
1644
+ #
1645
+ # @example Response structure
1646
+ #
1647
+ # resp.credentials.access_key_id #=> String
1648
+ # resp.credentials.secret_access_key #=> String
1649
+ # resp.credentials.session_token #=> String
1650
+ # resp.credentials.expiration #=> Time
1651
+ # resp.federated_user.federated_user_id #=> String
1652
+ # resp.federated_user.arn #=> String
1653
+ # resp.packed_policy_size #=> Integer
1654
+ #
1655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken AWS API Documentation
1656
+ #
1657
+ # @overload get_federation_token(params = {})
1658
+ # @param [Hash] params ({})
1659
+ def get_federation_token(params = {}, options = {})
1660
+ req = build_request(:get_federation_token, params)
1661
+ req.send_request(options)
1662
+ end
1663
+
1664
+ # Returns a set of temporary credentials for an AWS account or IAM user.
1665
+ # The credentials consist of an access key ID, a secret access key, and
1666
+ # a security token. Typically, you use `GetSessionToken` if you want to
1667
+ # use MFA to protect programmatic calls to specific AWS API operations
1668
+ # like Amazon EC2 `StopInstances`. MFA-enabled IAM users would need to
1669
+ # call `GetSessionToken` and submit an MFA code that is associated with
1670
+ # their MFA device. Using the temporary security credentials that are
1671
+ # returned from the call, IAM users can then make programmatic calls to
1672
+ # API operations that require MFA authentication. If you do not supply a
1673
+ # correct MFA code, then the API returns an access denied error. For a
1674
+ # comparison of `GetSessionToken` with the other API operations that
1675
+ # produce temporary credentials, see [Requesting Temporary Security
1676
+ # Credentials][1] and [Comparing the AWS STS API operations][2] in the
1677
+ # *IAM User Guide*.
1678
+ #
1679
+ # The `GetSessionToken` operation must be called by using the long-term
1680
+ # AWS security credentials of the AWS account root user or an IAM user.
1681
+ # Credentials that are created by IAM users are valid for the duration
1682
+ # that you specify. This duration can range from 900 seconds (15
1683
+ # minutes) up to a maximum of 129,600 seconds (36 hours), with a default
1684
+ # of 43,200 seconds (12 hours). Credentials based on account credentials
1685
+ # can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour),
1686
+ # with a default of 1 hour.
1687
+ #
1688
+ # The temporary security credentials created by `GetSessionToken` can be
1689
+ # used to make API calls to any AWS service with the following
1690
+ # exceptions:
1691
+ #
1692
+ # * You cannot call any IAM API operations unless MFA authentication
1693
+ # information is included in the request.
1694
+ #
1695
+ # * You cannot call any STS API *except* `AssumeRole` or
1696
+ # `GetCallerIdentity`.
1697
+ #
1698
+ # <note markdown="1"> We recommend that you do not call `GetSessionToken` with AWS account
1699
+ # root user credentials. Instead, follow our [best practices][3] by
1700
+ # creating one or more IAM users, giving them the necessary permissions,
1701
+ # and using IAM users for everyday interaction with AWS.
1702
+ #
1703
+ # </note>
1704
+ #
1705
+ # The credentials that are returned by `GetSessionToken` are based on
1706
+ # permissions associated with the user whose credentials were used to
1707
+ # call the operation. If `GetSessionToken` is called using AWS account
1708
+ # root user credentials, the temporary credentials have root user
1709
+ # permissions. Similarly, if `GetSessionToken` is called using the
1710
+ # credentials of an IAM user, the temporary credentials have the same
1711
+ # permissions as the IAM user.
1712
+ #
1713
+ # For more information about using `GetSessionToken` to create temporary
1714
+ # credentials, go to [Temporary Credentials for Users in Untrusted
1715
+ # Environments][4] in the *IAM User Guide*.
1716
+ #
1717
+ #
1718
+ #
1719
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1720
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1721
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users
1722
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken
1723
+ #
1724
+ # @option params [Integer] :duration_seconds
1725
+ # The duration, in seconds, that the credentials should remain valid.
1726
+ # Acceptable durations for IAM user sessions range from 900 seconds (15
1727
+ # minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours)
1728
+ # as the default. Sessions for AWS account owners are restricted to a
1729
+ # maximum of 3,600 seconds (one hour). If the duration is longer than
1730
+ # one hour, the session for AWS account owners defaults to one hour.
1731
+ #
1732
+ # @option params [String] :serial_number
1733
+ # The identification number of the MFA device that is associated with
1734
+ # the IAM user who is making the `GetSessionToken` call. Specify this
1735
+ # value if the IAM user has a policy that requires MFA authentication.
1736
+ # The value is either the serial number for a hardware device (such as
1737
+ # `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual device
1738
+ # (such as `arn:aws:iam::123456789012:mfa/user`). You can find the
1739
+ # device for an IAM user by going to the AWS Management Console and
1740
+ # viewing the user's security credentials.
1741
+ #
1742
+ # The regex used to validate this parameter is a string of characters
1743
+ # consisting of upper- and lower-case alphanumeric characters with no
1744
+ # spaces. You can also include underscores or any of the following
1745
+ # characters: =,.@:/-
1746
+ #
1747
+ # @option params [String] :token_code
1748
+ # The value provided by the MFA device, if MFA is required. If any
1749
+ # policy requires the IAM user to submit an MFA code, specify this
1750
+ # value. If MFA authentication is required, the user must provide a code
1751
+ # when requesting a set of temporary security credentials. A user who
1752
+ # fails to provide the code receives an "access denied" response when
1753
+ # requesting resources that require MFA authentication.
1754
+ #
1755
+ # The format for this parameter, as described by its regex pattern, is a
1756
+ # sequence of six numeric digits.
1757
+ #
1758
+ # @return [Types::GetSessionTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1759
+ #
1760
+ # * {Types::GetSessionTokenResponse#credentials #credentials} => Types::Credentials
1761
+ #
1762
+ #
1763
+ # @example Example: To get temporary credentials for an IAM user or an AWS account
1764
+ #
1765
+ # resp = client.get_session_token({
1766
+ # duration_seconds: 3600,
1767
+ # serial_number: "YourMFASerialNumber",
1768
+ # token_code: "123456",
1769
+ # })
1770
+ #
1771
+ # resp.to_h outputs the following:
1772
+ # {
1773
+ # credentials: {
1774
+ # access_key_id: "AKIAIOSFODNN7EXAMPLE",
1775
+ # expiration: Time.parse("2011-07-11T19:55:29.611Z"),
1776
+ # secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
1777
+ # session_token: "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE",
1778
+ # },
1779
+ # }
1780
+ #
1781
+ # @example Request syntax with placeholder values
1782
+ #
1783
+ # resp = client.get_session_token({
1784
+ # duration_seconds: 1,
1785
+ # serial_number: "serialNumberType",
1786
+ # token_code: "tokenCodeType",
1787
+ # })
1788
+ #
1789
+ # @example Response structure
1790
+ #
1791
+ # resp.credentials.access_key_id #=> String
1792
+ # resp.credentials.secret_access_key #=> String
1793
+ # resp.credentials.session_token #=> String
1794
+ # resp.credentials.expiration #=> Time
1795
+ #
1796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken AWS API Documentation
1797
+ #
1798
+ # @overload get_session_token(params = {})
1799
+ # @param [Hash] params ({})
1800
+ def get_session_token(params = {}, options = {})
1801
+ req = build_request(:get_session_token, params)
1802
+ req.send_request(options)
1803
+ end
1804
+
1805
+ # @!endgroup
1806
+
1807
+ # @param params ({})
1808
+ # @api private
1809
+ def build_request(operation_name, params = {})
1810
+ handlers = @handlers.for(operation_name)
1811
+ context = Seahorse::Client::RequestContext.new(
1812
+ operation_name: operation_name,
1813
+ operation: config.api.operation(operation_name),
1814
+ client: self,
1815
+ params: params,
1816
+ config: config)
1817
+ context[:gem_name] = 'aws-sdk-core'
1818
+ context[:gem_version] = '3.72.1'
1819
+ Seahorse::Client::Request.new(handlers, context)
1820
+ end
1821
+
1822
+ # @api private
1823
+ # @deprecated
1824
+ def waiter_names
1825
+ []
1826
+ end
1827
+
1828
+ class << self
1829
+
1830
+ # @api private
1831
+ attr_reader :identifier
1832
+
1833
+ # @api private
1834
+ def errors_module
1835
+ Errors
1836
+ end
1837
+
1838
+ end
1839
+ end
1840
+ end