aws-sdk-core 3.170.1 → 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 (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +855 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +4 -4
  5. data/lib/aws-defaults.rb +4 -1
  6. data/lib/aws-sdk-core/arn.rb +1 -3
  7. data/lib/aws-sdk-core/assume_role_credentials.rb +21 -13
  8. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +16 -9
  9. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  10. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  11. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  12. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  13. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  14. data/lib/aws-sdk-core/cbor/decoder.rb +308 -0
  15. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  16. data/lib/aws-sdk-core/cbor.rb +53 -0
  17. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  18. data/lib/aws-sdk-core/client_stubs.rb +39 -55
  19. data/lib/aws-sdk-core/credential_provider.rb +8 -1
  20. data/lib/aws-sdk-core/credential_provider_chain.rb +103 -26
  21. data/lib/aws-sdk-core/credentials.rb +19 -6
  22. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  23. data/lib/aws-sdk-core/ecs_credentials.rb +186 -60
  24. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  25. data/lib/aws-sdk-core/endpoints/matchers.rb +21 -19
  26. data/lib/aws-sdk-core/endpoints.rb +106 -22
  27. data/lib/aws-sdk-core/error_handler.rb +46 -0
  28. data/lib/aws-sdk-core/errors.rb +17 -5
  29. data/lib/aws-sdk-core/event_emitter.rb +1 -17
  30. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  31. data/lib/aws-sdk-core/instance_profile_credentials.rb +168 -155
  32. data/lib/aws-sdk-core/json/builder.rb +8 -1
  33. data/lib/aws-sdk-core/json/error_handler.rb +41 -15
  34. data/lib/aws-sdk-core/json/handler.rb +13 -6
  35. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  36. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  37. data/lib/aws-sdk-core/json/parser.rb +33 -3
  38. data/lib/aws-sdk-core/json.rb +43 -14
  39. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  40. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  41. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  42. data/lib/aws-sdk-core/log.rb +10 -0
  43. data/lib/aws-sdk-core/login_credentials.rb +229 -0
  44. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  45. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  46. data/lib/aws-sdk-core/param_validator.rb +9 -4
  47. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  48. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +348 -169
  49. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
  50. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  51. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +78 -56
  52. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  53. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  54. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  55. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  56. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  57. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  58. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  59. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  60. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  61. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  62. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  63. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  64. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +162 -37
  65. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  66. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  67. data/lib/aws-sdk-core/plugins/sign.rb +55 -33
  68. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  69. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  70. data/lib/aws-sdk-core/plugins/stub_responses.rb +59 -9
  71. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  72. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  73. data/lib/aws-sdk-core/plugins/user_agent.rb +194 -14
  74. data/lib/aws-sdk-core/plugins.rb +39 -0
  75. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  76. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  77. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  78. data/lib/aws-sdk-core/query/handler.rb +4 -4
  79. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  80. data/lib/aws-sdk-core/query.rb +2 -1
  81. data/lib/aws-sdk-core/refreshing_credentials.rb +20 -23
  82. data/lib/aws-sdk-core/resources.rb +8 -0
  83. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  84. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  85. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  86. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  87. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  88. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  89. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  90. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  91. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  92. data/lib/aws-sdk-core/rest.rb +1 -0
  93. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  94. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  95. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  96. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
  97. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  98. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  99. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  100. data/lib/aws-sdk-core/shared_config.rb +155 -39
  101. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  102. data/lib/aws-sdk-core/sso_credentials.rb +6 -3
  103. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  104. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  105. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  106. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  107. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  108. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  109. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  110. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  111. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  112. data/lib/aws-sdk-core/stubbing.rb +22 -0
  113. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  114. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  115. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  116. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  117. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  118. data/lib/aws-sdk-core/telemetry.rb +78 -0
  119. data/lib/aws-sdk-core/token.rb +3 -3
  120. data/lib/aws-sdk-core/token_provider.rb +4 -0
  121. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  122. data/lib/aws-sdk-core/util.rb +41 -1
  123. data/lib/aws-sdk-core/waiters/poller.rb +12 -5
  124. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  125. data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
  126. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  127. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  128. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  129. data/lib/aws-sdk-core.rb +86 -107
  130. data/lib/aws-sdk-signin/client.rb +604 -0
  131. data/lib/aws-sdk-signin/client_api.rb +119 -0
  132. data/lib/aws-sdk-signin/customizations.rb +1 -0
  133. data/lib/aws-sdk-signin/endpoint_parameters.rb +69 -0
  134. data/lib/aws-sdk-signin/endpoint_provider.rb +59 -0
  135. data/lib/aws-sdk-signin/endpoints.rb +20 -0
  136. data/lib/aws-sdk-signin/errors.rb +122 -0
  137. data/lib/aws-sdk-signin/plugins/endpoints.rb +77 -0
  138. data/lib/aws-sdk-signin/resource.rb +26 -0
  139. data/lib/aws-sdk-signin/types.rb +299 -0
  140. data/lib/aws-sdk-signin.rb +63 -0
  141. data/lib/aws-sdk-sso/client.rb +205 -92
  142. data/lib/aws-sdk-sso/client_api.rb +7 -0
  143. data/lib/aws-sdk-sso/endpoint_parameters.rb +13 -10
  144. data/lib/aws-sdk-sso/endpoint_provider.rb +30 -28
  145. data/lib/aws-sdk-sso/endpoints.rb +3 -54
  146. data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
  147. data/lib/aws-sdk-sso/types.rb +1 -0
  148. data/lib/aws-sdk-sso.rb +15 -11
  149. data/lib/aws-sdk-ssooidc/client.rb +625 -125
  150. data/lib/aws-sdk-ssooidc/client_api.rb +94 -1
  151. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +13 -10
  152. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +30 -28
  153. data/lib/aws-sdk-ssooidc/endpoints.rb +3 -40
  154. data/lib/aws-sdk-ssooidc/errors.rb +62 -0
  155. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
  156. data/lib/aws-sdk-ssooidc/types.rb +419 -53
  157. data/lib/aws-sdk-ssooidc.rb +15 -11
  158. data/lib/aws-sdk-sts/client.rb +656 -249
  159. data/lib/aws-sdk-sts/client_api.rb +120 -9
  160. data/lib/aws-sdk-sts/customizations.rb +5 -2
  161. data/lib/aws-sdk-sts/endpoint_parameters.rb +15 -14
  162. data/lib/aws-sdk-sts/endpoint_provider.rb +82 -84
  163. data/lib/aws-sdk-sts/endpoints.rb +3 -118
  164. data/lib/aws-sdk-sts/errors.rb +79 -0
  165. data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
  166. data/lib/aws-sdk-sts/presigner.rb +3 -7
  167. data/lib/aws-sdk-sts/types.rb +390 -40
  168. data/lib/aws-sdk-sts.rb +15 -11
  169. data/lib/seahorse/client/async_base.rb +4 -5
  170. data/lib/seahorse/client/async_response.rb +19 -0
  171. data/lib/seahorse/client/base.rb +18 -21
  172. data/lib/seahorse/client/configuration.rb +0 -4
  173. data/lib/seahorse/client/h2/connection.rb +18 -28
  174. data/lib/seahorse/client/h2/handler.rb +19 -3
  175. data/lib/seahorse/client/handler.rb +1 -1
  176. data/lib/seahorse/client/http/response.rb +1 -1
  177. data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
  178. data/lib/seahorse/client/net_http/handler.rb +21 -9
  179. data/lib/seahorse/client/net_http/patches.rb +1 -4
  180. data/lib/seahorse/client/networking_error.rb +1 -1
  181. data/lib/seahorse/client/plugin.rb +9 -0
  182. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  183. data/lib/seahorse/client/plugins/h2.rb +4 -4
  184. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  185. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  186. data/lib/seahorse/client/request_context.rb +9 -2
  187. data/lib/seahorse/client/response.rb +8 -0
  188. data/lib/seahorse/model/operation.rb +3 -0
  189. data/lib/seahorse/model/shapes.rb +2 -2
  190. data/lib/seahorse/util.rb +2 -1
  191. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  192. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  193. data/sig/aws-sdk-core/errors.rbs +22 -0
  194. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  195. data/sig/aws-sdk-core/structure.rbs +4 -0
  196. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  197. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  198. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  199. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  200. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  201. data/sig/aws-sdk-core.rbs +7 -0
  202. data/sig/seahorse/client/async_base.rbs +18 -0
  203. data/sig/seahorse/client/base.rbs +25 -0
  204. data/sig/seahorse/client/handler_builder.rbs +16 -0
  205. data/sig/seahorse/client/response.rbs +61 -0
  206. metadata +118 -23
  207. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  208. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  209. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  210. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  211. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -9,127 +9,12 @@
9
9
 
10
10
 
11
11
  module Aws::STS
12
+ # @api private
12
13
  module Endpoints
13
14
 
14
- class AssumeRole
15
- def self.build(context)
16
- unless context.config.regional_endpoint
17
- endpoint = context.config.endpoint.to_s
18
- end
19
- Aws::STS::EndpointParameters.new(
20
- region: context.config.region,
21
- use_dual_stack: context.config.use_dualstack_endpoint,
22
- use_fips: context.config.use_fips_endpoint,
23
- endpoint: endpoint,
24
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
25
- )
26
- end
27
- end
28
-
29
- class AssumeRoleWithSAML
30
- def self.build(context)
31
- unless context.config.regional_endpoint
32
- endpoint = context.config.endpoint.to_s
33
- end
34
- Aws::STS::EndpointParameters.new(
35
- region: context.config.region,
36
- use_dual_stack: context.config.use_dualstack_endpoint,
37
- use_fips: context.config.use_fips_endpoint,
38
- endpoint: endpoint,
39
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
40
- )
41
- end
42
- end
43
-
44
- class AssumeRoleWithWebIdentity
45
- def self.build(context)
46
- unless context.config.regional_endpoint
47
- endpoint = context.config.endpoint.to_s
48
- end
49
- Aws::STS::EndpointParameters.new(
50
- region: context.config.region,
51
- use_dual_stack: context.config.use_dualstack_endpoint,
52
- use_fips: context.config.use_fips_endpoint,
53
- endpoint: endpoint,
54
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
55
- )
56
- end
57
- end
58
-
59
- class DecodeAuthorizationMessage
60
- def self.build(context)
61
- unless context.config.regional_endpoint
62
- endpoint = context.config.endpoint.to_s
63
- end
64
- Aws::STS::EndpointParameters.new(
65
- region: context.config.region,
66
- use_dual_stack: context.config.use_dualstack_endpoint,
67
- use_fips: context.config.use_fips_endpoint,
68
- endpoint: endpoint,
69
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
70
- )
71
- end
72
- end
73
15
 
74
- class GetAccessKeyInfo
75
- def self.build(context)
76
- unless context.config.regional_endpoint
77
- endpoint = context.config.endpoint.to_s
78
- end
79
- Aws::STS::EndpointParameters.new(
80
- region: context.config.region,
81
- use_dual_stack: context.config.use_dualstack_endpoint,
82
- use_fips: context.config.use_fips_endpoint,
83
- endpoint: endpoint,
84
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
85
- )
86
- end
16
+ def self.parameters_for_operation(context)
17
+ Aws::STS::EndpointParameters.create(context.config)
87
18
  end
88
-
89
- class GetCallerIdentity
90
- def self.build(context)
91
- unless context.config.regional_endpoint
92
- endpoint = context.config.endpoint.to_s
93
- end
94
- Aws::STS::EndpointParameters.new(
95
- region: context.config.region,
96
- use_dual_stack: context.config.use_dualstack_endpoint,
97
- use_fips: context.config.use_fips_endpoint,
98
- endpoint: endpoint,
99
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
100
- )
101
- end
102
- end
103
-
104
- class GetFederationToken
105
- def self.build(context)
106
- unless context.config.regional_endpoint
107
- endpoint = context.config.endpoint.to_s
108
- end
109
- Aws::STS::EndpointParameters.new(
110
- region: context.config.region,
111
- use_dual_stack: context.config.use_dualstack_endpoint,
112
- use_fips: context.config.use_fips_endpoint,
113
- endpoint: endpoint,
114
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
115
- )
116
- end
117
- end
118
-
119
- class GetSessionToken
120
- def self.build(context)
121
- unless context.config.regional_endpoint
122
- endpoint = context.config.endpoint.to_s
123
- end
124
- Aws::STS::EndpointParameters.new(
125
- region: context.config.region,
126
- use_dual_stack: context.config.use_dualstack_endpoint,
127
- use_fips: context.config.use_fips_endpoint,
128
- endpoint: endpoint,
129
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
130
- )
131
- end
132
- end
133
-
134
19
  end
135
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',