aws-sdk-core 3.125.6 → 3.188.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +533 -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/assume_role_credentials.rb +21 -7
  7. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +14 -10
  8. data/lib/aws-sdk-core/binary/encode_handler.rb +12 -1
  9. data/lib/aws-sdk-core/client_stubs.rb +5 -1
  10. data/lib/aws-sdk-core/credential_provider.rb +3 -0
  11. data/lib/aws-sdk-core/credential_provider_chain.rb +8 -5
  12. data/lib/aws-sdk-core/ec2_metadata.rb +3 -2
  13. data/lib/aws-sdk-core/ecs_credentials.rb +186 -52
  14. data/lib/aws-sdk-core/endpoints/condition.rb +41 -0
  15. data/lib/aws-sdk-core/endpoints/endpoint.rb +17 -0
  16. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +75 -0
  17. data/lib/aws-sdk-core/endpoints/error_rule.rb +42 -0
  18. data/lib/aws-sdk-core/endpoints/function.rb +80 -0
  19. data/lib/aws-sdk-core/endpoints/matchers.rb +131 -0
  20. data/lib/aws-sdk-core/endpoints/reference.rb +31 -0
  21. data/lib/aws-sdk-core/endpoints/rule.rb +25 -0
  22. data/lib/aws-sdk-core/endpoints/rule_set.rb +52 -0
  23. data/lib/aws-sdk-core/endpoints/rules_provider.rb +37 -0
  24. data/lib/aws-sdk-core/endpoints/templater.rb +58 -0
  25. data/lib/aws-sdk-core/endpoints/tree_rule.rb +45 -0
  26. data/lib/aws-sdk-core/endpoints/url.rb +60 -0
  27. data/lib/aws-sdk-core/endpoints.rb +78 -0
  28. data/lib/aws-sdk-core/errors.rb +14 -1
  29. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  30. data/lib/aws-sdk-core/instance_profile_credentials.rb +124 -31
  31. data/lib/aws-sdk-core/json/error_handler.rb +20 -1
  32. data/lib/aws-sdk-core/json/handler.rb +8 -1
  33. data/lib/aws-sdk-core/json/parser.rb +27 -2
  34. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  35. data/lib/aws-sdk-core/pageable_response.rb +81 -32
  36. data/lib/aws-sdk-core/param_validator.rb +2 -2
  37. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +67 -0
  38. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +340 -0
  39. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +24 -0
  40. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +6 -2
  41. data/lib/aws-sdk-core/plugins/http_checksum.rb +8 -1
  42. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +34 -6
  43. data/lib/aws-sdk-core/plugins/recursion_detection.rb +38 -0
  44. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +111 -30
  45. data/lib/aws-sdk-core/plugins/request_compression.rb +217 -0
  46. data/lib/aws-sdk-core/plugins/response_paging.rb +1 -1
  47. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +3 -2
  48. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -2
  49. data/lib/aws-sdk-core/plugins/sign.rb +201 -0
  50. data/lib/aws-sdk-core/plugins/signature_v2.rb +1 -0
  51. data/lib/aws-sdk-core/plugins/signature_v4.rb +15 -8
  52. data/lib/aws-sdk-core/plugins/stub_responses.rb +5 -1
  53. data/lib/aws-sdk-core/plugins/user_agent.rb +117 -14
  54. data/lib/aws-sdk-core/process_credentials.rb +9 -11
  55. data/lib/aws-sdk-core/refreshing_credentials.rb +41 -16
  56. data/lib/aws-sdk-core/refreshing_token.rb +71 -0
  57. data/lib/aws-sdk-core/rest/handler.rb +1 -1
  58. data/lib/aws-sdk-core/rest/request/headers.rb +2 -6
  59. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +43 -29
  60. data/lib/aws-sdk-core/shared_config.rb +107 -12
  61. data/lib/aws-sdk-core/sso_credentials.rb +91 -50
  62. data/lib/aws-sdk-core/sso_token_provider.rb +135 -0
  63. data/lib/aws-sdk-core/static_token_provider.rb +14 -0
  64. data/lib/aws-sdk-core/structure.rb +6 -4
  65. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  66. data/lib/aws-sdk-core/token.rb +31 -0
  67. data/lib/aws-sdk-core/token_provider.rb +15 -0
  68. data/lib/aws-sdk-core/token_provider_chain.rb +51 -0
  69. data/lib/aws-sdk-core/waiters/poller.rb +3 -1
  70. data/lib/aws-sdk-core/xml/error_handler.rb +7 -0
  71. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
  72. data/lib/aws-sdk-core.rb +14 -0
  73. data/lib/aws-sdk-sso/client.rb +75 -11
  74. data/lib/aws-sdk-sso/endpoint_parameters.rb +66 -0
  75. data/lib/aws-sdk-sso/endpoint_provider.rb +57 -0
  76. data/lib/aws-sdk-sso/endpoints.rb +72 -0
  77. data/lib/aws-sdk-sso/plugins/endpoints.rb +76 -0
  78. data/lib/aws-sdk-sso/types.rb +8 -43
  79. data/lib/aws-sdk-sso.rb +5 -1
  80. data/lib/aws-sdk-ssooidc/client.rb +935 -0
  81. data/lib/aws-sdk-ssooidc/client_api.rb +271 -0
  82. data/lib/aws-sdk-ssooidc/customizations.rb +1 -0
  83. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +66 -0
  84. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +57 -0
  85. data/lib/aws-sdk-ssooidc/endpoints.rb +72 -0
  86. data/lib/aws-sdk-ssooidc/errors.rb +321 -0
  87. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +76 -0
  88. data/lib/aws-sdk-ssooidc/resource.rb +26 -0
  89. data/lib/aws-sdk-ssooidc/types.rb +755 -0
  90. data/lib/aws-sdk-ssooidc.rb +59 -0
  91. data/lib/aws-sdk-sts/client.rb +330 -262
  92. data/lib/aws-sdk-sts/client_api.rb +12 -1
  93. data/lib/aws-sdk-sts/endpoint_parameters.rb +78 -0
  94. data/lib/aws-sdk-sts/endpoint_provider.rb +112 -0
  95. data/lib/aws-sdk-sts/endpoints.rb +136 -0
  96. data/lib/aws-sdk-sts/plugins/endpoints.rb +84 -0
  97. data/lib/aws-sdk-sts/presigner.rb +14 -16
  98. data/lib/aws-sdk-sts/types.rb +135 -204
  99. data/lib/aws-sdk-sts.rb +5 -1
  100. data/lib/seahorse/client/async_base.rb +0 -1
  101. data/lib/seahorse/client/configuration.rb +1 -5
  102. data/lib/seahorse/client/h2/connection.rb +12 -11
  103. data/lib/seahorse/client/net_http/patches.rb +1 -4
  104. data/lib/seahorse/client/plugins/h2.rb +3 -3
  105. data/lib/seahorse/client/plugins/request_callback.rb +40 -9
  106. data/lib/seahorse/client/response.rb +6 -0
  107. data/lib/seahorse/model/operation.rb +6 -0
  108. data/lib/seahorse/util.rb +4 -0
  109. metadata +59 -9
