aws-sdk-core 2.4.0 → 3.53.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (487) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -0
  3. data/ca-bundle.crt +3615 -3541
  4. data/lib/aws-sdk-core.rb +96 -408
  5. data/lib/aws-sdk-core/async_client_stubs.rb +80 -0
  6. data/lib/aws-sdk-core/binary.rb +6 -0
  7. data/lib/aws-sdk-core/binary/decode_handler.rb +56 -0
  8. data/lib/aws-sdk-core/binary/encode_handler.rb +32 -0
  9. data/lib/aws-sdk-core/binary/event_builder.rb +122 -0
  10. data/lib/aws-sdk-core/binary/event_parser.rb +134 -0
  11. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +62 -0
  12. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +53 -0
  13. data/lib/aws-sdk-core/client_side_monitoring/publisher.rb +41 -0
  14. data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +197 -0
  15. data/lib/aws-sdk-core/client_stubs.rb +73 -10
  16. data/lib/aws-sdk-core/credential_provider.rb +2 -0
  17. data/lib/aws-sdk-core/credential_provider_chain.rb +22 -5
  18. data/lib/aws-sdk-core/ecs_credentials.rb +3 -3
  19. data/lib/aws-sdk-core/endpoint_cache.rb +188 -0
  20. data/lib/aws-sdk-core/errors.rb +174 -10
  21. data/lib/aws-sdk-core/event_emitter.rb +62 -0
  22. data/lib/aws-sdk-core/ini_parser.rb +1 -0
  23. data/lib/aws-sdk-core/instance_profile_credentials.rb +21 -12
  24. data/lib/aws-sdk-core/json.rb +4 -5
  25. data/lib/aws-sdk-core/json/builder.rb +4 -2
  26. data/lib/aws-sdk-core/json/error_handler.rb +19 -2
  27. data/lib/aws-sdk-core/json/handler.rb +22 -3
  28. data/lib/aws-sdk-core/json/parser.rb +1 -1
  29. data/lib/aws-sdk-core/log/param_filter.rb +4 -3
  30. data/lib/aws-sdk-core/pageable_response.rb +1 -0
  31. data/lib/aws-sdk-core/pager.rb +30 -25
  32. data/lib/aws-sdk-core/param_converter.rb +3 -3
  33. data/lib/aws-sdk-core/param_validator.rb +56 -21
  34. data/lib/aws-sdk-core/plugins/api_key.rb +52 -0
  35. data/lib/aws-sdk-core/plugins/apig_authorizer_token.rb +30 -0
  36. data/lib/aws-sdk-core/plugins/apig_credentials_configuration.rb +34 -0
  37. data/lib/aws-sdk-core/plugins/apig_user_agent.rb +37 -0
  38. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +256 -0
  39. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +84 -0
  40. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +62 -0
  41. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +160 -0
  42. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +63 -0
  43. data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +30 -0
  44. data/lib/aws-sdk-core/plugins/global_configuration.rb +19 -10
  45. data/lib/aws-sdk-core/plugins/helpful_socket_errors.rb +41 -0
  46. data/lib/aws-sdk-core/plugins/idempotency_token.rb +36 -0
  47. data/lib/aws-sdk-core/plugins/invocation_id.rb +33 -0
  48. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +29 -0
  49. data/lib/aws-sdk-core/plugins/logging.rb +18 -18
  50. data/lib/aws-sdk-core/plugins/param_converter.rb +9 -5
  51. data/lib/aws-sdk-core/plugins/param_validator.rb +8 -5
  52. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +10 -0
  53. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -1
  54. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +13 -12
  55. data/lib/aws-sdk-core/plugins/protocols/query.rb +2 -2
  56. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +28 -16
  57. data/lib/aws-sdk-core/plugins/response_paging.rb +5 -18
  58. data/lib/aws-sdk-core/plugins/retry_errors.rb +97 -23
  59. data/lib/aws-sdk-core/plugins/signature_v2.rb +51 -0
  60. data/lib/aws-sdk-core/plugins/signature_v4.rb +141 -0
  61. data/lib/aws-sdk-core/plugins/stub_responses.rb +35 -18
  62. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +53 -0
  63. data/lib/aws-sdk-core/plugins/user_agent.rb +23 -6
  64. data/lib/aws-sdk-core/process_credentials.rb +76 -0
  65. data/lib/aws-sdk-core/query.rb +5 -0
  66. data/lib/aws-sdk-core/query/ec2_param_builder.rb +9 -3
  67. data/lib/aws-sdk-core/query/handler.rb +20 -16
  68. data/lib/aws-sdk-core/query/param_builder.rb +10 -4
  69. data/lib/aws-sdk-core/refreshing_credentials.rb +1 -1
  70. data/lib/aws-sdk-core/resources/collection.rb +121 -0
  71. data/lib/aws-sdk-core/rest.rb +10 -0
  72. data/lib/aws-sdk-core/rest/handler.rb +1 -0
  73. data/lib/aws-sdk-core/rest/request/builder.rb +2 -1
  74. data/lib/aws-sdk-core/rest/request/endpoint.rb +11 -66
  75. data/lib/aws-sdk-core/rest/request/headers.rb +20 -1
  76. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +103 -0
  77. data/lib/aws-sdk-core/rest/response/body.rb +14 -1
  78. data/lib/aws-sdk-core/rest/response/headers.rb +9 -0
  79. data/lib/aws-sdk-core/rest/response/parser.rb +18 -14
  80. data/lib/aws-sdk-core/shared_config.rb +132 -18
  81. data/lib/aws-sdk-core/shared_credentials.rb +2 -0
  82. data/lib/aws-sdk-core/structure.rb +21 -11
  83. data/lib/aws-sdk-core/stubbing/data_applicator.rb +1 -1
  84. data/lib/aws-sdk-core/stubbing/empty_stub.rb +10 -3
  85. data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +8 -0
  86. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +1 -1
  87. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +99 -1
  88. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +5 -1
  89. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +9 -5
  90. data/lib/aws-sdk-core/stubbing/stub_data.rb +16 -3
  91. data/lib/aws-sdk-core/util.rb +66 -0
  92. data/lib/aws-sdk-core/waiters.rb +3 -0
  93. data/lib/aws-sdk-core/waiters/poller.rb +5 -7
  94. data/lib/aws-sdk-core/waiters/waiter.rb +1 -0
  95. data/lib/aws-sdk-core/xml.rb +9 -0
  96. data/lib/aws-sdk-core/xml/builder.rb +11 -5
  97. data/lib/aws-sdk-core/xml/error_handler.rb +27 -5
  98. data/lib/aws-sdk-core/xml/parser.rb +1 -11
  99. data/lib/aws-sdk-core/xml/parser/engines/ox.rb +5 -1
  100. data/lib/aws-sdk-core/xml/parser/frame.rb +6 -6
  101. data/lib/aws-sdk-sts.rb +45 -0
  102. data/lib/aws-sdk-sts/client.rb +1761 -0
  103. data/lib/aws-sdk-sts/client_api.rb +304 -0
  104. data/lib/aws-sdk-sts/customizations.rb +0 -0
  105. data/lib/aws-sdk-sts/errors.rb +142 -0
  106. data/lib/aws-sdk-sts/resource.rb +23 -0
  107. data/lib/aws-sdk-sts/types.rb +1279 -0
  108. data/lib/seahorse.rb +60 -60
  109. data/lib/seahorse/client/async_base.rb +50 -0
  110. data/lib/seahorse/client/async_response.rb +62 -0
  111. data/lib/seahorse/client/base.rb +2 -8
  112. data/lib/seahorse/client/configuration.rb +9 -1
  113. data/lib/seahorse/client/h2/connection.rb +244 -0
  114. data/lib/seahorse/client/h2/handler.rb +151 -0
  115. data/lib/seahorse/client/http/async_response.rb +42 -0
  116. data/lib/seahorse/client/http/response.rb +10 -5
  117. data/lib/seahorse/client/logging/formatter.rb +5 -1
  118. data/lib/seahorse/client/logging/handler.rb +2 -0
  119. data/lib/seahorse/client/net_http/connection_pool.rb +27 -11
  120. data/lib/seahorse/client/net_http/handler.rb +10 -2
  121. data/lib/seahorse/client/net_http/patches.rb +9 -1
  122. data/lib/seahorse/client/networking_error.rb +28 -0
  123. data/lib/seahorse/client/plugin.rb +66 -6
  124. data/lib/seahorse/client/plugin_list.rb +3 -1
  125. data/lib/seahorse/client/plugins/content_length.rb +7 -2
  126. data/lib/seahorse/client/plugins/endpoint.rb +14 -10
  127. data/lib/seahorse/client/plugins/h2.rb +64 -0
  128. data/lib/seahorse/client/plugins/logging.rb +17 -19
  129. data/lib/seahorse/client/plugins/net_http.rb +23 -15
  130. data/lib/seahorse/client/plugins/raise_response_errors.rb +4 -4
  131. data/lib/seahorse/client/plugins/response_target.rb +10 -1
  132. data/lib/seahorse/client/request_context.rb +5 -0
  133. data/lib/seahorse/client/response.rb +9 -20
  134. data/lib/seahorse/model/api.rb +37 -0
  135. data/lib/seahorse/model/authorizer.rb +21 -0
  136. data/lib/seahorse/model/operation.rb +20 -0
  137. data/lib/seahorse/model/shapes.rb +44 -2
  138. data/lib/seahorse/util.rb +1 -21
  139. metadata +112 -359
  140. data/apis/acm/2015-12-08/api-2.json +0 -495
  141. data/apis/acm/2015-12-08/examples-1.json +0 -5
  142. data/apis/acm/2015-12-08/paginators-1.json +0 -10
  143. data/apis/apigateway/2015-07-09/api-2.json +0 -3347
  144. data/apis/apigateway/2015-07-09/examples-1.json +0 -5
  145. data/apis/apigateway/2015-07-09/paginators-1.json +0 -52
  146. data/apis/application-autoscaling/2016-02-06/api-2.json +0 -502
  147. data/apis/application-autoscaling/2016-02-06/examples-1.json +0 -5
  148. data/apis/application-autoscaling/2016-02-06/paginators-1.json +0 -22
  149. data/apis/autoscaling/2011-01-01/api-2.json +0 -2038
  150. data/apis/autoscaling/2011-01-01/examples-1.json +0 -5
  151. data/apis/autoscaling/2011-01-01/paginators-1.json +0 -52
  152. data/apis/autoscaling/2011-01-01/resources-1.json +0 -1613
  153. data/apis/autoscaling/2011-01-01/waiters-2.json +0 -62
  154. data/apis/cloudformation/2010-05-15/api-2.json +0 -1299
  155. data/apis/cloudformation/2010-05-15/examples-1.json +0 -5
  156. data/apis/cloudformation/2010-05-15/paginators-1.json +0 -27
  157. data/apis/cloudformation/2010-05-15/resources-1.json +0 -202
  158. data/apis/cloudformation/2010-05-15/waiters-2.json +0 -235
  159. data/apis/cloudfront/2016-01-28/api-2.json +0 -2218
  160. data/apis/cloudfront/2016-01-28/examples-1.json +0 -5
  161. data/apis/cloudfront/2016-01-28/paginators-1.json +0 -32
  162. data/apis/cloudfront/2016-01-28/waiters-2.json +0 -47
  163. data/apis/cloudhsm/2014-05-30/api-2.json +0 -877
  164. data/apis/cloudhsm/2014-05-30/examples-1.json +0 -5
  165. data/apis/cloudsearch/2013-01-01/api-2.json +0 -2001
  166. data/apis/cloudsearch/2013-01-01/paginators-1.json +0 -20
  167. data/apis/cloudsearchdomain/2013-01-01/api-2.json +0 -373
  168. data/apis/cloudsearchdomain/2013-01-01/examples-1.json +0 -5
  169. data/apis/cloudtrail/2013-11-01/api-2.json +0 -801
  170. data/apis/cloudtrail/2013-11-01/examples-1.json +0 -5
  171. data/apis/cloudtrail/2013-11-01/paginators-1.json +0 -7
  172. data/apis/codecommit/2015-04-13/api-2.json +0 -916
  173. data/apis/codecommit/2015-04-13/examples-1.json +0 -5
  174. data/apis/codecommit/2015-04-13/paginators-1.json +0 -14
  175. data/apis/codedeploy/2014-10-06/api-2.json +0 -1954
  176. data/apis/codedeploy/2014-10-06/examples-1.json +0 -5
  177. data/apis/codedeploy/2014-10-06/paginators-1.json +0 -34
  178. data/apis/codepipeline/2015-07-09/api-2.json +0 -1633
  179. data/apis/codepipeline/2015-07-09/examples-1.json +0 -902
  180. data/apis/cognito-identity/2014-06-30/api-2.json +0 -859
  181. data/apis/cognito-identity/2014-06-30/examples-1.json +0 -5
  182. data/apis/cognito-idp/2016-04-18/api-2.json +0 -1657
  183. data/apis/cognito-idp/2016-04-18/examples-1.json +0 -5
  184. data/apis/cognito-sync/2014-06-30/api-2.json +0 -1874
  185. data/apis/config/2014-11-12/api-2.json +0 -1303
  186. data/apis/config/2014-11-12/examples-1.json +0 -5
  187. data/apis/config/2014-11-12/paginators-1.json +0 -10
  188. data/apis/datapipeline/2012-10-29/api-2.json +0 -1167
  189. data/apis/datapipeline/2012-10-29/paginators-1.json +0 -26
  190. data/apis/devicefarm/2015-06-23/api-2.json +0 -2030
  191. data/apis/devicefarm/2015-06-23/examples-1.json +0 -5
  192. data/apis/devicefarm/2015-06-23/paginators-1.json +0 -74
  193. data/apis/directconnect/2012-10-25/api-2.json +0 -793
  194. data/apis/directconnect/2012-10-25/examples-1.json +0 -5
  195. data/apis/directconnect/2012-10-25/paginators-1.json +0 -22
  196. data/apis/discovery/2015-11-01/api-2.json +0 -556
  197. data/apis/discovery/2015-11-01/examples-1.json +0 -5
  198. data/apis/dms/2016-01-01/api-2.json +0 -1469
  199. data/apis/dms/2016-01-01/examples-1.json +0 -5
  200. data/apis/ds/2015-04-16/api-2.json +0 -1674
  201. data/apis/ds/2015-04-16/examples-1.json +0 -5
  202. data/apis/dynamodb/2012-08-10/api-2.json +0 -1200
  203. data/apis/dynamodb/2012-08-10/examples-1.json +0 -5
  204. data/apis/dynamodb/2012-08-10/paginators-1.json +0 -26
  205. data/apis/dynamodb/2012-08-10/resources-1.json +0 -136
  206. data/apis/dynamodb/2012-08-10/waiters-2.json +0 -35
  207. data/apis/ec2/2015-10-01/api-2.json +0 -13759
  208. data/apis/ec2/2015-10-01/examples-1.json +0 -5
  209. data/apis/ec2/2015-10-01/paginators-1.json +0 -138
  210. data/apis/ec2/2015-10-01/resources-1.json +0 -2582
  211. data/apis/ec2/2015-10-01/waiters-2.json +0 -593
  212. data/apis/ec2/2016-04-01/api-2.json +0 -13842
  213. data/apis/ec2/2016-04-01/examples-1.json +0 -5
  214. data/apis/ec2/2016-04-01/paginators-1.json +0 -138
  215. data/apis/ec2/2016-04-01/resources-1.json +0 -2582
  216. data/apis/ec2/2016-04-01/waiters-2.json +0 -593
  217. data/apis/ecr/2015-09-21/api-2.json +0 -849
  218. data/apis/ecr/2015-09-21/examples-1.json +0 -5
  219. data/apis/ecs/2014-11-13/api-2.json +0 -1396
  220. data/apis/ecs/2014-11-13/examples-1.json +0 -5
  221. data/apis/ecs/2014-11-13/paginators-1.json +0 -40
  222. data/apis/ecs/2014-11-13/waiters-2.json +0 -93
  223. data/apis/elasticache/2015-02-02/api-2.json +0 -2426
  224. data/apis/elasticache/2015-02-02/examples-1.json +0 -5
  225. data/apis/elasticache/2015-02-02/paginators-1.json +0 -76
  226. data/apis/elasticache/2015-02-02/waiters-2.json +0 -143
  227. data/apis/elasticbeanstalk/2010-12-01/api-2.json +0 -1894
  228. data/apis/elasticbeanstalk/2010-12-01/examples-1.json +0 -1109
  229. data/apis/elasticbeanstalk/2010-12-01/paginators-1.json +0 -25
  230. data/apis/elasticfilesystem/2015-02-01/api-2.json +0 -713
  231. data/apis/elasticfilesystem/2015-02-01/examples-1.json +0 -5
  232. data/apis/elasticloadbalancing/2012-06-01/api-2.json +0 -2145
  233. data/apis/elasticloadbalancing/2012-06-01/paginators-1.json +0 -18
  234. data/apis/elasticloadbalancing/2012-06-01/waiters-2.json +0 -49
  235. data/apis/elasticmapreduce/2009-03-31/api-2.json +0 -1341
  236. data/apis/elasticmapreduce/2009-03-31/examples-1.json +0 -5
  237. data/apis/elasticmapreduce/2009-03-31/paginators-1.json +0 -32
  238. data/apis/elasticmapreduce/2009-03-31/waiters-2.json +0 -67
  239. data/apis/elastictranscoder/2012-09-25/api-2.json +0 -1807
  240. data/apis/elastictranscoder/2012-09-25/paginators-1.json +0 -24
  241. data/apis/elastictranscoder/2012-09-25/waiters-2.json +0 -30
  242. data/apis/email/2010-12-01/api-2.json +0 -1791
  243. data/apis/email/2010-12-01/examples-1.json +0 -5
  244. data/apis/email/2010-12-01/paginators-1.json +0 -13
  245. data/apis/email/2010-12-01/waiters-2.json +0 -18
  246. data/apis/es/2015-01-01/api-2.json +0 -764
  247. data/apis/events/2015-10-07/api-2.json +0 -643
  248. data/apis/events/2015-10-07/examples-1.json +0 -5
  249. data/apis/firehose/2015-08-04/api-2.json +0 -719
  250. data/apis/gamelift/2015-10-01/api-2.json +0 -2307
  251. data/apis/gamelift/2015-10-01/examples-1.json +0 -5
  252. data/apis/glacier/2012-06-01/api-2.json +0 -2144
  253. data/apis/glacier/2012-06-01/paginators-1.json +0 -28
  254. data/apis/glacier/2012-06-01/resources-1.json +0 -563
  255. data/apis/glacier/2012-06-01/waiters-2.json +0 -39
  256. data/apis/iam/2010-05-08/api-2.json +0 -4514
  257. data/apis/iam/2010-05-08/examples-1.json +0 -5
  258. data/apis/iam/2010-05-08/paginators-1.json +0 -198
  259. data/apis/iam/2010-05-08/resources-1.json +0 -1740
  260. data/apis/iam/2010-05-08/waiters-2.json +0 -39
  261. data/apis/importexport/2010-06-01/api-2.json +0 -666
  262. data/apis/importexport/2010-06-01/paginators-1.json +0 -11
  263. data/apis/inspector/2016-02-16/api-2.json +0 -1964
  264. data/apis/inspector/2016-02-16/examples-1.json +0 -5
  265. data/apis/iot-data/2015-05-28/api-2.json +0 -263
  266. data/apis/iot/2015-05-28/api-2.json +0 -3800
  267. data/apis/iot/2015-05-28/examples-1.json +0 -5
  268. data/apis/kinesis/2013-12-02/api-2.json +0 -822
  269. data/apis/kinesis/2013-12-02/examples-1.json +0 -5
  270. data/apis/kinesis/2013-12-02/paginators-1.json +0 -18
  271. data/apis/kinesis/2013-12-02/waiters-2.json +0 -18
  272. data/apis/kms/2014-11-01/api-2.json +0 -1209
  273. data/apis/kms/2014-11-01/examples-1.json +0 -5
  274. data/apis/kms/2014-11-01/paginators-1.json +0 -32
  275. data/apis/lambda/2014-11-11/api-2.json +0 -667
  276. data/apis/lambda/2014-11-11/paginators-1.json +0 -16
  277. data/apis/lambda/2015-03-31/api-2.json +0 -1342
  278. data/apis/lambda/2015-03-31/examples-1.json +0 -5
  279. data/apis/lambda/2015-03-31/paginators-1.json +0 -16
  280. data/apis/logs/2014-03-28/api-2.json +0 -1138
  281. data/apis/logs/2014-03-28/examples-1.json +0 -5
  282. data/apis/logs/2014-03-28/paginators-1.json +0 -49
  283. data/apis/machinelearning/2014-12-12/api-2.json +0 -1947
  284. data/apis/machinelearning/2014-12-12/paginators-1.json +0 -28
  285. data/apis/machinelearning/2014-12-12/waiters-2.json +0 -81
  286. data/apis/marketplacecommerceanalytics/2015-07-01/api-2.json +0 -120
  287. data/apis/marketplacecommerceanalytics/2015-07-01/examples-1.json +0 -5
  288. data/apis/meteringmarketplace/2016-01-14/api-2.json +0 -127
  289. data/apis/meteringmarketplace/2016-01-14/examples-1.json +0 -5
  290. data/apis/monitoring/2010-08-01/api-2.json +0 -790
  291. data/apis/monitoring/2010-08-01/examples-1.json +0 -5
  292. data/apis/monitoring/2010-08-01/paginators-1.json +0 -24
  293. data/apis/monitoring/2010-08-01/resources-1.json +0 -346
  294. data/apis/monitoring/2010-08-01/waiters-2.json +0 -18
  295. data/apis/opsworks/2013-02-18/api-2.json +0 -2606
  296. data/apis/opsworks/2013-02-18/examples-1.json +0 -5
  297. data/apis/opsworks/2013-02-18/paginators-1.json +0 -55
  298. data/apis/opsworks/2013-02-18/resources-1.json +0 -173
  299. data/apis/opsworks/2013-02-18/waiters-2.json +0 -295
  300. data/apis/rds/2014-10-31/api-2.json +0 -4757
  301. data/apis/rds/2014-10-31/examples-1.json +0 -5
  302. data/apis/rds/2014-10-31/paginators-1.json +0 -110
  303. data/apis/rds/2014-10-31/resources-1.json +0 -3272
  304. data/apis/rds/2014-10-31/waiters-2.json +0 -102
  305. data/apis/redshift/2012-12-01/api-2.json +0 -3768
  306. data/apis/redshift/2012-12-01/examples-1.json +0 -5
  307. data/apis/redshift/2012-12-01/paginators-1.json +0 -94
  308. data/apis/redshift/2012-12-01/waiters-2.json +0 -97
  309. data/apis/route53/2013-04-01/api-2.json +0 -3245
  310. data/apis/route53/2013-04-01/examples-1.json +0 -5
  311. data/apis/route53/2013-04-01/paginators-1.json +0 -33
  312. data/apis/route53/2013-04-01/waiters-2.json +0 -18
  313. data/apis/route53domains/2014-05-15/api-2.json +0 -1197
  314. data/apis/route53domains/2014-05-15/paginators-1.json +0 -17
  315. data/apis/s3/2006-03-01/api-2.json +0 -4517
  316. data/apis/s3/2006-03-01/examples-1.json +0 -5
  317. data/apis/s3/2006-03-01/paginators-1.json +0 -66
  318. data/apis/s3/2006-03-01/resources-1.json +0 -1176
  319. data/apis/s3/2006-03-01/waiters-2.json +0 -73
  320. data/apis/sdb/2009-04-15/api-2.json +0 -954
  321. data/apis/sdb/2009-04-15/paginators-1.json +0 -15
  322. data/apis/servicecatalog/2015-12-10/api-2.json +0 -749
  323. data/apis/servicecatalog/2015-12-10/examples-1.json +0 -5
  324. data/apis/sns/2010-03-31/api-2.json +0 -1139
  325. data/apis/sns/2010-03-31/paginators-1.json +0 -29
  326. data/apis/sns/2010-03-31/resources-1.json +0 -327
  327. data/apis/sqs/2012-11-05/api-2.json +0 -950
  328. data/apis/sqs/2012-11-05/examples-1.json +0 -44
  329. data/apis/sqs/2012-11-05/paginators-1.json +0 -7
  330. data/apis/ssm/2014-11-06/api-2.json +0 -1796
  331. data/apis/ssm/2014-11-06/examples-1.json +0 -5
  332. data/apis/ssm/2014-11-06/paginators-1.json +0 -34
  333. data/apis/storagegateway/2013-06-30/api-2.json +0 -2275
  334. data/apis/storagegateway/2013-06-30/examples-1.json +0 -5
  335. data/apis/storagegateway/2013-06-30/paginators-1.json +0 -52
  336. data/apis/streams.dynamodb/2012-08-10/api-2.json +0 -397
  337. data/apis/streams.dynamodb/2012-08-10/examples-1.json +0 -5
  338. data/apis/sts/2011-06-15/api-2.json +0 -521
  339. data/apis/sts/2011-06-15/examples-1.json +0 -5
  340. data/apis/support/2013-04-15/api-2.json +0 -869
  341. data/apis/support/2013-04-15/paginators-1.json +0 -25
  342. data/apis/swf/2012-01-25/api-2.json +0 -2838
  343. data/apis/swf/2012-01-25/paginators-1.json +0 -46
  344. data/apis/waf/2015-08-24/api-2.json +0 -1959
  345. data/apis/waf/2015-08-24/examples-1.json +0 -5
  346. data/apis/workspaces/2015-04-08/api-2.json +0 -632
  347. data/apis/workspaces/2015-04-08/examples-1.json +0 -5
  348. data/apis/workspaces/2015-04-08/paginators-1.json +0 -20
  349. data/bin/aws.rb +0 -180
  350. data/endpoints.json +0 -1460
  351. data/lib/aws-sdk-core/acm.rb +0 -6
  352. data/lib/aws-sdk-core/api/builder.rb +0 -106
  353. data/lib/aws-sdk-core/api/customizations.rb +0 -217
  354. data/lib/aws-sdk-core/api/docs/builder.rb +0 -220
  355. data/lib/aws-sdk-core/api/docs/client_type_documenter.rb +0 -109
  356. data/lib/aws-sdk-core/api/docs/docstring_provider.rb +0 -75
  357. data/lib/aws-sdk-core/api/docs/operation_documenter.rb +0 -138
  358. data/lib/aws-sdk-core/api/docs/param_formatter.rb +0 -163
  359. data/lib/aws-sdk-core/api/docs/request_syntax_example.rb +0 -22
  360. data/lib/aws-sdk-core/api/docs/response_structure_example.rb +0 -91
  361. data/lib/aws-sdk-core/api/docs/shared_example.rb +0 -100
  362. data/lib/aws-sdk-core/api/docs/utils.rb +0 -133
  363. data/lib/aws-sdk-core/api/shape_map.rb +0 -142
  364. data/lib/aws-sdk-core/apigateway.rb +0 -6
  365. data/lib/aws-sdk-core/applicationautoscaling.rb +0 -6
  366. data/lib/aws-sdk-core/applicationdiscoveryservice.rb +0 -5
  367. data/lib/aws-sdk-core/autoscaling.rb +0 -8
  368. data/lib/aws-sdk-core/checksums.rb +0 -51
  369. data/lib/aws-sdk-core/client.rb +0 -57
  370. data/lib/aws-sdk-core/client_waiters.rb +0 -120
  371. data/lib/aws-sdk-core/cloudformation.rb +0 -8
  372. data/lib/aws-sdk-core/cloudfront.rb +0 -15
  373. data/lib/aws-sdk-core/cloudfront/url_signer.rb +0 -167
  374. data/lib/aws-sdk-core/cloudhsm.rb +0 -5
  375. data/lib/aws-sdk-core/cloudsearch.rb +0 -5
  376. data/lib/aws-sdk-core/cloudsearchdomain.rb +0 -5
  377. data/lib/aws-sdk-core/cloudtrail.rb +0 -6
  378. data/lib/aws-sdk-core/cloudwatch.rb +0 -8
  379. data/lib/aws-sdk-core/cloudwatchevents.rb +0 -5
  380. data/lib/aws-sdk-core/cloudwatchlogs.rb +0 -6
  381. data/lib/aws-sdk-core/codecommit.rb +0 -6
  382. data/lib/aws-sdk-core/codedeploy.rb +0 -6
  383. data/lib/aws-sdk-core/codepipeline.rb +0 -5
  384. data/lib/aws-sdk-core/cognitoidentity.rb +0 -5
  385. data/lib/aws-sdk-core/cognitoidentityprovider.rb +0 -5
  386. data/lib/aws-sdk-core/cognitosync.rb +0 -4
  387. data/lib/aws-sdk-core/configservice.rb +0 -6
  388. data/lib/aws-sdk-core/databasemigrationservice.rb +0 -5
  389. data/lib/aws-sdk-core/datapipeline.rb +0 -5
  390. data/lib/aws-sdk-core/devicefarm.rb +0 -6
  391. data/lib/aws-sdk-core/directconnect.rb +0 -6
  392. data/lib/aws-sdk-core/directoryservice.rb +0 -5
  393. data/lib/aws-sdk-core/dynamodb.rb +0 -40
  394. data/lib/aws-sdk-core/dynamodb/attribute_value.rb +0 -108
  395. data/lib/aws-sdk-core/dynamodbstreams.rb +0 -5
  396. data/lib/aws-sdk-core/ec2.rb +0 -8
  397. data/lib/aws-sdk-core/ecr.rb +0 -5
  398. data/lib/aws-sdk-core/ecs.rb +0 -7
  399. data/lib/aws-sdk-core/efs.rb +0 -5
  400. data/lib/aws-sdk-core/elasticache.rb +0 -7
  401. data/lib/aws-sdk-core/elasticbeanstalk.rb +0 -6
  402. data/lib/aws-sdk-core/elasticloadbalancing.rb +0 -6
  403. data/lib/aws-sdk-core/elasticsearchservice.rb +0 -4
  404. data/lib/aws-sdk-core/elastictranscoder.rb +0 -6
  405. data/lib/aws-sdk-core/empty_structure.rb +0 -3
  406. data/lib/aws-sdk-core/emr.rb +0 -7
  407. data/lib/aws-sdk-core/endpoint_provider.rb +0 -95
  408. data/lib/aws-sdk-core/firehose.rb +0 -4
  409. data/lib/aws-sdk-core/gamelift.rb +0 -5
  410. data/lib/aws-sdk-core/glacier.rb +0 -7
  411. data/lib/aws-sdk-core/iam.rb +0 -8
  412. data/lib/aws-sdk-core/importexport.rb +0 -5
  413. data/lib/aws-sdk-core/inspector.rb +0 -5
  414. data/lib/aws-sdk-core/iot.rb +0 -5
  415. data/lib/aws-sdk-core/iotdataplane.rb +0 -4
  416. data/lib/aws-sdk-core/kinesis.rb +0 -7
  417. data/lib/aws-sdk-core/kms.rb +0 -6
  418. data/lib/aws-sdk-core/lambda.rb +0 -6
  419. data/lib/aws-sdk-core/lambdapreview.rb +0 -5
  420. data/lib/aws-sdk-core/machinelearning.rb +0 -6
  421. data/lib/aws-sdk-core/marketplacecommerceanalytics.rb +0 -5
  422. data/lib/aws-sdk-core/marketplacemetering.rb +0 -5
  423. data/lib/aws-sdk-core/opsworks.rb +0 -8
  424. data/lib/aws-sdk-core/partitions.rb +0 -174
  425. data/lib/aws-sdk-core/partitions/partition.rb +0 -95
  426. data/lib/aws-sdk-core/partitions/partition_list.rb +0 -60
  427. data/lib/aws-sdk-core/partitions/region.rb +0 -78
  428. data/lib/aws-sdk-core/partitions/service.rb +0 -84
  429. data/lib/aws-sdk-core/plugins/api_gateway_header.rb +0 -19
  430. data/lib/aws-sdk-core/plugins/csd_conditional_signing.rb +0 -30
  431. data/lib/aws-sdk-core/plugins/dynamodb_crc32_validation.rb +0 -52
  432. data/lib/aws-sdk-core/plugins/dynamodb_extended_retries.rb +0 -22
  433. data/lib/aws-sdk-core/plugins/dynamodb_simple_attributes.rb +0 -209
  434. data/lib/aws-sdk-core/plugins/ec2_copy_encrypted_snapshot.rb +0 -87
  435. data/lib/aws-sdk-core/plugins/ec2_region_validation.rb +0 -17
  436. data/lib/aws-sdk-core/plugins/glacier_account_id.rb +0 -19
  437. data/lib/aws-sdk-core/plugins/glacier_api_version.rb +0 -19
  438. data/lib/aws-sdk-core/plugins/glacier_checksums.rb +0 -87
  439. data/lib/aws-sdk-core/plugins/machine_learning_predict_endpoint.rb +0 -20
  440. data/lib/aws-sdk-core/plugins/request_signer.rb +0 -138
  441. data/lib/aws-sdk-core/plugins/route_53_id_fix.rb +0 -55
  442. data/lib/aws-sdk-core/plugins/s3_accelerate.rb +0 -73
  443. data/lib/aws-sdk-core/plugins/s3_bucket_dns.rb +0 -86
  444. data/lib/aws-sdk-core/plugins/s3_bucket_name_restrictions.rb +0 -21
  445. data/lib/aws-sdk-core/plugins/s3_expect_100_continue.rb +0 -27
  446. data/lib/aws-sdk-core/plugins/s3_get_bucket_location_fix.rb +0 -21
  447. data/lib/aws-sdk-core/plugins/s3_http_200_errors.rb +0 -45
  448. data/lib/aws-sdk-core/plugins/s3_location_constraint.rb +0 -31
  449. data/lib/aws-sdk-core/plugins/s3_md5s.rb +0 -50
  450. data/lib/aws-sdk-core/plugins/s3_redirects.rb +0 -37
  451. data/lib/aws-sdk-core/plugins/s3_request_signer.rb +0 -166
  452. data/lib/aws-sdk-core/plugins/s3_sse_cpk.rb +0 -64
  453. data/lib/aws-sdk-core/plugins/s3_url_encoded_keys.rb +0 -92
  454. data/lib/aws-sdk-core/plugins/sqs_md5s.rb +0 -162
  455. data/lib/aws-sdk-core/plugins/sqs_queue_urls.rb +0 -34
  456. data/lib/aws-sdk-core/plugins/swf_read_timeouts.rb +0 -23
  457. data/lib/aws-sdk-core/rds.rb +0 -8
  458. data/lib/aws-sdk-core/redshift.rb +0 -7
  459. data/lib/aws-sdk-core/route53.rb +0 -7
  460. data/lib/aws-sdk-core/route53domains.rb +0 -5
  461. data/lib/aws-sdk-core/s3.rb +0 -26
  462. data/lib/aws-sdk-core/s3/bucket_region_cache.rb +0 -75
  463. data/lib/aws-sdk-core/s3/presigner.rb +0 -113
  464. data/lib/aws-sdk-core/service.rb +0 -4
  465. data/lib/aws-sdk-core/servicecatalog.rb +0 -5
  466. data/lib/aws-sdk-core/ses.rb +0 -7
  467. data/lib/aws-sdk-core/signers/base.rb +0 -31
  468. data/lib/aws-sdk-core/signers/s3.rb +0 -184
  469. data/lib/aws-sdk-core/signers/v2.rb +0 -51
  470. data/lib/aws-sdk-core/signers/v3.rb +0 -34
  471. data/lib/aws-sdk-core/signers/v4.rb +0 -233
  472. data/lib/aws-sdk-core/simpledb.rb +0 -5
  473. data/lib/aws-sdk-core/sns.rb +0 -6
  474. data/lib/aws-sdk-core/sqs.rb +0 -6
  475. data/lib/aws-sdk-core/ssm.rb +0 -6
  476. data/lib/aws-sdk-core/storagegateway.rb +0 -6
  477. data/lib/aws-sdk-core/sts.rb +0 -5
  478. data/lib/aws-sdk-core/support.rb +0 -5
  479. data/lib/aws-sdk-core/swf.rb +0 -5
  480. data/lib/aws-sdk-core/tree_hash.rb +0 -69
  481. data/lib/aws-sdk-core/version.rb +0 -3
  482. data/lib/aws-sdk-core/waf.rb +0 -5
  483. data/lib/aws-sdk-core/waiters/null_provider.rb +0 -12
  484. data/lib/aws-sdk-core/waiters/provider.rb +0 -35
  485. data/lib/aws-sdk-core/workspaces.rb +0 -6
  486. data/lib/seahorse/client/plugins/restful_bindings.rb +0 -127
  487. data/service-models.json +0 -285
