aws-sdk-core 3.192.1 → 3.193.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2395902c0987473cd133d100c6a95ed688e6a08c60f5b1111a2da1dc0b4c8a6d
4
- data.tar.gz: 30a8dde25eff270571c9516ba6b94fa36220862fbd9f2849bd0cd89ec9a386db
3
+ metadata.gz: 695fd9bb743f174c2d95150bbd990e4918a7ed369f302e76f8da7d280fc3f67a
4
+ data.tar.gz: 1cde2df63d79f4a15723b62420c0e97b70e6cb42dff41e9116704c73a9793454
5
5
  SHA512:
6
- metadata.gz: 784eb0e07984d63bde357870ce1347a9abe540ecd4c9888d36a71832a66ac24ca6f422084866dc9471b0296e5b96e30d8a552ac61da4b72329af9227f8096ffd
7
- data.tar.gz: 7aebcc71d316b70de8980e853a623be34c71ea7efd57c6c2bbf1234350b1ddfe7a99a27bb05d32884cd33d63b7eb54698e837836e63e7dd4f4fdd94bc4d46d1b
6
+ metadata.gz: f468ab811c2a74ab4dd844258ba6f8b5e515771c4409cd03018c5fd1a33b11cf50f03d43ea2efb5201fdf8cf4ffee83fc1cc7bec6016206a05e6b05b5dbdd160
7
+ data.tar.gz: 44a637e590341dec00e23586c0c0d8881ad863aa94b73ddd75686fa08f2491e2c1d15fc8d409896cddee00e7eef0c585a98bf689249a9ae5839131f38e6d2ac9
data/CHANGELOG.md CHANGED
@@ -1,6 +1,24 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.193.0 (2024-04-25)
5
+ ------------------
6
+
7
+ * Feature - Updated Aws::STS::Client with the latest API changes.
8
+
9
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
10
+
11
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
12
+
13
+ * Issue - Update event stream documentation.
14
+ * Issue - Move `InvocationId` plugin to all clients.
15
+ * Issue - Handle event streaming content-sha256 header in the signer plugin.
16
+ * Issue - Add the event stream content type to initial requests.
17
+ * Issue - Fix `standard` and `adaptive` retry mode for event streams.
18
+ * Issue - Add `authority` to http2 headers.
19
+ * Issue - Do not treat single members in event stream structures as implicit payloads.
20
+ * Issue - Do not wait for initial response headers to start sending input events.
21
+
4
22
  3.192.1 (2024-04-18)
5
23
  ------------------
6
24
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.192.1
1
+ 3.193.0
@@ -33,11 +33,6 @@ module Aws
33
33
  context.operation.errors,
34
34
  context.http_response.body,
35
35
  output_handler)
36
- if input_emitter = context[:input_event_emitter]
37
- # #emit will be blocked until 200 success
38
- # see Aws::EventEmitter#emit
39
- input_emitter.signal_queue << "ready"
40
- end
41
36
  end
42
37
 
43
38
  context.http_response.on_success(200) do
@@ -42,41 +42,39 @@ module Aws
42
42
  end
43
43
  end
44
44
 
45
- # implict payload
46
- if !explicit_payload && !implicit_payload_members.empty?
47
- if implicit_payload_members.size > 1
48
- payload_shape = Shapes::StructureShape.new
49
- implicit_payload_members.each do |m_name, m_ref|
50
- payload_shape.add_member(m_name, m_ref)
51
- end
52
- payload_ref = Shapes::ShapeRef.new(shape: payload_shape)
53
-
54
- payload = build_payload_members(payload_ref, params)
55
- else
56
- m_name, m_ref = implicit_payload_members.first
57
- streaming, content_type = _content_type(m_ref.shape)
58
-
59
- es_headers[":content-type"] = Aws::EventStream::HeaderValue.new(
60
- type: "string", value: content_type)
61
- payload = _build_payload(streaming, m_ref, params[m_name])
62
- end
63
- end
64
-
65
-
45
+ # handle header members for all cases
66
46
  event_ref.shape.members.each do |member_name, member_ref|
