aws-sdk-core 3.131.1 → 3.188.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 (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +459 -0
  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/binary/encode_handler.rb +12 -1
  7. data/lib/aws-sdk-core/credential_provider.rb +3 -0
  8. data/lib/aws-sdk-core/credential_provider_chain.rb +8 -5
  9. data/lib/aws-sdk-core/ecs_credentials.rb +177 -53
  10. data/lib/aws-sdk-core/endpoints/condition.rb +41 -0
  11. data/lib/aws-sdk-core/endpoints/endpoint.rb +17 -0
  12. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +75 -0
  13. data/lib/aws-sdk-core/endpoints/error_rule.rb +42 -0
  14. data/lib/aws-sdk-core/endpoints/function.rb +80 -0
  15. data/lib/aws-sdk-core/endpoints/matchers.rb +131 -0
  16. data/lib/aws-sdk-core/endpoints/reference.rb +31 -0
  17. data/lib/aws-sdk-core/endpoints/rule.rb +25 -0
  18. data/lib/aws-sdk-core/endpoints/rule_set.rb +52 -0
  19. data/lib/aws-sdk-core/endpoints/rules_provider.rb +37 -0
  20. data/lib/aws-sdk-core/endpoints/templater.rb +58 -0
  21. data/lib/aws-sdk-core/endpoints/tree_rule.rb +45 -0
  22. data/lib/aws-sdk-core/endpoints/url.rb +60 -0
  23. data/lib/aws-sdk-core/endpoints.rb +78 -0
  24. data/lib/aws-sdk-core/errors.rb +14 -1
  25. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  26. data/lib/aws-sdk-core/instance_profile_credentials.rb +52 -30
  27. data/lib/aws-sdk-core/json/error_handler.rb +20 -1
  28. data/lib/aws-sdk-core/json/handler.rb +8 -1
  29. data/lib/aws-sdk-core/json/parser.rb +27 -2
  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/param_validator.rb +2 -2
  33. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +67 -0
  34. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +1 -1
  35. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +24 -0
  36. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +6 -2
  37. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +34 -6
  38. data/lib/aws-sdk-core/plugins/recursion_detection.rb +14 -3
  39. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +111 -30
  40. data/lib/aws-sdk-core/plugins/request_compression.rb +217 -0
  41. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +2 -1
  42. data/lib/aws-sdk-core/plugins/sign.rb +201 -0
  43. data/lib/aws-sdk-core/plugins/signature_v2.rb +1 -0
  44. data/lib/aws-sdk-core/plugins/signature_v4.rb +13 -7
  45. data/lib/aws-sdk-core/plugins/user_agent.rb +117 -14
  46. data/lib/aws-sdk-core/refreshing_credentials.rb +0 -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/rest/request/querystring_builder.rb +43 -29
  51. data/lib/aws-sdk-core/shared_config.rb +106 -6
  52. data/lib/aws-sdk-core/sso_credentials.rb +80 -45
  53. data/lib/aws-sdk-core/sso_token_provider.rb +135 -0
  54. data/lib/aws-sdk-core/static_token_provider.rb +14 -0
  55. data/lib/aws-sdk-core/structure.rb +6 -4
  56. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  57. data/lib/aws-sdk-core/token.rb +31 -0
  58. data/lib/aws-sdk-core/token_provider.rb +15 -0
  59. data/lib/aws-sdk-core/token_provider_chain.rb +51 -0
  60. data/lib/aws-sdk-core/waiters/poller.rb +3 -1
  61. data/lib/aws-sdk-core/xml/error_handler.rb +7 -0
  62. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
  63. data/lib/aws-sdk-core.rb +14 -0
  64. data/lib/aws-sdk-sso/client.rb +71 -11
  65. data/lib/aws-sdk-sso/endpoint_parameters.rb +66 -0
  66. data/lib/aws-sdk-sso/endpoint_provider.rb +57 -0
  67. data/lib/aws-sdk-sso/endpoints.rb +72 -0
  68. data/lib/aws-sdk-sso/plugins/endpoints.rb +76 -0
  69. data/lib/aws-sdk-sso/types.rb +8 -43
  70. data/lib/aws-sdk-sso.rb +5 -1
  71. data/lib/aws-sdk-ssooidc/client.rb +935 -0
  72. data/lib/aws-sdk-ssooidc/client_api.rb +271 -0
  73. data/lib/aws-sdk-ssooidc/customizations.rb +1 -0
  74. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +66 -0
  75. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +57 -0
  76. data/lib/aws-sdk-ssooidc/endpoints.rb +72 -0
  77. data/lib/aws-sdk-ssooidc/errors.rb +321 -0
  78. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +76 -0
  79. data/lib/aws-sdk-ssooidc/resource.rb +26 -0
  80. data/lib/aws-sdk-ssooidc/types.rb +755 -0
  81. data/lib/aws-sdk-ssooidc.rb +59 -0
  82. data/lib/aws-sdk-sts/client.rb +298 -245
  83. data/lib/aws-sdk-sts/client_api.rb +12 -1
  84. data/lib/aws-sdk-sts/endpoint_parameters.rb +78 -0
  85. data/lib/aws-sdk-sts/endpoint_provider.rb +112 -0
  86. data/lib/aws-sdk-sts/endpoints.rb +136 -0
  87. data/lib/aws-sdk-sts/plugins/endpoints.rb +84 -0
  88. data/lib/aws-sdk-sts/presigner.rb +14 -16
  89. data/lib/aws-sdk-sts/types.rb +128 -197
  90. data/lib/aws-sdk-sts.rb +5 -1
  91. data/lib/seahorse/client/async_base.rb +0 -1
  92. data/lib/seahorse/client/configuration.rb +1 -5
  93. data/lib/seahorse/client/h2/connection.rb +12 -11
  94. data/lib/seahorse/client/net_http/patches.rb +1 -4
  95. data/lib/seahorse/client/plugins/h2.rb +3 -3
  96. data/lib/seahorse/client/plugins/request_callback.rb +40 -9
  97. data/lib/seahorse/client/response.rb +6 -0
  98. data/lib/seahorse/model/operation.rb +3 -0
  99. data/lib/seahorse/util.rb +4 -0
  100. metadata +49 -7
@@ -60,6 +60,16 @@ the number of bytes read from the body, and the total number of
60
60
  bytes in the body.
61
61
  DOCS
62
62
 
63
+ option(:on_chunk_received,
64
+ default: nil,
65
+ doc_type: 'Proc',
66
+ docstring: <<-DOCS)
67
+ When a Proc object is provided, it will be used as callback when each chunk
68
+ of the response body is received. It provides three arguments: the chunk,
69
+ the number of bytes received, and the total number of
70
+ bytes in the response (or nil if the server did not send a `content-length`).
71
+ DOCS
72
+
63
73
  # @api private
64
74
  class OptionHandler < Client::Handler
65
75
  def call(context)
@@ -68,8 +78,29 @@ bytes in the body.
68
78
  end
69
79
  on_chunk_sent = context.config.on_chunk_sent if on_chunk_sent.nil?
70
80
  context[:on_chunk_sent] = on_chunk_sent if on_chunk_sent
81
+
82
+ if context.params.is_a?(Hash) && context.params[:on_chunk_received]
83
+ on_chunk_received = context.params.delete(:on_chunk_received)
84
+ end
85
+ on_chunk_received = context.config.on_chunk_received if on_chunk_received.nil?
86
+
87
+ add_response_events(on_chunk_received, context) if on_chunk_received
88
+
71
89
  @handler.call(context)
72
90
  end
91
+
92
+ def add_response_events(on_chunk_received, context)
93
+ shared_data = {bytes_received: 0}
94
+
95
+ context.http_response.on_headers do |_status, headers|
96
+ shared_data[:content_length] = headers['content-length']&.to_i
97
+ end
98
+
99
+ context.http_response.on_data do |chunk|
100
+ shared_data[:bytes_received] += chunk.bytesize if chunk && chunk.respond_to?(:bytesize)
101
+ on_chunk_received.call(chunk, shared_data[:bytes_received], shared_data[:content_length])
102
+ end
103
+ end
73
104
  end
74
105
 
75
106
  # @api private
@@ -80,18 +111,18 @@ bytes in the body.
80
111
  context.http_request.body,
81
112
  callback
82
113
  )
