aws-sdk-core 3.100.0 → 3.191.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (258) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1815 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -1
  5. data/lib/aws-defaults/default_configuration.rb +153 -0
  6. data/lib/aws-defaults/defaults_mode_config_resolver.rb +107 -0
  7. data/lib/aws-defaults.rb +3 -0
  8. data/lib/aws-sdk-core/arn.rb +28 -0
  9. data/lib/aws-sdk-core/arn_parser.rb +2 -0
  10. data/lib/aws-sdk-core/assume_role_credentials.rb +23 -7
  11. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +16 -10
  12. data/lib/aws-sdk-core/async_client_stubs.rb +2 -0
  13. data/lib/aws-sdk-core/binary/decode_handler.rb +2 -0
  14. data/lib/aws-sdk-core/binary/encode_handler.rb +14 -1
  15. data/lib/aws-sdk-core/binary/event_builder.rb +2 -0
  16. data/lib/aws-sdk-core/binary/event_parser.rb +2 -0
  17. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +2 -0
  18. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +2 -0
  19. data/lib/aws-sdk-core/binary.rb +2 -0
  20. data/lib/aws-sdk-core/client_side_monitoring/publisher.rb +2 -0
  21. data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +2 -0
  22. data/lib/aws-sdk-core/client_stubs.rb +22 -13
  23. data/lib/aws-sdk-core/credential_provider.rb +5 -0
  24. data/lib/aws-sdk-core/credential_provider_chain.rb +31 -6
  25. data/lib/aws-sdk-core/credentials.rb +2 -0
  26. data/lib/aws-sdk-core/deprecations.rb +2 -0
  27. data/lib/aws-sdk-core/eager_loader.rb +2 -0
  28. data/lib/aws-sdk-core/ec2_metadata.rb +238 -0
  29. data/lib/aws-sdk-core/ecs_credentials.rb +188 -53
  30. data/lib/aws-sdk-core/endpoint_cache.rb +2 -0
  31. data/lib/aws-sdk-core/endpoints/condition.rb +41 -0
  32. data/lib/aws-sdk-core/endpoints/endpoint.rb +17 -0
  33. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +75 -0
  34. data/lib/aws-sdk-core/endpoints/error_rule.rb +42 -0
  35. data/lib/aws-sdk-core/endpoints/function.rb +80 -0
  36. data/lib/aws-sdk-core/endpoints/matchers.rb +131 -0
  37. data/lib/aws-sdk-core/endpoints/reference.rb +31 -0
  38. data/lib/aws-sdk-core/endpoints/rule.rb +25 -0
  39. data/lib/aws-sdk-core/endpoints/rule_set.rb +52 -0
  40. data/lib/aws-sdk-core/endpoints/rules_provider.rb +37 -0
  41. data/lib/aws-sdk-core/endpoints/templater.rb +58 -0
  42. data/lib/aws-sdk-core/endpoints/tree_rule.rb +45 -0
  43. data/lib/aws-sdk-core/endpoints/url.rb +60 -0
  44. data/lib/aws-sdk-core/endpoints.rb +78 -0
  45. data/lib/aws-sdk-core/errors.rb +27 -5
  46. data/lib/aws-sdk-core/event_emitter.rb +2 -0
  47. data/lib/aws-sdk-core/ini_parser.rb +9 -0
  48. data/lib/aws-sdk-core/instance_profile_credentials.rb +167 -38
  49. data/lib/aws-sdk-core/json/builder.rb +2 -0
  50. data/lib/aws-sdk-core/json/error_handler.rb +22 -1
  51. data/lib/aws-sdk-core/json/handler.rb +10 -1
  52. data/lib/aws-sdk-core/json/json_engine.rb +12 -8
  53. data/lib/aws-sdk-core/json/oj_engine.rb +35 -6
  54. data/lib/aws-sdk-core/json/parser.rb +36 -1
  55. data/lib/aws-sdk-core/json.rb +10 -26
  56. data/lib/aws-sdk-core/log/formatter.rb +15 -3
  57. data/lib/aws-sdk-core/log/handler.rb +2 -0
  58. data/lib/aws-sdk-core/log/param_filter.rb +37 -12
  59. data/lib/aws-sdk-core/log/param_formatter.rb +2 -0
  60. data/lib/aws-sdk-core/pageable_response.rb +91 -32
  61. data/lib/aws-sdk-core/pager.rb +5 -0
  62. data/lib/aws-sdk-core/param_converter.rb +2 -0
  63. data/lib/aws-sdk-core/param_validator.rb +56 -6
  64. data/lib/aws-sdk-core/plugins/api_key.rb +5 -1
  65. data/lib/aws-sdk-core/plugins/apig_authorizer_token.rb +2 -0
  66. data/lib/aws-sdk-core/plugins/apig_credentials_configuration.rb +2 -0
  67. data/lib/aws-sdk-core/plugins/apig_user_agent.rb +2 -0
  68. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +67 -0
  69. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +342 -0
  70. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +3 -0
  71. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +2 -0
  72. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +52 -7
  73. data/lib/aws-sdk-core/plugins/defaults_mode.rb +40 -0
  74. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +8 -2
  75. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +8 -6
  76. data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +2 -0
  77. data/lib/aws-sdk-core/plugins/global_configuration.rb +2 -0
  78. data/lib/aws-sdk-core/plugins/helpful_socket_errors.rb +2 -0
  79. data/lib/aws-sdk-core/plugins/http_checksum.rb +11 -1
  80. data/lib/aws-sdk-core/plugins/idempotency_token.rb +2 -0
  81. data/lib/aws-sdk-core/plugins/invocation_id.rb +2 -0
  82. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +36 -6
  83. data/lib/aws-sdk-core/plugins/logging.rb +4 -0
  84. data/lib/aws-sdk-core/plugins/param_converter.rb +2 -0
  85. data/lib/aws-sdk-core/plugins/param_validator.rb +2 -0
  86. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +19 -0
  87. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -0
  88. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +2 -0
  89. data/lib/aws-sdk-core/plugins/protocols/query.rb +2 -0
  90. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +18 -1
  91. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +2 -0
  92. data/lib/aws-sdk-core/plugins/recursion_detection.rb +38 -0
  93. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +146 -17
  94. data/lib/aws-sdk-core/plugins/request_compression.rb +217 -0
  95. data/lib/aws-sdk-core/plugins/response_paging.rb +3 -1
  96. data/lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb +2 -0
  97. data/lib/aws-sdk-core/plugins/retries/clock_skew.rb +2 -0
  98. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +9 -4
  99. data/lib/aws-sdk-core/plugins/retries/retry_quota.rb +2 -0
  100. data/lib/aws-sdk-core/plugins/retry_errors.rb +29 -8
  101. data/lib/aws-sdk-core/plugins/sign.rb +206 -0
  102. data/lib/aws-sdk-core/plugins/signature_v2.rb +3 -0
  103. data/lib/aws-sdk-core/plugins/signature_v4.rb +30 -31
  104. data/lib/aws-sdk-core/plugins/stub_responses.rb +10 -1
  105. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +2 -0
  106. data/lib/aws-sdk-core/plugins/user_agent.rb +119 -14
  107. data/lib/aws-sdk-core/process_credentials.rb +14 -15
  108. data/lib/aws-sdk-core/query/ec2_param_builder.rb +2 -0
  109. data/lib/aws-sdk-core/query/handler.rb +2 -0
  110. data/lib/aws-sdk-core/query/param.rb +2 -0
  111. data/lib/aws-sdk-core/query/param_builder.rb +2 -0
  112. data/lib/aws-sdk-core/query/param_list.rb +2 -0
  113. data/lib/aws-sdk-core/query.rb +2 -0
  114. data/lib/aws-sdk-core/refreshing_credentials.rb +50 -17
  115. data/lib/aws-sdk-core/refreshing_token.rb +71 -0
  116. data/lib/aws-sdk-core/resources/collection.rb +2 -0
  117. data/lib/aws-sdk-core/rest/handler.rb +3 -1
  118. data/lib/aws-sdk-core/rest/request/body.rb +21 -1
  119. data/lib/aws-sdk-core/rest/request/builder.rb +2 -0
  120. data/lib/aws-sdk-core/rest/request/endpoint.rb +2 -0
  121. data/lib/aws-sdk-core/rest/request/headers.rb +16 -6
  122. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +45 -29
  123. data/lib/aws-sdk-core/rest/response/body.rb +2 -0
  124. data/lib/aws-sdk-core/rest/response/headers.rb +6 -3
  125. data/lib/aws-sdk-core/rest/response/parser.rb +2 -0
  126. data/lib/aws-sdk-core/rest/response/status_code.rb +2 -0
  127. data/lib/aws-sdk-core/rest.rb +2 -0
  128. data/lib/aws-sdk-core/shared_config.rb +163 -8
  129. data/lib/aws-sdk-core/shared_credentials.rb +9 -1
  130. data/lib/aws-sdk-core/sso_credentials.rb +172 -0
  131. data/lib/aws-sdk-core/sso_token_provider.rb +135 -0
  132. data/lib/aws-sdk-core/static_token_provider.rb +14 -0
  133. data/lib/aws-sdk-core/structure.rb +19 -6
  134. data/lib/aws-sdk-core/stubbing/data_applicator.rb +2 -0
  135. data/lib/aws-sdk-core/stubbing/empty_stub.rb +2 -0
  136. data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +2 -0
  137. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +2 -0
  138. data/lib/aws-sdk-core/stubbing/protocols/json.rb +3 -1
  139. data/lib/aws-sdk-core/stubbing/protocols/query.rb +2 -0
  140. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +3 -1
  141. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +3 -1
  142. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +2 -2
  143. data/lib/aws-sdk-core/stubbing/stub_data.rb +13 -0
  144. data/lib/aws-sdk-core/stubbing/xml_error.rb +2 -0
  145. data/lib/aws-sdk-core/token.rb +31 -0
  146. data/lib/aws-sdk-core/token_provider.rb +15 -0
  147. data/lib/aws-sdk-core/token_provider_chain.rb +51 -0
  148. data/lib/aws-sdk-core/type_builder.rb +2 -0
  149. data/lib/aws-sdk-core/util.rb +2 -0
  150. data/lib/aws-sdk-core/waiters/errors.rb +2 -0
  151. data/lib/aws-sdk-core/waiters/poller.rb +6 -2
  152. data/lib/aws-sdk-core/waiters/waiter.rb +2 -0
  153. data/lib/aws-sdk-core/waiters.rb +2 -0
  154. data/lib/aws-sdk-core/xml/builder.rb +4 -2
  155. data/lib/aws-sdk-core/xml/default_list.rb +2 -0
  156. data/lib/aws-sdk-core/xml/default_map.rb +2 -0
  157. data/lib/aws-sdk-core/xml/doc_builder.rb +8 -1
  158. data/lib/aws-sdk-core/xml/error_handler.rb +9 -0
  159. data/lib/aws-sdk-core/xml/parser/engines/libxml.rb +2 -0
  160. data/lib/aws-sdk-core/xml/parser/engines/nokogiri.rb +2 -0
  161. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +4 -0
  162. data/lib/aws-sdk-core/xml/parser/engines/ox.rb +3 -1
  163. data/lib/aws-sdk-core/xml/parser/engines/rexml.rb +2 -0
  164. data/lib/aws-sdk-core/xml/parser/frame.rb +25 -0
  165. data/lib/aws-sdk-core/xml/parser/parsing_error.rb +2 -0
  166. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  167. data/lib/aws-sdk-core/xml/parser.rb +7 -0
  168. data/lib/aws-sdk-core/xml.rb +2 -0
  169. data/lib/aws-sdk-core.rb +29 -3
  170. data/lib/aws-sdk-sso/client.rb +630 -0
  171. data/lib/aws-sdk-sso/client_api.rb +190 -0
  172. data/lib/aws-sdk-sso/customizations.rb +1 -0
  173. data/lib/aws-sdk-sso/endpoint_parameters.rb +66 -0
  174. data/lib/aws-sdk-sso/endpoint_provider.rb +57 -0
  175. data/lib/aws-sdk-sso/endpoints.rb +72 -0
  176. data/lib/aws-sdk-sso/errors.rb +102 -0
  177. data/lib/aws-sdk-sso/plugins/endpoints.rb +78 -0
  178. data/lib/aws-sdk-sso/resource.rb +26 -0
  179. data/lib/aws-sdk-sso/types.rb +317 -0
  180. data/lib/aws-sdk-sso.rb +59 -0
  181. data/lib/aws-sdk-ssooidc/client.rb +935 -0
  182. data/lib/aws-sdk-ssooidc/client_api.rb +271 -0
  183. data/lib/aws-sdk-ssooidc/customizations.rb +1 -0
  184. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +66 -0
  185. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +57 -0
  186. data/lib/aws-sdk-ssooidc/endpoints.rb +72 -0
  187. data/lib/aws-sdk-ssooidc/errors.rb +321 -0
  188. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +78 -0
  189. data/lib/aws-sdk-ssooidc/resource.rb +26 -0
  190. data/lib/aws-sdk-ssooidc/types.rb +755 -0
  191. data/lib/aws-sdk-ssooidc.rb +59 -0
  192. data/lib/aws-sdk-sts/client.rb +655 -490
  193. data/lib/aws-sdk-sts/client_api.rb +21 -2
  194. data/lib/aws-sdk-sts/customizations.rb +2 -0
  195. data/lib/aws-sdk-sts/endpoint_parameters.rb +78 -0
  196. data/lib/aws-sdk-sts/endpoint_provider.rb +112 -0
  197. data/lib/aws-sdk-sts/endpoints.rb +136 -0
  198. data/lib/aws-sdk-sts/errors.rb +3 -1
  199. data/lib/aws-sdk-sts/plugins/endpoints.rb +86 -0
  200. data/lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb +7 -1
  201. data/lib/aws-sdk-sts/presigner.rb +16 -10
  202. data/lib/aws-sdk-sts/resource.rb +3 -1
  203. data/lib/aws-sdk-sts/types.rb +416 -316
  204. data/lib/aws-sdk-sts.rb +14 -3
  205. data/lib/seahorse/client/async_base.rb +2 -1
  206. data/lib/seahorse/client/async_response.rb +2 -0
  207. data/lib/seahorse/client/base.rb +3 -0
  208. data/lib/seahorse/client/block_io.rb +5 -2
  209. data/lib/seahorse/client/configuration.rb +7 -5
  210. data/lib/seahorse/client/events.rb +2 -0
  211. data/lib/seahorse/client/h2/connection.rb +29 -24
  212. data/lib/seahorse/client/h2/handler.rb +6 -5
  213. data/lib/seahorse/client/handler.rb +2 -0
  214. data/lib/seahorse/client/handler_builder.rb +2 -0
  215. data/lib/seahorse/client/handler_list.rb +2 -0
  216. data/lib/seahorse/client/handler_list_entry.rb +2 -0
  217. data/lib/seahorse/client/http/async_response.rb +2 -0
  218. data/lib/seahorse/client/http/headers.rb +2 -0
  219. data/lib/seahorse/client/http/request.rb +2 -0
  220. data/lib/seahorse/client/http/response.rb +3 -1
  221. data/lib/seahorse/client/logging/formatter.rb +2 -0
  222. data/lib/seahorse/client/logging/handler.rb +2 -0
  223. data/lib/seahorse/client/managed_file.rb +2 -0
  224. data/lib/seahorse/client/net_http/connection_pool.rb +12 -4
  225. data/lib/seahorse/client/net_http/handler.rb +19 -8
  226. data/lib/seahorse/client/net_http/patches.rb +14 -86
  227. data/lib/seahorse/client/networking_error.rb +2 -0
  228. data/lib/seahorse/client/plugin.rb +3 -0
  229. data/lib/seahorse/client/plugin_list.rb +2 -0
  230. data/lib/seahorse/client/plugins/content_length.rb +13 -5
  231. data/lib/seahorse/client/plugins/endpoint.rb +2 -0
  232. data/lib/seahorse/client/plugins/h2.rb +9 -4
  233. data/lib/seahorse/client/plugins/logging.rb +2 -0
  234. data/lib/seahorse/client/plugins/net_http.rb +39 -3
  235. data/lib/seahorse/client/plugins/operation_methods.rb +2 -0
  236. data/lib/seahorse/client/plugins/raise_response_errors.rb +2 -0
  237. data/lib/seahorse/client/plugins/request_callback.rb +141 -0
  238. data/lib/seahorse/client/plugins/response_target.rb +8 -8
  239. data/lib/seahorse/client/request.rb +2 -0
  240. data/lib/seahorse/client/request_context.rb +2 -0
  241. data/lib/seahorse/client/response.rb +8 -0
  242. data/lib/seahorse/model/api.rb +2 -0
  243. data/lib/seahorse/model/authorizer.rb +2 -0
  244. data/lib/seahorse/model/operation.rb +8 -0
  245. data/lib/seahorse/model/shapes.rb +27 -0
  246. data/lib/seahorse/util.rb +12 -1
  247. data/lib/seahorse/version.rb +2 -0
  248. data/lib/seahorse.rb +3 -0
  249. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  250. data/sig/aws-sdk-core/errors.rbs +22 -0
  251. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  252. data/sig/aws-sdk-core/structure.rbs +4 -0
  253. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  254. data/sig/aws-sdk-core.rbs +7 -0
  255. data/sig/seahorse/client/base.rbs +25 -0
  256. data/sig/seahorse/client/handler_builder.rbs +16 -0
  257. data/sig/seahorse/client/response.rbs +61 -0
  258. metadata +93 -19
