aws-sdk-core 3.186.0 → 3.240.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 (204) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +695 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults.rb +4 -1
  5. data/lib/aws-sdk-core/arn.rb +1 -3
  6. data/lib/aws-sdk-core/assume_role_credentials.rb +21 -13
  7. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +16 -9
  8. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  9. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  10. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  11. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  12. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  13. data/lib/aws-sdk-core/cbor/decoder.rb +308 -0
  14. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  15. data/lib/aws-sdk-core/cbor.rb +53 -0
  16. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  17. data/lib/aws-sdk-core/client_stubs.rb +39 -55
  18. data/lib/aws-sdk-core/credential_provider.rb +5 -1
  19. data/lib/aws-sdk-core/credential_provider_chain.rb +101 -25
  20. data/lib/aws-sdk-core/credentials.rb +19 -6
  21. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  22. data/lib/aws-sdk-core/ecs_credentials.rb +92 -24
  23. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  24. data/lib/aws-sdk-core/endpoints/matchers.rb +8 -10
  25. data/lib/aws-sdk-core/endpoints.rb +101 -21
  26. data/lib/aws-sdk-core/error_handler.rb +46 -0
  27. data/lib/aws-sdk-core/errors.rb +16 -4
  28. data/lib/aws-sdk-core/event_emitter.rb +1 -17
  29. data/lib/aws-sdk-core/instance_profile_credentials.rb +148 -157
  30. data/lib/aws-sdk-core/json/builder.rb +8 -1
  31. data/lib/aws-sdk-core/json/error_handler.rb +29 -13
  32. data/lib/aws-sdk-core/json/handler.rb +13 -6
  33. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  34. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  35. data/lib/aws-sdk-core/json/parser.rb +32 -2
  36. data/lib/aws-sdk-core/json.rb +43 -14
  37. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  38. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  39. data/lib/aws-sdk-core/log.rb +10 -0
  40. data/lib/aws-sdk-core/login_credentials.rb +229 -0
  41. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  42. data/lib/aws-sdk-core/pageable_response.rb +1 -1
  43. data/lib/aws-sdk-core/param_validator.rb +7 -2
  44. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  45. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +347 -168
  46. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
  47. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  48. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +78 -56
  49. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  50. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  51. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  52. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  53. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  54. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  55. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  56. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  57. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  58. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  59. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  60. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  61. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +74 -25
  62. data/lib/aws-sdk-core/plugins/request_compression.rb +11 -2
  63. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  64. data/lib/aws-sdk-core/plugins/sign.rb +55 -34
  65. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  66. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  67. data/lib/aws-sdk-core/plugins/stub_responses.rb +59 -9
  68. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  69. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  70. data/lib/aws-sdk-core/plugins/user_agent.rb +103 -26
  71. data/lib/aws-sdk-core/plugins.rb +39 -0
  72. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  73. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  74. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  75. data/lib/aws-sdk-core/query/handler.rb +4 -4
  76. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  77. data/lib/aws-sdk-core/query.rb +2 -1
  78. data/lib/aws-sdk-core/refreshing_credentials.rb +20 -17
  79. data/lib/aws-sdk-core/resources.rb +8 -0
  80. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  81. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  82. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  83. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  84. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  85. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +23 -11
  86. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  87. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  88. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  89. data/lib/aws-sdk-core/rest.rb +1 -0
  90. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  91. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  92. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  93. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
  94. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  95. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  96. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  97. data/lib/aws-sdk-core/shared_config.rb +109 -22
  98. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  99. data/lib/aws-sdk-core/sso_credentials.rb +5 -2
  100. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  101. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  102. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  103. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  104. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  105. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  106. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  107. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  108. data/lib/aws-sdk-core/stubbing.rb +22 -0
  109. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  110. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  111. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  112. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  113. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  114. data/lib/aws-sdk-core/telemetry.rb +78 -0
  115. data/lib/aws-sdk-core/token.rb +3 -3
  116. data/lib/aws-sdk-core/token_provider.rb +4 -0
  117. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  118. data/lib/aws-sdk-core/util.rb +41 -1
  119. data/lib/aws-sdk-core/waiters/poller.rb +10 -5
  120. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  121. data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
  122. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  123. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  124. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  125. data/lib/aws-sdk-core.rb +86 -107
  126. data/lib/aws-sdk-signin/client.rb +604 -0
  127. data/lib/aws-sdk-signin/client_api.rb +119 -0
  128. data/lib/aws-sdk-signin/customizations.rb +1 -0
  129. data/lib/aws-sdk-signin/endpoint_parameters.rb +69 -0
  130. data/lib/aws-sdk-signin/endpoint_provider.rb +59 -0
  131. data/lib/aws-sdk-signin/endpoints.rb +20 -0
  132. data/lib/aws-sdk-signin/errors.rb +122 -0
  133. data/lib/aws-sdk-signin/plugins/endpoints.rb +77 -0
  134. data/lib/aws-sdk-signin/resource.rb +26 -0
  135. data/lib/aws-sdk-signin/types.rb +299 -0
  136. data/lib/aws-sdk-signin.rb +63 -0
  137. data/lib/aws-sdk-sso/client.rb +189 -96
  138. data/lib/aws-sdk-sso/client_api.rb +7 -0
  139. data/lib/aws-sdk-sso/endpoint_parameters.rb +13 -10
  140. data/lib/aws-sdk-sso/endpoint_provider.rb +16 -20
  141. data/lib/aws-sdk-sso/endpoints.rb +2 -54
  142. data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
  143. data/lib/aws-sdk-sso/types.rb +1 -0
  144. data/lib/aws-sdk-sso.rb +15 -11
  145. data/lib/aws-sdk-ssooidc/client.rb +609 -129
  146. data/lib/aws-sdk-ssooidc/client_api.rb +94 -1
  147. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +13 -10
  148. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +16 -20
  149. data/lib/aws-sdk-ssooidc/endpoints.rb +2 -40
  150. data/lib/aws-sdk-ssooidc/errors.rb +62 -0
  151. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
  152. data/lib/aws-sdk-ssooidc/types.rb +419 -53
  153. data/lib/aws-sdk-ssooidc.rb +15 -11
  154. data/lib/aws-sdk-sts/client.rb +537 -156
  155. data/lib/aws-sdk-sts/client_api.rb +108 -8
  156. data/lib/aws-sdk-sts/customizations.rb +5 -2
  157. data/lib/aws-sdk-sts/endpoint_parameters.rb +15 -14
  158. data/lib/aws-sdk-sts/endpoint_provider.rb +52 -57
  159. data/lib/aws-sdk-sts/endpoints.rb +2 -118
  160. data/lib/aws-sdk-sts/errors.rb +79 -0
  161. data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
  162. data/lib/aws-sdk-sts/presigner.rb +3 -7
  163. data/lib/aws-sdk-sts/types.rb +361 -35
  164. data/lib/aws-sdk-sts.rb +15 -11
  165. data/lib/seahorse/client/async_base.rb +4 -5
  166. data/lib/seahorse/client/async_response.rb +19 -0
  167. data/lib/seahorse/client/base.rb +18 -21
  168. data/lib/seahorse/client/h2/connection.rb +18 -28
  169. data/lib/seahorse/client/h2/handler.rb +19 -3
  170. data/lib/seahorse/client/handler.rb +1 -1
  171. data/lib/seahorse/client/http/response.rb +1 -1
  172. data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
  173. data/lib/seahorse/client/net_http/handler.rb +21 -9
  174. data/lib/seahorse/client/net_http/patches.rb +1 -4
  175. data/lib/seahorse/client/networking_error.rb +1 -1
  176. data/lib/seahorse/client/plugin.rb +9 -0
  177. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  178. data/lib/seahorse/client/plugins/h2.rb +4 -4
  179. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  180. data/lib/seahorse/client/request_context.rb +9 -2
  181. data/lib/seahorse/client/response.rb +2 -0
  182. data/lib/seahorse/model/shapes.rb +2 -2
  183. data/lib/seahorse/util.rb +2 -1
  184. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  185. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  186. data/sig/aws-sdk-core/errors.rbs +22 -0
  187. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  188. data/sig/aws-sdk-core/structure.rbs +4 -0
  189. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  190. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  191. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  192. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  193. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  194. data/sig/aws-sdk-core.rbs +7 -0
  195. data/sig/seahorse/client/async_base.rbs +18 -0
  196. data/sig/seahorse/client/base.rbs +25 -0
  197. data/sig/seahorse/client/handler_builder.rbs +16 -0
  198. data/sig/seahorse/client/response.rbs +61 -0
  199. metadata +117 -23
  200. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  201. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  202. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  203. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  204. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -12,125 +12,9 @@ module Aws::STS
