aws-sdk-core 3.226.3 → 3.241.3

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +138 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +2 -1
  5. data/lib/aws-sdk-core/assume_role_credentials.rb +8 -8
  6. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +2 -2
  7. data/lib/aws-sdk-core/client_stubs.rb +6 -0
  8. data/lib/aws-sdk-core/credential_provider_chain.rb +71 -22
  9. data/lib/aws-sdk-core/ecs_credentials.rb +13 -13
  10. data/lib/aws-sdk-core/endpoints.rb +37 -13
  11. data/lib/aws-sdk-core/errors.rb +3 -0
  12. data/lib/aws-sdk-core/instance_profile_credentials.rb +7 -7
  13. data/lib/aws-sdk-core/login_credentials.rb +229 -0
  14. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +145 -75
  15. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +75 -59
  16. data/lib/aws-sdk-core/plugins/retries/clock_skew.rb +28 -16
  17. data/lib/aws-sdk-core/plugins/sign.rb +23 -28
  18. data/lib/aws-sdk-core/plugins/stub_responses.rb +6 -0
  19. data/lib/aws-sdk-core/plugins/user_agent.rb +4 -1
  20. data/lib/aws-sdk-core/refreshing_credentials.rb +8 -11
  21. data/lib/aws-sdk-core/shared_config.rb +30 -0
  22. data/lib/aws-sdk-core/sso_credentials.rb +1 -1
  23. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  24. data/lib/aws-sdk-core/token.rb +3 -3
  25. data/lib/aws-sdk-core/token_provider.rb +4 -0
  26. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  27. data/lib/aws-sdk-core.rb +4 -0
  28. data/lib/aws-sdk-signin/client.rb +604 -0
  29. data/lib/aws-sdk-signin/client_api.rb +119 -0
  30. data/lib/aws-sdk-signin/customizations.rb +1 -0
  31. data/lib/aws-sdk-signin/endpoint_parameters.rb +69 -0
  32. data/lib/aws-sdk-signin/endpoint_provider.rb +59 -0
  33. data/lib/aws-sdk-signin/endpoints.rb +20 -0
  34. data/lib/aws-sdk-signin/errors.rb +122 -0
  35. data/lib/aws-sdk-signin/plugins/endpoints.rb +77 -0
  36. data/lib/aws-sdk-signin/resource.rb +26 -0
  37. data/lib/aws-sdk-signin/types.rb +299 -0
  38. data/lib/aws-sdk-signin.rb +63 -0
  39. data/lib/aws-sdk-sso/client.rb +24 -17
  40. data/lib/aws-sdk-sso/endpoint_parameters.rb +4 -4
  41. data/lib/aws-sdk-sso/endpoint_provider.rb +2 -2
  42. data/lib/aws-sdk-sso.rb +1 -1
  43. data/lib/aws-sdk-ssooidc/client.rb +43 -23
  44. data/lib/aws-sdk-ssooidc/client_api.rb +5 -0
  45. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +4 -4
  46. data/lib/aws-sdk-ssooidc/errors.rb +10 -0
  47. data/lib/aws-sdk-ssooidc/types.rb +27 -15
  48. data/lib/aws-sdk-ssooidc.rb +1 -1
  49. data/lib/aws-sdk-sts/client.rb +159 -28
  50. data/lib/aws-sdk-sts/client_api.rb +72 -0
  51. data/lib/aws-sdk-sts/customizations.rb +0 -1
  52. data/lib/aws-sdk-sts/endpoint_parameters.rb +5 -5
  53. data/lib/aws-sdk-sts/errors.rb +64 -0
  54. data/lib/aws-sdk-sts/presigner.rb +2 -6
  55. data/lib/aws-sdk-sts/types.rb +175 -6
  56. data/lib/aws-sdk-sts.rb +1 -1
  57. data/lib/seahorse/client/h2/handler.rb +6 -1
  58. data/lib/seahorse/client/net_http/patches.rb +44 -11
  59. metadata +27 -1
@@ -6,28 +6,61 @@ module Seahorse
6
6
  module Client
7
7
  # @api private
8
8
  module NetHttp
9
-
10
9
  # @api private
11
10
  module Patches
12
-
13
11
  def self.apply!
14
- Net::HTTPGenericRequest.prepend(PatchDefaultContentType)
12
+ Net::HTTPGenericRequest.prepend(RequestPatches)
15
13
  end
16
14
 