83
- add_event_listeners(context)
114
+ @handler.call(context).tap do
115
+ unwrap_callback_body(context)
116
+ end
117
+ else
118
+ @handler.call(context)
84
119
  end
85
- @handler.call(context)
86
120
  end
87
121
 
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
122
+ def unwrap_callback_body(context)
123
+ body = context.http_request.body
124
+ if body.is_a? ReadCallbackIO
125
+ context.http_request.body = body.io
95
126
  end
96
127
  end
97
128
  end
@@ -30,6 +30,12 @@ module Seahorse
30
30
  # @return [StandardError, nil]
31
31
  attr_accessor :error
32
32
 
33
+ # @return [String, nil] returns the algorithm used to validate
34
+ # the response checksum. Returns nil if no verification was done.
35
+ def checksum_validated
36
+ context[:http_checksum][:validated] if context[:http_checksum]
37
+ end
38
+
33
39
  # @overload on(status_code, &block)
34
40
  # @param [Integer] status_code The block will be
35
41
  # triggered only for responses with the given status code.
@@ -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
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.131.1
4
+ version: 3.188.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-20 00:00:00.000000000 Z
11
+ date: 2023-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '1'
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 1.525.0
42
+ version: 1.651.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,21 +49,21 @@ dependencies:
49
49
  version: '1'
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 1.525.0
52
+ version: 1.651.0
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: aws-sigv4
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '1.1'
59
+ version: '1.5'
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: '1.1'
66
+ version: '1.5'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: aws-eventstream
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +122,20 @@ files:
122
122
  - lib/aws-sdk-core/ec2_metadata.rb