67
47
  if member_ref.eventheader && params[member_name]
68
48
  header_value = params[member_name]
69
49
  es_headers[member_ref.shape.name] = Aws::EventStream::HeaderValue.new(
70
- type: _header_value_type(member_ref.shape, header_value),
50
+ type: header_value_type(member_ref.shape, header_value),
71
51
  value: header_value
72
52
  )
73
- elsif member_ref.eventpayload && params[member_name]
74
- # explicit payload
75
- streaming, content_type = _content_type(member_ref.shape)
53
+ end
54
+ end
55
+
56
+ # implict payload
57
+ if !explicit_payload && !implicit_payload_members.empty?
58
+ payload_shape = StructureShape.new
59
+ implicit_payload_members.each do |m_name, m_ref|
60
+ payload_shape.add_member(m_name, m_ref)
61
+ end
62
+ payload_ref = ShapeRef.new(shape: payload_shape)
76
63
 
77
- es_headers[":content-type"] = Aws::EventStream::HeaderValue.new(
78
- type: "string", value: content_type)
79
- payload = _build_payload(streaming, member_ref, params[member_name])
64
+ payload = build_payload_members(payload_ref, params)
65
+ .force_encoding(Encoding::BINARY)
66
+
67
+
68
+ es_headers[":content-type"] = Aws::EventStream::HeaderValue.new(
69
+ type: "string", value: content_type(payload_ref.shape))
70
+ else
71
+ # explicit payload, serialize just the payload member
72
+ event_ref.shape.members.each do |member_name, member_ref|
73
+ if member_ref.eventpayload && params[member_name]
74
+ es_headers[":content-type"] = Aws::EventStream::HeaderValue.new(
75
+ type: "string", value: content_type(member_ref.shape))
76
+ payload = params[member_name]
77
+ end
80
78
  end
81
79
  end
82
80
 
@@ -86,15 +84,15 @@ module Aws
86
84
  )
87
85
  end
88
86
 
89
- def _content_type(shape)
87
+ def content_type(shape)
90
88
  case shape
91
- when BlobShape then [true, "application/octet-stream"]
92
- when StringShape then [true, "text/plain"]
89
+ when BlobShape then "application/octet-stream"
90
+ when StringShape then "text/plain"
93
91
  when StructureShape then
94
92
  if @serializer_class.name.include?('Xml')
95
- [false, "text/xml"]
93
+ "text/xml"
96
94
  elsif @serializer_class.name.include?('Json')
97
- [false, "application/json"]
95
+ "application/json"
98
96
  end
99
97
  else