17
- # For requests with bodies, Net::HTTP sets a default content type of:
18
- # 'application/x-www-form-urlencoded'
19
- # There are cases where we should not send content type at all.
20
- # Even when no body is supplied, Net::HTTP uses a default empty body
21
- # and sets it anyway. This patch disables the behavior when a Thread
22
- # local variable is set.
23
- module PatchDefaultContentType
15
+ # Patches intended to override Net::HTTP functionality
16
+ module RequestPatches
17
+ # For requests with bodies, Net::HTTP sets a default content type of:
18
+ # 'application/x-www-form-urlencoded'
19
+ # There are cases where we should not send content type at all.
20
+ # Even when no body is supplied, Net::HTTP uses a default empty body
21
+ # and sets it anyway. This patch disables the behavior when a Thread
22
+ # local variable is set.
23
+ # See: https://github.com/ruby/net-http/issues/205
24
24
  def supply_default_content_type
25
25
  return if Thread.current[:net_http_skip_default_content_type]
26
26
 
27
27
  super
28
28
  end
29
- end
30
29
 
30
+ # IO.copy_stream is capped at 16KB buffer so this patch intends to
31
+ # increase its chunk size for better performance.
32
+ # Only intended to use for S3 TM implementation.
33
+ # See: https://github.com/ruby/net-http/blob/master/lib/net/http/generic_request.rb#L292
34
+ def send_request_with_body_stream(sock, ver, path, f)
35
+ return super unless (chunk_size = Thread.current[:net_http_override_body_stream_chunk])
36
+
37
+ unless content_length || chunked?
38
+ raise ArgumentError, 'Content-Length not given and Transfer-Encoding is not `chunked`'
39
+ end
40
+
41
+ supply_default_content_type
42
+ write_header(sock, ver, path)
43
+ wait_for_continue sock, ver if sock.continue_timeout
44
+ if chunked?
45
+ chunker = Chunker.new(sock)
46
+ RequestIO.custom_stream(f, chunker, chunk_size)
47
+ chunker.finish
48
+ else
49
+ RequestIO.custom_stream(f, sock, chunk_size)
50
+ end
51
+ end
52
+
53
+ class RequestIO
54
+ def self.custom_stream(src, dst, chunk_size)
55
+ copied = 0
56
+ while (chunk = src.read(chunk_size))
57
+ dst.write(chunk)
58
+ copied += chunk.bytesize
59
+ end
60
+ copied
61
+ end
62
+ end
63
+ end
31
64
  end
32
65
  end
33
66
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.226.3
4
+ version: 3.241.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -77,6 +77,20 @@ dependencies:
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
79
  version: '0'
80
+ - !ruby/object:Gem::Dependency
81
+ name: bigdecimal
82
+ requirement: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ type: :runtime
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
80
94
  - !ruby/object:Gem::Dependency
81
95
  name: jmespath
82
96
  requirement: !ruby/object:Gem::Requirement
@@ -183,6 +197,7 @@ files:
183
197
  - lib/aws-sdk-core/log/handler.rb
184
198
  - lib/aws-sdk-core/log/param_filter.rb
185
199
  - lib/aws-sdk-core/log/param_formatter.rb
200
+ - lib/aws-sdk-core/login_credentials.rb
186
201
  - lib/aws-sdk-core/lru_cache.rb
187
202
  - lib/aws-sdk-core/pageable_response.rb
188
203
  - lib/aws-sdk-core/pager.rb
@@ -315,6 +330,17 @@ files:
315
330
  - lib/aws-sdk-core/xml/parser/parsing_error.rb
316
331
  - lib/aws-sdk-core/xml/parser/rexml_engine.rb
317
332
  - lib/aws-sdk-core/xml/parser/stack.rb
333
+ - lib/aws-sdk-signin.rb
334
+ - lib/aws-sdk-signin/client.rb
335
+ - lib/aws-sdk-signin/client_api.rb
336
+ - lib/aws-sdk-signin/customizations.rb
337
+ - lib/aws-sdk-signin/endpoint_parameters.rb
338
+ - lib/aws-sdk-signin/endpoint_provider.rb
339
+ - lib/aws-sdk-signin/endpoints.rb
340
+ - lib/aws-sdk-signin/errors.rb
341
+ - lib/aws-sdk-signin/plugins/endpoints.rb
342
+ - lib/aws-sdk-signin/resource.rb
343
+ - lib/aws-sdk-signin/types.rb
318
344
  - lib/aws-sdk-sso.rb
319
345
  - lib/aws-sdk-sso/client.rb
320
346
  - lib/aws-sdk-sso/client_api.rb