aws-sdk-core 3.171.1 → 3.199.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 (143) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +363 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +4 -4
  5. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  6. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  7. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  8. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  9. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  10. data/lib/aws-sdk-core/cbor/cbor_engine.rb +19 -0
  11. data/lib/aws-sdk-core/cbor/decoder.rb +310 -0
  12. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  13. data/lib/aws-sdk-core/cbor.rb +106 -0
  14. data/lib/aws-sdk-core/client_stubs.rb +18 -14
  15. data/lib/aws-sdk-core/credential_provider.rb +4 -1
  16. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  17. data/lib/aws-sdk-core/ecs_credentials.rb +78 -11
  18. data/lib/aws-sdk-core/endpoints/matchers.rb +18 -10
  19. data/lib/aws-sdk-core/endpoints.rb +6 -2
  20. data/lib/aws-sdk-core/error_handler.rb +41 -0
  21. data/lib/aws-sdk-core/errors.rb +3 -3
  22. data/lib/aws-sdk-core/event_emitter.rb +0 -16
  23. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  24. data/lib/aws-sdk-core/instance_profile_credentials.rb +55 -32
  25. data/lib/aws-sdk-core/json/builder.rb +8 -1
  26. data/lib/aws-sdk-core/json/error_handler.rb +15 -10
  27. data/lib/aws-sdk-core/json/handler.rb +12 -6
  28. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  29. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  30. data/lib/aws-sdk-core/json/parser.rb +33 -3
  31. data/lib/aws-sdk-core/json.rb +43 -14
  32. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  33. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  34. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  35. data/lib/aws-sdk-core/param_validator.rb +9 -4
  36. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +5 -3
  37. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -0
  38. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  39. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +2 -0
  40. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  41. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -1
  42. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  43. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  44. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  45. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  46. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  47. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  48. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  49. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  50. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  51. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +109 -33
  52. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  53. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  54. data/lib/aws-sdk-core/plugins/sign.rb +24 -13
  55. data/lib/aws-sdk-core/plugins/stub_responses.rb +1 -0
  56. data/lib/aws-sdk-core/plugins/user_agent.rb +152 -14
  57. data/lib/aws-sdk-core/process_credentials.rb +45 -27
  58. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  59. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  60. data/lib/aws-sdk-core/query/handler.rb +4 -4
  61. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  62. data/lib/aws-sdk-core/query.rb +2 -1
  63. data/lib/aws-sdk-core/refreshing_credentials.rb +12 -12
  64. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  65. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  66. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  67. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  68. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  69. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  70. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  71. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  72. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  73. data/lib/aws-sdk-core/rest.rb +1 -0
  74. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  75. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +45 -0
  76. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +84 -0
  77. data/lib/aws-sdk-core/rpc_v2/handler.rb +74 -0
  78. data/lib/aws-sdk-core/rpc_v2/parser.rb +90 -0
  79. data/lib/aws-sdk-core/rpc_v2.rb +6 -0
  80. data/lib/aws-sdk-core/shared_config.rb +48 -18
  81. data/lib/aws-sdk-core/sso_credentials.rb +1 -1
  82. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +41 -0
  83. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  84. data/lib/aws-sdk-core/util.rb +39 -0
  85. data/lib/aws-sdk-core/waiters/poller.rb +4 -2
  86. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  87. data/lib/aws-sdk-core/xml/error_handler.rb +32 -42
  88. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  89. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  90. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  91. data/lib/aws-sdk-core.rb +7 -2
  92. data/lib/aws-sdk-sso/client.rb +94 -46
  93. data/lib/aws-sdk-sso/endpoint_provider.rb +30 -24
  94. data/lib/aws-sdk-sso/endpoints.rb +1 -0
  95. data/lib/aws-sdk-sso/plugins/endpoints.rb +4 -2
  96. data/lib/aws-sdk-sso.rb +1 -1
  97. data/lib/aws-sdk-ssooidc/client.rb +479 -74
  98. data/lib/aws-sdk-ssooidc/client_api.rb +78 -1
  99. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +30 -24
  100. data/lib/aws-sdk-ssooidc/endpoints.rb +15 -0
  101. data/lib/aws-sdk-ssooidc/errors.rb +52 -0
  102. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +6 -2
  103. data/lib/aws-sdk-ssooidc/types.rb +372 -51
  104. data/lib/aws-sdk-ssooidc.rb +1 -1
  105. data/lib/aws-sdk-sts/client.rb +219 -157
  106. data/lib/aws-sdk-sts/client_api.rb +20 -9
  107. data/lib/aws-sdk-sts/endpoint_provider.rb +81 -78
  108. data/lib/aws-sdk-sts/endpoints.rb +1 -0
  109. data/lib/aws-sdk-sts/plugins/endpoints.rb +4 -2
  110. data/lib/aws-sdk-sts/presigner.rb +1 -1
  111. data/lib/aws-sdk-sts/types.rb +49 -11
  112. data/lib/aws-sdk-sts.rb +1 -1
  113. data/lib/seahorse/client/async_base.rb +1 -1
  114. data/lib/seahorse/client/async_response.rb +19 -0
  115. data/lib/seahorse/client/base.rb +18 -7
  116. data/lib/seahorse/client/configuration.rb +0 -4
  117. data/lib/seahorse/client/h2/handler.rb +1 -0
  118. data/lib/seahorse/client/handler.rb +1 -1
  119. data/lib/seahorse/client/net_http/connection_pool.rb +3 -9
  120. data/lib/seahorse/client/net_http/patches.rb +1 -4
  121. data/lib/seahorse/client/plugin.rb +9 -0
  122. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  123. data/lib/seahorse/client/plugins/h2.rb +3 -3
  124. data/lib/seahorse/client/plugins/net_http.rb +48 -16
  125. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  126. data/lib/seahorse/client/response.rb +6 -0
  127. data/lib/seahorse/model/operation.rb +3 -0
  128. data/lib/seahorse/model/shapes.rb +2 -2
  129. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  130. data/sig/aws-sdk-core/errors.rbs +22 -0
  131. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  132. data/sig/aws-sdk-core/structure.rbs +4 -0
  133. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  134. data/sig/aws-sdk-core.rbs +7 -0
  135. data/sig/seahorse/client/base.rbs +25 -0
  136. data/sig/seahorse/client/handler_builder.rbs +16 -0
  137. data/sig/seahorse/client/response.rbs +61 -0
  138. metadata +44 -17
  139. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  140. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  141. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  142. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  143. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -12,12 +12,9 @@ module Seahorse