100
98
  raise Aws::Errors::EventStreamBuilderError.new(
@@ -102,7 +100,7 @@ module Aws
102
100
  end
103
101
  end
104
102
 
105
- def _header_value_type(shape, value)
103
+ def header_value_type(shape, value)
106
104
  case shape
107
105
  when StringShape then "string"
108
106
  when IntegerShape then "integer"
@@ -115,10 +113,9 @@ module Aws
115
113
  end
116
114
  end
117
115
 
118
- def _build_payload(streaming, ref, value)
119
- streaming ? value : @serializer_class.new(ref).serialize(value)
116
+ def build_payload_members(payload_ref, params)
117
+ @serializer_class.new(payload_ref).serialize(params)
120
118
  end
121
-
122
119
  end
123
120
  end
124
121
  end
@@ -6,7 +6,6 @@ module Aws
6
6
  def initialize
7
7
  @listeners = {}
8
8
  @validate_event = true
9
- @status = :sleep
10
9
  @signal_queue = Queue.new
11
10
  end
12
11
 
@@ -40,25 +39,10 @@ module Aws
40
39
  Aws::ParamValidator.validate!(
41
40
  @encoder.rules.shape.member(type), params)
42
41
  end
43
- _ready_for_events?
44
42
  @stream.data(
45
43
  @encoder.encode(type, params),
46
44
  end_stream: type == :end_stream
47
45
  )
48
46
  end
49
-
50
- private
51
-
52
- def _ready_for_events?
53
- return true if @status == :ready
54
-
55
- # blocked until once initial 200 response is received
56
- # signal will be available in @signal_queue
57
- # and this check will no longer be blocked
58
- @signal_queue.pop
59
- @status = :ready
60
- true
61
- end
62
-
63
47
  end
64
48
  end
@@ -12,18 +12,8 @@ module Aws
12
12
  class Handler < Seahorse::Client::Handler
13
13
 
14
14
  def call(context)
15
- apply_invocation_id(context)
16
- @handler.call(context)
17
- end
18
-
19
- private
20
-
21
- def apply_invocation_id(context)
22
15
  context.http_request.headers['amz-sdk-invocation-id'] = SecureRandom.uuid
23
- if context[:input_event_emitter]
24
- # only used for eventstreaming at input
25
- context.http_request.headers['x-amz-content-sha256'] = 'STREAMING-AWS4-HMAC-SHA256-EVENTS'
26
- end
16
+ @handler.call(context)
27
17
  end
28
18
 
29
19
  end
@@ -159,9 +159,14 @@ module Aws
159
159
  private
160
160
 
161
161
  def apply_authtype(context, req)
162
- if context.operation['authtype'].eql?('v4-unsigned-body') &&
163
- req.endpoint.scheme.eql?('https')
164
- req.headers['X-Amz-Content-Sha256'] ||= 'UNSIGNED-PAYLOAD'
162
+ # only used for eventstreaming at input
163
+ if context[:input_event_emitter]
164
+ req.headers['X-Amz-Content-Sha256'] = 'STREAMING-AWS4-HMAC-SHA256-EVENTS'
165
+ else
166
+ if context.operation['authtype'].eql?('v4-unsigned-body') &&
167
+ req.endpoint.scheme.eql?('https')
168
+ req.headers['X-Amz-Content-Sha256'] ||= 'UNSIGNED-PAYLOAD'
169
+ end
165
170
  end
166
171
  end
167
172
 
@@ -5,9 +5,10 @@ module Aws
5
5
  # NOTE: headers could be already populated if specified on input shape
6
6
  class ContentTypeHandler < Seahorse::Client::Handler
7
7
  def call(context)
8
- body = context.http_request.body
9
-
10
- if (payload = context.operation.input[:payload_member])
8
+ if eventstream?(context)
9
+ context.http_request.headers['Content-Type'] ||=
10
+ 'application/vnd.amazon.eventstream'
11
+ elsif (payload = context.operation.input[:payload_member])
11
12
  case payload.shape
12
13
  when Seahorse::Model::Shapes::BlobShape
13
14
  context.http_request.headers['Content-Type'] ||=
@@ -18,7 +19,8 @@ module Aws
18
19
  else
19
20
  apply_default_content_type(context)
20
21
  end
21
- elsif !body.respond_to?(:size) || non_empty_body?(body)
22
+ elsif (body = context.http_request.body) &&
23
+ (!body.respond_to?(:size) || non_empty_body?(body))
22
24
  apply_default_content_type(context)
23
25
  end
24
26
 
@@ -31,6 +33,13 @@ module Aws
31
33
  body.respond_to?(:size) && body.size.positive?
32
34
  end
33
35
 
36
+ def eventstream?(context)
37
+ context.operation.input.shape.members.each do |_, ref|
38
+ return ref if ref.eventstream
39
+ end
40
+ false
41
+ end
42
+
34
43
  # content-type defaults as noted here:
35
44
  # rest-json: https://smithy.io/2.0/aws/protocols/aws-restxml-protocol.html#content-type
36
45
  # rest-xml: https://smithy.io/2.0/aws/protocols/aws-restxml-protocol.html#content-type
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -72,6 +73,7 @@ module Aws::SSO
72
73
  add_plugin(Aws::Plugins::ResponsePaging)
73
74
  add_plugin(Aws::Plugins::StubResponses)
74
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
75
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -196,10 +198,17 @@ module Aws::SSO
196
198
  # When set to 'true' the request body will not be compressed
197
199
  # for supported operations.
198
200
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
203
212
  #
204
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -337,50 +346,65 @@ module Aws::SSO
337
346
  # @option options [Aws::SSO::EndpointProvider] :endpoint_provider
338
347
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SSO::EndpointParameters`
339
348
  #
340
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
- # requests through. Formatted like 'http://proxy.com:123'.
342
- #
343
- # @option options [Float] :http_open_timeout (15) The number of
344
- # seconds to wait when opening a HTTP session before raising a
345
- # `Timeout::Error`.
346
- #
347
- # @option options [Float] :http_read_timeout (60) The default
348
- # number of seconds to wait for response data. This value can
349
- # safely be set per-request on the session.
350
- #
351
- # @option options [Float] :http_idle_timeout (5) The number of
352
- # seconds a connection is allowed to sit idle before it is
353
- # considered stale. Stale connections are closed and removed
354
- # from the pool before making a request.
355
- #
356
- # @option options [Float] :http_continue_timeout (1) The number of
357
- # seconds to wait for a 100-continue response before sending the
358
- # request body. This option has no effect unless the request has
359
- # "Expect" header set to "100-continue". Defaults to `nil` which
360
- # disables this behaviour. This value can safely be set per
361
- # request on the session.
362
- #
363
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
- # in seconds.
349
+ # @option options [Float] :http_continue_timeout (1)
350
+ # The number of seconds to wait for a 100-continue response before sending the
351
+ # request body. This option has no effect unless the request has "Expect"
352
+ # header set to "100-continue". Defaults to `nil` which disables this
353
+ # behaviour. This value can safely be set per request on the session.
354
+ #
355
+ # @option options [Float] :http_idle_timeout (5)
356
+ # The number of seconds a connection is allowed to sit idle before it
357
+ # is considered stale. Stale connections are closed and removed from the
358
+ # pool before making a request.
359
+ #
360
+ # @option options [Float] :http_open_timeout (15)
361
+ # The default number of seconds to wait for response data.
362
+ # This value can safely be set per-request on the session.
363
+ #
364
+ # @option options [URI::HTTP,String] :http_proxy
365
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
366
+ #
367
+ # @option options [Float] :http_read_timeout (60)
368
+ # The default number of seconds to wait for response data.
369
+ # This value can safely be set per-request on the session.
370
+ #
371
+ # @option options [Boolean] :http_wire_trace (false)
372
+ # When `true`, HTTP debug output will be sent to the `:logger`.
373
+ #
374
+ # @option options [Proc] :on_chunk_received
375
+ # When a Proc object is provided, it will be used as callback when each chunk
376
+ # of the response body is received. It provides three arguments: the chunk,
377
+ # the number of bytes received, and the total number of
378
+ # bytes in the response (or nil if the server did not send a `content-length`).
379
+ #
380
+ # @option options [Proc] :on_chunk_sent
381
+ # When a Proc object is provided, it will be used as callback when each chunk
382
+ # of the request body is sent. It provides three arguments: the chunk,
383
+ # the number of bytes read from the body, and the total number of
384
+ # bytes in the body.
385
+ #
386
+ # @option options [Boolean] :raise_response_errors (true)
387
+ # When `true`, response errors are raised.
388
+ #
389
+ # @option options [String] :ssl_ca_bundle
390
+ # Full path to the SSL certificate authority bundle file that should be used when
391
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
392
+ # `:ssl_ca_directory` the the system default will be used if available.
393
+ #
394
+ # @option options [String] :ssl_ca_directory
395
+ # Full path of the directory that contains the unbundled SSL certificate
396
+ # authority files for verifying peer certificates. If you do
397
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
398
+ # default will be used if available.
365
399
  #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
400
+ # @option options [String] :ssl_ca_store
401
+ # Sets the X509::Store to verify peer certificate.
368
402
  #
369
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
- # SSL peer certificates are verified when establishing a
371
- # connection.
403
+ # @option options [Float] :ssl_timeout
404
+ # Sets the SSL timeout in seconds
372
405
  #
373
- # @option options [String] :ssl_ca_bundle Full path to the SSL
374
- # certificate authority bundle file that should be used when
375
- # verifying peer certificates. If you do not pass
376
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
- # will be used if available.
378
- #
379
- # @option options [String] :ssl_ca_directory Full path of the
380
- # directory that contains the unbundled SSL certificate
381
- # authority files for verifying peer certificates. If you do
382
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
- # system default will be used if available.
406
+ # @option options [Boolean] :ssl_verify_peer (true)
407
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
408
  #
385
409
  def initialize(*args)
386
410
  super
@@ -605,7 +629,7 @@ module Aws::SSO
605
629
  params: params,
606
630
  config: config)
607
631
  context[:gem_name] = 'aws-sdk-core'
608
- context[:gem_version] = '3.192.1'
632
+ context[:gem_version] = '3.193.0'
609
633
  Seahorse::Client::Request.new(handlers, context)
610
634
  end
611
635
 
data/lib/aws-sdk-sso.rb CHANGED
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sso/customizations'
54
54
  # @!group service
55
55
  module Aws::SSO
56
56
 
57
- GEM_VERSION = '3.192.1'
57
+ GEM_VERSION = '3.193.0'
58
58
 
59
59
  end
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -72,6 +73,7 @@ module Aws::SSOOIDC
72
73
  add_plugin(Aws::Plugins::ResponsePaging)
73
74
  add_plugin(Aws::Plugins::StubResponses)
74
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
75
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -196,10 +198,17 @@ module Aws::SSOOIDC
196
198
  # When set to 'true' the request body will not be compressed
197
199
  # for supported operations.
198
200
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
203
212
  #
204
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -337,50 +346,65 @@ module Aws::SSOOIDC
337
346
  # @option options [Aws::SSOOIDC::EndpointProvider] :endpoint_provider
338
347
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SSOOIDC::EndpointParameters`
339
348
  #
340
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
- # requests through. Formatted like 'http://proxy.com:123'.
342
- #
343
- # @option options [Float] :http_open_timeout (15) The number of
344
- # seconds to wait when opening a HTTP session before raising a
345
- # `Timeout::Error`.
346
- #
347
- # @option options [Float] :http_read_timeout (60) The default
348
- # number of seconds to wait for response data. This value can
349
- # safely be set per-request on the session.
350
- #
351
- # @option options [Float] :http_idle_timeout (5) The number of
352
- # seconds a connection is allowed to sit idle before it is
353
- # considered stale. Stale connections are closed and removed
354
- # from the pool before making a request.
355
- #
356
- # @option options [Float] :http_continue_timeout (1) The number of
357
- # seconds to wait for a 100-continue response before sending the
358
- # request body. This option has no effect unless the request has
359
- # "Expect" header set to "100-continue". Defaults to `nil` which
360
- # disables this behaviour. This value can safely be set per
361
- # request on the session.
362
- #
363
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
- # in seconds.
349
+ # @option options [Float] :http_continue_timeout (1)
350
+ # The number of seconds to wait for a 100-continue response before sending the
351
+ # request body. This option has no effect unless the request has "Expect"
352
+ # header set to "100-continue". Defaults to `nil` which disables this
353
+ # behaviour. This value can safely be set per request on the session.
354
+ #
355
+ # @option options [Float] :http_idle_timeout (5)
356
+ # The number of seconds a connection is allowed to sit idle before it
357
+ # is considered stale. Stale connections are closed and removed from the
358
+ # pool before making a request.
359
+ #
360
+ # @option options [Float] :http_open_timeout (15)
361
+ # The default number of seconds to wait for response data.
362
+ # This value can safely be set per-request on the session.
363
+ #
364
+ # @option options [URI::HTTP,String] :http_proxy
365
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
366
+ #
367
+ # @option options [Float] :http_read_timeout (60)
368
+ # The default number of seconds to wait for response data.
369
+ # This value can safely be set per-request on the session.
370
+ #
371
+ # @option options [Boolean] :http_wire_trace (false)
372
+ # When `true`, HTTP debug output will be sent to the `:logger`.
373
+ #
374
+ # @option options [Proc] :on_chunk_received
375
+ # When a Proc object is provided, it will be used as callback when each chunk
376
+ # of the response body is received. It provides three arguments: the chunk,
377
+ # the number of bytes received, and the total number of
378
+ # bytes in the response (or nil if the server did not send a `content-length`).
379
+ #
380
+ # @option options [Proc] :on_chunk_sent
381
+ # When a Proc object is provided, it will be used as callback when each chunk
382
+ # of the request body is sent. It provides three arguments: the chunk,
383
+ # the number of bytes read from the body, and the total number of
384
+ # bytes in the body.
385
+ #
386
+ # @option options [Boolean] :raise_response_errors (true)
387
+ # When `true`, response errors are raised.
388
+ #
389
+ # @option options [String] :ssl_ca_bundle
390
+ # Full path to the SSL certificate authority bundle file that should be used when
391
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
392
+ # `:ssl_ca_directory` the the system default will be used if available.
393
+ #
394
+ # @option options [String] :ssl_ca_directory
395
+ # Full path of the directory that contains the unbundled SSL certificate
396
+ # authority files for verifying peer certificates. If you do
397
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
398
+ # default will be used if available.
365
399
  #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
400
+ # @option options [String] :ssl_ca_store
401
+ # Sets the X509::Store to verify peer certificate.
368
402
  #
369
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
- # SSL peer certificates are verified when establishing a
371
- # connection.
403
+ # @option options [Float] :ssl_timeout
404
+ # Sets the SSL timeout in seconds
372
405
  #
373
- # @option options [String] :ssl_ca_bundle Full path to the SSL
374
- # certificate authority bundle file that should be used when
375
- # verifying peer certificates. If you do not pass
376
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
- # will be used if available.
378
- #
379
- # @option options [String] :ssl_ca_directory Full path of the
380
- # directory that contains the unbundled SSL certificate
381
- # authority files for verifying peer certificates. If you do
382
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
- # system default will be used if available.
406
+ # @option options [Boolean] :ssl_verify_peer (true)
407
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
408
  #
385
409
  def initialize(*args)
386
410
  super
@@ -910,7 +934,7 @@ module Aws::SSOOIDC
910
934
  params: params,
911
935
  config: config)