12
12
  # @api private
13
13
  module Endpoints
14
14
 
15
- class AssumeRole
16
- def self.build(context)
17
- unless context.config.regional_endpoint
18
- endpoint = context.config.endpoint.to_s
19
- end
20
- Aws::STS::EndpointParameters.new(
21
- region: context.config.region,
22
- use_dual_stack: context.config.use_dualstack_endpoint,
23
- use_fips: context.config.use_fips_endpoint,
24
- endpoint: endpoint,
25
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
26
- )
27
- end
28
- end
29
-
30
- class AssumeRoleWithSAML
31
- def self.build(context)
32
- unless context.config.regional_endpoint
33
- endpoint = context.config.endpoint.to_s
34
- end
35
- Aws::STS::EndpointParameters.new(
36
- region: context.config.region,
37
- use_dual_stack: context.config.use_dualstack_endpoint,
38
- use_fips: context.config.use_fips_endpoint,
39
- endpoint: endpoint,
40
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
41
- )
42
- end
43
- end
44
-
45
- class AssumeRoleWithWebIdentity
46
- def self.build(context)
47
- unless context.config.regional_endpoint
48
- endpoint = context.config.endpoint.to_s
49
- end
50
- Aws::STS::EndpointParameters.new(
51
- region: context.config.region,
52
- use_dual_stack: context.config.use_dualstack_endpoint,
53
- use_fips: context.config.use_fips_endpoint,
54
- endpoint: endpoint,
55
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
56
- )
57
- end
58
- end
59
-
60
- class DecodeAuthorizationMessage
61
- def self.build(context)
62
- unless context.config.regional_endpoint
63
- endpoint = context.config.endpoint.to_s
64
- end
65
- Aws::STS::EndpointParameters.new(
66
- region: context.config.region,
67
- use_dual_stack: context.config.use_dualstack_endpoint,
68
- use_fips: context.config.use_fips_endpoint,
69
- endpoint: endpoint,
70
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
71
- )
72
- end
73
- end
74
15
 
