aws-sdk-core 3.152.0 → 3.234.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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +942 -1
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +5 -6
  5. data/lib/aws-defaults.rb +4 -1
  6. data/lib/aws-sdk-core/arn.rb +14 -3
  7. data/lib/aws-sdk-core/assume_role_credentials.rb +21 -13
  8. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +16 -9
  9. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  10. data/lib/aws-sdk-core/binary/encode_handler.rb +13 -2
  11. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  12. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  13. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  14. data/lib/aws-sdk-core/cbor/decoder.rb +308 -0
  15. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  16. data/lib/aws-sdk-core/cbor.rb +53 -0
  17. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  18. data/lib/aws-sdk-core/client_stubs.rb +33 -55
  19. data/lib/aws-sdk-core/credential_provider.rb +8 -1
  20. data/lib/aws-sdk-core/credential_provider_chain.rb +81 -29
  21. data/lib/aws-sdk-core/credentials.rb +19 -6
  22. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  23. data/lib/aws-sdk-core/ecs_credentials.rb +186 -60
  24. data/lib/aws-sdk-core/endpoints/condition.rb +41 -0
  25. data/lib/aws-sdk-core/endpoints/endpoint.rb +19 -0
  26. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +75 -0
  27. data/lib/aws-sdk-core/endpoints/error_rule.rb +42 -0
  28. data/lib/aws-sdk-core/endpoints/function.rb +80 -0
  29. data/lib/aws-sdk-core/endpoints/matchers.rb +129 -0
  30. data/lib/aws-sdk-core/endpoints/reference.rb +31 -0
  31. data/lib/aws-sdk-core/endpoints/rule.rb +25 -0
  32. data/lib/aws-sdk-core/endpoints/rule_set.rb +52 -0
  33. data/lib/aws-sdk-core/endpoints/rules_provider.rb +37 -0
  34. data/lib/aws-sdk-core/endpoints/templater.rb +58 -0
  35. data/lib/aws-sdk-core/endpoints/tree_rule.rb +45 -0
  36. data/lib/aws-sdk-core/endpoints/url.rb +60 -0
  37. data/lib/aws-sdk-core/endpoints.rb +158 -0
  38. data/lib/aws-sdk-core/error_handler.rb +46 -0
  39. data/lib/aws-sdk-core/errors.rb +14 -5
  40. data/lib/aws-sdk-core/event_emitter.rb +1 -17
  41. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  42. data/lib/aws-sdk-core/instance_profile_credentials.rb +168 -155
  43. data/lib/aws-sdk-core/json/builder.rb +8 -1
  44. data/lib/aws-sdk-core/json/error_handler.rb +46 -11
  45. data/lib/aws-sdk-core/json/handler.rb +13 -6
  46. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  47. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  48. data/lib/aws-sdk-core/json/parser.rb +33 -3
  49. data/lib/aws-sdk-core/json.rb +43 -14
  50. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  51. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  52. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  53. data/lib/aws-sdk-core/log.rb +10 -0
  54. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  55. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  56. data/lib/aws-sdk-core/param_validator.rb +9 -4
  57. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  58. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +348 -169
  59. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
  60. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  61. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +84 -38
  62. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +6 -2
  63. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  64. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  65. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  66. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  67. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  68. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  69. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  70. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  71. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  72. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  73. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  74. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  75. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +164 -34
  76. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  77. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +2 -1
  78. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  79. data/lib/aws-sdk-core/plugins/sign.rb +222 -0
  80. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -0
  81. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -0
  82. data/lib/aws-sdk-core/plugins/stub_responses.rb +59 -9
  83. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  84. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  85. data/lib/aws-sdk-core/plugins/user_agent.rb +192 -14
  86. data/lib/aws-sdk-core/plugins.rb +39 -0
  87. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  88. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  89. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  90. data/lib/aws-sdk-core/query/handler.rb +4 -4
  91. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  92. data/lib/aws-sdk-core/query.rb +2 -1
  93. data/lib/aws-sdk-core/refreshing_credentials.rb +20 -23
  94. data/lib/aws-sdk-core/resources.rb +8 -0
  95. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  96. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  97. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  98. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  99. data/lib/aws-sdk-core/rest/request/headers.rb +14 -10
  100. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  101. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  102. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  103. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  104. data/lib/aws-sdk-core/rest.rb +1 -0
  105. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  106. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  107. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  108. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
  109. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  110. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  111. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  112. data/lib/aws-sdk-core/shared_config.rb +160 -36
  113. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  114. data/lib/aws-sdk-core/sso_credentials.rb +84 -46
  115. data/lib/aws-sdk-core/sso_token_provider.rb +3 -2
  116. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  117. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  118. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  119. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  120. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  121. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  122. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  123. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  124. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  125. data/lib/aws-sdk-core/stubbing.rb +22 -0
  126. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  127. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  128. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  129. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  130. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  131. data/lib/aws-sdk-core/telemetry.rb +78 -0
  132. data/lib/aws-sdk-core/token.rb +3 -3
  133. data/lib/aws-sdk-core/token_provider.rb +4 -0
  134. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  135. data/lib/aws-sdk-core/util.rb +41 -1
  136. data/lib/aws-sdk-core/waiters/poller.rb +12 -5
  137. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  138. data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
  139. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  140. data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +2 -0
  141. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  142. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  143. data/lib/aws-sdk-core.rb +82 -103
  144. data/lib/aws-sdk-sso/client.rb +219 -89
  145. data/lib/aws-sdk-sso/client_api.rb +7 -0
  146. data/lib/aws-sdk-sso/endpoint_parameters.rb +69 -0
  147. data/lib/aws-sdk-sso/endpoint_provider.rb +53 -0
  148. data/lib/aws-sdk-sso/endpoints.rb +20 -0
  149. data/lib/aws-sdk-sso/plugins/endpoints.rb +77 -0
  150. data/lib/aws-sdk-sso/types.rb +1 -35
  151. data/lib/aws-sdk-sso.rb +15 -7
  152. data/lib/aws-sdk-ssooidc/client.rb +650 -118
  153. data/lib/aws-sdk-ssooidc/client_api.rb +94 -1
  154. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +69 -0
  155. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +53 -0
  156. data/lib/aws-sdk-ssooidc/endpoints.rb +20 -0
  157. data/lib/aws-sdk-ssooidc/errors.rb +62 -0
  158. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +77 -0
  159. data/lib/aws-sdk-ssooidc/types.rb +437 -67
  160. data/lib/aws-sdk-ssooidc.rb +15 -7
  161. data/lib/aws-sdk-sts/client.rb +670 -368
  162. data/lib/aws-sdk-sts/client_api.rb +48 -9
  163. data/lib/aws-sdk-sts/customizations.rb +5 -2
  164. data/lib/aws-sdk-sts/endpoint_parameters.rb +79 -0
  165. data/lib/aws-sdk-sts/endpoint_provider.rb +107 -0
  166. data/lib/aws-sdk-sts/endpoints.rb +20 -0
  167. data/lib/aws-sdk-sts/errors.rb +15 -0
  168. data/lib/aws-sdk-sts/plugins/endpoints.rb +77 -0
  169. data/lib/aws-sdk-sts/presigner.rb +12 -18
  170. data/lib/aws-sdk-sts/types.rb +296 -222
  171. data/lib/aws-sdk-sts.rb +15 -7
  172. data/lib/seahorse/client/async_base.rb +4 -6
  173. data/lib/seahorse/client/async_response.rb +19 -0
  174. data/lib/seahorse/client/base.rb +18 -21
  175. data/lib/seahorse/client/configuration.rb +1 -5
  176. data/lib/seahorse/client/h2/connection.rb +27 -36
  177. data/lib/seahorse/client/h2/handler.rb +14 -3
  178. data/lib/seahorse/client/handler.rb +1 -1
  179. data/lib/seahorse/client/http/response.rb +1 -1
  180. data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
  181. data/lib/seahorse/client/net_http/handler.rb +21 -9
  182. data/lib/seahorse/client/net_http/patches.rb +1 -4
  183. data/lib/seahorse/client/networking_error.rb +1 -1
  184. data/lib/seahorse/client/plugin.rb +9 -0
  185. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  186. data/lib/seahorse/client/plugins/h2.rb +4 -4
  187. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  188. data/lib/seahorse/client/plugins/request_callback.rb +40 -9
  189. data/lib/seahorse/client/request_context.rb +9 -2
  190. data/lib/seahorse/client/response.rb +8 -0
  191. data/lib/seahorse/model/operation.rb +3 -0
  192. data/lib/seahorse/model/shapes.rb +2 -2
  193. data/lib/seahorse/util.rb +6 -1
  194. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  195. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  196. data/sig/aws-sdk-core/errors.rbs +22 -0
  197. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  198. data/sig/aws-sdk-core/structure.rbs +4 -0
  199. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  200. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  201. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  202. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  203. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  204. data/sig/aws-sdk-core.rbs +7 -0
  205. data/sig/seahorse/client/async_base.rbs +18 -0
  206. data/sig/seahorse/client/base.rbs +25 -0
  207. data/sig/seahorse/client/handler_builder.rbs +16 -0
  208. data/sig/seahorse/client/response.rbs +61 -0
  209. metadata +133 -23
  210. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  211. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  212. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  213. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -10,32 +10,6 @@