12
12
 
13
13
  def self.apply!
14
14
  Net::HTTPGenericRequest.prepend(PatchDefaultContentType)
15
- return unless RUBY_VERSION < '2.5'
16
-
17
- Net::HTTP::IDEMPOTENT_METHODS_.clear
18
15
  end
19
16
 
20
- # For requests with bodys, Net::HTTP sets a default content type of:
17
+ # For requests with bodies, Net::HTTP sets a default content type of:
21
18
  # 'application/x-www-form-urlencoded'
22
19
  # There are cases where we should not send content type at all.
23
20
  # Even when no body is supplied, Net::HTTP uses a default empty body
@@ -111,7 +111,15 @@ module Seahorse
111
111
 
112
112
  def initialize(name, options = {})
113
113
  @name = name
114
+ # prevent unstable object shapes by ensuring
115
+ # order and presence of instance variables
116
+ @default = nil
117
+ @default_block = nil
118
+ @required = nil
119
+ @doc_type = nil
114
120
  @doc_default = nil
121
+ @docstring = nil
122
+ @rbs_type = nil
115
123
  options.each_pair do |opt_name, opt_value|
116
124
  self.send("#{opt_name}=", opt_value)
117
125
  end
@@ -124,6 +132,7 @@ module Seahorse
124
132
  attr_accessor :doc_type
125
133
  attr_writer :doc_default
126
134
  attr_accessor :docstring
135
+ attr_accessor :rbs_type
127
136
 
128
137
  def doc_default(options)
129
138
  if @doc_default.nil? && !default.is_a?(Proc)
@@ -17,7 +17,6 @@ be a URI formatted like:
17
17
  'http://example.com'
18
18
  'https://example.com'
19
19
  'http://example.com:123'
20
-
21
20
  DOCS
22
21
 
23
22
  def add_handlers(handlers, config)