912
936
  context[:gem_name] = 'aws-sdk-core'
913
- context[:gem_version] = '3.192.1'
937
+ context[:gem_version] = '3.193.0'
914
938
  Seahorse::Client::Request.new(handlers, context)
915
939
  end
916
940
 
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-ssooidc/customizations'
54
54
  # @!group service
55
55
  module Aws::SSOOIDC
56
56
 
57
- GEM_VERSION = '3.192.1'
57
+ GEM_VERSION = '3.193.0'
58
58
 
59
59
  end
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -73,6 +74,7 @@ module Aws::STS
73
74
  add_plugin(Aws::Plugins::ResponsePaging)
74
75
  add_plugin(Aws::Plugins::StubResponses)
75
76
  add_plugin(Aws::Plugins::IdempotencyToken)
77
+ add_plugin(Aws::Plugins::InvocationId)
76
78
  add_plugin(Aws::Plugins::JsonvalueConverter)
77
79
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
78
80
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -198,10 +200,17 @@ module Aws::STS
198
200
  # When set to 'true' the request body will not be compressed
199
201
  # for supported operations.
200
202
  #
201
- # @option options [String] :endpoint
202
- # The client endpoint is normally constructed from the `:region`
203
- # option. You should only configure an `:endpoint` when connecting
204
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
204
+ # Normally you should not configure the `:endpoint` option
205
+ # directly. This is normally constructed from the `:region`
206
+ # option. Configuring `:endpoint` is normally reserved for
207
+ # connecting to test or custom endpoints. The endpoint should
208
+ # be a URI formatted like:
209
+ #
210
+ # 'http://example.com'
211
+ # 'https://example.com'
212
+ # 'http://example.com:123'
213
+ #
205
214
  #
