aws-sdk-core 2.11.212 → 3.170.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1183) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +1589 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-defaults/default_configuration.rb +153 -0
  6. data/lib/aws-defaults/defaults_mode_config_resolver.rb +107 -0
  7. data/lib/aws-defaults.rb +3 -0
  8. data/lib/aws-sdk-core/arn.rb +105 -0
  9. data/lib/aws-sdk-core/arn_parser.rb +40 -0
  10. data/lib/aws-sdk-core/assume_role_credentials.rb +23 -7
  11. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +108 -0
  12. data/lib/aws-sdk-core/async_client_stubs.rb +82 -0
  13. data/lib/aws-sdk-core/binary/decode_handler.rb +58 -0
  14. data/lib/aws-sdk-core/binary/encode_handler.rb +45 -0
  15. data/lib/aws-sdk-core/binary/event_builder.rb +124 -0
  16. data/lib/aws-sdk-core/binary/event_parser.rb +136 -0
  17. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +64 -0
  18. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +55 -0
  19. data/lib/aws-sdk-core/binary.rb +8 -0
  20. data/lib/aws-sdk-core/client_side_monitoring/publisher.rb +51 -0
  21. data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +199 -0
  22. data/lib/aws-sdk-core/client_stubs.rb +31 -21
  23. data/lib/aws-sdk-core/credential_provider.rb +2 -29
  24. data/lib/aws-sdk-core/credential_provider_chain.rb +115 -35
  25. data/lib/aws-sdk-core/credentials.rb +2 -0
  26. data/lib/aws-sdk-core/deprecations.rb +17 -11
  27. data/lib/aws-sdk-core/eager_loader.rb +2 -0
  28. data/lib/aws-sdk-core/ec2_metadata.rb +238 -0
  29. data/lib/aws-sdk-core/ecs_credentials.rb +26 -11
  30. data/lib/aws-sdk-core/endpoint_cache.rb +16 -11
  31. data/lib/aws-sdk-core/endpoints/condition.rb +41 -0
  32. data/lib/aws-sdk-core/endpoints/endpoint.rb +17 -0
  33. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +75 -0
  34. data/lib/aws-sdk-core/endpoints/error_rule.rb +42 -0
  35. data/lib/aws-sdk-core/endpoints/function.rb +80 -0
  36. data/lib/aws-sdk-core/endpoints/matchers.rb +127 -0
  37. data/lib/aws-sdk-core/endpoints/reference.rb +31 -0
  38. data/lib/aws-sdk-core/endpoints/rule.rb +25 -0
  39. data/lib/aws-sdk-core/endpoints/rule_set.rb +52 -0
  40. data/lib/aws-sdk-core/endpoints/rules_provider.rb +37 -0
  41. data/lib/aws-sdk-core/endpoints/templater.rb +58 -0
  42. data/lib/aws-sdk-core/endpoints/tree_rule.rb +45 -0
  43. data/lib/aws-sdk-core/endpoints/url.rb +60 -0
  44. data/lib/aws-sdk-core/endpoints.rb +74 -0
  45. data/lib/aws-sdk-core/errors.rb +229 -31
  46. data/lib/aws-sdk-core/event_emitter.rb +64 -0
  47. data/lib/aws-sdk-core/ini_parser.rb +3 -0
  48. data/lib/aws-sdk-core/instance_profile_credentials.rb +231 -42
  49. data/lib/aws-sdk-core/json/builder.rb +6 -2
  50. data/lib/aws-sdk-core/json/error_handler.rb +31 -3
  51. data/lib/aws-sdk-core/json/handler.rb +24 -3
  52. data/lib/aws-sdk-core/json/json_engine.rb +12 -8
  53. data/lib/aws-sdk-core/json/oj_engine.rb +35 -6
  54. data/lib/aws-sdk-core/json/parser.rb +11 -1
  55. data/lib/aws-sdk-core/json.rb +15 -33
  56. data/lib/aws-sdk-core/log/formatter.rb +16 -4
  57. data/lib/aws-sdk-core/log/handler.rb +2 -0
  58. data/lib/aws-sdk-core/log/param_filter.rb +41 -15
  59. data/lib/aws-sdk-core/log/param_formatter.rb +2 -0
  60. data/lib/aws-sdk-core/pageable_response.rb +119 -47
  61. data/lib/aws-sdk-core/pager.rb +35 -25
  62. data/lib/aws-sdk-core/param_converter.rb +5 -3
  63. data/lib/aws-sdk-core/param_validator.rb +109 -26
  64. data/lib/aws-sdk-core/plugins/api_key.rb +56 -0
  65. data/lib/aws-sdk-core/plugins/apig_authorizer_token.rb +32 -0
  66. data/lib/aws-sdk-core/plugins/apig_credentials_configuration.rb +36 -0
  67. data/lib/aws-sdk-core/plugins/apig_user_agent.rb +39 -0
  68. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +67 -0
  69. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +340 -0
  70. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +283 -0
  71. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +86 -0
  72. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +105 -0
  73. data/lib/aws-sdk-core/plugins/defaults_mode.rb +40 -0
  74. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +58 -53
  75. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +17 -14
  76. data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +32 -0
  77. data/lib/aws-sdk-core/plugins/global_configuration.rb +21 -10
  78. data/lib/aws-sdk-core/plugins/helpful_socket_errors.rb +2 -0
  79. data/lib/aws-sdk-core/plugins/http_checksum.rb +64 -0
  80. data/lib/aws-sdk-core/plugins/idempotency_token.rb +3 -2
  81. data/lib/aws-sdk-core/plugins/invocation_id.rb +35 -0
  82. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +36 -6
  83. data/lib/aws-sdk-core/plugins/logging.rb +20 -18
  84. data/lib/aws-sdk-core/plugins/param_converter.rb +11 -5
  85. data/lib/aws-sdk-core/plugins/param_validator.rb +10 -5
  86. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +29 -0
  87. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +4 -1
  88. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +15 -12
  89. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  90. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +18 -1
  91. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +2 -0
  92. data/lib/aws-sdk-core/plugins/recursion_detection.rb +38 -0
  93. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +99 -28
  94. data/lib/aws-sdk-core/plugins/response_paging.rb +8 -19
  95. data/lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb +139 -0
  96. data/lib/aws-sdk-core/plugins/retries/clock_skew.rb +100 -0
  97. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +147 -0
  98. data/lib/aws-sdk-core/plugins/retries/retry_quota.rb +59 -0
  99. data/lib/aws-sdk-core/plugins/retry_errors.rb +346 -97
  100. data/lib/aws-sdk-core/plugins/sign.rb +200 -0
  101. data/lib/aws-sdk-core/plugins/signature_v2.rb +54 -0
  102. data/lib/aws-sdk-core/plugins/signature_v4.rb +151 -0
  103. data/lib/aws-sdk-core/plugins/stub_responses.rb +44 -18
  104. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +53 -0
  105. data/lib/aws-sdk-core/plugins/user_agent.rb +25 -10
  106. data/lib/aws-sdk-core/process_credentials.rb +79 -0
  107. data/lib/aws-sdk-core/query/ec2_param_builder.rb +11 -3
  108. data/lib/aws-sdk-core/query/handler.rb +22 -16
  109. data/lib/aws-sdk-core/query/param.rb +2 -0
  110. data/lib/aws-sdk-core/query/param_builder.rb +12 -4
  111. data/lib/aws-sdk-core/query/param_list.rb +2 -0
  112. data/lib/aws-sdk-core/query.rb +7 -0
  113. data/lib/aws-sdk-core/refreshing_credentials.rb +45 -12
  114. data/lib/aws-sdk-core/refreshing_token.rb +71 -0
  115. data/lib/aws-sdk-core/resources/collection.rb +123 -0
  116. data/lib/aws-sdk-core/rest/handler.rb +4 -1
  117. data/lib/aws-sdk-core/rest/request/body.rb +21 -1
  118. data/lib/aws-sdk-core/rest/request/builder.rb +4 -1
  119. data/lib/aws-sdk-core/rest/request/endpoint.rb +13 -6
  120. data/lib/aws-sdk-core/rest/request/headers.rb +26 -6
  121. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +17 -2
  122. data/lib/aws-sdk-core/rest/response/body.rb +16 -1
  123. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  124. data/lib/aws-sdk-core/rest/response/parser.rb +20 -14
  125. data/lib/aws-sdk-core/rest/response/status_code.rb +2 -0
  126. data/lib/aws-sdk-core/rest.rb +12 -0
  127. data/lib/aws-sdk-core/shared_config.rb +272 -72
  128. data/lib/aws-sdk-core/shared_credentials.rb +11 -1
  129. data/lib/aws-sdk-core/sso_credentials.rb +172 -0
  130. data/lib/aws-sdk-core/sso_token_provider.rb +135 -0
  131. data/lib/aws-sdk-core/static_token_provider.rb +14 -0
  132. data/lib/aws-sdk-core/structure.rb +39 -17
  133. data/lib/aws-sdk-core/stubbing/data_applicator.rb +3 -1
  134. data/lib/aws-sdk-core/stubbing/empty_stub.rb +12 -3
  135. data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +10 -0
  136. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +3 -1
  137. data/lib/aws-sdk-core/stubbing/protocols/json.rb +3 -1
  138. data/lib/aws-sdk-core/stubbing/protocols/query.rb +4 -2
  139. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +120 -2
  140. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +8 -2
  141. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +11 -7
  142. data/lib/aws-sdk-core/stubbing/stub_data.rb +18 -3
  143. data/lib/aws-sdk-core/stubbing/xml_error.rb +2 -0
  144. data/lib/aws-sdk-core/token.rb +31 -0
  145. data/lib/aws-sdk-core/token_provider.rb +15 -0
  146. data/lib/aws-sdk-core/token_provider_chain.rb +51 -0
  147. data/lib/aws-sdk-core/type_builder.rb +2 -0
  148. data/lib/aws-sdk-core/util.rb +72 -0
  149. data/lib/aws-sdk-core/waiters/errors.rb +2 -0
  150. data/lib/aws-sdk-core/waiters/poller.rb +7 -9
  151. data/lib/aws-sdk-core/waiters/waiter.rb +5 -2
  152. data/lib/aws-sdk-core/waiters.rb +5 -0
  153. data/lib/aws-sdk-core/xml/builder.rb +15 -7
  154. data/lib/aws-sdk-core/xml/default_list.rb +2 -0
  155. data/lib/aws-sdk-core/xml/default_map.rb +2 -0
  156. data/lib/aws-sdk-core/xml/doc_builder.rb +15 -4
  157. data/lib/aws-sdk-core/xml/error_handler.rb +37 -6
  158. data/lib/aws-sdk-core/xml/parser/engines/libxml.rb +2 -0
  159. data/lib/aws-sdk-core/xml/parser/engines/nokogiri.rb +2 -0
  160. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +4 -0
  161. data/lib/aws-sdk-core/xml/parser/engines/ox.rb +3 -1
  162. data/lib/aws-sdk-core/xml/parser/engines/rexml.rb +4 -1
  163. data/lib/aws-sdk-core/xml/parser/frame.rb +31 -6
  164. data/lib/aws-sdk-core/xml/parser/parsing_error.rb +2 -0
  165. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  166. data/lib/aws-sdk-core/xml/parser.rb +8 -11
  167. data/lib/aws-sdk-core/xml.rb +11 -0
  168. data/lib/aws-sdk-core.rb +115 -532
  169. data/lib/aws-sdk-sso/client.rb +610 -0
  170. data/lib/aws-sdk-sso/client_api.rb +190 -0
  171. data/lib/aws-sdk-sso/customizations.rb +1 -0
  172. data/lib/aws-sdk-sso/endpoint_parameters.rb +66 -0
  173. data/lib/aws-sdk-sso/endpoint_provider.rb +51 -0
  174. data/lib/aws-sdk-sso/endpoints.rb +71 -0
  175. data/lib/aws-sdk-sso/errors.rb +102 -0
  176. data/lib/aws-sdk-sso/plugins/endpoints.rb +76 -0
  177. data/lib/aws-sdk-sso/resource.rb +26 -0
  178. data/lib/aws-sdk-sso/types.rb +317 -0
  179. data/lib/aws-sdk-sso.rb +59 -0
  180. data/lib/aws-sdk-ssooidc/client.rb +606 -0
  181. data/lib/aws-sdk-ssooidc/client_api.rb +216 -0
  182. data/lib/aws-sdk-ssooidc/customizations.rb +1 -0
  183. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +66 -0
  184. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +51 -0
  185. data/lib/aws-sdk-ssooidc/endpoints.rb +57 -0
  186. data/lib/aws-sdk-ssooidc/errors.rb +290 -0
  187. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +74 -0
  188. data/lib/aws-sdk-ssooidc/resource.rb +26 -0
  189. data/lib/aws-sdk-ssooidc/types.rb +502 -0
  190. data/lib/aws-sdk-ssooidc.rb +59 -0
  191. data/lib/aws-sdk-sts/client.rb +2343 -0
  192. data/lib/aws-sdk-sts/client_api.rb +344 -0
  193. data/lib/aws-sdk-sts/customizations.rb +4 -0
  194. data/lib/aws-sdk-sts/endpoint_parameters.rb +78 -0
  195. data/lib/aws-sdk-sts/endpoint_provider.rb +109 -0
  196. data/lib/aws-sdk-sts/endpoints.rb +135 -0
  197. data/lib/aws-sdk-sts/errors.rb +166 -0
  198. data/lib/aws-sdk-sts/plugins/endpoints.rb +84 -0
  199. data/lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb +38 -0
  200. data/lib/aws-sdk-sts/presigner.rb +73 -0
  201. data/lib/aws-sdk-sts/resource.rb +26 -0
  202. data/lib/aws-sdk-sts/types.rb +1566 -0
  203. data/lib/aws-sdk-sts.rb +59 -0
  204. data/lib/seahorse/client/async_base.rb +51 -0
  205. data/lib/seahorse/client/async_response.rb +64 -0
  206. data/lib/seahorse/client/base.rb +8 -9
  207. data/lib/seahorse/client/block_io.rb +6 -2
  208. data/lib/seahorse/client/configuration.rb +12 -4
  209. data/lib/seahorse/client/events.rb +3 -1
  210. data/lib/seahorse/client/h2/connection.rb +247 -0
  211. data/lib/seahorse/client/h2/handler.rb +152 -0
  212. data/lib/seahorse/client/handler.rb +2 -0
  213. data/lib/seahorse/client/handler_builder.rb +2 -0
  214. data/lib/seahorse/client/handler_list.rb +2 -0
  215. data/lib/seahorse/client/handler_list_entry.rb +6 -4
  216. data/lib/seahorse/client/http/async_response.rb +44 -0
  217. data/lib/seahorse/client/http/headers.rb +2 -0
  218. data/lib/seahorse/client/http/request.rb +5 -3
  219. data/lib/seahorse/client/http/response.rb +18 -11
  220. data/lib/seahorse/client/logging/formatter.rb +8 -2
  221. data/lib/seahorse/client/logging/handler.rb +4 -0
  222. data/lib/seahorse/client/managed_file.rb +2 -0
  223. data/lib/seahorse/client/net_http/connection_pool.rb +46 -27
  224. data/lib/seahorse/client/net_http/handler.rb +29 -7
  225. data/lib/seahorse/client/net_http/patches.rb +18 -79
  226. data/lib/seahorse/client/networking_error.rb +30 -0
  227. data/lib/seahorse/client/plugin.rb +69 -6
  228. data/lib/seahorse/client/plugin_list.rb +2 -0
  229. data/lib/seahorse/client/plugins/content_length.rb +14 -3
  230. data/lib/seahorse/client/plugins/endpoint.rb +16 -10
  231. data/lib/seahorse/client/plugins/h2.rb +69 -0
  232. data/lib/seahorse/client/plugins/logging.rb +19 -19
  233. data/lib/seahorse/client/plugins/net_http.rb +58 -14
  234. data/lib/seahorse/client/plugins/operation_methods.rb +2 -0
  235. data/lib/seahorse/client/plugins/raise_response_errors.rb +6 -4
  236. data/lib/seahorse/client/plugins/request_callback.rb +110 -0
  237. data/lib/seahorse/client/plugins/response_target.rb +28 -10
  238. data/lib/seahorse/client/request.rb +2 -0
  239. data/lib/seahorse/client/request_context.rb +7 -0
  240. data/lib/seahorse/client/response.rb +5 -5
  241. data/lib/seahorse/model/api.rb +39 -0
  242. data/lib/seahorse/model/authorizer.rb +23 -0
  243. data/lib/seahorse/model/operation.rb +19 -0
  244. data/lib/seahorse/model/shapes.rb +71 -2
  245. data/lib/seahorse/util.rb +13 -23
  246. data/lib/seahorse/version.rb +2 -0
  247. data/lib/seahorse.rb +63 -60
  248. metadata +177 -951
  249. data/apis/AWSMigrationHub/2017-05-31/api-2.json +0 -838
  250. data/apis/AWSMigrationHub/2017-05-31/examples-1.json +0 -5
  251. data/apis/AWSMigrationHub/2017-05-31/paginators-1.json +0 -4
  252. data/apis/acm/2015-12-08/api-2.json +0 -808
  253. data/apis/acm/2015-12-08/examples-1.json +0 -5
  254. data/apis/acm/2015-12-08/paginators-1.json +0 -10
  255. data/apis/acm/2015-12-08/smoke.json +0 -18
  256. data/apis/acm/2015-12-08/waiters-2.json +0 -35
  257. data/apis/acm-pca/2017-08-22/api-2.json +0 -941
  258. data/apis/acm-pca/2017-08-22/examples-1.json +0 -5
  259. data/apis/acm-pca/2017-08-22/paginators-1.json +0 -10
  260. data/apis/acm-pca/2017-08-22/waiters-2.json +0 -61
  261. data/apis/alexaforbusiness/2017-11-09/api-2.json +0 -3104
  262. data/apis/alexaforbusiness/2017-11-09/examples-1.json +0 -5
  263. data/apis/alexaforbusiness/2017-11-09/paginators-1.json +0 -79
  264. data/apis/amplify/2017-07-25/api-2.json +0 -1453
  265. data/apis/amplify/2017-07-25/examples-1.json +0 -5
  266. data/apis/amplify/2017-07-25/paginators-1.json +0 -4
  267. data/apis/apigateway/2015-07-09/api-2.json +0 -5351
  268. data/apis/apigateway/2015-07-09/examples-1.json +0 -5
  269. data/apis/apigateway/2015-07-09/paginators-1.json +0 -76
  270. data/apis/apigateway/2015-07-09/smoke.json +0 -20
  271. data/apis/apigatewaymanagementapi/2018-11-29/api-2.json +0 -96
  272. data/apis/apigatewaymanagementapi/2018-11-29/paginators-1.json +0 -3
  273. data/apis/apigatewayv2/2018-11-29/api-2.json +0 -5531
  274. data/apis/apigatewayv2/2018-11-29/paginators-1.json +0 -3
  275. data/apis/application-autoscaling/2016-02-06/api-2.json +0 -766
  276. data/apis/application-autoscaling/2016-02-06/examples-1.json +0 -257
  277. data/apis/application-autoscaling/2016-02-06/paginators-1.json +0 -22
  278. data/apis/application-autoscaling/2016-02-06/smoke.json +0 -13
  279. data/apis/appmesh/2018-10-01/api-2.json +0 -1972
  280. data/apis/appmesh/2018-10-01/examples-1.json +0 -4
  281. data/apis/appmesh/2018-10-01/paginators-1.json +0 -28
  282. data/apis/appstream/2016-12-01/api-2.json +0 -2171
  283. data/apis/appstream/2016-12-01/examples-1.json +0 -5
  284. data/apis/appstream/2016-12-01/paginators-1.json +0 -14
  285. data/apis/appstream/2016-12-01/smoke.json +0 -11
  286. data/apis/appstream/2016-12-01/waiters-2.json +0 -55
  287. data/apis/appsync/2017-07-25/api-2.json +0 -1812
  288. data/apis/appsync/2017-07-25/examples-1.json +0 -5
  289. data/apis/appsync/2017-07-25/paginators-1.json +0 -4
  290. data/apis/athena/2017-05-18/api-2.json +0 -626
  291. data/apis/athena/2017-05-18/examples-1.json +0 -5
  292. data/apis/athena/2017-05-18/paginators-1.json +0 -19
  293. data/apis/athena/2017-05-18/smoke.json +0 -11
  294. data/apis/autoscaling/2011-01-01/api-2.json +0 -2450
  295. data/apis/autoscaling/2011-01-01/examples-1.json +0 -1396
  296. data/apis/autoscaling/2011-01-01/paginators-1.json +0 -52
  297. data/apis/autoscaling/2011-01-01/resources-1.json +0 -1624
  298. data/apis/autoscaling/2011-01-01/smoke.json +0 -20
  299. data/apis/autoscaling/2011-01-01/waiters-2.json +0 -62
  300. data/apis/autoscaling-plans/2018-01-06/api-2.json +0 -659
  301. data/apis/autoscaling-plans/2018-01-06/examples-1.json +0 -5
  302. data/apis/autoscaling-plans/2018-01-06/paginators-1.json +0 -4
  303. data/apis/backup/2018-11-15/api-2.json +0 -2150
  304. data/apis/backup/2018-11-15/examples-1.json +0 -5
  305. data/apis/backup/2018-11-15/paginators-1.json +0 -59
  306. data/apis/batch/2016-08-10/api-2.json +0 -1072
  307. data/apis/batch/2016-08-10/examples-1.json +0 -589
  308. data/apis/batch/2016-08-10/paginators-1.json +0 -4
  309. data/apis/batch/2016-08-10/smoke.json +0 -11
  310. data/apis/budgets/2016-10-20/api-2.json +0 -801
  311. data/apis/budgets/2016-10-20/examples-1.json +0 -5
  312. data/apis/budgets/2016-10-20/paginators-1.json +0 -4
  313. data/apis/ce/2017-10-25/api-2.json +0 -840
  314. data/apis/ce/2017-10-25/examples-1.json +0 -5
  315. data/apis/ce/2017-10-25/paginators-1.json +0 -4
  316. data/apis/chime/2018-05-01/api-2.json +0 -939
  317. data/apis/chime/2018-05-01/examples-1.json +0 -5
  318. data/apis/chime/2018-05-01/paginators-1.json +0 -14
  319. data/apis/cloud9/2017-09-23/api-2.json +0 -528
  320. data/apis/cloud9/2017-09-23/examples-1.json +0 -308
  321. data/apis/cloud9/2017-09-23/paginators-1.json +0 -14
  322. data/apis/clouddirectory/2016-05-10/api-2.json +0 -4244
  323. data/apis/clouddirectory/2016-05-10/examples-1.json +0 -5
  324. data/apis/clouddirectory/2016-05-10/paginators-1.json +0 -94
  325. data/apis/clouddirectory/2017-01-11/api-2.json +0 -4321
  326. data/apis/clouddirectory/2017-01-11/examples-1.json +0 -5
  327. data/apis/clouddirectory/2017-01-11/paginators-1.json +0 -99
  328. data/apis/cloudformation/2010-05-15/api-2.json +0 -2686
  329. data/apis/cloudformation/2010-05-15/examples-1.json +0 -5
  330. data/apis/cloudformation/2010-05-15/paginators-1.json +0 -42
  331. data/apis/cloudformation/2010-05-15/resources-1.json +0 -211
  332. data/apis/cloudformation/2010-05-15/waiters-2.json +0 -182
  333. data/apis/cloudfront/2016-01-28/api-2.json +0 -2219
  334. data/apis/cloudfront/2016-01-28/examples-1.json +0 -5
  335. data/apis/cloudfront/2016-01-28/paginators-1.json +0 -32
  336. data/apis/cloudfront/2016-01-28/waiters-2.json +0 -47
  337. data/apis/cloudfront/2016-08-01/api-2.json +0 -2548
  338. data/apis/cloudfront/2016-08-01/examples-1.json +0 -5
  339. data/apis/cloudfront/2016-08-01/paginators-1.json +0 -32
  340. data/apis/cloudfront/2016-08-01/waiters-2.json +0 -47
  341. data/apis/cloudfront/2016-08-20/api-2.json +0 -2586
  342. data/apis/cloudfront/2016-08-20/paginators-1.json +0 -32
  343. data/apis/cloudfront/2016-08-20/waiters-2.json +0 -47
  344. data/apis/cloudfront/2016-09-07/api-2.json +0 -2596
  345. data/apis/cloudfront/2016-09-07/examples-1.json +0 -5
  346. data/apis/cloudfront/2016-09-07/paginators-1.json +0 -32
  347. data/apis/cloudfront/2016-09-07/waiters-2.json +0 -47
  348. data/apis/cloudfront/2016-09-29/api-2.json +0 -2599
  349. data/apis/cloudfront/2016-09-29/examples-1.json +0 -5
  350. data/apis/cloudfront/2016-09-29/paginators-1.json +0 -32
  351. data/apis/cloudfront/2016-09-29/waiters-2.json +0 -47
  352. data/apis/cloudfront/2016-11-25/api-2.json +0 -2665
  353. data/apis/cloudfront/2016-11-25/examples-1.json +0 -5
  354. data/apis/cloudfront/2016-11-25/paginators-1.json +0 -32
  355. data/apis/cloudfront/2016-11-25/waiters-2.json +0 -47
  356. data/apis/cloudfront/2017-03-25/api-2.json +0 -2726
  357. data/apis/cloudfront/2017-03-25/examples-1.json +0 -83
  358. data/apis/cloudfront/2017-03-25/paginators-1.json +0 -32
  359. data/apis/cloudfront/2017-03-25/waiters-2.json +0 -47
  360. data/apis/cloudfront/2017-10-30/api-2.json +0 -3906
  361. data/apis/cloudfront/2017-10-30/examples-1.json +0 -5
  362. data/apis/cloudfront/2017-10-30/paginators-1.json +0 -32
  363. data/apis/cloudfront/2017-10-30/smoke.json +0 -20
  364. data/apis/cloudfront/2017-10-30/waiters-2.json +0 -47
  365. data/apis/cloudfront/2018-06-18/api-2.json +0 -3907
  366. data/apis/cloudfront/2018-06-18/examples-1.json +0 -5
  367. data/apis/cloudfront/2018-06-18/paginators-1.json +0 -32
  368. data/apis/cloudfront/2018-06-18/smoke.json +0 -20
  369. data/apis/cloudfront/2018-06-18/waiters-2.json +0 -47
  370. data/apis/cloudfront/2018-11-05/api-2.json +0 -4004
  371. data/apis/cloudfront/2018-11-05/examples-1.json +0 -5
  372. data/apis/cloudfront/2018-11-05/paginators-1.json +0 -32
  373. data/apis/cloudfront/2018-11-05/smoke.json +0 -20
  374. data/apis/cloudfront/2018-11-05/waiters-2.json +0 -47
  375. data/apis/cloudhsm/2014-05-30/api-2.json +0 -879
  376. data/apis/cloudhsm/2014-05-30/examples-1.json +0 -5
  377. data/apis/cloudhsm/2014-05-30/paginators-1.json +0 -4
  378. data/apis/cloudhsmv2/2017-04-28/api-2.json +0 -718
  379. data/apis/cloudhsmv2/2017-04-28/examples-1.json +0 -5
  380. data/apis/cloudhsmv2/2017-04-28/paginators-1.json +0 -19
  381. data/apis/cloudhsmv2/2017-04-28/smoke.json +0 -18
  382. data/apis/cloudsearch/2013-01-01/api-2.json +0 -2002
  383. data/apis/cloudsearch/2013-01-01/paginators-1.json +0 -20
  384. data/apis/cloudsearchdomain/2013-01-01/api-2.json +0 -374
  385. data/apis/cloudsearchdomain/2013-01-01/examples-1.json +0 -5
  386. data/apis/cloudtrail/2013-11-01/api-2.json +0 -978
  387. data/apis/cloudtrail/2013-11-01/examples-1.json +0 -5
  388. data/apis/cloudtrail/2013-11-01/paginators-1.json +0 -13
  389. data/apis/cloudtrail/2013-11-01/smoke.json +0 -18
  390. data/apis/codebuild/2016-10-06/api-2.json +0 -1211
  391. data/apis/codebuild/2016-10-06/examples-1.json +0 -281
  392. data/apis/codebuild/2016-10-06/paginators-1.json +0 -4
  393. data/apis/codebuild/2016-10-06/smoke.json +0 -11
  394. data/apis/codecommit/2015-04-13/api-2.json +0 -2842
  395. data/apis/codecommit/2015-04-13/examples-1.json +0 -5
  396. data/apis/codecommit/2015-04-13/paginators-1.json +0 -39
  397. data/apis/codecommit/2015-04-13/smoke.json +0 -18
  398. data/apis/codedeploy/2014-10-06/api-2.json +0 -3062
  399. data/apis/codedeploy/2014-10-06/examples-1.json +0 -5
  400. data/apis/codedeploy/2014-10-06/paginators-1.json +0 -34
  401. data/apis/codedeploy/2014-10-06/smoke.json +0 -18
  402. data/apis/codedeploy/2014-10-06/waiters-2.json +0 -30
  403. data/apis/codepipeline/2015-07-09/api-2.json +0 -2085
  404. data/apis/codepipeline/2015-07-09/examples-1.json +0 -5
  405. data/apis/codepipeline/2015-07-09/paginators-1.json +0 -4
  406. data/apis/codepipeline/2015-07-09/smoke.json +0 -18
  407. data/apis/codestar/2017-04-19/api-2.json +0 -1033
  408. data/apis/codestar/2017-04-19/examples-1.json +0 -5
  409. data/apis/codestar/2017-04-19/paginators-1.json +0 -4
  410. data/apis/codestar/2017-04-19/smoke.json +0 -11
  411. data/apis/cognito-identity/2014-06-30/api-2.json +0 -943
  412. data/apis/cognito-identity/2014-06-30/examples-1.json +0 -5
  413. data/apis/cognito-identity/2014-06-30/paginators-1.json +0 -4
  414. data/apis/cognito-idp/2016-04-18/api-2.json +0 -5194
  415. data/apis/cognito-idp/2016-04-18/examples-1.json +0 -5
  416. data/apis/cognito-idp/2016-04-18/paginators-1.json +0 -4
  417. data/apis/cognito-idp/2016-04-18/smoke.json +0 -20
  418. data/apis/cognito-sync/2014-06-30/api-2.json +0 -1875
  419. data/apis/comprehend/2017-11-27/api-2.json +0 -2106
  420. data/apis/comprehend/2017-11-27/examples-1.json +0 -5
  421. data/apis/comprehend/2017-11-27/paginators-1.json +0 -29
  422. data/apis/comprehendmedical/2018-10-30/api-2.json +0 -248
  423. data/apis/comprehendmedical/2018-10-30/examples-1.json +0 -5
  424. data/apis/comprehendmedical/2018-10-30/paginators-1.json +0 -4
  425. data/apis/config/2014-11-12/api-2.json +0 -2477
  426. data/apis/config/2014-11-12/examples-1.json +0 -5
  427. data/apis/config/2014-11-12/paginators-1.json +0 -10
  428. data/apis/config/2014-11-12/smoke.json +0 -19
  429. data/apis/connect/2017-08-08/api-2.json +0 -1379
  430. data/apis/connect/2017-08-08/examples-1.json +0 -5
  431. data/apis/connect/2017-08-08/paginators-1.json +0 -14
  432. data/apis/cur/2017-01-06/api-2.json +0 -226
  433. data/apis/cur/2017-01-06/examples-1.json +0 -5
  434. data/apis/cur/2017-01-06/paginators-1.json +0 -9
  435. data/apis/datapipeline/2012-10-29/api-2.json +0 -1168
  436. data/apis/datapipeline/2012-10-29/paginators-1.json +0 -26
  437. data/apis/datasync/2018-11-09/api-2.json +0 -1060
  438. data/apis/datasync/2018-11-09/examples-1.json +0 -5
  439. data/apis/datasync/2018-11-09/paginators-1.json +0 -29
  440. data/apis/dax/2017-04-19/api-2.json +0 -1140
  441. data/apis/dax/2017-04-19/examples-1.json +0 -5
  442. data/apis/dax/2017-04-19/paginators-1.json +0 -4
  443. data/apis/devicefarm/2015-06-23/api-2.json +0 -3053
  444. data/apis/devicefarm/2015-06-23/examples-1.json +0 -1242
  445. data/apis/devicefarm/2015-06-23/paginators-1.json +0 -77
  446. data/apis/devicefarm/2015-06-23/smoke.json +0 -18
  447. data/apis/directconnect/2012-10-25/api-2.json +0 -1689
  448. data/apis/directconnect/2012-10-25/examples-1.json +0 -5
  449. data/apis/directconnect/2012-10-25/paginators-1.json +0 -22
  450. data/apis/directconnect/2012-10-25/smoke.json +0 -18
  451. data/apis/discovery/2015-11-01/api-2.json +0 -1331
  452. data/apis/discovery/2015-11-01/examples-1.json +0 -5
  453. data/apis/discovery/2015-11-01/paginators-1.json +0 -14
  454. data/apis/discovery/2015-11-01/smoke.json +0 -11
  455. data/apis/dlm/2018-01-12/api-2.json +0 -418
  456. data/apis/dlm/2018-01-12/examples-1.json +0 -5
  457. data/apis/dlm/2018-01-12/paginators-1.json +0 -4
  458. data/apis/dms/2016-01-01/api-2.json +0 -2040
  459. data/apis/dms/2016-01-01/examples-1.json +0 -1053
  460. data/apis/dms/2016-01-01/paginators-1.json +0 -74
  461. data/apis/dms/2016-01-01/smoke.json +0 -18
  462. data/apis/dms/2016-01-01/waiters-2.json +0 -336
  463. data/apis/docdb/2014-10-31/api-2.json +0 -2413
  464. data/apis/docdb/2014-10-31/examples-1.json +0 -5
  465. data/apis/docdb/2014-10-31/paginators-1.json +0 -43
  466. data/apis/docdb/2014-10-31/smoke.json +0 -18
  467. data/apis/docdb/2014-10-31/waiters-2.json +0 -90
  468. data/apis/ds/2015-04-16/api-2.json +0 -2631
  469. data/apis/ds/2015-04-16/examples-1.json +0 -5
  470. data/apis/ds/2015-04-16/paginators-1.json +0 -9
  471. data/apis/ds/2015-04-16/smoke.json +0 -20
  472. data/apis/dynamodb/2011-12-05/api-2.json +0 -803
  473. data/apis/dynamodb/2011-12-05/examples-1.json +0 -5
  474. data/apis/dynamodb/2011-12-05/paginators-1.json +0 -26
  475. data/apis/dynamodb/2011-12-05/smoke.json +0 -20
  476. data/apis/dynamodb/2011-12-05/waiters-2.json +0 -35
  477. data/apis/dynamodb/2012-08-10/api-2.json +0 -2801
  478. data/apis/dynamodb/2012-08-10/examples-1.json +0 -631
  479. data/apis/dynamodb/2012-08-10/paginators-1.json +0 -26
  480. data/apis/dynamodb/2012-08-10/resources-1.json +0 -136
  481. data/apis/dynamodb/2012-08-10/smoke.json +0 -20
  482. data/apis/dynamodb/2012-08-10/waiters-2.json +0 -35
  483. data/apis/ec2/2015-10-01/api-2.json +0 -13760
  484. data/apis/ec2/2015-10-01/examples-1.json +0 -5
  485. data/apis/ec2/2015-10-01/paginators-1.json +0 -138
  486. data/apis/ec2/2015-10-01/resources-1.json +0 -2582
  487. data/apis/ec2/2015-10-01/waiters-2.json +0 -593
  488. data/apis/ec2/2016-04-01/api-2.json +0 -14191
  489. data/apis/ec2/2016-04-01/examples-1.json +0 -3729
  490. data/apis/ec2/2016-04-01/paginators-1.json +0 -138
  491. data/apis/ec2/2016-04-01/resources-1.json +0 -2582
  492. data/apis/ec2/2016-04-01/waiters-2.json +0 -593
  493. data/apis/ec2/2016-09-15/api-2.json +0 -14415
  494. data/apis/ec2/2016-09-15/examples-1.json +0 -3740
  495. data/apis/ec2/2016-09-15/paginators-1.json +0 -138
  496. data/apis/ec2/2016-09-15/resources-1.json +0 -2582
  497. data/apis/ec2/2016-09-15/waiters-2.json +0 -593
  498. data/apis/ec2/2016-11-15/api-2.json +0 -23190
  499. data/apis/ec2/2016-11-15/examples-1.json +0 -5048
  500. data/apis/ec2/2016-11-15/paginators-1.json +0 -153
  501. data/apis/ec2/2016-11-15/resources-1.json +0 -2582
  502. data/apis/ec2/2016-11-15/smoke.json +0 -20
  503. data/apis/ec2/2016-11-15/waiters-2.json +0 -622
  504. data/apis/ecr/2015-09-21/api-2.json +0 -1328
  505. data/apis/ecr/2015-09-21/examples-1.json +0 -215
  506. data/apis/ecr/2015-09-21/paginators-1.json +0 -22
  507. data/apis/ecr/2015-09-21/smoke.json +0 -18
  508. data/apis/ecs/2014-11-13/api-2.json +0 -2414
  509. data/apis/ecs/2014-11-13/examples-1.json +0 -952
  510. data/apis/ecs/2014-11-13/paginators-1.json +0 -40
  511. data/apis/ecs/2014-11-13/waiters-2.json +0 -93
  512. data/apis/eks/2017-11-01/api-2.json +0 -509
  513. data/apis/eks/2017-11-01/examples-1.json +0 -114
  514. data/apis/eks/2017-11-01/paginators-1.json +0 -4
  515. data/apis/eks/2017-11-01/waiters-2.json +0 -54
  516. data/apis/elasticache/2015-02-02/api-2.json +0 -2793
  517. data/apis/elasticache/2015-02-02/examples-1.json +0 -3149
  518. data/apis/elasticache/2015-02-02/paginators-1.json +0 -76
  519. data/apis/elasticache/2015-02-02/smoke.json +0 -18
  520. data/apis/elasticache/2015-02-02/waiters-2.json +0 -143
  521. data/apis/elasticbeanstalk/2010-12-01/api-2.json +0 -2488
  522. data/apis/elasticbeanstalk/2010-12-01/examples-1.json +0 -1109
  523. data/apis/elasticbeanstalk/2010-12-01/paginators-1.json +0 -25
  524. data/apis/elasticbeanstalk/2010-12-01/smoke.json +0 -18
  525. data/apis/elasticfilesystem/2015-02-01/api-2.json +0 -805
  526. data/apis/elasticfilesystem/2015-02-01/examples-1.json +0 -222
  527. data/apis/elasticfilesystem/2015-02-01/paginators-1.json +0 -4
  528. data/apis/elasticfilesystem/2015-02-01/smoke.json +0 -18
  529. data/apis/elasticloadbalancing/2012-06-01/api-2.json +0 -1642
  530. data/apis/elasticloadbalancing/2012-06-01/examples-1.json +0 -1036
  531. data/apis/elasticloadbalancing/2012-06-01/paginators-1.json +0 -18
  532. data/apis/elasticloadbalancing/2012-06-01/smoke.json +0 -20
  533. data/apis/elasticloadbalancing/2012-06-01/waiters-2.json +0 -54
  534. data/apis/elasticloadbalancingv2/2015-12-01/api-2.json +0 -2241
  535. data/apis/elasticloadbalancingv2/2015-12-01/examples-1.json +0 -1384
  536. data/apis/elasticloadbalancingv2/2015-12-01/paginators-1.json +0 -19
  537. data/apis/elasticloadbalancingv2/2015-12-01/smoke.json +0 -20
  538. data/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json +0 -100
  539. data/apis/elasticmapreduce/2009-03-31/api-2.json +0 -2086
  540. data/apis/elasticmapreduce/2009-03-31/examples-1.json +0 -5
  541. data/apis/elasticmapreduce/2009-03-31/paginators-1.json +0 -37
  542. data/apis/elasticmapreduce/2009-03-31/smoke.json +0 -18
  543. data/apis/elasticmapreduce/2009-03-31/waiters-2.json +0 -86
  544. data/apis/elastictranscoder/2012-09-25/api-2.json +0 -1484
  545. data/apis/elastictranscoder/2012-09-25/examples-1.json +0 -5
  546. data/apis/elastictranscoder/2012-09-25/paginators-1.json +0 -24
  547. data/apis/elastictranscoder/2012-09-25/smoke.json +0 -18
  548. data/apis/elastictranscoder/2012-09-25/waiters-2.json +0 -30
  549. data/apis/email/2010-12-01/api-2.json +0 -3134
  550. data/apis/email/2010-12-01/examples-1.json +0 -1021
  551. data/apis/email/2010-12-01/paginators-1.json +0 -18
  552. data/apis/email/2010-12-01/smoke.json +0 -18
  553. data/apis/email/2010-12-01/waiters-2.json +0 -18
  554. data/apis/entitlement.marketplace/2017-01-11/api-2.json +0 -128
  555. data/apis/entitlement.marketplace/2017-01-11/examples-1.json +0 -5
  556. data/apis/entitlement.marketplace/2017-01-11/paginators-1.json +0 -4
  557. data/apis/es/2015-01-01/api-2.json +0 -1520
  558. data/apis/es/2015-01-01/examples-1.json +0 -5
  559. data/apis/es/2015-01-01/paginators-1.json +0 -29
  560. data/apis/es/2015-01-01/smoke.json +0 -18
  561. data/apis/events/2015-10-07/api-2.json +0 -850
  562. data/apis/events/2015-10-07/examples-1.json +0 -5
  563. data/apis/events/2015-10-07/paginators-1.json +0 -4
  564. data/apis/events/2015-10-07/smoke.json +0 -18
  565. data/apis/firehose/2015-08-04/api-2.json +0 -1376
  566. data/apis/firehose/2015-08-04/examples-1.json +0 -5
  567. data/apis/firehose/2015-08-04/paginators-1.json +0 -4
  568. data/apis/firehose/2015-08-04/smoke.json +0 -18
  569. data/apis/fms/2018-01-01/api-2.json +0 -636
  570. data/apis/fms/2018-01-01/examples-1.json +0 -5
  571. data/apis/fms/2018-01-01/paginators-1.json +0 -4
  572. data/apis/fsx/2018-03-01/api-2.json +0 -953
  573. data/apis/fsx/2018-03-01/examples-1.json +0 -384
  574. data/apis/fsx/2018-03-01/paginators-1.json +0 -14
  575. data/apis/gamelift/2015-10-01/api-2.json +0 -3243
  576. data/apis/gamelift/2015-10-01/examples-1.json +0 -5
  577. data/apis/gamelift/2015-10-01/paginators-1.json +0 -4
  578. data/apis/glacier/2012-06-01/api-2.json +0 -1906
  579. data/apis/glacier/2012-06-01/examples-1.json +0 -806
  580. data/apis/glacier/2012-06-01/paginators-1.json +0 -28
  581. data/apis/glacier/2012-06-01/resources-1.json +0 -563
  582. data/apis/glacier/2012-06-01/smoke.json +0 -18
  583. data/apis/glacier/2012-06-01/waiters-2.json +0 -39
  584. data/apis/globalaccelerator/2018-08-08/api-2.json +0 -798
  585. data/apis/globalaccelerator/2018-08-08/examples-1.json +0 -5
  586. data/apis/globalaccelerator/2018-08-08/paginators-1.json +0 -4
  587. data/apis/glue/2017-03-31/api-2.json +0 -4410
  588. data/apis/glue/2017-03-31/examples-1.json +0 -5
  589. data/apis/glue/2017-03-31/paginators-1.json +0 -69
  590. data/apis/glue/2017-03-31/smoke.json +0 -11
  591. data/apis/greengrass/2017-06-07/api-2.json +0 -4936
  592. data/apis/guardduty/2017-11-28/api-2.json +0 -3039
  593. data/apis/guardduty/2017-11-28/paginators-1.json +0 -46
  594. data/apis/health/2016-08-04/api-2.json +0 -553
  595. data/apis/health/2016-08-04/examples-1.json +0 -5
  596. data/apis/health/2016-08-04/paginators-1.json +0 -31
  597. data/apis/health/2016-08-04/smoke.json +0 -11
  598. data/apis/iam/2010-05-08/api-2.json +0 -5629
  599. data/apis/iam/2010-05-08/examples-1.json +0 -1489
  600. data/apis/iam/2010-05-08/paginators-1.json +0 -198
  601. data/apis/iam/2010-05-08/resources-1.json +0 -1740
  602. data/apis/iam/2010-05-08/smoke.json +0 -18
  603. data/apis/iam/2010-05-08/waiters-2.json +0 -39
  604. data/apis/importexport/2010-06-01/api-2.json +0 -667
  605. data/apis/importexport/2010-06-01/paginators-1.json +0 -11
  606. data/apis/inspector/2016-02-16/api-2.json +0 -2387
  607. data/apis/inspector/2016-02-16/examples-1.json +0 -1148
  608. data/apis/inspector/2016-02-16/paginators-1.json +0 -54
  609. data/apis/inspector/2016-02-16/smoke.json +0 -18
  610. data/apis/iot/2015-05-28/api-2.json +0 -8866
  611. data/apis/iot/2015-05-28/examples-1.json +0 -5
  612. data/apis/iot/2015-05-28/paginators-1.json +0 -4
  613. data/apis/iot/2015-05-28/smoke.json +0 -18
  614. data/apis/iot-data/2015-05-28/api-2.json +0 -264
  615. data/apis/iot-jobs-data/2017-09-29/api-2.json +0 -348
  616. data/apis/iot-jobs-data/2017-09-29/examples-1.json +0 -5
  617. data/apis/iot-jobs-data/2017-09-29/paginators-1.json +0 -4
  618. data/apis/iot1click-devices/2018-05-14/api-2.json +0 -769
  619. data/apis/iot1click-projects/2018-05-14/api-2.json +0 -748
  620. data/apis/iot1click-projects/2018-05-14/examples-1.json +0 -5
  621. data/apis/iot1click-projects/2018-05-14/paginators-1.json +0 -4
  622. data/apis/iotanalytics/2017-11-27/api-2.json +0 -2054
  623. data/apis/iotanalytics/2017-11-27/examples-1.json +0 -5
  624. data/apis/iotanalytics/2017-11-27/paginators-1.json +0 -29
  625. data/apis/kafka/2018-11-14/api-2.json +0 -789
  626. data/apis/kafka/2018-11-14/paginators-1.json +0 -3
  627. data/apis/kinesis/2013-12-02/api-2.json +0 -1409
  628. data/apis/kinesis/2013-12-02/examples-1.json +0 -5
  629. data/apis/kinesis/2013-12-02/paginators-1.json +0 -23
  630. data/apis/kinesis/2013-12-02/smoke.json +0 -18
  631. data/apis/kinesis/2013-12-02/waiters-2.json +0 -30
  632. data/apis/kinesis-video-archived-media/2017-09-30/api-2.json +0 -318
  633. data/apis/kinesis-video-archived-media/2017-09-30/examples-1.json +0 -5
  634. data/apis/kinesis-video-archived-media/2017-09-30/paginators-1.json +0 -4
  635. data/apis/kinesis-video-media/2017-09-30/api-2.json +0 -160
  636. data/apis/kinesis-video-media/2017-09-30/examples-1.json +0 -5
  637. data/apis/kinesis-video-media/2017-09-30/paginators-1.json +0 -4
  638. data/apis/kinesisanalytics/2015-08-14/api-2.json +0 -1378
  639. data/apis/kinesisanalytics/2015-08-14/examples-1.json +0 -5
  640. data/apis/kinesisanalytics/2015-08-14/paginators-1.json +0 -4
  641. data/apis/kinesisanalyticsv2/2018-05-23/api-2.json +0 -1984
  642. data/apis/kinesisanalyticsv2/2018-05-23/examples-1.json +0 -5
  643. data/apis/kinesisanalyticsv2/2018-05-23/paginators-1.json +0 -4
  644. data/apis/kinesisvideo/2017-09-30/api-2.json +0 -549
  645. data/apis/kinesisvideo/2017-09-30/examples-1.json +0 -5
  646. data/apis/kinesisvideo/2017-09-30/paginators-1.json +0 -4
  647. data/apis/kms/2014-11-01/api-2.json +0 -1833
  648. data/apis/kms/2014-11-01/examples-1.json +0 -906
  649. data/apis/kms/2014-11-01/paginators-1.json +0 -32
  650. data/apis/kms/2014-11-01/smoke.json +0 -19
  651. data/apis/lambda/2014-11-11/api-2.json +0 -668
  652. data/apis/lambda/2014-11-11/paginators-1.json +0 -16
  653. data/apis/lambda/2015-03-31/api-2.json +0 -2317
  654. data/apis/lambda/2015-03-31/examples-1.json +0 -614
  655. data/apis/lambda/2015-03-31/paginators-1.json +0 -16
  656. data/apis/lambda/2015-03-31/smoke.json +0 -18
  657. data/apis/lex-models/2017-04-19/api-2.json +0 -2261
  658. data/apis/lex-models/2017-04-19/examples-1.json +0 -758
  659. data/apis/lex-models/2017-04-19/paginators-1.json +0 -54
  660. data/apis/license-manager/2018-08-01/api-2.json +0 -780
  661. data/apis/license-manager/2018-08-01/examples-1.json +0 -5
  662. data/apis/license-manager/2018-08-01/paginators-1.json +0 -4
  663. data/apis/lightsail/2016-11-28/api-2.json +0 -4732
  664. data/apis/lightsail/2016-11-28/examples-1.json +0 -5
  665. data/apis/lightsail/2016-11-28/paginators-1.json +0 -4
  666. data/apis/lightsail/2016-11-28/smoke.json +0 -11
  667. data/apis/logs/2014-03-28/api-2.json +0 -1689
  668. data/apis/logs/2014-03-28/examples-1.json +0 -5
  669. data/apis/logs/2014-03-28/paginators-1.json +0 -49
  670. data/apis/logs/2014-03-28/smoke.json +0 -19
  671. data/apis/machinelearning/2014-12-12/api-2.json +0 -1978
  672. data/apis/machinelearning/2014-12-12/examples-1.json +0 -5
  673. data/apis/machinelearning/2014-12-12/paginators-1.json +0 -28
  674. data/apis/machinelearning/2014-12-12/waiters-2.json +0 -81
  675. data/apis/macie/2017-12-19/api-2.json +0 -365
  676. data/apis/macie/2017-12-19/examples-1.json +0 -5
  677. data/apis/macie/2017-12-19/paginators-1.json +0 -14
  678. data/apis/marketplacecommerceanalytics/2015-07-01/api-2.json +0 -171
  679. data/apis/marketplacecommerceanalytics/2015-07-01/examples-1.json +0 -5
  680. data/apis/marketplacecommerceanalytics/2015-07-01/paginators-1.json +0 -4
  681. data/apis/mediaconnect/2018-11-14/api-2.json +0 -1586
  682. data/apis/mediaconnect/2018-11-14/paginators-1.json +0 -10
  683. data/apis/mediaconvert/2017-08-29/api-2.json +0 -7691
  684. data/apis/mediaconvert/2017-08-29/paginators-1.json +0 -34
  685. data/apis/medialive/2017-10-14/api-2.json +0 -7865
  686. data/apis/medialive/2017-10-14/paginators-1.json +0 -40
  687. data/apis/mediapackage/2017-10-12/api-2.json +0 -1780
  688. data/apis/mediapackage/2017-10-12/paginators-1.json +0 -16
  689. data/apis/mediastore/2017-09-01/api-2.json +0 -568
  690. data/apis/mediastore/2017-09-01/examples-1.json +0 -5
  691. data/apis/mediastore/2017-09-01/paginators-1.json +0 -4
  692. data/apis/mediastore-data/2017-09-01/api-2.json +0 -392
  693. data/apis/mediastore-data/2017-09-01/examples-1.json +0 -5
  694. data/apis/mediastore-data/2017-09-01/paginators-1.json +0 -4
  695. data/apis/mediatailor/2018-04-23/api-2.json +0 -311
  696. data/apis/mediatailor/2018-04-23/paginators-1.json +0 -3
  697. data/apis/meteringmarketplace/2016-01-14/api-2.json +0 -347
  698. data/apis/meteringmarketplace/2016-01-14/examples-1.json +0 -5
  699. data/apis/meteringmarketplace/2016-01-14/paginators-1.json +0 -4
  700. data/apis/mobile/2017-07-01/api-2.json +0 -551
  701. data/apis/mobile/2017-07-01/examples-1.json +0 -5
  702. data/apis/mobile/2017-07-01/paginators-1.json +0 -14
  703. data/apis/monitoring/2010-08-01/api-2.json +0 -1199
  704. data/apis/monitoring/2010-08-01/examples-1.json +0 -5
  705. data/apis/monitoring/2010-08-01/paginators-1.json +0 -24
  706. data/apis/monitoring/2010-08-01/resources-1.json +0 -346
  707. data/apis/monitoring/2010-08-01/waiters-2.json +0 -18
  708. data/apis/mq/2017-11-27/api-2.json +0 -2241
  709. data/apis/mq/2017-11-27/paginators-1.json +0 -3
  710. data/apis/mturk-requester/2017-01-17/api-2.json +0 -1696
  711. data/apis/mturk-requester/2017-01-17/examples-1.json +0 -5
  712. data/apis/mturk-requester/2017-01-17/paginators-1.json +0 -54
  713. data/apis/neptune/2014-10-31/api-2.json +0 -3506
  714. data/apis/neptune/2014-10-31/examples-1.json +0 -5
  715. data/apis/neptune/2014-10-31/paginators-1.json +0 -61
  716. data/apis/neptune/2014-10-31/waiters-2.json +0 -90
  717. data/apis/opsworks/2013-02-18/api-2.json +0 -2885
  718. data/apis/opsworks/2013-02-18/examples-1.json +0 -5
  719. data/apis/opsworks/2013-02-18/paginators-1.json +0 -55
  720. data/apis/opsworks/2013-02-18/resources-1.json +0 -173
  721. data/apis/opsworks/2013-02-18/smoke.json +0 -18
  722. data/apis/opsworks/2013-02-18/waiters-2.json +0 -289
  723. data/apis/opsworkscm/2016-11-01/api-2.json +0 -766
  724. data/apis/opsworkscm/2016-11-01/examples-1.json +0 -5
  725. data/apis/opsworkscm/2016-11-01/paginators-1.json +0 -4
  726. data/apis/opsworkscm/2016-11-01/waiters-2.json +0 -25
  727. data/apis/organizations/2016-11-28/api-2.json +0 -2137
  728. data/apis/organizations/2016-11-28/examples-1.json +0 -1409
  729. data/apis/organizations/2016-11-28/paginators-1.json +0 -69
  730. data/apis/pi/2018-02-27/api-2.json +0 -253
  731. data/apis/pi/2018-02-27/examples-1.json +0 -5
  732. data/apis/pi/2018-02-27/paginators-1.json +0 -4
  733. data/apis/pinpoint/2016-12-01/api-2.json +0 -6965
  734. data/apis/pinpoint/2016-12-01/examples-1.json +0 -5
  735. data/apis/pinpoint-email/2018-07-26/api-2.json +0 -1710
  736. data/apis/pinpoint-email/2018-07-26/examples-1.json +0 -5
  737. data/apis/pinpoint-email/2018-07-26/paginators-1.json +0 -29
  738. data/apis/polly/2016-06-10/api-2.json +0 -795
  739. data/apis/polly/2016-06-10/examples-1.json +0 -171
  740. data/apis/polly/2016-06-10/paginators-1.json +0 -9
  741. data/apis/polly/2016-06-10/smoke.json +0 -11
  742. data/apis/pricing/2017-10-15/api-2.json +0 -227
  743. data/apis/pricing/2017-10-15/examples-1.json +0 -103
  744. data/apis/pricing/2017-10-15/paginators-1.json +0 -19
  745. data/apis/quicksight/2018-04-01/api-2.json +0 -1158
  746. data/apis/quicksight/2018-04-01/examples-1.json +0 -5
  747. data/apis/quicksight/2018-04-01/paginators-1.json +0 -4
  748. data/apis/ram/2018-01-04/api-2.json +0 -964
  749. data/apis/ram/2018-01-04/examples-1.json +0 -5
  750. data/apis/ram/2018-01-04/paginators-1.json +0 -34
  751. data/apis/rds/2013-01-10/api-2.json +0 -2903
  752. data/apis/rds/2013-01-10/examples-1.json +0 -5
  753. data/apis/rds/2013-01-10/paginators-1.json +0 -97
  754. data/apis/rds/2013-01-10/smoke.json +0 -18
  755. data/apis/rds/2013-02-12/api-2.json +0 -3059
  756. data/apis/rds/2013-02-12/examples-1.json +0 -5
  757. data/apis/rds/2013-02-12/paginators-1.json +0 -110
  758. data/apis/rds/2013-02-12/smoke.json +0 -18
  759. data/apis/rds/2013-09-09/api-2.json +0 -3160
  760. data/apis/rds/2013-09-09/examples-1.json +0 -5
  761. data/apis/rds/2013-09-09/paginators-1.json +0 -110
  762. data/apis/rds/2013-09-09/smoke.json +0 -18
  763. data/apis/rds/2013-09-09/waiters-2.json +0 -97
  764. data/apis/rds/2014-09-01/api-2.json +0 -3273
  765. data/apis/rds/2014-09-01/examples-1.json +0 -5
  766. data/apis/rds/2014-09-01/paginators-1.json +0 -4
  767. data/apis/rds/2014-09-01/smoke.json +0 -18
  768. data/apis/rds/2014-10-31/api-2.json +0 -6455
  769. data/apis/rds/2014-10-31/examples-1.json +0 -1951
  770. data/apis/rds/2014-10-31/paginators-1.json +0 -128
  771. data/apis/rds/2014-10-31/resources-1.json +0 -3272
  772. data/apis/rds/2014-10-31/smoke.json +0 -18
  773. data/apis/rds/2014-10-31/waiters-2.json +0 -175
  774. data/apis/rds/2015-11-12/api-2.json +0 -5509
  775. data/apis/rds/2015-11-12/examples-1.json +0 -1951
  776. data/apis/rds/2015-11-12/paginators-1.json +0 -110
  777. data/apis/rds/2015-11-12/resources-1.json +0 -3272
  778. data/apis/rds/2015-11-12/waiters-2.json +0 -175
  779. data/apis/rds-data/2018-08-01/api-2.json +0 -329
  780. data/apis/rds-data/2018-08-01/examples-1.json +0 -4
  781. data/apis/rds-data/2018-08-01/paginators-1.json +0 -3
  782. data/apis/redshift/2012-12-01/api-2.json +0 -4885
  783. data/apis/redshift/2012-12-01/examples-1.json +0 -5
  784. data/apis/redshift/2012-12-01/paginators-1.json +0 -94
  785. data/apis/redshift/2012-12-01/smoke.json +0 -18
  786. data/apis/redshift/2012-12-01/waiters-2.json +0 -97
  787. data/apis/rekognition/2016-06-27/api-2.json +0 -2140
  788. data/apis/rekognition/2016-06-27/examples-1.json +0 -651
  789. data/apis/rekognition/2016-06-27/paginators-1.json +0 -51
  790. data/apis/rekognition/2016-06-27/smoke.json +0 -11
  791. data/apis/resource-groups/2017-11-27/api-2.json +0 -731
  792. data/apis/resource-groups/2017-11-27/examples-1.json +0 -5
  793. data/apis/resource-groups/2017-11-27/paginators-1.json +0 -19
  794. data/apis/resourcegroupstaggingapi/2017-01-26/api-2.json +0 -328
  795. data/apis/resourcegroupstaggingapi/2017-01-26/examples-1.json +0 -5
  796. data/apis/resourcegroupstaggingapi/2017-01-26/paginators-1.json +0 -20
  797. data/apis/robomaker/2018-06-29/api-2.json +0 -1775
  798. data/apis/robomaker/2018-06-29/examples-1.json +0 -5
  799. data/apis/robomaker/2018-06-29/paginators-1.json +0 -4
  800. data/apis/route53/2013-04-01/api-2.json +0 -3772
  801. data/apis/route53/2013-04-01/examples-1.json +0 -762
  802. data/apis/route53/2013-04-01/paginators-1.json +0 -33
  803. data/apis/route53/2013-04-01/smoke.json +0 -18
  804. data/apis/route53/2013-04-01/waiters-2.json +0 -18
  805. data/apis/route53domains/2014-05-15/api-2.json +0 -1382
  806. data/apis/route53domains/2014-05-15/examples-1.json +0 -5
  807. data/apis/route53domains/2014-05-15/paginators-1.json +0 -16
  808. data/apis/route53resolver/2018-04-01/api-2.json +0 -1199
  809. data/apis/route53resolver/2018-04-01/examples-1.json +0 -5
  810. data/apis/route53resolver/2018-04-01/paginators-1.json +0 -24
  811. data/apis/route53resolver/2018-04-01/smoke.json +0 -18
  812. data/apis/runtime.lex/2016-11-28/api-2.json +0 -419
  813. data/apis/runtime.lex/2016-11-28/examples-1.json +0 -5
  814. data/apis/runtime.lex/2016-11-28/paginators-1.json +0 -4
  815. data/apis/runtime.sagemaker/2017-05-13/api-2.json +0 -152
  816. data/apis/runtime.sagemaker/2017-05-13/examples-1.json +0 -5
  817. data/apis/runtime.sagemaker/2017-05-13/paginators-1.json +0 -4
  818. data/apis/s3/2006-03-01/api-2.json +0 -6519
  819. data/apis/s3/2006-03-01/examples-1.json +0 -1876
  820. data/apis/s3/2006-03-01/paginators-1.json +0 -66
  821. data/apis/s3/2006-03-01/resources-1.json +0 -1249
  822. data/apis/s3/2006-03-01/smoke.json +0 -11
  823. data/apis/s3/2006-03-01/waiters-2.json +0 -73
  824. data/apis/s3control/2018-08-20/api-2.json +0 -126
  825. data/apis/s3control/2018-08-20/examples-1.json +0 -5
  826. data/apis/s3control/2018-08-20/paginators-1.json +0 -4
  827. data/apis/sagemaker/2017-07-24/api-2.json +0 -5070
  828. data/apis/sagemaker/2017-07-24/examples-1.json +0 -5
  829. data/apis/sagemaker/2017-07-24/paginators-1.json +0 -84
  830. data/apis/sagemaker/2017-07-24/waiters-2.json +0 -163
  831. data/apis/sdb/2009-04-15/api-2.json +0 -955
  832. data/apis/sdb/2009-04-15/paginators-1.json +0 -15
  833. data/apis/secretsmanager/2017-10-17/api-2.json +0 -974
  834. data/apis/secretsmanager/2017-10-17/examples-1.json +0 -571
  835. data/apis/secretsmanager/2017-10-17/paginators-1.json +0 -14
  836. data/apis/secretsmanager/2017-10-17/smoke.json +0 -18
  837. data/apis/securityhub/2018-10-26/api-2.json +0 -1660
  838. data/apis/securityhub/2018-10-26/examples-1.json +0 -5
  839. data/apis/securityhub/2018-10-26/paginators-1.json +0 -19
  840. data/apis/serverlessrepo/2017-09-08/api-2.json +0 -1750
  841. data/apis/serverlessrepo/2017-09-08/paginators-1.json +0 -19
  842. data/apis/servicecatalog/2015-12-10/api-2.json +0 -3675
  843. data/apis/servicecatalog/2015-12-10/examples-1.json +0 -5
  844. data/apis/servicecatalog/2015-12-10/paginators-1.json +0 -79
  845. data/apis/servicecatalog/2015-12-10/smoke.json +0 -11
  846. data/apis/servicediscovery/2017-03-14/api-2.json +0 -1156
  847. data/apis/servicediscovery/2017-03-14/examples-1.json +0 -5
  848. data/apis/servicediscovery/2017-03-14/paginators-1.json +0 -29
  849. data/apis/shield/2016-06-02/api-2.json +0 -890
  850. data/apis/shield/2016-06-02/examples-1.json +0 -5
  851. data/apis/shield/2016-06-02/paginators-1.json +0 -4
  852. data/apis/shield/2016-06-02/smoke.json +0 -11
  853. data/apis/signer/2017-08-25/api-2.json +0 -670
  854. data/apis/signer/2017-08-25/examples-1.json +0 -5
  855. data/apis/signer/2017-08-25/paginators-1.json +0 -19
  856. data/apis/signer/2017-08-25/waiters-2.json +0 -29
  857. data/apis/sms/2016-10-24/api-2.json +0 -1366
  858. data/apis/sms/2016-10-24/examples-1.json +0 -5
  859. data/apis/sms/2016-10-24/paginators-1.json +0 -28
  860. data/apis/sms/2016-10-24/smoke.json +0 -18
  861. data/apis/sms-voice/2018-09-05/api-2.json +0 -630
  862. data/apis/snowball/2016-06-30/api-2.json +0 -929
  863. data/apis/snowball/2016-06-30/examples-1.json +0 -442
  864. data/apis/snowball/2016-06-30/paginators-1.json +0 -16
  865. data/apis/snowball/2016-06-30/smoke.json +0 -11
  866. data/apis/sns/2010-03-31/api-2.json +0 -1259
  867. data/apis/sns/2010-03-31/examples-1.json +0 -5
  868. data/apis/sns/2010-03-31/paginators-1.json +0 -29
  869. data/apis/sns/2010-03-31/resources-1.json +0 -327
  870. data/apis/sns/2010-03-31/smoke.json +0 -19
  871. data/apis/sqs/2012-11-05/api-2.json +0 -1078
  872. data/apis/sqs/2012-11-05/examples-1.json +0 -5
  873. data/apis/sqs/2012-11-05/paginators-1.json +0 -7
  874. data/apis/sqs/2012-11-05/resources-1.json +0 -232
  875. data/apis/sqs/2012-11-05/smoke.json +0 -18
  876. data/apis/ssm/2014-11-06/api-2.json +0 -8149
  877. data/apis/ssm/2014-11-06/examples-1.json +0 -5
  878. data/apis/ssm/2014-11-06/paginators-1.json +0 -55
  879. data/apis/ssm/2014-11-06/smoke.json +0 -18
  880. data/apis/states/2016-11-23/api-2.json +0 -1363
  881. data/apis/states/2016-11-23/examples-1.json +0 -5
  882. data/apis/states/2016-11-23/paginators-1.json +0 -28
  883. data/apis/states/2016-11-23/smoke.json +0 -11
  884. data/apis/storagegateway/2013-06-30/api-2.json +0 -3047
  885. data/apis/storagegateway/2013-06-30/examples-1.json +0 -1381
  886. data/apis/storagegateway/2013-06-30/paginators-1.json +0 -52
  887. data/apis/streams.dynamodb/2012-08-10/api-2.json +0 -406
  888. data/apis/streams.dynamodb/2012-08-10/examples-1.json +0 -212
  889. data/apis/streams.dynamodb/2012-08-10/paginators-1.json +0 -4
  890. data/apis/sts/2011-06-15/api-2.json +0 -523
  891. data/apis/sts/2011-06-15/examples-1.json +0 -206
  892. data/apis/sts/2011-06-15/paginators-1.json +0 -4
  893. data/apis/support/2013-04-15/api-2.json +0 -772
  894. data/apis/support/2013-04-15/examples-1.json +0 -5
  895. data/apis/support/2013-04-15/paginators-1.json +0 -25
  896. data/apis/swf/2012-01-25/api-2.json +0 -2613
  897. data/apis/swf/2012-01-25/examples-1.json +0 -5
  898. data/apis/swf/2012-01-25/paginators-1.json +0 -46
  899. data/apis/transcribe/2017-10-26/api-2.json +0 -499
  900. data/apis/transcribe/2017-10-26/examples-1.json +0 -5
  901. data/apis/transcribe/2017-10-26/paginators-1.json +0 -14
  902. data/apis/transfer/2018-11-05/api-2.json +0 -818
  903. data/apis/transfer/2018-11-05/examples-1.json +0 -5
  904. data/apis/transfer/2018-11-05/paginators-1.json +0 -4
  905. data/apis/translate/2017-07-01/api-2.json +0 -408
  906. data/apis/translate/2017-07-01/examples-1.json +0 -5
  907. data/apis/translate/2017-07-01/paginators-1.json +0 -4
  908. data/apis/waf/2015-08-24/api-2.json +0 -3674
  909. data/apis/waf/2015-08-24/examples-1.json +0 -1017
  910. data/apis/waf/2015-08-24/paginators-1.json +0 -4
  911. data/apis/waf/2015-08-24/smoke.json +0 -21
  912. data/apis/waf-regional/2016-11-28/api-2.json +0 -3809
  913. data/apis/waf-regional/2016-11-28/examples-1.json +0 -1017
  914. data/apis/waf-regional/2016-11-28/paginators-1.json +0 -4
  915. data/apis/waf-regional/2016-11-28/smoke.json +0 -21
  916. data/apis/workdocs/2016-05-01/api-2.json +0 -2899
  917. data/apis/workdocs/2016-05-01/examples-1.json +0 -5
  918. data/apis/workdocs/2016-05-01/paginators-1.json +0 -25
  919. data/apis/worklink/2018-09-25/api-2.json +0 -873
  920. data/apis/worklink/2018-09-25/examples-1.json +0 -5
  921. data/apis/worklink/2018-09-25/paginators-1.json +0 -19
  922. data/apis/workmail/2017-10-01/api-2.json +0 -1482
  923. data/apis/workmail/2017-10-01/examples-1.json +0 -5
  924. data/apis/workmail/2017-10-01/paginators-1.json +0 -39
  925. data/apis/workspaces/2015-04-08/api-2.json +0 -1648
  926. data/apis/workspaces/2015-04-08/examples-1.json +0 -5
  927. data/apis/workspaces/2015-04-08/paginators-1.json +0 -20
  928. data/apis/workspaces/2015-04-08/smoke.json +0 -18
  929. data/apis/xray/2016-04-12/api-2.json +0 -1277
  930. data/apis/xray/2016-04-12/examples-1.json +0 -5
  931. data/apis/xray/2016-04-12/paginators-1.json +0 -24
  932. data/bin/aws.rb +0 -180
  933. data/endpoints.json +0 -3689
  934. data/lib/aws-sdk-core/acm.rb +0 -7
  935. data/lib/aws-sdk-core/acmpca.rb +0 -7
  936. data/lib/aws-sdk-core/alexaforbusiness.rb +0 -6
  937. data/lib/aws-sdk-core/amplify.rb +0 -6
  938. data/lib/aws-sdk-core/api/builder.rb +0 -129
  939. data/lib/aws-sdk-core/api/customizations.rb +0 -299
  940. data/lib/aws-sdk-core/api/docs/builder.rb +0 -223
  941. data/lib/aws-sdk-core/api/docs/client_type_documenter.rb +0 -118
  942. data/lib/aws-sdk-core/api/docs/crosslink.rb +0 -43
  943. data/lib/aws-sdk-core/api/docs/docstring_provider.rb +0 -75
  944. data/lib/aws-sdk-core/api/docs/operation_documenter.rb +0 -151
  945. data/lib/aws-sdk-core/api/docs/param_formatter.rb +0 -163
  946. data/lib/aws-sdk-core/api/docs/request_syntax_example.rb +0 -22
  947. data/lib/aws-sdk-core/api/docs/response_structure_example.rb +0 -91
  948. data/lib/aws-sdk-core/api/docs/shared_example.rb +0 -100
  949. data/lib/aws-sdk-core/api/docs/utils.rb +0 -133
  950. data/lib/aws-sdk-core/api/shape_map.rb +0 -146
  951. data/lib/aws-sdk-core/apigateway.rb +0 -6
  952. data/lib/aws-sdk-core/apigatewaymanagementapi.rb +0 -5
  953. data/lib/aws-sdk-core/apigatewayv2.rb +0 -5
  954. data/lib/aws-sdk-core/applicationautoscaling.rb +0 -6
  955. data/lib/aws-sdk-core/applicationdiscoveryservice.rb +0 -6
  956. data/lib/aws-sdk-core/appmesh.rb +0 -6
  957. data/lib/aws-sdk-core/appstream.rb +0 -7
  958. data/lib/aws-sdk-core/appsync.rb +0 -6
  959. data/lib/aws-sdk-core/athena.rb +0 -6
  960. data/lib/aws-sdk-core/autoscaling.rb +0 -8
  961. data/lib/aws-sdk-core/autoscalingplans.rb +0 -6
  962. data/lib/aws-sdk-core/backup.rb +0 -6
  963. data/lib/aws-sdk-core/batch.rb +0 -6
  964. data/lib/aws-sdk-core/budgets.rb +0 -6
  965. data/lib/aws-sdk-core/checksums.rb +0 -51
  966. data/lib/aws-sdk-core/chime.rb +0 -6
  967. data/lib/aws-sdk-core/client.rb +0 -62
  968. data/lib/aws-sdk-core/client_waiters.rb +0 -120
  969. data/lib/aws-sdk-core/cloud9.rb +0 -6
  970. data/lib/aws-sdk-core/clouddirectory.rb +0 -6
  971. data/lib/aws-sdk-core/cloudformation.rb +0 -8
  972. data/lib/aws-sdk-core/cloudfront/cookie_signer.rb +0 -44
  973. data/lib/aws-sdk-core/cloudfront/signer.rb +0 -141
  974. data/lib/aws-sdk-core/cloudfront/url_signer.rb +0 -48
  975. data/lib/aws-sdk-core/cloudfront.rb +0 -17
  976. data/lib/aws-sdk-core/cloudhsm.rb +0 -6
  977. data/lib/aws-sdk-core/cloudhsmv2.rb +0 -6
  978. data/lib/aws-sdk-core/cloudsearch.rb +0 -5
  979. data/lib/aws-sdk-core/cloudsearchdomain.rb +0 -5
  980. data/lib/aws-sdk-core/cloudtrail.rb +0 -6
  981. data/lib/aws-sdk-core/cloudwatch.rb +0 -8
  982. data/lib/aws-sdk-core/cloudwatchevents.rb +0 -6
  983. data/lib/aws-sdk-core/cloudwatchlogs.rb +0 -6
  984. data/lib/aws-sdk-core/codebuild.rb +0 -6
  985. data/lib/aws-sdk-core/codecommit.rb +0 -6
  986. data/lib/aws-sdk-core/codedeploy.rb +0 -7
  987. data/lib/aws-sdk-core/codepipeline.rb +0 -6
  988. data/lib/aws-sdk-core/codestar.rb +0 -6
  989. data/lib/aws-sdk-core/cognitoidentity.rb +0 -6
  990. data/lib/aws-sdk-core/cognitoidentityprovider.rb +0 -6
  991. data/lib/aws-sdk-core/cognitosync.rb +0 -4
  992. data/lib/aws-sdk-core/comprehend.rb +0 -6
  993. data/lib/aws-sdk-core/comprehendmedical.rb +0 -6
  994. data/lib/aws-sdk-core/configservice.rb +0 -6
  995. data/lib/aws-sdk-core/connect.rb +0 -6
  996. data/lib/aws-sdk-core/costandusagereportservice.rb +0 -6
  997. data/lib/aws-sdk-core/costexplorer.rb +0 -6
  998. data/lib/aws-sdk-core/databasemigrationservice.rb +0 -7
  999. data/lib/aws-sdk-core/datapipeline.rb +0 -5
  1000. data/lib/aws-sdk-core/datasync.rb +0 -6
  1001. data/lib/aws-sdk-core/dax.rb +0 -6
  1002. data/lib/aws-sdk-core/devicefarm.rb +0 -6
  1003. data/lib/aws-sdk-core/directconnect.rb +0 -6
  1004. data/lib/aws-sdk-core/directoryservice.rb +0 -6
  1005. data/lib/aws-sdk-core/dlm.rb +0 -6
  1006. data/lib/aws-sdk-core/docdb.rb +0 -7
  1007. data/lib/aws-sdk-core/dynamodb/attribute_value.rb +0 -110
  1008. data/lib/aws-sdk-core/dynamodb.rb +0 -40
  1009. data/lib/aws-sdk-core/dynamodbstreams.rb +0 -6
  1010. data/lib/aws-sdk-core/ec2.rb +0 -8
  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 -104
  1024. data/lib/aws-sdk-core/firehose.rb +0 -6
  1025. data/lib/aws-sdk-core/fms.rb +0 -6
  1026. data/lib/aws-sdk-core/fsx.rb +0 -6
  1027. data/lib/aws-sdk-core/gamelift.rb +0 -6
  1028. data/lib/aws-sdk-core/glacier.rb +0 -8
  1029. data/lib/aws-sdk-core/globalaccelerator.rb +0 -6
  1030. data/lib/aws-sdk-core/glue.rb +0 -6
  1031. data/lib/aws-sdk-core/greengrass.rb +0 -4
  1032. data/lib/aws-sdk-core/guardduty.rb +0 -5
  1033. data/lib/aws-sdk-core/health.rb +0 -6
  1034. data/lib/aws-sdk-core/iam.rb +0 -8
  1035. data/lib/aws-sdk-core/importexport.rb +0 -5
  1036. data/lib/aws-sdk-core/inspector.rb +0 -6
  1037. data/lib/aws-sdk-core/iot.rb +0 -6
  1038. data/lib/aws-sdk-core/iot1clickdevicesservice.rb +0 -4
  1039. data/lib/aws-sdk-core/iot1clickprojects.rb +0 -6
  1040. data/lib/aws-sdk-core/iotanalytics.rb +0 -6
  1041. data/lib/aws-sdk-core/iotdataplane.rb +0 -4
  1042. data/lib/aws-sdk-core/iotjobsdataplane.rb +0 -6
  1043. data/lib/aws-sdk-core/kafka.rb +0 -5
  1044. data/lib/aws-sdk-core/kinesis.rb +0 -7
  1045. data/lib/aws-sdk-core/kinesisanalytics.rb +0 -6
  1046. data/lib/aws-sdk-core/kinesisanalyticsv2.rb +0 -6
  1047. data/lib/aws-sdk-core/kinesisvideo.rb +0 -6
  1048. data/lib/aws-sdk-core/kinesisvideoarchivedmedia.rb +0 -6
  1049. data/lib/aws-sdk-core/kinesisvideomedia.rb +0 -6
  1050. data/lib/aws-sdk-core/kms.rb +0 -6
  1051. data/lib/aws-sdk-core/lambda.rb +0 -6
  1052. data/lib/aws-sdk-core/lambdapreview.rb +0 -5
  1053. data/lib/aws-sdk-core/lex.rb +0 -6
  1054. data/lib/aws-sdk-core/lexmodelbuildingservice.rb +0 -6
  1055. data/lib/aws-sdk-core/licensemanager.rb +0 -6
  1056. data/lib/aws-sdk-core/lightsail.rb +0 -6
  1057. data/lib/aws-sdk-core/machinelearning.rb +0 -7
  1058. data/lib/aws-sdk-core/macie.rb +0 -6
  1059. data/lib/aws-sdk-core/marketplacecommerceanalytics.rb +0 -6
  1060. data/lib/aws-sdk-core/marketplaceentitlementservice.rb +0 -6
  1061. data/lib/aws-sdk-core/marketplacemetering.rb +0 -6
  1062. data/lib/aws-sdk-core/mediaconnect.rb +0 -5
  1063. data/lib/aws-sdk-core/mediaconvert.rb +0 -5
  1064. data/lib/aws-sdk-core/medialive.rb +0 -5
  1065. data/lib/aws-sdk-core/mediapackage.rb +0 -5
  1066. data/lib/aws-sdk-core/mediastore.rb +0 -6
  1067. data/lib/aws-sdk-core/mediastoredata.rb +0 -6
  1068. data/lib/aws-sdk-core/mediatailor.rb +0 -5
  1069. data/lib/aws-sdk-core/migrationhub.rb +0 -6
  1070. data/lib/aws-sdk-core/mobile.rb +0 -6
  1071. data/lib/aws-sdk-core/mq.rb +0 -5
  1072. data/lib/aws-sdk-core/mturk.rb +0 -6
  1073. data/lib/aws-sdk-core/neptune.rb +0 -7
  1074. data/lib/aws-sdk-core/opsworks.rb +0 -8
  1075. data/lib/aws-sdk-core/opsworkscm.rb +0 -7
  1076. data/lib/aws-sdk-core/organizations.rb +0 -6
  1077. data/lib/aws-sdk-core/partitions/partition.rb +0 -95
  1078. data/lib/aws-sdk-core/partitions/partition_list.rb +0 -60
  1079. data/lib/aws-sdk-core/partitions/region.rb +0 -66
  1080. data/lib/aws-sdk-core/partitions/service.rb +0 -75
  1081. data/lib/aws-sdk-core/partitions.rb +0 -174
  1082. data/lib/aws-sdk-core/pi.rb +0 -6
  1083. data/lib/aws-sdk-core/pinpoint.rb +0 -5
  1084. data/lib/aws-sdk-core/pinpointemail.rb +0 -6
  1085. data/lib/aws-sdk-core/pinpointsmsvoice.rb +0 -4
  1086. data/lib/aws-sdk-core/plugins/api_gateway_header.rb +0 -19
  1087. data/lib/aws-sdk-core/plugins/csd_conditional_signing.rb +0 -30
  1088. data/lib/aws-sdk-core/plugins/csd_switch_to_post.rb +0 -36
  1089. data/lib/aws-sdk-core/plugins/dynamodb_crc32_validation.rb +0 -52
  1090. data/lib/aws-sdk-core/plugins/dynamodb_extended_retries.rb +0 -22
  1091. data/lib/aws-sdk-core/plugins/dynamodb_simple_attributes.rb +0 -208
  1092. data/lib/aws-sdk-core/plugins/ec2_copy_encrypted_snapshot.rb +0 -56
  1093. data/lib/aws-sdk-core/plugins/ec2_region_validation.rb +0 -17
  1094. data/lib/aws-sdk-core/plugins/glacier_account_id.rb +0 -19
  1095. data/lib/aws-sdk-core/plugins/glacier_api_version.rb +0 -19
  1096. data/lib/aws-sdk-core/plugins/glacier_checksums.rb +0 -87
  1097. data/lib/aws-sdk-core/plugins/machine_learning_predict_endpoint.rb +0 -20
  1098. data/lib/aws-sdk-core/plugins/rds_cross_region_copying.rb +0 -69
  1099. data/lib/aws-sdk-core/plugins/request_signer.rb +0 -150
  1100. data/lib/aws-sdk-core/plugins/route_53_id_fix.rb +0 -55
  1101. data/lib/aws-sdk-core/plugins/s3_accelerate.rb +0 -90
  1102. data/lib/aws-sdk-core/plugins/s3_bucket_dns.rb +0 -86
  1103. data/lib/aws-sdk-core/plugins/s3_bucket_name_restrictions.rb +0 -21
  1104. data/lib/aws-sdk-core/plugins/s3_control_dns.rb +0 -25
  1105. data/lib/aws-sdk-core/plugins/s3_control_dualstack.rb +0 -48
  1106. data/lib/aws-sdk-core/plugins/s3_control_signer.rb +0 -53
  1107. data/lib/aws-sdk-core/plugins/s3_dualstack.rb +0 -67
  1108. data/lib/aws-sdk-core/plugins/s3_expect_100_continue.rb +0 -27
  1109. data/lib/aws-sdk-core/plugins/s3_get_bucket_location_fix.rb +0 -21
  1110. data/lib/aws-sdk-core/plugins/s3_host_id.rb +0 -26
  1111. data/lib/aws-sdk-core/plugins/s3_http_200_errors.rb +0 -45
  1112. data/lib/aws-sdk-core/plugins/s3_location_constraint.rb +0 -31
  1113. data/lib/aws-sdk-core/plugins/s3_md5s.rb +0 -50
  1114. data/lib/aws-sdk-core/plugins/s3_redirects.rb +0 -37
  1115. data/lib/aws-sdk-core/plugins/s3_request_signer.rb +0 -166
  1116. data/lib/aws-sdk-core/plugins/s3_sse_cpk.rb +0 -64
  1117. data/lib/aws-sdk-core/plugins/s3_url_encoded_keys.rb +0 -93
  1118. data/lib/aws-sdk-core/plugins/sqs_md5s.rb +0 -162
  1119. data/lib/aws-sdk-core/plugins/sqs_queue_urls.rb +0 -34
  1120. data/lib/aws-sdk-core/plugins/swf_read_timeouts.rb +0 -23
  1121. data/lib/aws-sdk-core/polly/presigner.rb +0 -70
  1122. data/lib/aws-sdk-core/polly.rb +0 -14
  1123. data/lib/aws-sdk-core/pricing.rb +0 -6
  1124. data/lib/aws-sdk-core/quicksight.rb +0 -6
  1125. data/lib/aws-sdk-core/ram.rb +0 -6
  1126. data/lib/aws-sdk-core/rds/auth_token_generator.rb +0 -63
  1127. data/lib/aws-sdk-core/rds.rb +0 -16
  1128. data/lib/aws-sdk-core/rdsdataservice.rb +0 -6
  1129. data/lib/aws-sdk-core/redshift.rb +0 -7
  1130. data/lib/aws-sdk-core/rekognition.rb +0 -6
  1131. data/lib/aws-sdk-core/resourcegroups.rb +0 -6
  1132. data/lib/aws-sdk-core/resourcegroupstaggingapi.rb +0 -6
  1133. data/lib/aws-sdk-core/robomaker.rb +0 -6
  1134. data/lib/aws-sdk-core/route53.rb +0 -7
  1135. data/lib/aws-sdk-core/route53domains.rb +0 -6
  1136. data/lib/aws-sdk-core/route53resolver.rb +0 -6
  1137. data/lib/aws-sdk-core/s3/bucket_region_cache.rb +0 -75
  1138. data/lib/aws-sdk-core/s3/presigner.rb +0 -116
  1139. data/lib/aws-sdk-core/s3.rb +0 -26
  1140. data/lib/aws-sdk-core/s3control.rb +0 -6
  1141. data/lib/aws-sdk-core/sagemaker.rb +0 -7
  1142. data/lib/aws-sdk-core/sagemakerruntime.rb +0 -6
  1143. data/lib/aws-sdk-core/secretsmanager.rb +0 -6
  1144. data/lib/aws-sdk-core/securityhub.rb +0 -6
  1145. data/lib/aws-sdk-core/serverlessapplicationrepository.rb +0 -5
  1146. data/lib/aws-sdk-core/service.rb +0 -4
  1147. data/lib/aws-sdk-core/servicecatalog.rb +0 -6
  1148. data/lib/aws-sdk-core/servicediscovery.rb +0 -6
  1149. data/lib/aws-sdk-core/ses.rb +0 -7
  1150. data/lib/aws-sdk-core/shield.rb +0 -6
  1151. data/lib/aws-sdk-core/signer.rb +0 -7
  1152. data/lib/aws-sdk-core/signers/base.rb +0 -31
  1153. data/lib/aws-sdk-core/signers/s3.rb +0 -185
  1154. data/lib/aws-sdk-core/signers/v2.rb +0 -51
  1155. data/lib/aws-sdk-core/signers/v3.rb +0 -34
  1156. data/lib/aws-sdk-core/signers/v4.rb +0 -234
  1157. data/lib/aws-sdk-core/simpledb.rb +0 -5
  1158. data/lib/aws-sdk-core/sms.rb +0 -6
  1159. data/lib/aws-sdk-core/snowball.rb +0 -6
  1160. data/lib/aws-sdk-core/sns.rb +0 -7
  1161. data/lib/aws-sdk-core/sqs.rb +0 -7
  1162. data/lib/aws-sdk-core/ssm.rb +0 -6
  1163. data/lib/aws-sdk-core/states.rb +0 -6
  1164. data/lib/aws-sdk-core/storagegateway.rb +0 -6
  1165. data/lib/aws-sdk-core/sts.rb +0 -6
  1166. data/lib/aws-sdk-core/support.rb +0 -6
  1167. data/lib/aws-sdk-core/swf.rb +0 -6
  1168. data/lib/aws-sdk-core/transcribeservice.rb +0 -6
  1169. data/lib/aws-sdk-core/transfer.rb +0 -6
  1170. data/lib/aws-sdk-core/translate.rb +0 -6
  1171. data/lib/aws-sdk-core/tree_hash.rb +0 -69
  1172. data/lib/aws-sdk-core/version.rb +0 -3
  1173. data/lib/aws-sdk-core/waf.rb +0 -6
  1174. data/lib/aws-sdk-core/wafregional.rb +0 -6
  1175. data/lib/aws-sdk-core/waiters/null_provider.rb +0 -12
  1176. data/lib/aws-sdk-core/waiters/provider.rb +0 -35
  1177. data/lib/aws-sdk-core/workdocs.rb +0 -6
  1178. data/lib/aws-sdk-core/worklink.rb +0 -6
  1179. data/lib/aws-sdk-core/workmail.rb +0 -6
  1180. data/lib/aws-sdk-core/workspaces.rb +0 -6
  1181. data/lib/aws-sdk-core/xray.rb +0 -6
  1182. data/lib/seahorse/client/plugins/restful_bindings.rb +0 -125
  1183. data/service-models.json +0 -689