123
123
  - lib/aws-sdk-core/ecs_credentials.rb
124
124
  - lib/aws-sdk-core/endpoint_cache.rb
125
+ - lib/aws-sdk-core/endpoints.rb
126
+ - lib/aws-sdk-core/endpoints/condition.rb
127
+ - lib/aws-sdk-core/endpoints/endpoint.rb
128
+ - lib/aws-sdk-core/endpoints/endpoint_rule.rb
129
+ - lib/aws-sdk-core/endpoints/error_rule.rb
130
+ - lib/aws-sdk-core/endpoints/function.rb
131
+ - lib/aws-sdk-core/endpoints/matchers.rb
132
+ - lib/aws-sdk-core/endpoints/reference.rb
133
+ - lib/aws-sdk-core/endpoints/rule.rb
134
+ - lib/aws-sdk-core/endpoints/rule_set.rb
135
+ - lib/aws-sdk-core/endpoints/rules_provider.rb
136
+ - lib/aws-sdk-core/endpoints/templater.rb
137
+ - lib/aws-sdk-core/endpoints/tree_rule.rb
138
+ - lib/aws-sdk-core/endpoints/url.rb
125
139
  - lib/aws-sdk-core/errors.rb
126
140
  - lib/aws-sdk-core/event_emitter.rb
127
141
  - lib/aws-sdk-core/ini_parser.rb
@@ -145,6 +159,7 @@ files:
145
159
  - lib/aws-sdk-core/plugins/apig_authorizer_token.rb
146
160
  - lib/aws-sdk-core/plugins/apig_credentials_configuration.rb
147
161
  - lib/aws-sdk-core/plugins/apig_user_agent.rb
162
+ - lib/aws-sdk-core/plugins/bearer_authorization.rb
148
163
  - lib/aws-sdk-core/plugins/checksum_algorithm.rb
149
164
  - lib/aws-sdk-core/plugins/client_metrics_plugin.rb
150
165
  - lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb
@@ -170,12 +185,14 @@ files:
170
185
  - lib/aws-sdk-core/plugins/protocols/rest_xml.rb
171
186
  - lib/aws-sdk-core/plugins/recursion_detection.rb
172
187
  - lib/aws-sdk-core/plugins/regional_endpoint.rb
188
+ - lib/aws-sdk-core/plugins/request_compression.rb
173
189
  - lib/aws-sdk-core/plugins/response_paging.rb
174
190
  - lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb
175
191
  - lib/aws-sdk-core/plugins/retries/clock_skew.rb
176
192
  - lib/aws-sdk-core/plugins/retries/error_inspector.rb
177
193
  - lib/aws-sdk-core/plugins/retries/retry_quota.rb
178
194
  - lib/aws-sdk-core/plugins/retry_errors.rb
195
+ - lib/aws-sdk-core/plugins/sign.rb
179
196
  - lib/aws-sdk-core/plugins/signature_v2.rb
180
197
  - lib/aws-sdk-core/plugins/signature_v4.rb
181
198
  - lib/aws-sdk-core/plugins/stub_responses.rb
@@ -189,6 +206,7 @@ files:
189
206
  - lib/aws-sdk-core/query/param_builder.rb
190
207
  - lib/aws-sdk-core/query/param_list.rb
191
208
  - lib/aws-sdk-core/refreshing_credentials.rb
209
+ - lib/aws-sdk-core/refreshing_token.rb
192
210
  - lib/aws-sdk-core/resources/collection.rb
193
211
  - lib/aws-sdk-core/rest.rb
194
212
  - lib/aws-sdk-core/rest/handler.rb
@@ -204,6 +222,8 @@ files:
204
222
  - lib/aws-sdk-core/shared_config.rb
205
223
  - lib/aws-sdk-core/shared_credentials.rb
206
224
  - lib/aws-sdk-core/sso_credentials.rb
225
+ - lib/aws-sdk-core/sso_token_provider.rb
226
+ - lib/aws-sdk-core/static_token_provider.rb
207
227
  - lib/aws-sdk-core/structure.rb
208
228
  - lib/aws-sdk-core/stubbing/data_applicator.rb
209
229
  - lib/aws-sdk-core/stubbing/empty_stub.rb
@@ -216,6 +236,9 @@ files:
216
236
  - lib/aws-sdk-core/stubbing/protocols/rest_xml.rb
217
237
  - lib/aws-sdk-core/stubbing/stub_data.rb
218
238
  - lib/aws-sdk-core/stubbing/xml_error.rb
239
+ - lib/aws-sdk-core/token.rb
240
+ - lib/aws-sdk-core/token_provider.rb
241
+ - lib/aws-sdk-core/token_provider_chain.rb
219
242
  - lib/aws-sdk-core/type_builder.rb
220
243
  - lib/aws-sdk-core/util.rb
221
244
  - lib/aws-sdk-core/waiters.rb
@@ -241,14 +264,33 @@ files:
241
264
  - lib/aws-sdk-sso/client.rb
242
265
  - lib/aws-sdk-sso/client_api.rb
243
266
  - lib/aws-sdk-sso/customizations.rb
267
+ - lib/aws-sdk-sso/endpoint_parameters.rb
268
+ - lib/aws-sdk-sso/endpoint_provider.rb
269
+ - lib/aws-sdk-sso/endpoints.rb
244
270
  - lib/aws-sdk-sso/errors.rb
271
+ - lib/aws-sdk-sso/plugins/endpoints.rb
245
272
  - lib/aws-sdk-sso/resource.rb
246
273
  - lib/aws-sdk-sso/types.rb
274
+ - lib/aws-sdk-ssooidc.rb
275
+ - lib/aws-sdk-ssooidc/client.rb
276
+ - lib/aws-sdk-ssooidc/client_api.rb
277
+ - lib/aws-sdk-ssooidc/customizations.rb
278
+ - lib/aws-sdk-ssooidc/endpoint_parameters.rb
279
+ - lib/aws-sdk-ssooidc/endpoint_provider.rb
280
+ - lib/aws-sdk-ssooidc/endpoints.rb
281
+ - lib/aws-sdk-ssooidc/errors.rb
282
+ - lib/aws-sdk-ssooidc/plugins/endpoints.rb
283
+ - lib/aws-sdk-ssooidc/resource.rb
284
+ - lib/aws-sdk-ssooidc/types.rb
247
285
  - lib/aws-sdk-sts.rb
248
286
  - lib/aws-sdk-sts/client.rb
249
287
  - lib/aws-sdk-sts/client_api.rb
250
288
  - lib/aws-sdk-sts/customizations.rb
289
+ - lib/aws-sdk-sts/endpoint_parameters.rb
290
+ - lib/aws-sdk-sts/endpoint_provider.rb
291
+ - lib/aws-sdk-sts/endpoints.rb
251
292
  - lib/aws-sdk-sts/errors.rb
293
+ - lib/aws-sdk-sts/plugins/endpoints.rb
252
294
  - lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb
253
295
  - lib/aws-sdk-sts/presigner.rb
254
296
  - lib/aws-sdk-sts/resource.rb
@@ -311,7 +353,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
311
353
  requirements:
312
354
  - - ">="
313
355
  - !ruby/object:Gem::Version
314
- version: '2.3'
356
+ version: '2.5'
315
357
  required_rubygems_version: !ruby/object:Gem::Requirement
316
358
  requirements:
317
359
  - - ">="