aws-sdk-core 2.11.366 → 3.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1165) 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 +34 -1
  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 +1 -1
  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 +79 -24
  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 +149 -10
  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/http/async_response.rb +42 -0
  111. data/lib/seahorse/client/http/response.rb +10 -5
  112. data/lib/seahorse/client/logging/formatter.rb +2 -0
  113. data/lib/seahorse/client/logging/handler.rb +2 -0
  114. data/lib/seahorse/client/net_http/connection_pool.rb +16 -4
  115. data/lib/seahorse/client/net_http/handler.rb +5 -0
  116. data/lib/seahorse/client/net_http/patches.rb +9 -1
  117. data/lib/seahorse/client/networking_error.rb +28 -0
  118. data/lib/seahorse/client/plugin.rb +66 -6
  119. data/lib/seahorse/client/plugins/content_length.rb +7 -2
  120. data/lib/seahorse/client/plugins/endpoint.rb +14 -10
  121. data/lib/seahorse/client/plugins/h2.rb +64 -0
  122. data/lib/seahorse/client/plugins/logging.rb +17 -19
  123. data/lib/seahorse/client/plugins/net_http.rb +23 -15
  124. data/lib/seahorse/client/plugins/raise_response_errors.rb +4 -4
  125. data/lib/seahorse/client/plugins/response_target.rb +10 -1
  126. data/lib/seahorse/client/request_context.rb +5 -0
  127. data/lib/seahorse/model/api.rb +33 -0
  128. data/lib/seahorse/model/authorizer.rb +21 -0
  129. data/lib/seahorse/model/operation.rb +11 -0
  130. data/lib/seahorse/model/shapes.rb +44 -2
  131. data/lib/seahorse/util.rb +1 -22
  132. metadata +91 -1042
  133. data/apis/AWSMigrationHub/2017-05-31/api-2.json +0 -838
  134. data/apis/AWSMigrationHub/2017-05-31/examples-1.json +0 -5
  135. data/apis/AWSMigrationHub/2017-05-31/paginators-1.json +0 -4
  136. data/apis/acm-pca/2017-08-22/api-2.json +0 -1091
  137. data/apis/acm-pca/2017-08-22/examples-1.json +0 -5
  138. data/apis/acm-pca/2017-08-22/paginators-1.json +0 -22
  139. data/apis/acm-pca/2017-08-22/waiters-2.json +0 -61
  140. data/apis/acm/2015-12-08/api-2.json +0 -843
  141. data/apis/acm/2015-12-08/examples-1.json +0 -5
  142. data/apis/acm/2015-12-08/paginators-1.json +0 -10
  143. data/apis/acm/2015-12-08/smoke.json +0 -18
  144. data/apis/acm/2015-12-08/waiters-2.json +0 -35
  145. data/apis/alexaforbusiness/2017-11-09/api-2.json +0 -4003
  146. data/apis/alexaforbusiness/2017-11-09/examples-1.json +0 -5
  147. data/apis/alexaforbusiness/2017-11-09/paginators-1.json +0 -94
  148. data/apis/amplify/2017-07-25/api-2.json +0 -2160
  149. data/apis/amplify/2017-07-25/examples-1.json +0 -5
  150. data/apis/amplify/2017-07-25/paginators-1.json +0 -4
  151. data/apis/apigateway/2015-07-09/api-2.json +0 -5384
  152. data/apis/apigateway/2015-07-09/examples-1.json +0 -5
  153. data/apis/apigateway/2015-07-09/paginators-1.json +0 -76
  154. data/apis/apigateway/2015-07-09/smoke.json +0 -20
  155. data/apis/apigatewaymanagementapi/2018-11-29/api-2.json +0 -192
  156. data/apis/apigatewaymanagementapi/2018-11-29/paginators-1.json +0 -3
  157. data/apis/apigatewayv2/2018-11-29/api-2.json +0 -5773
  158. data/apis/apigatewayv2/2018-11-29/paginators-1.json +0 -3
  159. data/apis/application-autoscaling/2016-02-06/api-2.json +0 -779
  160. data/apis/application-autoscaling/2016-02-06/examples-1.json +0 -257
  161. data/apis/application-autoscaling/2016-02-06/paginators-1.json +0 -28
  162. data/apis/application-autoscaling/2016-02-06/smoke.json +0 -13
  163. data/apis/application-insights/2018-11-25/api-2.json +0 -721
  164. data/apis/application-insights/2018-11-25/examples-1.json +0 -5
  165. data/apis/application-insights/2018-11-25/paginators-1.json +0 -19
  166. data/apis/appmesh/2018-10-01/api-2.json +0 -1972
  167. data/apis/appmesh/2018-10-01/examples-1.json +0 -4
  168. data/apis/appmesh/2018-10-01/paginators-1.json +0 -28
  169. data/apis/appmesh/2019-01-25/api-2.json +0 -3281
  170. data/apis/appmesh/2019-01-25/examples-1.json +0 -4
  171. data/apis/appmesh/2019-01-25/paginators-1.json +0 -40
  172. data/apis/appstream/2016-12-01/api-2.json +0 -2340
  173. data/apis/appstream/2016-12-01/examples-1.json +0 -5
  174. data/apis/appstream/2016-12-01/paginators-1.json +0 -14
  175. data/apis/appstream/2016-12-01/smoke.json +0 -11
  176. data/apis/appstream/2016-12-01/waiters-2.json +0 -55
  177. data/apis/appsync/2017-07-25/api-2.json +0 -2003
  178. data/apis/appsync/2017-07-25/examples-1.json +0 -5
  179. data/apis/appsync/2017-07-25/paginators-1.json +0 -4
  180. data/apis/athena/2017-05-18/api-2.json +0 -985
  181. data/apis/athena/2017-05-18/examples-1.json +0 -5
  182. data/apis/athena/2017-05-18/paginators-1.json +0 -24
  183. data/apis/athena/2017-05-18/smoke.json +0 -11
  184. data/apis/autoscaling-plans/2018-01-06/api-2.json +0 -659
  185. data/apis/autoscaling-plans/2018-01-06/examples-1.json +0 -5
  186. data/apis/autoscaling-plans/2018-01-06/paginators-1.json +0 -4
  187. data/apis/autoscaling/2011-01-01/api-2.json +0 -2455
  188. data/apis/autoscaling/2011-01-01/examples-1.json +0 -1396
  189. data/apis/autoscaling/2011-01-01/paginators-1.json +0 -52
  190. data/apis/autoscaling/2011-01-01/resources-1.json +0 -1624
  191. data/apis/autoscaling/2011-01-01/smoke.json +0 -20
  192. data/apis/autoscaling/2011-01-01/waiters-2.json +0 -62
  193. data/apis/backup/2018-11-15/api-2.json +0 -2150
  194. data/apis/backup/2018-11-15/examples-1.json +0 -5
  195. data/apis/backup/2018-11-15/paginators-1.json +0 -59
  196. data/apis/batch/2016-08-10/api-2.json +0 -1128
  197. data/apis/batch/2016-08-10/examples-1.json +0 -589
  198. data/apis/batch/2016-08-10/paginators-1.json +0 -28
  199. data/apis/batch/2016-08-10/smoke.json +0 -11
  200. data/apis/budgets/2016-10-20/api-2.json +0 -807
  201. data/apis/budgets/2016-10-20/examples-1.json +0 -5
  202. data/apis/budgets/2016-10-20/paginators-1.json +0 -4
  203. data/apis/ce/2017-10-25/api-2.json +0 -1035
  204. data/apis/ce/2017-10-25/examples-1.json +0 -5
  205. data/apis/ce/2017-10-25/paginators-1.json +0 -4
  206. data/apis/chime/2018-05-01/api-2.json +0 -2902
  207. data/apis/chime/2018-05-01/examples-1.json +0 -5
  208. data/apis/chime/2018-05-01/paginators-1.json +0 -29
  209. data/apis/cloud9/2017-09-23/api-2.json +0 -547
  210. data/apis/cloud9/2017-09-23/examples-1.json +0 -308
  211. data/apis/cloud9/2017-09-23/paginators-1.json +0 -14
  212. data/apis/clouddirectory/2016-05-10/api-2.json +0 -4244
  213. data/apis/clouddirectory/2016-05-10/examples-1.json +0 -5
  214. data/apis/clouddirectory/2016-05-10/paginators-1.json +0 -94
  215. data/apis/clouddirectory/2017-01-11/api-2.json +0 -4321
  216. data/apis/clouddirectory/2017-01-11/examples-1.json +0 -5
  217. data/apis/clouddirectory/2017-01-11/paginators-1.json +0 -99
  218. data/apis/cloudformation/2010-05-15/api-2.json +0 -2686
  219. data/apis/cloudformation/2010-05-15/examples-1.json +0 -5
  220. data/apis/cloudformation/2010-05-15/paginators-1.json +0 -42
  221. data/apis/cloudformation/2010-05-15/resources-1.json +0 -211
  222. data/apis/cloudformation/2010-05-15/waiters-2.json +0 -182
  223. data/apis/cloudfront/2016-01-28/api-2.json +0 -2219
  224. data/apis/cloudfront/2016-01-28/examples-1.json +0 -5
  225. data/apis/cloudfront/2016-01-28/paginators-1.json +0 -32
  226. data/apis/cloudfront/2016-01-28/waiters-2.json +0 -47
  227. data/apis/cloudfront/2016-08-01/api-2.json +0 -2548
  228. data/apis/cloudfront/2016-08-01/examples-1.json +0 -5
  229. data/apis/cloudfront/2016-08-01/paginators-1.json +0 -32
  230. data/apis/cloudfront/2016-08-01/waiters-2.json +0 -47
  231. data/apis/cloudfront/2016-08-20/api-2.json +0 -2586
  232. data/apis/cloudfront/2016-08-20/paginators-1.json +0 -32
  233. data/apis/cloudfront/2016-08-20/waiters-2.json +0 -47
  234. data/apis/cloudfront/2016-09-07/api-2.json +0 -2596
  235. data/apis/cloudfront/2016-09-07/examples-1.json +0 -5
  236. data/apis/cloudfront/2016-09-07/paginators-1.json +0 -32
  237. data/apis/cloudfront/2016-09-07/waiters-2.json +0 -47
  238. data/apis/cloudfront/2016-09-29/api-2.json +0 -2599
  239. data/apis/cloudfront/2016-09-29/examples-1.json +0 -5
  240. data/apis/cloudfront/2016-09-29/paginators-1.json +0 -32
  241. data/apis/cloudfront/2016-09-29/waiters-2.json +0 -47
  242. data/apis/cloudfront/2016-11-25/api-2.json +0 -2665
  243. data/apis/cloudfront/2016-11-25/examples-1.json +0 -5
  244. data/apis/cloudfront/2016-11-25/paginators-1.json +0 -32
  245. data/apis/cloudfront/2016-11-25/waiters-2.json +0 -47
  246. data/apis/cloudfront/2017-03-25/api-2.json +0 -2726
  247. data/apis/cloudfront/2017-03-25/examples-1.json +0 -83
  248. data/apis/cloudfront/2017-03-25/paginators-1.json +0 -32
  249. data/apis/cloudfront/2017-03-25/waiters-2.json +0 -47
  250. data/apis/cloudfront/2017-10-30/api-2.json +0 -3906
  251. data/apis/cloudfront/2017-10-30/examples-1.json +0 -5
  252. data/apis/cloudfront/2017-10-30/paginators-1.json +0 -32
  253. data/apis/cloudfront/2017-10-30/smoke.json +0 -20
  254. data/apis/cloudfront/2017-10-30/waiters-2.json +0 -47
  255. data/apis/cloudfront/2018-06-18/api-2.json +0 -3907
  256. data/apis/cloudfront/2018-06-18/examples-1.json +0 -5
  257. data/apis/cloudfront/2018-06-18/paginators-1.json +0 -32
  258. data/apis/cloudfront/2018-06-18/smoke.json +0 -20
  259. data/apis/cloudfront/2018-06-18/waiters-2.json +0 -47
  260. data/apis/cloudfront/2018-11-05/api-2.json +0 -4004
  261. data/apis/cloudfront/2018-11-05/examples-1.json +0 -5
  262. data/apis/cloudfront/2018-11-05/paginators-1.json +0 -32
  263. data/apis/cloudfront/2018-11-05/smoke.json +0 -20
  264. data/apis/cloudfront/2018-11-05/waiters-2.json +0 -47
  265. data/apis/cloudfront/2019-03-26/api-2.json +0 -4032
  266. data/apis/cloudfront/2019-03-26/examples-1.json +0 -5
  267. data/apis/cloudfront/2019-03-26/paginators-1.json +0 -32
  268. data/apis/cloudfront/2019-03-26/smoke.json +0 -20
  269. data/apis/cloudfront/2019-03-26/waiters-2.json +0 -47
  270. data/apis/cloudhsm/2014-05-30/api-2.json +0 -879
  271. data/apis/cloudhsm/2014-05-30/examples-1.json +0 -5
  272. data/apis/cloudhsm/2014-05-30/paginators-1.json +0 -4
  273. data/apis/cloudhsmv2/2017-04-28/api-2.json +0 -718
  274. data/apis/cloudhsmv2/2017-04-28/examples-1.json +0 -5
  275. data/apis/cloudhsmv2/2017-04-28/paginators-1.json +0 -19
  276. data/apis/cloudhsmv2/2017-04-28/smoke.json +0 -18
  277. data/apis/cloudsearch/2013-01-01/api-2.json +0 -2002
  278. data/apis/cloudsearch/2013-01-01/paginators-1.json +0 -20
  279. data/apis/cloudsearchdomain/2013-01-01/api-2.json +0 -374
  280. data/apis/cloudsearchdomain/2013-01-01/examples-1.json +0 -5
  281. data/apis/cloudtrail/2013-11-01/api-2.json +0 -978
  282. data/apis/cloudtrail/2013-11-01/examples-1.json +0 -5
  283. data/apis/cloudtrail/2013-11-01/paginators-1.json +0 -13
  284. data/apis/cloudtrail/2013-11-01/smoke.json +0 -18
  285. data/apis/codebuild/2016-10-06/api-2.json +0 -1276
  286. data/apis/codebuild/2016-10-06/examples-1.json +0 -281
  287. data/apis/codebuild/2016-10-06/paginators-1.json +0 -4
  288. data/apis/codebuild/2016-10-06/smoke.json +0 -11
  289. data/apis/codecommit/2015-04-13/api-2.json +0 -4248
  290. data/apis/codecommit/2015-04-13/examples-1.json +0 -5
  291. data/apis/codecommit/2015-04-13/paginators-1.json +0 -49
  292. data/apis/codecommit/2015-04-13/smoke.json +0 -18
  293. data/apis/codedeploy/2014-10-06/api-2.json +0 -3224
  294. data/apis/codedeploy/2014-10-06/examples-1.json +0 -5
  295. data/apis/codedeploy/2014-10-06/paginators-1.json +0 -34
  296. data/apis/codedeploy/2014-10-06/smoke.json +0 -18
  297. data/apis/codedeploy/2014-10-06/waiters-2.json +0 -30
  298. data/apis/codepipeline/2015-07-09/api-2.json +0 -2406
  299. data/apis/codepipeline/2015-07-09/examples-1.json +0 -5
  300. data/apis/codepipeline/2015-07-09/paginators-1.json +0 -38
  301. data/apis/codepipeline/2015-07-09/smoke.json +0 -18
  302. data/apis/codestar/2017-04-19/api-2.json +0 -1033
  303. data/apis/codestar/2017-04-19/examples-1.json +0 -5
  304. data/apis/codestar/2017-04-19/paginators-1.json +0 -4
  305. data/apis/codestar/2017-04-19/smoke.json +0 -11
  306. data/apis/cognito-identity/2014-06-30/api-2.json +0 -1053
  307. data/apis/cognito-identity/2014-06-30/examples-1.json +0 -5
  308. data/apis/cognito-identity/2014-06-30/paginators-1.json +0 -4
  309. data/apis/cognito-idp/2016-04-18/api-2.json +0 -5349
  310. data/apis/cognito-idp/2016-04-18/examples-1.json +0 -5
  311. data/apis/cognito-idp/2016-04-18/paginators-1.json +0 -52
  312. data/apis/cognito-idp/2016-04-18/smoke.json +0 -20
  313. data/apis/cognito-sync/2014-06-30/api-2.json +0 -1875
  314. data/apis/comprehend/2017-11-27/api-2.json +0 -2361
  315. data/apis/comprehend/2017-11-27/examples-1.json +0 -5
  316. data/apis/comprehend/2017-11-27/paginators-1.json +0 -44
  317. data/apis/comprehendmedical/2018-10-30/api-2.json +0 -681
  318. data/apis/comprehendmedical/2018-10-30/examples-1.json +0 -5
  319. data/apis/comprehendmedical/2018-10-30/paginators-1.json +0 -4
  320. data/apis/config/2014-11-12/api-2.json +0 -3496
  321. data/apis/config/2014-11-12/examples-1.json +0 -5
  322. data/apis/config/2014-11-12/paginators-1.json +0 -21
  323. data/apis/config/2014-11-12/smoke.json +0 -19
  324. data/apis/connect/2017-08-08/api-2.json +0 -1379
  325. data/apis/connect/2017-08-08/examples-1.json +0 -5
  326. data/apis/connect/2017-08-08/paginators-1.json +0 -14
  327. data/apis/cur/2017-01-06/api-2.json +0 -277
  328. data/apis/cur/2017-01-06/examples-1.json +0 -102
  329. data/apis/cur/2017-01-06/paginators-1.json +0 -9
  330. data/apis/cur/2017-01-06/smoke.json +0 -11
  331. data/apis/datapipeline/2012-10-29/api-2.json +0 -1168
  332. data/apis/datapipeline/2012-10-29/paginators-1.json +0 -26
  333. data/apis/datasync/2018-11-09/api-2.json +0 -1327
  334. data/apis/datasync/2018-11-09/examples-1.json +0 -5
  335. data/apis/datasync/2018-11-09/paginators-1.json +0 -29
  336. data/apis/dax/2017-04-19/api-2.json +0 -1140
  337. data/apis/dax/2017-04-19/examples-1.json +0 -5
  338. data/apis/dax/2017-04-19/paginators-1.json +0 -4
  339. data/apis/devicefarm/2015-06-23/api-2.json +0 -3197
  340. data/apis/devicefarm/2015-06-23/examples-1.json +0 -1242
  341. data/apis/devicefarm/2015-06-23/paginators-1.json +0 -77
  342. data/apis/devicefarm/2015-06-23/smoke.json +0 -18
  343. data/apis/directconnect/2012-10-25/api-2.json +0 -2066
  344. data/apis/directconnect/2012-10-25/examples-1.json +0 -5
  345. data/apis/directconnect/2012-10-25/paginators-1.json +0 -22
  346. data/apis/directconnect/2012-10-25/smoke.json +0 -18
  347. data/apis/discovery/2015-11-01/api-2.json +0 -1334
  348. data/apis/discovery/2015-11-01/examples-1.json +0 -5
  349. data/apis/discovery/2015-11-01/paginators-1.json +0 -14
  350. data/apis/discovery/2015-11-01/smoke.json +0 -11
  351. data/apis/dlm/2018-01-12/api-2.json +0 -444
  352. data/apis/dlm/2018-01-12/examples-1.json +0 -5
  353. data/apis/dlm/2018-01-12/paginators-1.json +0 -4
  354. data/apis/dms/2016-01-01/api-2.json +0 -2291
  355. data/apis/dms/2016-01-01/examples-1.json +0 -1074
  356. data/apis/dms/2016-01-01/paginators-1.json +0 -79
  357. data/apis/dms/2016-01-01/smoke.json +0 -18
  358. data/apis/dms/2016-01-01/waiters-2.json +0 -336
  359. data/apis/docdb/2014-10-31/api-2.json +0 -2534
  360. data/apis/docdb/2014-10-31/examples-1.json +0 -5
  361. data/apis/docdb/2014-10-31/paginators-1.json +0 -43
  362. data/apis/docdb/2014-10-31/smoke.json +0 -18
  363. data/apis/docdb/2014-10-31/waiters-2.json +0 -90
  364. data/apis/ds/2015-04-16/api-2.json +0 -2634
  365. data/apis/ds/2015-04-16/examples-1.json +0 -5
  366. data/apis/ds/2015-04-16/paginators-1.json +0 -9
  367. data/apis/ds/2015-04-16/smoke.json +0 -20
  368. data/apis/dynamodb/2011-12-05/api-2.json +0 -803
  369. data/apis/dynamodb/2011-12-05/examples-1.json +0 -5
  370. data/apis/dynamodb/2011-12-05/paginators-1.json +0 -26
  371. data/apis/dynamodb/2011-12-05/smoke.json +0 -20
  372. data/apis/dynamodb/2011-12-05/waiters-2.json +0 -35
  373. data/apis/dynamodb/2012-08-10/api-2.json +0 -2802
  374. data/apis/dynamodb/2012-08-10/examples-1.json +0 -631
  375. data/apis/dynamodb/2012-08-10/paginators-1.json +0 -26
  376. data/apis/dynamodb/2012-08-10/resources-1.json +0 -136
  377. data/apis/dynamodb/2012-08-10/smoke.json +0 -20
  378. data/apis/dynamodb/2012-08-10/waiters-2.json +0 -35
  379. data/apis/ec2-instance-connect/2018-04-02/api-2.json +0 -119
  380. data/apis/ec2-instance-connect/2018-04-02/examples-1.json +0 -34
  381. data/apis/ec2-instance-connect/2018-04-02/paginators-1.json +0 -4
  382. data/apis/ec2/2015-10-01/api-2.json +0 -13760
  383. data/apis/ec2/2015-10-01/examples-1.json +0 -5
  384. data/apis/ec2/2015-10-01/paginators-1.json +0 -138
  385. data/apis/ec2/2015-10-01/resources-1.json +0 -2582
  386. data/apis/ec2/2015-10-01/waiters-2.json +0 -593
  387. data/apis/ec2/2016-04-01/api-2.json +0 -14191
  388. data/apis/ec2/2016-04-01/examples-1.json +0 -3729
  389. data/apis/ec2/2016-04-01/paginators-1.json +0 -138
  390. data/apis/ec2/2016-04-01/resources-1.json +0 -2582
  391. data/apis/ec2/2016-04-01/waiters-2.json +0 -593
  392. data/apis/ec2/2016-09-15/api-2.json +0 -14415
  393. data/apis/ec2/2016-09-15/examples-1.json +0 -3740
  394. data/apis/ec2/2016-09-15/paginators-1.json +0 -138
  395. data/apis/ec2/2016-09-15/resources-1.json +0 -2582
  396. data/apis/ec2/2016-09-15/waiters-2.json +0 -593
  397. data/apis/ec2/2016-11-15/api-2.json +0 -25416
  398. data/apis/ec2/2016-11-15/examples-1.json +0 -5048
  399. data/apis/ec2/2016-11-15/paginators-1.json +0 -450
  400. data/apis/ec2/2016-11-15/resources-1.json +0 -2582
  401. data/apis/ec2/2016-11-15/smoke.json +0 -20
  402. data/apis/ec2/2016-11-15/waiters-2.json +0 -622
  403. data/apis/ecr/2015-09-21/api-2.json +0 -1383
  404. data/apis/ecr/2015-09-21/examples-1.json +0 -215
  405. data/apis/ecr/2015-09-21/paginators-1.json +0 -22
  406. data/apis/ecr/2015-09-21/smoke.json +0 -18
  407. data/apis/ecs/2014-11-13/api-2.json +0 -2902
  408. data/apis/ecs/2014-11-13/examples-1.json +0 -1137
  409. data/apis/ecs/2014-11-13/paginators-1.json +0 -40
  410. data/apis/ecs/2014-11-13/smoke.json +0 -18
  411. data/apis/ecs/2014-11-13/waiters-2.json +0 -93
  412. data/apis/eks/2017-11-01/api-2.json +0 -750
  413. data/apis/eks/2017-11-01/examples-1.json +0 -114
  414. data/apis/eks/2017-11-01/paginators-1.json +0 -16
  415. data/apis/eks/2017-11-01/waiters-2.json +0 -54
  416. data/apis/elasticache/2015-02-02/api-2.json +0 -3152
  417. data/apis/elasticache/2015-02-02/examples-1.json +0 -3149
  418. data/apis/elasticache/2015-02-02/paginators-1.json +0 -88
  419. data/apis/elasticache/2015-02-02/smoke.json +0 -18
  420. data/apis/elasticache/2015-02-02/waiters-2.json +0 -143
  421. data/apis/elasticbeanstalk/2010-12-01/api-2.json +0 -2492
  422. data/apis/elasticbeanstalk/2010-12-01/examples-1.json +0 -1109
  423. data/apis/elasticbeanstalk/2010-12-01/paginators-1.json +0 -25
  424. data/apis/elasticbeanstalk/2010-12-01/smoke.json +0 -18
  425. data/apis/elasticfilesystem/2015-02-01/api-2.json +0 -896
  426. data/apis/elasticfilesystem/2015-02-01/examples-1.json +0 -291
  427. data/apis/elasticfilesystem/2015-02-01/paginators-1.json +0 -4
  428. data/apis/elasticfilesystem/2015-02-01/smoke.json +0 -18
  429. data/apis/elasticloadbalancing/2012-06-01/api-2.json +0 -1642
  430. data/apis/elasticloadbalancing/2012-06-01/examples-1.json +0 -1036
  431. data/apis/elasticloadbalancing/2012-06-01/paginators-1.json +0 -18
  432. data/apis/elasticloadbalancing/2012-06-01/smoke.json +0 -20
  433. data/apis/elasticloadbalancing/2012-06-01/waiters-2.json +0 -54
  434. data/apis/elasticloadbalancingv2/2015-12-01/api-2.json +0 -2299
  435. data/apis/elasticloadbalancingv2/2015-12-01/examples-1.json +0 -1384
  436. data/apis/elasticloadbalancingv2/2015-12-01/paginators-1.json +0 -19
  437. data/apis/elasticloadbalancingv2/2015-12-01/smoke.json +0 -20
  438. data/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json +0 -100
  439. data/apis/elasticmapreduce/2009-03-31/api-2.json +0 -2187
  440. data/apis/elasticmapreduce/2009-03-31/examples-1.json +0 -5
  441. data/apis/elasticmapreduce/2009-03-31/paginators-1.json +0 -42
  442. data/apis/elasticmapreduce/2009-03-31/smoke.json +0 -18
  443. data/apis/elasticmapreduce/2009-03-31/waiters-2.json +0 -86
  444. data/apis/elastictranscoder/2012-09-25/api-2.json +0 -1484
  445. data/apis/elastictranscoder/2012-09-25/examples-1.json +0 -5
  446. data/apis/elastictranscoder/2012-09-25/paginators-1.json +0 -24
  447. data/apis/elastictranscoder/2012-09-25/smoke.json +0 -18
  448. data/apis/elastictranscoder/2012-09-25/waiters-2.json +0 -30
  449. data/apis/email/2010-12-01/api-2.json +0 -3182
  450. data/apis/email/2010-12-01/examples-1.json +0 -1021
  451. data/apis/email/2010-12-01/paginators-1.json +0 -18
  452. data/apis/email/2010-12-01/smoke.json +0 -18
  453. data/apis/email/2010-12-01/waiters-2.json +0 -18
  454. data/apis/entitlement.marketplace/2017-01-11/api-2.json +0 -128
  455. data/apis/entitlement.marketplace/2017-01-11/examples-1.json +0 -5
  456. data/apis/entitlement.marketplace/2017-01-11/paginators-1.json +0 -4
  457. data/apis/es/2015-01-01/api-2.json +0 -1543
  458. data/apis/es/2015-01-01/examples-1.json +0 -5
  459. data/apis/es/2015-01-01/paginators-1.json +0 -29
  460. data/apis/es/2015-01-01/smoke.json +0 -18
  461. data/apis/eventbridge/2015-10-07/api-2.json +0 -1462
  462. data/apis/eventbridge/2015-10-07/examples-1.json +0 -5
  463. data/apis/eventbridge/2015-10-07/paginators-1.json +0 -4
  464. data/apis/eventbridge/2015-10-07/smoke.json +0 -18
  465. data/apis/events/2015-10-07/api-2.json +0 -1462
  466. data/apis/events/2015-10-07/examples-1.json +0 -5
  467. data/apis/events/2015-10-07/paginators-1.json +0 -4
  468. data/apis/events/2015-10-07/smoke.json +0 -18
  469. data/apis/firehose/2015-08-04/api-2.json +0 -1376
  470. data/apis/firehose/2015-08-04/examples-1.json +0 -5
  471. data/apis/firehose/2015-08-04/paginators-1.json +0 -4
  472. data/apis/firehose/2015-08-04/smoke.json +0 -18
  473. data/apis/fms/2018-01-01/api-2.json +0 -692
  474. data/apis/fms/2018-01-01/examples-1.json +0 -5
  475. data/apis/fms/2018-01-01/paginators-1.json +0 -22
  476. data/apis/forecast/2018-06-26/api-2.json +0 -1373
  477. data/apis/forecast/2018-06-26/examples-1.json +0 -5
  478. data/apis/forecast/2018-06-26/paginators-1.json +0 -40
  479. data/apis/forecastquery/2018-06-26/api-2.json +0 -154
  480. data/apis/forecastquery/2018-06-26/examples-1.json +0 -5
  481. data/apis/forecastquery/2018-06-26/paginators-1.json +0 -4
  482. data/apis/fsx/2018-03-01/api-2.json +0 -1050
  483. data/apis/fsx/2018-03-01/examples-1.json +0 -384
  484. data/apis/fsx/2018-03-01/paginators-1.json +0 -14
  485. data/apis/gamelift/2015-10-01/api-2.json +0 -3470
  486. data/apis/gamelift/2015-10-01/examples-1.json +0 -5
  487. data/apis/gamelift/2015-10-01/paginators-1.json +0 -4
  488. data/apis/gamelift/2015-10-01/smoke.json +0 -18
  489. data/apis/glacier/2012-06-01/api-2.json +0 -1906
  490. data/apis/glacier/2012-06-01/examples-1.json +0 -806
  491. data/apis/glacier/2012-06-01/paginators-1.json +0 -28
  492. data/apis/glacier/2012-06-01/resources-1.json +0 -563
  493. data/apis/glacier/2012-06-01/smoke.json +0 -18
  494. data/apis/glacier/2012-06-01/waiters-2.json +0 -39
  495. data/apis/globalaccelerator/2018-08-08/api-2.json +0 -818
  496. data/apis/globalaccelerator/2018-08-08/examples-1.json +0 -5
  497. data/apis/globalaccelerator/2018-08-08/paginators-1.json +0 -4
  498. data/apis/glue/2017-03-31/api-2.json +0 -6294
  499. data/apis/glue/2017-03-31/examples-1.json +0 -5
  500. data/apis/glue/2017-03-31/paginators-1.json +0 -120
  501. data/apis/glue/2017-03-31/smoke.json +0 -11
  502. data/apis/greengrass/2017-06-07/api-2.json +0 -5106
  503. data/apis/groundstation/2019-05-23/api-2.json +0 -2059
  504. data/apis/groundstation/2019-05-23/examples-1.json +0 -4
  505. data/apis/groundstation/2019-05-23/paginators-1.json +0 -40
  506. data/apis/guardduty/2017-11-28/api-2.json +0 -3206
  507. data/apis/guardduty/2017-11-28/examples-1.json +0 -5
  508. data/apis/guardduty/2017-11-28/paginators-1.json +0 -46
  509. data/apis/health/2016-08-04/api-2.json +0 -554
  510. data/apis/health/2016-08-04/examples-1.json +0 -5
  511. data/apis/health/2016-08-04/paginators-1.json +0 -31
  512. data/apis/health/2016-08-04/smoke.json +0 -11
  513. data/apis/iam/2010-05-08/api-2.json +0 -5778
  514. data/apis/iam/2010-05-08/examples-1.json +0 -1572
  515. data/apis/iam/2010-05-08/paginators-1.json +0 -198
  516. data/apis/iam/2010-05-08/resources-1.json +0 -1740
  517. data/apis/iam/2010-05-08/smoke.json +0 -18
  518. data/apis/iam/2010-05-08/waiters-2.json +0 -73
  519. data/apis/importexport/2010-06-01/api-2.json +0 -667
  520. data/apis/importexport/2010-06-01/paginators-1.json +0 -11
  521. data/apis/inspector/2016-02-16/api-2.json +0 -2387
  522. data/apis/inspector/2016-02-16/examples-1.json +0 -1148
  523. data/apis/inspector/2016-02-16/paginators-1.json +0 -54
  524. data/apis/inspector/2016-02-16/smoke.json +0 -18
  525. data/apis/iot-data/2015-05-28/api-2.json +0 -264
  526. data/apis/iot-jobs-data/2017-09-29/api-2.json +0 -348
  527. data/apis/iot-jobs-data/2017-09-29/examples-1.json +0 -5
  528. data/apis/iot-jobs-data/2017-09-29/paginators-1.json +0 -4
  529. data/apis/iot/2015-05-28/api-2.json +0 -9676
  530. data/apis/iot/2015-05-28/examples-1.json +0 -5
  531. data/apis/iot/2015-05-28/paginators-1.json +0 -4
  532. data/apis/iot/2015-05-28/smoke.json +0 -18
  533. data/apis/iot1click-devices/2018-05-14/api-2.json +0 -902
  534. data/apis/iot1click-projects/2018-05-14/api-2.json +0 -883
  535. data/apis/iot1click-projects/2018-05-14/examples-1.json +0 -5
  536. data/apis/iot1click-projects/2018-05-14/paginators-1.json +0 -16
  537. data/apis/iotanalytics/2017-11-27/api-2.json +0 -2222
  538. data/apis/iotanalytics/2017-11-27/examples-1.json +0 -5
  539. data/apis/iotanalytics/2017-11-27/paginators-1.json +0 -29
  540. data/apis/iotevents-data/2018-10-23/api-2.json +0 -454
  541. data/apis/iotevents-data/2018-10-23/examples-1.json +0 -5
  542. data/apis/iotevents-data/2018-10-23/paginators-1.json +0 -4
  543. data/apis/iotevents/2018-07-27/api-2.json +0 -1133
  544. data/apis/iotevents/2018-07-27/examples-1.json +0 -5
  545. data/apis/iotevents/2018-07-27/paginators-1.json +0 -4
  546. data/apis/iotthingsgraph/2018-09-06/api-2.json +0 -1581
  547. data/apis/iotthingsgraph/2018-09-06/examples-1.json +0 -5
  548. data/apis/iotthingsgraph/2018-09-06/paginators-1.json +0 -64
  549. data/apis/kafka/2018-11-14/api-2.json +0 -1698
  550. data/apis/kafka/2018-11-14/paginators-1.json +0 -34
  551. data/apis/kinesis-video-archived-media/2017-09-30/api-2.json +0 -417
  552. data/apis/kinesis-video-archived-media/2017-09-30/examples-1.json +0 -5
  553. data/apis/kinesis-video-archived-media/2017-09-30/paginators-1.json +0 -10
  554. data/apis/kinesis-video-media/2017-09-30/api-2.json +0 -160
  555. data/apis/kinesis-video-media/2017-09-30/examples-1.json +0 -5
  556. data/apis/kinesis-video-media/2017-09-30/paginators-1.json +0 -4
  557. data/apis/kinesis/2013-12-02/api-2.json +0 -1409
  558. data/apis/kinesis/2013-12-02/examples-1.json +0 -5
  559. data/apis/kinesis/2013-12-02/paginators-1.json +0 -23
  560. data/apis/kinesis/2013-12-02/smoke.json +0 -18
  561. data/apis/kinesis/2013-12-02/waiters-2.json +0 -30
  562. data/apis/kinesisanalytics/2015-08-14/api-2.json +0 -1510
  563. data/apis/kinesisanalytics/2015-08-14/examples-1.json +0 -5
  564. data/apis/kinesisanalytics/2015-08-14/paginators-1.json +0 -4
  565. data/apis/kinesisanalyticsv2/2018-05-23/api-2.json +0 -2121
  566. data/apis/kinesisanalyticsv2/2018-05-23/examples-1.json +0 -5
  567. data/apis/kinesisanalyticsv2/2018-05-23/paginators-1.json +0 -4
  568. data/apis/kinesisvideo/2017-09-30/api-2.json +0 -553
  569. data/apis/kinesisvideo/2017-09-30/examples-1.json +0 -5
  570. data/apis/kinesisvideo/2017-09-30/paginators-1.json +0 -10
  571. data/apis/kms/2014-11-01/api-2.json +0 -1834
  572. data/apis/kms/2014-11-01/examples-1.json +0 -906
  573. data/apis/kms/2014-11-01/paginators-1.json +0 -32
  574. data/apis/kms/2014-11-01/smoke.json +0 -19
  575. data/apis/lakeformation/2017-03-31/api-2.json +0 -708
  576. data/apis/lakeformation/2017-03-31/examples-1.json +0 -5
  577. data/apis/lakeformation/2017-03-31/paginators-1.json +0 -19
  578. data/apis/lambda/2014-11-11/api-2.json +0 -668
  579. data/apis/lambda/2014-11-11/paginators-1.json +0 -16
  580. data/apis/lambda/2015-03-31/api-2.json +0 -2353
  581. data/apis/lambda/2015-03-31/examples-1.json +0 -614
  582. data/apis/lambda/2015-03-31/paginators-1.json +0 -40
  583. data/apis/lambda/2015-03-31/smoke.json +0 -18
  584. data/apis/lambda/2015-03-31/waiters-2.json +0 -22
  585. data/apis/lex-models/2017-04-19/api-2.json +0 -2261
  586. data/apis/lex-models/2017-04-19/examples-1.json +0 -758
  587. data/apis/lex-models/2017-04-19/paginators-1.json +0 -54
  588. data/apis/license-manager/2018-08-01/api-2.json +0 -780
  589. data/apis/license-manager/2018-08-01/examples-1.json +0 -5
  590. data/apis/license-manager/2018-08-01/paginators-1.json +0 -4
  591. data/apis/lightsail/2016-11-28/api-2.json +0 -5015
  592. data/apis/lightsail/2016-11-28/examples-1.json +0 -5
  593. data/apis/lightsail/2016-11-28/paginators-1.json +0 -4
  594. data/apis/lightsail/2016-11-28/smoke.json +0 -11
  595. data/apis/logs/2014-03-28/api-2.json +0 -1701
  596. data/apis/logs/2014-03-28/examples-1.json +0 -5
  597. data/apis/logs/2014-03-28/paginators-1.json +0 -49
  598. data/apis/logs/2014-03-28/smoke.json +0 -19
  599. data/apis/machinelearning/2014-12-12/api-2.json +0 -1978
  600. data/apis/machinelearning/2014-12-12/examples-1.json +0 -5
  601. data/apis/machinelearning/2014-12-12/paginators-1.json +0 -28
  602. data/apis/machinelearning/2014-12-12/waiters-2.json +0 -81
  603. data/apis/macie/2017-12-19/api-2.json +0 -365
  604. data/apis/macie/2017-12-19/examples-1.json +0 -5
  605. data/apis/macie/2017-12-19/paginators-1.json +0 -14
  606. data/apis/managedblockchain/2018-09-24/api-2.json +0 -1363
  607. data/apis/managedblockchain/2018-09-24/examples-1.json +0 -5
  608. data/apis/managedblockchain/2018-09-24/paginators-1.json +0 -34
  609. data/apis/marketplacecommerceanalytics/2015-07-01/api-2.json +0 -174
  610. data/apis/marketplacecommerceanalytics/2015-07-01/examples-1.json +0 -5
  611. data/apis/marketplacecommerceanalytics/2015-07-01/paginators-1.json +0 -4
  612. data/apis/marketplacecommerceanalytics/2015-07-01/smoke.json +0 -17
  613. data/apis/mediaconnect/2018-11-14/api-2.json +0 -1901
  614. data/apis/mediaconnect/2018-11-14/paginators-1.json +0 -16
  615. data/apis/mediaconvert/2017-08-29/api-2.json +0 -8292
  616. data/apis/mediaconvert/2017-08-29/paginators-1.json +0 -34
  617. data/apis/medialive/2017-10-14/api-2.json +0 -9023
  618. data/apis/medialive/2017-10-14/paginators-1.json +0 -40
  619. data/apis/medialive/2017-10-14/waiters-2.json +0 -111
  620. data/apis/mediapackage-vod/2018-11-07/api-2.json +0 -1498
  621. data/apis/mediapackage-vod/2018-11-07/paginators-1.json +0 -22
  622. data/apis/mediapackage/2017-10-12/api-2.json +0 -2039
  623. data/apis/mediapackage/2017-10-12/paginators-1.json +0 -16
  624. data/apis/mediastore-data/2017-09-01/api-2.json +0 -406
  625. data/apis/mediastore-data/2017-09-01/examples-1.json +0 -5
  626. data/apis/mediastore-data/2017-09-01/paginators-1.json +0 -9
  627. data/apis/mediastore/2017-09-01/api-2.json +0 -735
  628. data/apis/mediastore/2017-09-01/examples-1.json +0 -5
  629. data/apis/mediastore/2017-09-01/paginators-1.json +0 -9
  630. data/apis/mediatailor/2018-04-23/api-2.json +0 -524
  631. data/apis/mediatailor/2018-04-23/paginators-1.json +0 -3
  632. data/apis/meteringmarketplace/2016-01-14/api-2.json +0 -344
  633. data/apis/meteringmarketplace/2016-01-14/examples-1.json +0 -5
  634. data/apis/meteringmarketplace/2016-01-14/paginators-1.json +0 -4
  635. data/apis/mobile/2017-07-01/api-2.json +0 -551
  636. data/apis/mobile/2017-07-01/examples-1.json +0 -5
  637. data/apis/mobile/2017-07-01/paginators-1.json +0 -14
  638. data/apis/monitoring/2010-08-01/api-2.json +0 -1525
  639. data/apis/monitoring/2010-08-01/examples-1.json +0 -5
  640. data/apis/monitoring/2010-08-01/paginators-1.json +0 -38
  641. data/apis/monitoring/2010-08-01/resources-1.json +0 -346
  642. data/apis/monitoring/2010-08-01/smoke.json +0 -22
  643. data/apis/monitoring/2010-08-01/waiters-2.json +0 -18
  644. data/apis/mq/2017-11-27/api-2.json +0 -2538
  645. data/apis/mq/2017-11-27/paginators-1.json +0 -3
  646. data/apis/mturk-requester/2017-01-17/api-2.json +0 -1696
  647. data/apis/mturk-requester/2017-01-17/examples-1.json +0 -5
  648. data/apis/mturk-requester/2017-01-17/paginators-1.json +0 -54
  649. data/apis/neptune/2014-10-31/api-2.json +0 -3515
  650. data/apis/neptune/2014-10-31/examples-1.json +0 -5
  651. data/apis/neptune/2014-10-31/paginators-1.json +0 -61
  652. data/apis/neptune/2014-10-31/smoke.json +0 -18
  653. data/apis/neptune/2014-10-31/waiters-2.json +0 -90
  654. data/apis/opsworks/2013-02-18/api-2.json +0 -2885
  655. data/apis/opsworks/2013-02-18/examples-1.json +0 -5
  656. data/apis/opsworks/2013-02-18/paginators-1.json +0 -55
  657. data/apis/opsworks/2013-02-18/resources-1.json +0 -173
  658. data/apis/opsworks/2013-02-18/smoke.json +0 -18
  659. data/apis/opsworks/2013-02-18/waiters-2.json +0 -289
  660. data/apis/opsworkscm/2016-11-01/api-2.json +0 -766
  661. data/apis/opsworkscm/2016-11-01/examples-1.json +0 -5
  662. data/apis/opsworkscm/2016-11-01/paginators-1.json +0 -4
  663. data/apis/opsworkscm/2016-11-01/waiters-2.json +0 -25
  664. data/apis/organizations/2016-11-28/api-2.json +0 -2317
  665. data/apis/organizations/2016-11-28/examples-1.json +0 -1409
  666. data/apis/organizations/2016-11-28/paginators-1.json +0 -74
  667. data/apis/personalize-events/2018-03-22/api-2.json +0 -91
  668. data/apis/personalize-events/2018-03-22/examples-1.json +0 -5
  669. data/apis/personalize-events/2018-03-22/paginators-1.json +0 -4
  670. data/apis/personalize-runtime/2018-05-22/api-2.json +0 -129
  671. data/apis/personalize-runtime/2018-05-22/examples-1.json +0 -5
  672. data/apis/personalize-runtime/2018-05-22/paginators-1.json +0 -4
  673. data/apis/personalize/2018-05-22/api-2.json +0 -1703
  674. data/apis/personalize/2018-05-22/examples-1.json +0 -5
  675. data/apis/personalize/2018-05-22/paginators-1.json +0 -58
  676. data/apis/pi/2018-02-27/api-2.json +0 -253
  677. data/apis/pi/2018-02-27/examples-1.json +0 -5
  678. data/apis/pi/2018-02-27/paginators-1.json +0 -4
  679. data/apis/pinpoint-email/2018-07-26/api-2.json +0 -2080
  680. data/apis/pinpoint-email/2018-07-26/examples-1.json +0 -5
  681. data/apis/pinpoint-email/2018-07-26/paginators-1.json +0 -34
  682. data/apis/pinpoint/2016-12-01/api-2.json +0 -8526
  683. data/apis/pinpoint/2016-12-01/examples-1.json +0 -5
  684. data/apis/polly/2016-06-10/api-2.json +0 -830
  685. data/apis/polly/2016-06-10/examples-1.json +0 -171
  686. data/apis/polly/2016-06-10/paginators-1.json +0 -9
  687. data/apis/polly/2016-06-10/smoke.json +0 -11
  688. data/apis/pricing/2017-10-15/api-2.json +0 -227
  689. data/apis/pricing/2017-10-15/examples-1.json +0 -103
  690. data/apis/pricing/2017-10-15/paginators-1.json +0 -19
  691. data/apis/qldb-session/2019-07-11/api-2.json +0 -259
  692. data/apis/qldb-session/2019-07-11/examples-1.json +0 -5
  693. data/apis/qldb-session/2019-07-11/paginators-1.json +0 -4
  694. data/apis/qldb/2019-01-02/api-2.json +0 -776
  695. data/apis/qldb/2019-01-02/examples-1.json +0 -5
  696. data/apis/qldb/2019-01-02/paginators-1.json +0 -19
  697. data/apis/quicksight/2018-04-01/api-2.json +0 -1223
  698. data/apis/quicksight/2018-04-01/examples-1.json +0 -5
  699. data/apis/quicksight/2018-04-01/paginators-1.json +0 -4
  700. data/apis/ram/2018-01-04/api-2.json +0 -1021
  701. data/apis/ram/2018-01-04/examples-1.json +0 -5
  702. data/apis/ram/2018-01-04/paginators-1.json +0 -39
  703. data/apis/rds-data/2018-08-01/api-2.json +0 -540
  704. data/apis/rds-data/2018-08-01/examples-1.json +0 -5
  705. data/apis/rds-data/2018-08-01/paginators-1.json +0 -4
  706. data/apis/rds/2013-01-10/api-2.json +0 -2903
  707. data/apis/rds/2013-01-10/examples-1.json +0 -5
  708. data/apis/rds/2013-01-10/paginators-1.json +0 -97
  709. data/apis/rds/2013-01-10/smoke.json +0 -18
  710. data/apis/rds/2013-02-12/api-2.json +0 -3059
  711. data/apis/rds/2013-02-12/examples-1.json +0 -5
  712. data/apis/rds/2013-02-12/paginators-1.json +0 -110
  713. data/apis/rds/2013-02-12/smoke.json +0 -18
  714. data/apis/rds/2013-09-09/api-2.json +0 -3160
  715. data/apis/rds/2013-09-09/examples-1.json +0 -5
  716. data/apis/rds/2013-09-09/paginators-1.json +0 -110
  717. data/apis/rds/2013-09-09/smoke.json +0 -18
  718. data/apis/rds/2013-09-09/waiters-2.json +0 -97
  719. data/apis/rds/2014-09-01/api-2.json +0 -3273
  720. data/apis/rds/2014-09-01/examples-1.json +0 -5
  721. data/apis/rds/2014-09-01/paginators-1.json +0 -4
  722. data/apis/rds/2014-09-01/smoke.json +0 -18
  723. data/apis/rds/2014-10-31/api-2.json +0 -6588
  724. data/apis/rds/2014-10-31/examples-1.json +0 -1951
  725. data/apis/rds/2014-10-31/paginators-1.json +0 -128
  726. data/apis/rds/2014-10-31/resources-1.json +0 -3272
  727. data/apis/rds/2014-10-31/smoke.json +0 -18
  728. data/apis/rds/2014-10-31/waiters-2.json +0 -260
  729. data/apis/rds/2015-11-12/api-2.json +0 -5509
  730. data/apis/rds/2015-11-12/examples-1.json +0 -1951
  731. data/apis/rds/2015-11-12/paginators-1.json +0 -110
  732. data/apis/rds/2015-11-12/resources-1.json +0 -3272
  733. data/apis/rds/2015-11-12/waiters-2.json +0 -175
  734. data/apis/redshift/2012-12-01/api-2.json +0 -4995
  735. data/apis/redshift/2012-12-01/examples-1.json +0 -5
  736. data/apis/redshift/2012-12-01/paginators-1.json +0 -100
  737. data/apis/redshift/2012-12-01/smoke.json +0 -18
  738. data/apis/redshift/2012-12-01/waiters-2.json +0 -97
  739. data/apis/rekognition/2016-06-27/api-2.json +0 -2142
  740. data/apis/rekognition/2016-06-27/examples-1.json +0 -651
  741. data/apis/rekognition/2016-06-27/paginators-1.json +0 -51
  742. data/apis/rekognition/2016-06-27/smoke.json +0 -11
  743. data/apis/resource-groups/2017-11-27/api-2.json +0 -743
  744. data/apis/resource-groups/2017-11-27/examples-1.json +0 -5
  745. data/apis/resource-groups/2017-11-27/paginators-1.json +0 -19
  746. data/apis/resourcegroupstaggingapi/2017-01-26/api-2.json +0 -329
  747. data/apis/resourcegroupstaggingapi/2017-01-26/examples-1.json +0 -5
  748. data/apis/resourcegroupstaggingapi/2017-01-26/paginators-1.json +0 -20
  749. data/apis/robomaker/2018-06-29/api-2.json +0 -2138
  750. data/apis/robomaker/2018-06-29/examples-1.json +0 -5
  751. data/apis/robomaker/2018-06-29/paginators-1.json +0 -34
  752. data/apis/route53/2013-04-01/api-2.json +0 -3780
  753. data/apis/route53/2013-04-01/examples-1.json +0 -762
  754. data/apis/route53/2013-04-01/paginators-1.json +0 -33
  755. data/apis/route53/2013-04-01/smoke.json +0 -18
  756. data/apis/route53/2013-04-01/waiters-2.json +0 -18
  757. data/apis/route53domains/2014-05-15/api-2.json +0 -1382
  758. data/apis/route53domains/2014-05-15/examples-1.json +0 -5
  759. data/apis/route53domains/2014-05-15/paginators-1.json +0 -16
  760. data/apis/route53resolver/2018-04-01/api-2.json +0 -1199
  761. data/apis/route53resolver/2018-04-01/examples-1.json +0 -5
  762. data/apis/route53resolver/2018-04-01/paginators-1.json +0 -24
  763. data/apis/route53resolver/2018-04-01/smoke.json +0 -18
  764. data/apis/runtime.lex/2016-11-28/api-2.json +0 -680
  765. data/apis/runtime.lex/2016-11-28/examples-1.json +0 -5
  766. data/apis/runtime.lex/2016-11-28/paginators-1.json +0 -4
  767. data/apis/runtime.sagemaker/2017-05-13/api-2.json +0 -152
  768. data/apis/runtime.sagemaker/2017-05-13/examples-1.json +0 -5
  769. data/apis/runtime.sagemaker/2017-05-13/paginators-1.json +0 -4
  770. data/apis/s3/2006-03-01/api-2.json +0 -6576
  771. data/apis/s3/2006-03-01/examples-1.json +0 -1876
  772. data/apis/s3/2006-03-01/paginators-1.json +0 -66
  773. data/apis/s3/2006-03-01/resources-1.json +0 -1249
  774. data/apis/s3/2006-03-01/smoke.json +0 -11
  775. data/apis/s3/2006-03-01/waiters-2.json +0 -73
  776. data/apis/s3control/2018-08-20/api-2.json +0 -1044
  777. data/apis/s3control/2018-08-20/examples-1.json +0 -5
  778. data/apis/s3control/2018-08-20/paginators-1.json +0 -9
  779. data/apis/sagemaker/2017-07-24/api-2.json +0 -5257
  780. data/apis/sagemaker/2017-07-24/examples-1.json +0 -5
  781. data/apis/sagemaker/2017-07-24/paginators-1.json +0 -84
  782. data/apis/sagemaker/2017-07-24/waiters-2.json +0 -163
  783. data/apis/sdb/2009-04-15/api-2.json +0 -955
  784. data/apis/sdb/2009-04-15/paginators-1.json +0 -15
  785. data/apis/secretsmanager/2017-10-17/api-2.json +0 -982
  786. data/apis/secretsmanager/2017-10-17/examples-1.json +0 -571
  787. data/apis/secretsmanager/2017-10-17/paginators-1.json +0 -14
  788. data/apis/secretsmanager/2017-10-17/smoke.json +0 -18
  789. data/apis/securityhub/2018-10-26/api-2.json +0 -2105
  790. data/apis/securityhub/2018-10-26/examples-1.json +0 -5
  791. data/apis/securityhub/2018-10-26/paginators-1.json +0 -29
  792. data/apis/serverlessrepo/2017-09-08/api-2.json +0 -1774
  793. data/apis/serverlessrepo/2017-09-08/paginators-1.json +0 -19
  794. data/apis/service-quotas/2019-06-24/api-2.json +0 -867
  795. data/apis/service-quotas/2019-06-24/examples-1.json +0 -5
  796. data/apis/service-quotas/2019-06-24/paginators-1.json +0 -40
  797. data/apis/servicecatalog/2015-12-10/api-2.json +0 -3977
  798. data/apis/servicecatalog/2015-12-10/examples-1.json +0 -5
  799. data/apis/servicecatalog/2015-12-10/paginators-1.json +0 -84
  800. data/apis/servicecatalog/2015-12-10/smoke.json +0 -11
  801. data/apis/servicediscovery/2017-03-14/api-2.json +0 -1156
  802. data/apis/servicediscovery/2017-03-14/examples-1.json +0 -5
  803. data/apis/servicediscovery/2017-03-14/paginators-1.json +0 -29
  804. data/apis/shield/2016-06-02/api-2.json +0 -893
  805. data/apis/shield/2016-06-02/examples-1.json +0 -5
  806. data/apis/shield/2016-06-02/paginators-1.json +0 -4
  807. data/apis/shield/2016-06-02/smoke.json +0 -11
  808. data/apis/signer/2017-08-25/api-2.json +0 -670
  809. data/apis/signer/2017-08-25/examples-1.json +0 -5
  810. data/apis/signer/2017-08-25/paginators-1.json +0 -19
  811. data/apis/signer/2017-08-25/waiters-2.json +0 -29
  812. data/apis/sms-voice/2018-09-05/api-2.json +0 -630
  813. data/apis/sms/2016-10-24/api-2.json +0 -1366
  814. data/apis/sms/2016-10-24/examples-1.json +0 -5
  815. data/apis/sms/2016-10-24/paginators-1.json +0 -28
  816. data/apis/sms/2016-10-24/smoke.json +0 -18
  817. data/apis/snowball/2016-06-30/api-2.json +0 -929
  818. data/apis/snowball/2016-06-30/examples-1.json +0 -442
  819. data/apis/snowball/2016-06-30/paginators-1.json +0 -16
  820. data/apis/snowball/2016-06-30/smoke.json +0 -11
  821. data/apis/sns/2010-03-31/api-2.json +0 -1468
  822. data/apis/sns/2010-03-31/examples-1.json +0 -5
  823. data/apis/sns/2010-03-31/paginators-1.json +0 -29
  824. data/apis/sns/2010-03-31/resources-1.json +0 -327
  825. data/apis/sns/2010-03-31/smoke.json +0 -19
  826. data/apis/sqs/2012-11-05/api-2.json +0 -1128
  827. data/apis/sqs/2012-11-05/examples-1.json +0 -5
  828. data/apis/sqs/2012-11-05/paginators-1.json +0 -7
  829. data/apis/sqs/2012-11-05/resources-1.json +0 -232
  830. data/apis/sqs/2012-11-05/smoke.json +0 -18
  831. data/apis/ssm/2014-11-06/api-2.json +0 -8916
  832. data/apis/ssm/2014-11-06/examples-1.json +0 -5
  833. data/apis/ssm/2014-11-06/paginators-1.json +0 -55
  834. data/apis/ssm/2014-11-06/smoke.json +0 -18
  835. data/apis/states/2016-11-23/api-2.json +0 -1409
  836. data/apis/states/2016-11-23/examples-1.json +0 -5
  837. data/apis/states/2016-11-23/paginators-1.json +0 -28
  838. data/apis/states/2016-11-23/smoke.json +0 -11
  839. data/apis/storagegateway/2013-06-30/api-2.json +0 -3166
  840. data/apis/storagegateway/2013-06-30/examples-1.json +0 -1381
  841. data/apis/storagegateway/2013-06-30/paginators-1.json +0 -76
  842. data/apis/streams.dynamodb/2012-08-10/api-2.json +0 -406
  843. data/apis/streams.dynamodb/2012-08-10/examples-1.json +0 -212
  844. data/apis/streams.dynamodb/2012-08-10/paginators-1.json +0 -4
  845. data/apis/sts/2011-06-15/api-2.json +0 -562
  846. data/apis/sts/2011-06-15/examples-1.json +0 -207
  847. data/apis/sts/2011-06-15/paginators-1.json +0 -4
  848. data/apis/sts/2011-06-15/smoke.json +0 -19
  849. data/apis/support/2013-04-15/api-2.json +0 -772
  850. data/apis/support/2013-04-15/examples-1.json +0 -5
  851. data/apis/support/2013-04-15/paginators-1.json +0 -25
  852. data/apis/swf/2012-01-25/api-2.json +0 -2792
  853. data/apis/swf/2012-01-25/examples-1.json +0 -5
  854. data/apis/swf/2012-01-25/paginators-1.json +0 -46
  855. data/apis/textract/2018-06-27/api-2.json +0 -572
  856. data/apis/textract/2018-06-27/examples-1.json +0 -5
  857. data/apis/textract/2018-06-27/paginators-1.json +0 -4
  858. data/apis/transcribe/2017-10-26/api-2.json +0 -516
  859. data/apis/transcribe/2017-10-26/examples-1.json +0 -5
  860. data/apis/transcribe/2017-10-26/paginators-1.json +0 -14
  861. data/apis/transfer/2018-11-05/api-2.json +0 -857
  862. data/apis/transfer/2018-11-05/examples-1.json +0 -5
  863. data/apis/transfer/2018-11-05/paginators-1.json +0 -19
  864. data/apis/translate/2017-07-01/api-2.json +0 -408
  865. data/apis/translate/2017-07-01/examples-1.json +0 -5
  866. data/apis/translate/2017-07-01/paginators-1.json +0 -4
  867. data/apis/waf-regional/2016-11-28/api-2.json +0 -3992
  868. data/apis/waf-regional/2016-11-28/examples-1.json +0 -1017
  869. data/apis/waf-regional/2016-11-28/paginators-1.json +0 -4
  870. data/apis/waf-regional/2016-11-28/smoke.json +0 -21
  871. data/apis/waf/2015-08-24/api-2.json +0 -3857
  872. data/apis/waf/2015-08-24/examples-1.json +0 -1017
  873. data/apis/waf/2015-08-24/paginators-1.json +0 -4
  874. data/apis/waf/2015-08-24/smoke.json +0 -21
  875. data/apis/workdocs/2016-05-01/api-2.json +0 -2899
  876. data/apis/workdocs/2016-05-01/examples-1.json +0 -5
  877. data/apis/workdocs/2016-05-01/paginators-1.json +0 -25
  878. data/apis/worklink/2018-09-25/api-2.json +0 -1266
  879. data/apis/worklink/2018-09-25/examples-1.json +0 -5
  880. data/apis/worklink/2018-09-25/paginators-1.json +0 -29
  881. data/apis/workmail/2017-10-01/api-2.json +0 -1560
  882. data/apis/workmail/2017-10-01/examples-1.json +0 -5
  883. data/apis/workmail/2017-10-01/paginators-1.json +0 -44
  884. data/apis/workmailmessageflow/2019-05-01/api-2.json +0 -67
  885. data/apis/workmailmessageflow/2019-05-01/examples-1.json +0 -5
  886. data/apis/workmailmessageflow/2019-05-01/paginators-1.json +0 -4
  887. data/apis/workspaces/2015-04-08/api-2.json +0 -1764
  888. data/apis/workspaces/2015-04-08/examples-1.json +0 -5
  889. data/apis/workspaces/2015-04-08/paginators-1.json +0 -20
  890. data/apis/workspaces/2015-04-08/smoke.json +0 -18
  891. data/apis/xray/2016-04-12/api-2.json +0 -1352
  892. data/apis/xray/2016-04-12/examples-1.json +0 -5
  893. data/apis/xray/2016-04-12/paginators-1.json +0 -59
  894. data/bin/aws.rb +0 -180
  895. data/endpoints.json +0 -5213
  896. data/lib/aws-sdk-core/acm.rb +0 -7
  897. data/lib/aws-sdk-core/acmpca.rb +0 -7
  898. data/lib/aws-sdk-core/alexaforbusiness.rb +0 -6
  899. data/lib/aws-sdk-core/amplify.rb +0 -6
  900. data/lib/aws-sdk-core/api/builder.rb +0 -129
  901. data/lib/aws-sdk-core/api/customizations.rb +0 -299
  902. data/lib/aws-sdk-core/api/docs/builder.rb +0 -223
  903. data/lib/aws-sdk-core/api/docs/client_type_documenter.rb +0 -118
  904. data/lib/aws-sdk-core/api/docs/crosslink.rb +0 -43
  905. data/lib/aws-sdk-core/api/docs/docstring_provider.rb +0 -75
  906. data/lib/aws-sdk-core/api/docs/operation_documenter.rb +0 -151
  907. data/lib/aws-sdk-core/api/docs/param_formatter.rb +0 -163
  908. data/lib/aws-sdk-core/api/docs/request_syntax_example.rb +0 -22
  909. data/lib/aws-sdk-core/api/docs/response_structure_example.rb +0 -91
  910. data/lib/aws-sdk-core/api/docs/shared_example.rb +0 -100
  911. data/lib/aws-sdk-core/api/docs/utils.rb +0 -133
  912. data/lib/aws-sdk-core/api/shape_map.rb +0 -146
  913. data/lib/aws-sdk-core/apigateway.rb +0 -6
  914. data/lib/aws-sdk-core/apigatewaymanagementapi.rb +0 -5
  915. data/lib/aws-sdk-core/apigatewayv2.rb +0 -5
  916. data/lib/aws-sdk-core/applicationautoscaling.rb +0 -6
  917. data/lib/aws-sdk-core/applicationdiscoveryservice.rb +0 -6
  918. data/lib/aws-sdk-core/applicationinsights.rb +0 -6
  919. data/lib/aws-sdk-core/appmesh.rb +0 -6
  920. data/lib/aws-sdk-core/appstream.rb +0 -7
  921. data/lib/aws-sdk-core/appsync.rb +0 -6
  922. data/lib/aws-sdk-core/athena.rb +0 -6
  923. data/lib/aws-sdk-core/autoscaling.rb +0 -8
  924. data/lib/aws-sdk-core/autoscalingplans.rb +0 -6
  925. data/lib/aws-sdk-core/backup.rb +0 -6
  926. data/lib/aws-sdk-core/batch.rb +0 -6
  927. data/lib/aws-sdk-core/budgets.rb +0 -6
  928. data/lib/aws-sdk-core/checksums.rb +0 -51
  929. data/lib/aws-sdk-core/chime.rb +0 -6
  930. data/lib/aws-sdk-core/client.rb +0 -62
  931. data/lib/aws-sdk-core/client_waiters.rb +0 -120
  932. data/lib/aws-sdk-core/cloud9.rb +0 -6
  933. data/lib/aws-sdk-core/clouddirectory.rb +0 -6
  934. data/lib/aws-sdk-core/cloudformation.rb +0 -8
  935. data/lib/aws-sdk-core/cloudfront.rb +0 -17
  936. data/lib/aws-sdk-core/cloudfront/cookie_signer.rb +0 -44
  937. data/lib/aws-sdk-core/cloudfront/signer.rb +0 -141
  938. data/lib/aws-sdk-core/cloudfront/url_signer.rb +0 -48
  939. data/lib/aws-sdk-core/cloudhsm.rb +0 -6
  940. data/lib/aws-sdk-core/cloudhsmv2.rb +0 -6
  941. data/lib/aws-sdk-core/cloudsearch.rb +0 -5
  942. data/lib/aws-sdk-core/cloudsearchdomain.rb +0 -5
  943. data/lib/aws-sdk-core/cloudtrail.rb +0 -6
  944. data/lib/aws-sdk-core/cloudwatch.rb +0 -8
  945. data/lib/aws-sdk-core/cloudwatchevents.rb +0 -6
  946. data/lib/aws-sdk-core/cloudwatchlogs.rb +0 -6
  947. data/lib/aws-sdk-core/codebuild.rb +0 -6
  948. data/lib/aws-sdk-core/codecommit.rb +0 -6
  949. data/lib/aws-sdk-core/codedeploy.rb +0 -7
  950. data/lib/aws-sdk-core/codepipeline.rb +0 -6
  951. data/lib/aws-sdk-core/codestar.rb +0 -6
  952. data/lib/aws-sdk-core/cognitoidentity.rb +0 -6
  953. data/lib/aws-sdk-core/cognitoidentityprovider.rb +0 -6
  954. data/lib/aws-sdk-core/cognitosync.rb +0 -4
  955. data/lib/aws-sdk-core/comprehend.rb +0 -6
  956. data/lib/aws-sdk-core/comprehendmedical.rb +0 -6
  957. data/lib/aws-sdk-core/configservice.rb +0 -6
  958. data/lib/aws-sdk-core/connect.rb +0 -6
  959. data/lib/aws-sdk-core/costandusagereportservice.rb +0 -6
  960. data/lib/aws-sdk-core/costexplorer.rb +0 -6
  961. data/lib/aws-sdk-core/databasemigrationservice.rb +0 -7
  962. data/lib/aws-sdk-core/datapipeline.rb +0 -5
  963. data/lib/aws-sdk-core/datasync.rb +0 -6
  964. data/lib/aws-sdk-core/dax.rb +0 -6
  965. data/lib/aws-sdk-core/devicefarm.rb +0 -6
  966. data/lib/aws-sdk-core/directconnect.rb +0 -6
  967. data/lib/aws-sdk-core/directoryservice.rb +0 -6
  968. data/lib/aws-sdk-core/dlm.rb +0 -6
  969. data/lib/aws-sdk-core/docdb.rb +0 -7
  970. data/lib/aws-sdk-core/dynamodb.rb +0 -40
  971. data/lib/aws-sdk-core/dynamodb/attribute_value.rb +0 -110
  972. data/lib/aws-sdk-core/dynamodbstreams.rb +0 -6
  973. data/lib/aws-sdk-core/ec2.rb +0 -8
  974. data/lib/aws-sdk-core/ec2instanceconnect.rb +0 -6
  975. data/lib/aws-sdk-core/ecr.rb +0 -6
  976. data/lib/aws-sdk-core/ecs.rb +0 -7
  977. data/lib/aws-sdk-core/efs.rb +0 -6
  978. data/lib/aws-sdk-core/eks.rb +0 -7
  979. data/lib/aws-sdk-core/elasticache.rb +0 -7
  980. data/lib/aws-sdk-core/elasticbeanstalk.rb +0 -6
  981. data/lib/aws-sdk-core/elasticloadbalancing.rb +0 -7
  982. data/lib/aws-sdk-core/elasticloadbalancingv2.rb +0 -7
  983. data/lib/aws-sdk-core/elasticsearchservice.rb +0 -6
  984. data/lib/aws-sdk-core/elastictranscoder.rb +0 -7
  985. data/lib/aws-sdk-core/empty_structure.rb +0 -3
  986. data/lib/aws-sdk-core/emr.rb +0 -7
  987. data/lib/aws-sdk-core/endpoint_provider.rb +0 -104
  988. data/lib/aws-sdk-core/eventbridge.rb +0 -6
  989. data/lib/aws-sdk-core/firehose.rb +0 -6
  990. data/lib/aws-sdk-core/fms.rb +0 -6
  991. data/lib/aws-sdk-core/forecastqueryservice.rb +0 -6
  992. data/lib/aws-sdk-core/forecastservice.rb +0 -6
  993. data/lib/aws-sdk-core/fsx.rb +0 -6
  994. data/lib/aws-sdk-core/gamelift.rb +0 -6
  995. data/lib/aws-sdk-core/glacier.rb +0 -8
  996. data/lib/aws-sdk-core/globalaccelerator.rb +0 -6
  997. data/lib/aws-sdk-core/glue.rb +0 -6
  998. data/lib/aws-sdk-core/greengrass.rb +0 -4
  999. data/lib/aws-sdk-core/groundstation.rb +0 -6
  1000. data/lib/aws-sdk-core/guardduty.rb +0 -6
  1001. data/lib/aws-sdk-core/health.rb +0 -6
  1002. data/lib/aws-sdk-core/iam.rb +0 -8
  1003. data/lib/aws-sdk-core/importexport.rb +0 -5
  1004. data/lib/aws-sdk-core/inspector.rb +0 -6
  1005. data/lib/aws-sdk-core/iot.rb +0 -6
  1006. data/lib/aws-sdk-core/iot1clickdevicesservice.rb +0 -4
  1007. data/lib/aws-sdk-core/iot1clickprojects.rb +0 -6
  1008. data/lib/aws-sdk-core/iotanalytics.rb +0 -6
  1009. data/lib/aws-sdk-core/iotdataplane.rb +0 -4
  1010. data/lib/aws-sdk-core/iotevents.rb +0 -6
  1011. data/lib/aws-sdk-core/ioteventsdata.rb +0 -6
  1012. data/lib/aws-sdk-core/iotjobsdataplane.rb +0 -6
  1013. data/lib/aws-sdk-core/iotthingsgraph.rb +0 -6
  1014. data/lib/aws-sdk-core/kafka.rb +0 -5
  1015. data/lib/aws-sdk-core/kinesis.rb +0 -7
  1016. data/lib/aws-sdk-core/kinesisanalytics.rb +0 -6
  1017. data/lib/aws-sdk-core/kinesisanalyticsv2.rb +0 -6
  1018. data/lib/aws-sdk-core/kinesisvideo.rb +0 -6
  1019. data/lib/aws-sdk-core/kinesisvideoarchivedmedia.rb +0 -6
  1020. data/lib/aws-sdk-core/kinesisvideomedia.rb +0 -6
  1021. data/lib/aws-sdk-core/kms.rb +0 -6
  1022. data/lib/aws-sdk-core/lakeformation.rb +0 -6
  1023. data/lib/aws-sdk-core/lambda.rb +0 -7
  1024. data/lib/aws-sdk-core/lambdapreview.rb +0 -5
  1025. data/lib/aws-sdk-core/lex.rb +0 -6
  1026. data/lib/aws-sdk-core/lexmodelbuildingservice.rb +0 -6
  1027. data/lib/aws-sdk-core/licensemanager.rb +0 -6
  1028. data/lib/aws-sdk-core/lightsail.rb +0 -6
  1029. data/lib/aws-sdk-core/machinelearning.rb +0 -7
  1030. data/lib/aws-sdk-core/macie.rb +0 -6
  1031. data/lib/aws-sdk-core/managedblockchain.rb +0 -6
  1032. data/lib/aws-sdk-core/marketplacecommerceanalytics.rb +0 -6
  1033. data/lib/aws-sdk-core/marketplaceentitlementservice.rb +0 -6
  1034. data/lib/aws-sdk-core/marketplacemetering.rb +0 -6
  1035. data/lib/aws-sdk-core/mediaconnect.rb +0 -5
  1036. data/lib/aws-sdk-core/mediaconvert.rb +0 -5
  1037. data/lib/aws-sdk-core/medialive.rb +0 -6
  1038. data/lib/aws-sdk-core/mediapackage.rb +0 -5
  1039. data/lib/aws-sdk-core/mediapackagevod.rb +0 -5
  1040. data/lib/aws-sdk-core/mediastore.rb +0 -6
  1041. data/lib/aws-sdk-core/mediastoredata.rb +0 -6
  1042. data/lib/aws-sdk-core/mediatailor.rb +0 -5
  1043. data/lib/aws-sdk-core/migrationhub.rb +0 -6
  1044. data/lib/aws-sdk-core/mobile.rb +0 -6
  1045. data/lib/aws-sdk-core/mq.rb +0 -5
  1046. data/lib/aws-sdk-core/mturk.rb +0 -6
  1047. data/lib/aws-sdk-core/neptune.rb +0 -7
  1048. data/lib/aws-sdk-core/opsworks.rb +0 -8
  1049. data/lib/aws-sdk-core/opsworkscm.rb +0 -7
  1050. data/lib/aws-sdk-core/organizations.rb +0 -6
  1051. data/lib/aws-sdk-core/partitions.rb +0 -174
  1052. data/lib/aws-sdk-core/partitions/partition.rb +0 -95
  1053. data/lib/aws-sdk-core/partitions/partition_list.rb +0 -60
  1054. data/lib/aws-sdk-core/partitions/region.rb +0 -66
  1055. data/lib/aws-sdk-core/partitions/service.rb +0 -75
  1056. data/lib/aws-sdk-core/personalize.rb +0 -6
  1057. data/lib/aws-sdk-core/personalizeevents.rb +0 -6
  1058. data/lib/aws-sdk-core/personalizeruntime.rb +0 -6
  1059. data/lib/aws-sdk-core/pi.rb +0 -6
  1060. data/lib/aws-sdk-core/pinpoint.rb +0 -5
  1061. data/lib/aws-sdk-core/pinpointemail.rb +0 -6
  1062. data/lib/aws-sdk-core/pinpointsmsvoice.rb +0 -4
  1063. data/lib/aws-sdk-core/plugins/api_gateway_header.rb +0 -19
  1064. data/lib/aws-sdk-core/plugins/csd_conditional_signing.rb +0 -30
  1065. data/lib/aws-sdk-core/plugins/csd_switch_to_post.rb +0 -36
  1066. data/lib/aws-sdk-core/plugins/dynamodb_crc32_validation.rb +0 -52
  1067. data/lib/aws-sdk-core/plugins/dynamodb_extended_retries.rb +0 -22
  1068. data/lib/aws-sdk-core/plugins/dynamodb_simple_attributes.rb +0 -208
  1069. data/lib/aws-sdk-core/plugins/ec2_copy_encrypted_snapshot.rb +0 -56
  1070. data/lib/aws-sdk-core/plugins/ec2_region_validation.rb +0 -17
  1071. data/lib/aws-sdk-core/plugins/glacier_account_id.rb +0 -19
  1072. data/lib/aws-sdk-core/plugins/glacier_api_version.rb +0 -19
  1073. data/lib/aws-sdk-core/plugins/glacier_checksums.rb +0 -87
  1074. data/lib/aws-sdk-core/plugins/machine_learning_predict_endpoint.rb +0 -20
  1075. data/lib/aws-sdk-core/plugins/rds_cross_region_copying.rb +0 -69
  1076. data/lib/aws-sdk-core/plugins/request_signer.rb +0 -150
  1077. data/lib/aws-sdk-core/plugins/route_53_id_fix.rb +0 -55
  1078. data/lib/aws-sdk-core/plugins/s3_accelerate.rb +0 -90
  1079. data/lib/aws-sdk-core/plugins/s3_bucket_dns.rb +0 -86
  1080. data/lib/aws-sdk-core/plugins/s3_bucket_name_restrictions.rb +0 -21
  1081. data/lib/aws-sdk-core/plugins/s3_control_dns.rb +0 -25
  1082. data/lib/aws-sdk-core/plugins/s3_control_dualstack.rb +0 -48
  1083. data/lib/aws-sdk-core/plugins/s3_control_signer.rb +0 -53
  1084. data/lib/aws-sdk-core/plugins/s3_dualstack.rb +0 -67
  1085. data/lib/aws-sdk-core/plugins/s3_expect_100_continue.rb +0 -27
  1086. data/lib/aws-sdk-core/plugins/s3_get_bucket_location_fix.rb +0 -21
  1087. data/lib/aws-sdk-core/plugins/s3_host_id.rb +0 -26
  1088. data/lib/aws-sdk-core/plugins/s3_http_200_errors.rb +0 -45
  1089. data/lib/aws-sdk-core/plugins/s3_location_constraint.rb +0 -31
  1090. data/lib/aws-sdk-core/plugins/s3_md5s.rb +0 -50
  1091. data/lib/aws-sdk-core/plugins/s3_redirects.rb +0 -37
  1092. data/lib/aws-sdk-core/plugins/s3_request_signer.rb +0 -166
  1093. data/lib/aws-sdk-core/plugins/s3_sse_cpk.rb +0 -64
  1094. data/lib/aws-sdk-core/plugins/s3_url_encoded_keys.rb +0 -93
  1095. data/lib/aws-sdk-core/plugins/sqs_md5s.rb +0 -164
  1096. data/lib/aws-sdk-core/plugins/sqs_queue_urls.rb +0 -34
  1097. data/lib/aws-sdk-core/plugins/swf_read_timeouts.rb +0 -23
  1098. data/lib/aws-sdk-core/polly.rb +0 -14
  1099. data/lib/aws-sdk-core/polly/presigner.rb +0 -70
  1100. data/lib/aws-sdk-core/pricing.rb +0 -6
  1101. data/lib/aws-sdk-core/qldb.rb +0 -6
  1102. data/lib/aws-sdk-core/qldbsession.rb +0 -6
  1103. data/lib/aws-sdk-core/quicksight.rb +0 -6
  1104. data/lib/aws-sdk-core/ram.rb +0 -6
  1105. data/lib/aws-sdk-core/rds.rb +0 -16
  1106. data/lib/aws-sdk-core/rds/auth_token_generator.rb +0 -63
  1107. data/lib/aws-sdk-core/rdsdataservice.rb +0 -6
  1108. data/lib/aws-sdk-core/redshift.rb +0 -7
  1109. data/lib/aws-sdk-core/rekognition.rb +0 -6
  1110. data/lib/aws-sdk-core/resourcegroups.rb +0 -6
  1111. data/lib/aws-sdk-core/resourcegroupstaggingapi.rb +0 -6
  1112. data/lib/aws-sdk-core/robomaker.rb +0 -6
  1113. data/lib/aws-sdk-core/route53.rb +0 -7
  1114. data/lib/aws-sdk-core/route53domains.rb +0 -6
  1115. data/lib/aws-sdk-core/route53resolver.rb +0 -6
  1116. data/lib/aws-sdk-core/s3.rb +0 -26
  1117. data/lib/aws-sdk-core/s3/bucket_region_cache.rb +0 -75
  1118. data/lib/aws-sdk-core/s3/presigner.rb +0 -116
  1119. data/lib/aws-sdk-core/s3control.rb +0 -6
  1120. data/lib/aws-sdk-core/sagemaker.rb +0 -7
  1121. data/lib/aws-sdk-core/sagemakerruntime.rb +0 -6
  1122. data/lib/aws-sdk-core/secretsmanager.rb +0 -6
  1123. data/lib/aws-sdk-core/securityhub.rb +0 -6
  1124. data/lib/aws-sdk-core/serverlessapplicationrepository.rb +0 -5
  1125. data/lib/aws-sdk-core/service.rb +0 -4
  1126. data/lib/aws-sdk-core/servicecatalog.rb +0 -6
  1127. data/lib/aws-sdk-core/servicediscovery.rb +0 -6
  1128. data/lib/aws-sdk-core/servicequotas.rb +0 -6
  1129. data/lib/aws-sdk-core/ses.rb +0 -7
  1130. data/lib/aws-sdk-core/shield.rb +0 -6
  1131. data/lib/aws-sdk-core/signer.rb +0 -7
  1132. data/lib/aws-sdk-core/signers/base.rb +0 -31
  1133. data/lib/aws-sdk-core/signers/s3.rb +0 -185
  1134. data/lib/aws-sdk-core/signers/v2.rb +0 -51
  1135. data/lib/aws-sdk-core/signers/v3.rb +0 -34
  1136. data/lib/aws-sdk-core/signers/v4.rb +0 -234
  1137. data/lib/aws-sdk-core/simpledb.rb +0 -5
  1138. data/lib/aws-sdk-core/sms.rb +0 -6
  1139. data/lib/aws-sdk-core/snowball.rb +0 -6
  1140. data/lib/aws-sdk-core/sns.rb +0 -7
  1141. data/lib/aws-sdk-core/sqs.rb +0 -7
  1142. data/lib/aws-sdk-core/ssm.rb +0 -6
  1143. data/lib/aws-sdk-core/states.rb +0 -6
  1144. data/lib/aws-sdk-core/storagegateway.rb +0 -6
  1145. data/lib/aws-sdk-core/sts.rb +0 -6
  1146. data/lib/aws-sdk-core/support.rb +0 -6
  1147. data/lib/aws-sdk-core/swf.rb +0 -6
  1148. data/lib/aws-sdk-core/textract.rb +0 -6
  1149. data/lib/aws-sdk-core/transcribeservice.rb +0 -6
  1150. data/lib/aws-sdk-core/transfer.rb +0 -6
  1151. data/lib/aws-sdk-core/translate.rb +0 -6
  1152. data/lib/aws-sdk-core/tree_hash.rb +0 -69
  1153. data/lib/aws-sdk-core/version.rb +0 -3
  1154. data/lib/aws-sdk-core/waf.rb +0 -6
  1155. data/lib/aws-sdk-core/wafregional.rb +0 -6
  1156. data/lib/aws-sdk-core/waiters/null_provider.rb +0 -12
  1157. data/lib/aws-sdk-core/waiters/provider.rb +0 -35
  1158. data/lib/aws-sdk-core/workdocs.rb +0 -6
  1159. data/lib/aws-sdk-core/worklink.rb +0 -6
  1160. data/lib/aws-sdk-core/workmail.rb +0 -6
  1161. data/lib/aws-sdk-core/workmailmessageflow.rb +0 -6
  1162. data/lib/aws-sdk-core/workspaces.rb +0 -6
  1163. data/lib/aws-sdk-core/xray.rb +0 -6
  1164. data/lib/seahorse/client/plugins/restful_bindings.rb +0 -125
  1165. 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.64.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.64.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