aws-sdk-core 3.39.0 → 3.54.2

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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/aws-sdk-core/async_client_stubs.rb +80 -0
  4. data/lib/aws-sdk-core/binary/decode_handler.rb +9 -1
  5. data/lib/aws-sdk-core/binary/encode_handler.rb +32 -0
  6. data/lib/aws-sdk-core/binary/event_builder.rb +122 -0
  7. data/lib/aws-sdk-core/binary/event_parser.rb +48 -18
  8. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +5 -2
  9. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +53 -0
  10. data/lib/aws-sdk-core/binary.rb +3 -0
  11. data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +63 -9
  12. data/lib/aws-sdk-core/client_stubs.rb +1 -1
  13. data/lib/aws-sdk-core/ecs_credentials.rb +12 -8
  14. data/lib/aws-sdk-core/errors.rb +38 -2
  15. data/lib/aws-sdk-core/event_emitter.rb +42 -0
  16. data/lib/aws-sdk-core/instance_profile_credentials.rb +12 -8
  17. data/lib/aws-sdk-core/json/error_handler.rb +19 -2
  18. data/lib/aws-sdk-core/json/handler.rb +19 -1
  19. data/lib/aws-sdk-core/log/param_filter.rb +1 -1
  20. data/lib/aws-sdk-core/param_validator.rb +9 -1
  21. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +22 -3
  22. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +5 -1
  23. data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +14 -0
  24. data/lib/aws-sdk-core/plugins/invocation_id.rb +33 -0
  25. data/lib/aws-sdk-core/plugins/retry_errors.rb +2 -0
  26. data/lib/aws-sdk-core/plugins/stub_responses.rb +19 -7
  27. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +53 -0
  28. data/lib/aws-sdk-core/plugins/user_agent.rb +6 -0
  29. data/lib/aws-sdk-core/process_credentials.rb +7 -1
  30. data/lib/aws-sdk-core/query/handler.rb +6 -1
  31. data/lib/aws-sdk-core/refreshing_credentials.rb +1 -1
  32. data/lib/aws-sdk-core/resources/collection.rb +1 -1
  33. data/lib/aws-sdk-core/structure.rb +6 -2
  34. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +19 -0
  35. data/lib/aws-sdk-core/stubbing/stub_data.rb +13 -4
  36. data/lib/aws-sdk-core/waiters/waiter.rb +2 -2
  37. data/lib/aws-sdk-core/xml/error_handler.rb +26 -3
  38. data/lib/aws-sdk-core.rb +1 -0
  39. data/lib/aws-sdk-sts/client.rb +622 -427
  40. data/lib/aws-sdk-sts/client_api.rb +35 -0
  41. data/lib/aws-sdk-sts/errors.rb +128 -0
  42. data/lib/aws-sdk-sts/types.rb +498 -165
  43. data/lib/aws-sdk-sts.rb +1 -1
  44. data/lib/seahorse/client/async_base.rb +50 -0
  45. data/lib/seahorse/client/async_response.rb +62 -0
  46. data/lib/seahorse/client/base.rb +1 -1
  47. data/lib/seahorse/client/configuration.rb +4 -2
  48. data/lib/seahorse/client/events.rb +1 -1
  49. data/lib/seahorse/client/h2/connection.rb +244 -0
  50. data/lib/seahorse/client/h2/handler.rb +151 -0
  51. data/lib/seahorse/client/http/async_response.rb +42 -0
  52. data/lib/seahorse/client/http/response.rb +13 -8
  53. data/lib/seahorse/client/net_http/patches.rb +7 -1
  54. data/lib/seahorse/client/networking_error.rb +28 -0
  55. data/lib/seahorse/client/plugin.rb +1 -1
  56. data/lib/seahorse/client/plugins/content_length.rb +7 -2
  57. data/lib/seahorse/client/plugins/h2.rb +64 -0
  58. data/lib/seahorse/model/api.rb +4 -0
  59. data/lib/seahorse/model/operation.rb +4 -0
  60. data/lib/seahorse/model/shapes.rb +2 -2
  61. data/lib/seahorse.rb +9 -0
  62. metadata +23 -5
@@ -14,6 +14,11 @@ module Aws::STS
14
14
  # {
15
15
  # role_arn: "arnType", # required
16
16
  # role_session_name: "roleSessionNameType", # required
17
+ # policy_arns: [
18
+ # {
19
+ # arn: "arnType",
20
+ # },
21
+ # ],
17
22
  # policy: "sessionPolicyDocumentType",
18
23
  # duration_seconds: 1,
19
24
  # external_id: "externalIdType",
@@ -34,8 +39,8 @@ module Aws::STS
34
39
  # visible to, and can be logged by the account that owns the role. The
35
40
  # role session name is also used in the ARN of the assumed role
36
41
  # principal. This means that subsequent cross-account API requests
37
- # using the temporary security credentials will expose the role
38
- # session name to the external account in their CloudTrail logs.
42
+ # that use the temporary security credentials will expose the role
43
+ # session name to the external account in their AWS CloudTrail logs.
39
44
  #
40
45
  # The regex used to validate this parameter is a string of characters
41
46
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -43,39 +48,75 @@ module Aws::STS
43
48
  # characters: =,.@-
44
49
  # @return [String]
45
50
  #
