aws-sdk-core 2.11.361 → 3.67.0

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