@@ -1,38 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
8
10
  module Aws::STS
9
11
  module Types
10
12
 
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
- # tags: [
25
- # {
26
- # key: "tagKeyType", # required
27
- # value: "tagValueType", # required
28
- # },
29
- # ],
30
- # transitive_tag_keys: ["tagKeyType"],
31
- # external_id: "externalIdType",
32
- # serial_number: "serialNumberType",
33
- # token_code: "tokenCodeType",
34
- # }
35
- #
36
13
  # @!attribute [rw] role_arn
37
14
  # The Amazon Resource Name (ARN) of the role to assume.
38
15
  # @return [String]
@@ -47,7 +24,7 @@ module Aws::STS
47
24
  # role session name is also used in the ARN of the assumed role
48
25
  # principal. This means that subsequent cross-account API requests
49
26
  # that use the temporary security credentials will expose the role
50
- # session name to the external account in their AWS CloudTrail logs.
27
+ # session name to the external account in their CloudTrail logs.
51
28
  #
52
29
  # The regex used to validate this parameter is a string of characters
53
30
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -61,17 +38,19 @@ module Aws::STS
61
38
  # in the same account as the role.
62
39
  #
63
40
  # This parameter is optional. You can provide up to 10 managed policy
64
- # ARNs. However, the plain text that you use for both inline and
41
+ # ARNs. However, the plaintext that you use for both inline and
65
42
  # managed session policies can't exceed 2,048 characters. For more