46
- # @!attribute [rw] policy
47
- # An IAM policy in JSON format.
48
- #
49
- # This parameter is optional. If you pass a policy, the temporary
50
- # security credentials that are returned by the operation have the
51
- # permissions that are allowed by both (the intersection of) the
52
- # access policy of the role that is being assumed, *and* the policy
53
- # that you pass. This gives you a way to further restrict the
54
- # permissions for the resulting temporary security credentials. You
55
- # cannot use the passed policy to grant permissions that are in excess
56
- # of those allowed by the access policy of the role that is being
57
- # assumed. For more information, see [Permissions for AssumeRole,
58
- # AssumeRoleWithSAML, and AssumeRoleWithWebIdentity][1] in the *IAM
59
- # User Guide*.
51
+ # @!attribute [rw] policy_arns
52
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that
53
+ # you want to use as managed session policies. The policies must exist
54
+ # in the same account as the role.
55
+ #
56
+ # This parameter is optional. You can provide up to 10 managed policy
57
+ # ARNs. However, the plain text that you use for both inline and
58
+ # managed session policies shouldn't exceed 2048 characters. For more
59
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
60
+ # Service Namespaces](general/latest/gr/aws-arns-and-namespaces.html)
61
+ # in the AWS General Reference.
62
+ #
63
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
64
+ # session policy guideline. However, an AWS conversion compresses the
65
+ # session policies into a packed binary format that has a separate
66
+ # limit. This is the enforced limit. The `PackedPolicySize` response
67
+ # element indicates by percentage how close the policy is to the upper
68
+ # size limit.
60
69
  #
61
- # The format for this parameter, as described by its regex pattern, is
62
- # a string of characters up to 2048 characters in length. The
70
+ # </note>
71
+ #
72
+ # Passing policies to this operation returns new temporary
73
+ # credentials. The resulting session's permissions are the
74
+ # intersection of the role's identity-based policy and the session
75
+ # policies. You can use the role's temporary credentials in
76
+ # subsequent AWS API calls to access resources in the account that
77
+ # owns the role. You cannot use session policies to grant more
78
+ # permissions than those allowed by the identity-based policy of the
79
+ # role that is being assumed. For more information, see [Session
80
+ # Policies][1] in the *IAM User Guide*.
81
+ #
82
+ #
83
+ #
84
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
85
+ # @return [Array<Types::PolicyDescriptorType>]
86
+ #
87
+ # @!attribute [rw] policy
88
+ # An IAM policy in JSON format that you want to use as an inline
89
+ # session policy.
90
+ #
91
+ # This parameter is optional. Passing policies to this operation
92
+ # returns new temporary credentials. The resulting session's
93
+ # permissions are the intersection of the role's identity-based
94
+ # policy and the session policies. You can use the role's temporary
95
+ # credentials in subsequent AWS API calls to access resources in the
96
+ # account that owns the role. You cannot use session policies to grant
97
+ # more permissions than those allowed by the identity-based policy of
98
+ # the role that is being assumed. For more information, see [Session
99
+ # Policies][1] in the *IAM User Guide*.
100
+ #
101
+ # The plain text that you use for both inline and managed session
102
+ # policies shouldn't exceed 2048 characters. The JSON policy
63
103
  # characters can be any ASCII character from the space character to
64
- # the end of the valid character list (\\u0020-\\u00FF). It can also
65
- # include the tab (\\u0009), linefeed (\\u000A), and carriage return
66
- # (\\u000D) characters.
104
+ # the end of the valid character list (\\u0020 through \\u00FF). It
105
+ # can also include the tab (\\u0009), linefeed (\\u000A), and carriage
106
+ # return (\\u000D) characters.
67
107
  #
68
- # <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
69
- # internal conversion compresses it into a packed binary format with a
70
- # separate limit. The PackedPolicySize response element indicates by
71
- # percentage how close to the upper size limit the policy is, with
72
- # 100% equaling the maximum allowed size.
108
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
109
+ # session policy guideline. However, an AWS conversion compresses the
110
+ # session policies into a packed binary format that has a separate
111
+ # limit. This is the enforced limit. The `PackedPolicySize` response
112
+ # element indicates by percentage how close the policy is to the upper
113
+ # size limit.
73
114
  #
74
115
  # </note>
75
116
  #
76
117
  #
77
118
  #
78
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
119
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
79
120
  # @return [String]
80
121
  #
81
122
  # @!attribute [rw] duration_seconds
@@ -89,7 +130,7 @@ module Aws::STS
89
130
  # value for your role, see [View the Maximum Session Duration Setting
90
131
  # for a Role][1] in the *IAM User Guide*.
91
132
  #
92
- # By default, the value is set to 3600 seconds.
133
+ # By default, the value is set to `3600` seconds.
93
134
  #
94
135
  # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
95
136
  # console session that you might request using the returned
@@ -103,30 +144,32 @@ module Aws::STS
103
144
  #
104
145
  #
105
146
  #
106
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
107
- # [2]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
147
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
148
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
108
149
  # @return [Integer]
109
150
  #
110
151
  # @!attribute [rw] external_id
111
- # A unique identifier that is used by third parties when assuming
112
- # roles in their customers' accounts. For each role that the third
113
- # party can assume, they should instruct their customers to ensure the
114
- # role's trust policy checks for the external ID that the third party
115
- # generated. Each time the third party assumes the role, they should
116
- # pass the customer's external ID. The external ID is useful in order
117
- # to help third parties bind a role to the customer who created it.
118
- # For more information about the external ID, see [How to Use an
119
- # External ID When Granting Access to Your AWS Resources to a Third
152
+ # A unique identifier that might be required when you assume a role in
153
+ # another account. If the administrator of the account to which the
154
+ # role belongs provided you with an external ID, then provide that
155
+ # value in the `ExternalId` parameter. This value can be any string,
156
+ # such as a passphrase or account number. A cross-account role is
157
+ # usually set up to trust everyone in an account. Therefore, the
158
+ # administrator of the trusting account might send an external ID to
159
+ # the administrator of the trusted account. That way, only someone
160
+ # with the ID can assume the role, rather than everyone in the
161
+ # account. For more information about the external ID, see [How to Use
162
+ # an External ID When Granting Access to Your AWS Resources to a Third
120
163
  # Party][1] in the *IAM User Guide*.