@@ -0,0 +1,1279 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::STS
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass AssumeRoleRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # role_arn: "arnType", # required
16
+ # role_session_name: "roleSessionNameType", # required
17
+ # policy_arns: [
18
+ # {
19
+ # arn: "arnType",
20
+ # },
21
+ # ],
22
+ # policy: "sessionPolicyDocumentType",
23
+ # duration_seconds: 1,
24
+ # external_id: "externalIdType",
25
+ # serial_number: "serialNumberType",
26
+ # token_code: "tokenCodeType",
27
+ # }
28
+ #
29
+ # @!attribute [rw] role_arn
30
+ # The Amazon Resource Name (ARN) of the role to assume.
31
+ # @return [String]
32
+ #
33
+ # @!attribute [rw] role_session_name
34
+ # An identifier for the assumed role session.
35
+ #
36
+ # Use the role session name to uniquely identify a session when the
37
+ # same role is assumed by different principals or for different
38
+ # reasons. In cross-account scenarios, the role session name is
39
+ # visible to, and can be logged by the account that owns the role. The
40
+ # role session name is also used in the ARN of the assumed role
41
+ # principal. This means that subsequent cross-account API requests
42
+ # that use the temporary security credentials will expose the role
43
+ # session name to the external account in their AWS CloudTrail logs.
44
+ #
45
+ # The regex used to validate this parameter is a string of characters
46
+ # consisting of upper- and lower-case alphanumeric characters with no
47
+ # spaces. You can also include underscores or any of the following
48
+ # characters: =,.@-
49
+ # @return [String]
50
+ #
51
+ # @!attribute [rw] policy_arns
52
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that
53
+ # you want to use as managed session policies. The policies must exist
54
+ # in the same account as the role.
55
+ #
56
+ # This parameter is optional. You can provide up to 10 managed policy
57
+ # ARNs. However, the plain text that you use for both inline and
58
+ # managed session policies shouldn't exceed 2048 characters. For more
59
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
60
+ # Service Namespaces](general/latest/gr/aws-arns-and-namespaces.html)
61
+ # in the AWS General Reference.
62
+ #
63
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
64
+ # session policy guideline. However, an AWS conversion compresses the
65
+ # session policies into a packed binary format that has a separate
66
+ # limit. This is the enforced limit. The `PackedPolicySize` response
67
+ # element indicates by percentage how close the policy is to the upper
68
+ # size limit.
69
+ #
70
+ # </note>
71
+ #
72
+ # Passing policies to this operation returns new temporary
73
+ # credentials. The resulting session's permissions are the
74
+ # intersection of the role's identity-based policy and the session
75
+ # policies. You can use the role's temporary credentials in
76
+ # subsequent AWS API calls to access resources in the account that
77
+ # owns the role. You cannot use session policies to grant more
78
+ # permissions than those allowed by the identity-based policy of the
79
+ # role that is being assumed. For more information, see [Session
80
+ # Policies][1] in the *IAM User Guide*.
81
+ #
82
+ #
83
+ #
84
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session
85
+ # @return [Array<Types::PolicyDescriptorType>]
86
+ #
87
+ # @!attribute [rw] policy
88
+ # An IAM policy in JSON format that you want to use as an inline
89
+ # session policy.
90
+ #
91
+ # This parameter is optional. Passing policies to this operation
92
+ # returns new temporary credentials. The resulting session's
93
+ # permissions are the intersection of the role's identity-based
94
+ # policy and the session policies. You can use the role's temporary
95
+ # credentials in subsequent AWS API calls to access resources in the
96
+ # account that owns the role. You cannot use session policies to grant
97
+ # more permissions than those allowed by the identity-based policy of
98
+ # the role that is being assumed. For more information, see [Session
99
+ # Policies][1] in the *IAM User Guide*.
100
+ #
101
+ # The plain text that you use for both inline and managed session
102
+ # policies shouldn't exceed 2048 characters. The JSON policy
103
+ # characters can be any ASCII character from the space character to
104
+ # the end of the valid character list (\\u0020 through \\u00FF). It
105
+ # can also include the tab (\\u0009), linefeed (\\u000A), and carriage
106
+ # return (\\u000D) characters.
107
+ #
108
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
109
+ # session policy guideline. However, an AWS conversion compresses the
110
+ # session policies into a packed binary format that has a separate
111
+ # limit. This is the enforced limit. The `PackedPolicySize` response
112
+ # element indicates by percentage how close the policy is to the upper
113
+ # size limit.
114
+ #
115
+ # </note>
116
+ #
117
+ #
118
+ #
119
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session
120
+ # @return [String]
121
+ #
122
+ # @!attribute [rw] duration_seconds
123
+ # The duration, in seconds, of the role session. The value can range
124
+ # from 900 seconds (15 minutes) up to the maximum session duration
125
+ # setting for the role. This setting can have a value from 1 hour to
126
+ # 12 hours. If you specify a value higher than this setting, the
127
+ # operation fails. For example, if you specify a session duration of
128
+ # 12 hours, but your administrator set the maximum session duration to
129
+ # 6 hours, your operation fails. To learn how to view the maximum
130
+ # value for your role, see [View the Maximum Session Duration Setting
131
+ # for a Role][1] in the *IAM User Guide*.
132
+ #
133
+ # By default, the value is set to `3600` seconds.
134
+ #
135
+ # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
136
+ # console session that you might request using the returned
137
+ # credentials. The request to the federation endpoint for a console
138
+ # sign-in token takes a `SessionDuration` parameter that specifies the
139
+ # maximum length of the console session. For more information, see
140
+ # [Creating a URL that Enables Federated Users to Access the AWS
141
+ # Management Console][2] in the *IAM User Guide*.
142
+ #
143
+ # </note>
144
+ #
145
+ #
146
+ #
147
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
148
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
149
+ # @return [Integer]
150
+ #
151
+ # @!attribute [rw] external_id
152
+ # A unique identifier that might be required when you assume a role in
153
+ # another account. If the administrator of the account to which the
154
+ # role belongs provided you with an external ID, then provide that
155
+ # value in the `ExternalId` parameter. This value can be any string,
156
+ # such as a passphrase or account number. A cross-account role is
157
+ # usually set up to trust everyone in an account. Therefore, the
158
+ # administrator of the trusting account might send an external ID to
159
+ # the administrator of the trusted account. That way, only someone
160
+ # with the ID can assume the role, rather than everyone in the
161
+ # account. For more information about the external ID, see [How to Use
162
+ # an External ID When Granting Access to Your AWS Resources to a Third
163
+ # Party][1] in the *IAM User Guide*.
164
+ #
165
+ # The regex used to validate this parameter is a string of characters
166
+ # consisting of upper- and lower-case alphanumeric characters with no
167
+ # spaces. You can also include underscores or any of the following
168
+ # characters: =,.@:/-
169
+ #
170
+ #
171
+ #
172
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
173
+ # @return [String]
174
+ #
175
+ # @!attribute [rw] serial_number
176
+ # The identification number of the MFA device that is associated with
177
+ # the user who is making the `AssumeRole` call. Specify this value if
178
+ # the trust policy of the role being assumed includes a condition that
179
+ # requires MFA authentication. The value is either the serial number
180
+ # for a hardware device (such as `GAHT12345678`) or an Amazon Resource
181
+ # Name (ARN) for a virtual device (such as
182
+ # `arn:aws:iam::123456789012:mfa/user`).
183
+ #
184
+ # The regex used to validate this parameter is a string of characters
185
+ # consisting of upper- and lower-case alphanumeric characters with no
186
+ # spaces. You can also include underscores or any of the following
187
+ # characters: =,.@-
188
+ # @return [String]
189
+ #
190
+ # @!attribute [rw] token_code
191
+ # The value provided by the MFA device, if the trust policy of the
192
+ # role being assumed requires MFA (that is, if the policy includes a
193
+ # condition that tests for MFA). If the role being assumed requires
194
+ # MFA and if the `TokenCode` value is missing or expired, the
195
+ # `AssumeRole` call returns an "access denied" error.
196
+ #
197
+ # The format for this parameter, as described by its regex pattern, is
198
+ # a sequence of six numeric digits.
199
+ # @return [String]
200
+ #
201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest AWS API Documentation
202
+ #
203
+ class AssumeRoleRequest < Struct.new(
204
+ :role_arn,
205
+ :role_session_name,
206
+ :policy_arns,
207
+ :policy,
208
+ :duration_seconds,
209
+ :external_id,
210
+ :serial_number,
211
+ :token_code)
212
+ include Aws::Structure
213
+ end
214
+
215
+ # Contains the response to a successful AssumeRole request, including
216
+ # temporary AWS credentials that can be used to make AWS requests.
217
+ #
218
+ # @!attribute [rw] credentials
219
+ # The temporary security credentials, which include an access key ID,
220
+ # a secret access key, and a security (or session) token.
221
+ #
222
+ # <note markdown="1"> The size of the security token that STS API operations return is not
223
+ # fixed. We strongly recommend that you make no assumptions about the
224
+ # maximum size.
225
+ #
226
+ # </note>
227
+ # @return [Types::Credentials]
228
+ #
229
+ # @!attribute [rw] assumed_role_user
230
+ # The Amazon Resource Name (ARN) and the assumed role ID, which are
231
+ # identifiers that you can use to refer to the resulting temporary
232
+ # security credentials. For example, you can reference these
233
+ # credentials as a principal in a resource-based policy by using the
234
+ # ARN or assumed role ID. The ARN and ID include the `RoleSessionName`
235
+ # that you specified when you called `AssumeRole`.
236
+ # @return [Types::AssumedRoleUser]
237
+ #
238
+ # @!attribute [rw] packed_policy_size
239
+ # A percentage value that indicates the size of the policy in packed
240
+ # form. The service rejects any policy with a packed size greater than
241
+ # 100 percent, which means the policy exceeded the allowed space.
242
+ # @return [Integer]
243
+ #
244
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse AWS API Documentation
245
+ #
246
+ class AssumeRoleResponse < Struct.new(
247
+ :credentials,
248
+ :assumed_role_user,
249
+ :packed_policy_size)
250
+ include Aws::Structure
251
+ end
252
+
253
+ # @note When making an API call, you may pass AssumeRoleWithSAMLRequest
254
+ # data as a hash:
255
+ #
256
+ # {
257
+ # role_arn: "arnType", # required
258
+ # principal_arn: "arnType", # required
259
+ # saml_assertion: "SAMLAssertionType", # required
260
+ # policy_arns: [
261
+ # {
262
+ # arn: "arnType",
263
+ # },
264
+ # ],
265
+ # policy: "sessionPolicyDocumentType",
266
+ # duration_seconds: 1,
267
+ # }
268
+ #
269
+ # @!attribute [rw] role_arn
270
+ # The Amazon Resource Name (ARN) of the role that the caller is
271
+ # assuming.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] principal_arn
275
+ # The Amazon Resource Name (ARN) of the SAML provider in IAM that
276
+ # describes the IdP.
277
+ # @return [String]
278
+ #
279
+ # @!attribute [rw] saml_assertion
280
+ # The base-64 encoded SAML authentication response provided by the
281
+ # IdP.
282
+ #
283
+ # For more information, see [Configuring a Relying Party and Adding
284
+ # Claims][1] in the *IAM User Guide*.
285
+ #
286
+ #
287
+ #
288
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html
289
+ # @return [String]
290
+ #
291
+ # @!attribute [rw] policy_arns
292
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that
293
+ # you want to use as managed session policies. The policies must exist
294
+ # in the same account as the role.
295
+ #
296
+ # This parameter is optional. You can provide up to 10 managed policy
297
+ # ARNs. However, the plain text that you use for both inline and
298
+ # managed session policies shouldn't exceed 2048 characters. For more
299
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
300
+ # Service Namespaces](general/latest/gr/aws-arns-and-namespaces.html)
301
+ # in the AWS General Reference.
302
+ #
303
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
304
+ # session policy guideline. However, an AWS conversion compresses the
305
+ # session policies into a packed binary format that has a separate
306
+ # limit. This is the enforced limit. The `PackedPolicySize` response
307
+ # element indicates by percentage how close the policy is to the upper
308
+ # size limit.
309
+ #
310
+ # </note>
311
+ #
312
+ # Passing policies to this operation returns new temporary
313
+ # credentials. The resulting session's permissions are the
314
+ # intersection of the role's identity-based policy and the session
315
+ # policies. You can use the role's temporary credentials in
316
+ # subsequent AWS API calls to access resources in the account that
317
+ # owns the role. You cannot use session policies to grant more
318
+ # permissions than those allowed by the identity-based policy of the
319
+ # role that is being assumed. For more information, see [Session
320
+ # Policies][1] in the *IAM User Guide*.
321
+ #
322
+ #
323
+ #
324
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session
325
+ # @return [Array<Types::PolicyDescriptorType>]
326
+ #
327
+ # @!attribute [rw] policy
328
+ # An IAM policy in JSON format that you want to use as an inline
329
+ # session policy.
330
+ #
331
+ # This parameter is optional. Passing policies to this operation
332
+ # returns new temporary credentials. The resulting session's
333
+ # permissions are the intersection of the role's identity-based
334
+ # policy and the session policies. You can use the role's temporary
335
+ # credentials in subsequent AWS API calls to access resources in the
336
+ # account that owns the role. You cannot use session policies to grant
337
+ # more permissions than those allowed by the identity-based policy of
338
+ # the role that is being assumed. For more information, see [Session
339
+ # Policies][1] in the *IAM User Guide*.
340
+ #
341
+ # The plain text that you use for both inline and managed session
342
+ # policies shouldn't exceed 2048 characters. The JSON policy
343
+ # characters can be any ASCII character from the space character to
344
+ # the end of the valid character list (\\u0020 through \\u00FF). It
345
+ # can also include the tab (\\u0009), linefeed (\\u000A), and carriage
346
+ # return (\\u000D) characters.
347
+ #
348
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
349
+ # session policy guideline. However, an AWS conversion compresses the
350
+ # session policies into a packed binary format that has a separate
351
+ # limit. This is the enforced limit. The `PackedPolicySize` response
352
+ # element indicates by percentage how close the policy is to the upper
353
+ # size limit.
354
+ #
355
+ # </note>
356
+ #
357
+ #
358
+ #
359
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session
360
+ # @return [String]
361
+ #
362
+ # @!attribute [rw] duration_seconds
363
+ # The duration, in seconds, of the role session. Your role session
364
+ # lasts for the duration that you specify for the `DurationSeconds`
365
+ # parameter, or until the time specified in the SAML authentication
366
+ # response's `SessionNotOnOrAfter` value, whichever is shorter. You
367
+ # can provide a `DurationSeconds` value from 900 seconds (15 minutes)
368
+ # up to the maximum session duration setting for the role. This
369
+ # setting can have a value from 1 hour to 12 hours. If you specify a
370
+ # value higher than this setting, the operation fails. For example, if
371
+ # you specify a session duration of 12 hours, but your administrator
372
+ # set the maximum session duration to 6 hours, your operation fails.
373
+ # To learn how to view the maximum value for your role, see [View the
374
+ # Maximum Session Duration Setting for a Role][1] in the *IAM User
375
+ # Guide*.
376
+ #
377
+ # By default, the value is set to `3600` seconds.
378
+ #
379
+ # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
380
+ # console session that you might request using the returned
381
+ # credentials. The request to the federation endpoint for a console
382
+ # sign-in token takes a `SessionDuration` parameter that specifies the
383
+ # maximum length of the console session. For more information, see
384
+ # [Creating a URL that Enables Federated Users to Access the AWS
385
+ # Management Console][2] in the *IAM User Guide*.
386
+ #
387
+ # </note>
388
+ #
389
+ #
390
+ #
391
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
392
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
393
+ # @return [Integer]
394
+ #
395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLRequest AWS API Documentation
396
+ #
397
+ class AssumeRoleWithSAMLRequest < Struct.new(
398
+ :role_arn,
399
+ :principal_arn,
400
+ :saml_assertion,
401
+ :policy_arns,
402
+ :policy,
403
+ :duration_seconds)
404
+ include Aws::Structure
405
+ end
406
+
407
+ # Contains the response to a successful AssumeRoleWithSAML request,
408
+ # including temporary AWS credentials that can be used to make AWS
409
+ # requests.
410
+ #
411
+ # @!attribute [rw] credentials
412
+ # The temporary security credentials, which include an access key ID,
413
+ # a secret access key, and a security (or session) token.
414
+ #
415
+ # <note markdown="1"> The size of the security token that STS API operations return is not
416
+ # fixed. We strongly recommend that you make no assumptions about the
417
+ # maximum size.
418
+ #
419
+ # </note>
420
+ # @return [Types::Credentials]
421
+ #
422
+ # @!attribute [rw] assumed_role_user
423
+ # The identifiers for the temporary security credentials that the
424
+ # operation returns.
425
+ # @return [Types::AssumedRoleUser]
426
+ #
427
+ # @!attribute [rw] packed_policy_size
428
+ # A percentage value that indicates the size of the policy in packed
429
+ # form. The service rejects any policy with a packed size greater than
430
+ # 100 percent, which means the policy exceeded the allowed space.
431
+ # @return [Integer]
432
+ #
433
+ # @!attribute [rw] subject
434
+ # The value of the `NameID` element in the `Subject` element of the
435
+ # SAML assertion.
436
+ # @return [String]
437
+ #
438
+ # @!attribute [rw] subject_type
439
+ # The format of the name ID, as defined by the `Format` attribute in
440
+ # the `NameID` element of the SAML assertion. Typical examples of the
441
+ # format are `transient` or `persistent`.
442
+ #
443
+ # If the format includes the prefix
444
+ # `urn:oasis:names:tc:SAML:2.0:nameid-format`, that prefix is removed.
445
+ # For example, `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`
446
+ # is returned as `transient`. If the format includes any other prefix,
447
+ # the format is returned with no modifications.
448
+ # @return [String]
449
+ #
450
+ # @!attribute [rw] issuer
451
+ # The value of the `Issuer` element of the SAML assertion.
452
+ # @return [String]
453
+ #
454
+ # @!attribute [rw] audience
455
+ # The value of the `Recipient` attribute of the
456
+ # `SubjectConfirmationData` element of the SAML assertion.
457
+ # @return [String]
458
+ #
459
+ # @!attribute [rw] name_qualifier
460
+ # A hash value based on the concatenation of the `Issuer` response
461
+ # value, the AWS account ID, and the friendly name (the last part of
462
+ # the ARN) of the SAML provider in IAM. The combination of
463
+ # `NameQualifier` and `Subject` can be used to uniquely identify a
464
+ # federated user.
465
+ #
466
+ # The following pseudocode shows how the hash value is calculated:
467
+ #
468
+ # `BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" +
469
+ # "/MySAMLIdP" ) )`
470
+ # @return [String]
471
+ #
472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse AWS API Documentation
473
+ #
474
+ class AssumeRoleWithSAMLResponse < Struct.new(
475
+ :credentials,
476
+ :assumed_role_user,
477
+ :packed_policy_size,
478
+ :subject,
479
+ :subject_type,
480
+ :issuer,
481
+ :audience,
482
+ :name_qualifier)
483
+ include Aws::Structure
484
+ end
485
+
486
+ # @note When making an API call, you may pass AssumeRoleWithWebIdentityRequest
487
+ # data as a hash:
488
+ #
489
+ # {
490
+ # role_arn: "arnType", # required
491
+ # role_session_name: "roleSessionNameType", # required
492
+ # web_identity_token: "clientTokenType", # required
493
+ # provider_id: "urlType",
494
+ # policy_arns: [
495
+ # {
496
+ # arn: "arnType",
497
+ # },
498
+ # ],
499
+ # policy: "sessionPolicyDocumentType",
500
+ # duration_seconds: 1,
501
+ # }
502
+ #
503
+ # @!attribute [rw] role_arn
504
+ # The Amazon Resource Name (ARN) of the role that the caller is
505
+ # assuming.
506
+ # @return [String]
507
+ #
508
+ # @!attribute [rw] role_session_name
509
+ # An identifier for the assumed role session. Typically, you pass the
510
+ # name or identifier that is associated with the user who is using
511
+ # your application. That way, the temporary security credentials that
512
+ # your application will use are associated with that user. This
513
+ # session name is included as part of the ARN and assumed role ID in
514
+ # the `AssumedRoleUser` response element.
515
+ #
516
+ # The regex used to validate this parameter is a string of characters
517
+ # consisting of upper- and lower-case alphanumeric characters with no
518
+ # spaces. You can also include underscores or any of the following
519
+ # characters: =,.@-
520
+ # @return [String]
521
+ #
522
+ # @!attribute [rw] web_identity_token
523
+ # The OAuth 2.0 access token or OpenID Connect ID token that is
524
+ # provided by the identity provider. Your application must get this
525
+ # token by authenticating the user who is using your application with
526
+ # a web identity provider before the application makes an
527
+ # `AssumeRoleWithWebIdentity` call.
528
+ # @return [String]
529
+ #
530
+ # @!attribute [rw] provider_id
531
+ # The fully qualified host component of the domain name of the
532
+ # identity provider.
533
+ #
534
+ # Specify this value only for OAuth 2.0 access tokens. Currently
535
+ # `www.amazon.com` and `graph.facebook.com` are the only supported
536
+ # identity providers for OAuth 2.0 access tokens. Do not include URL
537
+ # schemes and port numbers.
538
+ #
539
+ # Do not specify this value for OpenID Connect ID tokens.
540
+ # @return [String]
541
+ #
542
+ # @!attribute [rw] policy_arns
543
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that
544
+ # you want to use as managed session policies. The policies must exist
545
+ # in the same account as the role.
546
+ #
547
+ # This parameter is optional. You can provide up to 10 managed policy
548
+ # ARNs. However, the plain text that you use for both inline and
549
+ # managed session policies shouldn't exceed 2048 characters. For more
550
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
551
+ # Service Namespaces](general/latest/gr/aws-arns-and-namespaces.html)
552
+ # in the AWS General Reference.
553
+ #
554
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
555
+ # session policy guideline. However, an AWS conversion compresses the
556
+ # session policies into a packed binary format that has a separate
557
+ # limit. This is the enforced limit. The `PackedPolicySize` response
558
+ # element indicates by percentage how close the policy is to the upper
559
+ # size limit.
560
+ #
561
+ # </note>
562
+ #
563
+ # Passing policies to this operation returns new temporary
564
+ # credentials. The resulting session's permissions are the
565
+ # intersection of the role's identity-based policy and the session
566
+ # policies. You can use the role's temporary credentials in
567
+ # subsequent AWS API calls to access resources in the account that
568
+ # owns the role. You cannot use session policies to grant more
569
+ # permissions than those allowed by the identity-based policy of the
570
+ # role that is being assumed. For more information, see [Session
571
+ # Policies][1] in the *IAM User Guide*.
572
+ #
573
+ #
574
+ #
575
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session
576
+ # @return [Array<Types::PolicyDescriptorType>]
577
+ #
578
+ # @!attribute [rw] policy
579
+ # An IAM policy in JSON format that you want to use as an inline
580
+ # session policy.
581
+ #
582
+ # This parameter is optional. Passing policies to this operation
583
+ # returns new temporary credentials. The resulting session's
584
+ # permissions are the intersection of the role's identity-based
585
+ # policy and the session policies. You can use the role's temporary
586
+ # credentials in subsequent AWS API calls to access resources in the
587
+ # account that owns the role. You cannot use session policies to grant
588
+ # more permissions than those allowed by the identity-based policy of
589
+ # the role that is being assumed. For more information, see [Session
590
+ # Policies][1] in the *IAM User Guide*.
591
+ #
592
+ # The plain text that you use for both inline and managed session
593
+ # policies shouldn't exceed 2048 characters. The JSON policy
594
+ # characters can be any ASCII character from the space character to
595
+ # the end of the valid character list (\\u0020 through \\u00FF). It
596
+ # can also include the tab (\\u0009), linefeed (\\u000A), and carriage
597
+ # return (\\u000D) characters.
598
+ #
599
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
600
+ # session policy guideline. However, an AWS conversion compresses the
601
+ # session policies into a packed binary format that has a separate
602
+ # limit. This is the enforced limit. The `PackedPolicySize` response
603
+ # element indicates by percentage how close the policy is to the upper
604
+ # size limit.
605
+ #
606
+ # </note>
607
+ #
608
+ #
609
+ #
610
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session
611
+ # @return [String]
612
+ #
613
+ # @!attribute [rw] duration_seconds
614
+ # The duration, in seconds, of the role session. The value can range
615
+ # from 900 seconds (15 minutes) up to the maximum session duration
616
+ # setting for the role. This setting can have a value from 1 hour to
617
+ # 12 hours. If you specify a value higher than this setting, the
618
+ # operation fails. For example, if you specify a session duration of
619
+ # 12 hours, but your administrator set the maximum session duration to
620
+ # 6 hours, your operation fails. To learn how to view the maximum
621
+ # value for your role, see [View the Maximum Session Duration Setting
622
+ # for a Role][1] in the *IAM User Guide*.
623
+ #
624
+ # By default, the value is set to `3600` seconds.
625
+ #
626
+ # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
627
+ # console session that you might request using the returned
628
+ # credentials. The request to the federation endpoint for a console
629
+ # sign-in token takes a `SessionDuration` parameter that specifies the
630
+ # maximum length of the console session. For more information, see
631
+ # [Creating a URL that Enables Federated Users to Access the AWS
632
+ # Management Console][2] in the *IAM User Guide*.
633
+ #
634
+ # </note>
635
+ #
636
+ #
637
+ #
638
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
639
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
640
+ # @return [Integer]
641
+ #
642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityRequest AWS API Documentation
643
+ #
644
+ class AssumeRoleWithWebIdentityRequest < Struct.new(
645
+ :role_arn,
646
+ :role_session_name,
647
+ :web_identity_token,
648
+ :provider_id,
649
+ :policy_arns,
650
+ :policy,
651
+ :duration_seconds)
652
+ include Aws::Structure
653
+ end
654
+
655
+ # Contains the response to a successful AssumeRoleWithWebIdentity
656
+ # request, including temporary AWS credentials that can be used to make
657
+ # AWS requests.
658
+ #
659
+ # @!attribute [rw] credentials
660
+ # The temporary security credentials, which include an access key ID,
661
+ # a secret access key, and a security token.
662
+ #
663
+ # <note markdown="1"> The size of the security token that STS API operations return is not
664
+ # fixed. We strongly recommend that you make no assumptions about the
665
+ # maximum size.
666
+ #
667
+ # </note>
668
+ # @return [Types::Credentials]
669
+ #
670
+ # @!attribute [rw] subject_from_web_identity_token
671
+ # The unique user identifier that is returned by the identity
672
+ # provider. This identifier is associated with the `WebIdentityToken`
673
+ # that was submitted with the `AssumeRoleWithWebIdentity` call. The
674
+ # identifier is typically unique to the user and the application that
675
+ # acquired the `WebIdentityToken` (pairwise identifier). For OpenID
676
+ # Connect ID tokens, this field contains the value returned by the
677
+ # identity provider as the token's `sub` (Subject) claim.
678
+ # @return [String]
679
+ #
680
+ # @!attribute [rw] assumed_role_user
681
+ # The Amazon Resource Name (ARN) and the assumed role ID, which are
682
+ # identifiers that you can use to refer to the resulting temporary
683
+ # security credentials. For example, you can reference these
684
+ # credentials as a principal in a resource-based policy by using the
685
+ # ARN or assumed role ID. The ARN and ID include the `RoleSessionName`
686
+ # that you specified when you called `AssumeRole`.
687
+ # @return [Types::AssumedRoleUser]
688
+ #
689
+ # @!attribute [rw] packed_policy_size
690
+ # A percentage value that indicates the size of the policy in packed
691
+ # form. The service rejects any policy with a packed size greater than
692
+ # 100 percent, which means the policy exceeded the allowed space.
693
+ # @return [Integer]
694
+ #
695
+ # @!attribute [rw] provider
696
+ # The issuing authority of the web identity token presented. For
697
+ # OpenID Connect ID tokens, this contains the value of the `iss`
698
+ # field. For OAuth 2.0 access tokens, this contains the value of the
699
+ # `ProviderId` parameter that was passed in the
700
+ # `AssumeRoleWithWebIdentity` request.
701
+ # @return [String]
702
+ #
703
+ # @!attribute [rw] audience
704
+ # The intended audience (also known as client ID) of the web identity
705
+ # token. This is traditionally the client identifier issued to the
706
+ # application that requested the web identity token.
707
+ # @return [String]
708
+ #
709
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse AWS API Documentation
710
+ #
711
+ class AssumeRoleWithWebIdentityResponse < Struct.new(
712
+ :credentials,
713
+ :subject_from_web_identity_token,
714
+ :assumed_role_user,
715
+ :packed_policy_size,
716
+ :provider,
717
+ :audience)
718
+ include Aws::Structure
719
+ end
720
+
721
+ # The identifiers for the temporary security credentials that the
722
+ # operation returns.
723
+ #
724
+ # @!attribute [rw] assumed_role_id
725
+ # A unique identifier that contains the role ID and the role session
726
+ # name of the role that is being assumed. The role ID is generated by
727
+ # AWS when the role is created.
728
+ # @return [String]
729
+ #
730
+ # @!attribute [rw] arn
731
+ # The ARN of the temporary security credentials that are returned from
732
+ # the AssumeRole action. For more information about ARNs and how to
733
+ # use them in policies, see [IAM Identifiers][1] in *Using IAM*.
734
+ #
735
+ #
736
+ #
737
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
738
+ # @return [String]
739
+ #
740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumedRoleUser AWS API Documentation
741
+ #
742
+ class AssumedRoleUser < Struct.new(
743
+ :assumed_role_id,
744
+ :arn)
745
+ include Aws::Structure
746
+ end
747
+
748
+ # AWS credentials for API authentication.
749
+ #
750
+ # @!attribute [rw] access_key_id
751
+ # The access key ID that identifies the temporary security
752
+ # credentials.
753
+ # @return [String]
754
+ #
755
+ # @!attribute [rw] secret_access_key
756
+ # The secret access key that can be used to sign requests.
757
+ # @return [String]
758
+ #
759
+ # @!attribute [rw] session_token
760
+ # The token that users must pass to the service API to use the
761
+ # temporary credentials.
762
+ # @return [String]
763
+ #
764
+ # @!attribute [rw] expiration
765
+ # The date on which the current credentials expire.
766
+ # @return [Time]
767
+ #
768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/Credentials AWS API Documentation
769
+ #
770
+ class Credentials < Struct.new(
771
+ :access_key_id,
772
+ :secret_access_key,
773
+ :session_token,
774
+ :expiration)
775
+ include Aws::Structure
776
+ end
777
+
778
+ # @note When making an API call, you may pass DecodeAuthorizationMessageRequest
779
+ # data as a hash:
780
+ #
781
+ # {
782
+ # encoded_message: "encodedMessageType", # required
783
+ # }
784
+ #
785
+ # @!attribute [rw] encoded_message
786
+ # The encoded message that was returned with the response.
787
+ # @return [String]
788
+ #
789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageRequest AWS API Documentation
790
+ #
791
+ class DecodeAuthorizationMessageRequest < Struct.new(
792
+ :encoded_message)
793
+ include Aws::Structure
794
+ end
795
+
796
+ # A document that contains additional information about the
797
+ # authorization status of a request from an encoded message that is
798
+ # returned in response to an AWS request.
799
+ #
800
+ # @!attribute [rw] decoded_message
801
+ # An XML document that contains the decoded message.
802
+ # @return [String]
803
+ #
804
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse AWS API Documentation
805
+ #
806
+ class DecodeAuthorizationMessageResponse < Struct.new(
807
+ :decoded_message)
808
+ include Aws::Structure
809
+ end
810
+
811
+ # The web identity token that was passed is expired or is not valid. Get
812
+ # a new identity token from the identity provider and then retry the
813
+ # request.
814
+ #
815
+ # @!attribute [rw] message
816
+ # @return [String]
817
+ #
818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/ExpiredTokenException AWS API Documentation
819
+ #
820
+ class ExpiredTokenException < Struct.new(
821
+ :message)
822
+ include Aws::Structure
823
+ end
824
+
825
+ # Identifiers for the federated user that is associated with the
826
+ # credentials.
827
+ #
828
+ # @!attribute [rw] federated_user_id
829
+ # The string that identifies the federated user associated with the
830
+ # credentials, similar to the unique ID of an IAM user.
831
+ # @return [String]
832
+ #
833
+ # @!attribute [rw] arn
834
+ # The ARN that specifies the federated user that is associated with
835
+ # the credentials. For more information about ARNs and how to use them
836
+ # in policies, see [IAM Identifiers][1] in *Using IAM*.
837
+ #
838
+ #
839
+ #
840
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
841
+ # @return [String]
842
+ #
843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser AWS API Documentation
844
+ #
845
+ class FederatedUser < Struct.new(
846
+ :federated_user_id,
847
+ :arn)
848
+ include Aws::Structure
849
+ end
850
+
851
+ # @api private
852
+ #
853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityRequest AWS API Documentation
854
+ #
855
+ class GetCallerIdentityRequest < Aws::EmptyStructure; end
856
+
857
+ # Contains the response to a successful GetCallerIdentity request,
858
+ # including information about the entity making the request.
859
+ #
860
+ # @!attribute [rw] user_id
861
+ # The unique identifier of the calling entity. The exact value depends
862
+ # on the type of entity that is making the call. The values returned
863
+ # are those listed in the **aws:userid** column in the [Principal
864
+ # table][1] found on the **Policy Variables** reference page in the
865
+ # *IAM User Guide*.
866
+ #
867
+ #
868
+ #
869
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable
870
+ # @return [String]
871
+ #
872
+ # @!attribute [rw] account
873
+ # The AWS account ID number of the account that owns or contains the
874
+ # calling entity.
875
+ # @return [String]
876
+ #
877
+ # @!attribute [rw] arn
878
+ # The AWS ARN associated with the calling entity.
879
+ # @return [String]
880
+ #
881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse AWS API Documentation
882
+ #
883
+ class GetCallerIdentityResponse < Struct.new(
884
+ :user_id,
885
+ :account,
886
+ :arn)
887
+ include Aws::Structure
888
+ end
889
+
890
+ # @note When making an API call, you may pass GetFederationTokenRequest
891
+ # data as a hash:
892
+ #
893
+ # {
894
+ # name: "userNameType", # required
895
+ # policy: "sessionPolicyDocumentType",
896
+ # policy_arns: [
897
+ # {
898
+ # arn: "arnType",
899
+ # },
900
+ # ],
901
+ # duration_seconds: 1,
902
+ # }
903
+ #
904
+ # @!attribute [rw] name
905
+ # The name of the federated user. The name is used as an identifier
906
+ # for the temporary security credentials (such as `Bob`). For example,
907
+ # you can reference the federated user name in a resource-based
908
+ # policy, such as in an Amazon S3 bucket policy.
909
+ #
910
+ # The regex used to validate this parameter is a string of characters
911
+ # consisting of upper- and lower-case alphanumeric characters with no
912
+ # spaces. You can also include underscores or any of the following
913
+ # characters: =,.@-
914
+ # @return [String]
915
+ #
916
+ # @!attribute [rw] policy
917
+ # An IAM policy in JSON format that you want to use as an inline
918
+ # session policy.
919
+ #
920
+ # You must pass an inline or managed [session policy][1] to this
921
+ # operation. You can pass a single JSON policy document to use as an
922
+ # inline session policy. You can also specify up to 10 managed
923
+ # policies to use as managed session policies.
924
+ #
925
+ # This parameter is optional. However, if you do not pass any session
926
+ # policies, then the resulting federated user session has no
927
+ # permissions. The only exception is when the credentials are used to
928
+ # access a resource that has a resource-based policy that specifically
929
+ # references the federated user session in the `Principal` element of
930
+ # the policy.
931
+ #
932
+ # When you pass session policies, the session permissions are the
933
+ # intersection of the IAM user policies and the session policies that
934
+ # you pass. This gives you a way to further restrict the permissions
935
+ # for a federated user. You cannot use session policies to grant more
936
+ # permissions than those that are defined in the permissions policy of
937
+ # the IAM user. For more information, see [Session Policies][2] in the
938
+ # *IAM User Guide*.
939
+ #
940
+ # The plain text that you use for both inline and managed session
941
+ # policies shouldn't exceed 2048 characters. The JSON policy
942
+ # characters can be any ASCII character from the space character to
943
+ # the end of the valid character list (\\u0020 through \\u00FF). It
944
+ # can also include the tab (\\u0009), linefeed (\\u000A), and carriage
945
+ # return (\\u000D) characters.
946
+ #
947
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
948
+ # session policy guideline. However, an AWS conversion compresses the
949
+ # session policies into a packed binary format that has a separate
950
+ # limit. This is the enforced limit. The `PackedPolicySize` response
951
+ # element indicates by percentage how close the policy is to the upper
952
+ # size limit.
953
+ #
954
+ # </note>
955
+ #
956
+ #
957
+ #
958
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
959
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session
960
+ # @return [String]
961
+ #
962
+ # @!attribute [rw] policy_arns
963
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that
964
+ # you want to use as a managed session policy. The policies must exist
965
+ # in the same account as the IAM user that is requesting federated
966
+ # access.
967
+ #
968
+ # You must pass an inline or managed [session policy][1] to this
969
+ # operation. You can pass a single JSON policy document to use as an
970
+ # inline session policy. You can also specify up to 10 managed
971
+ # policies to use as managed session policies. The plain text that you
972
+ # use for both inline and managed session policies shouldn't exceed
973
+ # 2048 characters. You can provide up to 10 managed policy ARNs. For
974
+ # more information about ARNs, see [Amazon Resource Names (ARNs) and
975
+ # AWS Service
976
+ # Namespaces](general/latest/gr/aws-arns-and-namespaces.html) in the
977
+ # AWS General Reference.
978
+ #
979
+ # This parameter is optional. However, if you do not pass any session
980
+ # policies, then the resulting federated user session has no
981
+ # permissions. The only exception is when the credentials are used to
982
+ # access a resource that has a resource-based policy that specifically
983
+ # references the federated user session in the `Principal` element of
984
+ # the policy.
985
+ #
986
+ # When you pass session policies, the session permissions are the
987
+ # intersection of the IAM user policies and the session policies that
988
+ # you pass. This gives you a way to further restrict the permissions
989
+ # for a federated user. You cannot use session policies to grant more
990
+ # permissions than those that are defined in the permissions policy of
991
+ # the IAM user. For more information, see [Session Policies][2] in the
992
+ # *IAM User Guide*.
993
+ #
994
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
995
+ # session policy guideline. However, an AWS conversion compresses the
996
+ # session policies into a packed binary format that has a separate
997
+ # limit. This is the enforced limit. The `PackedPolicySize` response
998
+ # element indicates by percentage how close the policy is to the upper
999
+ # size limit.
1000
+ #
1001
+ # </note>
1002
+ #
1003
+ #
1004
+ #
1005
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1006
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session
1007
+ # @return [Array<Types::PolicyDescriptorType>]
1008
+ #
1009
+ # @!attribute [rw] duration_seconds
1010
+ # The duration, in seconds, that the session should last. Acceptable
1011
+ # durations for federation sessions range from 900 seconds (15
1012
+ # minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
1013
+ # hours) as the default. Sessions obtained using AWS account root user
1014
+ # credentials are restricted to a maximum of 3,600 seconds (one hour).
1015
+ # If the specified duration is longer than one hour, the session
1016
+ # obtained by using root user credentials defaults to one hour.
1017
+ # @return [Integer]
1018
+ #
1019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenRequest AWS API Documentation
1020
+ #
1021
+ class GetFederationTokenRequest < Struct.new(
1022
+ :name,
1023
+ :policy,
1024
+ :policy_arns,
1025
+ :duration_seconds)
1026
+ include Aws::Structure
1027
+ end
1028
+
1029
+ # Contains the response to a successful GetFederationToken request,
1030
+ # including temporary AWS credentials that can be used to make AWS
1031
+ # requests.
1032
+ #
1033
+ # @!attribute [rw] credentials
1034
+ # The temporary security credentials, which include an access key ID,
1035
+ # a secret access key, and a security (or session) token.
1036
+ #
1037
+ # <note markdown="1"> The size of the security token that STS API operations return is not
1038
+ # fixed. We strongly recommend that you make no assumptions about the
1039
+ # maximum size.
1040
+ #
1041
+ # </note>
1042
+ # @return [Types::Credentials]
1043
+ #
1044
+ # @!attribute [rw] federated_user
1045
+ # Identifiers for the federated user associated with the credentials
1046
+ # (such as `arn:aws:sts::123456789012:federated-user/Bob` or
1047
+ # `123456789012:Bob`). You can use the federated user's ARN in your
1048
+ # resource-based policies, such as an Amazon S3 bucket policy.
1049
+ # @return [Types::FederatedUser]
1050
+ #
1051
+ # @!attribute [rw] packed_policy_size
1052
+ # A percentage value indicating the size of the policy in packed form.
1053
+ # The service rejects policies for which the packed size is greater
1054
+ # than 100 percent of the allowed value.
1055
+ # @return [Integer]
1056
+ #
1057
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenResponse AWS API Documentation
1058
+ #
1059
+ class GetFederationTokenResponse < Struct.new(
1060
+ :credentials,
1061
+ :federated_user,
1062
+ :packed_policy_size)
1063
+ include Aws::Structure
1064
+ end
1065
+
1066
+ # @note When making an API call, you may pass GetSessionTokenRequest
1067
+ # data as a hash:
1068
+ #
1069
+ # {
1070
+ # duration_seconds: 1,
1071
+ # serial_number: "serialNumberType",
1072
+ # token_code: "tokenCodeType",
1073
+ # }
1074
+ #
1075
+ # @!attribute [rw] duration_seconds
1076
+ # The duration, in seconds, that the credentials should remain valid.
1077
+ # Acceptable durations for IAM user sessions range from 900 seconds
1078
+ # (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
1079
+ # hours) as the default. Sessions for AWS account owners are
1080
+ # restricted to a maximum of 3,600 seconds (one hour). If the duration
1081
+ # is longer than one hour, the session for AWS account owners defaults
1082
+ # to one hour.
1083
+ # @return [Integer]
1084
+ #
1085
+ # @!attribute [rw] serial_number
1086
+ # The identification number of the MFA device that is associated with
1087
+ # the IAM user who is making the `GetSessionToken` call. Specify this
1088
+ # value if the IAM user has a policy that requires MFA authentication.
1089
+ # The value is either the serial number for a hardware device (such as
1090
+ # `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual
1091
+ # device (such as `arn:aws:iam::123456789012:mfa/user`). You can find
1092
+ # the device for an IAM user by going to the AWS Management Console
1093
+ # and viewing the user's security credentials.
1094
+ #
1095
+ # The regex used to validate this parameter is a string of characters
1096
+ # consisting of upper- and lower-case alphanumeric characters with no
1097
+ # spaces. You can also include underscores or any of the following
1098
+ # characters: =,.@:/-
1099
+ # @return [String]
1100
+ #
1101
+ # @!attribute [rw] token_code
1102
+ # The value provided by the MFA device, if MFA is required. If any
1103
+ # policy requires the IAM user to submit an MFA code, specify this
1104
+ # value. If MFA authentication is required, the user must provide a
1105
+ # code when requesting a set of temporary security credentials. A user
1106
+ # who fails to provide the code receives an "access denied" response
1107
+ # when requesting resources that require MFA authentication.
1108
+ #
1109
+ # The format for this parameter, as described by its regex pattern, is
1110
+ # a sequence of six numeric digits.
1111
+ # @return [String]
1112
+ #
1113
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenRequest AWS API Documentation
1114
+ #
1115
+ class GetSessionTokenRequest < Struct.new(
1116
+ :duration_seconds,
1117
+ :serial_number,
1118
+ :token_code)
1119
+ include Aws::Structure
1120
+ end
1121
+
1122
+ # Contains the response to a successful GetSessionToken request,
1123
+ # including temporary AWS credentials that can be used to make AWS
1124
+ # requests.
1125
+ #
1126
+ # @!attribute [rw] credentials
1127
+ # The temporary security credentials, which include an access key ID,
1128
+ # a secret access key, and a security (or session) token.
1129
+ #
1130
+ # <note markdown="1"> The size of the security token that STS API operations return is not
1131
+ # fixed. We strongly recommend that you make no assumptions about the
1132
+ # maximum size.
1133
+ #
1134
+ # </note>
1135
+ # @return [Types::Credentials]
1136
+ #
1137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenResponse AWS API Documentation
1138
+ #
1139
+ class GetSessionTokenResponse < Struct.new(
1140
+ :credentials)
1141
+ include Aws::Structure
1142
+ end
1143
+
1144
+ # The request could not be fulfilled because the non-AWS identity
1145
+ # provider (IDP) that was asked to verify the incoming identity token
1146
+ # could not be reached. This is often a transient error caused by
1147
+ # network conditions. Retry the request a limited number of times so
1148
+ # that you don't exceed the request rate. If the error persists, the
1149
+ # non-AWS identity provider might be down or not responding.
1150
+ #
1151
+ # @!attribute [rw] message
1152
+ # @return [String]
1153
+ #
1154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/IDPCommunicationErrorException AWS API Documentation
1155
+ #
1156
+ class IDPCommunicationErrorException < Struct.new(
1157
+ :message)
1158
+ include Aws::Structure
1159
+ end
1160
+
1161
+ # The identity provider (IdP) reported that authentication failed. This
1162
+ # might be because the claim is invalid.
1163
+ #
1164
+ # If this error is returned for the `AssumeRoleWithWebIdentity`
1165
+ # operation, it can also mean that the claim has expired or has been
1166
+ # explicitly revoked.
1167
+ #
1168
+ # @!attribute [rw] message
1169
+ # @return [String]
1170
+ #
1171
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/IDPRejectedClaimException AWS API Documentation
1172
+ #
1173
+ class IDPRejectedClaimException < Struct.new(
1174
+ :message)
1175
+ include Aws::Structure
1176
+ end
1177
+
1178
+ # The error returned if the message passed to
1179
+ # `DecodeAuthorizationMessage` was invalid. This can happen if the token
1180
+ # contains invalid characters, such as linebreaks.
1181
+ #
1182
+ # @!attribute [rw] message
1183
+ # @return [String]
1184
+ #
1185
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/InvalidAuthorizationMessageException AWS API Documentation
1186
+ #
1187
+ class InvalidAuthorizationMessageException < Struct.new(
1188
+ :message)
1189
+ include Aws::Structure
1190
+ end
1191
+
1192
+ # The web identity token that was passed could not be validated by AWS.
1193
+ # Get a new identity token from the identity provider and then retry the
1194
+ # request.
1195
+ #
1196
+ # @!attribute [rw] message
1197
+ # @return [String]
1198
+ #
1199
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/InvalidIdentityTokenException AWS API Documentation
1200
+ #
1201
+ class InvalidIdentityTokenException < Struct.new(
1202
+ :message)
1203
+ include Aws::Structure
1204
+ end
1205
+
1206
+ # The request was rejected because the policy document was malformed.
1207
+ # The error message describes the specific error.
1208
+ #
1209
+ # @!attribute [rw] message
1210
+ # @return [String]
1211
+ #
1212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/MalformedPolicyDocumentException AWS API Documentation
1213
+ #
1214
+ class MalformedPolicyDocumentException < Struct.new(
1215
+ :message)
1216
+ include Aws::Structure
1217
+ end
1218
+
1219
+ # The request was rejected because the policy document was too large.
1220
+ # The error message describes how big the policy document is, in packed
1221
+ # form, as a percentage of what the API allows.
1222
+ #
1223
+ # @!attribute [rw] message
1224
+ # @return [String]
1225
+ #
1226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/PackedPolicyTooLargeException AWS API Documentation
1227
+ #
1228
+ class PackedPolicyTooLargeException < Struct.new(
1229
+ :message)
1230
+ include Aws::Structure
1231
+ end
1232
+
1233
+ # A reference to the IAM managed policy that is passed as a session
1234
+ # policy for a role session or a federated user session.
1235
+ #
1236
+ # @note When making an API call, you may pass PolicyDescriptorType
1237
+ # data as a hash:
1238
+ #
1239
+ # {
1240
+ # arn: "arnType",
1241
+ # }
1242
+ #
1243
+ # @!attribute [rw] arn
1244
+ # The Amazon Resource Name (ARN) of the IAM managed policy to use as a
1245
+ # session policy for the role. For more information about ARNs, see
1246
+ # [Amazon Resource Names (ARNs) and AWS Service
1247
+ # Namespaces](general/latest/gr/aws-arns-and-namespaces.html) in the
1248
+ # *AWS General Reference*.
1249
+ # @return [String]
1250
+ #
1251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/PolicyDescriptorType AWS API Documentation
1252
+ #
1253
+ class PolicyDescriptorType < Struct.new(
1254
+ :arn)
1255
+ include Aws::Structure
1256
+ end
1257
+
1258
+ # STS is not activated in the requested region for the account that is
1259
+ # being asked to generate credentials. The account administrator must
1260
+ # use the IAM console to activate STS in that region. For more
1261
+ # information, see [Activating and Deactivating AWS STS in an AWS
1262
+ # Region][1] in the *IAM User Guide*.
1263
+ #
1264
+ #
1265
+ #
1266
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html
1267
+ #
1268
+ # @!attribute [rw] message
1269
+ # @return [String]
1270
+ #
1271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/RegionDisabledException AWS API Documentation
1272
+ #
1273
+ class RegionDisabledException < Struct.new(
1274
+ :message)
1275
+ include Aws::Structure
1276
+ end
1277
+
1278
+ end
1279
+ end