@@ -54,9 +54,9 @@ When `true`, HTTP2 debug output will be sent to the `:logger`.
54
54
  DOCS
55
55
 
56
56
  option(:enable_alpn, default: false, doc_type: 'Boolean', docstring: <<-DOCS)
57
- Setting to `true` to enable ALPN in HTTP2 over TLS, requires Ruby version >= 2.3 and
58
- Openssl version >= 1.0.2. Defaults to false. Note: not all service HTTP2 operations
59
- supports ALPN on server side, please refer to service documentation.
57
+ Set to `true` to enable ALPN in HTTP2 over TLS. Requires Openssl version >= 1.0.2.
58
+ Defaults to false. Note: not all service HTTP2 operations supports ALPN on server
59
+ side, please refer to service documentation.
60
60
  DOCS
61
61
 
62
62
  option(:logger)
@@ -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.
@@ -25,6 +25,12 @@ module Seahorse
25
25
  # @return [Boolean]
26
26
  attr_accessor :http_checksum_required
27
27
 
28
+ # @return [Hash]
29
+ attr_accessor :http_checksum
30
+
31
+ # @return [Hash]
32
+ attr_accessor :request_compression
33
+
28
34
  # @return [Boolean]
29
35
  attr_accessor :deprecated
30
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.125.6
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-02-02 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
@@ -16,14 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '1'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.6.1
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '1.0'
29
+ version: '1'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.6.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: aws-partitions
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -33,7 +39,7 @@ dependencies:
33
39
  version: '1'
34
40
  - - ">="
35
41
  - !ruby/object:Gem::Version
36
- version: 1.525.0
42
+ version: 1.651.0
37
43
  type: :runtime
38
44
  prerelease: false
39
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,21 +49,21 @@ dependencies:
43
49
  version: '1'
44
50
  - - ">="
45
51
  - !ruby/object:Gem::Version
46
- version: 1.525.0
52
+ version: 1.651.0
47
53
  - !ruby/object:Gem::Dependency
48
54
  name: aws-sigv4
49
55
  requirement: !ruby/object:Gem::Requirement
50
56
  requirements:
51
57
  - - "~>"
52
58
  - !ruby/object:Gem::Version
53
- version: '1.1'
59
+ version: '1.5'
54
60
  type: :runtime
55
61
  prerelease: false
56
62
  version_requirements: !ruby/object:Gem::Requirement
57
63
  requirements:
58
64
  - - "~>"
59
65
  - !ruby/object:Gem::Version
60
- version: '1.1'
66
+ version: '1.5'
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: aws-eventstream
63
69
  requirement: !ruby/object:Gem::Requirement