206
215
  # @option options [Integer] :endpoint_cache_max_entries (1000)
207
216
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -344,50 +353,65 @@ module Aws::STS
344
353
  # @option options [Aws::STS::EndpointProvider] :endpoint_provider
345
354
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::STS::EndpointParameters`
346
355
  #
347
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
348
- # requests through. Formatted like 'http://proxy.com:123'.
349
- #
350
- # @option options [Float] :http_open_timeout (15) The number of
351
- # seconds to wait when opening a HTTP session before raising a
352
- # `Timeout::Error`.
353
- #
354
- # @option options [Float] :http_read_timeout (60) The default
355
- # number of seconds to wait for response data. This value can
356
- # safely be set per-request on the session.
357
- #
358
- # @option options [Float] :http_idle_timeout (5) The number of
359
- # seconds a connection is allowed to sit idle before it is
360
- # considered stale. Stale connections are closed and removed
361
- # from the pool before making a request.
362
- #
363
- # @option options [Float] :http_continue_timeout (1) The number of
364
- # seconds to wait for a 100-continue response before sending the
365
- # request body. This option has no effect unless the request has
366
- # "Expect" header set to "100-continue". Defaults to `nil` which
367
- # disables this behaviour. This value can safely be set per
368
- # request on the session.
369
- #
370
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
371
- # in seconds.
356
+ # @option options [Float] :http_continue_timeout (1)
357
+ # The number of seconds to wait for a 100-continue response before sending the
358
+ # request body. This option has no effect unless the request has "Expect"
359
+ # header set to "100-continue". Defaults to `nil` which disables this
360
+ # behaviour. This value can safely be set per request on the session.
361
+ #
362
+ # @option options [Float] :http_idle_timeout (5)
363
+ # The number of seconds a connection is allowed to sit idle before it
364
+ # is considered stale. Stale connections are closed and removed from the
365
+ # pool before making a request.
366
+ #
367
+ # @option options [Float] :http_open_timeout (15)
368
+ # The default number of seconds to wait for response data.
369
+ # This value can safely be set per-request on the session.
370
+ #
371
+ # @option options [URI::HTTP,String] :http_proxy
372
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
373
+ #
374
+ # @option options [Float] :http_read_timeout (60)
375
+ # The default number of seconds to wait for response data.
376
+ # This value can safely be set per-request on the session.
377
+ #
378
+ # @option options [Boolean] :http_wire_trace (false)
379
+ # When `true`, HTTP debug output will be sent to the `:logger`.
380
+ #
381
+ # @option options [Proc] :on_chunk_received
382
+ # When a Proc object is provided, it will be used as callback when each chunk
383
+ # of the response body is received. It provides three arguments: the chunk,
384
+ # the number of bytes received, and the total number of
385
+ # bytes in the response (or nil if the server did not send a `content-length`).
386
+ #
387
+ # @option options [Proc] :on_chunk_sent
388
+ # When a Proc object is provided, it will be used as callback when each chunk
389
+ # of the request body is sent. It provides three arguments: the chunk,
390
+ # the number of bytes read from the body, and the total number of
391
+ # bytes in the body.
392
+ #
393
+ # @option options [Boolean] :raise_response_errors (true)
394
+ # When `true`, response errors are raised.
395
+ #
396
+ # @option options [String] :ssl_ca_bundle
397
+ # Full path to the SSL certificate authority bundle file that should be used when
398
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
399
+ # `:ssl_ca_directory` the the system default will be used if available.
400
+ #
401
+ # @option options [String] :ssl_ca_directory
402
+ # Full path of the directory that contains the unbundled SSL certificate
403
+ # authority files for verifying peer certificates. If you do
404
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
405
+ # default will be used if available.
372
406
  #
373
- # @option options [Boolean] :http_wire_trace (false) When `true`,
374
- # HTTP debug output will be sent to the `:logger`.
407
+ # @option options [String] :ssl_ca_store
408
+ # Sets the X509::Store to verify peer certificate.
375
409
  #
376
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
377
- # SSL peer certificates are verified when establishing a
378
- # connection.
410
+ # @option options [Float] :ssl_timeout
411
+ # Sets the SSL timeout in seconds
379
412
  #
380
- # @option options [String] :ssl_ca_bundle Full path to the SSL
381
- # certificate authority bundle file that should be used when
382
- # verifying peer certificates. If you do not pass
383
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
384
- # will be used if available.
385
- #
386
- # @option options [String] :ssl_ca_directory Full path of the
387
- # directory that contains the unbundled SSL certificate
388
- # authority files for verifying peer certificates. If you do
389
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
390
- # system default will be used if available.
413
+ # @option options [Boolean] :ssl_verify_peer (true)
414
+ # When `true`, SSL peer certificates are verified when establishing a connection.
391
415
  #
392
416
  def initialize(*args)
393
417
  super
@@ -2352,7 +2376,7 @@ module Aws::STS
2352
2376
  params: params,
2353
2377
  config: config)
2354
2378
  context[:gem_name] = 'aws-sdk-core'
2355
- context[:gem_version] = '3.192.1'
2379
+ context[:gem_version] = '3.193.0'
2356
2380
  Seahorse::Client::Request.new(handlers, context)
2357
2381
  end
2358
2382
 
data/lib/aws-sdk-sts.rb CHANGED
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sts/customizations'
54
54
  # @!group service
55
55
  module Aws::STS
56
56
 
57
- GEM_VERSION = '3.192.1'
57
+ GEM_VERSION = '3.193.0'
58
58
 
59
59
  end
@@ -5,12 +5,12 @@ module Seahorse
5
5
  class AsyncBase < Seahorse::Client::Base
6
6
 
7
7
  # default H2 plugins
8
+ # @api private
8
9
  @plugins = PluginList.new([
9
10
  Plugins::Endpoint,
10
11
  Plugins::H2,
11
12
  Plugins::ResponseTarget
12
13
  ])
13
-
14
14
  def initialize(plugins, options)
15
15
  super
16
16
  @connection = H2::Connection.new(options)
@@ -12,24 +12,43 @@ module Seahorse
12
12
  @sync_queue = options[:sync_queue]
13
13
  end
14
14
 
15
+ # @return [RequestContext]
15
16
  def context
16
17
  @response.context
17
18
  end
18
19
 
20
+ # @return [StandardError, nil]
19
21
  def error
20
22
  @response.error
21
23
  end
22
24
 
25
+ # @overload on(status_code, &block)
26
+ # @param [Integer] status_code The block will be
27
+ # triggered only for responses with the given status code.
28
+ #
29
+ # @overload on(status_code_range, &block)
30
+ # @param [Range<Integer>] status_code_range The block will be
31
+ # triggered only for responses with a status code that falls
32
+ # witin the given range.
33
+ #
34
+ # @return [self]
23
35
  def on(range, &block)
24
36
  @response.on(range, &block)
25
37
  self
26
38
  end
27
39
 
40
+ # @api private
28
41
  def on_complete(&block)
29
42
  @response.on_complete(&block)
30
43
  self
31
44
  end
32
45
 
46
+ # @return [Boolean] Returns `true` if the response is complete with
47
+ # no error.
48
+ def successful?
49
+ @response.error.nil?
50
+ end
51
+
33
52
  def wait
34
53
  if error && context.config.raise_response_errors
35
54
  raise error
@@ -9,6 +9,7 @@ module Seahorse
9
9
  include HandlerBuilder
10
10
 
11
11
  # default plugins
12
+ # @api private
12
13
  @plugins = PluginList.new([
13
14
  Plugins::Endpoint,
14
15
  Plugins::NetHttp,
@@ -126,6 +126,7 @@ module Seahorse
126
126
  # https://http2.github.io/http2-spec/#rfc.section.8.1.2.3
127
127
  def _h2_headers(req)
128
128
  headers = {}
129
+ headers[':authority'] = req.endpoint.host
129
130
  headers[':method'] = req.http_method.upcase
130
131
  headers[':scheme'] = req.endpoint.scheme
131
132
  headers[':path'] = req.endpoint.path.empty? ? '/' : req.endpoint.path
@@ -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
 
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.192.1
4
+ version: 3.193.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: 2024-04-18 00:00:00.000000000 Z
11
+ date: 2024-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath