aws-sdk-core 3.130.1 → 3.178.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +377 -1
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +4 -4
  5. data/lib/aws-sdk-core/arn.rb +13 -0
  6. data/lib/aws-sdk-core/assume_role_credentials.rb +6 -11
  7. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +8 -10
  8. data/lib/aws-sdk-core/binary/encode_handler.rb +12 -1
  9. data/lib/aws-sdk-core/credential_provider.rb +3 -0
  10. data/lib/aws-sdk-core/credential_provider_chain.rb +8 -5
  11. data/lib/aws-sdk-core/ecs_credentials.rb +116 -53
  12. data/lib/aws-sdk-core/endpoints/condition.rb +41 -0
  13. data/lib/aws-sdk-core/endpoints/endpoint.rb +17 -0
  14. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +75 -0
  15. data/lib/aws-sdk-core/endpoints/error_rule.rb +42 -0
  16. data/lib/aws-sdk-core/endpoints/function.rb +80 -0
  17. data/lib/aws-sdk-core/endpoints/matchers.rb +127 -0
  18. data/lib/aws-sdk-core/endpoints/reference.rb +31 -0
  19. data/lib/aws-sdk-core/endpoints/rule.rb +25 -0
  20. data/lib/aws-sdk-core/endpoints/rule_set.rb +52 -0
  21. data/lib/aws-sdk-core/endpoints/rules_provider.rb +37 -0
  22. data/lib/aws-sdk-core/endpoints/templater.rb +58 -0
  23. data/lib/aws-sdk-core/endpoints/tree_rule.rb +45 -0
  24. data/lib/aws-sdk-core/endpoints/url.rb +60 -0
  25. data/lib/aws-sdk-core/endpoints.rb +78 -0
  26. data/lib/aws-sdk-core/errors.rb +13 -0
  27. data/lib/aws-sdk-core/ini_parser.rb +1 -1
  28. data/lib/aws-sdk-core/instance_profile_credentials.rb +5 -0
  29. data/lib/aws-sdk-core/json/error_handler.rb +20 -1
  30. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  31. data/lib/aws-sdk-core/pageable_response.rb +10 -1
  32. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +67 -0
  33. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +1 -1
  34. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +24 -0
  35. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +6 -2
  36. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +34 -6
  37. data/lib/aws-sdk-core/plugins/recursion_detection.rb +14 -3
  38. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +111 -30
  39. data/lib/aws-sdk-core/plugins/request_compression.rb +217 -0
  40. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +2 -1
  41. data/lib/aws-sdk-core/plugins/sign.rb +201 -0
  42. data/lib/aws-sdk-core/plugins/signature_v2.rb +1 -0
  43. data/lib/aws-sdk-core/plugins/signature_v4.rb +13 -7
  44. data/lib/aws-sdk-core/plugins/user_agent.rb +117 -14
  45. data/lib/aws-sdk-core/process_credentials.rb +6 -9
  46. data/lib/aws-sdk-core/refreshing_credentials.rb +2 -6
  47. data/lib/aws-sdk-core/refreshing_token.rb +71 -0
  48. data/lib/aws-sdk-core/rest/handler.rb +1 -1
  49. data/lib/aws-sdk-core/rest/request/headers.rb +2 -6
  50. data/lib/aws-sdk-core/shared_config.rb +101 -6
  51. data/lib/aws-sdk-core/sso_credentials.rb +85 -50
  52. data/lib/aws-sdk-core/sso_token_provider.rb +135 -0
  53. data/lib/aws-sdk-core/static_token_provider.rb +14 -0
  54. data/lib/aws-sdk-core/structure.rb +6 -4
  55. data/lib/aws-sdk-core/token.rb +31 -0
  56. data/lib/aws-sdk-core/token_provider.rb +15 -0
  57. data/lib/aws-sdk-core/token_provider_chain.rb +51 -0
  58. data/lib/aws-sdk-core/waiters/poller.rb +3 -1
  59. data/lib/aws-sdk-core/xml/error_handler.rb +7 -0
  60. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
  61. data/lib/aws-sdk-core.rb +14 -0
  62. data/lib/aws-sdk-sso/client.rb +71 -11
  63. data/lib/aws-sdk-sso/endpoint_parameters.rb +66 -0
  64. data/lib/aws-sdk-sso/endpoint_provider.rb +51 -0
  65. data/lib/aws-sdk-sso/endpoints.rb +72 -0
  66. data/lib/aws-sdk-sso/plugins/endpoints.rb +76 -0
  67. data/lib/aws-sdk-sso/types.rb +8 -43
  68. data/lib/aws-sdk-sso.rb +5 -1
  69. data/lib/aws-sdk-ssooidc/client.rb +626 -0
  70. data/lib/aws-sdk-ssooidc/client_api.rb +216 -0
  71. data/lib/aws-sdk-ssooidc/customizations.rb +1 -0
  72. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +66 -0
  73. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +51 -0
  74. data/lib/aws-sdk-ssooidc/endpoints.rb +58 -0
  75. data/lib/aws-sdk-ssooidc/errors.rb +290 -0
  76. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +74 -0
  77. data/lib/aws-sdk-ssooidc/resource.rb +26 -0
  78. data/lib/aws-sdk-ssooidc/types.rb +502 -0
  79. data/lib/aws-sdk-ssooidc.rb +59 -0
  80. data/lib/aws-sdk-sts/client.rb +289 -245
  81. data/lib/aws-sdk-sts/endpoint_parameters.rb +78 -0
  82. data/lib/aws-sdk-sts/endpoint_provider.rb +112 -0
  83. data/lib/aws-sdk-sts/endpoints.rb +136 -0
  84. data/lib/aws-sdk-sts/plugins/endpoints.rb +84 -0
  85. data/lib/aws-sdk-sts/presigner.rb +13 -15
  86. data/lib/aws-sdk-sts/types.rb +87 -195
  87. data/lib/aws-sdk-sts.rb +5 -1
  88. data/lib/seahorse/client/async_base.rb +0 -1
  89. data/lib/seahorse/client/configuration.rb +1 -5
  90. data/lib/seahorse/client/h2/connection.rb +12 -11
  91. data/lib/seahorse/client/plugins/request_callback.rb +9 -9
  92. data/lib/seahorse/model/operation.rb +3 -0
  93. data/lib/seahorse/util.rb +4 -0
  94. metadata +56 -8
@@ -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]
@@ -70,12 +44,13 @@ module Aws::STS
70
44
  # Web Services Service Namespaces][1] in the Amazon Web Services
71
45
  # General Reference.
72
46
  #
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.
47
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
48
+ # session policy, managed policy ARNs, and session tags into a packed
49
+ # binary format that has a separate limit. Your request can fail for
50
+ # this limit even if your plaintext meets the other requirements. The
51
+ # `PackedPolicySize` response element indicates by percentage how
52
+ # close the policies and tags for your request are to the upper size
53
+ # limit.
79
54
  #
80
55
  # </note>
81
56
  #
@@ -116,12 +91,13 @@ module Aws::STS
116
91
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
117
92
  # (\\u000D) characters.
118
93
  #
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.
94
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
95
+ # session policy, managed policy ARNs, and session tags into a packed
96
+ # binary format that has a separate limit. Your request can fail for
97
+ # this limit even if your plaintext meets the other requirements. The
98
+ # `PackedPolicySize` response element indicates by percentage how
99
+ # close the policies and tags for your request are to the upper size
100
+ # limit.
125
101
  #
126
102
  # </note>
127
103
  #
@@ -181,12 +157,13 @@ module Aws::STS
181
157
  # values can’t exceed 256 characters. For these and additional limits,
182
158
  # see [IAM and STS Character Limits][2] in the *IAM User Guide*.
183
159
  #
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.
160
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
161
+ # session policy, managed policy ARNs, and session tags into a packed
162
+ # binary format that has a separate limit. Your request can fail for
163
+ # this limit even if your plaintext meets the other requirements. The
164
+ # `PackedPolicySize` response element indicates by percentage how
165
+ # close the policies and tags for your request are to the upper size
166
+ # limit.
190
167
  #
