aws-sdk-core 3.192.0 → 3.193.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d1127887a64dce6dfd29c25cf492e36bbfffc290a79f0bad1ee7c1d598f033d
4
- data.tar.gz: c418f5ac7a761219bab8d022d03910b9646a7e929371d75a40e1b27e9b4d5771
3
+ metadata.gz: 695fd9bb743f174c2d95150bbd990e4918a7ed369f302e76f8da7d280fc3f67a
4
+ data.tar.gz: 1cde2df63d79f4a15723b62420c0e97b70e6cb42dff41e9116704c73a9793454
5
5
  SHA512:
6
- metadata.gz: 5c02ee8145d73c2e235ebfab5b6017219d767b6dca4160ae67476927cee7a8f0ad94752deb94930b168133cd3949eb110735baf5195a781fd842af218bee6a5c
7
- data.tar.gz: fc3d6b824590a1f311ede6c5b5e0355dd9181b2d44e6ba2bf8414797fa98a053dc657aa929b2156520d99ac7b140270850c61a90a3c391aadc9bf3e83c98053e
6
+ metadata.gz: f468ab811c2a74ab4dd844258ba6f8b5e515771c4409cd03018c5fd1a33b11cf50f03d43ea2efb5201fdf8cf4ffee83fc1cc7bec6016206a05e6b05b5dbdd160
7
+ data.tar.gz: 44a637e590341dec00e23586c0c0d8881ad863aa94b73ddd75686fa08f2491e2c1d15fc8d409896cddee00e7eef0c585a98bf689249a9ae5839131f38e6d2ac9
data/CHANGELOG.md CHANGED
@@ -1,6 +1,29 @@
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
+
22
+ 3.192.1 (2024-04-18)
23
+ ------------------
24
+
25
+ * Issue - Drop key/value pair if value is `nil` when deserializing json maps.
26
+
4
27
  3.192.0 (2024-04-16)
5
28
  ------------------
6
29
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.192.0
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
@@ -69,6 +69,8 @@ module Aws
69
69
  def map(ref, values, target = nil)
70
70
  target = {} if target.nil?
71
71
  values.each do |key, value|
72
+ next if value.nil?
73
+
72
74
  target[key] = parse_ref(ref.shape.value, value)
73
75
  end
74
76
  target
@@ -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.0'
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.0'
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.0'
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.0'
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.0'
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.0'
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.0
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-16 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