10
10
  module Aws::STS
11
11
  module Types
12
12
 
13
- # @note When making an API call, you may pass AssumeRoleRequest
14
- # data as a hash:
15
- #
16
- # {
17
- # role_arn: "arnType", # required
18
- # role_session_name: "roleSessionNameType", # required
19
- # policy_arns: [
20
- # {
21
- # arn: "arnType",
22
- # },
23
- # ],
24
- # policy: "sessionPolicyDocumentType",
25
- # duration_seconds: 1,
26
- # tags: [
27
- # {
28
- # key: "tagKeyType", # required
29
- # value: "tagValueType", # required
30
- # },
31
- # ],
32
- # transitive_tag_keys: ["tagKeyType"],
33
- # external_id: "externalIdType",
34
- # serial_number: "serialNumberType",
35
- # token_code: "tokenCodeType",
36
- # source_identity: "sourceIdentityType",
37
- # }
38
- #
39
13
  # @!attribute [rw] role_arn
40
14
  # The Amazon Resource Name (ARN) of the role to assume.
41
15
  # @return [String]
@@ -52,10 +26,21 @@ module Aws::STS
52
26
  # that use the temporary security credentials will expose the role
53
27
  # session name to the external account in their CloudTrail logs.
54
28
  #
29
+ # For security purposes, administrators can view this field in
30
+ # [CloudTrail logs][1] to help identify who performed an action in
31
+ # Amazon Web Services. Your administrator might require that you
32
+ # specify your user name as the session name when you assume the role.
33
+ # For more information, see [ `sts:RoleSessionName` ][2].
34
+ #
55
35
  # The regex used to validate this parameter is a string of characters
56
36
  # consisting of upper- and lower-case alphanumeric characters with no
57
37
  # spaces. You can also include underscores or any of the following