@@ -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)
@@ -7,34 +7,66 @@ module Seahorse
7
7
  module Plugins
8
8
  class NetHttp < Plugin
9
9
 
10
- option(:http_proxy, default: nil, doc_type: String, docstring: '')
11
-
12
- option(:http_open_timeout, default: 15, doc_type: Integer, docstring: '') do |cfg|
10
+ option(:http_proxy, default: nil, doc_type: "URI::HTTP,String", docstring: <<-DOCS)
11
+ A proxy to send requests through. Formatted like 'http://proxy.com:123'.
12
+ DOCS
13
+
14
+ option(:http_open_timeout, default: 15, doc_type: Float, docstring: <<-DOCS) do |cfg|
15
+ The default number of seconds to wait for response data.
16
+ This value can safely be set per-request on the session.
17
+ DOCS
13
18
  resolve_http_open_timeout(cfg)
14
19
  end
15
20
 
16
- option(:http_read_timeout, default: 60, doc_type: Integer, docstring: '') do |cfg|
21
+ option(:http_read_timeout, default: 60, doc_type: Float, docstring: <<-DOCS) do |cfg|
22
+ The default number of seconds to wait for response data.
23
+ This value can safely be set per-request on the session.
24
+ DOCS
17
25
  resolve_http_read_timeout(cfg)
18
26
  end
19
27
 
20
- option(:http_idle_timeout, default: 5, doc_type: Integer, docstring: '')
21
-
22
- option(:http_continue_timeout, default: 1, doc_type: Integer, docstring: '')
23
-
24
- option(:http_wire_trace, default: false, doc_type: 'Boolean', docstring: '')
25
-
26
- option(:ssl_verify_peer, default: true, doc_type: 'Boolean', docstring: '')
27
-
28
- option(:ssl_ca_bundle, doc_type: String, docstring: '') do |cfg|
28
+ option(:http_idle_timeout, default: 5, doc_type: Float, docstring: <<-DOCS)
29
+ The number of seconds a connection is allowed to sit idle before it
30
+ is considered stale. Stale connections are closed and removed from the
31
+ pool before making a request.
32
+ DOCS
33
+
34
+ option(:http_continue_timeout, default: 1, doc_type: Float, docstring: <<-DOCS)
35
+ The number of seconds to wait for a 100-continue response before sending the
36
+ request body. This option has no effect unless the request has "Expect"
37
+ header set to "100-continue". Defaults to `nil` which disables this
38
+ behaviour. This value can safely be set per request on the session.
39
+ DOCS
40
+
41
+ option(:http_wire_trace, default: false, doc_type: 'Boolean', docstring: <<-DOCS)
42
+ When `true`, HTTP debug output will be sent to the `:logger`.
43
+ DOCS
44
+
45
+ option(:ssl_verify_peer, default: true, doc_type: 'Boolean', docstring: <<-DOCS)
46
+ When `true`, SSL peer certificates are verified when establishing a connection.
47
+ DOCS
48
+
49
+ option(:ssl_ca_bundle, doc_type: String, docstring: <<-DOCS) do |cfg|
50
+ Full path to the SSL certificate authority bundle file that should be used when
51
+ verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
52
+ `:ssl_ca_directory` the the system default will be used if available.
53
+ DOCS
29
54
  ENV['AWS_CA_BUNDLE'] ||
30
55
  Aws.shared_config.ca_bundle(profile: cfg.profile) if cfg.respond_to?(:profile)
31
56
  end
32
57
 
33
- option(:ssl_ca_directory, default: nil, doc_type: String, docstring: '')
58
+ option(:ssl_ca_directory, default: nil, doc_type: String, docstring: <<-DOCS)
59
+ Full path of the directory that contains the unbundled SSL certificate
60
+ authority files for verifying peer certificates. If you do
61
+ not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
62
+ default will be used if available.
63
+ DOCS
34
64
 
35
- option(:ssl_ca_store, default: nil, doc_type: String, docstring: '')
65
+ option(:ssl_ca_store, default: nil, doc_type: String, docstring: <<-DOCS)
66
+ Sets the X509::Store to verify peer certificate.
67
+ DOCS
36
68
 