121
164
  #
122
- # The regex used to validated this parameter is a string of characters
165
+ # The regex used to validate this parameter is a string of characters
123
166
  # consisting of upper- and lower-case alphanumeric characters with no
124
167
  # spaces. You can also include underscores or any of the following
125
168
  # characters: =,.@:/-
126
169
  #
127
170
  #
128
171
  #
129
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
172
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
130
173
  # @return [String]
131
174
  #
132
175
  # @!attribute [rw] serial_number
@@ -160,6 +203,7 @@ module Aws::STS
160
203
  class AssumeRoleRequest < Struct.new(
161
204
  :role_arn,
162
205
  :role_session_name,
206
+ :policy_arns,
163
207
  :policy,
164
208
  :duration_seconds,
165
209
  :external_id,
@@ -175,11 +219,11 @@ module Aws::STS
175
219
  # The temporary security credentials, which include an access key ID,
176
220
  # a secret access key, and a security (or session) token.
177
221
  #
178
- # **Note:** The size of the security token that STS APIs return is not
222
+ # <note markdown="1"> The size of the security token that STS API operations return is not
179
223
  # fixed. We strongly recommend that you make no assumptions about the
180
- # maximum size. As of this writing, the typical size is less than 4096
181
- # bytes, but that can vary. Also, future updates to AWS might require
182
- # larger sizes.
224
+ # maximum size.
225
+ #
226
+ # </note>
183
227
  # @return [Types::Credentials]
184
228
  #
185
229
  # @!attribute [rw] assumed_role_user
@@ -213,6 +257,11 @@ module Aws::STS
213
257
  # role_arn: "arnType", # required
214
258
  # principal_arn: "arnType", # required
215
259
  # saml_assertion: "SAMLAssertionType", # required
260
+ # policy_arns: [
261
+ # {
262
+ # arn: "arnType",
263
+ # },
264
+ # ],
216
265
  # policy: "sessionPolicyDocumentType",
217
266
  # duration_seconds: 1,
218
267
  # }
@@ -232,45 +281,82 @@ module Aws::STS
232
281
  # IdP.
233
282
  #
234
283
  # For more information, see [Configuring a Relying Party and Adding
235
- # Claims][1] in the *Using IAM* guide.
284
+ # Claims][1] in the *IAM User Guide*.
236
285
  #
237
286
  #
238
287
  #
239
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html
288
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html
240
289
  # @return [String]
241
290
  #
242
- # @!attribute [rw] policy
243
- # An IAM policy in JSON format.
291
+ # @!attribute [rw] policy_arns
292
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that
293
+ # you want to use as managed session policies. The policies must exist
294
+ # in the same account as the role.
295
+ #
296
+ # This parameter is optional. You can provide up to 10 managed policy
297
+ # ARNs. However, the plain text that you use for both inline and
298
+ # managed session policies shouldn't exceed 2048 characters. For more
299
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
300
+ # Service Namespaces](general/latest/gr/aws-arns-and-namespaces.html)
301
+ # in the AWS General Reference.
302
+ #
303
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
304
+ # session policy guideline. However, an AWS conversion compresses the
305
+ # session policies into a packed binary format that has a separate
306
+ # limit. This is the enforced limit. The `PackedPolicySize` response
307
+ # element indicates by percentage how close the policy is to the upper
308
+ # size limit.
244
309
  #
245
- # The policy parameter is optional. If you pass a policy, the
246
- # temporary security credentials that are returned by the operation
247
- # have the permissions that are allowed by both the access policy of
248
- # the role that is being assumed, <i> <b>and</b> </i> the policy that
249
- # you pass. This gives you a way to further restrict the permissions
250
- # for the resulting temporary security credentials. You cannot use the
251
- # passed policy to grant permissions that are in excess of those
252
- # allowed by the access policy of the role that is being assumed. For
253
- # more information, [Permissions for AssumeRole, AssumeRoleWithSAML,
254
- # and AssumeRoleWithWebIdentity][1] in the *IAM User Guide*.
310
+ # </note>
255
311
  #
256
- # The format for this parameter, as described by its regex pattern, is
257
- # a string of characters up to 2048 characters in length. The
312
+ # Passing policies to this operation returns new temporary
313
+ # credentials. The resulting session's permissions are the
314
+ # intersection of the role's identity-based policy and the session
315
+ # policies. You can use the role's temporary credentials in
316
+ # subsequent AWS API calls to access resources in the account that
317
+ # owns the role. You cannot use session policies to grant more
318
+ # permissions than those allowed by the identity-based policy of the
319
+ # role that is being assumed. For more information, see [Session
320
+ # Policies][1] in the *IAM User Guide*.
321
+ #
322
+ #
323
+ #
324
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
325
+ # @return [Array<Types::PolicyDescriptorType>]
326
+ #
327
+ # @!attribute [rw] policy
328
+ # An IAM policy in JSON format that you want to use as an inline
329
+ # session policy.
330
+ #
331
+ # This parameter is optional. Passing policies to this operation
332
+ # returns new temporary credentials. The resulting session's
333
+ # permissions are the intersection of the role's identity-based
334
+ # policy and the session policies. You can use the role's temporary
335
+ # credentials in subsequent AWS API calls to access resources in the
336
+ # account that owns the role. You cannot use session policies to grant
337
+ # more permissions than those allowed by the identity-based policy of
338
+ # the role that is being assumed. For more information, see [Session
339
+ # Policies][1] in the *IAM User Guide*.
340
+ #
341
+ # The plain text that you use for both inline and managed session
342
+ # policies shouldn't exceed 2048 characters. The JSON policy
258
343
  # characters can be any ASCII character from the space character to
259
- # the end of the valid character list (\\u0020-\\u00FF). It can also
260
- # include the tab (\\u0009), linefeed (\\u000A), and carriage return
261
- # (\\u000D) characters.
344
+ # the end of the valid character list (\\u0020 through \\u00FF). It
345
+ # can also include the tab (\\u0009), linefeed (\\u000A), and carriage
346
+ # return (\\u000D) characters.
262
347
  #
263
- # <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
264
- # internal conversion compresses it into a packed binary format with a
265
- # separate limit. The PackedPolicySize response element indicates by
266
- # percentage how close to the upper size limit the policy is, with
267
- # 100% equaling the maximum allowed size.
348
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
349
+ # session policy guideline. However, an AWS conversion compresses the
350
+ # session policies into a packed binary format that has a separate
351
+ # limit. This is the enforced limit. The `PackedPolicySize` response
352
+ # element indicates by percentage how close the policy is to the upper
353
+ # size limit.
268
354
  #
269
355
  # </note>
270
356
  #
271
357
  #
272
358
  #
273
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
359
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
274
360
  # @return [String]
275
361
  #
276
362
  # @!attribute [rw] duration_seconds
@@ -288,7 +374,7 @@ module Aws::STS
288
374
  # Maximum Session Duration Setting for a Role][1] in the *IAM User
289
375
  # Guide*.
290
376
  #
291
- # By default, the value is set to 3600 seconds.
377
+ # By default, the value is set to `3600` seconds.
292
378
  #
293
379
  # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
294
380
  # console session that you might request using the returned
@@ -302,8 +388,8 @@ module Aws::STS
302
388
  #
303
389
  #
304
390
  #
305
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
306
- # [2]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
391
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
392
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
307
393
  # @return [Integer]
308
394
  #
309
395
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLRequest AWS API Documentation
@@ -312,6 +398,7 @@ module Aws::STS
312
398
  :role_arn,
313
399
  :principal_arn,
314
400
  :saml_assertion,
401
+ :policy_arns,
315
402
  :policy,
316
403
  :duration_seconds)