58
38
  # characters: =,.@-
39
+ #
40
+ #
41
+ #
42
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html#cloudtrail-integration_signin-tempcreds
43
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_rolesessionname
59
44
  # @return [String]
60
45
  #
61
46
  # @!attribute [rw] policy_arns
@@ -70,12 +55,13 @@ module Aws::STS
70
55
  # Web Services Service Namespaces][1] in the Amazon Web Services
71
56
  # General Reference.
72
57
  #
73
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
74
- # policies and session tags into a packed binary format that has a
75
- # separate limit. Your request can fail for this limit even if your
76
- # plaintext meets the other requirements. The `PackedPolicySize`
77
- # response element indicates by percentage how close the policies and
78
- # tags for your request are to the upper size limit.
58
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
59
+ # session policy, managed policy ARNs, and session tags into a packed
60
+ # binary format that has a separate limit. Your request can fail for
61
+ # this limit even if your plaintext meets the other requirements. The
62
+ # `PackedPolicySize` response element indicates by percentage how
63
+ # close the policies and tags for your request are to the upper size
64
+ # limit.
79
65
  #
80
66
  # </note>
81
67
  #
@@ -116,15 +102,19 @@ module Aws::STS
116
102
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
117
103
  # (\\u000D) characters.
118
104
  #
119
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
120
- # policies and session tags into a packed binary format that has a
121
- # separate limit. Your request can fail for this limit even if your
122
- # plaintext meets the other requirements. The `PackedPolicySize`
123
- # response element indicates by percentage how close the policies and
124
- # tags for your request are to the upper size limit.
105
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
106
+ # session policy, managed policy ARNs, and session tags into a packed
107
+ # binary format that has a separate limit. Your request can fail for
108
+ # this limit even if your plaintext meets the other requirements. The
109
+ # `PackedPolicySize` response element indicates by percentage how
110
+ # close the policies and tags for your request are to the upper size
111
+ # limit.
125
112
  #
126
113
  # </note>
127
114
  #
115
+ # For more information about role session permissions, see [Session
116
+ # policies][1].
117
+ #
128
118
  #
129
119
  #
130
120
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
@@ -149,8 +139,7 @@ module Aws::STS
149
139
  # However, if you assume a role using role chaining and provide a
150
140
  # `DurationSeconds` parameter value greater than one hour, the
151
141
  # operation fails. To learn how to view the maximum value for your
152
- # role, see [View the Maximum Session Duration Setting for a Role][1]
153
- # in the *IAM User Guide*.
142
+ # role, see [Update the maximum session duration for a role][1].
154
143
  #
155
144
  # By default, the value is set to `3600` seconds.
156
145
  #
@@ -166,7 +155,7 @@ module Aws::STS
166
155
  #
167
156
  #
168
157
  #
169
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
158
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-settings.html#id_roles_update-session-duration
170
159
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
171
160
  # @return [Integer]
172
161
  #
@@ -181,12 +170,13 @@ module Aws::STS
181
170
  # values can’t exceed 256 characters. For these and additional limits,
182
171
  # see [IAM and STS Character Limits][2] in the *IAM User Guide*.
183
172
  #
184
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
185
- # policies and session tags into a packed binary format that has a
186
- # separate limit. Your request can fail for this limit even if your
187
- # plaintext meets the other requirements. The `PackedPolicySize`
188
- # response element indicates by percentage how close the policies and
189
- # tags for your request are to the upper size limit.
173
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
174
+ # session policy, managed policy ARNs, and session tags into a packed
175
+ # binary format that has a separate limit. Your request can fail for
176
+ # this limit even if your plaintext meets the other requirements. The
177
+ # `PackedPolicySize` response element indicates by percentage how
178
+ # close the policies and tags for your request are to the upper size
179
+ # limit.
190
180
  #
191
181
  # </note>
192
182
  #
@@ -222,9 +212,8 @@ module Aws::STS
222
212
  # passes to subsequent sessions in a role chain. For more information,
223
213
  # see [Chaining Roles with Session Tags][1] in the *IAM User Guide*.
224
214
  #
225
- # This parameter is optional. When you set session tags as transitive,
226
- # the session policy and session tags packed binary limit is not
227
- # affected.
215
+ # This parameter is optional. The transitive status of a session tag
216
+ # does not impact its packed binary size.
228
217
  #
229
218
  # If you choose not to specify a transitive tag key, then no tags are
230
219
  # passed from this session to any subsequent sessions.
@@ -286,30 +275,46 @@ module Aws::STS
286
275
  #
287
276
  # @!attribute [rw] source_identity
288
277
  # The source identity specified by the principal that is calling the
289
- # `AssumeRole` operation.
278
+ # `AssumeRole` operation. The source identity value persists across
279
+ # [chained role][1] sessions.
290
280
  #
291
281
  # You can require users to specify a source identity when they assume
292
- # a role. You do this by using the `sts:SourceIdentity` condition key
293
- # in a role trust policy. You can use source identity information in
294
- # CloudTrail logs to determine who took actions with a role. You can
295
- # use the `aws:SourceIdentity` condition key to further control access
296
- # to Amazon Web Services resources based on the value of source
297
- # identity. For more information about using source identity, see
298
- # [Monitor and control actions taken with assumed roles][1] in the
299
- # *IAM User Guide*.
282
+ # a role. You do this by using the [ `sts:SourceIdentity` ][2]
283
+ # condition key in a role trust policy. You can use source identity
284
+ # information in CloudTrail logs to determine who took actions with a
285
+ # role. You can use the `aws:SourceIdentity` condition key to further
286
+ # control access to Amazon Web Services resources based on the value
287
+ # of source identity. For more information about using source
288
+ # identity, see [Monitor and control actions taken with assumed
289
+ # roles][3] in the *IAM User Guide*.
300
290
  #