191
168
  # </note>
192
169
  #
@@ -394,22 +371,6 @@ module Aws::STS
394
371
  include Aws::Structure
395
372
  end
396
373
 
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
374
  # @!attribute [rw] role_arn
414
375
  # The Amazon Resource Name (ARN) of the role that the caller is
415
376
  # assuming.
@@ -443,12 +404,13 @@ module Aws::STS
443
404
  # Web Services Service Namespaces][1] in the Amazon Web Services
444
405
  # General Reference.
445
406
  #
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.
407
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
408
+ # session policy, managed policy ARNs, and session tags into a packed
409
+ # binary format that has a separate limit. Your request can fail for
410
+ # this limit even if your plaintext meets the other requirements. The
411
+ # `PackedPolicySize` response element indicates by percentage how
412
+ # close the policies and tags for your request are to the upper size
413
+ # limit.
452
414
  #
453
415
  # </note>
454
416
  #
@@ -489,12 +451,13 @@ module Aws::STS
489
451
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
490
452
  # (\\u000D) characters.
491
453
  #
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.
454
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
455
+ # session policy, managed policy ARNs, and session tags into a packed
456
+ # binary format that has a separate limit. Your request can fail for
457
+ # this limit even if your plaintext meets the other requirements. The
458
+ # `PackedPolicySize` response element indicates by percentage how
459
+ # close the policies and tags for your request are to the upper size
460
+ # limit.
498
461
  #
499
462
  # </note>
500
463
  #
@@ -545,7 +508,7 @@ module Aws::STS
545
508
  :policy_arns,
546
509
  :policy,
547
510
  :duration_seconds)
548
- SENSITIVE = []
511
+ SENSITIVE = [:saml_assertion]
549
512
  include Aws::Structure
550
513
  end
551
514
 
@@ -613,7 +576,7 @@ module Aws::STS
613
576
  # in IAM.
614
577
  #
615
578
  # The combination of `NameQualifier` and `Subject` can be used to
616
- # uniquely identify a federated user.
579
+ # uniquely identify a user.
617
580
  #
618
581
  # The following pseudocode shows how the hash value is calculated:
619
582
  #
@@ -665,23 +628,6 @@ module Aws::STS
665
628
  include Aws::Structure
666
629
  end
667
630
 
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
631
  # @!attribute [rw] role_arn
686
632
  # The Amazon Resource Name (ARN) of the role that the caller is
687
633
  # assuming.
@@ -733,12 +679,13 @@ module Aws::STS
733
679
  # Web Services Service Namespaces][1] in the Amazon Web Services
734
680
  # General Reference.
735
681
  #
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.
682
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
683
+ # session policy, managed policy ARNs, and session tags into a packed
684
+ # binary format that has a separate limit. Your request can fail for
685
+ # this limit even if your plaintext meets the other requirements. The
686
+ # `PackedPolicySize` response element indicates by percentage how
687
+ # close the policies and tags for your request are to the upper size
688
+ # limit.
742
689
  #
743
690
  # </note>
744
691
  #
@@ -779,12 +726,13 @@ module Aws::STS
779
726
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
780
727
  # (\\u000D) characters.
781
728
  #
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.
729
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
730
+ # session policy, managed policy ARNs, and session tags into a packed
731
+ # binary format that has a separate limit. Your request can fail for
732
+ # this limit even if your plaintext meets the other requirements. The
733
+ # `PackedPolicySize` response element indicates by percentage how
734
+ # close the policies and tags for your request are to the upper size
735
+ # limit.
788
736
  #
789
737
  # </note>
790
738
  #
@@ -832,7 +780,7 @@ module Aws::STS
832
780
  :policy_arns,
833
781
  :policy,
834
782
  :duration_seconds)
835
- SENSITIVE = []
783
+ SENSITIVE = [:web_identity_token]
836
784
  include Aws::Structure
837
785
  end
838
786
 
@@ -993,17 +941,10 @@ module Aws::STS
993
941
  :secret_access_key,