75
- class GetAccessKeyInfo
76
- def self.build(context)
77
- unless context.config.regional_endpoint
78
- endpoint = context.config.endpoint.to_s
79
- end
80
- Aws::STS::EndpointParameters.new(
81
- region: context.config.region,
82
- use_dual_stack: context.config.use_dualstack_endpoint,
83
- use_fips: context.config.use_fips_endpoint,
84
- endpoint: endpoint,
85
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
86
- )
87
- end
16
+ def self.parameters_for_operation(context)
17
+ Aws::STS::EndpointParameters.create(context.config)
88
18
  end
89
-
90
- class GetCallerIdentity
91
- def self.build(context)
92
- unless context.config.regional_endpoint
93
- endpoint = context.config.endpoint.to_s
94
- end
95
- Aws::STS::EndpointParameters.new(
96
- region: context.config.region,
97
- use_dual_stack: context.config.use_dualstack_endpoint,
98
- use_fips: context.config.use_fips_endpoint,
99
- endpoint: endpoint,
100
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
101
- )
102
- end
103
- end
104
-
105
- class GetFederationToken
106
- def self.build(context)
107
- unless context.config.regional_endpoint
108
- endpoint = context.config.endpoint.to_s
109
- end
110
- Aws::STS::EndpointParameters.new(
111
- region: context.config.region,
112
- use_dual_stack: context.config.use_dualstack_endpoint,
113
- use_fips: context.config.use_fips_endpoint,
114
- endpoint: endpoint,
115
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
116
- )
117
- end
118
- end
119
-
120
- class GetSessionToken
121
- def self.build(context)
122
- unless context.config.regional_endpoint
123
- endpoint = context.config.endpoint.to_s
124
- end
125
- Aws::STS::EndpointParameters.new(
126
- region: context.config.region,
127
- use_dual_stack: context.config.use_dualstack_endpoint,
128
- use_fips: context.config.use_fips_endpoint,
129
- endpoint: endpoint,
130
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
131
- )
132
- end
133
- end
134
-
135
19
  end