301
291
  # The regex used to validate this parameter is a string of characters
302
292
  # consisting of upper- and lower-case alphanumeric characters with no
303
293
  # spaces. You can also include underscores or any of the following
304
- # characters: =,.@-. You cannot use a value that begins with the text
294
+ # characters: +=,.@-. You cannot use a value that begins with the text
305
295
  # `aws:`. This prefix is reserved for Amazon Web Services internal
306
296
  # use.
307
297
  #
308
298
  #
309
299
  #
310
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
300
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-role-chaining
301
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceidentity
302
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
311
303
  # @return [String]
312
304
  #
305
+ # @!attribute [rw] provided_contexts
306
+ # A list of previously acquired trusted context assertions in the
307
+ # format of a JSON array. The trusted context assertion is signed and
308
+ # encrypted by Amazon Web Services STS.
309
+ #
310
+ # The following is an example of a `ProvidedContext` value that
311
+ # includes a single trusted context assertion and the ARN of the
312
+ # context provider from which the trusted context assertion was
313
+ # generated.
314
+ #
315
+ # `[{"ProviderArn":"arn:aws:iam::aws:contextProvider/IdentityCenter","ContextAssertion":"trusted-context-assertion"}]`
316
+ # @return [Array<Types::ProvidedContext>]
317
+ #
313
318
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest AWS API Documentation
314
319
  #
315
320
  class AssumeRoleRequest < Struct.new(
@@ -323,7 +328,8 @@ module Aws::STS
323
328
  :external_id,
324
329
  :serial_number,
325
330
  :token_code,
326
- :source_identity)
331
+ :source_identity,
332
+ :provided_contexts)
327
333
  SENSITIVE = []
328
334
  include Aws::Structure
329
335
  end
@@ -394,22 +400,6 @@ module Aws::STS
394
400
  include Aws::Structure
395
401
  end
396
402
 
397
- # @note When making an API call, you may pass AssumeRoleWithSAMLRequest
398
- # data as a hash:
399
- #
400
- # {
401
- # role_arn: "arnType", # required
402
- # principal_arn: "arnType", # required
403
- # saml_assertion: "SAMLAssertionType", # required
404
- # policy_arns: [
405
- # {
406
- # arn: "arnType",
407
- # },
408
- # ],
409
- # policy: "sessionPolicyDocumentType",
410
- # duration_seconds: 1,
411
- # }
412
- #
413
403
  # @!attribute [rw] role_arn
414
404
  # The Amazon Resource Name (ARN) of the role that the caller is
415
405
  # assuming.
@@ -443,12 +433,13 @@ module Aws::STS
443
433
  # Web Services Service Namespaces][1] in the Amazon Web Services
444
434
  # General Reference.
445
435
  #
446
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
447
- # policies and session tags into a packed binary format that has a
448
- # separate limit. Your request can fail for this limit even if your
449
- # plaintext meets the other requirements. The `PackedPolicySize`
450
- # response element indicates by percentage how close the policies and
451
- # tags for your request are to the upper size limit.
436
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
437
+ # session policy, managed policy ARNs, and session tags into a packed
438
+ # binary format that has a separate limit. Your request can fail for
439
+ # this limit even if your plaintext meets the other requirements. The
440
+ # `PackedPolicySize` response element indicates by percentage how
441
+ # close the policies and tags for your request are to the upper size
442
+ # limit.
452
443
  #
453
444
  # </note>
454
445
  #
@@ -489,12 +480,16 @@ module Aws::STS
489
480
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
490
481
  # (\\u000D) characters.
491
482
  #
492
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
493
- # policies and session tags into a packed binary format that has a
494
- # separate limit. Your request can fail for this limit even if your
495
- # plaintext meets the other requirements. The `PackedPolicySize`
496
- # response element indicates by percentage how close the policies and
497
- # tags for your request are to the upper size limit.
483
+ # For more information about role session permissions, see [Session
484
+ # policies][1].
485
+ #
486
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
487
+ # session policy, managed policy ARNs, and session tags into a packed
488
+ # binary format that has a separate limit. Your request can fail for
489
+ # this limit even if your plaintext meets the other requirements. The
490
+ # `PackedPolicySize` response element indicates by percentage how
491
+ # close the policies and tags for your request are to the upper size
492
+ # limit.
498
493
  #
499
494
  # </note>
500
495
  #
@@ -545,7 +540,7 @@ module Aws::STS
545
540
  :policy_arns,
546
541
  :policy,
547
542
  :duration_seconds)
548
- SENSITIVE = []
543
+ SENSITIVE = [:saml_assertion]
549
544
  include Aws::Structure
550
545
  end
551
546
 
@@ -613,7 +608,7 @@ module Aws::STS
613
608
  # in IAM.
614
609
  #
615
610
  # The combination of `NameQualifier` and `Subject` can be used to
616
- # uniquely identify a federated user.
611
+ # uniquely identify a user.
617
612
  #
618
613
  # The following pseudocode shows how the hash value is calculated:
619
614
  #
@@ -623,6 +618,8 @@ module Aws::STS
623
618
  #
624
619
  # @!attribute [rw] source_identity
625
620
  # The value in the `SourceIdentity` attribute in the SAML assertion.
621
+ # The source identity value persists across [chained role][1]
622
+ # sessions.
626
623
  #