37
- option(:ssl_timeout, default: nil, doc_type: Float, docstring: '') do |cfg|
69
+ option(:ssl_timeout, default: nil, doc_type: Float, docstring: 'Sets the SSL timeout in seconds') do |cfg|
38
70
  resolve_ssl_timeout(cfg)
39
71
  end
40
72
 
@@ -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
@@ -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
 
@@ -75,7 +75,7 @@ module Seahorse
75
75
 
76
76
  # @return [String, nil]
77
77
  def location_name
78
- @location_name || (shape && shape[:location_name])
78
+ @location_name || (shape && shape['locationName'])
79
79
  end
80
80
 
81
81
  def location_name= location_name
@@ -86,7 +86,7 @@ module Seahorse
86
86
  def [](key)
87
87
  if @metadata.key?(key.to_s)
88
88
  @metadata[key.to_s]
89
- else
89
+ elsif @shape
90
90
  @shape[key.to_s]
91
91
  end
92
92
  end
@@ -0,0 +1,10 @@
1
+ module Aws
2
+ module ClientStubs
3
+ def stub_responses: (Symbol operation_name, *untyped stubs) -> void
4
+
5
+ def api_requests: (?exclude_presign: bool) -> Array[{ operation_name: Symbol, params: untyped, context: untyped }]
6
+ | (?Hash[:exclude_presign, bool] options) -> Array[{ operation_name: Symbol, params: untyped, context: untyped }]
7
+
8
+ def stub_data: (Symbol operation_name, ?untyped data) -> untyped
9
+ end
10
+ end
@@ -0,0 +1,22 @@
1
+ module Aws
2
+ module Errors
3
+ class NonSupportedRubyVersionError < RuntimeError
4
+ end
5
+
6
+ # The base class for all errors returned by an Amazon Web Service.
7
+ # All ~400 level client errors and ~500 level server errors are raised
8
+ # as service errors. This indicates it was an error returned from the
9
+ # service and not one generated by the client.
10
+ class ServiceError < RuntimeError
11
+ def initialize: (untyped context, String? message, ?untyped data) -> void
12
+
13
+ attr_reader code: String
14
+
15
+ attr_reader context: untyped
16
+
17
+ attr_reader data: untyped
18
+
19
+ attr_accessor self.code: String?
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ module Aws
2
+ module Resources
3
+ class Collection[T]
4
+ include Enumerable[T]
5
+
6
+ def initialize: (Enumerable[Enumerable[T]] batches, ?size: Integer, ?limit: Integer) -> void
7
+
8
+ def each: () -> Enumerator[T, untyped]
9
+ | () { (T) -> untyped } -> Enumerator[T, untyped]
10
+
11
+ def size: () -> Integer?
12
+
13
+ alias length size
14
+
15
+ def first: () -> T?
16
+ | (Integer) -> self
17
+
18
+ def limit: (Integer) -> self
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,4 @@
1
+ module Aws
2
+ class EmptyStructure
3
+ end
4
+ end
@@ -0,0 +1,20 @@
1
+ module Aws
2
+ module Waiters
3
+ module Errors
4
+ class WaiterFailed < StandardError
5
+ end
6
+
7
+ class FailureStateError < WaiterFailed
8
+ end
9
+
10
+ class TooManyAttemptsError < WaiterFailed
11
+ end
12
+
13
+ class UnexpectedError < WaiterFailed
14
+ end
15
+
16
+ class NoSuchWaiterError < ArgumentError
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,7 @@
1
+ module Aws
2
+ attr_reader self.config: Hash[Symbol, untyped]
3
+
4
+ def self.config=: (Hash[Symbol, untyped] config) -> Hash[Symbol, untyped]
5
+
6
+ def self.use_bundled_cert!: () -> String
7
+ end
@@ -0,0 +1,25 @@
1
+ module Seahorse
2
+ module Client
3
+ class Base
4
+ include HandlerBuilder
5
+
6
+ def self.new: (?untyped options) -> instance
7
+ def self.add_plugin: (untyped plugin) -> untyped
8
+ def self.remove_plugin: (untyped plugin) -> untyped
9
+ def self.clear_plugins: () -> untyped
10
+ def self.set_plugins: (Array[untyped] plugins) -> untyped
11
+ def self.plugins: () -> Array[untyped]
12
+ def self.api: () -> untyped
13
+ def self.set_api: (untyped api) -> untyped
14
+ def self.define: (?untyped options) -> untyped
15
+
16
+ attr_reader config: untyped
17
+
18
+ attr_reader handlers: untyped
19
+
20
+ def build_request: (_ToS operation_name, ?untyped params) -> untyped
21
+
22
+ def operation_names: () -> Array[Symbol]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,16 @@
1
+ module Seahorse
2
+ module Client
3
+ # This module provides the ability to add handlers to a class or
4
+ # module. The including class or extending module must respond to
5
+ # `#handlers`, returning a {HandlerList}.
6
+ module HandlerBuilder
7
+ def handle_request: (*untyped) { (untyped context) -> void } -> untyped
8
+
9
+ def handle_response: (*untyped) { (untyped resp) -> void } -> untyped
10
+
11
+ def handle: (*untyped) ?{ (untyped context) -> void } -> untyped
12
+
13
+ alias handler handle
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,61 @@
1
+ module Seahorse
2
+ module Client
3
+ # RBS does not support Delegator.
4
+ # the behavior is mimicked `Seahorse::Client::Response` as much as possible.
5
+ interface _ResponseCommon
6
+ def context: () -> untyped
7
+
8
+ def checksum_validated: () -> ::String?
9
+
10
+ def on: (Integer) { (self) -> void } -> self
11
+ | (Range[Integer]) { (self) -> void } -> self
12
+
13
+ def on_success: () { (self) -> void } -> self
14
+
15
+ def successful?: () -> bool
16
+ end
17
+
18
+ # The interface for response success
19
+ # An interface representing response is provided for each operation,
20
+ # and _ResponseSuccess is embedded in this interface.
21
+ # @example client.rbs
22
+ #
23
+ # interface _OperationResponseSuccess
24
+ # include ::Seahorse::Client::_ResponseSuccess[Types::OperationOutput]
25
+ # def foo: () -> ::String
26
+ # def bar: () -> ::Integer
27
+ # end
28
+ # @client.operation: () -> _OperationResponseSuccess
29
+ interface _ResponseSuccess[DATA]
30
+ include _ResponseCommon
31
+
32
+ def data: () -> DATA
33
+
34
+ def data=: (DATA) -> DATA
35
+
36
+ def error: () -> nil
37
+
38
+ def error=: (nil) -> nil
39
+ end
40
+
41
+ # The interface for response error
42
+ # It is useful to use annotation on ruby code
43
+ # @example foo.rb
44
+ #
45
+ # client = Client.new(raise_response_errors: false)
46
+ # # @type var response: ::Seahorse::Client::_ResponseError
47
+ # response = client.operation()
48
+ # response.error.message
49
+ interface _ResponseError
50
+ include _ResponseCommon
51
+
52
+ def data: () -> nil
53
+
54
+ def data=: (nil) -> nil
55
+
56
+ def error: () -> StandardError
57
+
58
+ def error=: (StandardError) -> StandardError
59
+ end
60
+ end
61
+ end
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.171.1
4
+ version: 3.199.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-04 00:00:00.000000000 Z
11
+ date: 2024-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath
@@ -56,14 +56,14 @@ dependencies:
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '1.5'
59
+ version: '1.8'
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.5'
66
+ version: '1.8'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: aws-eventstream
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -73,7 +73,7 @@ dependencies:
73
73
  version: '1'
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: 1.0.2
76
+ version: 1.3.0
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
@@ -83,10 +83,10 @@ dependencies:
83
83
  version: '1'