136
20
  end
@@ -28,13 +28,22 @@ module Aws::STS
28
28
  #
29
29
  # ## Error Classes
30
30
  # * {ExpiredTokenException}
31
+ # * {ExpiredTradeInTokenException}
31
32
  # * {IDPCommunicationErrorException}
33
+ # * This error class is not used. `IDPCommunicationError` is used during parsing instead.
32
34
  # * {IDPRejectedClaimException}
35
+ # * This error class is not used. `IDPRejectedClaim` is used during parsing instead.
33
36
  # * {InvalidAuthorizationMessageException}
34
37
  # * {InvalidIdentityTokenException}
38
+ # * This error class is not used. `InvalidIdentityToken` is used during parsing instead.
39
+ # * {JWTPayloadSizeExceededException}
35
40
  # * {MalformedPolicyDocumentException}
41
+ # * This error class is not used. `MalformedPolicyDocument` is used during parsing instead.
42
+ # * {OutboundWebIdentityFederationDisabledException}
36
43
  # * {PackedPolicyTooLargeException}
44
+ # * This error class is not used. `PackedPolicyTooLarge` is used during parsing instead.
37
45
  # * {RegionDisabledException}
46
+ # * {SessionDurationEscalationException}
38
47
  #
39
48
  # Additionally, error classes are dynamically generated for service errors based on the error code
40
49
  # if they are not defined above.
@@ -57,6 +66,23 @@ module Aws::STS
57
66
  end
58
67
  end
59
68
 
69
+ class ExpiredTradeInTokenException < ServiceError
70
+
71
+ # @param [Seahorse::Client::RequestContext] context
72
+ # @param [String] message
73
+ # @param [Aws::STS::Types::ExpiredTradeInTokenException] data
74
+ def initialize(context, message, data = Aws::EmptyStructure.new)
75
+ super(context, message, data)
76
+ end
77
+
78
+ # @return [String]
79
+ def message
80
+ @message || @data[:message]
81
+ end
82
+ end
83
+
84
+ # @deprecated This error class is not used during parsing.
85
+ # Please use `IDPCommunicationError` instead.
60
86
  class IDPCommunicationErrorException < ServiceError
61
87
 
62
88
  # @param [Seahorse::Client::RequestContext] context
@@ -72,6 +98,8 @@ module Aws::STS
72
98
  end
73
99
  end
74
100
 
101
+ # @deprecated This error class is not used during parsing.
102
+ # Please use `IDPRejectedClaim` instead.
75
103
  class IDPRejectedClaimException < ServiceError
76
104
 
77
105
  # @param [Seahorse::Client::RequestContext] context
@@ -102,6 +130,8 @@ module Aws::STS
102
130
  end