627
624
  # You can require users to set a source identity value when they
628
625
  # assume a role. You do this by using the `sts:SourceIdentity`
@@ -630,12 +627,12 @@ module Aws::STS
630
627
  # taken with the role are associated with that user. After the source
631
628
  # identity is set, the value cannot be changed. It is present in the
632
629
  # request for all actions that are taken by the role and persists
633
- # across [chained role][1] sessions. You can configure your SAML
630
+ # across [chained role][2] sessions. You can configure your SAML
634
631
  # identity provider to use an attribute associated with your users,
635
632
  # like user name or email, as the source identity when calling
636
633
  # `AssumeRoleWithSAML`. You do this by adding an attribute to the SAML
637
634
  # assertion. For more information about using source identity, see
638
- # [Monitor and control actions taken with assumed roles][2] in the
635
+ # [Monitor and control actions taken with assumed roles][3] in the
639
636
  # *IAM User Guide*.
640
637
  #
641
638
  # The regex used to validate this parameter is a string of characters
@@ -645,8 +642,9 @@ module Aws::STS
645
642
  #
646
643
  #
647
644
  #
648
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining
649
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
645
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-role-chaining
646
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts
647
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
650
648
  # @return [String]
651
649
  #
652
650
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse AWS API Documentation
@@ -665,26 +663,27 @@ module Aws::STS
665
663
  include Aws::Structure
666
664
  end
667
665
 
668
- # @note When making an API call, you may pass AssumeRoleWithWebIdentityRequest
669
- # data as a hash:
670
- #
671
- # {
672
- # role_arn: "arnType", # required
673
- # role_session_name: "roleSessionNameType", # required
674
- # web_identity_token: "clientTokenType", # required
675
- # provider_id: "urlType",
676
- # policy_arns: [
677
- # {
678
- # arn: "arnType",
679
- # },
680
- # ],
681
- # policy: "sessionPolicyDocumentType",
682
- # duration_seconds: 1,
683
- # }
684
- #
685
666
  # @!attribute [rw] role_arn
686
667
  # The Amazon Resource Name (ARN) of the role that the caller is
687
668
  # assuming.
669
+ #
670
+ # <note markdown="1"> Additional considerations apply to Amazon Cognito identity pools
671
+ # that assume [cross-account IAM roles][1]. The trust policies of
672
+ # these roles must accept the `cognito-identity.amazonaws.com` service
673
+ # principal and must contain the `cognito-identity.amazonaws.com:aud`
674
+ # condition key to restrict role assumption to users from your
675
+ # intended identity pools. A policy that trusts Amazon Cognito
676
+ # identity pools without this condition creates a risk that a user
677
+ # from an unintended identity pool can assume the role. For more
678
+ # information, see [ Trust policies for IAM roles in Basic (Classic)
679
+ # authentication ][2] in the *Amazon Cognito Developer Guide*.
680
+ #
681
+ # </note>
682
+ #
683
+ #
684
+ #
685
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html
686
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#trust-policies
688
687
  # @return [String]
689
688
  #
690
689
  # @!attribute [rw] role_session_name
@@ -695,10 +694,21 @@ module Aws::STS
695
694
  # session name is included as part of the ARN and assumed role ID in
696
695
  # the `AssumedRoleUser` response element.
697
696
  #
697
+ # For security purposes, administrators can view this field in
698
+ # [CloudTrail logs][1] to help identify who performed an action in
699
+ # Amazon Web Services. Your administrator might require that you
700
+ # specify your user name as the session name when you assume the role.
701
+ # For more information, see [ `sts:RoleSessionName` ][2].
702
+ #
698
703
  # The regex used to validate this parameter is a string of characters
699
704
  # consisting of upper- and lower-case alphanumeric characters with no
700
705
  # spaces. You can also include underscores or any of the following
701
706
  # characters: =,.@-
707
+ #
708
+ #
709
+ #
710
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html#cloudtrail-integration_signin-tempcreds
711
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_rolesessionname
702
712
  # @return [String]
703
713
  #
704
714
  # @!attribute [rw] web_identity_token
@@ -706,7 +716,10 @@ module Aws::STS
706
716
  # provided by the identity provider. Your application must get this
707
717
  # token by authenticating the user who is using your application with
708
718
  # a web identity provider before the application makes an
709
- # `AssumeRoleWithWebIdentity` call.
719
+ # `AssumeRoleWithWebIdentity` call. Timestamps in the token must be
720
+ # formatted as either an integer or a long integer. Tokens must be
721
+ # signed using either RSA keys (RS256, RS384, or RS512) or ECDSA keys
722
+ # (ES256, ES384, or ES512).
710
723
  # @return [String]
711
724
  #
712
725
  # @!attribute [rw] provider_id
@@ -733,12 +746,13 @@ module Aws::STS
733
746
  # Web Services Service Namespaces][1] in the Amazon Web Services
734
747
  # General Reference.
735
748
  #
736
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
737
- # policies and session tags into a packed binary format that has a
738
- # separate limit. Your request can fail for this limit even if your
739
- # plaintext meets the other requirements. The `PackedPolicySize`
740
- # response element indicates by percentage how close the policies and
741
- # tags for your request are to the upper size limit.
749
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
750
+ # session policy, managed policy ARNs, and session tags into a packed
751
+ # binary format that has a separate limit. Your request can fail for
752
+ # this limit even if your plaintext meets the other requirements. The
753
+ # `PackedPolicySize` response element indicates by percentage how
754
+ # close the policies and tags for your request are to the upper size
755
+ # limit.
742
756
  #
743
757
  # </note>
744
758
  #