317
404
  include Aws::Structure
@@ -325,11 +412,11 @@ module Aws::STS
325
412
  # The temporary security credentials, which include an access key ID,
326
413
  # a secret access key, and a security (or session) token.
327
414
  #
328
- # **Note:** The size of the security token that STS APIs return is not
415
+ # <note markdown="1"> The size of the security token that STS API operations return is not
329
416
  # fixed. We strongly recommend that you make no assumptions about the
330
- # maximum size. As of this writing, the typical size is less than 4096
331
- # bytes, but that can vary. Also, future updates to AWS might require
332
- # larger sizes.
417
+ # maximum size.
418
+ #
419
+ # </note>
333
420
  # @return [Types::Credentials]
334
421
  #
335
422
  # @!attribute [rw] assumed_role_user
@@ -404,6 +491,11 @@ module Aws::STS
404
491
  # role_session_name: "roleSessionNameType", # required
405
492
  # web_identity_token: "clientTokenType", # required
406
493
  # provider_id: "urlType",
494
+ # policy_arns: [
495
+ # {
496
+ # arn: "arnType",
497
+ # },
498
+ # ],
407
499
  # policy: "sessionPolicyDocumentType",
408
500
  # duration_seconds: 1,
409
501
  # }
@@ -447,38 +539,75 @@ module Aws::STS
447
539
  # Do not specify this value for OpenID Connect ID tokens.
448
540
  # @return [String]
449
541
  #
450
- # @!attribute [rw] policy
451
- # An IAM policy in JSON format.
542
+ # @!attribute [rw] policy_arns
543
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that
544
+ # you want to use as managed session policies. The policies must exist
545
+ # in the same account as the role.
546
+ #
547
+ # This parameter is optional. You can provide up to 10 managed policy
548
+ # ARNs. However, the plain text that you use for both inline and
549
+ # managed session policies shouldn't exceed 2048 characters. For more
550
+ # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
551
+ # Service Namespaces](general/latest/gr/aws-arns-and-namespaces.html)
552
+ # in the AWS General Reference.
553
+ #
554
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
555
+ # session policy guideline. However, an AWS conversion compresses the
556
+ # session policies into a packed binary format that has a separate
557
+ # limit. This is the enforced limit. The `PackedPolicySize` response
558
+ # element indicates by percentage how close the policy is to the upper
559
+ # size limit.
452
560
  #
453
- # The policy parameter is optional. If you pass a policy, the
454
- # temporary security credentials that are returned by the operation
455
- # have the permissions that are allowed by both the access policy of
456
- # the role that is being assumed, <i> <b>and</b> </i> the policy that
457
- # you pass. This gives you a way to further restrict the permissions
458
- # for the resulting temporary security credentials. You cannot use the
459
- # passed policy to grant permissions that are in excess of those
460
- # allowed by the access policy of the role that is being assumed. For
461
- # more information, see [Permissions for AssumeRoleWithWebIdentity][1]
462
- # in the *IAM User Guide*.
561
+ # </note>
463
562
  #
464
- # The format for this parameter, as described by its regex pattern, is
465
- # a string of characters up to 2048 characters in length. The
563
+ # Passing policies to this operation returns new temporary
564
+ # credentials. The resulting session's permissions are the
565
+ # intersection of the role's identity-based policy and the session
566
+ # policies. You can use the role's temporary credentials in
567
+ # subsequent AWS API calls to access resources in the account that
568
+ # owns the role. You cannot use session policies to grant more
569
+ # permissions than those allowed by the identity-based policy of the
570
+ # role that is being assumed. For more information, see [Session
571
+ # Policies][1] in the *IAM User Guide*.
572
+ #
573
+ #
574
+ #
575
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
576
+ # @return [Array<Types::PolicyDescriptorType>]
577
+ #
578
+ # @!attribute [rw] policy
579
+ # An IAM policy in JSON format that you want to use as an inline
580
+ # session policy.
581
+ #
582
+ # This parameter is optional. Passing policies to this operation
583
+ # returns new temporary credentials. The resulting session's
584
+ # permissions are the intersection of the role's identity-based
585
+ # policy and the session policies. You can use the role's temporary
586
+ # credentials in subsequent AWS API calls to access resources in the
587
+ # account that owns the role. You cannot use session policies to grant
588
+ # more permissions than those allowed by the identity-based policy of
589
+ # the role that is being assumed. For more information, see [Session
590
+ # Policies][1] in the *IAM User Guide*.
591
+ #
592
+ # The plain text that you use for both inline and managed session
593
+ # policies shouldn't exceed 2048 characters. The JSON policy
466
594
  # characters can be any ASCII character from the space character to
467
- # the end of the valid character list (\\u0020-\\u00FF). It can also
468
- # include the tab (\\u0009), linefeed (\\u000A), and carriage return
469
- # (\\u000D) characters.
595
+ # the end of the valid character list (\\u0020 through \\u00FF). It
596
+ # can also include the tab (\\u0009), linefeed (\\u000A), and carriage
597
+ # return (\\u000D) characters.
470
598
  #
471
- # <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
472
- # internal conversion compresses it into a packed binary format with a
473
- # separate limit. The PackedPolicySize response element indicates by
474
- # percentage how close to the upper size limit the policy is, with
475
- # 100% equaling the maximum allowed size.
599
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
600
+ # session policy guideline. However, an AWS conversion compresses the
601
+ # session policies into a packed binary format that has a separate
602
+ # limit. This is the enforced limit. The `PackedPolicySize` response
603
+ # element indicates by percentage how close the policy is to the upper
604
+ # size limit.
476
605
  #
477
606
  # </note>
478
607
  #
479
608
  #
480
609
  #
481
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
610
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
482
611
  # @return [String]
483
612
  #
484
613
  # @!attribute [rw] duration_seconds
@@ -492,7 +621,7 @@ module Aws::STS
492
621
  # value for your role, see [View the Maximum Session Duration Setting
493
622
  # for a Role][1] in the *IAM User Guide*.
494
623
  #
495
- # By default, the value is set to 3600 seconds.
624
+ # By default, the value is set to `3600` seconds.
496
625
  #
497
626
  # <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
498
627
  # console session that you might request using the returned
@@ -506,8 +635,8 @@ module Aws::STS
506
635
  #
507
636
  #
508
637
  #
509
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
510
- # [2]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
638
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
639
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
511
640
  # @return [Integer]
512
641
  #
513
642
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityRequest AWS API Documentation
@@ -517,6 +646,7 @@ module Aws::STS
517
646
  :role_session_name,
518
647
  :web_identity_token,
519
648
  :provider_id,
649
+ :policy_arns,
520
650
  :policy,
521
651
  :duration_seconds)
522
652
  include Aws::Structure
@@ -530,11 +660,11 @@ module Aws::STS
530
660
  # The temporary security credentials, which include an access key ID,
531
661
  # a secret access key, and a security token.
532
662
  #
533
- # **Note:** The size of the security token that STS APIs return is not
663
+ # <note markdown="1"> The size of the security token that STS API operations return is not
534
664
  # fixed. We strongly recommend that you make no assumptions about the
535
- # maximum size. As of this writing, the typical size is less than 4096
536
- # bytes, but that can vary. Also, future updates to AWS might require
537
- # larger sizes.
665
+ # maximum size.
666
+ #
667
+ # </note>
538
668
  # @return [Types::Credentials]
539
669
  #
540
670
  # @!attribute [rw] subject_from_web_identity_token
@@ -564,8 +694,8 @@ module Aws::STS
564
694
  #
565
695
  # @!attribute [rw] provider
566
696
  # The issuing authority of the web identity token presented. For
567
- # OpenID Connect ID Tokens this contains the value of the `iss` field.
568
- # For OAuth 2.0 access tokens, this contains the value of the
697
+ # OpenID Connect ID tokens, this contains the value of the `iss`
698
+ # field. For OAuth 2.0 access tokens, this contains the value of the
569
699
  # `ProviderId` parameter that was passed in the
570
700
  # `AssumeRoleWithWebIdentity` request.
571
701
  # @return [String]
@@ -604,7 +734,7 @@ module Aws::STS
604
734
  #
605
735
  #
606
736
  #
607
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
737
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
608
738
  # @return [String]
609
739
  #
610
740
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumedRoleUser AWS API Documentation
@@ -678,6 +808,20 @@ module Aws::STS
678
808
  include Aws::Structure
679
809
  end
680
810
 
811
+ # The web identity token that was passed is expired or is not valid. Get
812
+ # a new identity token from the identity provider and then retry the
813
+ # request.
814
+ #
815
+ # @!attribute [rw] message
816
+ # @return [String]
817
+ #
818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/ExpiredTokenException AWS API Documentation
819
+ #
820
+ class ExpiredTokenException < Struct.new(
821
+ :message)
822
+ include Aws::Structure
823
+ end
824
+
681
825
  # Identifiers for the federated user that is associated with the
682
826
  # credentials.
683
827
  #
@@ -693,7 +837,7 @@ module Aws::STS
693
837
  #
694
838
  #
695
839
  #
696
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
840
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
697
841
  # @return [String]
698
842
  #
699
843
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser AWS API Documentation
@@ -715,14 +859,14 @@ module Aws::STS
715
859
  #
716
860
  # @!attribute [rw] user_id
717
861
  # The unique identifier of the calling entity. The exact value depends
718
- # on the type of entity making the call. The values returned are those
719
- # listed in the **aws:userid** column in the [Principal table][1]
720
- # found on the **Policy Variables** reference page in the *IAM User
721
- # Guide*.
862
+ # on the type of entity that is making the call. The values returned
863
+ # are those listed in the **aws:userid** column in the [Principal
864
+ # table][1] found on the **Policy Variables** reference page in the
865
+ # *IAM User Guide*.
722
866
  #
723
867
  #
724
868
  #
725
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable
869
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable
726
870
  # @return [String]
727
871
  #
728
872
  # @!attribute [rw] account
@@ -749,6 +893,11 @@ module Aws::STS
749
893
  # {
750
894
  # name: "userNameType", # required
751
895
  # policy: "sessionPolicyDocumentType",
896
+ # policy_arns: [
897
+ # {
898
+ # arn: "arnType",
899
+ # },
900
+ # ],
752
901
  # duration_seconds: 1,
753
902
  # }
754
903
  #
@@ -765,55 +914,104 @@ module Aws::STS
765
914
  # @return [String]
766
915
  #
767
916
  # @!attribute [rw] policy
768
- # An IAM policy in JSON format that is passed with the
769
- # `GetFederationToken` call and evaluated along with the policy or
770
- # policies that are attached to the IAM user whose credentials are
771
- # used to call `GetFederationToken`. The passed policy is used to
772
- # scope down the permissions that are available to the IAM user, by
773
- # allowing only a subset of the permissions that are granted to the
774
- # IAM user. The passed policy cannot grant more permissions than those
775
- # granted to the IAM user. The final permissions for the federated
776
- # user are the most restrictive set based on the intersection of the
777
- # passed policy and the IAM user policy.
778
- #
779
- # If you do not pass a policy, the resulting temporary security
780
- # credentials have no effective permissions. The only exception is
781
- # when the temporary security credentials are used to access a
782
- # resource that has a resource-based policy that specifically allows
783
- # the federated user to access the resource.
917
+ # An IAM policy in JSON format that you want to use as an inline
918
+ # session policy.
919
+ #
920
+ # You must pass an inline or managed [session policy][1] to this
921
+ # operation. You can pass a single JSON policy document to use as an
922
+ # inline session policy. You can also specify up to 10 managed
923
+ # policies to use as managed session policies.
924
+ #
925
+ # This parameter is optional. However, if you do not pass any session
926
+ # policies, then the resulting federated user session has no
927
+ # permissions. The only exception is when the credentials are used to
928
+ # access a resource that has a resource-based policy that specifically
929
+ # references the federated user session in the `Principal` element of
930
+ # the policy.
931
+ #
932
+ # When you pass session policies, the session permissions are the
933
+ # intersection of the IAM user policies and the session policies that
934
+ # you pass. This gives you a way to further restrict the permissions
935
+ # for a federated user. You cannot use session policies to grant more
936
+ # permissions than those that are defined in the permissions policy of
937
+ # the IAM user. For more information, see [Session Policies][1] in the
938
+ # *IAM User Guide*.
784
939
  #
785
- # The format for this parameter, as described by its regex pattern, is
786
- # a string of characters up to 2048 characters in length. The
940
+ # The plain text that you use for both inline and managed session
941
+ # policies shouldn't exceed 2048 characters. The JSON policy
787
942
  # characters can be any ASCII character from the space character to
788
- # the end of the valid character list (\\u0020-\\u00FF). It can also
789
- # include the tab (\\u0009), linefeed (\\u000A), and carriage return
790
- # (\\u000D) characters.
943
+ # the end of the valid character list (\\u0020 through \\u00FF). It
944
+ # can also include the tab (\\u0009), linefeed (\\u000A), and carriage
945
+ # return (\\u000D) characters.
791
946
  #
792
- # <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
793
- # internal conversion compresses it into a packed binary format with a
794
- # separate limit. The PackedPolicySize response element indicates by
795
- # percentage how close to the upper size limit the policy is, with
796
- # 100% equaling the maximum allowed size.
947
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
948
+ # session policy guideline. However, an AWS conversion compresses the
949
+ # session policies into a packed binary format that has a separate
950
+ # limit. This is the enforced limit. The `PackedPolicySize` response
951
+ # element indicates by percentage how close the policy is to the upper
952
+ # size limit.
797
953
  #
798
954
  # </note>
799
955
  #
800
- # For more information about how permissions work, see [Permissions
801
- # for GetFederationToken][1].
802
- #
803
956
  #
804
957
  #
805
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html
958
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
806
959
  # @return [String]
807
960
  #
961
+ # @!attribute [rw] policy_arns
962
+ # The Amazon Resource Names (ARNs) of the IAM managed policies that
963
+ # you want to use as a managed session policy. The policies must exist
964
+ # in the same account as the IAM user that is requesting federated
965
+ # access.
966
+ #
967
+ # You must pass an inline or managed [session policy][1] to this
968
+ # operation. You can pass a single JSON policy document to use as an
969
+ # inline session policy. You can also specify up to 10 managed
970
+ # policies to use as managed session policies. The plain text that you
971
+ # use for both inline and managed session policies shouldn't exceed
972
+ # 2048 characters. You can provide up to 10 managed policy ARNs. For
973
+ # more information about ARNs, see [Amazon Resource Names (ARNs) and
974
+ # AWS Service
975
+ # Namespaces](general/latest/gr/aws-arns-and-namespaces.html) in the
976
+ # AWS General Reference.
977
+ #
978
+ # This parameter is optional. However, if you do not pass any session
979
+ # policies, then the resulting federated user session has no
980
+ # permissions. The only exception is when the credentials are used to
981
+ # access a resource that has a resource-based policy that specifically
982
+ # references the federated user session in the `Principal` element of
983
+ # the policy.
984
+ #
985
+ # When you pass session policies, the session permissions are the
986
+ # intersection of the IAM user policies and the session policies that
987
+ # you pass. This gives you a way to further restrict the permissions
988
+ # for a federated user. You cannot use session policies to grant more
989
+ # permissions than those that are defined in the permissions policy of
990
+ # the IAM user. For more information, see [Session Policies][1] in the
991
+ # *IAM User Guide*.
992
+ #
993
+ # <note markdown="1"> The characters in this parameter count towards the 2048 character
994
+ # session policy guideline. However, an AWS conversion compresses the
995
+ # session policies into a packed binary format that has a separate
996
+ # limit. This is the enforced limit. The `PackedPolicySize` response
997
+ # element indicates by percentage how close the policy is to the upper
998
+ # size limit.
999
+ #
1000
+ # </note>
1001
+ #
1002
+ #
1003
+ #
1004
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1005
+ # @return [Array<Types::PolicyDescriptorType>]
1006
+ #
808
1007
  # @!attribute [rw] duration_seconds
809
1008
  # The duration, in seconds, that the session should last. Acceptable
810
1009
  # durations for federation sessions range from 900 seconds (15
811
- # minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours)
812
- # as the default. Sessions obtained using AWS account (root)
813
- # credentials are restricted to a maximum of 3600 seconds (one hour).
1010
+ # minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
1011
+ # hours) as the default. Sessions obtained using AWS account root user
1012
+ # credentials are restricted to a maximum of 3,600 seconds (one hour).
814
1013
  # If the specified duration is longer than one hour, the session
815
- # obtained by using AWS account (root) credentials defaults to one
816
- # hour.
1014
+ # obtained by using root user credentials defaults to one hour.
817
1015
  # @return [Integer]
818
1016
  #
819
1017
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenRequest AWS API Documentation
@@ -821,6 +1019,7 @@ module Aws::STS
821
1019
  class GetFederationTokenRequest < Struct.new(
822
1020
  :name,
823
1021
  :policy,
1022
+ :policy_arns,
824
1023
  :duration_seconds)
825
1024
  include Aws::Structure
826
1025
  end
@@ -833,11 +1032,11 @@ module Aws::STS
833
1032
  # The temporary security credentials, which include an access key ID,
834
1033
  # a secret access key, and a security (or session) token.
835
1034
  #
836
- # **Note:** The size of the security token that STS APIs return is not
1035
+ # <note markdown="1"> The size of the security token that STS API operations return is not
837
1036
  # fixed. We strongly recommend that you make no assumptions about the
838
- # maximum size. As of this writing, the typical size is less than 4096
839
- # bytes, but that can vary. Also, future updates to AWS might require
840
- # larger sizes.
1037
+ # maximum size.
1038
+ #
1039
+ # </note>
841
1040
  # @return [Types::Credentials]
842
1041
  #
843
1042
  # @!attribute [rw] federated_user
@@ -874,9 +1073,9 @@ module Aws::STS
874
1073
  # @!attribute [rw] duration_seconds
875
1074
  # The duration, in seconds, that the credentials should remain valid.
876
1075
  # Acceptable durations for IAM user sessions range from 900 seconds
877
- # (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12
1076
+ # (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
878
1077
  # hours) as the default. Sessions for AWS account owners are
879
- # restricted to a maximum of 3600 seconds (one hour). If the duration
1078
+ # restricted to a maximum of 3,600 seconds (one hour). If the duration
880
1079
  # is longer than one hour, the session for AWS account owners defaults
881
1080
  # to one hour.
882
1081
  # @return [Integer]
@@ -891,7 +1090,7 @@ module Aws::STS
891
1090
  # the device for an IAM user by going to the AWS Management Console
892
1091
  # and viewing the user's security credentials.
893
1092
  #
894
- # The regex used to validated this parameter is a string of characters
1093
+ # The regex used to validate this parameter is a string of characters
895
1094
  # consisting of upper- and lower-case alphanumeric characters with no
896
1095
  # spaces. You can also include underscores or any of the following
897
1096
  # characters: =,.@:/-
@@ -900,9 +1099,9 @@ module Aws::STS
900
1099
  # @!attribute [rw] token_code
901
1100
  # The value provided by the MFA device, if MFA is required. If any
902
1101
  # policy requires the IAM user to submit an MFA code, specify this
903
- # value. If MFA authentication is required, and the user does not
904
- # provide a code when requesting a set of temporary security
905
- # credentials, the user will receive an "access denied" response
1102
+ # value. If MFA authentication is required, the user must provide a
1103
+ # code when requesting a set of temporary security credentials. A user
1104
+ # who fails to provide the code receives an "access denied" response
906
1105
  # when requesting resources that require MFA authentication.
907
1106
  #
908
1107
  # The format for this parameter, as described by its regex pattern, is
@@ -926,11 +1125,11 @@ module Aws::STS
926
1125
  # The temporary security credentials, which include an access key ID,
927
1126
  # a secret access key, and a security (or session) token.
928
1127
  #
929
- # **Note:** The size of the security token that STS APIs return is not
1128
+ # <note markdown="1"> The size of the security token that STS API operations return is not
930
1129
  # fixed. We strongly recommend that you make no assumptions about the
931
- # maximum size. As of this writing, the typical size is less than 4096
932
- # bytes, but that can vary. Also, future updates to AWS might require
933
- # larger sizes.
1130
+ # maximum size.
1131
+ #
1132
+ # </note>
934
1133
  # @return [Types::Credentials]
935
1134
  #
936
1135
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenResponse AWS API Documentation
@@ -940,5 +1139,139 @@ module Aws::STS
940
1139
  include Aws::Structure
941
1140
  end
942
1141
 
1142
+ # The request could not be fulfilled because the non-AWS identity
1143
+ # provider (IDP) that was asked to verify the incoming identity token
1144
+ # could not be reached. This is often a transient error caused by
1145
+ # network conditions. Retry the request a limited number of times so
1146
+ # that you don't exceed the request rate. If the error persists, the
1147
+ # non-AWS identity provider might be down or not responding.
1148
+ #
1149
+ # @!attribute [rw] message
1150
+ # @return [String]
1151
+ #
1152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/IDPCommunicationErrorException AWS API Documentation
1153
+ #
1154
+ class IDPCommunicationErrorException < Struct.new(
1155
+ :message)
1156
+ include Aws::Structure
1157
+ end
1158
+
1159
+ # The identity provider (IdP) reported that authentication failed. This
1160
+ # might be because the claim is invalid.
1161
+ #
1162
+ # If this error is returned for the `AssumeRoleWithWebIdentity`
1163
+ # operation, it can also mean that the claim has expired or has been
1164
+ # explicitly revoked.
1165
+ #
1166
+ # @!attribute [rw] message
1167
+ # @return [String]
1168
+ #
1169
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/IDPRejectedClaimException AWS API Documentation
1170
+ #
1171
+ class IDPRejectedClaimException < Struct.new(
1172
+ :message)
1173
+ include Aws::Structure
1174
+ end
1175
+
1176
+ # The error returned if the message passed to
1177
+ # `DecodeAuthorizationMessage` was invalid. This can happen if the token
1178
+ # contains invalid characters, such as linebreaks.
1179
+ #
1180
+ # @!attribute [rw] message
1181
+ # @return [String]
1182
+ #
1183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/InvalidAuthorizationMessageException AWS API Documentation
1184
+ #
1185
+ class InvalidAuthorizationMessageException < Struct.new(
1186
+ :message)
1187
+ include Aws::Structure
1188
+ end
1189
+
1190
+ # The web identity token that was passed could not be validated by AWS.
1191
+ # Get a new identity token from the identity provider and then retry the
1192
+ # request.
1193
+ #
1194
+ # @!attribute [rw] message
1195
+ # @return [String]
1196
+ #
1197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/InvalidIdentityTokenException AWS API Documentation
1198
+ #
1199
+ class InvalidIdentityTokenException < Struct.new(
1200
+ :message)
1201
+ include Aws::Structure
1202
+ end
1203
+
1204
+ # The request was rejected because the policy document was malformed.
1205
+ # The error message describes the specific error.
1206
+ #
1207
+ # @!attribute [rw] message
1208
+ # @return [String]
1209
+ #
1210
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/MalformedPolicyDocumentException AWS API Documentation
1211
+ #
1212
+ class MalformedPolicyDocumentException < Struct.new(
1213
+ :message)
1214
+ include Aws::Structure
1215
+ end
1216
+
1217
+ # The request was rejected because the policy document was too large.
1218
+ # The error message describes how big the policy document is, in packed
1219
+ # form, as a percentage of what the API allows.
1220
+ #
1221
+ # @!attribute [rw] message
1222
+ # @return [String]
1223
+ #
1224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/PackedPolicyTooLargeException AWS API Documentation
1225
+ #
1226
+ class PackedPolicyTooLargeException < Struct.new(
1227
+ :message)
1228
+ include Aws::Structure
1229
+ end
1230
+
1231
+ # A reference to the IAM managed policy that is passed as a session
1232
+ # policy for a role session or a federated user session.
1233
+ #
1234
+ # @note When making an API call, you may pass PolicyDescriptorType
1235
+ # data as a hash:
1236
+ #
1237
+ # {
1238
+ # arn: "arnType",
1239
+ # }
1240
+ #
1241
+ # @!attribute [rw] arn
1242
+ # The Amazon Resource Name (ARN) of the IAM managed policy to use as a
1243
+ # session policy for the role. For more information about ARNs, see
1244
+ # [Amazon Resource Names (ARNs) and AWS Service
1245
+ # Namespaces](general/latest/gr/aws-arns-and-namespaces.html) in the
1246
+ # *AWS General Reference*.
1247
+ # @return [String]
1248
+ #
1249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/PolicyDescriptorType AWS API Documentation
1250
+ #
1251
+ class PolicyDescriptorType < Struct.new(
1252
+ :arn)
1253
+ include Aws::Structure
1254
+ end
1255
+
1256
+ # STS is not activated in the requested region for the account that is
1257
+ # being asked to generate credentials. The account administrator must
1258
+ # use the IAM console to activate STS in that region. For more
1259
+ # information, see [Activating and Deactivating AWS STS in an AWS
1260
+ # Region][1] in the *IAM User Guide*.
1261
+ #
1262
+ #
1263
+ #
1264
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html
1265
+ #
1266
+ # @!attribute [rw] message
1267
+ # @return [String]
1268
+ #
1269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/RegionDisabledException AWS API Documentation
1270
+ #
1271
+ class RegionDisabledException < Struct.new(
1272
+ :message)
1273
+ include Aws::Structure
1274
+ end
1275
+
943
1276
  end
944
1277
  end