103
131
  end
104
132
 
133
+ # @deprecated This error class is not used during parsing.
134
+ # Please use `InvalidIdentityToken` instead.
105
135
  class InvalidIdentityTokenException < ServiceError
106
136
 
107
137
  # @param [Seahorse::Client::RequestContext] context
@@ -117,6 +147,23 @@ module Aws::STS
117
147
  end
118
148
  end
119
149
 
150
+ class JWTPayloadSizeExceededException < ServiceError
151
+
152
+ # @param [Seahorse::Client::RequestContext] context
153
+ # @param [String] message
154
+ # @param [Aws::STS::Types::JWTPayloadSizeExceededException] data
155
+ def initialize(context, message, data = Aws::EmptyStructure.new)
156
+ super(context, message, data)
157
+ end
158
+
159
+ # @return [String]
160
+ def message
161
+ @message || @data[:message]
162
+ end
163
+ end
164
+
165
+ # @deprecated This error class is not used during parsing.
166
+ # Please use `MalformedPolicyDocument` instead.
120
167
  class MalformedPolicyDocumentException < ServiceError
121
168
 
122
169
  # @param [Seahorse::Client::RequestContext] context
@@ -132,6 +179,23 @@ module Aws::STS
132
179
  end
133
180
  end
134
181
 
182
+ class OutboundWebIdentityFederationDisabledException < ServiceError
183
+
184
+ # @param [Seahorse::Client::RequestContext] context
185
+ # @param [String] message
186
+ # @param [Aws::STS::Types::OutboundWebIdentityFederationDisabledException] data
187
+ def initialize(context, message, data = Aws::EmptyStructure.new)
188
+ super(context, message, data)
189
+ end
190
+
191
+ # @return [String]
192
+ def message
193
+ @message || @data[:message]
194
+ end
195
+ end
196
+
197
+ # @deprecated This error class is not used during parsing.
198
+ # Please use `PackedPolicyTooLarge` instead.
135
199
  class PackedPolicyTooLargeException < ServiceError
136
200
 
137
201
  # @param [Seahorse::Client::RequestContext] context
@@ -162,5 +226,20 @@ module Aws::STS
162
226
  end
163
227
  end
164
228
 
229
+ class SessionDurationEscalationException < ServiceError
230
+
231
+ # @param [Seahorse::Client::RequestContext] context
232
+ # @param [String] message
233
+ # @param [Aws::STS::Types::SessionDurationEscalationException] data
234
+ def initialize(context, message, data = Aws::EmptyStructure.new)
235
+ super(context, message, data)
236
+ end
237
+
238
+ # @return [String]
239
+ def message
240
+ @message || @data[:message]
241
+ end
242
+ end
243
+
165
244
  end
166
245
  end