@@ -779,12 +793,16 @@ module Aws::STS
779
793
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
780
794
  # (\\u000D) characters.
781
795
  #
782
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
783
- # policies and session tags into a packed binary format that has a
784
- # separate limit. Your request can fail for this limit even if your
785
- # plaintext meets the other requirements. The `PackedPolicySize`
786
- # response element indicates by percentage how close the policies and
787
- # tags for your request are to the upper size limit.
796
+ # For more information about role session permissions, see [Session
797
+ # policies][1].
798
+ #
799
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
800
+ # session policy, managed policy ARNs, and session tags into a packed
801
+ # binary format that has a separate limit. Your request can fail for
802
+ # this limit even if your plaintext meets the other requirements. The
803
+ # `PackedPolicySize` response element indicates by percentage how
804
+ # close the policies and tags for your request are to the upper size
805
+ # limit.
788
806
  #
789
807
  # </note>
790
808
  #
@@ -832,7 +850,7 @@ module Aws::STS
832
850
  :policy_arns,
833
851
  :policy,
834
852
  :duration_seconds)
835
- SENSITIVE = []
853
+ SENSITIVE = [:web_identity_token]
836
854
  include Aws::Structure
837
855
  end
838
856
 
@@ -918,7 +936,7 @@ module Aws::STS
918
936
  #
919
937
  #
920
938
  #
921
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining
939
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts
922
940
  # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html
923
941
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
924
942
  # @return [String]
@@ -937,6 +955,92 @@ module Aws::STS
937
955
  include Aws::Structure
938
956
  end
939
957
 
958
+ # @!attribute [rw] target_principal
959
+ # The member account principal ARN or account ID.
960
+ # @return [String]
961
+ #
962
+ # @!attribute [rw] task_policy_arn
963
+ # The identity based policy that scopes the session to the privileged
964
+ # tasks that can be performed. You can use one of following Amazon Web
965
+ # Services managed policies to scope root session actions.
966
+ #
967
+ # * [IAMAuditRootUserCredentials][1]
968
+ #
969
+ # * [IAMCreateRootUserPassword][2]
970
+ #
971
+ # * [IAMDeleteRootUserCredentials][3]
972
+ #
973
+ # * [S3UnlockBucketPolicy][4]
974
+ #
975
+ # * [SQSUnlockQueuePolicy][5]
976
+ #
977
+ #
978
+ #
979
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-IAMAuditRootUserCredentials
980
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-IAMCreateRootUserPassword
981
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-IAMDeleteRootUserCredentials
982
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-S3UnlockBucketPolicy
983
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-SQSUnlockQueuePolicy
984
+ # @return [Types::PolicyDescriptorType]
985
+ #
986
+ # @!attribute [rw] duration_seconds
987
+ # The duration, in seconds, of the privileged session. The value can
988
+ # range from 0 seconds up to the maximum session duration of 900
989
+ # seconds (15 minutes). If you specify a value higher than this
990
+ # setting, the operation fails.
991
+ #
992
+ # By default, the value is set to `900` seconds.
993
+ # @return [Integer]
994
+ #
995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRootRequest AWS API Documentation
996
+ #
997
+ class AssumeRootRequest < Struct.new(
998
+ :target_principal,
999
+ :task_policy_arn,
1000
+ :duration_seconds)
1001
+ SENSITIVE = []
1002
+ include Aws::Structure
1003
+ end
1004
+
1005
+ # @!attribute [rw] credentials
1006
+ # The temporary security credentials, which include an access key ID,
1007
+ # a secret access key, and a security token.
1008
+ #
1009
+ # <note markdown="1"> The size of the security token that STS API operations return is not
1010
+ # fixed. We strongly recommend that you make no assumptions about the
1011
+ # maximum size.
1012
+ #
1013
+ # </note>
1014
+ # @return [Types::Credentials]
1015
+ #
1016
+ # @!attribute [rw] source_identity
1017
+ # The source identity specified by the principal that is calling the
1018
+ # `AssumeRoot` operation.
1019
+ #
1020
+ # You can use the `aws:SourceIdentity` condition key to control access
1021
+ # based on the value of source identity. For more information about
1022
+ # using source identity, see [Monitor and control actions taken with
1023
+ # assumed roles][1] in the *IAM User Guide*.
1024
+ #
1025
+ # The regex used to validate this parameter is a string of characters
1026
+ # consisting of upper- and lower-case alphanumeric characters with no
1027
+ # spaces. You can also include underscores or any of the following
1028
+ # characters: =,.@-
1029
+ #
1030
+ #
1031
+ #
1032
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
1033
+ # @return [String]
1034
+ #
1035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRootResponse AWS API Documentation
1036
+ #
1037
+ class AssumeRootResponse < Struct.new(
1038
+ :credentials,
1039
+ :source_identity)
1040
+ SENSITIVE = []
1041
+ include Aws::Structure
1042
+ end
1043
+
940
1044
  # The identifiers for the temporary security credentials that the
941
1045
  # operation returns.
942
1046
  #
@@ -993,17 +1097,10 @@ module Aws::STS
993
1097
  :secret_access_key,
994
1098
  :session_token,
995
1099
  :expiration)
996
- SENSITIVE = []
1100
+ SENSITIVE = [:secret_access_key]
997
1101
  include Aws::Structure
998
1102
  end
999
1103
 
1000
- # @note When making an API call, you may pass DecodeAuthorizationMessageRequest
1001
- # data as a hash:
1002
- #
1003
- # {
1004
- # encoded_message: "encodedMessageType", # required
1005
- # }
1006
- #
1007
1104
  # @!attribute [rw] encoded_message