66
- # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
67
- # Service Namespaces][1] in the AWS General Reference.
68
- #
69
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
70
- # tags into a packed binary format that has a separate limit. Your
71
- # request can fail for this limit even if your plain text meets the
72
- # other requirements. The `PackedPolicySize` response element
73
- # indicates by percentage how close the policies and tags for your
74
- # request are to the upper size limit.
43
+ # information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
44
+ # Web Services Service Namespaces][1] in the Amazon Web Services
45
+ # General Reference.
46
+ #
47
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
48
+ # session policy, managed policy ARNs, and session tags into a packed
49
+ # binary format that has a separate limit. Your request can fail for
50
+ # this limit even if your plaintext meets the other requirements. The
51
+ # `PackedPolicySize` response element indicates by percentage how
52
+ # close the policies and tags for your request are to the upper size
53
+ # limit.
75
54
  #
76
55
  # </note>
77
56
  #
@@ -79,10 +58,10 @@ module Aws::STS
79
58
  # credentials. The resulting session's permissions are the
80
59
  # intersection of the role's identity-based policy and the session
81
60
  # policies. You can use the role's temporary credentials in
82
- # subsequent AWS API calls to access resources in the account that
83
- # owns the role. You cannot use session policies to grant more
84
- # permissions than those allowed by the identity-based policy of the
85
- # role that is being assumed. For more information, see [Session
61
+ # subsequent Amazon Web Services API calls to access resources in the
62
+ # account that owns the role. You cannot use session policies to grant
63
+ # more permissions than those allowed by the identity-based policy of
64
+ # the role that is being assumed. For more information, see [Session
86
65
  # Policies][2] in the *IAM User Guide*.
87
66
  #
88
67
  #
@@ -99,25 +78,26 @@ module Aws::STS
99
78
  # returns new temporary credentials. The resulting session's
100
79
  # permissions are the intersection of the role's identity-based
101
80
  # policy and the session policies. You can use the role's temporary
102
- # credentials in subsequent AWS API calls to access resources in the
103
- # account that owns the role. You cannot use session policies to grant
104
- # more permissions than those allowed by the identity-based policy of
105
- # the role that is being assumed. For more information, see [Session
106
- # Policies][1] in the *IAM User Guide*.
81
+ # credentials in subsequent Amazon Web Services API calls to access
82
+ # resources in the account that owns the role. You cannot use session
83
+ # policies to grant more permissions than those allowed by the
84
+ # identity-based policy of the role that is being assumed. For more
85
+ # information, see [Session Policies][1] in the *IAM User Guide*.
107
86
  #
108
- # The plain text that you use for both inline and managed session
87
+ # The plaintext that you use for both inline and managed session
109
88
  # policies can't exceed 2,048 characters. The JSON policy characters
110
89
  # can be any ASCII character from the space character to the end of
111
90
  # the valid character list (\\u0020 through \\u00FF). It can also
112
91
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
113
92
  # (\\u000D) characters.
114
93
  #
115
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
116
- # tags into a packed binary format that has a separate limit. Your
117
- # request can fail for this limit even if your plain text meets the
118
- # other requirements. The `PackedPolicySize` response element
119
- # indicates by percentage how close the policies and tags for your
120
- # request are to the upper size limit.
94
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
95
+ # session policy, managed policy ARNs, and session tags into a packed
96
+ # binary format that has a separate limit. Your request can fail for
97
+ # this limit even if your plaintext meets the other requirements. The
98
+ # `PackedPolicySize` response element indicates by percentage how
99
+ # close the policies and tags for your request are to the upper size
100
+ # limit.
121
101
  #
122
102
  # </note>
123
103
  #
@@ -127,15 +107,26 @@ module Aws::STS
127
107
  # @return [String]
128
108
  #
129
109
  # @!attribute [rw] duration_seconds
130
- # The duration, in seconds, of the role session. The value can range
131
- # from 900 seconds (15 minutes) up to the maximum session duration
132
- # setting for the role. This setting can have a value from 1 hour to
133
- # 12 hours. If you specify a value higher than this setting, the
134
- # operation fails. For example, if you specify a session duration of
135
- # 12 hours, but your administrator set the maximum session duration to
136
- # 6 hours, your operation fails. To learn how to view the maximum
137
- # value for your role, see [View the Maximum Session Duration Setting
138
- # for a Role][1] in the *IAM User Guide*.
110
+ # The duration, in seconds, of the role session. The value specified
111
+ # can range from 900 seconds (15 minutes) up to the maximum session
112
+ # duration set for the role. The maximum session duration setting can
113
+ # have a value from 1 hour to 12 hours. If you specify a value higher
114
+ # than this setting or the administrator setting (whichever is lower),
115
+ # the operation fails. For example, if you specify a session duration
116
+ # of 12 hours, but your administrator set the maximum session duration
117
+ # to 6 hours, your operation fails.
118
+ #
119
+ # Role chaining limits your Amazon Web Services CLI or Amazon Web
120
+ # Services API role session to a maximum of one hour. When you use the
121
+ # `AssumeRole` API operation to assume a role, you can specify the
122
+ # duration of your role session with the `DurationSeconds` parameter.
123
+ # You can specify a parameter value of up to 43200 seconds (12 hours),
124
+ # depending on the maximum session duration setting for your role.
125
+ # However, if you assume a role using role chaining and provide a
126
+ # `DurationSeconds` parameter value greater than one hour, the
127
+ # operation fails. To learn how to view the maximum value for your
128
+ # role, see [View the Maximum Session Duration Setting for a Role][1]
129
+ # in the *IAM User Guide*.
139
130
  #
140
131
  # By default, the value is set to `3600` seconds.
141
132
  #
@@ -144,8 +135,8 @@ module Aws::STS
144
135
  # credentials. The request to the federation endpoint for a console
145
136
  # sign-in token takes a `SessionDuration` parameter that specifies the
146
137
  # maximum length of the console session. For more information, see
147
- # [Creating a URL that Enables Federated Users to Access the AWS
148
- # Management Console][2] in the *IAM User Guide*.
138
+ # [Creating a URL that Enables Federated Users to Access the Amazon
139
+ # Web Services Management Console][2] in the *IAM User Guide*.
149
140
  #
150
141
  # </note>
151
142
  #
@@ -158,20 +149,21 @@ module Aws::STS
158
149
  # @!attribute [rw] tags
159
150
  # A list of session tags that you want to pass. Each session tag
160
151
  # consists of a key name and an associated value. For more information
161
- # about session tags, see [Tagging AWS STS Sessions][1] in the *IAM
162
- # User Guide*.
152
+ # about session tags, see [Tagging Amazon Web Services STS
153
+ # Sessions][1] in the *IAM User Guide*.
163
154
  #
164
155
  # This parameter is optional. You can pass up to 50 session tags. The
165
- # plain text session tag keys can’t exceed 128 characters, and the
156
+ # plaintext session tag keys can’t exceed 128 characters, and the
166
157
  # values can’t exceed 256 characters. For these and additional limits,
167
158
  # see [IAM and STS Character Limits][2] in the *IAM User Guide*.
168
159
  #
169
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
170
- # tags into a packed binary format that has a separate limit. Your
171
- # request can fail for this limit even if your plain text meets the
172
- # other requirements. The `PackedPolicySize` response element
173
- # indicates by percentage how close the policies and tags for your
174
- # request are to the upper size limit.
160
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
161
+ # session policy, managed policy ARNs, and session tags into a packed
162
+ # binary format that has a separate limit. Your request can fail for
163
+ # this limit even if your plaintext meets the other requirements. The
164
+ # `PackedPolicySize` response element indicates by percentage how
165
+ # close the policies and tags for your request are to the upper size
166
+ # limit.
175
167
  #
176
168
  # </note>
177
169
  #
@@ -191,14 +183,14 @@ module Aws::STS
191
183
  # operation, the new session inherits any transitive session tags from
192
184
  # the calling session. If you pass a session tag with the same key as
193
185
  # an inherited tag, the operation fails. To view the inherited tags
194
- # for a session, see the AWS CloudTrail logs. For more information,
195
- # see [Viewing Session Tags in CloudTrail][3] in the *IAM User Guide*.
186
+ # for a session, see the CloudTrail logs. For more information, see
187
+ # [Viewing Session Tags in CloudTrail][3] in the *IAM User Guide*.
196
188
  #
197
189
  #
198
190
  #
199
191
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
200
192
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
201
- # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/session-tags.html#id_session-tags_ctlogs
193
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_ctlogs
202
194
  # @return [Array<Types::Tag>]
203
195
  #
204
196
  # @!attribute [rw] transitive_tag_keys
@@ -230,8 +222,8 @@ module Aws::STS
230
222
  # the administrator of the trusted account. That way, only someone
231
223
  # with the ID can assume the role, rather than everyone in the
232
224
  # account. For more information about the external ID, see [How to Use
233
- # an External ID When Granting Access to Your AWS Resources to a Third
234
- # Party][1] in the *IAM User Guide*.
225
+ # an External ID When Granting Access to Your Amazon Web Services
226
+ # Resources to a Third Party][1] in the *IAM User Guide*.
235
227
  #