@@ -116,6 +122,20 @@ files:
116
122
  - lib/aws-sdk-core/ec2_metadata.rb
117
123
  - lib/aws-sdk-core/ecs_credentials.rb
118
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
119
139
  - lib/aws-sdk-core/errors.rb
120
140
  - lib/aws-sdk-core/event_emitter.rb
121
141
  - lib/aws-sdk-core/ini_parser.rb
@@ -139,6 +159,8 @@ files:
139
159
  - lib/aws-sdk-core/plugins/apig_authorizer_token.rb
140
160
  - lib/aws-sdk-core/plugins/apig_credentials_configuration.rb
141
161
  - lib/aws-sdk-core/plugins/apig_user_agent.rb
162
+ - lib/aws-sdk-core/plugins/bearer_authorization.rb
163
+ - lib/aws-sdk-core/plugins/checksum_algorithm.rb
142
164
  - lib/aws-sdk-core/plugins/client_metrics_plugin.rb
143
165
  - lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb
144
166
  - lib/aws-sdk-core/plugins/credentials_configuration.rb
@@ -161,13 +183,16 @@ files:
161
183
  - lib/aws-sdk-core/plugins/protocols/query.rb
162
184
  - lib/aws-sdk-core/plugins/protocols/rest_json.rb
163
185
  - lib/aws-sdk-core/plugins/protocols/rest_xml.rb
186
+ - lib/aws-sdk-core/plugins/recursion_detection.rb
164
187
  - lib/aws-sdk-core/plugins/regional_endpoint.rb
188
+ - lib/aws-sdk-core/plugins/request_compression.rb
165
189
  - lib/aws-sdk-core/plugins/response_paging.rb
166
190
  - lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb
167
191
  - lib/aws-sdk-core/plugins/retries/clock_skew.rb
168
192
  - lib/aws-sdk-core/plugins/retries/error_inspector.rb
169
193
  - lib/aws-sdk-core/plugins/retries/retry_quota.rb
170
194
  - lib/aws-sdk-core/plugins/retry_errors.rb
195
+ - lib/aws-sdk-core/plugins/sign.rb
171
196
  - lib/aws-sdk-core/plugins/signature_v2.rb
172
197
  - lib/aws-sdk-core/plugins/signature_v4.rb
173
198
  - lib/aws-sdk-core/plugins/stub_responses.rb
@@ -181,6 +206,7 @@ files:
181
206
  - lib/aws-sdk-core/query/param_builder.rb
182
207
  - lib/aws-sdk-core/query/param_list.rb
183
208
  - lib/aws-sdk-core/refreshing_credentials.rb
209
+ - lib/aws-sdk-core/refreshing_token.rb
184
210
  - lib/aws-sdk-core/resources/collection.rb
185
211
  - lib/aws-sdk-core/rest.rb
186
212
  - lib/aws-sdk-core/rest/handler.rb
@@ -196,6 +222,8 @@ files:
196
222
  - lib/aws-sdk-core/shared_config.rb
197
223
  - lib/aws-sdk-core/shared_credentials.rb
198
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
199
227
  - lib/aws-sdk-core/structure.rb
200
228
  - lib/aws-sdk-core/stubbing/data_applicator.rb
201
229
  - lib/aws-sdk-core/stubbing/empty_stub.rb
@@ -208,6 +236,9 @@ files:
208
236
  - lib/aws-sdk-core/stubbing/protocols/rest_xml.rb
209
237
  - lib/aws-sdk-core/stubbing/stub_data.rb
210
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
211
242
  - lib/aws-sdk-core/type_builder.rb
212
243
  - lib/aws-sdk-core/util.rb
213
244
  - lib/aws-sdk-core/waiters.rb
@@ -233,14 +264,33 @@ files:
233
264
  - lib/aws-sdk-sso/client.rb
234
265
  - lib/aws-sdk-sso/client_api.rb
235
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
236
270
  - lib/aws-sdk-sso/errors.rb
271
+ - lib/aws-sdk-sso/plugins/endpoints.rb
237
272
  - lib/aws-sdk-sso/resource.rb
238
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
239
285
  - lib/aws-sdk-sts.rb
240
286
  - lib/aws-sdk-sts/client.rb
241
287
  - lib/aws-sdk-sts/client_api.rb
242
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
243
292
  - lib/aws-sdk-sts/errors.rb
293
+ - lib/aws-sdk-sts/plugins/endpoints.rb
244
294
  - lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb
245
295
  - lib/aws-sdk-sts/presigner.rb
246
296
  - lib/aws-sdk-sts/resource.rb
@@ -303,7 +353,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
303
353
  requirements:
304
354
  - - ">="
305
355
  - !ruby/object:Gem::Version
306
- version: '2.3'
356
+ version: '2.5'
307
357
  required_rubygems_version: !ruby/object:Gem::Requirement
308
358
  requirements:
309
359
  - - ">="