84
84
  - - ">="
85
85
  - !ruby/object:Gem::Version
86
- version: 1.0.2
86
+ version: 1.3.0
87
87
  description: Provides API clients for AWS. This gem is part of the official AWS SDK
88
88
  for Ruby.
89
- email:
89
+ email:
90
90
  executables: []
91
91
  extensions: []
92
92
  extra_rdoc_files: []
@@ -111,6 +111,10 @@ files:
111
111
  - lib/aws-sdk-core/binary/event_parser.rb
112
112
  - lib/aws-sdk-core/binary/event_stream_decoder.rb
113
113
  - lib/aws-sdk-core/binary/event_stream_encoder.rb
114
+ - lib/aws-sdk-core/cbor.rb
115
+ - lib/aws-sdk-core/cbor/cbor_engine.rb
116
+ - lib/aws-sdk-core/cbor/decoder.rb
117
+ - lib/aws-sdk-core/cbor/encoder.rb
114
118
  - lib/aws-sdk-core/client_side_monitoring/publisher.rb
115
119
  - lib/aws-sdk-core/client_side_monitoring/request_metrics.rb
116
120
  - lib/aws-sdk-core/client_stubs.rb
@@ -136,6 +140,7 @@ files:
136
140
  - lib/aws-sdk-core/endpoints/templater.rb