236
228
  # The regex used to validate this parameter is a string of characters
237
229
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -260,15 +252,54 @@ module Aws::STS
260
252
  #
261
253
  # @!attribute [rw] token_code
262
254
  # The value provided by the MFA device, if the trust policy of the
263
- # role being assumed requires MFA (that is, if the policy includes a
264
- # condition that tests for MFA). If the role being assumed requires
265
- # MFA and if the `TokenCode` value is missing or expired, the
255
+ # role being assumed requires MFA. (In other words, if the policy
256
+ # includes a condition that tests for MFA). If the role being assumed
257
+ # requires MFA and if the `TokenCode` value is missing or expired, the
266
258
  # `AssumeRole` call returns an "access denied" error.
267
259
  #
268
260
  # The format for this parameter, as described by its regex pattern, is
269
261
  # a sequence of six numeric digits.
270
262
  # @return [String]
271
263
  #
264
+ # @!attribute [rw] source_identity
265
+ # The source identity specified by the principal that is calling the
266
+ # `AssumeRole` operation.
267
+ #
268
+ # You can require users to specify a source identity when they assume
269
+ # a role. You do this by using the `sts:SourceIdentity` condition key
270
+ # in a role trust policy. You can use source identity information in
271
+ # CloudTrail logs to determine who took actions with a role. You can
272
+ # use the `aws:SourceIdentity` condition key to further control access
273
+ # to Amazon Web Services resources based on the value of source
274
+ # identity. For more information about using source identity, see
275
+ # [Monitor and control actions taken with assumed roles][1] in the
276
+ # *IAM User Guide*.
277
+ #
278
+ # The regex used to validate this parameter is a string of characters
279
+ # consisting of upper- and lower-case alphanumeric characters with no
280
+ # spaces. You can also include underscores or any of the following
281
+ # characters: =,.@-. You cannot use a value that begins with the text
282
+ # `aws:`. This prefix is reserved for Amazon Web Services internal
283
+ # use.
284
+ #
285
+ #
286
+ #
287
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
288
+ # @return [String]
289
+ #
290
+ # @!attribute [rw] provided_contexts
291
+ # A list of previously acquired trusted context assertions in the
292
+ # format of a JSON array. The trusted context assertion is signed and
293
+ # encrypted by Amazon Web Services STS.
294
+ #
295
+ # The following is an example of a `ProvidedContext` value that
296
+ # includes a single trusted context assertion and the ARN of the
297
+ # context provider from which the trusted context assertion was
298
+ # generated.
299
+ #
300
+ # `[\{"ProviderArn":"arn:aws:iam::aws:contextProvider/IdentityCenter","ContextAssertion":"trusted-context-assertion"\}]`
301
+ # @return [Array<Types::ProvidedContext>]
302
+ #
272
303
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest AWS API Documentation
273
304
  #
274
305
  class AssumeRoleRequest < Struct.new(
@@ -281,12 +312,16 @@ module Aws::STS
281
312
  :transitive_tag_keys,
282
313
  :external_id,
283
314
  :serial_number,
284
- :token_code)
315
+ :token_code,
316
+ :source_identity,
317
+ :provided_contexts)
318
+ SENSITIVE = []
285
319
  include Aws::Structure
286
320
  end
287
321
 
288
322
  # Contains the response to a successful AssumeRole request, including
289
- # temporary AWS credentials that can be used to make AWS requests.
323
+ # temporary Amazon Web Services credentials that can be used to make
324
+ # Amazon Web Services requests.
290
325
  #
291
326
  # @!attribute [rw] credentials
292
327
  # The temporary security credentials, which include an access key ID,
@@ -315,31 +350,41 @@ module Aws::STS
315
350
  # means the policies and tags exceeded the allowed space.
316
351
  # @return [Integer]
317
352
  #
353
+ # @!attribute [rw] source_identity
354
+ # The source identity specified by the principal that is calling the
355
+ # `AssumeRole` operation.
356
+ #
357
+ # You can require users to specify a source identity when they assume
358
+ # a role. You do this by using the `sts:SourceIdentity` condition key
359
+ # in a role trust policy. You can use source identity information in
360
+ # CloudTrail logs to determine who took actions with a role. You can
361
+ # use the `aws:SourceIdentity` condition key to further control access
362
+ # to Amazon Web Services resources based on the value of source
363
+ # identity. For more information about using source identity, see
364
+ # [Monitor and control actions taken with assumed roles][1] in the
365
+ # *IAM User Guide*.
366
+ #
367
+ # The regex used to validate this parameter is a string of characters
368
+ # consisting of upper- and lower-case alphanumeric characters with no
369
+ # spaces. You can also include underscores or any of the following
370
+ # characters: =,.@-
371
+ #
372
+ #
373
+ #
374
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
375
+ # @return [String]
376
+ #
318
377
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse AWS API Documentation
319
378
  #
320
379
  class AssumeRoleResponse < Struct.new(
321
380
  :credentials,
322
381
  :assumed_role_user,
323
- :packed_policy_size)
382
+ :packed_policy_size,
383
+ :source_identity)
384
+ SENSITIVE = []
324
385
  include Aws::Structure
325
386
  end
326
387
 
327
- # @note When making an API call, you may pass AssumeRoleWithSAMLRequest
328
- # data as a hash:
329
- #
330
- # {
331
- # role_arn: "arnType", # required
332
- # principal_arn: "arnType", # required
333
- # saml_assertion: "SAMLAssertionType", # required
334
- # policy_arns: [
335
- # {
336
- # arn: "arnType",
337
- # },
338
- # ],
339
- # policy: "sessionPolicyDocumentType",
340
- # duration_seconds: 1,
341
- # }
342
- #
343
388
  # @!attribute [rw] role_arn
344
389
  # The Amazon Resource Name (ARN) of the role that the caller is
345
390
  # assuming.
@@ -351,8 +396,7 @@ module Aws::STS
351
396
  # @return [String]
352
397
  #
353
398
  # @!attribute [rw] saml_assertion
354
- # The base-64 encoded SAML authentication response provided by the
355
- # IdP.
399
+ # The base64 encoded SAML authentication response provided by the IdP.
356
400
  #
357
401
  # For more information, see [Configuring a Relying Party and Adding
358
402
  # Claims][1] in the *IAM User Guide*.
@@ -368,17 +412,19 @@ module Aws::STS
368
412
  # in the same account as the role.
369
413
  #
370
414
  # This parameter is optional. You can provide up to 10 managed policy
371
- # ARNs. However, the plain text that you use for both inline and
415
+ # ARNs. However, the plaintext that you use for both inline and
372
416
  # managed session policies can't exceed 2,048 characters. For more
373
- # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
374
- # Service Namespaces][1] in the AWS General Reference.
375
- #
376
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
377
- # tags into a packed binary format that has a separate limit. Your
378
- # request can fail for this limit even if your plain text meets the
379
- # other requirements. The `PackedPolicySize` response element
380
- # indicates by percentage how close the policies and tags for your
381
- # request are to the upper size limit.
417
+ # information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
418
+ # Web Services Service Namespaces][1] in the Amazon Web Services
419
+ # General Reference.
420
+ #
421
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
422
+ # session policy, managed policy ARNs, and session tags into a packed
423
+ # binary format that has a separate limit. Your request can fail for
424
+ # this limit even if your plaintext meets the other requirements. The
425
+ # `PackedPolicySize` response element indicates by percentage how
426
+ # close the policies and tags for your request are to the upper size
427
+ # limit.
382
428
  #
383
429
  # </note>
384
430
  #
@@ -386,10 +432,10 @@ module Aws::STS
386
432
  # credentials. The resulting session's permissions are the
387
433
  # intersection of the role's identity-based policy and the session
388
434
  # policies. You can use the role's temporary credentials in
389
- # subsequent AWS API calls to access resources in the account that
390
- # owns the role. You cannot use session policies to grant more
391
- # permissions than those allowed by the identity-based policy of the
392
- # role that is being assumed. For more information, see [Session
435
+ # subsequent Amazon Web Services API calls to access resources in the
436
+ # account that owns the role. You cannot use session policies to grant
437
+ # more permissions than those allowed by the identity-based policy of
438
+ # the role that is being assumed. For more information, see [Session
393
439
  # Policies][2] in the *IAM User Guide*.
394
440
  #
395
441
  #
@@ -406,25 +452,26 @@ module Aws::STS
406
452
  # returns new temporary credentials. The resulting session's
407
453
  # permissions are the intersection of the role's identity-based
408
454
  # policy and the session policies. You can use the role's temporary
409
- # credentials in subsequent AWS API calls to access resources in the
410
- # account that owns the role. You cannot use session policies to grant
411
- # more permissions than those allowed by the identity-based policy of
412
- # the role that is being assumed. For more information, see [Session
413
- # Policies][1] in the *IAM User Guide*.
455
+ # credentials in subsequent Amazon Web Services API calls to access
456
+ # resources in the account that owns the role. You cannot use session
457
+ # policies to grant more permissions than those allowed by the
458
+ # identity-based policy of the role that is being assumed. For more
459
+ # information, see [Session Policies][1] in the *IAM User Guide*.
414
460
  #
415
- # The plain text that you use for both inline and managed session
461
+ # The plaintext that you use for both inline and managed session
416
462
  # policies can't exceed 2,048 characters. The JSON policy characters
417
463
  # can be any ASCII character from the space character to the end of
418
464
  # the valid character list (\\u0020 through \\u00FF). It can also
419
465
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
420
466
  # (\\u000D) characters.
421
467
  #
422
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
423
- # tags into a packed binary format that has a separate limit. Your
424
- # request can fail for this limit even if your plain text meets the
425
- # other requirements. The `PackedPolicySize` response element
426
- # indicates by percentage how close the policies and tags for your
427
- # request are to the upper size limit.
468
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
469
+ # session policy, managed policy ARNs, and session tags into a packed
470
+ # binary format that has a separate limit. Your request can fail for
471
+ # this limit even if your plaintext meets the other requirements. The
472
+ # `PackedPolicySize` response element indicates by percentage how
473
+ # close the policies and tags for your request are to the upper size
474
+ # limit.
428
475
  #
429
476
  # </note>
430
477
  #
@@ -455,8 +502,8 @@ module Aws::STS
455
502
  # credentials. The request to the federation endpoint for a console
456
503
  # sign-in token takes a `SessionDuration` parameter that specifies the
457
504
  # maximum length of the console session. For more information, see
458
- # [Creating a URL that Enables Federated Users to Access the AWS
459
- # Management Console][2] in the *IAM User Guide*.
505
+ # [Creating a URL that Enables Federated Users to Access the Amazon
506
+ # Web Services Management Console][2] in the *IAM User Guide*.
460
507
  #
461
508
  # </note>
462
509
  #
@@ -475,12 +522,13 @@ module Aws::STS
475
522
  :policy_arns,
476
523
  :policy,
477
524
  :duration_seconds)
525
+ SENSITIVE = [:saml_assertion]
478
526
  include Aws::Structure
479
527
  end
480
528
 
481
529
  # Contains the response to a successful AssumeRoleWithSAML request,
482
- # including temporary AWS credentials that can be used to make AWS
483
- # requests.
530
+ # including temporary Amazon Web Services credentials that can be used
531
+ # to make Amazon Web Services requests.
484
532
  #
485
533
  # @!attribute [rw] credentials
486
534
  # The temporary security credentials, which include an access key ID,
@@ -532,11 +580,17 @@ module Aws::STS
532
580
  # @return [String]
533
581
  #
534
582
  # @!attribute [rw] name_qualifier
535
- # A hash value based on the concatenation of the `Issuer` response
536
- # value, the AWS account ID, and the friendly name (the last part of
537
- # the ARN) of the SAML provider in IAM. The combination of
538
- # `NameQualifier` and `Subject` can be used to uniquely identify a
539
- # federated user.
583
+ # A hash value based on the concatenation of the following:
584
+ #
585
+ # * The `Issuer` response value.
586
+ #
587
+ # * The Amazon Web Services account ID.
588
+ #
589
+ # * The friendly name (the last part of the ARN) of the SAML provider
590
+ # in IAM.
591
+ #
592
+ # The combination of `NameQualifier` and `Subject` can be used to
593
+ # uniquely identify a user.
540
594
  #
541
595
  # The following pseudocode shows how the hash value is calculated:
542
596
  #
@@ -544,6 +598,34 @@ module Aws::STS
544
598
  # "/MySAMLIdP" ) )`
545
599
  # @return [String]
546
600
  #
601
+ # @!attribute [rw] source_identity
602
+ # The value in the `SourceIdentity` attribute in the SAML assertion.
603
+ #
604
+ # You can require users to set a source identity value when they
605
+ # assume a role. You do this by using the `sts:SourceIdentity`
606
+ # condition key in a role trust policy. That way, actions that are
607
+ # taken with the role are associated with that user. After the source
608
+ # identity is set, the value cannot be changed. It is present in the
609
+ # request for all actions that are taken by the role and persists
610
+ # across [chained role][1] sessions. You can configure your SAML
611
+ # identity provider to use an attribute associated with your users,
612
+ # like user name or email, as the source identity when calling
613
+ # `AssumeRoleWithSAML`. You do this by adding an attribute to the SAML
614
+ # assertion. For more information about using source identity, see
615
+ # [Monitor and control actions taken with assumed roles][2] in the
616
+ # *IAM User Guide*.
617
+ #
618
+ # The regex used to validate this parameter is a string of characters
619
+ # consisting of upper- and lower-case alphanumeric characters with no
620
+ # spaces. You can also include underscores or any of the following
621
+ # characters: =,.@-
622
+ #
623
+ #
624
+ #
625
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining
626
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
627
+ # @return [String]
628
+ #
547
629
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse AWS API Documentation
548
630
  #
549
631
  class AssumeRoleWithSAMLResponse < Struct.new(
@@ -554,27 +636,12 @@ module Aws::STS
554
636
  :subject_type,
555
637
  :issuer,
556
638
  :audience,
557
- :name_qualifier)
639
+ :name_qualifier,
640
+ :source_identity)
641
+ SENSITIVE = []
558
642
  include Aws::Structure
559
643
  end
560
644
 
561
- # @note When making an API call, you may pass AssumeRoleWithWebIdentityRequest
562
- # data as a hash:
563
- #
564
- # {
565
- # role_arn: "arnType", # required
566
- # role_session_name: "roleSessionNameType", # required
567
- # web_identity_token: "clientTokenType", # required
568
- # provider_id: "urlType",
569
- # policy_arns: [
570
- # {
571
- # arn: "arnType",
572
- # },
573
- # ],
574
- # policy: "sessionPolicyDocumentType",
575
- # duration_seconds: 1,
576
- # }
577
- #
578
645
  # @!attribute [rw] role_arn
579
646
  # The Amazon Resource Name (ARN) of the role that the caller is
580
647
  # assuming.
@@ -599,17 +666,18 @@ module Aws::STS
599
666
  # provided by the identity provider. Your application must get this
600
667
  # token by authenticating the user who is using your application with
601
668
  # a web identity provider before the application makes an
602
- # `AssumeRoleWithWebIdentity` call.
669
+ # `AssumeRoleWithWebIdentity` call. Only tokens with RSA algorithms
670
+ # (RS256) are supported.
603
671
  # @return [String]
604
672
  #
605
673
  # @!attribute [rw] provider_id
606
- # The fully qualified host component of the domain name of the
607
- # identity provider.
674
+ # The fully qualified host component of the domain name of the OAuth
675
+ # 2.0 identity provider. Do not specify this value for an OpenID
676
+ # Connect identity provider.
608
677
  #
609
- # Specify this value only for OAuth 2.0 access tokens. Currently
610
- # `www.amazon.com` and `graph.facebook.com` are the only supported
611
- # identity providers for OAuth 2.0 access tokens. Do not include URL
612
- # schemes and port numbers.
678
+ # Currently `www.amazon.com` and `graph.facebook.com` are the only
679
+ # supported identity providers for OAuth 2.0 access tokens. Do not
680
+ # include URL schemes and port numbers.
613
681
  #
614
682
  # Do not specify this value for OpenID Connect ID tokens.
615
683
  # @return [String]
@@ -620,17 +688,19 @@ module Aws::STS
620
688
  # in the same account as the role.
621
689
  #
622
690
  # This parameter is optional. You can provide up to 10 managed policy
623
- # ARNs. However, the plain text that you use for both inline and
691
+ # ARNs. However, the plaintext that you use for both inline and
624
692
  # managed session policies can't exceed 2,048 characters. For more
625
- # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
626
- # Service Namespaces][1] in the AWS General Reference.
627
- #
628
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
629
- # tags into a packed binary format that has a separate limit. Your
630
- # request can fail for this limit even if your plain text meets the
631
- # other requirements. The `PackedPolicySize` response element
632
- # indicates by percentage how close the policies and tags for your
633
- # request are to the upper size limit.
693
+ # information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
694
+ # Web Services Service Namespaces][1] in the Amazon Web Services
695
+ # General Reference.
696
+ #
697
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
698
+ # session policy, managed policy ARNs, and session tags into a packed
699
+ # binary format that has a separate limit. Your request can fail for
700
+ # this limit even if your plaintext meets the other requirements. The
701
+ # `PackedPolicySize` response element indicates by percentage how
702
+ # close the policies and tags for your request are to the upper size
703
+ # limit.
634
704
  #
635
705
  # </note>
636
706
  #
@@ -638,10 +708,10 @@ module Aws::STS
638
708
  # credentials. The resulting session's permissions are the
639
709
  # intersection of the role's identity-based policy and the session
640
710
  # policies. You can use the role's temporary credentials in
641
- # subsequent AWS API calls to access resources in the account that
642
- # owns the role. You cannot use session policies to grant more
643
- # permissions than those allowed by the identity-based policy of the
644
- # role that is being assumed. For more information, see [Session
711
+ # subsequent Amazon Web Services API calls to access resources in the
712
+ # account that owns the role. You cannot use session policies to grant
713
+ # more permissions than those allowed by the identity-based policy of
714
+ # the role that is being assumed. For more information, see [Session
645
715
  # Policies][2] in the *IAM User Guide*.
646
716
  #
647
717
  #
@@ -658,25 +728,26 @@ module Aws::STS
658
728
  # returns new temporary credentials. The resulting session's
659
729
  # permissions are the intersection of the role's identity-based
660
730
  # policy and the session policies. You can use the role's temporary