994
942
  :session_token,
995
943
  :expiration)
996
- SENSITIVE = []
944
+ SENSITIVE = [:secret_access_key]
997
945
  include Aws::Structure
998
946
  end
999
947
 
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
948
  # @!attribute [rw] encoded_message
1008
949
  # The encoded message that was returned with the response.
1009
950
  # @return [String]
@@ -1074,13 +1015,6 @@ module Aws::STS
1074
1015
  include Aws::Structure
1075
1016
  end
1076
1017
 
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
1018
  # @!attribute [rw] access_key_id
1085
1019
  # The identifier of an access key.
1086
1020
  #
@@ -1149,26 +1083,6 @@ module Aws::STS
1149
1083
  include Aws::Structure
1150
1084
  end
1151
1085
 
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
1086
  # @!attribute [rw] name
1173
1087
  # The name of the federated user. The name is used as an identifier
1174
1088
  # for the temporary security credentials (such as `Bob`). For example,
@@ -1187,8 +1101,8 @@ module Aws::STS
1187
1101
  #
1188
1102
  # You must pass an inline or managed [session policy][1] to this
1189
1103
  # 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.
1104
+ # inline session policy. You can also specify up to 10 managed policy
1105
+ # Amazon Resource Names (ARNs) to use as managed session policies.
1192
1106
  #
1193
1107
  # This parameter is optional. However, if you do not pass any session
1194
1108
  # policies, then the resulting federated user session has no
@@ -1216,12 +1130,13 @@ module Aws::STS
1216
1130
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
1217
1131
  # (\\u000D) characters.
1218
1132
  #
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.
1133
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
1134
+ # session policy, managed policy ARNs, and session tags into a packed
1135
+ # binary format that has a separate limit. Your request can fail for
1136
+ # this limit even if your plaintext meets the other requirements. The
1137
+ # `PackedPolicySize` response element indicates by percentage how
1138
+ # close the policies and tags for your request are to the upper size
1139
+ # limit.
1225
1140
  #
1226
1141
  # </note>
1227
1142
  #
@@ -1238,13 +1153,13 @@ module Aws::STS
1238
1153
  #
1239
1154
  # You must pass an inline or managed [session policy][1] to this
1240
1155
  # 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.
1156
+ # inline session policy. You can also specify up to 10 managed policy
1157
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
1158
+ # plaintext that you use for both inline and managed session policies
1159
+ # can't exceed 2,048 characters. You can provide up to 10 managed
1160
+ # policy ARNs. For more information about ARNs, see [Amazon Resource
1161
+ # Names (ARNs) and Amazon Web Services Service Namespaces][2] in the
1162
+ # Amazon Web Services General Reference.
1248
1163
  #
1249
1164
  # This parameter is optional. However, if you do not pass any session
1250
1165
  # policies, then the resulting federated user session has no
@@ -1265,12 +1180,13 @@ module Aws::STS
1265
1180
  # are granted in addition to the permissions that are granted by the
1266
1181
  # session policies.
1267
1182
  #
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.
1183
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
1184
+ # session policy, managed policy ARNs, and session tags into a packed
1185
+ # binary format that has a separate limit. Your request can fail for
1186
+ # this limit even if your plaintext meets the other requirements. The
1187
+ # `PackedPolicySize` response element indicates by percentage how
1188
+ # close the policies and tags for your request are to the upper size
1189
+ # limit.
1274
1190
  #
1275
1191
  # </note>
1276
1192
  #
@@ -1284,11 +1200,10 @@ module Aws::STS
1284
1200
  # The duration, in seconds, that the session should last. Acceptable
1285
1201
  # durations for federation sessions range from 900 seconds (15
1286
1202
  # 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.
1203
+ # hours) as the default. Sessions obtained using root user credentials
1204
+ # are restricted to a maximum of 3,600 seconds (one hour). If the
1205
+ # specified duration is longer than one hour, the session obtained by
1206
+ # using root user credentials defaults to one hour.
1292
1207
  # @return [Integer]
