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