661
- # credentials in subsequent AWS API calls to access resources in the
662
- # account that owns the role. You cannot use session policies to grant
663
- # more permissions than those allowed by the identity-based policy of
664
- # the role that is being assumed. For more information, see [Session
665
- # Policies][1] in the *IAM User Guide*.
731
+ # credentials in subsequent Amazon Web Services API calls to access
732
+ # resources in the account that owns the role. You cannot use session
733
+ # policies to grant more permissions than those allowed by the
734
+ # identity-based policy of the role that is being assumed. For more
735
+ # information, see [Session Policies][1] in the *IAM User Guide*.
666
736
  #
667
- # The plain text that you use for both inline and managed session
737
+ # The plaintext that you use for both inline and managed session
668
738
  # policies can't exceed 2,048 characters. The JSON policy characters
669
739
  # can be any ASCII character from the space character to the end of
670
740
  # the valid character list (\\u0020 through \\u00FF). It can also
671
741
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
672
742
  # (\\u000D) characters.
673
743
  #
674
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
675
- # tags into a packed binary format that has a separate limit. Your
676
- # request can fail for this limit even if your plain text meets the
677
- # other requirements. The `PackedPolicySize` response element
678
- # indicates by percentage how close the policies and tags for your
679
- # request are to the upper size limit.
744
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
745
+ # session policy, managed policy ARNs, and session tags into a packed
746
+ # binary format that has a separate limit. Your request can fail for
747
+ # this limit even if your plaintext meets the other requirements. The
748
+ # `PackedPolicySize` response element indicates by percentage how
749
+ # close the policies and tags for your request are to the upper size
750
+ # limit.
680
751
  #
681
752
  # </note>
682
753
  #
@@ -703,8 +774,8 @@ module Aws::STS
703
774
  # credentials. The request to the federation endpoint for a console
704
775
  # sign-in token takes a `SessionDuration` parameter that specifies the
705
776
  # maximum length of the console session. For more information, see
706
- # [Creating a URL that Enables Federated Users to Access the AWS
707
- # Management Console][2] in the *IAM User Guide*.
777
+ # [Creating a URL that Enables Federated Users to Access the Amazon
778
+ # Web Services Management Console][2] in the *IAM User Guide*.
708
779
  #
709
780
  # </note>
710
781
  #
@@ -724,12 +795,13 @@ module Aws::STS
724
795
  :policy_arns,
725
796
  :policy,
726
797
  :duration_seconds)
798
+ SENSITIVE = [:web_identity_token]
727
799
  include Aws::Structure
728
800
  end
729
801
 
730
802
  # Contains the response to a successful AssumeRoleWithWebIdentity
731
- # request, including temporary AWS credentials that can be used to make
732
- # AWS requests.
803
+ # request, including temporary Amazon Web Services credentials that can
804
+ # be used to make Amazon Web Services requests.
733
805
  #
734
806
  # @!attribute [rw] credentials
735
807
  # The temporary security credentials, which include an access key ID,
@@ -782,6 +854,38 @@ module Aws::STS
782
854
  # application that requested the web identity token.
783
855
  # @return [String]
784
856
  #
857
+ # @!attribute [rw] source_identity
858
+ # The value of the source identity that is returned in the JSON web
859
+ # token (JWT) from the identity provider.
860
+ #
861
+ # You can require users to set a source identity value when they
862
+ # assume a role. You do this by using the `sts:SourceIdentity`
863
+ # condition key in a role trust policy. That way, actions that are
864
+ # taken with the role are associated with that user. After the source
865
+ # identity is set, the value cannot be changed. It is present in the
866
+ # request for all actions that are taken by the role and persists
867
+ # across [chained role][1] sessions. You can configure your identity
868
+ # provider to use an attribute associated with your users, like user
869
+ # name or email, as the source identity when calling
870
+ # `AssumeRoleWithWebIdentity`. You do this by adding a claim to the
871
+ # JSON web token. To learn more about OIDC tokens and claims, see
872
+ # [Using Tokens with User Pools][2] in the *Amazon Cognito Developer
873
+ # Guide*. For more information about using source identity, see
874
+ # [Monitor and control actions taken with assumed roles][3] in the
875
+ # *IAM User Guide*.
876
+ #
877
+ # The regex used to validate this parameter is a string of characters
878
+ # consisting of upper- and lower-case alphanumeric characters with no
879
+ # spaces. You can also include underscores or any of the following
880
+ # characters: =,.@-
881
+ #
882
+ #
883
+ #
884
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining
885
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html
886
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
887
+ # @return [String]
888
+ #
785
889
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse AWS API Documentation
786
890
  #
787
891
  class AssumeRoleWithWebIdentityResponse < Struct.new(
@@ -790,7 +894,9 @@ module Aws::STS
790
894
  :assumed_role_user,
791
895
  :packed_policy_size,
792
896
  :provider,
793
- :audience)
897
+ :audience,
898
+ :source_identity)
899
+ SENSITIVE = []
794
900
  include Aws::Structure
795
901
  end
796
902
 
@@ -800,7 +906,7 @@ module Aws::STS
800
906
  # @!attribute [rw] assumed_role_id
801
907
  # A unique identifier that contains the role ID and the role session
802
908
  # name of the role that is being assumed. The role ID is generated by
803
- # AWS when the role is created.
909
+ # Amazon Web Services when the role is created.
804
910
  # @return [String]
805
911
  #
806
912
  # @!attribute [rw] arn
@@ -819,10 +925,11 @@ module Aws::STS
819
925
  class AssumedRoleUser < Struct.new(
820
926
  :assumed_role_id,
821
927
  :arn)
928
+ SENSITIVE = []
822
929
  include Aws::Structure
823
930
  end
824
931
 
825
- # AWS credentials for API authentication.
932
+ # Amazon Web Services credentials for API authentication.
826
933
  #
827
934
  # @!attribute [rw] access_key_id
828
935
  # The access key ID that identifies the temporary security
@@ -849,16 +956,10 @@ module Aws::STS
849
956
  :secret_access_key,
850
957
  :session_token,
851
958
  :expiration)
959
+ SENSITIVE = [:secret_access_key]
852
960
  include Aws::Structure
853
961
  end
854
962
 
855
- # @note When making an API call, you may pass DecodeAuthorizationMessageRequest
856
- # data as a hash:
857
- #
858
- # {
859
- # encoded_message: "encodedMessageType", # required
860
- # }
861
- #
862
963
  # @!attribute [rw] encoded_message
863
964
  # The encoded message that was returned with the response.
864
965
  # @return [String]
@@ -867,21 +968,23 @@ module Aws::STS
867
968
  #
868
969
  class DecodeAuthorizationMessageRequest < Struct.new(
869
970
  :encoded_message)
971
+ SENSITIVE = []
870
972
  include Aws::Structure
871
973
  end
872
974
 
873
975
  # A document that contains additional information about the
874
976
  # authorization status of a request from an encoded message that is
875
- # returned in response to an AWS request.
977
+ # returned in response to an Amazon Web Services request.
876
978
  #
877
979
  # @!attribute [rw] decoded_message
878
- # An XML document that contains the decoded message.
980
+ # The API returns a response with the decoded message.
879
981
  # @return [String]
880
982
  #
881
983
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse AWS API Documentation
882
984
  #
883
985
  class DecodeAuthorizationMessageResponse < Struct.new(
884
986
  :decoded_message)
987
+ SENSITIVE = []
885
988
  include Aws::Structure
886
989
  end
887
990
 
@@ -896,6 +999,7 @@ module Aws::STS
896
999
  #
897
1000
  class ExpiredTokenException < Struct.new(
898
1001
  :message)
1002
+ SENSITIVE = []
899
1003
  include Aws::Structure
900
1004
  end
901
1005
 
@@ -922,16 +1026,10 @@ module Aws::STS
922
1026
  class FederatedUser < Struct.new(
923
1027
  :federated_user_id,
924
1028
  :arn)
1029
+ SENSITIVE = []
925
1030
  include Aws::Structure
926
1031
  end
927
1032
 
928
- # @note When making an API call, you may pass GetAccessKeyInfoRequest
929
- # data as a hash:
930
- #
931
- # {
932
- # access_key_id: "accessKeyIdType", # required
933
- # }
934
- #
935
1033
  # @!attribute [rw] access_key_id
936
1034
  # The identifier of an access key.
937
1035
  #
@@ -944,17 +1042,19 @@ module Aws::STS
944
1042
  #
945
1043
  class GetAccessKeyInfoRequest < Struct.new(
946
1044
  :access_key_id)
1045
+ SENSITIVE = []
947
1046
  include Aws::Structure
948
1047
  end
949
1048
 
950
1049
  # @!attribute [rw] account
951
- # The number used to identify the AWS account.
1050
+ # The number used to identify the Amazon Web Services account.
952
1051
  # @return [String]
953
1052
  #
954
1053
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetAccessKeyInfoResponse AWS API Documentation
955
1054
  #
956
1055
  class GetAccessKeyInfoResponse < Struct.new(
957
1056
  :account)
1057
+ SENSITIVE = []
958
1058
  include Aws::Structure
959
1059
  end
960
1060
 
@@ -980,12 +1080,12 @@ module Aws::STS
980
1080
  # @return [String]
981
1081
  #
982
1082
  # @!attribute [rw] account
983
- # The AWS account ID number of the account that owns or contains the
984
- # calling entity.
1083
+ # The Amazon Web Services account ID number of the account that owns
1084
+ # or contains the calling entity.
985
1085
  # @return [String]