137
141
  - lib/aws-sdk-core/endpoints/tree_rule.rb
138
142
  - lib/aws-sdk-core/endpoints/url.rb
143
+ - lib/aws-sdk-core/error_handler.rb
139
144
  - lib/aws-sdk-core/errors.rb
140
145
  - lib/aws-sdk-core/event_emitter.rb
141
146
  - lib/aws-sdk-core/ini_parser.rb
@@ -151,6 +156,7 @@ files:
151
156
  - lib/aws-sdk-core/log/handler.rb
152
157
  - lib/aws-sdk-core/log/param_filter.rb
153
158
  - lib/aws-sdk-core/log/param_formatter.rb
159
+ - lib/aws-sdk-core/lru_cache.rb
154
160
  - lib/aws-sdk-core/pageable_response.rb
155
161
  - lib/aws-sdk-core/pager.rb
156
162
  - lib/aws-sdk-core/param_converter.rb
@@ -183,8 +189,10 @@ files:
183
189
  - lib/aws-sdk-core/plugins/protocols/query.rb
184
190
  - lib/aws-sdk-core/plugins/protocols/rest_json.rb
185
191
  - lib/aws-sdk-core/plugins/protocols/rest_xml.rb
192
+ - lib/aws-sdk-core/plugins/protocols/rpc_v2.rb
186
193
  - lib/aws-sdk-core/plugins/recursion_detection.rb
187
194
  - lib/aws-sdk-core/plugins/regional_endpoint.rb
195
+ - lib/aws-sdk-core/plugins/request_compression.rb
188
196
  - lib/aws-sdk-core/plugins/response_paging.rb
189
197
  - lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb
190
198
  - lib/aws-sdk-core/plugins/retries/clock_skew.rb
@@ -199,6 +207,7 @@ files:
199
207
  - lib/aws-sdk-core/plugins/user_agent.rb
200
208
  - lib/aws-sdk-core/process_credentials.rb
201
209
  - lib/aws-sdk-core/query.rb
210
+ - lib/aws-sdk-core/query/ec2_handler.rb
202
211
  - lib/aws-sdk-core/query/ec2_param_builder.rb
203
212
  - lib/aws-sdk-core/query/handler.rb
204
213
  - lib/aws-sdk-core/query/param.rb
@@ -208,6 +217,7 @@ files:
208
217
  - lib/aws-sdk-core/refreshing_token.rb
209
218
  - lib/aws-sdk-core/resources/collection.rb
210
219
  - lib/aws-sdk-core/rest.rb
220
+ - lib/aws-sdk-core/rest/content_type_handler.rb
211
221
  - lib/aws-sdk-core/rest/handler.rb
212
222
  - lib/aws-sdk-core/rest/request/body.rb
213
223
  - lib/aws-sdk-core/rest/request/builder.rb
@@ -215,9 +225,16 @@ files:
215
225
  - lib/aws-sdk-core/rest/request/headers.rb
216
226
  - lib/aws-sdk-core/rest/request/querystring_builder.rb
217
227
  - lib/aws-sdk-core/rest/response/body.rb
228
+ - lib/aws-sdk-core/rest/response/header_list_parser.rb
218
229
  - lib/aws-sdk-core/rest/response/headers.rb
219
230
  - lib/aws-sdk-core/rest/response/parser.rb
220
231
  - lib/aws-sdk-core/rest/response/status_code.rb