@@ -0,0 +1,2343 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
+ require 'aws-sdk-core/plugins/protocols/query.rb'
35
+ require 'aws-sdk-sts/plugins/sts_regional_endpoints.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:sts)
38
+
39
+ module Aws::STS
40
+ # An API client for STS. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::STS::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :sts
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::JsonvalueConverter)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::DefaultsMode)
82
+ add_plugin(Aws::Plugins::RecursionDetection)
83
+ add_plugin(Aws::Plugins::Sign)
84
+ add_plugin(Aws::Plugins::Protocols::Query)
85
+ add_plugin(Aws::STS::Plugins::STSRegionalEndpoints)
86
+ add_plugin(Aws::STS::Plugins::Endpoints)
87
+
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [String] :endpoint
196
+ # The client endpoint is normally constructed from the `:region`
197
+ # option. You should only configure an `:endpoint` when connecting
198
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
199
+ #
200
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
201
+ # Used for the maximum size limit of the LRU cache storing endpoints data
202
+ # for endpoint discovery enabled operations. Defaults to 1000.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_threads (10)
205
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
206
+ #
207
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
208
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
209
+ # Use this option to config the time interval in seconds for making
210
+ # requests fetching endpoints information. Defaults to 60 sec.
211
+ #
212
+ # @option options [Boolean] :endpoint_discovery (false)
213
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
214
+ #
215
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
216
+ # The log formatter.
217
+ #
218
+ # @option options [Symbol] :log_level (:info)
219
+ # The log level to send messages to the `:logger` at.
220
+ #
221
+ # @option options [Logger] :logger
222
+ # The Logger instance to send log messages to. If this option
223
+ # is not set, logging will be disabled.
224
+ #
225
+ # @option options [Integer] :max_attempts (3)
226
+ # An integer representing the maximum number attempts that will be made for
227
+ # a single request, including the initial attempt. For example,
228
+ # setting this value to 5 will result in a request being retried up to
229
+ # 4 times. Used in `standard` and `adaptive` retry modes.
230
+ #
231
+ # @option options [String] :profile ("default")
232
+ # Used when loading credentials from the shared credentials file
233
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
234
+ #
235
+ # @option options [Proc] :retry_backoff
236
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
237
+ # This option is only used in the `legacy` retry mode.
238
+ #
239
+ # @option options [Float] :retry_base_delay (0.3)
240
+ # The base delay in seconds used by the default backoff function. This option
241
+ # is only used in the `legacy` retry mode.
242
+ #
243
+ # @option options [Symbol] :retry_jitter (:none)
244
+ # A delay randomiser function used by the default backoff function.
245
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
246
+ # otherwise a Proc that takes and returns a number. This option is only used
247
+ # in the `legacy` retry mode.
248
+ #
249
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
250
+ #
251
+ # @option options [Integer] :retry_limit (3)
252
+ # The maximum number of times to retry failed requests. Only
253
+ # ~ 500 level server errors and certain ~ 400 level client errors
254
+ # are retried. Generally, these are throttling errors, data
255
+ # checksum errors, networking errors, timeout errors, auth errors,
256
+ # endpoint discovery, and errors from expired credentials.
257
+ # This option is only used in the `legacy` retry mode.
258
+ #
259
+ # @option options [Integer] :retry_max_delay (0)
260
+ # The maximum number of seconds to delay between retries (0 for no limit)
261
+ # used by the default backoff function. This option is only used in the
262
+ # `legacy` retry mode.
263
+ #
264
+ # @option options [String] :retry_mode ("legacy")
265
+ # Specifies which retry algorithm to use. Values are:
266
+ #
267
+ # * `legacy` - The pre-existing retry behavior. This is default value if
268
+ # no retry mode is provided.
269
+ #
270
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
271
+ # This includes support for retry quotas, which limit the number of
272
+ # unsuccessful retries a client can make.
273
+ #
274
+ # * `adaptive` - An experimental retry mode that includes all the
275
+ # functionality of `standard` mode along with automatic client side
276
+ # throttling. This is a provisional mode that may change behavior
277
+ # in the future.
278
+ #
279
+ #
280
+ # @option options [String] :secret_access_key
281
+ #
282
+ # @option options [String] :session_token
283
+ #
284
+ # @option options [String] :sts_regional_endpoints ("regional")
285
+ # Passing in 'regional' to enable regional endpoint for STS for all supported
286
+ # regions (except 'aws-global'). Using 'legacy' mode will force all legacy
287
+ # regions to resolve to the STS global endpoint.
288
+ #
289
+ # @option options [Boolean] :stub_responses (false)
290
+ # Causes the client to return stubbed responses. By default
291
+ # fake responses are generated and returned. You can specify
292
+ # the response data to return or errors to raise by calling
293
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
294
+ #
295
+ # ** Please note ** When response stubbing is enabled, no HTTP
296
+ # requests are made, and retries are disabled.
297
+ #
298
+ # @option options [Aws::TokenProvider] :token_provider
299
+ # A Bearer Token Provider. This can be an instance of any one of the
300
+ # following classes:
301
+ #
302
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
303
+ # tokens.
304
+ #
305
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
306
+ # access token generated from `aws login`.
307
+ #
308
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
309
+ # will be used to search for tokens configured for your profile in shared configuration files.
310
+ #
311
+ # @option options [Boolean] :use_dualstack_endpoint
312
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
313
+ # will be used if available.
314
+ #
315
+ # @option options [Boolean] :use_fips_endpoint
316
+ # When set to `true`, fips compatible endpoints will be used if available.
317
+ # When a `fips` region is used, the region is normalized and this config
318
+ # is set to `true`.
319
+ #
320
+ # @option options [Boolean] :validate_params (true)
321
+ # When `true`, request parameters are validated before
322
+ # sending the request.
323
+ #
324
+ # @option options [Aws::STS::EndpointProvider] :endpoint_provider
325
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::STS::EndpointParameters`
326
+ #
327
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
328
+ # requests through. Formatted like 'http://proxy.com:123'.
329
+ #
330
+ # @option options [Float] :http_open_timeout (15) The number of
331
+ # seconds to wait when opening a HTTP session before raising a
332
+ # `Timeout::Error`.
333
+ #
334
+ # @option options [Float] :http_read_timeout (60) The default
335
+ # number of seconds to wait for response data. This value can
336
+ # safely be set per-request on the session.
337
+ #
338
+ # @option options [Float] :http_idle_timeout (5) The number of
339
+ # seconds a connection is allowed to sit idle before it is
340
+ # considered stale. Stale connections are closed and removed
341
+ # from the pool before making a request.
342
+ #
343
+ # @option options [Float] :http_continue_timeout (1) The number of
344
+ # seconds to wait for a 100-continue response before sending the
345
+ # request body. This option has no effect unless the request has
346
+ # "Expect" header set to "100-continue". Defaults to `nil` which
347
+ # disables this behaviour. This value can safely be set per
348
+ # request on the session.
349
+ #
350
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
351
+ # in seconds.
352
+ #
353
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
354
+ # HTTP debug output will be sent to the `:logger`.
355
+ #
356
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
357
+ # SSL peer certificates are verified when establishing a
358
+ # connection.
359
+ #
360
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
361
+ # certificate authority bundle file that should be used when
362
+ # verifying peer certificates. If you do not pass
363
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
364
+ # will be used if available.
365
+ #
366
+ # @option options [String] :ssl_ca_directory Full path of the
367
+ # directory that contains the unbundled SSL certificate
368
+ # authority files for verifying peer certificates. If you do
369
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
370
+ # system default will be used if available.
371
+ #
372
+ def initialize(*args)
373
+ super
374
+ end
375
+
376
+ # @!group API Operations
377
+
378
+ # Returns a set of temporary security credentials that you can use to
379
+ # access Amazon Web Services resources. These temporary credentials
380
+ # consist of an access key ID, a secret access key, and a security
381
+ # token. Typically, you use `AssumeRole` within your account or for
382
+ # cross-account access. For a comparison of `AssumeRole` with other API
383
+ # operations that produce temporary credentials, see [Requesting
384
+ # Temporary Security Credentials][1] and [Comparing the Amazon Web
385
+ # Services STS API operations][2] in the *IAM User Guide*.
386
+ #
387
+ # **Permissions**
388
+ #
389
+ # The temporary security credentials created by `AssumeRole` can be used
390
+ # to make API calls to any Amazon Web Services service with the
391
+ # following exception: You cannot call the Amazon Web Services STS
392
+ # `GetFederationToken` or `GetSessionToken` API operations.
393
+ #
394
+ # (Optional) You can pass inline or managed [session policies][3] to
395
+ # this operation. You can pass a single JSON policy document to use as
396
+ # an inline session policy. You can also specify up to 10 managed policy
397
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
398
+ # plaintext that you use for both inline and managed session policies
399
+ # can't exceed 2,048 characters. Passing policies to this operation
400
+ # returns new temporary credentials. The resulting session's
401
+ # permissions are the intersection of the role's identity-based policy
402
+ # and the session policies. You can use the role's temporary
403
+ # credentials in subsequent Amazon Web Services API calls to access
404
+ # resources in the account that owns the role. You cannot use session
405
+ # policies to grant more permissions than those allowed by the
406
+ # identity-based policy of the role that is being assumed. For more
407
+ # information, see [Session Policies][3] in the *IAM User Guide*.
408
+ #
409
+ # When you create a role, you create two policies: A role trust policy
410
+ # that specifies *who* can assume the role and a permissions policy that
411
+ # specifies *what* can be done with the role. You specify the trusted
412
+ # principal who is allowed to assume the role in the role trust policy.
413
+ #
414
+ # To assume a role from a different account, your Amazon Web Services
415
+ # account must be trusted by the role. The trust relationship is defined
416
+ # in the role's trust policy when the role is created. That trust
417
+ # policy states which accounts are allowed to delegate that access to
418
+ # users in the account.
419
+ #
420
+ # A user who wants to access a role in a different account must also
421
+ # have permissions that are delegated from the user account
422
+ # administrator. The administrator must attach a policy that allows the
423
+ # user to call `AssumeRole` for the ARN of the role in the other
424
+ # account.
425
+ #
426
+ # To allow a user to assume a role in the same account, you can do
427
+ # either of the following:
428
+ #
429
+ # * Attach a policy to the user that allows the user to call
430
+ # `AssumeRole` (as long as the role's trust policy trusts the
431
+ # account).
432
+ #
433
+ # * Add the user as a principal directly in the role's trust policy.
434
+ #
435
+ # You can do either because the role’s trust policy acts as an IAM
436
+ # resource-based policy. When a resource-based policy grants access to a
437
+ # principal in the same account, no additional identity-based policy is
438
+ # required. For more information about trust policies and resource-based
439
+ # policies, see [IAM Policies][4] in the *IAM User Guide*.
440
+ #
441
+ # **Tags**
442
+ #
443
+ # (Optional) You can pass tag key-value pairs to your session. These
444
+ # tags are called session tags. For more information about session tags,
445
+ # see [Passing Session Tags in STS][5] in the *IAM User Guide*.
446
+ #
447
+ # An administrator must grant you the permissions necessary to pass
448
+ # session tags. The administrator can also create granular permissions
449
+ # to allow you to pass only specific session tags. For more information,
450
+ # see [Tutorial: Using Tags for Attribute-Based Access Control][6] in
451
+ # the *IAM User Guide*.
452
+ #
453
+ # You can set the session tags as transitive. Transitive tags persist
454
+ # during role chaining. For more information, see [Chaining Roles with
455
+ # Session Tags][7] in the *IAM User Guide*.
456
+ #
457
+ # **Using MFA with AssumeRole**
458
+ #
459
+ # (Optional) You can include multi-factor authentication (MFA)
460
+ # information when you call `AssumeRole`. This is useful for
461
+ # cross-account scenarios to ensure that the user that assumes the role
462
+ # has been authenticated with an Amazon Web Services MFA device. In that
463
+ # scenario, the trust policy of the role being assumed includes a
464
+ # condition that tests for MFA authentication. If the caller does not
465
+ # include valid MFA information, the request to assume the role is
466
+ # denied. The condition in a trust policy that tests for MFA
467
+ # authentication might look like the following example.
468
+ #
469
+ # `"Condition": \{"Bool": \{"aws:MultiFactorAuthPresent": true\}\}`
470
+ #
471
+ # For more information, see [Configuring MFA-Protected API Access][8] in
472
+ # the *IAM User Guide* guide.
473
+ #
474
+ # To use MFA with `AssumeRole`, you pass values for the `SerialNumber`
475
+ # and `TokenCode` parameters. The `SerialNumber` value identifies the
476
+ # user's hardware or virtual MFA device. The `TokenCode` is the
477
+ # time-based one-time password (TOTP) that the MFA device produces.
478
+ #
479
+ #
480
+ #
481
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
482
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
483
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
484
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
485
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
486
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html
487
+ # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining
488
+ # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/MFAProtectedAPI.html
489
+ #
490
+ # @option params [required, String] :role_arn
491
+ # The Amazon Resource Name (ARN) of the role to assume.
492
+ #
493
+ # @option params [required, String] :role_session_name
494
+ # An identifier for the assumed role session.
495
+ #
496
+ # Use the role session name to uniquely identify a session when the same
497
+ # role is assumed by different principals or for different reasons. In
498
+ # cross-account scenarios, the role session name is visible to, and can
499
+ # be logged by the account that owns the role. The role session name is
500
+ # also used in the ARN of the assumed role principal. This means that
501
+ # subsequent cross-account API requests that use the temporary security
502
+ # credentials will expose the role session name to the external account
503
+ # in their CloudTrail logs.
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
+ # @option params [Array<Types::PolicyDescriptorType>] :policy_arns
511
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that you
512
+ # want to use as managed session policies. The policies must exist in
513
+ # the same account as the role.
514
+ #
515
+ # This parameter is optional. You can provide up to 10 managed policy
516
+ # ARNs. However, the plaintext that you use for both inline and managed
517
+ # session policies can't exceed 2,048 characters. For more information
518
+ # about ARNs, see [Amazon Resource Names (ARNs) and Amazon Web Services
519
+ # Service Namespaces][1] in the Amazon Web Services General Reference.
520
+ #
521
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
522
+ # policy, managed policy ARNs, and session tags into a packed binary
523
+ # format that has a separate limit. Your request can fail for this limit
524
+ # even if your plaintext meets the other requirements. The
525
+ # `PackedPolicySize` response element indicates by percentage how close
526
+ # the policies and tags for your request are to the upper size limit.
527
+ #
528
+ # </note>
529
+ #
530
+ # Passing policies to this operation returns new temporary credentials.
531
+ # The resulting session's permissions are the intersection of the
532
+ # role's identity-based policy and the session policies. You can use
533
+ # the role's temporary credentials in subsequent Amazon Web Services
534
+ # API calls to access resources in the account that owns the role. You
535
+ # cannot use session policies to grant more permissions than those
536
+ # allowed by the identity-based policy of the role that is being
537
+ # assumed. For more information, see [Session Policies][2] in the *IAM
538
+ # User Guide*.
539
+ #
540
+ #
541
+ #
542
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
543
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
544
+ #
545
+ # @option params [String] :policy
546
+ # An IAM policy in JSON format that you want to use as an inline session
547
+ # policy.
548
+ #
549
+ # This parameter is optional. Passing policies to this operation returns
550
+ # new temporary credentials. The resulting session's permissions are
551
+ # the intersection of the role's identity-based policy and the session
552
+ # policies. You can use the role's temporary credentials in subsequent
553
+ # Amazon Web Services API calls to access resources in the account that
554
+ # owns the role. You cannot use session policies to grant more
555
+ # permissions than those allowed by the identity-based policy of the
556
+ # role that is being assumed. For more information, see [Session
557
+ # Policies][1] in the *IAM User Guide*.
558
+ #
559
+ # The plaintext that you use for both inline and managed session
560
+ # policies can't exceed 2,048 characters. The JSON policy characters
561
+ # can be any ASCII character from the space character to the end of the
562
+ # valid character list (\\u0020 through \\u00FF). It can also include
563
+ # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
564
+ # characters.
565
+ #
566
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
567
+ # policy, managed policy ARNs, and session tags into a packed binary
568
+ # format that has a separate limit. Your request can fail for this limit
569
+ # even if your plaintext meets the other requirements. The
570
+ # `PackedPolicySize` response element indicates by percentage how close
571
+ # the policies and tags for your request are to the upper size limit.
572
+ #
573
+ # </note>
574
+ #
575
+ #
576
+ #
577
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
578
+ #
579
+ # @option params [Integer] :duration_seconds
580
+ # The duration, in seconds, of the role session. The value specified can
581
+ # range from 900 seconds (15 minutes) up to the maximum session duration
582
+ # set for the role. The maximum session duration setting can have a
583
+ # value from 1 hour to 12 hours. If you specify a value higher than this
584
+ # setting or the administrator setting (whichever is lower), the
585
+ # operation fails. For example, if you specify a session duration of 12
586
+ # hours, but your administrator set the maximum session duration to 6
587
+ # hours, your operation fails.
588
+ #
589
+ # Role chaining limits your Amazon Web Services CLI or Amazon Web
590
+ # Services API role session to a maximum of one hour. When you use the
591
+ # `AssumeRole` API operation to assume a role, you can specify the
592
+ # duration of your role session with the `DurationSeconds` parameter.
593
+ # You can specify a parameter value of up to 43200 seconds (12 hours),
594
+ # depending on the maximum session duration setting for your role.
595
+ # However, if you assume a role using role chaining and provide a
596
+ # `DurationSeconds` parameter value greater than one hour, the operation
597
+ # fails. To learn how to view the maximum value for your role, see [View
598
+ # the Maximum Session Duration Setting for a Role][1] in the *IAM User
599
+ # Guide*.
600
+ #
601
+ # By default, the value is set to `3600` seconds.
602
+ #
603
+ # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
604
+ # console session that you might request using the returned credentials.
605
+ # The request to the federation endpoint for a console sign-in token
606
+ # takes a `SessionDuration` parameter that specifies the maximum length
607
+ # of the console session. For more information, see [Creating a URL that
608
+ # Enables Federated Users to Access the Amazon Web Services Management
609
+ # Console][2] in the *IAM User Guide*.
610
+ #
611
+ # </note>
612
+ #
613
+ #
614
+ #
615
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
616
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
617
+ #
618
+ # @option params [Array<Types::Tag>] :tags
619
+ # A list of session tags that you want to pass. Each session tag
620
+ # consists of a key name and an associated value. For more information
621
+ # about session tags, see [Tagging Amazon Web Services STS Sessions][1]
622
+ # in the *IAM User Guide*.
623
+ #
624
+ # This parameter is optional. You can pass up to 50 session tags. The
625
+ # plaintext session tag keys can’t exceed 128 characters, and the values
626
+ # can’t exceed 256 characters. For these and additional limits, see [IAM
627
+ # and STS Character Limits][2] in the *IAM User Guide*.
628
+ #
629
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
630
+ # policy, managed policy ARNs, and session tags into a packed binary
631
+ # format that has a separate limit. Your request can fail for this limit
632
+ # even if your plaintext meets the other requirements. The
633
+ # `PackedPolicySize` response element indicates by percentage how close
634
+ # the policies and tags for your request are to the upper size limit.
635
+ #
636
+ # </note>
637
+ #
638
+ # You can pass a session tag with the same key as a tag that is already
639
+ # attached to the role. When you do, session tags override a role tag
640
+ # with the same key.
641
+ #
642
+ # Tag key–value pairs are not case sensitive, but case is preserved.
643
+ # This means that you cannot have separate `Department` and `department`
644
+ # tag keys. Assume that the role has the `Department`=`Marketing` tag
645
+ # and you pass the `department`=`engineering` session tag. `Department`
646
+ # and `department` are not saved as separate tags, and the session tag
647
+ # passed in the request takes precedence over the role tag.
648
+ #
649
+ # Additionally, if you used temporary credentials to perform this
650
+ # operation, the new session inherits any transitive session tags from
651
+ # the calling session. If you pass a session tag with the same key as an
652
+ # inherited tag, the operation fails. To view the inherited tags for a
653
+ # session, see the CloudTrail logs. For more information, see [Viewing
654
+ # Session Tags in CloudTrail][3] in the *IAM User Guide*.
655
+ #
656
+ #
657
+ #
658
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
659
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
660
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_ctlogs
661
+ #
662
+ # @option params [Array<String>] :transitive_tag_keys
663
+ # A list of keys for session tags that you want to set as transitive. If
664
+ # you set a tag key as transitive, the corresponding key and value
665
+ # passes to subsequent sessions in a role chain. For more information,
666
+ # see [Chaining Roles with Session Tags][1] in the *IAM User Guide*.
667
+ #
668
+ # This parameter is optional. When you set session tags as transitive,
669
+ # the session policy and session tags packed binary limit is not
670
+ # affected.
671
+ #
672
+ # If you choose not to specify a transitive tag key, then no tags are
673
+ # passed from this session to any subsequent sessions.
674
+ #
675
+ #
676
+ #
677
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining
678
+ #
679
+ # @option params [String] :external_id
680
+ # A unique identifier that might be required when you assume a role in
681
+ # another account. If the administrator of the account to which the role
682
+ # belongs provided you with an external ID, then provide that value in
683
+ # the `ExternalId` parameter. This value can be any string, such as a
684
+ # passphrase or account number. A cross-account role is usually set up
685
+ # to trust everyone in an account. Therefore, the administrator of the
686
+ # trusting account might send an external ID to the administrator of the
687
+ # trusted account. That way, only someone with the ID can assume the
688
+ # role, rather than everyone in the account. For more information about
689
+ # the external ID, see [How to Use an External ID When Granting Access
690
+ # to Your Amazon Web Services Resources to a Third Party][1] in the *IAM
691
+ # User Guide*.
692
+ #
693
+ # The regex used to validate this parameter is a string of characters
694
+ # consisting of upper- and lower-case alphanumeric characters with no
695
+ # spaces. You can also include underscores or any of the following
696
+ # characters: =,.@:/-
697
+ #
698
+ #
699
+ #
700
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
701
+ #
702
+ # @option params [String] :serial_number
703
+ # The identification number of the MFA device that is associated with
704
+ # the user who is making the `AssumeRole` call. Specify this value if
705
+ # the trust policy of the role being assumed includes a condition that
706
+ # requires MFA authentication. The value is either the serial number for
707
+ # a hardware device (such as `GAHT12345678`) or an Amazon Resource Name
708
+ # (ARN) for a virtual device (such as
709
+ # `arn:aws:iam::123456789012:mfa/user`).
710
+ #
711
+ # The regex used to validate this parameter is a string of characters
712
+ # consisting of upper- and lower-case alphanumeric characters with no
713
+ # spaces. You can also include underscores or any of the following
714
+ # characters: =,.@-
715
+ #
716
+ # @option params [String] :token_code
717
+ # The value provided by the MFA device, if the trust policy of the role
718
+ # being assumed requires MFA. (In other words, if the policy includes a
719
+ # condition that tests for MFA). If the role being assumed requires MFA
720
+ # and if the `TokenCode` value is missing or expired, the `AssumeRole`
721
+ # call returns an "access denied" error.
722
+ #
723
+ # The format for this parameter, as described by its regex pattern, is a
724
+ # sequence of six numeric digits.
725
+ #
726
+ # @option params [String] :source_identity
727
+ # The source identity specified by the principal that is calling the
728
+ # `AssumeRole` operation.
729
+ #
730
+ # You can require users to specify a source identity when they assume a
731
+ # role. You do this by using the `sts:SourceIdentity` condition key in a
732
+ # role trust policy. You can use source identity information in
733
+ # CloudTrail logs to determine who took actions with a role. You can use
734
+ # the `aws:SourceIdentity` condition key to further control access to
735
+ # Amazon Web Services resources based on the value of source identity.
736
+ # For more information about using source identity, see [Monitor and
737
+ # control actions taken with assumed roles][1] in the *IAM User Guide*.
738
+ #
739
+ # The regex used to validate this parameter is a string of characters
740
+ # consisting of upper- and lower-case alphanumeric characters with no
741
+ # spaces. You can also include underscores or any of the following
742
+ # characters: =,.@-. You cannot use a value that begins with the text
743
+ # `aws:`. This prefix is reserved for Amazon Web Services internal use.
744
+ #
745
+ #
746
+ #
747
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
748
+ #
749
+ # @return [Types::AssumeRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
750
+ #
751
+ # * {Types::AssumeRoleResponse#credentials #credentials} => Types::Credentials
752
+ # * {Types::AssumeRoleResponse#assumed_role_user #assumed_role_user} => Types::AssumedRoleUser
753
+ # * {Types::AssumeRoleResponse#packed_policy_size #packed_policy_size} => Integer
754
+ # * {Types::AssumeRoleResponse#source_identity #source_identity} => String
755
+ #
756
+ #
757
+ # @example Example: To assume a role
758
+ #
759
+ # resp = client.assume_role({
760
+ # external_id: "123ABC",
761
+ # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}",
762
+ # role_arn: "arn:aws:iam::123456789012:role/demo",
763
+ # role_session_name: "testAssumeRoleSession",
764
+ # tags: [
765
+ # {
766
+ # key: "Project",
767
+ # value: "Unicorn",
768
+ # },
769
+ # {
770
+ # key: "Team",
771
+ # value: "Automation",
772
+ # },
773
+ # {
774
+ # key: "Cost-Center",
775
+ # value: "12345",
776
+ # },
777
+ # ],
778
+ # transitive_tag_keys: [
779
+ # "Project",
780
+ # "Cost-Center",
781
+ # ],
782
+ # })
783
+ #
784
+ # resp.to_h outputs the following:
785
+ # {
786
+ # assumed_role_user: {
787
+ # arn: "arn:aws:sts::123456789012:assumed-role/demo/Bob",
788
+ # assumed_role_id: "ARO123EXAMPLE123:Bob",
789
+ # },
790
+ # credentials: {
791
+ # access_key_id: "AKIAIOSFODNN7EXAMPLE",
792
+ # expiration: Time.parse("2011-07-15T23:28:33.359Z"),
793
+ # secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
794
+ # session_token: "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==",
795
+ # },
796
+ # packed_policy_size: 8,
797
+ # }
798
+ #
799
+ # @example Request syntax with placeholder values
800
+ #
801
+ # resp = client.assume_role({
802
+ # role_arn: "arnType", # required
803
+ # role_session_name: "roleSessionNameType", # required
804
+ # policy_arns: [
805
+ # {
806
+ # arn: "arnType",
807
+ # },
808
+ # ],
809
+ # policy: "sessionPolicyDocumentType",
810
+ # duration_seconds: 1,
811
+ # tags: [
812
+ # {
813
+ # key: "tagKeyType", # required
814
+ # value: "tagValueType", # required
815
+ # },
816
+ # ],
817
+ # transitive_tag_keys: ["tagKeyType"],
818
+ # external_id: "externalIdType",
819
+ # serial_number: "serialNumberType",
820
+ # token_code: "tokenCodeType",
821
+ # source_identity: "sourceIdentityType",
822
+ # })
823
+ #
824
+ # @example Response structure
825
+ #
826
+ # resp.credentials.access_key_id #=> String
827
+ # resp.credentials.secret_access_key #=> String
828
+ # resp.credentials.session_token #=> String
829
+ # resp.credentials.expiration #=> Time
830
+ # resp.assumed_role_user.assumed_role_id #=> String
831
+ # resp.assumed_role_user.arn #=> String
832
+ # resp.packed_policy_size #=> Integer
833
+ # resp.source_identity #=> String
834
+ #
835
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole AWS API Documentation
836
+ #
837
+ # @overload assume_role(params = {})
838
+ # @param [Hash] params ({})
839
+ def assume_role(params = {}, options = {})
840
+ req = build_request(:assume_role, params)
841
+ req.send_request(options)
842
+ end
843
+
844
+ # Returns a set of temporary security credentials for users who have
845
+ # been authenticated via a SAML authentication response. This operation
846
+ # provides a mechanism for tying an enterprise identity store or
847
+ # directory to role-based Amazon Web Services access without
848
+ # user-specific credentials or configuration. For a comparison of
849
+ # `AssumeRoleWithSAML` with the other API operations that produce
850
+ # temporary credentials, see [Requesting Temporary Security
851
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
852
+ # operations][2] in the *IAM User Guide*.
853
+ #
854
+ # The temporary security credentials returned by this operation consist
855
+ # of an access key ID, a secret access key, and a security token.
856
+ # Applications can use these temporary security credentials to sign
857
+ # calls to Amazon Web Services services.
858
+ #
859
+ # **Session Duration**
860
+ #
861
+ # By default, the temporary security credentials created by
862
+ # `AssumeRoleWithSAML` last for one hour. However, you can use the
863
+ # optional `DurationSeconds` parameter to specify the duration of your
864
+ # session. Your role session lasts for the duration that you specify, or
865
+ # until the time specified in the SAML authentication response's
866
+ # `SessionNotOnOrAfter` value, whichever is shorter. You can provide a
867
+ # `DurationSeconds` value from 900 seconds (15 minutes) up to the
868
+ # maximum session duration setting for the role. This setting can have a
869
+ # value from 1 hour to 12 hours. To learn how to view the maximum value
870
+ # for your role, see [View the Maximum Session Duration Setting for a
871
+ # Role][3] in the *IAM User Guide*. The maximum session duration limit
872
+ # applies when you use the `AssumeRole*` API operations or the
873
+ # `assume-role*` CLI commands. However the limit does not apply when you
874
+ # use those operations to create a console URL. For more information,
875
+ # see [Using IAM Roles][4] in the *IAM User Guide*.
876
+ #
877
+ # <note markdown="1"> [Role chaining][5] limits your CLI or Amazon Web Services API role
878
+ # session to a maximum of one hour. When you use the `AssumeRole` API
879
+ # operation to assume a role, you can specify the duration of your role
880
+ # session with the `DurationSeconds` parameter. You can specify a
881
+ # parameter value of up to 43200 seconds (12 hours), depending on the
882
+ # maximum session duration setting for your role. However, if you assume
883
+ # a role using role chaining and provide a `DurationSeconds` parameter
884
+ # value greater than one hour, the operation fails.
885
+ #
886
+ # </note>
887
+ #
888
+ # **Permissions**
889
+ #
890
+ # The temporary security credentials created by `AssumeRoleWithSAML` can
891
+ # be used to make API calls to any Amazon Web Services service with the
892
+ # following exception: you cannot call the STS `GetFederationToken` or
893
+ # `GetSessionToken` API operations.
894
+ #
895
+ # (Optional) You can pass inline or managed [session policies][6] to
896
+ # this operation. You can pass a single JSON policy document to use as
897
+ # an inline session policy. You can also specify up to 10 managed policy
898
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
899
+ # plaintext that you use for both inline and managed session policies
900
+ # can't exceed 2,048 characters. Passing policies to this operation
901
+ # returns new temporary credentials. The resulting session's
902
+ # permissions are the intersection of the role's identity-based policy
903
+ # and the session policies. You can use the role's temporary
904
+ # credentials in subsequent Amazon Web Services API calls to access
905
+ # resources in the account that owns the role. You cannot use session
906
+ # policies to grant more permissions than those allowed by the
907
+ # identity-based policy of the role that is being assumed. For more
908
+ # information, see [Session Policies][6] in the *IAM User Guide*.
909
+ #
910
+ # Calling `AssumeRoleWithSAML` does not require the use of Amazon Web
911
+ # Services security credentials. The identity of the caller is validated
912
+ # by using keys in the metadata document that is uploaded for the SAML
913
+ # provider entity for your identity provider.
914
+ #
915
+ # Calling `AssumeRoleWithSAML` can result in an entry in your CloudTrail
916
+ # logs. The entry includes the value in the `NameID` element of the SAML
917
+ # assertion. We recommend that you use a `NameIDType` that is not
918
+ # associated with any personally identifiable information (PII). For
919
+ # example, you could instead use the persistent identifier
920
+ # (`urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`).
921
+ #
922
+ # **Tags**
923
+ #
924
+ # (Optional) You can configure your IdP to pass attributes into your
925
+ # SAML assertion as session tags. Each session tag consists of a key
926
+ # name and an associated value. For more information about session tags,
927
+ # see [Passing Session Tags in STS][7] in the *IAM User Guide*.
928
+ #
929
+ # You can pass up to 50 session tags. The plaintext session tag keys
930
+ # can’t exceed 128 characters and the values can’t exceed 256
931
+ # characters. For these and additional limits, see [IAM and STS
932
+ # Character Limits][8] in the *IAM User Guide*.
933
+ #
934
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
935
+ # policy, managed policy ARNs, and session tags into a packed binary
936
+ # format that has a separate limit. Your request can fail for this limit
937
+ # even if your plaintext meets the other requirements. The
938
+ # `PackedPolicySize` response element indicates by percentage how close
939
+ # the policies and tags for your request are to the upper size limit.
940
+ #
941
+ # </note>
942
+ #
943
+ # You can pass a session tag with the same key as a tag that is attached
944
+ # to the role. When you do, session tags override the role's tags with
945
+ # the same key.
946
+ #
947
+ # An administrator must grant you the permissions necessary to pass
948
+ # session tags. The administrator can also create granular permissions
949
+ # to allow you to pass only specific session tags. For more information,
950
+ # see [Tutorial: Using Tags for Attribute-Based Access Control][9] in
951
+ # the *IAM User Guide*.
952
+ #
953
+ # You can set the session tags as transitive. Transitive tags persist
954
+ # during role chaining. For more information, see [Chaining Roles with
955
+ # Session Tags][10] in the *IAM User Guide*.
956
+ #
957
+ # **SAML Configuration**
958
+ #
959
+ # Before your application can call `AssumeRoleWithSAML`, you must
960
+ # configure your SAML identity provider (IdP) to issue the claims
961
+ # required by Amazon Web Services. Additionally, you must use Identity
962
+ # and Access Management (IAM) to create a SAML provider entity in your
963
+ # Amazon Web Services account that represents your identity provider.
964
+ # You must also create an IAM role that specifies this SAML provider in
965
+ # its trust policy.
966
+ #
967
+ # For more information, see the following resources:
968
+ #
969
+ # * [About SAML 2.0-based Federation][11] in the *IAM User Guide*.
970
+ #
971
+ # * [Creating SAML Identity Providers][12] in the *IAM User Guide*.
972
+ #
973
+ # * [Configuring a Relying Party and Claims][13] in the *IAM User
974
+ # Guide*.
975
+ #
976
+ # * [Creating a Role for SAML 2.0 Federation][14] in the *IAM User
977
+ # Guide*.
978
+ #
979
+ #
980
+ #
981
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
982
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
983
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
984
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
985
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-role-chaining
986
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
987
+ # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
988
+ # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
989
+ # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html
990
+ # [10]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining
991
+ # [11]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html
992
+ # [12]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html
993
+ # [13]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html
994
+ # [14]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html
995
+ #
996
+ # @option params [required, String] :role_arn
997
+ # The Amazon Resource Name (ARN) of the role that the caller is
998
+ # assuming.
999
+ #
1000
+ # @option params [required, String] :principal_arn
1001
+ # The Amazon Resource Name (ARN) of the SAML provider in IAM that
1002
+ # describes the IdP.
1003
+ #
1004
+ # @option params [required, String] :saml_assertion
1005
+ # The base64 encoded SAML authentication response provided by the IdP.
1006
+ #
1007
+ # For more information, see [Configuring a Relying Party and Adding
1008
+ # Claims][1] in the *IAM User Guide*.
1009
+ #
1010
+ #
1011
+ #
1012
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html
1013
+ #
1014
+ # @option params [Array<Types::PolicyDescriptorType>] :policy_arns
1015
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that you
1016
+ # want to use as managed session policies. The policies must exist in
1017
+ # the same account as the role.
1018
+ #
1019
+ # This parameter is optional. You can provide up to 10 managed policy
1020
+ # ARNs. However, the plaintext that you use for both inline and managed
1021
+ # session policies can't exceed 2,048 characters. For more information
1022
+ # about ARNs, see [Amazon Resource Names (ARNs) and Amazon Web Services
1023
+ # Service Namespaces][1] in the Amazon Web Services General Reference.
1024
+ #
1025
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1026
+ # policy, managed policy ARNs, and session tags into a packed binary
1027
+ # format that has a separate limit. Your request can fail for this limit
1028
+ # even if your plaintext meets the other requirements. The
1029
+ # `PackedPolicySize` response element indicates by percentage how close
1030
+ # the policies and tags for your request are to the upper size limit.
1031
+ #
1032
+ # </note>
1033
+ #
1034
+ # Passing policies to this operation returns new temporary credentials.
1035
+ # The resulting session's permissions are the intersection of the
1036
+ # role's identity-based policy and the session policies. You can use
1037
+ # the role's temporary credentials in subsequent Amazon Web Services
1038
+ # API calls to access resources in the account that owns the role. You
1039
+ # cannot use session policies to grant more permissions than those
1040
+ # allowed by the identity-based policy of the role that is being
1041
+ # assumed. For more information, see [Session Policies][2] in the *IAM
1042
+ # User Guide*.
1043
+ #
1044
+ #
1045
+ #
1046
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1047
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1048
+ #
1049
+ # @option params [String] :policy
1050
+ # An IAM policy in JSON format that you want to use as an inline session
1051
+ # policy.
1052
+ #
1053
+ # This parameter is optional. Passing policies to this operation returns
1054
+ # new temporary credentials. The resulting session's permissions are
1055
+ # the intersection of the role's identity-based policy and the session
1056
+ # policies. You can use the role's temporary credentials in subsequent
1057
+ # Amazon Web Services API calls to access resources in the account that
1058
+ # owns the role. You cannot use session policies to grant more
1059
+ # permissions than those allowed by the identity-based policy of the
1060
+ # role that is being assumed. For more information, see [Session
1061
+ # Policies][1] in the *IAM User Guide*.
1062
+ #
1063
+ # The plaintext that you use for both inline and managed session
1064
+ # policies can't exceed 2,048 characters. The JSON policy characters
1065
+ # can be any ASCII character from the space character to the end of the
1066
+ # valid character list (\\u0020 through \\u00FF). It can also include
1067
+ # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1068
+ # characters.
1069
+ #
1070
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1071
+ # policy, managed policy ARNs, and session tags into a packed binary
1072
+ # format that has a separate limit. Your request can fail for this limit
1073
+ # even if your plaintext meets the other requirements. The
1074
+ # `PackedPolicySize` response element indicates by percentage how close
1075
+ # the policies and tags for your request are to the upper size limit.
1076
+ #
1077
+ # </note>
1078
+ #
1079
+ #
1080
+ #
1081
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1082
+ #
1083
+ # @option params [Integer] :duration_seconds
1084
+ # The duration, in seconds, of the role session. Your role session lasts
1085
+ # for the duration that you specify for the `DurationSeconds` parameter,
1086
+ # or until the time specified in the SAML authentication response's
1087
+ # `SessionNotOnOrAfter` value, whichever is shorter. You can provide a
1088
+ # `DurationSeconds` value from 900 seconds (15 minutes) up to the
1089
+ # maximum session duration setting for the role. This setting can have a
1090
+ # value from 1 hour to 12 hours. If you specify a value higher than this
1091
+ # setting, the operation fails. For example, if you specify a session
1092
+ # duration of 12 hours, but your administrator set the maximum session
1093
+ # duration to 6 hours, your operation fails. To learn how to view the
1094
+ # maximum value for your role, see [View the Maximum Session Duration
1095
+ # Setting for a Role][1] in the *IAM User Guide*.
1096
+ #
1097
+ # By default, the value is set to `3600` seconds.
1098
+ #
1099
+ # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
1100
+ # console session that you might request using the returned credentials.
1101
+ # The request to the federation endpoint for a console sign-in token
1102
+ # takes a `SessionDuration` parameter that specifies the maximum length
1103
+ # of the console session. For more information, see [Creating a URL that
1104
+ # Enables Federated Users to Access the Amazon Web Services Management
1105
+ # Console][2] in the *IAM User Guide*.
1106
+ #
1107
+ # </note>
1108
+ #
1109
+ #
1110
+ #
1111
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
1112
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
1113
+ #
1114
+ # @return [Types::AssumeRoleWithSAMLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1115
+ #
1116
+ # * {Types::AssumeRoleWithSAMLResponse#credentials #credentials} => Types::Credentials
1117
+ # * {Types::AssumeRoleWithSAMLResponse#assumed_role_user #assumed_role_user} => Types::AssumedRoleUser
1118
+ # * {Types::AssumeRoleWithSAMLResponse#packed_policy_size #packed_policy_size} => Integer
1119
+ # * {Types::AssumeRoleWithSAMLResponse#subject #subject} => String
1120
+ # * {Types::AssumeRoleWithSAMLResponse#subject_type #subject_type} => String
1121
+ # * {Types::AssumeRoleWithSAMLResponse#issuer #issuer} => String
1122
+ # * {Types::AssumeRoleWithSAMLResponse#audience #audience} => String
1123
+ # * {Types::AssumeRoleWithSAMLResponse#name_qualifier #name_qualifier} => String
1124
+ # * {Types::AssumeRoleWithSAMLResponse#source_identity #source_identity} => String
1125
+ #
1126
+ #
1127
+ # @example Example: To assume a role using a SAML assertion
1128
+ #
1129
+ # resp = client.assume_role_with_saml({
1130
+ # duration_seconds: 3600,
1131
+ # principal_arn: "arn:aws:iam::123456789012:saml-provider/SAML-test",
1132
+ # role_arn: "arn:aws:iam::123456789012:role/TestSaml",
1133
+ # saml_assertion: "VERYLONGENCODEDASSERTIONEXAMPLExzYW1sOkF1ZGllbmNlPmJsYW5rPC9zYW1sOkF1ZGllbmNlPjwvc2FtbDpBdWRpZW5jZVJlc3RyaWN0aW9uPjwvc2FtbDpDb25kaXRpb25zPjxzYW1sOlN1YmplY3Q+PHNhbWw6TmFtZUlEIEZvcm1hdD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOm5hbWVpZC1mb3JtYXQ6dHJhbnNpZW50Ij5TYW1sRXhhbXBsZTwvc2FtbDpOYW1lSUQ+PHNhbWw6U3ViamVjdENvbmZpcm1hdGlvbiBNZXRob2Q9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpjbTpiZWFyZXIiPjxzYW1sOlN1YmplY3RDb25maXJtYXRpb25EYXRhIE5vdE9uT3JBZnRlcj0iMjAxOS0xMS0wMVQyMDoyNTowNS4xNDVaIiBSZWNpcGllbnQ9Imh0dHBzOi8vc2lnbmluLmF3cy5hbWF6b24uY29tL3NhbWwiLz48L3NhbWw6U3ViamVjdENvbmZpcm1hdGlvbj48L3NhbWw6U3ViamVjdD48c2FtbDpBdXRoblN0YXRlbWVudCBBdXRoPD94bWwgdmpSZXNwb25zZT4=",
1134
+ # })
1135
+ #
1136
+ # resp.to_h outputs the following:
1137
+ # {
1138
+ # assumed_role_user: {
1139
+ # arn: "arn:aws:sts::123456789012:assumed-role/TestSaml",
1140
+ # assumed_role_id: "ARO456EXAMPLE789:TestSaml",
1141
+ # },
1142
+ # audience: "https://signin.aws.amazon.com/saml",
1143
+ # credentials: {
1144
+ # access_key_id: "ASIAV3ZUEFP6EXAMPLE",
1145
+ # expiration: Time.parse("2019-11-01T20:26:47Z"),
1146
+ # secret_access_key: "8P+SQvWIuLnKhh8d++jpw0nNmQRBZvNEXAMPLEKEY",
1147
+ # session_token: "IQoJb3JpZ2luX2VjEOz////////////////////wEXAMPLEtMSJHMEUCIDoKK3JH9uGQE1z0sINr5M4jk+Na8KHDcCYRVjJCZEvOAiEA3OvJGtw1EcViOleS2vhs8VdCKFJQWPQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==",
1148
+ # },
1149
+ # issuer: "https://integ.example.com/idp/shibboleth",
1150
+ # name_qualifier: "SbdGOnUkh1i4+EXAMPLExL/jEvs=",
1151
+ # packed_policy_size: 6,
1152
+ # subject: "SamlExample",
1153
+ # subject_type: "transient",
1154
+ # }
1155
+ #
1156
+ # @example Request syntax with placeholder values
1157
+ #
1158
+ # resp = client.assume_role_with_saml({
1159
+ # role_arn: "arnType", # required
1160
+ # principal_arn: "arnType", # required
1161
+ # saml_assertion: "SAMLAssertionType", # required
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.assumed_role_user.assumed_role_id #=> String
1178
+ # resp.assumed_role_user.arn #=> String
1179
+ # resp.packed_policy_size #=> Integer
1180
+ # resp.subject #=> String
1181
+ # resp.subject_type #=> String
1182
+ # resp.issuer #=> String
1183
+ # resp.audience #=> String
1184
+ # resp.name_qualifier #=> String
1185
+ # resp.source_identity #=> String
1186
+ #
1187
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML AWS API Documentation
1188
+ #
1189
+ # @overload assume_role_with_saml(params = {})
1190
+ # @param [Hash] params ({})
1191
+ def assume_role_with_saml(params = {}, options = {})
1192
+ req = build_request(:assume_role_with_saml, params)
1193
+ req.send_request(options)
1194
+ end
1195
+
1196
+ # Returns a set of temporary security credentials for users who have
1197
+ # been authenticated in a mobile or web application with a web identity
1198
+ # provider. Example providers include the OAuth 2.0 providers Login with
1199
+ # Amazon and Facebook, or any OpenID Connect-compatible identity
1200
+ # provider such as Google or [Amazon Cognito federated identities][1].
1201
+ #
1202
+ # <note markdown="1"> For mobile applications, we recommend that you use Amazon Cognito. You
1203
+ # can use Amazon Cognito with the [Amazon Web Services SDK for iOS
1204
+ # Developer Guide][2] and the [Amazon Web Services SDK for Android
1205
+ # Developer Guide][3] to uniquely identify a user. You can also supply
1206
+ # the user with a consistent identity throughout the lifetime of an
1207
+ # application.
1208
+ #
1209
+ # To learn more about Amazon Cognito, see [Amazon Cognito Overview][4]
1210
+ # in *Amazon Web Services SDK for Android Developer Guide* and [Amazon
1211
+ # Cognito Overview][5] in the *Amazon Web Services SDK for iOS Developer
1212
+ # Guide*.
1213
+ #
1214
+ # </note>
1215
+ #
1216
+ # Calling `AssumeRoleWithWebIdentity` does not require the use of Amazon
1217
+ # Web Services security credentials. Therefore, you can distribute an
1218
+ # application (for example, on mobile devices) that requests temporary
1219
+ # security credentials without including long-term Amazon Web Services
1220
+ # credentials in the application. You also don't need to deploy
1221
+ # server-based proxy services that use long-term Amazon Web Services
1222
+ # credentials. Instead, the identity of the caller is validated by using
1223
+ # a token from the web identity provider. For a comparison of
1224
+ # `AssumeRoleWithWebIdentity` with the other API operations that produce
1225
+ # temporary credentials, see [Requesting Temporary Security
1226
+ # Credentials][6] and [Comparing the Amazon Web Services STS API
1227
+ # operations][7] in the *IAM User Guide*.
1228
+ #
1229
+ # The temporary security credentials returned by this API consist of an
1230
+ # access key ID, a secret access key, and a security token. Applications
1231
+ # can use these temporary security credentials to sign calls to Amazon
1232
+ # Web Services service API operations.
1233
+ #
1234
+ # **Session Duration**
1235
+ #
1236
+ # By default, the temporary security credentials created by
1237
+ # `AssumeRoleWithWebIdentity` last for one hour. However, you can use
1238
+ # the optional `DurationSeconds` parameter to specify the duration of
1239
+ # your session. You can provide a value from 900 seconds (15 minutes) up
1240
+ # to the maximum session duration setting for the role. This setting can
1241
+ # have a value from 1 hour to 12 hours. To learn how to view the maximum
1242
+ # value for your role, see [View the Maximum Session Duration Setting
1243
+ # for a Role][8] in the *IAM User Guide*. The maximum session duration
1244
+ # limit applies when you use the `AssumeRole*` API operations or the
1245
+ # `assume-role*` CLI commands. However the limit does not apply when you
1246
+ # use those operations to create a console URL. For more information,
1247
+ # see [Using IAM Roles][9] in the *IAM User Guide*.
1248
+ #
1249
+ # **Permissions**
1250
+ #
1251
+ # The temporary security credentials created by
1252
+ # `AssumeRoleWithWebIdentity` can be used to make API calls to any
1253
+ # Amazon Web Services service with the following exception: you cannot
1254
+ # call the STS `GetFederationToken` or `GetSessionToken` API operations.
1255
+ #
1256
+ # (Optional) You can pass inline or managed [session policies][10] to
1257
+ # this operation. You can pass a single JSON policy document to use as
1258
+ # an inline session policy. You can also specify up to 10 managed policy
1259
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
1260
+ # plaintext that you use for both inline and managed session policies
1261
+ # can't exceed 2,048 characters. Passing policies to this operation
1262
+ # returns new temporary credentials. The resulting session's
1263
+ # permissions are the intersection of the role's identity-based policy
1264
+ # and the session policies. You can use the role's temporary
1265
+ # credentials in subsequent Amazon Web Services API calls to access
1266
+ # resources in the account that owns the role. You cannot use session
1267
+ # policies to grant more permissions than those allowed by the
1268
+ # identity-based policy of the role that is being assumed. For more
1269
+ # information, see [Session Policies][10] in the *IAM User Guide*.
1270
+ #
1271
+ # **Tags**
1272
+ #
1273
+ # (Optional) You can configure your IdP to pass attributes into your web
1274
+ # identity token as session tags. Each session tag consists of a key
1275
+ # name and an associated value. For more information about session tags,
1276
+ # see [Passing Session Tags in STS][11] in the *IAM User Guide*.
1277
+ #
1278
+ # You can pass up to 50 session tags. The plaintext session tag keys
1279
+ # can’t exceed 128 characters and the values can’t exceed 256
1280
+ # characters. For these and additional limits, see [IAM and STS
1281
+ # Character Limits][12] in the *IAM User Guide*.
1282
+ #
1283
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1284
+ # policy, managed policy ARNs, and session tags into a packed binary
1285
+ # format that has a separate limit. Your request can fail for this limit
1286
+ # even if your plaintext meets the other requirements. The
1287
+ # `PackedPolicySize` response element indicates by percentage how close
1288
+ # the policies and tags for your request are to the upper size limit.
1289
+ #
1290
+ # </note>
1291
+ #
1292
+ # You can pass a session tag with the same key as a tag that is attached
1293
+ # to the role. When you do, the session tag overrides the role tag with
1294
+ # the same key.
1295
+ #
1296
+ # An administrator must grant you the permissions necessary to pass
1297
+ # session tags. The administrator can also create granular permissions
1298
+ # to allow you to pass only specific session tags. For more information,
1299
+ # see [Tutorial: Using Tags for Attribute-Based Access Control][13] in
1300
+ # the *IAM User Guide*.
1301
+ #
1302
+ # You can set the session tags as transitive. Transitive tags persist
1303
+ # during role chaining. For more information, see [Chaining Roles with
1304
+ # Session Tags][14] in the *IAM User Guide*.
1305
+ #
1306
+ # **Identities**
1307
+ #
1308
+ # Before your application can call `AssumeRoleWithWebIdentity`, you must
1309
+ # have an identity token from a supported identity provider and create a
1310
+ # role that the application can assume. The role that your application
1311
+ # assumes must trust the identity provider that is associated with the
1312
+ # identity token. In other words, the identity provider must be
1313
+ # specified in the role's trust policy.
1314
+ #
1315
+ # Calling `AssumeRoleWithWebIdentity` can result in an entry in your
1316
+ # CloudTrail logs. The entry includes the [Subject][15] of the provided
1317
+ # web identity token. We recommend that you avoid using any personally
1318
+ # identifiable information (PII) in this field. For example, you could
1319
+ # instead use a GUID or a pairwise identifier, as [suggested in the OIDC
1320
+ # specification][16].
1321
+ #
1322
+ # For more information about how to use web identity federation and the
1323
+ # `AssumeRoleWithWebIdentity` API, see the following resources:
1324
+ #
1325
+ # * [Using Web Identity Federation API Operations for Mobile Apps][17]
1326
+ # and [Federation Through a Web-based Identity Provider][18].
1327
+ #
1328
+ # * [ Web Identity Federation Playground][19]. Walk through the process
1329
+ # of authenticating through Login with Amazon, Facebook, or Google,
1330
+ # getting temporary security credentials, and then using those
1331
+ # credentials to make a request to Amazon Web Services.
1332
+ #
1333
+ # * [Amazon Web Services SDK for iOS Developer Guide][2] and [Amazon Web
1334
+ # Services SDK for Android Developer Guide][3]. These toolkits contain
1335
+ # sample apps that show how to invoke the identity providers. The
1336
+ # toolkits then show how to use the information from these providers
1337
+ # to get and use temporary security credentials.
1338
+ #
1339
+ # * [Web Identity Federation with Mobile Applications][20]. This article
1340
+ # discusses web identity federation and shows an example of how to use
1341
+ # web identity federation to get access to content in Amazon S3.
1342
+ #
1343
+ #
1344
+ #
1345
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html
1346
+ # [2]: http://aws.amazon.com/sdkforios/
1347
+ # [3]: http://aws.amazon.com/sdkforandroid/
1348
+ # [4]: https://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840
1349
+ # [5]: https://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664
1350
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1351
+ # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1352
+ # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
1353
+ # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
1354
+ # [10]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1355
+ # [11]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1356
+ # [12]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
1357
+ # [13]: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html
1358
+ # [14]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining
1359
+ # [15]: http://openid.net/specs/openid-connect-core-1_0.html#Claims
1360
+ # [16]: http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes
1361
+ # [17]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html
1362
+ # [18]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
1363
+ # [19]: https://aws.amazon.com/blogs/aws/the-aws-web-identity-federation-playground/
1364
+ # [20]: http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications
1365
+ #
1366
+ # @option params [required, String] :role_arn
1367
+ # The Amazon Resource Name (ARN) of the role that the caller is
1368
+ # assuming.
1369
+ #
1370
+ # @option params [required, String] :role_session_name
1371
+ # An identifier for the assumed role session. Typically, you pass the
1372
+ # name or identifier that is associated with the user who is using your
1373
+ # application. That way, the temporary security credentials that your
1374
+ # application will use are associated with that user. This session name
1375
+ # is included as part of the ARN and assumed role ID in the
1376
+ # `AssumedRoleUser` response element.
1377
+ #
1378
+ # The regex used to validate this parameter is a string of characters
1379
+ # consisting of upper- and lower-case alphanumeric characters with no
1380
+ # spaces. You can also include underscores or any of the following
1381
+ # characters: =,.@-
1382
+ #
1383
+ # @option params [required, String] :web_identity_token
1384
+ # The OAuth 2.0 access token or OpenID Connect ID token that is provided
1385
+ # by the identity provider. Your application must get this token by
1386
+ # authenticating the user who is using your application with a web
1387
+ # identity provider before the application makes an
1388
+ # `AssumeRoleWithWebIdentity` call.
1389
+ #
1390
+ # @option params [String] :provider_id
1391
+ # The fully qualified host component of the domain name of the OAuth 2.0
1392
+ # identity provider. Do not specify this value for an OpenID Connect
1393
+ # identity provider.
1394
+ #
1395
+ # Currently `www.amazon.com` and `graph.facebook.com` are the only
1396
+ # supported identity providers for OAuth 2.0 access tokens. Do not
1397
+ # include URL schemes and port numbers.
1398
+ #
1399
+ # Do not specify this value for OpenID Connect ID tokens.
1400
+ #
1401
+ # @option params [Array<Types::PolicyDescriptorType>] :policy_arns
1402
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that you
1403
+ # want to use as managed session policies. The policies must exist in
1404
+ # the same account as the role.
1405
+ #
1406
+ # This parameter is optional. You can provide up to 10 managed policy
1407
+ # ARNs. However, the plaintext that you use for both inline and managed
1408
+ # session policies can't exceed 2,048 characters. For more information
1409
+ # about ARNs, see [Amazon Resource Names (ARNs) and Amazon Web Services
1410
+ # Service Namespaces][1] in the Amazon Web Services General Reference.
1411
+ #
1412
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1413
+ # policy, managed policy ARNs, and session tags into a packed binary
1414
+ # format that has a separate limit. Your request can fail for this limit
1415
+ # even if your plaintext meets the other requirements. The
1416
+ # `PackedPolicySize` response element indicates by percentage how close
1417
+ # the policies and tags for your request are to the upper size limit.
1418
+ #
1419
+ # </note>
1420
+ #
1421
+ # Passing policies to this operation returns new temporary credentials.
1422
+ # The resulting session's permissions are the intersection of the
1423
+ # role's identity-based policy and the session policies. You can use
1424
+ # the role's temporary credentials in subsequent Amazon Web Services
1425
+ # API calls to access resources in the account that owns the role. You
1426
+ # cannot use session policies to grant more permissions than those
1427
+ # allowed by the identity-based policy of the role that is being
1428
+ # assumed. For more information, see [Session Policies][2] in the *IAM
1429
+ # User Guide*.
1430
+ #
1431
+ #
1432
+ #
1433
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1434
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1435
+ #
1436
+ # @option params [String] :policy
1437
+ # An IAM policy in JSON format that you want to use as an inline session
1438
+ # policy.
1439
+ #
1440
+ # This parameter is optional. Passing policies to this operation returns
1441
+ # new temporary credentials. The resulting session's permissions are
1442
+ # the intersection of the role's identity-based policy and the session
1443
+ # policies. You can use the role's temporary credentials in subsequent
1444
+ # Amazon Web Services API calls to access resources in the account that
1445
+ # owns the role. You cannot use session policies to grant more
1446
+ # permissions than those allowed by the identity-based policy of the
1447
+ # role that is being assumed. For more information, see [Session
1448
+ # Policies][1] in the *IAM User Guide*.
1449
+ #
1450
+ # The plaintext that you use for both inline and managed session
1451
+ # policies can't exceed 2,048 characters. The JSON policy characters
1452
+ # can be any ASCII character from the space character to the end of the
1453
+ # valid character list (\\u0020 through \\u00FF). It can also include
1454
+ # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1455
+ # characters.
1456
+ #
1457
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1458
+ # policy, managed policy ARNs, and session tags into a packed binary
1459
+ # format that has a separate limit. Your request can fail for this limit
1460
+ # even if your plaintext meets the other requirements. The
1461
+ # `PackedPolicySize` response element indicates by percentage how close
1462
+ # the policies and tags for your request are to the upper size limit.
1463
+ #
1464
+ # </note>
1465
+ #
1466
+ #
1467
+ #
1468
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1469
+ #
1470
+ # @option params [Integer] :duration_seconds
1471
+ # The duration, in seconds, of the role session. The value can range
1472
+ # from 900 seconds (15 minutes) up to the maximum session duration
1473
+ # setting for the role. This setting can have a value from 1 hour to 12
1474
+ # hours. If you specify a value higher than this setting, the operation
1475
+ # fails. For example, if you specify a session duration of 12 hours, but
1476
+ # your administrator set the maximum session duration to 6 hours, your
1477
+ # operation fails. To learn how to view the maximum value for your role,
1478
+ # see [View the Maximum Session Duration Setting for a Role][1] in the
1479
+ # *IAM User Guide*.
1480
+ #
1481
+ # By default, the value is set to `3600` seconds.
1482
+ #
1483
+ # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
1484
+ # console session that you might request using the returned credentials.
1485
+ # The request to the federation endpoint for a console sign-in token
1486
+ # takes a `SessionDuration` parameter that specifies the maximum length
1487
+ # of the console session. For more information, see [Creating a URL that
1488
+ # Enables Federated Users to Access the Amazon Web Services Management
1489
+ # Console][2] in the *IAM User Guide*.
1490
+ #
1491
+ # </note>
1492
+ #
1493
+ #
1494
+ #
1495
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
1496
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
1497
+ #
1498
+ # @return [Types::AssumeRoleWithWebIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1499
+ #
1500
+ # * {Types::AssumeRoleWithWebIdentityResponse#credentials #credentials} => Types::Credentials
1501
+ # * {Types::AssumeRoleWithWebIdentityResponse#subject_from_web_identity_token #subject_from_web_identity_token} => String
1502
+ # * {Types::AssumeRoleWithWebIdentityResponse#assumed_role_user #assumed_role_user} => Types::AssumedRoleUser
1503
+ # * {Types::AssumeRoleWithWebIdentityResponse#packed_policy_size #packed_policy_size} => Integer
1504
+ # * {Types::AssumeRoleWithWebIdentityResponse#provider #provider} => String
1505
+ # * {Types::AssumeRoleWithWebIdentityResponse#audience #audience} => String
1506
+ # * {Types::AssumeRoleWithWebIdentityResponse#source_identity #source_identity} => String
1507
+ #
1508
+ #
1509
+ # @example Example: To assume a role as an OpenID Connect-federated user
1510
+ #
1511
+ # resp = client.assume_role_with_web_identity({
1512
+ # duration_seconds: 3600,
1513
+ # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}",
1514
+ # provider_id: "www.amazon.com",
1515
+ # role_arn: "arn:aws:iam::123456789012:role/FederatedWebIdentityRole",
1516
+ # role_session_name: "app1",
1517
+ # web_identity_token: "Atza%7CIQEBLjAsAhRFiXuWpUXuRvQ9PZL3GMFcYevydwIUFAHZwXZXXXXXXXXJnrulxKDHwy87oGKPznh0D6bEQZTSCzyoCtL_8S07pLpr0zMbn6w1lfVZKNTBdDansFBmtGnIsIapjI6xKR02Yc_2bQ8LZbUXSGm6Ry6_BG7PrtLZtj_dfCTj92xNGed-CrKqjG7nPBjNIL016GGvuS5gSvPRUxWES3VYfm1wl7WTI7jn-Pcb6M-buCgHhFOzTQxod27L9CqnOLio7N3gZAGpsp6n1-AJBOCJckcyXe2c6uD0srOJeZlKUm2eTDVMf8IehDVI0r1QOnTV6KzzAI3OY87Vd_cVMQ",
1518
+ # })
1519
+ #
1520
+ # resp.to_h outputs the following:
1521
+ # {
1522
+ # assumed_role_user: {
1523
+ # arn: "arn:aws:sts::123456789012:assumed-role/FederatedWebIdentityRole/app1",
1524
+ # assumed_role_id: "AROACLKWSDQRAOEXAMPLE:app1",
1525
+ # },
1526
+ # audience: "client.5498841531868486423.1548@apps.example.com",
1527
+ # credentials: {
1528
+ # access_key_id: "AKIAIOSFODNN7EXAMPLE",
1529
+ # expiration: Time.parse("2014-10-24T23:00:23Z"),
1530
+ # secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
1531
+ # session_token: "AQoDYXdzEE0a8ANXXXXXXXXNO1ewxE5TijQyp+IEXAMPLE",
1532
+ # },
1533
+ # packed_policy_size: 123,
1534
+ # provider: "www.amazon.com",
1535
+ # subject_from_web_identity_token: "amzn1.account.AF6RHO7KZU5XRVQJGXK6HEXAMPLE",
1536
+ # }
1537
+ #
1538
+ # @example Request syntax with placeholder values
1539
+ #
1540
+ # resp = client.assume_role_with_web_identity({
1541
+ # role_arn: "arnType", # required
1542
+ # role_session_name: "roleSessionNameType", # required
1543
+ # web_identity_token: "clientTokenType", # required
1544
+ # provider_id: "urlType",
1545
+ # policy_arns: [
1546
+ # {
1547
+ # arn: "arnType",
1548
+ # },
1549
+ # ],
1550
+ # policy: "sessionPolicyDocumentType",
1551
+ # duration_seconds: 1,
1552
+ # })
1553
+ #
1554
+ # @example Response structure
1555
+ #
1556
+ # resp.credentials.access_key_id #=> String
1557
+ # resp.credentials.secret_access_key #=> String
1558
+ # resp.credentials.session_token #=> String
1559
+ # resp.credentials.expiration #=> Time
1560
+ # resp.subject_from_web_identity_token #=> String
1561
+ # resp.assumed_role_user.assumed_role_id #=> String
1562
+ # resp.assumed_role_user.arn #=> String
1563
+ # resp.packed_policy_size #=> Integer
1564
+ # resp.provider #=> String
1565
+ # resp.audience #=> String
1566
+ # resp.source_identity #=> String
1567
+ #
1568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity AWS API Documentation
1569
+ #
1570
+ # @overload assume_role_with_web_identity(params = {})
1571
+ # @param [Hash] params ({})
1572
+ def assume_role_with_web_identity(params = {}, options = {})
1573
+ req = build_request(:assume_role_with_web_identity, params)
1574
+ req.send_request(options)
1575
+ end
1576
+
1577
+ # Decodes additional information about the authorization status of a
1578
+ # request from an encoded message returned in response to an Amazon Web
1579
+ # Services request.
1580
+ #
1581
+ # For example, if a user is not authorized to perform an operation that
1582
+ # he or she has requested, the request returns a
1583
+ # `Client.UnauthorizedOperation` response (an HTTP 403 response). Some
1584
+ # Amazon Web Services operations additionally return an encoded message
1585
+ # that can provide details about this authorization failure.
1586
+ #
1587
+ # <note markdown="1"> Only certain Amazon Web Services operations return an encoded
1588
+ # authorization message. The documentation for an individual operation
1589
+ # indicates whether that operation returns an encoded message in
1590
+ # addition to returning an HTTP code.
1591
+ #
1592
+ # </note>
1593
+ #
1594
+ # The message is encoded because the details of the authorization status
1595
+ # can contain privileged information that the user who requested the
1596
+ # operation should not see. To decode an authorization status message, a
1597
+ # user must be granted permissions through an IAM [policy][1] to request
1598
+ # the `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
1599
+ # action.
1600
+ #
1601
+ # The decoded message includes the following type of information:
1602
+ #
1603
+ # * Whether the request was denied due to an explicit deny or due to the
1604
+ # absence of an explicit allow. For more information, see [Determining
1605
+ # Whether a Request is Allowed or Denied][2] in the *IAM User Guide*.
1606
+ #
1607
+ # * The principal who made the request.
1608
+ #
1609
+ # * The requested action.
1610
+ #
1611
+ # * The requested resource.
1612
+ #
1613
+ # * The values of condition keys in the context of the user's request.
1614
+ #
1615
+ #
1616
+ #
1617
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
1618
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
1619
+ #
1620
+ # @option params [required, String] :encoded_message
1621
+ # The encoded message that was returned with the response.
1622
+ #
1623
+ # @return [Types::DecodeAuthorizationMessageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1624
+ #
1625
+ # * {Types::DecodeAuthorizationMessageResponse#decoded_message #decoded_message} => String
1626
+ #
1627
+ #
1628
+ # @example Example: To decode information about an authorization status of a request
1629
+ #
1630
+ # resp = client.decode_authorization_message({
1631
+ # encoded_message: "<encoded-message>",
1632
+ # })
1633
+ #
1634
+ # resp.to_h outputs the following:
1635
+ # {
1636
+ # 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 ...)]}}",
1637
+ # }
1638
+ #
1639
+ # @example Request syntax with placeholder values
1640
+ #
1641
+ # resp = client.decode_authorization_message({
1642
+ # encoded_message: "encodedMessageType", # required
1643
+ # })
1644
+ #
1645
+ # @example Response structure
1646
+ #
1647
+ # resp.decoded_message #=> String
1648
+ #
1649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage AWS API Documentation
1650
+ #
1651
+ # @overload decode_authorization_message(params = {})
1652
+ # @param [Hash] params ({})
1653
+ def decode_authorization_message(params = {}, options = {})
1654
+ req = build_request(:decode_authorization_message, params)
1655
+ req.send_request(options)
1656
+ end
1657
+
1658
+ # Returns the account identifier for the specified access key ID.
1659
+ #
1660
+ # Access keys consist of two parts: an access key ID (for example,
1661
+ # `AKIAIOSFODNN7EXAMPLE`) and a secret access key (for example,
1662
+ # `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`). For more information
1663
+ # about access keys, see [Managing Access Keys for IAM Users][1] in the
1664
+ # *IAM User Guide*.
1665
+ #
1666
+ # When you pass an access key ID to this operation, it returns the ID of
1667
+ # the Amazon Web Services account to which the keys belong. Access key
1668
+ # IDs beginning with `AKIA` are long-term credentials for an IAM user or
1669
+ # the Amazon Web Services account root user. Access key IDs beginning
1670
+ # with `ASIA` are temporary credentials that are created using STS
1671
+ # operations. If the account in the response belongs to you, you can
1672
+ # sign in as the root user and review your root user access keys. Then,
1673
+ # you can pull a [credentials report][2] to learn which IAM user owns
1674
+ # the keys. To learn who requested the temporary credentials for an
1675
+ # `ASIA` access key, view the STS events in your [CloudTrail logs][3] in
1676
+ # the *IAM User Guide*.
1677
+ #
1678
+ # This operation does not indicate the state of the access key. The key
1679
+ # might be active, inactive, or deleted. Active keys might not have
1680
+ # permissions to perform an operation. Providing a deleted access key
1681
+ # might return an error that the key doesn't exist.
1682
+ #
1683
+ #
1684
+ #
1685
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
1686
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html
1687
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html
1688
+ #
1689
+ # @option params [required, String] :access_key_id
1690
+ # The identifier of an access key.
1691
+ #
1692
+ # This parameter allows (through its regex pattern) a string of
1693
+ # characters that can consist of any upper- or lowercase letter or
1694
+ # digit.
1695
+ #
1696
+ # @return [Types::GetAccessKeyInfoResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1697
+ #
1698
+ # * {Types::GetAccessKeyInfoResponse#account #account} => String
1699
+ #
1700
+ # @example Request syntax with placeholder values
1701
+ #
1702
+ # resp = client.get_access_key_info({
1703
+ # access_key_id: "accessKeyIdType", # required
1704
+ # })
1705
+ #
1706
+ # @example Response structure
1707
+ #
1708
+ # resp.account #=> String
1709
+ #
1710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetAccessKeyInfo AWS API Documentation
1711
+ #
1712
+ # @overload get_access_key_info(params = {})
1713
+ # @param [Hash] params ({})
1714
+ def get_access_key_info(params = {}, options = {})
1715
+ req = build_request(:get_access_key_info, params)
1716
+ req.send_request(options)
1717
+ end
1718
+
1719
+ # Returns details about the IAM user or role whose credentials are used
1720
+ # to call the operation.
1721
+ #
1722
+ # <note markdown="1"> No permissions are required to perform this operation. If an
1723
+ # administrator adds a policy to your IAM user or role that explicitly
1724
+ # denies access to the `sts:GetCallerIdentity` action, you can still
1725
+ # perform this operation. Permissions are not required because the same
1726
+ # information is returned when an IAM user or role is denied access. To
1727
+ # view an example response, see [I Am Not Authorized to Perform:
1728
+ # iam:DeleteVirtualMFADevice][1] in the *IAM User Guide*.
1729
+ #
1730
+ # </note>
1731
+ #
1732
+ #
1733
+ #
1734
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_access-denied-delete-mfa
1735
+ #
1736
+ # @return [Types::GetCallerIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1737
+ #
1738
+ # * {Types::GetCallerIdentityResponse#user_id #user_id} => String
1739
+ # * {Types::GetCallerIdentityResponse#account #account} => String
1740
+ # * {Types::GetCallerIdentityResponse#arn #arn} => String
1741
+ #
1742
+ #
1743
+ # @example Example: To get details about a calling IAM user
1744
+ #
1745
+ # # This example shows a request and response made with the credentials for a user named Alice in the AWS account
1746
+ # # 123456789012.
1747
+ #
1748
+ # resp = client.get_caller_identity({
1749
+ # })
1750
+ #
1751
+ # resp.to_h outputs the following:
1752
+ # {
1753
+ # account: "123456789012",
1754
+ # arn: "arn:aws:iam::123456789012:user/Alice",
1755
+ # user_id: "AKIAI44QH8DHBEXAMPLE",
1756
+ # }
1757
+ #
1758
+ # @example Example: To get details about a calling user federated with AssumeRole
1759
+ #
1760
+ # # This example shows a request and response made with temporary credentials created by AssumeRole. The name of the assumed
1761
+ # # role is my-role-name, and the RoleSessionName is set to my-role-session-name.
1762
+ #
1763
+ # resp = client.get_caller_identity({
1764
+ # })
1765
+ #
1766
+ # resp.to_h outputs the following:
1767
+ # {
1768
+ # account: "123456789012",
1769
+ # arn: "arn:aws:sts::123456789012:assumed-role/my-role-name/my-role-session-name",
1770
+ # user_id: "AKIAI44QH8DHBEXAMPLE:my-role-session-name",
1771
+ # }
1772
+ #
1773
+ # @example Example: To get details about a calling user federated with GetFederationToken
1774
+ #
1775
+ # # This example shows a request and response made with temporary credentials created by using GetFederationToken. The Name
1776
+ # # parameter is set to my-federated-user-name.
1777
+ #
1778
+ # resp = client.get_caller_identity({
1779
+ # })
1780
+ #
1781
+ # resp.to_h outputs the following:
1782
+ # {
1783
+ # account: "123456789012",
1784
+ # arn: "arn:aws:sts::123456789012:federated-user/my-federated-user-name",
1785
+ # user_id: "123456789012:my-federated-user-name",
1786
+ # }
1787
+ #
1788
+ # @example Response structure
1789
+ #
1790
+ # resp.user_id #=> String
1791
+ # resp.account #=> String
1792
+ # resp.arn #=> String
1793
+ #
1794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity AWS API Documentation
1795
+ #
1796
+ # @overload get_caller_identity(params = {})
1797
+ # @param [Hash] params ({})
1798
+ def get_caller_identity(params = {}, options = {})
1799
+ req = build_request(:get_caller_identity, params)
1800
+ req.send_request(options)
1801
+ end
1802
+
1803
+ # Returns a set of temporary security credentials (consisting of an
1804
+ # access key ID, a secret access key, and a security token) for a
1805
+ # federated user. A typical use is in a proxy application that gets
1806
+ # temporary security credentials on behalf of distributed applications
1807
+ # inside a corporate network. You must call the `GetFederationToken`
1808
+ # operation using the long-term security credentials of an IAM user. As
1809
+ # a result, this call is appropriate in contexts where those credentials
1810
+ # can be safely stored, usually in a server-based application. For a
1811
+ # comparison of `GetFederationToken` with the other API operations that
1812
+ # produce temporary credentials, see [Requesting Temporary Security
1813
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
1814
+ # operations][2] in the *IAM User Guide*.
1815
+ #
1816
+ # <note markdown="1"> You can create a mobile-based or browser-based app that can
1817
+ # authenticate users using a web identity provider like Login with
1818
+ # Amazon, Facebook, Google, or an OpenID Connect-compatible identity
1819
+ # provider. In this case, we recommend that you use [Amazon Cognito][3]
1820
+ # or `AssumeRoleWithWebIdentity`. For more information, see [Federation
1821
+ # Through a Web-based Identity Provider][4] in the *IAM User Guide*.
1822
+ #
1823
+ # </note>
1824
+ #
1825
+ # You can also call `GetFederationToken` using the security credentials
1826
+ # of an Amazon Web Services account root user, but we do not recommend
1827
+ # it. Instead, we recommend that you create an IAM user for the purpose
1828
+ # of the proxy application. Then attach a policy to the IAM user that
1829
+ # limits federated users to only the actions and resources that they
1830
+ # need to access. For more information, see [IAM Best Practices][5] in
1831
+ # the *IAM User Guide*.
1832
+ #
1833
+ # **Session duration**
1834
+ #
1835
+ # The temporary credentials are valid for the specified duration, from
1836
+ # 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
1837
+ # hours). The default session duration is 43,200 seconds (12 hours).
1838
+ # Temporary credentials obtained by using the Amazon Web Services
1839
+ # account root user credentials have a maximum duration of 3,600 seconds
1840
+ # (1 hour).
1841
+ #
1842
+ # **Permissions**
1843
+ #
1844
+ # You can use the temporary credentials created by `GetFederationToken`
1845
+ # in any Amazon Web Services service with the following exceptions:
1846
+ #
1847
+ # * You cannot call any IAM operations using the CLI or the Amazon Web
1848
+ # Services API. This limitation does not apply to console sessions.
1849
+ #
1850
+ # * You cannot call any STS operations except `GetCallerIdentity`.
1851
+ #
1852
+ # You can use temporary credentials for single sign-on (SSO) to the
1853
+ # console.
1854
+ #
1855
+ # You must pass an inline or managed [session policy][6] to this
1856
+ # operation. You can pass a single JSON policy document to use as an
1857
+ # inline session policy. You can also specify up to 10 managed policy
1858
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
1859
+ # plaintext that you use for both inline and managed session policies
1860
+ # can't exceed 2,048 characters.
1861
+ #
1862
+ # Though the session policy parameters are optional, if you do not pass
1863
+ # a policy, then the resulting federated user session has no
1864
+ # permissions. When you pass session policies, the session permissions
1865
+ # are the intersection of the IAM user policies and the session policies
1866
+ # that you pass. This gives you a way to further restrict the
1867
+ # permissions for a federated user. You cannot use session policies to
1868
+ # grant more permissions than those that are defined in the permissions
1869
+ # policy of the IAM user. For more information, see [Session
1870
+ # Policies][6] in the *IAM User Guide*. For information about using
1871
+ # `GetFederationToken` to create temporary security credentials, see
1872
+ # [GetFederationToken—Federation Through a Custom Identity Broker][7].
1873
+ #
1874
+ # You can use the credentials to access a resource that has a
1875
+ # resource-based policy. If that policy specifically references the
1876
+ # federated user session in the `Principal` element of the policy, the
1877
+ # session has the permissions allowed by the policy. These permissions
1878
+ # are granted in addition to the permissions granted by the session
1879
+ # policies.
1880
+ #
1881
+ # **Tags**
1882
+ #
1883
+ # (Optional) You can pass tag key-value pairs to your session. These are
1884
+ # called session tags. For more information about session tags, see
1885
+ # [Passing Session Tags in STS][8] in the *IAM User Guide*.
1886
+ #
1887
+ # <note markdown="1"> You can create a mobile-based or browser-based app that can
1888
+ # authenticate users using a web identity provider like Login with
1889
+ # Amazon, Facebook, Google, or an OpenID Connect-compatible identity
1890
+ # provider. In this case, we recommend that you use [Amazon Cognito][3]
1891
+ # or `AssumeRoleWithWebIdentity`. For more information, see [Federation
1892
+ # Through a Web-based Identity Provider][4] in the *IAM User Guide*.
1893
+ #
1894
+ # </note>
1895
+ #
1896
+ # An administrator must grant you the permissions necessary to pass
1897
+ # session tags. The administrator can also create granular permissions
1898
+ # to allow you to pass only specific session tags. For more information,
1899
+ # see [Tutorial: Using Tags for Attribute-Based Access Control][9] in
1900
+ # the *IAM User Guide*.
1901
+ #
1902
+ # Tag key–value pairs are not case sensitive, but case is preserved.
1903
+ # This means that you cannot have separate `Department` and `department`
1904
+ # tag keys. Assume that the user that you are federating has the
1905
+ # `Department`=`Marketing` tag and you pass the
1906
+ # `department`=`engineering` session tag. `Department` and `department`
1907
+ # are not saved as separate tags, and the session tag passed in the
1908
+ # request takes precedence over the user tag.
1909
+ #
1910
+ #
1911
+ #
1912
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1913
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1914
+ # [3]: http://aws.amazon.com/cognito/
1915
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
1916
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
1917
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1918
+ # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken
1919
+ # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1920
+ # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html
1921
+ #
1922
+ # @option params [required, String] :name
1923
+ # The name of the federated user. The name is used as an identifier for
1924
+ # the temporary security credentials (such as `Bob`). For example, you
1925
+ # can reference the federated user name in a resource-based policy, such
1926
+ # as in an Amazon S3 bucket policy.
1927
+ #
1928
+ # The regex used to validate this parameter is a string of characters
1929
+ # consisting of upper- and lower-case alphanumeric characters with no
1930
+ # spaces. You can also include underscores or any of the following
1931
+ # characters: =,.@-
1932
+ #
1933
+ # @option params [String] :policy
1934
+ # An IAM policy in JSON format that you want to use as an inline session
1935
+ # policy.
1936
+ #
1937
+ # You must pass an inline or managed [session policy][1] to this
1938
+ # operation. You can pass a single JSON policy document to use as an
1939
+ # inline session policy. You can also specify up to 10 managed policy
1940
+ # Amazon Resource Names (ARNs) to use as managed session policies.
1941
+ #
1942
+ # This parameter is optional. However, if you do not pass any session
1943
+ # policies, then the resulting federated user session has no
1944
+ # permissions.
1945
+ #
1946
+ # When you pass session policies, the session permissions are the
1947
+ # intersection of the IAM user policies and the session policies that
1948
+ # you pass. This gives you a way to further restrict the permissions for
1949
+ # a federated user. You cannot use session policies to grant more
1950
+ # permissions than those that are defined in the permissions policy of
1951
+ # the IAM user. For more information, see [Session Policies][1] in the
1952
+ # *IAM User Guide*.
1953
+ #
1954
+ # The resulting credentials can be used to access a resource that has a
1955
+ # resource-based policy. If that policy specifically references the
1956
+ # federated user session in the `Principal` element of the policy, the
1957
+ # session has the permissions allowed by the policy. These permissions
1958
+ # are granted in addition to the permissions that are granted by the
1959
+ # session policies.
1960
+ #
1961
+ # The plaintext that you use for both inline and managed session
1962
+ # policies can't exceed 2,048 characters. The JSON policy characters
1963
+ # can be any ASCII character from the space character to the end of the
1964
+ # valid character list (\\u0020 through \\u00FF). It can also include
1965
+ # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1966
+ # characters.
1967
+ #
1968
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1969
+ # policy, managed policy ARNs, and session tags into a packed binary
1970
+ # format that has a separate limit. Your request can fail for this limit
1971
+ # even if your plaintext meets the other requirements. The
1972
+ # `PackedPolicySize` response element indicates by percentage how close
1973
+ # the policies and tags for your request are to the upper size limit.
1974
+ #
1975
+ # </note>
1976
+ #
1977
+ #
1978
+ #
1979
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1980
+ #
1981
+ # @option params [Array<Types::PolicyDescriptorType>] :policy_arns
1982
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that you
1983
+ # want to use as a managed session policy. The policies must exist in
1984
+ # the same account as the IAM user that is requesting federated access.
1985
+ #
1986
+ # You must pass an inline or managed [session policy][1] to this
1987
+ # operation. You can pass a single JSON policy document to use as an
1988
+ # inline session policy. You can also specify up to 10 managed policy
1989
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
1990
+ # plaintext that you use for both inline and managed session policies
1991
+ # can't exceed 2,048 characters. You can provide up to 10 managed
1992
+ # policy ARNs. For more information about ARNs, see [Amazon Resource
1993
+ # Names (ARNs) and Amazon Web Services Service Namespaces][2] in the
1994
+ # Amazon Web Services General Reference.
1995
+ #
1996
+ # This parameter is optional. However, if you do not pass any session
1997
+ # policies, then the resulting federated user session has no
1998
+ # permissions.
1999
+ #
2000
+ # When you pass session policies, the session permissions are the
2001
+ # intersection of the IAM user policies and the session policies that
2002
+ # you pass. This gives you a way to further restrict the permissions for
2003
+ # a federated user. You cannot use session policies to grant more
2004
+ # permissions than those that are defined in the permissions policy of
2005
+ # the IAM user. For more information, see [Session Policies][1] in the
2006
+ # *IAM User Guide*.
2007
+ #
2008
+ # The resulting credentials can be used to access a resource that has a
2009
+ # resource-based policy. If that policy specifically references the
2010
+ # federated user session in the `Principal` element of the policy, the
2011
+ # session has the permissions allowed by the policy. These permissions
2012
+ # are granted in addition to the permissions that are granted by the
2013
+ # session policies.
2014
+ #
2015
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
2016
+ # policy, managed policy ARNs, and session tags into a packed binary
2017
+ # format that has a separate limit. Your request can fail for this limit
2018
+ # even if your plaintext meets the other requirements. The
2019
+ # `PackedPolicySize` response element indicates by percentage how close
2020
+ # the policies and tags for your request are to the upper size limit.
2021
+ #
2022
+ # </note>
2023
+ #
2024
+ #
2025
+ #
2026
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
2027
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2028
+ #
2029
+ # @option params [Integer] :duration_seconds
2030
+ # The duration, in seconds, that the session should last. Acceptable
2031
+ # durations for federation sessions range from 900 seconds (15 minutes)
2032
+ # to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the
2033
+ # default. Sessions obtained using Amazon Web Services account root user
2034
+ # credentials are restricted to a maximum of 3,600 seconds (one hour).
2035
+ # If the specified duration is longer than one hour, the session
2036
+ # obtained by using root user credentials defaults to one hour.
2037
+ #
2038
+ # @option params [Array<Types::Tag>] :tags
2039
+ # A list of session tags. Each session tag consists of a key name and an
2040
+ # associated value. For more information about session tags, see
2041
+ # [Passing Session Tags in STS][1] in the *IAM User Guide*.
2042
+ #
2043
+ # This parameter is optional. You can pass up to 50 session tags. The
2044
+ # plaintext session tag keys can’t exceed 128 characters and the values
2045
+ # can’t exceed 256 characters. For these and additional limits, see [IAM
2046
+ # and STS Character Limits][2] in the *IAM User Guide*.
2047
+ #
2048
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
2049
+ # policy, managed policy ARNs, and session tags into a packed binary
2050
+ # format that has a separate limit. Your request can fail for this limit
2051
+ # even if your plaintext meets the other requirements. The
2052
+ # `PackedPolicySize` response element indicates by percentage how close
2053
+ # the policies and tags for your request are to the upper size limit.
2054
+ #
2055
+ # </note>
2056
+ #
2057
+ # You can pass a session tag with the same key as a tag that is already
2058
+ # attached to the user you are federating. When you do, session tags
2059
+ # override a user tag with the same key.
2060
+ #
2061
+ # Tag key–value pairs are not case sensitive, but case is preserved.
2062
+ # This means that you cannot have separate `Department` and `department`
2063
+ # tag keys. Assume that the role has the `Department`=`Marketing` tag
2064
+ # and you pass the `department`=`engineering` session tag. `Department`
2065
+ # and `department` are not saved as separate tags, and the session tag
2066
+ # passed in the request takes precedence over the role tag.
2067
+ #
2068
+ #
2069
+ #
2070
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
2071
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
2072
+ #
2073
+ # @return [Types::GetFederationTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2074
+ #
2075
+ # * {Types::GetFederationTokenResponse#credentials #credentials} => Types::Credentials
2076
+ # * {Types::GetFederationTokenResponse#federated_user #federated_user} => Types::FederatedUser
2077
+ # * {Types::GetFederationTokenResponse#packed_policy_size #packed_policy_size} => Integer
2078
+ #
2079
+ #
2080
+ # @example Example: To get temporary credentials for a role by using GetFederationToken
2081
+ #
2082
+ # resp = client.get_federation_token({
2083
+ # duration_seconds: 3600,
2084
+ # name: "testFedUserSession",
2085
+ # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}",
2086
+ # tags: [
2087
+ # {
2088
+ # key: "Project",
2089
+ # value: "Pegasus",
2090
+ # },
2091
+ # {
2092
+ # key: "Cost-Center",
2093
+ # value: "98765",
2094
+ # },
2095
+ # ],
2096
+ # })
2097
+ #
2098
+ # resp.to_h outputs the following:
2099
+ # {
2100
+ # credentials: {
2101
+ # access_key_id: "AKIAIOSFODNN7EXAMPLE",
2102
+ # expiration: Time.parse("2011-07-15T23:28:33.359Z"),
2103
+ # secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
2104
+ # session_token: "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==",
2105
+ # },
2106
+ # federated_user: {
2107
+ # arn: "arn:aws:sts::123456789012:federated-user/Bob",
2108
+ # federated_user_id: "123456789012:Bob",
2109
+ # },
2110
+ # packed_policy_size: 8,
2111
+ # }
2112
+ #
2113
+ # @example Request syntax with placeholder values
2114
+ #
2115
+ # resp = client.get_federation_token({
2116
+ # name: "userNameType", # required
2117
+ # policy: "sessionPolicyDocumentType",
2118
+ # policy_arns: [
2119
+ # {
2120
+ # arn: "arnType",
2121
+ # },
2122
+ # ],
2123
+ # duration_seconds: 1,
2124
+ # tags: [
2125
+ # {
2126
+ # key: "tagKeyType", # required
2127
+ # value: "tagValueType", # required
2128
+ # },
2129
+ # ],
2130
+ # })
2131
+ #
2132
+ # @example Response structure
2133
+ #
2134
+ # resp.credentials.access_key_id #=> String
2135
+ # resp.credentials.secret_access_key #=> String
2136
+ # resp.credentials.session_token #=> String
2137
+ # resp.credentials.expiration #=> Time
2138
+ # resp.federated_user.federated_user_id #=> String
2139
+ # resp.federated_user.arn #=> String
2140
+ # resp.packed_policy_size #=> Integer
2141
+ #
2142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken AWS API Documentation
2143
+ #
2144
+ # @overload get_federation_token(params = {})
2145
+ # @param [Hash] params ({})
2146
+ def get_federation_token(params = {}, options = {})
2147
+ req = build_request(:get_federation_token, params)
2148
+ req.send_request(options)
2149
+ end
2150
+
2151
+ # Returns a set of temporary credentials for an Amazon Web Services
2152
+ # account or IAM user. The credentials consist of an access key ID, a
2153
+ # secret access key, and a security token. Typically, you use
2154
+ # `GetSessionToken` if you want to use MFA to protect programmatic calls
2155
+ # to specific Amazon Web Services API operations like Amazon EC2
2156
+ # `StopInstances`. MFA-enabled IAM users would need to call
2157
+ # `GetSessionToken` and submit an MFA code that is associated with their
2158
+ # MFA device. Using the temporary security credentials that are returned
2159
+ # from the call, IAM users can then make programmatic calls to API
2160
+ # operations that require MFA authentication. If you do not supply a
2161
+ # correct MFA code, then the API returns an access denied error. For a
2162
+ # comparison of `GetSessionToken` with the other API operations that
2163
+ # produce temporary credentials, see [Requesting Temporary Security
2164
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
2165
+ # operations][2] in the *IAM User Guide*.
2166
+ #
2167
+ # <note markdown="1"> No permissions are required for users to perform this operation. The
2168
+ # purpose of the `sts:GetSessionToken` operation is to authenticate the
2169
+ # user using MFA. You cannot use policies to control authentication
2170
+ # operations. For more information, see [Permissions for
2171
+ # GetSessionToken][3] in the *IAM User Guide*.
2172
+ #
2173
+ # </note>
2174
+ #
2175
+ # **Session Duration**
2176
+ #
2177
+ # The `GetSessionToken` operation must be called by using the long-term
2178
+ # Amazon Web Services security credentials of the Amazon Web Services
2179
+ # account root user or an IAM user. Credentials that are created by IAM
2180
+ # users are valid for the duration that you specify. This duration can
2181
+ # range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds
2182
+ # (36 hours), with a default of 43,200 seconds (12 hours). Credentials
2183
+ # based on account credentials can range from 900 seconds (15 minutes)
2184
+ # up to 3,600 seconds (1 hour), with a default of 1 hour.
2185
+ #
2186
+ # **Permissions**
2187
+ #
2188
+ # The temporary security credentials created by `GetSessionToken` can be
2189
+ # used to make API calls to any Amazon Web Services service with the
2190
+ # following exceptions:
2191
+ #
2192
+ # * You cannot call any IAM API operations unless MFA authentication
2193
+ # information is included in the request.
2194
+ #
2195
+ # * You cannot call any STS API *except* `AssumeRole` or
2196
+ # `GetCallerIdentity`.
2197
+ #
2198
+ # <note markdown="1"> We recommend that you do not call `GetSessionToken` with Amazon Web
2199
+ # Services account root user credentials. Instead, follow our [best
2200
+ # practices][4] by creating one or more IAM users, giving them the
2201
+ # necessary permissions, and using IAM users for everyday interaction
2202
+ # with Amazon Web Services.
2203
+ #
2204
+ # </note>
2205
+ #
2206
+ # The credentials that are returned by `GetSessionToken` are based on
2207
+ # permissions associated with the user whose credentials were used to
2208
+ # call the operation. If `GetSessionToken` is called using Amazon Web
2209
+ # Services account root user credentials, the temporary credentials have
2210
+ # root user permissions. Similarly, if `GetSessionToken` is called using
2211
+ # the credentials of an IAM user, the temporary credentials have the
2212
+ # same permissions as the IAM user.
2213
+ #
2214
+ # For more information about using `GetSessionToken` to create temporary
2215
+ # credentials, go to [Temporary Credentials for Users in Untrusted
2216
+ # Environments][5] in the *IAM User Guide*.
2217
+ #
2218
+ #
2219
+ #
2220
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
2221
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
2222
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getsessiontoken.html
2223
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users
2224
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken
2225
+ #
2226
+ # @option params [Integer] :duration_seconds
2227
+ # The duration, in seconds, that the credentials should remain valid.
2228
+ # Acceptable durations for IAM user sessions range from 900 seconds (15
2229
+ # minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours)
2230
+ # as the default. Sessions for Amazon Web Services account owners are
2231
+ # restricted to a maximum of 3,600 seconds (one hour). If the duration
2232
+ # is longer than one hour, the session for Amazon Web Services account
2233
+ # owners defaults to one hour.
2234
+ #
2235
+ # @option params [String] :serial_number
2236
+ # The identification number of the MFA device that is associated with
2237
+ # the IAM user who is making the `GetSessionToken` call. Specify this
2238
+ # value if the IAM user has a policy that requires MFA authentication.
2239
+ # The value is either the serial number for a hardware device (such as
2240
+ # `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual device
2241
+ # (such as `arn:aws:iam::123456789012:mfa/user`). You can find the
2242
+ # device for an IAM user by going to the Amazon Web Services Management
2243
+ # Console and viewing the user's security credentials.
2244
+ #
2245
+ # The regex used to validate this parameter is a string of characters
2246
+ # consisting of upper- and lower-case alphanumeric characters with no
2247
+ # spaces. You can also include underscores or any of the following
2248
+ # characters: =,.@:/-
2249
+ #
2250
+ # @option params [String] :token_code
2251
+ # The value provided by the MFA device, if MFA is required. If any
2252
+ # policy requires the IAM user to submit an MFA code, specify this
2253
+ # value. If MFA authentication is required, the user must provide a code
2254
+ # when requesting a set of temporary security credentials. A user who
2255
+ # fails to provide the code receives an "access denied" response when
2256
+ # requesting resources that require MFA authentication.
2257
+ #
2258
+ # The format for this parameter, as described by its regex pattern, is a
2259
+ # sequence of six numeric digits.
2260
+ #
2261
+ # @return [Types::GetSessionTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2262
+ #
2263
+ # * {Types::GetSessionTokenResponse#credentials #credentials} => Types::Credentials
2264
+ #
2265
+ #
2266
+ # @example Example: To get temporary credentials for an IAM user or an AWS account
2267
+ #
2268
+ # resp = client.get_session_token({
2269
+ # duration_seconds: 3600,
2270
+ # serial_number: "YourMFASerialNumber",
2271
+ # token_code: "123456",
2272
+ # })
2273
+ #
2274
+ # resp.to_h outputs the following:
2275
+ # {
2276
+ # credentials: {
2277
+ # access_key_id: "AKIAIOSFODNN7EXAMPLE",
2278
+ # expiration: Time.parse("2011-07-11T19:55:29.611Z"),
2279
+ # secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
2280
+ # session_token: "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE",
2281
+ # },
2282
+ # }
2283
+ #
2284
+ # @example Request syntax with placeholder values
2285
+ #
2286
+ # resp = client.get_session_token({
2287
+ # duration_seconds: 1,
2288
+ # serial_number: "serialNumberType",
2289
+ # token_code: "tokenCodeType",
2290
+ # })
2291
+ #
2292
+ # @example Response structure
2293
+ #
2294
+ # resp.credentials.access_key_id #=> String
2295
+ # resp.credentials.secret_access_key #=> String
2296
+ # resp.credentials.session_token #=> String
2297
+ # resp.credentials.expiration #=> Time
2298
+ #
2299
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken AWS API Documentation
2300
+ #
2301
+ # @overload get_session_token(params = {})
2302
+ # @param [Hash] params ({})
2303
+ def get_session_token(params = {}, options = {})
2304
+ req = build_request(:get_session_token, params)
2305
+ req.send_request(options)
2306
+ end
2307
+
2308
+ # @!endgroup
2309
+
2310
+ # @param params ({})
2311
+ # @api private
2312
+ def build_request(operation_name, params = {})
2313
+ handlers = @handlers.for(operation_name)
2314
+ context = Seahorse::Client::RequestContext.new(
2315
+ operation_name: operation_name,
2316
+ operation: config.api.operation(operation_name),
2317
+ client: self,
2318
+ params: params,
2319
+ config: config)
2320
+ context[:gem_name] = 'aws-sdk-core'
2321
+ context[:gem_version] = '3.170.0'
2322
+ Seahorse::Client::Request.new(handlers, context)
2323
+ end
2324
+
2325
+ # @api private
2326
+ # @deprecated
2327
+ def waiter_names
2328
+ []
2329
+ end
2330
+
2331
+ class << self
2332
+
2333
+ # @api private
2334
+ attr_reader :identifier
2335
+
2336
+ # @api private
2337
+ def errors_module
2338
+ Errors
2339
+ end
2340
+
2341
+ end
2342
+ end
2343
+ end