@@ -14,35 +14,49 @@ module Aws::STS
14
14
  option(
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::STS::EndpointProvider',
17
- docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
- 'object that responds to `#resolve_endpoint(parameters)` '\
19
- 'where `parameters` is a Struct similar to '\
20
- '`Aws::STS::EndpointParameters`'
21
- ) do |cfg|
17
+ rbs_type: 'untyped',
18
+ docstring: <<~DOCS) do |_cfg|
19
+ The endpoint provider used to resolve endpoints. Any object that responds to
20
+ `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
21
+ `Aws::STS::EndpointParameters`.
22
+ DOCS
22
23
  Aws::STS::EndpointProvider.new
23
24
  end
24
25
 
25
26
  # @api private
26
27
  class Handler < Seahorse::Client::Handler
27
28
  def call(context)
28
- # If endpoint was discovered, do not resolve or apply the endpoint.
29
29
  unless context[:discovered_endpoint]
30
- params = parameters_for_operation(context)
30
+ params = Aws::STS::Endpoints.parameters_for_operation(context)
31
31
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
32
 
33
33
  context.http_request.endpoint = endpoint.url
34
34
  apply_endpoint_headers(context, endpoint.headers)
35
+
36
+ context[:endpoint_params] = params
37
+ context[:endpoint_properties] = endpoint.properties
35
38
  end
36
39
 
37
- context[:endpoint_params] = params
38
40
  context[:auth_scheme] =
39
41
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
42
 
41
- @handler.call(context)
43
+ with_metrics(context) { @handler.call(context) }
42
44
  end
43
45
 
44
46
  private
45
47
 
48
+ def with_metrics(context, &block)
49
+ metrics = []
50
+ metrics << 'ENDPOINT_OVERRIDE' unless context.config.regional_endpoint
51
+ if context[:auth_scheme] && context[:auth_scheme]['name'] == 'sigv4a'
52
+ metrics << 'SIGV4A_SIGNING'
53
+ end
54
+ if context.config.credentials&.credentials&.account_id
55
+ metrics << 'RESOLVED_ACCOUNT_ID'
56
+ end
57
+ Aws::Plugins::UserAgent.metric(*metrics, &block)
58
+ end
59
+
46
60
  def apply_endpoint_headers(context, headers)
47
61
  headers.each do |key, values|
48
62
  value = values
@@ -53,27 +67,6 @@ module Aws::STS
53
67
  context.http_request.headers[key] = value
54
68
  end
55
69
  end
56
-
57
- def parameters_for_operation(context)
58
- case context.operation_name
59
- when :assume_role
60
- Aws::STS::Endpoints::AssumeRole.build(context)
61
- when :assume_role_with_saml
62
- Aws::STS::Endpoints::AssumeRoleWithSAML.build(context)
63
- when :assume_role_with_web_identity
64
- Aws::STS::Endpoints::AssumeRoleWithWebIdentity.build(context)
65
- when :decode_authorization_message
66
- Aws::STS::Endpoints::DecodeAuthorizationMessage.build(context)
67
- when :get_access_key_info
68
- Aws::STS::Endpoints::GetAccessKeyInfo.build(context)
69
- when :get_caller_identity
70
- Aws::STS::Endpoints::GetCallerIdentity.build(context)
71
- when :get_federation_token
72
- Aws::STS::Endpoints::GetFederationToken.build(context)
73
- when :get_session_token
74
- Aws::STS::Endpoints::GetSessionToken.build(context)
75
- end
76
- end
77
70
  end
78
71
 
79
72
  def add_handlers(handlers, _config)
@@ -35,7 +35,7 @@ module Aws
35
35
  # )
36
36
  #
37
37
  # This can be easily converted to a token used by the EKS service:
38
- # {https://ruby-doc.org/stdlib-2.3.1/libdoc/base64/rdoc/Base64.html#method-i-encode64}
38
+ # {https://docs.ruby-lang.org/en/3.2/Base64.html#method-i-encode64}
39
39
  # "k8s-aws-v1." + Base64.urlsafe_encode64(url).chomp("==")
40
40
  def get_caller_identity_presigned_url(options = {})
41
41
  req = @client.build_request(:get_caller_identity, {})
@@ -53,13 +53,9 @@ module Aws
53
53
  use_fips: context.config.use_fips_endpoint,
54
54
  use_global_endpoint: context.config.sts_regional_endpoints == 'legacy'
55
55
  )
56
- endpoint = context.config.endpoint_provider
57
- .resolve_endpoint(endpoint_params)
56
+ endpoint = context.config.endpoint_provider.resolve_endpoint(endpoint_params)
58
57
  auth_scheme = Aws::Endpoints.resolve_auth_scheme(context, endpoint)
59
-
60
- signer = Aws::Plugins::Sign.signer_for(
61
- auth_scheme, context.config
62
- )
58
+ signer = Aws::Plugins::Sign.signer_for(auth_scheme, context.config)
63
59
 
64
60
  signer.presign_url(
65
61
  http_method: 'GET',