232
+ - lib/aws-sdk-core/rpc_v2.rb
233
+ - lib/aws-sdk-core/rpc_v2/builder.rb
234
+ - lib/aws-sdk-core/rpc_v2/content_type_handler.rb
235
+ - lib/aws-sdk-core/rpc_v2/error_handler.rb
236
+ - lib/aws-sdk-core/rpc_v2/handler.rb
237
+ - lib/aws-sdk-core/rpc_v2/parser.rb
221
238
  - lib/aws-sdk-core/shared_config.rb
222
239
  - lib/aws-sdk-core/shared_credentials.rb
223
240
  - lib/aws-sdk-core/sso_credentials.rb
@@ -233,6 +250,7 @@ files:
233
250
  - lib/aws-sdk-core/stubbing/protocols/rest.rb
234
251
  - lib/aws-sdk-core/stubbing/protocols/rest_json.rb
235
252
  - lib/aws-sdk-core/stubbing/protocols/rest_xml.rb
253
+ - lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb
236
254
  - lib/aws-sdk-core/stubbing/stub_data.rb
237
255
  - lib/aws-sdk-core/stubbing/xml_error.rb
238
256
  - lib/aws-sdk-core/token.rb
@@ -251,13 +269,13 @@ files:
251
269
  - lib/aws-sdk-core/xml/doc_builder.rb
252
270
  - lib/aws-sdk-core/xml/error_handler.rb
253
271
  - lib/aws-sdk-core/xml/parser.rb
254
- - lib/aws-sdk-core/xml/parser/engines/libxml.rb
255
- - lib/aws-sdk-core/xml/parser/engines/nokogiri.rb
256
- - lib/aws-sdk-core/xml/parser/engines/oga.rb
257
- - lib/aws-sdk-core/xml/parser/engines/ox.rb
258
- - lib/aws-sdk-core/xml/parser/engines/rexml.rb
259
272
  - lib/aws-sdk-core/xml/parser/frame.rb
273
+ - lib/aws-sdk-core/xml/parser/libxml_engine.rb
274
+ - lib/aws-sdk-core/xml/parser/nokogiri_engine.rb
275
+ - lib/aws-sdk-core/xml/parser/oga_engine.rb
276
+ - lib/aws-sdk-core/xml/parser/ox_engine.rb
260
277
  - lib/aws-sdk-core/xml/parser/parsing_error.rb
278
+ - lib/aws-sdk-core/xml/parser/rexml_engine.rb
261
279
  - lib/aws-sdk-core/xml/parser/stack.rb
262
280
  - lib/aws-sdk-sso.rb
263
281
  - lib/aws-sdk-sso/client.rb
@@ -338,13 +356,22 @@ files:
338
356
  - lib/seahorse/model/shapes.rb
339
357
  - lib/seahorse/util.rb
340
358
  - lib/seahorse/version.rb
359
+ - sig/aws-sdk-core.rbs
360
+ - sig/aws-sdk-core/client_stubs.rbs
361
+ - sig/aws-sdk-core/errors.rbs
362
+ - sig/aws-sdk-core/resources/collection.rbs
363
+ - sig/aws-sdk-core/structure.rbs
364
+ - sig/aws-sdk-core/waiters/errors.rbs
365
+ - sig/seahorse/client/base.rbs
366
+ - sig/seahorse/client/handler_builder.rbs
367
+ - sig/seahorse/client/response.rbs
341
368
  homepage: https://github.com/aws/aws-sdk-ruby
342
369
  licenses:
343
370
  - Apache-2.0
344
371
  metadata:
345
372
  source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-core
346
373
  changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-core/CHANGELOG.md
347
- post_install_message:
374
+ post_install_message:
348
375
  rdoc_options: []
349
376
  require_paths:
350
377
  - lib
@@ -352,15 +379,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
352
379
  requirements:
353
380
  - - ">="
354
381
  - !ruby/object:Gem::Version
355
- version: '2.3'
382
+ version: '2.5'
356
383
  required_rubygems_version: !ruby/object:Gem::Requirement
357
384
  requirements:
358
385
  - - ">="
359
386
  - !ruby/object:Gem::Version
360
387
  version: '0'
361
388
  requirements: []
362
- rubygems_version: 3.1.6
363
- signing_key:
389
+ rubygems_version: 3.4.10
390
+ signing_key:
364
391
  specification_version: 4
365
392
  summary: AWS SDK for Ruby - Core
366
393
  test_files: []