986
1086
  #
987
1087
  # @!attribute [rw] arn
988
- # The AWS ARN associated with the calling entity.
1088
+ # The Amazon Web Services ARN associated with the calling entity.
989
1089
  # @return [String]
990
1090
  #
991
1091
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse AWS API Documentation
@@ -994,29 +1094,10 @@ module Aws::STS
994
1094
  :user_id,
995
1095
  :account,
996
1096
  :arn)
1097
+ SENSITIVE = []
997
1098
  include Aws::Structure
998
1099
  end
999
1100
 
1000
- # @note When making an API call, you may pass GetFederationTokenRequest
1001
- # data as a hash:
1002
- #
1003
- # {
1004
- # name: "userNameType", # required
1005
- # policy: "sessionPolicyDocumentType",
1006
- # policy_arns: [
1007
- # {
1008
- # arn: "arnType",
1009
- # },
1010
- # ],
1011
- # duration_seconds: 1,
1012
- # tags: [
1013
- # {
1014
- # key: "tagKeyType", # required
1015
- # value: "tagValueType", # required
1016
- # },
1017
- # ],
1018
- # }
1019
- #
1020
1101
  # @!attribute [rw] name
1021
1102
  # The name of the federated user. The name is used as an identifier
1022
1103
  # for the temporary security credentials (such as `Bob`). For example,
@@ -1035,8 +1116,8 @@ module Aws::STS
1035
1116
  #
1036
1117
  # You must pass an inline or managed [session policy][1] to this
1037
1118
  # operation. You can pass a single JSON policy document to use as an
1038
- # inline session policy. You can also specify up to 10 managed
1039
- # policies to use as managed session policies.
1119
+ # inline session policy. You can also specify up to 10 managed policy
1120
+ # Amazon Resource Names (ARNs) to use as managed session policies.
1040
1121
  #
1041
1122
  # This parameter is optional. However, if you do not pass any session
1042
1123
  # policies, then the resulting federated user session has no
@@ -1057,19 +1138,20 @@ module Aws::STS
1057
1138
  # are granted in addition to the permissions that are granted by the
1058
1139
  # session policies.
1059
1140
  #
1060
- # The plain text that you use for both inline and managed session
1141
+ # The plaintext that you use for both inline and managed session
1061
1142
  # policies can't exceed 2,048 characters. The JSON policy characters
1062
1143
  # can be any ASCII character from the space character to the end of
1063
1144
  # the valid character list (\\u0020 through \\u00FF). It can also
1064
1145
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
1065
1146
  # (\\u000D) characters.
1066
1147
  #
1067
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1068
- # tags into a packed binary format that has a separate limit. Your
1069
- # request can fail for this limit even if your plain text meets the
1070
- # other requirements. The `PackedPolicySize` response element
1071
- # indicates by percentage how close the policies and tags for your
1072
- # request are to the upper size limit.
1148
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
1149
+ # session policy, managed policy ARNs, and session tags into a packed
1150
+ # binary format that has a separate limit. Your request can fail for
1151
+ # this limit even if your plaintext meets the other requirements. The
1152
+ # `PackedPolicySize` response element indicates by percentage how
1153
+ # close the policies and tags for your request are to the upper size
1154
+ # limit.
1073
1155
  #
1074
1156
  # </note>
1075
1157
  #
@@ -1086,12 +1168,13 @@ module Aws::STS
1086
1168
  #
1087
1169
  # You must pass an inline or managed [session policy][1] to this
1088
1170
  # operation. You can pass a single JSON policy document to use as an
1089
- # inline session policy. You can also specify up to 10 managed
1090
- # policies to use as managed session policies. The plain text that you
1091
- # use for both inline and managed session policies can't exceed 2,048
1092
- # characters. You can provide up to 10 managed policy ARNs. For more
1093
- # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
1094
- # Service Namespaces][2] in the AWS General Reference.
1171
+ # inline session policy. You can also specify up to 10 managed policy
1172
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
1173
+ # plaintext that you use for both inline and managed session policies
1174
+ # can't exceed 2,048 characters. You can provide up to 10 managed
1175
+ # policy ARNs. For more information about ARNs, see [Amazon Resource
1176
+ # Names (ARNs) and Amazon Web Services Service Namespaces][2] in the
1177
+ # Amazon Web Services General Reference.
1095
1178
  #
1096
1179
  # This parameter is optional. However, if you do not pass any session
1097
1180
  # policies, then the resulting federated user session has no
@@ -1112,12 +1195,13 @@ module Aws::STS
1112
1195
  # are granted in addition to the permissions that are granted by the
1113
1196
  # session policies.
1114
1197
  #
1115
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1116
- # tags into a packed binary format that has a separate limit. Your
1117
- # request can fail for this limit even if your plain text meets the
1118
- # other requirements. The `PackedPolicySize` response element
1119
- # indicates by percentage how close the policies and tags for your
1120
- # request are to the upper size limit.
1198
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
1199
+ # session policy, managed policy ARNs, and session tags into a packed
1200
+ # binary format that has a separate limit. Your request can fail for
1201
+ # this limit even if your plaintext meets the other requirements. The
1202
+ # `PackedPolicySize` response element indicates by percentage how
1203
+ # close the policies and tags for your request are to the upper size
1204
+ # limit.
1121
1205
  #
1122
1206
  # </note>
1123
1207
  #
@@ -1131,10 +1215,10 @@ module Aws::STS
1131
1215
  # The duration, in seconds, that the session should last. Acceptable
1132
1216
  # durations for federation sessions range from 900 seconds (15
1133
1217
  # minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
1134
- # hours) as the default. Sessions obtained using AWS account root user
1135
- # credentials are restricted to a maximum of 3,600 seconds (one hour).
1136
- # If the specified duration is longer than one hour, the session
1137
- # obtained by using root user credentials defaults to one hour.
1218
+ # hours) as the default. Sessions obtained using root user credentials
1219
+ # are restricted to a maximum of 3,600 seconds (one hour). If the
1220
+ # specified duration is longer than one hour, the session obtained by
1221
+ # using root user credentials defaults to one hour.
1138
1222
  # @return [Integer]
1139
1223
  #
1140
1224
  # @!attribute [rw] tags
@@ -1143,16 +1227,17 @@ module Aws::STS
1143
1227
  # [Passing Session Tags in STS][1] in the *IAM User Guide*.
1144
1228
  #
1145
1229
  # This parameter is optional. You can pass up to 50 session tags. The
1146
- # plain text session tag keys can’t exceed 128 characters and the
1230
+ # plaintext session tag keys can’t exceed 128 characters and the
1147
1231
  # values can’t exceed 256 characters. For these and additional limits,
1148
1232
  # see [IAM and STS Character Limits][2] in the *IAM User Guide*.
1149
1233
  #
1150
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1151
- # tags into a packed binary format that has a separate limit. Your
1152
- # request can fail for this limit even if your plain text meets the
1153
- # other requirements. The `PackedPolicySize` response element
1154
- # indicates by percentage how close the policies and tags for your
1155
- # request are to the upper size limit.
1234
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
1235
+ # session policy, managed policy ARNs, and session tags into a packed
1236
+ # binary format that has a separate limit. Your request can fail for
1237
+ # this limit even if your plaintext meets the other requirements. The
1238
+ # `PackedPolicySize` response element indicates by percentage how
1239
+ # close the policies and tags for your request are to the upper size
1240
+ # limit.
1156
1241
  #
1157
1242
  # </note>
1158
1243
  #
@@ -1182,12 +1267,13 @@ module Aws::STS
1182
1267
  :policy_arns,
1183
1268
  :duration_seconds,
1184
1269
  :tags)
1270
+ SENSITIVE = []
1185
1271
  include Aws::Structure
1186
1272
  end
1187
1273
 
1188
1274
  # Contains the response to a successful GetFederationToken request,
1189
- # including temporary AWS credentials that can be used to make AWS
1190
- # requests.
1275
+ # including temporary Amazon Web Services credentials that can be used
1276
+ # to make Amazon Web Services requests.
1191
1277
  #
1192
1278
  # @!attribute [rw] credentials
1193
1279
  # The temporary security credentials, which include an access key ID,
@@ -1220,26 +1306,18 @@ module Aws::STS
1220
1306
  :credentials,
1221
1307
  :federated_user,
1222
1308
  :packed_policy_size)
1309
+ SENSITIVE = []
1223
1310
  include Aws::Structure
1224
1311
  end
1225
1312
 
1226
- # @note When making an API call, you may pass GetSessionTokenRequest
1227
- # data as a hash:
1228
- #
1229
- # {
1230
- # duration_seconds: 1,
1231
- # serial_number: "serialNumberType",
1232
- # token_code: "tokenCodeType",
1233
- # }
1234
- #
1235
1313
  # @!attribute [rw] duration_seconds
1236
1314
  # The duration, in seconds, that the credentials should remain valid.
1237
1315
  # Acceptable durations for IAM user sessions range from 900 seconds
1238
1316
  # (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
1239
- # hours) as the default. Sessions for AWS account owners are
1240
- # restricted to a maximum of 3,600 seconds (one hour). If the duration
1241
- # is longer than one hour, the session for AWS account owners defaults
1242
- # to one hour.
1317
+ # hours) as the default. Sessions for Amazon Web Services account
1318
+ # owners are restricted to a maximum of 3,600 seconds (one hour). If
1319
+ # the duration is longer than one hour, the session for Amazon Web
1320
+ # Services account owners defaults to one hour.
1243
1321
  # @return [Integer]
