aws-sdk-core 2.4.0 → 3.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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