1293
1208
  #
1294
1209
  # @!attribute [rw] tags
@@ -1301,12 +1216,13 @@ module Aws::STS
1301
1216
  # values can’t exceed 256 characters. For these and additional limits,
1302
1217
  # see [IAM and STS Character Limits][2] in the *IAM User Guide*.
1303
1218
  #
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.
1219
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
1220
+ # session policy, managed policy ARNs, and session tags into a packed
1221
+ # binary format that has a separate limit. Your request can fail for
1222
+ # this limit even if your plaintext meets the other requirements. The
1223
+ # `PackedPolicySize` response element indicates by percentage how
1224
+ # close the policies and tags for your request are to the upper size
1225
+ # limit.
1310
1226
  #
1311
1227
  # </note>
1312
1228
  #
@@ -1379,15 +1295,6 @@ module Aws::STS
1379
1295
  include Aws::Structure
1380
1296
  end
1381
1297
 
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
1298
  # @!attribute [rw] duration_seconds
1392
1299
  # The duration, in seconds, that the credentials should remain valid.
1393
1300
  # Acceptable durations for IAM user sessions range from 900 seconds
@@ -1571,13 +1478,6 @@ module Aws::STS
1571
1478
  # A reference to the IAM managed policy that is passed as a session
1572
1479
  # policy for a role session or a federated user session.
1573
1480
  #
1574
- # @note When making an API call, you may pass PolicyDescriptorType
1575
- # data as a hash:
1576
- #
1577
- # {
1578
- # arn: "arnType",
1579
- # }
1580
- #
1581
1481
  # @!attribute [rw] arn
1582
1482
  # The Amazon Resource Name (ARN) of the IAM managed policy to use as a
1583
1483
  # session policy for the role. For more information about ARNs, see
@@ -1628,14 +1528,6 @@ module Aws::STS
1628
1528
  #
1629
1529
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1630
1530
  #
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
1531
  # @!attribute [rw] key
1640
1532
  # The key for a session tag.
1641
1533
  #
data/lib/aws-sdk-sts.rb CHANGED
@@ -15,9 +15,13 @@ end
15
15
 
16
16
  require_relative 'aws-sdk-sts/types'
17
17
  require_relative 'aws-sdk-sts/client_api'
18
+ require_relative 'aws-sdk-sts/plugins/endpoints.rb'
18
19
  require_relative 'aws-sdk-sts/client'
19
20
  require_relative 'aws-sdk-sts/errors'
20
21
  require_relative 'aws-sdk-sts/resource'
22
+ require_relative 'aws-sdk-sts/endpoint_parameters'
23
+ require_relative 'aws-sdk-sts/endpoint_provider'
24
+ require_relative 'aws-sdk-sts/endpoints'
21
25
  require_relative 'aws-sdk-sts/customizations'
22
26
 
23
27
  # This module provides support for AWS Security Token Service. This module is available in the
@@ -50,6 +54,6 @@ require_relative 'aws-sdk-sts/customizations'
50
54
  # @!group service
51
55
  module Aws::STS
52
56
 
53
- GEM_VERSION = '3.130.1'
57
+ GEM_VERSION = '3.178.0'
54
58
 
55
59
  end
@@ -49,4 +49,3 @@ module Seahorse
49
49
  end
50
50
  end
51
51
  end
52
-
@@ -68,7 +68,7 @@ module Seahorse
68
68
  @block = block
69
69
  end
70
70
 
71
- def call(*args)
71
+ def call(*args)
72
72
  @block.call(*args)
73
73
  end
74
74
  end
@@ -204,10 +204,6 @@ module Seahorse
204
204
  def value_at(opt_name)
205
205
  value = @struct[opt_name]
206
206
  if value.is_a?(Defaults)
207
- # this config value is used by endpoint discovery
208
- if opt_name == :endpoint && @struct.members.include?(:regional_endpoint)
209
- @struct[:regional_endpoint] = true
210
- end
211
207
  resolve_defaults(opt_name, value)
212
208
  else
213
209
  value