1008
1105
  # The encoded message that was returned with the response.
1009
1106
  # @return [String]
@@ -1074,13 +1171,6 @@ module Aws::STS
1074
1171
  include Aws::Structure
1075
1172
  end
1076
1173
 
1077
- # @note When making an API call, you may pass GetAccessKeyInfoRequest
1078
- # data as a hash:
1079
- #
1080
- # {
1081
- # access_key_id: "accessKeyIdType", # required
1082
- # }
1083
- #
1084
1174
  # @!attribute [rw] access_key_id
1085
1175
  # The identifier of an access key.
1086
1176
  #
@@ -1149,26 +1239,6 @@ module Aws::STS
1149
1239
  include Aws::Structure
1150
1240
  end
1151
1241
 
1152
- # @note When making an API call, you may pass GetFederationTokenRequest
1153
- # data as a hash:
1154
- #
1155
- # {
1156
- # name: "userNameType", # required
1157
- # policy: "sessionPolicyDocumentType",
1158
- # policy_arns: [
1159
- # {
1160
- # arn: "arnType",
1161
- # },
1162
- # ],
1163
- # duration_seconds: 1,
1164
- # tags: [
1165
- # {
1166
- # key: "tagKeyType", # required
1167
- # value: "tagValueType", # required
1168
- # },
1169
- # ],
1170
- # }
1171
- #
1172
1242
  # @!attribute [rw] name
1173
1243
  # The name of the federated user. The name is used as an identifier
1174
1244
  # for the temporary security credentials (such as `Bob`). For example,
@@ -1187,8 +1257,8 @@ module Aws::STS
1187
1257
  #
1188
1258
  # You must pass an inline or managed [session policy][1] to this
1189
1259
  # operation. You can pass a single JSON policy document to use as an
1190
- # inline session policy. You can also specify up to 10 managed
1191
- # policies to use as managed session policies.
1260
+ # inline session policy. You can also specify up to 10 managed policy
1261
+ # Amazon Resource Names (ARNs) to use as managed session policies.
1192
1262
  #
1193
1263
  # This parameter is optional. However, if you do not pass any session
1194
1264
  # policies, then the resulting federated user session has no
@@ -1216,12 +1286,13 @@ module Aws::STS
1216
1286
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
1217
1287
  # (\\u000D) characters.
1218
1288
  #
1219
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1220
- # policies and session tags into a packed binary format that has a
1221
- # separate limit. Your request can fail for this limit even if your
1222
- # plaintext meets the other requirements. The `PackedPolicySize`
1223
- # response element indicates by percentage how close the policies and
1224
- # tags for your request are to the upper size limit.
1289
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
1290
+ # session policy, managed policy ARNs, and session tags into a packed
1291
+ # binary format that has a separate limit. Your request can fail for
1292
+ # this limit even if your plaintext meets the other requirements. The
1293
+ # `PackedPolicySize` response element indicates by percentage how
1294
+ # close the policies and tags for your request are to the upper size
1295
+ # limit.
1225
1296
  #
1226
1297
  # </note>
1227
1298
  #
@@ -1238,13 +1309,13 @@ module Aws::STS
1238
1309
  #
1239
1310
  # You must pass an inline or managed [session policy][1] to this
1240
1311
  # operation. You can pass a single JSON policy document to use as an
1241
- # inline session policy. You can also specify up to 10 managed
1242
- # policies to use as managed session policies. The plaintext that you
1243
- # use for both inline and managed session policies can't exceed 2,048
1244
- # characters. You can provide up to 10 managed policy ARNs. For more
1245
- # information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
1246
- # Web Services Service Namespaces][2] in the Amazon Web Services
1247
- # General Reference.
1312
+ # inline session policy. You can also specify up to 10 managed policy
1313
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
1314
+ # plaintext that you use for both inline and managed session policies
1315
+ # can't exceed 2,048 characters. You can provide up to 10 managed
1316
+ # policy ARNs. For more information about ARNs, see [Amazon Resource
1317
+ # Names (ARNs) and Amazon Web Services Service Namespaces][2] in the
1318
+ # Amazon Web Services General Reference.
1248
1319
  #
1249
1320
  # This parameter is optional. However, if you do not pass any session
1250
1321
  # policies, then the resulting federated user session has no
@@ -1265,12 +1336,13 @@ module Aws::STS
1265
1336
  # are granted in addition to the permissions that are granted by the
1266
1337
  # session policies.
1267
1338
  #
1268
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1269
- # policies and session tags into a packed binary format that has a
1270
- # separate limit. Your request can fail for this limit even if your
1271
- # plaintext meets the other requirements. The `PackedPolicySize`
1272
- # response element indicates by percentage how close the policies and
1273
- # tags for your request are to the upper size limit.
1339
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
1340
+ # session policy, managed policy ARNs, and session tags into a packed
1341
+ # binary format that has a separate limit. Your request can fail for
1342
+ # this limit even if your plaintext meets the other requirements. The
1343
+ # `PackedPolicySize` response element indicates by percentage how
1344
+ # close the policies and tags for your request are to the upper size
1345
+ # limit.
1274
1346
  #
1275
1347
  # </note>
1276
1348
  #
@@ -1284,11 +1356,10 @@ module Aws::STS
1284
1356
  # The duration, in seconds, that the session should last. Acceptable
1285
1357
  # durations for federation sessions range from 900 seconds (15
1286
1358
  # minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