1244
1322
  #
1245
1323
  # @!attribute [rw] serial_number
@@ -1249,8 +1327,8 @@ module Aws::STS
1249
1327
  # The value is either the serial number for a hardware device (such as
1250
1328
  # `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual
1251
1329
  # device (such as `arn:aws:iam::123456789012:mfa/user`). You can find
1252
- # the device for an IAM user by going to the AWS Management Console
1253
- # and viewing the user's security credentials.
1330
+ # the device for an IAM user by going to the Amazon Web Services
1331
+ # Management Console and viewing the user's security credentials.
1254
1332
  #
1255
1333
  # The regex used to validate this parameter is a string of characters
1256
1334
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -1276,12 +1354,13 @@ module Aws::STS
1276
1354
  :duration_seconds,
1277
1355
  :serial_number,
1278
1356
  :token_code)
1357
+ SENSITIVE = []
1279
1358
  include Aws::Structure
1280
1359
  end
1281
1360
 
1282
1361
  # Contains the response to a successful GetSessionToken request,
1283
- # including temporary AWS credentials that can be used to make AWS
1284
- # requests.
1362
+ # including temporary Amazon Web Services credentials that can be used
1363
+ # to make Amazon Web Services requests.
1285
1364
  #
1286
1365
  # @!attribute [rw] credentials
1287
1366
  # The temporary security credentials, which include an access key ID,
@@ -1298,6 +1377,7 @@ module Aws::STS
1298
1377
  #
1299
1378
  class GetSessionTokenResponse < Struct.new(
1300
1379
  :credentials)
1380
+ SENSITIVE = []
1301
1381
  include Aws::Structure
1302
1382
  end
1303
1383
 
@@ -1315,6 +1395,7 @@ module Aws::STS
1315
1395
  #
1316
1396
  class IDPCommunicationErrorException < Struct.new(
1317
1397
  :message)
1398
+ SENSITIVE = []
1318
1399
  include Aws::Structure
1319
1400
  end
1320
1401
 
@@ -1332,6 +1413,7 @@ module Aws::STS
1332
1413
  #
1333
1414
  class IDPRejectedClaimException < Struct.new(
1334
1415
  :message)
1416
+ SENSITIVE = []
1335
1417
  include Aws::Structure
1336
1418
  end
1337
1419
 
@@ -1346,12 +1428,13 @@ module Aws::STS
1346
1428
  #
1347
1429
  class InvalidAuthorizationMessageException < Struct.new(
1348
1430
  :message)
1431
+ SENSITIVE = []
1349
1432
  include Aws::Structure
1350
1433
  end
1351
1434
 
1352
- # The web identity token that was passed could not be validated by AWS.
1353
- # Get a new identity token from the identity provider and then retry the
1354
- # request.
1435
+ # The web identity token that was passed could not be validated by
1436
+ # Amazon Web Services. Get a new identity token from the identity
1437
+ # provider and then retry the request.
1355
1438
  #
1356
1439
  # @!attribute [rw] message
1357
1440
  # @return [String]
@@ -1360,6 +1443,7 @@ module Aws::STS
1360
1443
  #
1361
1444
  class InvalidIdentityTokenException < Struct.new(
1362
1445
  :message)
1446
+ SENSITIVE = []
1363
1447
  include Aws::Structure
1364
1448
  end
1365
1449
 
@@ -1373,16 +1457,18 @@ module Aws::STS
1373
1457
  #
1374
1458
  class MalformedPolicyDocumentException < Struct.new(
1375
1459
  :message)
1460
+ SENSITIVE = []
1376
1461
  include Aws::Structure
1377
1462
  end
1378
1463
 
1379
1464
  # The request was rejected because the total packed size of the session
1380
- # policies and session tags combined was too large. An AWS conversion
1381
- # compresses the session policy document, session policy ARNs, and
1382
- # session tags into a packed binary format that has a separate limit.
1383
- # The error message indicates by percentage how close the policies and
1384
- # tags are to the upper size limit. For more information, see [Passing
1385
- # Session Tags in STS][1] in the *IAM User Guide*.
1465
+ # policies and session tags combined was too large. An Amazon Web
1466
+ # Services conversion compresses the session policy document, session
1467
+ # policy ARNs, and session tags into a packed binary format that has a
1468
+ # separate limit. The error message indicates by percentage how close
1469
+ # the policies and tags are to the upper size limit. For more
1470
+ # information, see [Passing Session Tags in STS][1] in the *IAM User
1471
+ # Guide*.
1386
1472
  #
1387
1473
  # You could receive this error even though you meet other defined
1388
1474
  # session policy and session tag limits. For more information, see [IAM
@@ -1391,7 +1477,7 @@ module Aws::STS
1391
1477
  #
1392
1478
  #
1393
1479
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1394
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html
1480
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length
1395
1481
  #
1396
1482
  # @!attribute [rw] message
1397
1483
  # @return [String]
@@ -1400,24 +1486,18 @@ module Aws::STS
1400
1486
  #
1401
1487
  class PackedPolicyTooLargeException < Struct.new(
1402
1488
  :message)
1489
+ SENSITIVE = []
1403
1490
  include Aws::Structure
1404
1491
  end
1405
1492
 
1406
1493
  # A reference to the IAM managed policy that is passed as a session
1407
1494
  # policy for a role session or a federated user session.
1408
1495
  #
1409
- # @note When making an API call, you may pass PolicyDescriptorType
1410
- # data as a hash:
1411
- #
1412
- # {
1413
- # arn: "arnType",
1414
- # }
1415
- #
1416
1496
  # @!attribute [rw] arn
1417
1497
  # The Amazon Resource Name (ARN) of the IAM managed policy to use as a
1418
1498
  # session policy for the role. For more information about ARNs, see
1419
- # [Amazon Resource Names (ARNs) and AWS Service Namespaces][1] in the
1420
- # *AWS General Reference*.
1499
+ # [Amazon Resource Names (ARNs) and Amazon Web Services Service
1500
+ # Namespaces][1] in the *Amazon Web Services General Reference*.
1421
1501
  #
1422
1502
  #
1423
1503
  #
@@ -1428,14 +1508,39 @@ module Aws::STS
1428
1508
  #
1429
1509
  class PolicyDescriptorType < Struct.new(
1430
1510
  :arn)
1511
+ SENSITIVE = []
1512
+ include Aws::Structure
1513
+ end
1514
+
1515
+ # Contains information about the provided context. This includes the
1516
+ # signed and encrypted trusted context assertion and the context
1517
+ # provider ARN from which the trusted context assertion was generated.
1518
+ #
1519
+ # @!attribute [rw] provider_arn
1520
+ # The context provider ARN from which the trusted context assertion
1521
+ # was generated.
1522
+ # @return [String]
1523
+ #
1524
+ # @!attribute [rw] context_assertion
1525
+ # The signed and encrypted trusted context assertion generated by the
1526
+ # context provider. The trusted context assertion is signed and
1527
+ # encrypted by Amazon Web Services STS.
1528
+ # @return [String]
1529
+ #
1530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/ProvidedContext AWS API Documentation
1531
+ #
1532
+ class ProvidedContext < Struct.new(
1533
+ :provider_arn,
1534
+ :context_assertion)
1535
+ SENSITIVE = []
1431
1536
  include Aws::Structure
1432
1537
  end
1433
1538
 
1434
1539
  # STS is not activated in the requested region for the account that is
1435
1540
  # being asked to generate credentials. The account administrator must
1436
1541
  # use the IAM console to activate STS in that region. For more
1437
- # information, see [Activating and Deactivating AWS STS in an AWS
1438
- # Region][1] in the *IAM User Guide*.
1542
+ # information, see [Activating and Deactivating Amazon Web Services STS
1543
+ # in an Amazon Web Services Region][1] in the *IAM User Guide*.
1439
1544
  #
1440
1545
  #
1441
1546
  #
@@ -1448,26 +1553,20 @@ module Aws::STS
1448
1553
  #
1449
1554
  class RegionDisabledException < Struct.new(
1450
1555
  :message)
1556
+ SENSITIVE = []
1451
1557
  include Aws::Structure
1452
1558
  end
1453
1559
 
1454
1560
  # You can pass custom key-value pair attributes when you assume a role
1455
1561
  # or federate a user. These are called session tags. You can then use
1456
1562
  # the session tags to control access to resources. For more information,
1457
- # see [Tagging AWS STS Sessions][1] in the *IAM User Guide*.
1563
+ # see [Tagging Amazon Web Services STS Sessions][1] in the *IAM User
1564
+ # Guide*.
1458
1565
  #
1459
1566
  #
1460
1567
  #
1461
1568
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1462
1569
  #
1463
- # @note When making an API call, you may pass Tag
1464
- # data as a hash:
1465
- #
1466
- # {
1467
- # key: "tagKeyType", # required
1468
- # value: "tagValueType", # required
1469
- # }
1470
- #
1471
1570
  # @!attribute [rw] key
1472
1571
  # The key for a session tag.
1473
1572
  #
@@ -1497,6 +1596,7 @@ module Aws::STS
1497
1596
  class Tag < Struct.new(
1498
1597
  :key,
1499
1598
  :value)
1599
+ SENSITIVE = []
1500
1600
  include Aws::Structure
1501
1601
  end
1502
1602