@@ -43,7 +43,9 @@ module Seahorse
43
43
  @h2_client = HTTP2::Client.new(
44
44
  settings_max_concurrent_streams: max_concurrent_streams
45
45
  )
46
- @logger = options[:logger] || Logger.new($stdout) if @http_wire_trace
46
+ @logger = if @http_wire_trace
47
+ options[:logger] || Logger.new($stdout)
48
+ end
47
49
  @chunk_size = options[:read_chunk_size] || CHUNKSIZE
48
50
  @errors = []
49
51
  @status = :ready
@@ -104,7 +106,7 @@ module Seahorse
104
106
  @mutex.synchronize {
105
107
  return if @socket_thread
106
108
  @socket_thread = Thread.new do
107
- while !@socket.closed?
109
+ while @socket && !@socket.closed?
108
110
  begin
109
111
  data = @socket.read_nonblock(@chunk_size)
110
112
  @h2_client << data
@@ -130,6 +132,7 @@ module Seahorse
130
132
  self.close!
131
133
  end
132
134
  end
135
+ @socket_thread = nil
133
136
  end
134
137
  @socket_thread.abort_on_exception = true
135
138
  }
@@ -142,10 +145,6 @@ module Seahorse
142
145
  @socket.close
143
146
  @socket = nil
144
147
  end
145
- if @socket_thread
146
- Thread.kill(@socket_thread)
147
- @socket_thread = nil
148
- end
149
148
  @status = :closed
150
149
  }
151
150
  end
@@ -183,11 +182,13 @@ module Seahorse
183
182
  @socket.flush
184
183
  end
185
184
  end
186
- @h2_client.on(:frame_sent) do |frame|
187
- debug_output("frame: #{frame.inspect}", :send)
188
- end
189
- @h2_client.on(:frame_received) do |frame|
190
- debug_output("frame: #{frame.inspect}", :receive)
185
+ if @http_wire_trace
186
+ @h2_client.on(:frame_sent) do |frame|
187
+ debug_output("frame: #{frame.inspect}", :send)
188
+ end
189
+ @h2_client.on(:frame_received) do |frame|
190
+ debug_output("frame: #{frame.inspect}", :receive)
191
+ end
191
192
  end
192
193
  end
193
194
 
@@ -80,18 +80,18 @@ bytes in the body.
80
80
  context.http_request.body,
81
81
  callback
82
82
  )
83
- add_event_listeners(context)
83
+ @handler.call(context).tap do
84
+ unwrap_callback_body(context)
85
+ end
86
+ else
87
+ @handler.call(context)
84
88
  end
85
- @handler.call(context)
86
89
  end
87
90
 
88
- def add_event_listeners(context)
89
- # unwrap the request body as soon as we start receiving a response
90
- context.http_response.on_headers do
91
- body = context.http_request.body
92
- if body.is_a? ReadCallbackIO
93
- context.http_request.body = body.io
94
- end
91
+ def unwrap_callback_body(context)
92
+ body = context.http_request.body
93
+ if body.is_a? ReadCallbackIO
94
+ context.http_request.body = body.io
95
95
  end
96
96
  end
97
97
  end
@@ -28,6 +28,9 @@ module Seahorse
28
28
  # @return [Hash]
29
29
  attr_accessor :http_checksum
30
30
 
31
+ # @return [Hash]
32
+ attr_accessor :request_compression
33
+
31
34
  # @return [Boolean]
32
35
  attr_accessor :deprecated
33
36
 
data/lib/seahorse/util.rb CHANGED
@@ -14,6 +14,10 @@ module Seahorse
14
14
  path.gsub(/[^\/]+/) { |part| uri_escape(part) }
15
15
  end
16
16
 
17
+ def escape_header_list_string(s)
18
+ s.include?('"') || s.include?(',') ? "\"#{s.gsub('"', '\"')}\"" : s
19
+ end
20
+
17
21
  # Checks for a valid host label
18
22
  # @see https://tools.ietf.org/html/rfc3986#section-3.2.2
19
23
  # @see https://tools.ietf.org/html/rfc1123#page-13