1287
- # hours) as the default. Sessions obtained using Amazon Web Services
1288
- # account root user credentials are restricted to a maximum of 3,600
1289
- # seconds (one hour). If the specified duration is longer than one
1290
- # hour, the session obtained by using root user credentials defaults
1291
- # to one hour.
1359
+ # hours) as the default. Sessions obtained using root user credentials
1360
+ # are restricted to a maximum of 3,600 seconds (one hour). If the
1361
+ # specified duration is longer than one hour, the session obtained by
1362
+ # using root user credentials defaults to one hour.
1292
1363
  # @return [Integer]
1293
1364
  #
1294
1365
  # @!attribute [rw] tags
@@ -1301,12 +1372,13 @@ module Aws::STS
1301
1372
  # values can’t exceed 256 characters. For these and additional limits,
1302
1373
  # see [IAM and STS Character Limits][2] in the *IAM User Guide*.
1303
1374
  #
1304
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1305
- # policies and session tags into a packed binary format that has a
1306
- # separate limit. Your request can fail for this limit even if your
1307
- # plaintext meets the other requirements. The `PackedPolicySize`
1308
- # response element indicates by percentage how close the policies and
1309
- # tags for your request are to the upper size limit.
1375
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
1376
+ # session policy, managed policy ARNs, and session tags into a packed
1377
+ # binary format that has a separate limit. Your request can fail for
1378
+ # this limit even if your plaintext meets the other requirements. The
1379
+ # `PackedPolicySize` response element indicates by percentage how
1380
+ # close the policies and tags for your request are to the upper size
1381
+ # limit.
1310
1382
  #
1311
1383
  # </note>
1312
1384
  #
@@ -1379,15 +1451,6 @@ module Aws::STS
1379
1451
  include Aws::Structure
1380
1452
  end
1381
1453
 
1382
- # @note When making an API call, you may pass GetSessionTokenRequest
1383
- # data as a hash:
1384
- #
1385
- # {
1386
- # duration_seconds: 1,
1387
- # serial_number: "serialNumberType",
1388
- # token_code: "tokenCodeType",
1389
- # }
1390
- #
1391
1454
  # @!attribute [rw] duration_seconds
1392
1455
  # The duration, in seconds, that the credentials should remain valid.
1393
1456
  # Acceptable durations for IAM user sessions range from 900 seconds
@@ -1497,7 +1560,8 @@ module Aws::STS
1497
1560
 
1498
1561
  # The error returned if the message passed to
1499
1562
  # `DecodeAuthorizationMessage` was invalid. This can happen if the token
1500
- # contains invalid characters, such as linebreaks.
1563
+ # contains invalid characters, such as line breaks, or if the message
1564
+ # has expired.
1501
1565
  #
1502
1566
  # @!attribute [rw] message
1503
1567
  # @return [String]
@@ -1571,13 +1635,6 @@ module Aws::STS
1571
1635
  # A reference to the IAM managed policy that is passed as a session
1572
1636
  # policy for a role session or a federated user session.
1573
1637
  #
1574
- # @note When making an API call, you may pass PolicyDescriptorType
1575
- # data as a hash:
1576
- #
1577
- # {
1578
- # arn: "arnType",
1579
- # }
1580
- #
1581
1638
  # @!attribute [rw] arn
1582
1639
  # The Amazon Resource Name (ARN) of the IAM managed policy to use as a
1583
1640
  # session policy for the role. For more information about ARNs, see
@@ -1597,11 +1654,35 @@ module Aws::STS
1597
1654
  include Aws::Structure
1598
1655
  end
1599
1656
 
1657
+ # Contains information about the provided context. This includes the
1658
+ # signed and encrypted trusted context assertion and the context
1659
+ # provider ARN from which the trusted context assertion was generated.
1660
+ #
1661
+ # @!attribute [rw] provider_arn
1662
+ # The context provider ARN from which the trusted context assertion
1663
+ # was generated.
1664
+ # @return [String]
1665
+ #
1666
+ # @!attribute [rw] context_assertion
1667
+ # The signed and encrypted trusted context assertion generated by the
1668
+ # context provider. The trusted context assertion is signed and
1669
+ # encrypted by Amazon Web Services STS.
1670
+ # @return [String]
1671
+ #
1672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/ProvidedContext AWS API Documentation
1673
+ #
1674
+ class ProvidedContext < Struct.new(
1675
+ :provider_arn,
1676
+ :context_assertion)
1677
+ SENSITIVE = []
1678
+ include Aws::Structure
1679
+ end
1680
+
1600
1681
  # STS is not activated in the requested region for the account that is
1601
1682
  # being asked to generate credentials. The account administrator must
1602
1683
  # use the IAM console to activate STS in that region. For more
1603
- # information, see [Activating and Deactivating Amazon Web Services STS
1604
- # in an Amazon Web Services Region][1] in the *IAM User Guide*.
1684
+ # information, see [Activating and Deactivating STS in an Amazon Web
1685
+ # Services Region][1] in the *IAM User Guide*.
1605
1686
  #
1606
1687
  #
1607
1688
  #
@@ -1628,14 +1709,6 @@ module Aws::STS
1628
1709
  #
1629
1710
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1630
1711
  #
1631
- # @note When making an API call, you may pass Tag
1632
- # data as a hash:
1633
- #
1634
- # {
1635
- # key: "tagKeyType", # required
1636
- # value: "tagValueType", # required
1637
- # }
1638
- #
1639
1712
  # @!attribute [rw] key
1640
1713
  # The key for a session tag.
1641
1714
  #
@@ -1671,3 +1744,4 @@ module Aws::STS
1671
1744
 
1672
1745
  end
1673
1746
  end
1747
+