aws-sdk-core 3.196.1 → 3.199.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +39 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-core/binary/decode_handler.rb +3 -4
- data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
- data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
- data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
- data/lib/aws-sdk-core/cbor/cbor_engine.rb +19 -0
- data/lib/aws-sdk-core/cbor/decoder.rb +310 -0
- data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
- data/lib/aws-sdk-core/cbor.rb +106 -0
- data/lib/aws-sdk-core/client_stubs.rb +3 -2
- data/lib/aws-sdk-core/endpoints/matchers.rb +5 -1
- data/lib/aws-sdk-core/error_handler.rb +41 -0
- data/lib/aws-sdk-core/json/error_handler.rb +6 -8
- data/lib/aws-sdk-core/json/handler.rb +5 -6
- data/lib/aws-sdk-core/json/json_engine.rb +3 -1
- data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
- data/lib/aws-sdk-core/json/parser.rb +2 -0
- data/lib/aws-sdk-core/json.rb +43 -14
- data/lib/aws-sdk-core/pageable_response.rb +1 -1
- data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
- data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
- data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
- data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
- data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
- data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
- data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +4 -3
- data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +5 -1
- data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
- data/lib/aws-sdk-core/plugins/request_compression.rb +10 -1
- data/lib/aws-sdk-core/plugins/retry_errors.rb +10 -3
- data/lib/aws-sdk-core/plugins/user_agent.rb +58 -24
- data/lib/aws-sdk-core/process_credentials.rb +45 -27
- data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
- data/lib/aws-sdk-core/query/handler.rb +4 -4
- data/lib/aws-sdk-core/query.rb +2 -1
- data/lib/aws-sdk-core/rest/{request/content_type.rb → content_type_handler.rb} +1 -1
- data/lib/aws-sdk-core/rest/handler.rb +3 -4
- data/lib/aws-sdk-core/rest/request/endpoint.rb +3 -1
- data/lib/aws-sdk-core/rest.rb +1 -1
- data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
- data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +45 -0
- data/lib/aws-sdk-core/rpc_v2/error_handler.rb +84 -0
- data/lib/aws-sdk-core/rpc_v2/handler.rb +74 -0
- data/lib/aws-sdk-core/rpc_v2/parser.rb +90 -0
- data/lib/aws-sdk-core/rpc_v2.rb +6 -0
- data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +41 -0
- data/lib/aws-sdk-core/util.rb +4 -4
- data/lib/aws-sdk-core/waiters/poller.rb +1 -1
- data/lib/aws-sdk-core/xml/error_handler.rb +11 -37
- data/lib/aws-sdk-core/xml/parser.rb +2 -6
- data/lib/aws-sdk-core.rb +6 -2
- data/lib/aws-sdk-sso/client.rb +6 -3
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-ssooidc/client.rb +6 -3
- data/lib/aws-sdk-ssooidc.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +6 -3
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/seahorse/client/base.rb +17 -7
- data/lib/seahorse/client/handler.rb +1 -1
- data/lib/seahorse/client/plugins/endpoint.rb +0 -1
- metadata +22 -8
- /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'time'
|
4
|
+
|
5
|
+
module Aws
|
6
|
+
module RpcV2
|
7
|
+
class Parser
|
8
|
+
include Seahorse::Model::Shapes
|
9
|
+
|
10
|
+
# @param [Seahorse::Model::ShapeRef] rules
|
11
|
+
def initialize(rules, query_compatible: false)
|
12
|
+
@rules = rules
|
13
|
+
@query_compatible = query_compatible
|
14
|
+
end
|
15
|
+
|
16
|
+
def parse(cbor, target = nil)
|
17
|
+
return {} if cbor.empty?
|
18
|
+
|
19
|
+
parse_ref(@rules, Cbor.decode(cbor), target)
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def structure(ref, values, target = nil)
|
25
|
+
shape = ref.shape
|
26
|
+
target = ref.shape.struct_class.new if target.nil?
|
27
|
+
values.each do |key, value|
|
28
|
+
member_name, member_ref = shape.member_by_location_name(key)
|
29
|
+
if member_ref
|
30
|
+
target[member_name] = parse_ref(member_ref, value)
|
31
|
+
elsif shape.union && key != '__type'
|
32
|
+
target[:unknown] = { 'name' => key, 'value' => value }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
# In services that were previously Query/XML, members that were
|
36
|
+
# "flattened" defaulted to empty lists. In JSON, these values are nil,
|
37
|
+
# which is backwards incompatible. To preserve backwards compatibility,
|
38
|
+
# we set a default value of [] for these members.
|
39
|
+
if @query_compatible
|
40
|
+
ref.shape.members.each do |member_name, member_target|
|
41
|
+
next unless target[member_name].nil?
|
42
|
+
|
43
|
+
if flattened_list?(member_target.shape)
|
44
|
+
target[member_name] = []
|
45
|
+
elsif flattened_map?(member_target.shape)
|
46
|
+
target[member_name] = {}
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
if shape.union
|
52
|
+
# convert to subclass
|
53
|
+
member_subclass = shape.member_subclass(target.member).new
|
54
|
+
member_subclass[target.member] = target.value
|
55
|
+
target = member_subclass
|
56
|
+
end
|
57
|
+
target
|
58
|
+
end
|
59
|
+
|
60
|
+
def list(ref, values, target = nil)
|
61
|
+
target = [] if target.nil?
|
62
|
+
values.each do |value|
|
63
|
+
target << parse_ref(ref.shape.member, value)
|
64
|
+
end
|
65
|
+
target
|
66
|
+
end
|
67
|
+
|
68
|
+
def map(ref, values, target = nil)
|
69
|
+
target = {} if target.nil?
|
70
|
+
values.each do |key, value|
|
71
|
+
target[key] = parse_ref(ref.shape.value, value) unless value.nil?
|
72
|
+
end
|
73
|
+
target
|
74
|
+
end
|
75
|
+
|
76
|
+
def parse_ref(ref, value, target = nil)
|
77
|
+
if value.nil?
|
78
|
+
nil
|
79
|
+
else
|
80
|
+
case ref.shape
|
81
|
+
when StructureShape then structure(ref, value, target)
|
82
|
+
when ListShape then list(ref, value, target)
|
83
|
+
when MapShape then map(ref, value, target)
|
84
|
+
else value
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Aws
|
4
|
+
module Stubbing
|
5
|
+
module Protocols
|
6
|
+
class RpcV2
|
7
|
+
|
8
|
+
def stub_data(api, operation, data)
|
9
|
+
resp = Seahorse::Client::Http::Response.new
|
10
|
+
resp.status_code = 200
|
11
|
+
resp.headers['Content-Type'] = content_type(api)
|
12
|
+
resp.headers['x-amzn-RequestId'] = 'stubbed-request-id'
|
13
|
+
resp.body = build_body(operation, data)
|
14
|
+
resp
|
15
|
+
end
|
16
|
+
|
17
|
+
def stub_error(error_code)
|
18
|
+
http_resp = Seahorse::Client::Http::Response.new
|
19
|
+
http_resp.status_code = 400
|
20
|
+
http_resp.body = <<-JSON.strip
|
21
|
+
{
|
22
|
+
"code": #{error_code.inspect},
|
23
|
+
"message": "stubbed-response-error-message"
|
24
|
+
}
|
25
|
+
JSON
|
26
|
+
http_resp
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def content_type(api)
|
32
|
+
'application/cbor'
|
33
|
+
end
|
34
|
+
|
35
|
+
def build_body(operation, data)
|
36
|
+
Aws::RpcV2::Builder.new(operation.output).serialize(data)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/aws-sdk-core/util.rb
CHANGED
@@ -90,16 +90,16 @@ module Aws
|
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
|
-
# @param [String
|
93
|
+
# @param [String] value
|
94
94
|
# @return [Time]
|
95
95
|
def deserialize_time(value)
|
96
96
|
case value
|
97
97
|
when nil then nil
|
98
|
-
when
|
98
|
+
when /^[\d.]+$/ then Time.at(value.to_f).utc
|
99
99
|
else
|
100
100
|
begin
|
101
|
-
fractional_time = Time.parse(value).
|
102
|
-
Time.at(fractional_time)
|
101
|
+
fractional_time = Time.parse(value).to_f
|
102
|
+
Time.at(fractional_time).utc
|
103
103
|
rescue ArgumentError
|
104
104
|
raise "unhandled timestamp format `#{value}'"
|
105
105
|
end
|
@@ -62,7 +62,7 @@ module Aws
|
|
62
62
|
def send_request(options)
|
63
63
|
req = options[:client].build_request(@operation_name, options[:params])
|
64
64
|
req.handlers.remove(RAISE_HANDLER)
|
65
|
-
Aws::Plugins::UserAgent.
|
65
|
+
Aws::Plugins::UserAgent.metric('WAITER') do
|
66
66
|
req.send_request
|
67
67
|
end
|
68
68
|
end
|
@@ -4,7 +4,7 @@ require 'cgi'
|
|
4
4
|
|
5
5
|
module Aws
|
6
6
|
module Xml
|
7
|
-
class ErrorHandler <
|
7
|
+
class ErrorHandler < Aws::ErrorHandler
|
8
8
|
|
9
9
|
def call(context)
|
10
10
|
@handler.call(context).on(300..599) do |response|
|
@@ -15,32 +15,19 @@ module Aws
|
|
15
15
|
|
16
16
|
private
|
17
17
|
|
18
|
-
def error(context)
|
19
|
-
body = context.http_response.body_contents
|
20
|
-
if body.empty?
|
21
|
-
code = http_status_error_code(context)
|
22
|
-
message = ''
|
23
|
-
data = EmptyStructure.new
|
24
|
-
else
|
25
|
-
code, message, data = extract_error(body, context)
|
26
|
-
end
|
27
|
-
context[:request_id] = request_id(body)
|
28
|
-
errors_module = context.client.class.errors_module
|
29
|
-
errors_module.error_class(code).new(context, message, data)
|
30
|
-
end
|
31
|
-
|
32
18
|
def extract_error(body, context)
|
19
|
+
context[:request_id] = request_id(body)
|
33
20
|
code = error_code(body, context)
|
34
21
|
[
|
35
22
|
code,
|
36
23
|
error_message(body),
|
37
|
-
error_data(context, code)
|
24
|
+
error_data(context, body, code)
|
38
25
|
]
|
39
26
|
end
|
40
27
|
|
41
|
-
def error_data(context, code)
|
28
|
+
def error_data(context, body, code)
|
42
29
|
data = EmptyStructure.new
|
43
|
-
if error_rules = context.operation.errors
|
30
|
+
if (error_rules = context.operation.errors)
|
44
31
|
error_rules.each do |rule|
|
45
32
|
# query protocol may have custom error code
|
46
33
|
# reference: https://smithy.io/2.0/aws/protocols/aws-query-protocol.html#error-code-resolution
|
@@ -48,7 +35,7 @@ module Aws
|
|
48
35
|
match = (code == error_shape_code || code == rule.shape.name)
|
49
36
|
next unless match && rule.shape.members.any?
|
50
37
|
|
51
|
-
data = parse_error_data(rule,
|
38
|
+
data = parse_error_data(rule, body)
|
52
39
|
# supporting HTTP bindings
|
53
40
|
apply_error_headers(rule, context, data)
|
54
41
|
end
|
@@ -62,7 +49,7 @@ module Aws
|
|
62
49
|
# errors may nested under <Errors><Error>structure_data</Error></Errors>
|
63
50
|
# Or may be flat and under <Error>structure_data</Error>
|
64
51
|
body = body.tr("\n", '')
|
65
|
-
if matches = body.match(/<Error>(.+?)<\/Error>/)
|
52
|
+
if (matches = body.match(/<Error>(.+?)<\/Error>/))
|
66
53
|
Parser.new(rule).parse("<#{rule.shape.name}>#{matches[1]}</#{rule.shape.name}>")
|
67
54
|
else
|
68
55
|
EmptyStructure.new
|
@@ -75,28 +62,15 @@ module Aws
|
|
75
62
|
end
|
76
63
|
|
77
64
|
def error_code(body, context)
|
78
|
-
if matches = body.match(/<Code>(.+?)<\/Code>/)
|
65
|
+
if (matches = body.match(/<Code>(.+?)<\/Code>/))
|
79
66
|
remove_prefix(unescape(matches[1]), context)
|
80
67
|
else
|
81
68
|
http_status_error_code(context)
|
82
69
|
end
|
83
70
|
end
|
84
71
|
|
85
|
-
def http_status_error_code(context)
|
86
|
-
status_code = context.http_response.status_code
|
87
|
-
{
|
88
|
-
302 => 'MovedTemporarily',
|
89
|
-
304 => 'NotModified',
|
90
|
-
400 => 'BadRequest',
|
91
|
-
403 => 'Forbidden',
|
92
|
-
404 => 'NotFound',
|
93
|
-
412 => 'PreconditionFailed',
|
94
|
-
413 => 'RequestEntityTooLarge',
|
95
|
-
}[status_code] || "Http#{status_code}Error"
|
96
|
-
end
|
97
|
-
|
98
72
|
def remove_prefix(error_code, context)
|
99
|
-
if prefix = context.config.api.metadata['errorPrefix']
|
73
|
+
if (prefix = context.config.api.metadata['errorPrefix'])
|
100
74
|
error_code.sub(/^#{prefix}/, '')
|
101
75
|
else
|
102
76
|
error_code
|
@@ -104,7 +78,7 @@ module Aws
|
|
104
78
|
end
|
105
79
|
|
106
80
|
def error_message(body)
|
107
|
-
if matches = body.match(/<Message>(.+?)<\/Message>/m)
|
81
|
+
if (matches = body.match(/<Message>(.+?)<\/Message>/m))
|
108
82
|
unescape(matches[1])
|
109
83
|
else
|
110
84
|
''
|
@@ -112,7 +86,7 @@ module Aws
|
|
112
86
|
end
|
113
87
|
|
114
88
|
def request_id(body)
|
115
|
-
if matches = body.match(/<RequestId>(.+?)<\/RequestId>/m)
|
89
|
+
if (matches = body.match(/<RequestId>(.+?)<\/RequestId>/m))
|
116
90
|
matches[1]
|
117
91
|
end
|
118
92
|
end
|
@@ -5,7 +5,6 @@ module Aws
|
|
5
5
|
module Xml
|
6
6
|
# A SAX-style XML parser that uses a shape context to handle types.
|
7
7
|
class Parser
|
8
|
-
|
9
8
|
# @param [Seahorse::Model::ShapeRef] rules
|
10
9
|
def initialize(rules, options = {})
|
11
10
|
@rules = rules
|
@@ -47,8 +46,7 @@ module Aws
|
|
47
46
|
# * :libxml
|
48
47
|
# * :nokogiri
|
49
48
|
# * :rexml
|
50
|
-
|
51
|
-
def engine= engine
|
49
|
+
def engine=(engine)
|
52
50
|
@engine = Class === engine ? engine : load_engine(engine)
|
53
51
|
end
|
54
52
|
|
@@ -60,7 +58,6 @@ module Aws
|
|
60
58
|
# * {LibxmlEngine}
|
61
59
|
# * {NokogiriEngine}
|
62
60
|
# * {RexmlEngine}
|
63
|
-
#
|
64
61
|
def engine
|
65
62
|
set_default_engine unless @engine
|
66
63
|
@engine
|
@@ -80,7 +77,7 @@ module Aws
|
|
80
77
|
private
|
81
78
|
|
82
79
|
def load_engine(name)
|
83
|
-
require "aws-sdk-core/xml/parser
|
80
|
+
require "aws-sdk-core/xml/parser/#{name}_engine"
|
84
81
|
const_name = name[0].upcase + name[1..-1] + 'Engine'
|
85
82
|
const_get(const_name)
|
86
83
|
end
|
@@ -94,7 +91,6 @@ module Aws
|
|
94
91
|
end
|
95
92
|
|
96
93
|
set_default_engine
|
97
|
-
|
98
94
|
end
|
99
95
|
end
|
100
96
|
end
|
data/lib/aws-sdk-core.rb
CHANGED
@@ -63,19 +63,23 @@ require_relative 'aws-sdk-core/stubbing/xml_error'
|
|
63
63
|
|
64
64
|
# stubbing protocols
|
65
65
|
|
66
|
-
require_relative 'aws-sdk-core/stubbing/protocols/ec2'
|
67
66
|
require_relative 'aws-sdk-core/stubbing/protocols/json'
|
68
|
-
require_relative 'aws-sdk-core/stubbing/protocols/query'
|
69
67
|
require_relative 'aws-sdk-core/stubbing/protocols/rest'
|
70
68
|
require_relative 'aws-sdk-core/stubbing/protocols/rest_json'
|
71
69
|
require_relative 'aws-sdk-core/stubbing/protocols/rest_xml'
|
70
|
+
require_relative 'aws-sdk-core/stubbing/protocols/query'
|
71
|
+
require_relative 'aws-sdk-core/stubbing/protocols/ec2'
|
72
|
+
require_relative 'aws-sdk-core/stubbing/protocols/rpc_v2'
|
72
73
|
require_relative 'aws-sdk-core/stubbing/protocols/api_gateway'
|
73
74
|
|
74
75
|
# protocols
|
75
76
|
|
77
|
+
require_relative 'aws-sdk-core/error_handler'
|
76
78
|
require_relative 'aws-sdk-core/rest'
|
77
79
|
require_relative 'aws-sdk-core/xml'
|
78
80
|
require_relative 'aws-sdk-core/json'
|
81
|
+
require_relative 'aws-sdk-core/query'
|
82
|
+
require_relative 'aws-sdk-core/rpc_v2'
|
79
83
|
|
80
84
|
# event stream
|
81
85
|
|
data/lib/aws-sdk-sso/client.rb
CHANGED
@@ -89,6 +89,11 @@ module Aws::SSO
|
|
89
89
|
|
90
90
|
# @overload initialize(options)
|
91
91
|
# @param [Hash] options
|
92
|
+
#
|
93
|
+
# @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
|
94
|
+
# A list of plugins to apply to the client. Each plugin is either a
|
95
|
+
# class name or an instance of a plugin class.
|
96
|
+
#
|
92
97
|
# @option options [required, Aws::CredentialProvider] :credentials
|
93
98
|
# Your AWS credentials. This can be an instance of any one of the
|
94
99
|
# following classes:
|
@@ -209,7 +214,6 @@ module Aws::SSO
|
|
209
214
|
# 'https://example.com'
|
210
215
|
# 'http://example.com:123'
|
211
216
|
#
|
212
|
-
#
|
213
217
|
# @option options [Integer] :endpoint_cache_max_entries (1000)
|
214
218
|
# Used for the maximum size limit of the LRU cache storing endpoints data
|
215
219
|
# for endpoint discovery enabled operations. Defaults to 1000.
|
@@ -298,7 +302,6 @@ module Aws::SSO
|
|
298
302
|
# throttling. This is a provisional mode that may change behavior
|
299
303
|
# in the future.
|
300
304
|
#
|
301
|
-
#
|
302
305
|
# @option options [String] :sdk_ua_app_id
|
303
306
|
# A unique and opaque application ID that is appended to the
|
304
307
|
# User-Agent header as app/sdk_ua_app_id. It should have a
|
@@ -630,7 +633,7 @@ module Aws::SSO
|
|
630
633
|
params: params,
|
631
634
|
config: config)
|
632
635
|
context[:gem_name] = 'aws-sdk-core'
|
633
|
-
context[:gem_version] = '3.
|
636
|
+
context[:gem_version] = '3.199.0'
|
634
637
|
Seahorse::Client::Request.new(handlers, context)
|
635
638
|
end
|
636
639
|
|
data/lib/aws-sdk-sso.rb
CHANGED
@@ -89,6 +89,11 @@ module Aws::SSOOIDC
|
|
89
89
|
|
90
90
|
# @overload initialize(options)
|
91
91
|
# @param [Hash] options
|
92
|
+
#
|
93
|
+
# @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
|
94
|
+
# A list of plugins to apply to the client. Each plugin is either a
|
95
|
+
# class name or an instance of a plugin class.
|
96
|
+
#
|
92
97
|
# @option options [required, Aws::CredentialProvider] :credentials
|
93
98
|
# Your AWS credentials. This can be an instance of any one of the
|
94
99
|
# following classes:
|
@@ -209,7 +214,6 @@ module Aws::SSOOIDC
|
|
209
214
|
# 'https://example.com'
|
210
215
|
# 'http://example.com:123'
|
211
216
|
#
|
212
|
-
#
|
213
217
|
# @option options [Integer] :endpoint_cache_max_entries (1000)
|
214
218
|
# Used for the maximum size limit of the LRU cache storing endpoints data
|
215
219
|
# for endpoint discovery enabled operations. Defaults to 1000.
|
@@ -298,7 +302,6 @@ module Aws::SSOOIDC
|
|
298
302
|
# throttling. This is a provisional mode that may change behavior
|
299
303
|
# in the future.
|
300
304
|
#
|
301
|
-
#
|
302
305
|
# @option options [String] :sdk_ua_app_id
|
303
306
|
# A unique and opaque application ID that is appended to the
|
304
307
|
# User-Agent header as app/sdk_ua_app_id. It should have a
|
@@ -983,7 +986,7 @@ module Aws::SSOOIDC
|
|
983
986
|
params: params,
|
984
987
|
config: config)
|
985
988
|
context[:gem_name] = 'aws-sdk-core'
|
986
|
-
context[:gem_version] = '3.
|
989
|
+
context[:gem_version] = '3.199.0'
|
987
990
|
Seahorse::Client::Request.new(handlers, context)
|
988
991
|
end
|
989
992
|
|
data/lib/aws-sdk-ssooidc.rb
CHANGED
data/lib/aws-sdk-sts/client.rb
CHANGED
@@ -91,6 +91,11 @@ module Aws::STS
|
|
91
91
|
|
92
92
|
# @overload initialize(options)
|
93
93
|
# @param [Hash] options
|
94
|
+
#
|
95
|
+
# @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
|
96
|
+
# A list of plugins to apply to the client. Each plugin is either a
|
97
|
+
# class name or an instance of a plugin class.
|
98
|
+
#
|
94
99
|
# @option options [required, Aws::CredentialProvider] :credentials
|
95
100
|
# Your AWS credentials. This can be an instance of any one of the
|
96
101
|
# following classes:
|
@@ -211,7 +216,6 @@ module Aws::STS
|
|
211
216
|
# 'https://example.com'
|
212
217
|
# 'http://example.com:123'
|
213
218
|
#
|
214
|
-
#
|
215
219
|
# @option options [Integer] :endpoint_cache_max_entries (1000)
|
216
220
|
# Used for the maximum size limit of the LRU cache storing endpoints data
|
217
221
|
# for endpoint discovery enabled operations. Defaults to 1000.
|
@@ -300,7 +304,6 @@ module Aws::STS
|
|
300
304
|
# throttling. This is a provisional mode that may change behavior
|
301
305
|
# in the future.
|
302
306
|
#
|
303
|
-
#
|
304
307
|
# @option options [String] :sdk_ua_app_id
|
305
308
|
# A unique and opaque application ID that is appended to the
|
306
309
|
# User-Agent header as app/sdk_ua_app_id. It should have a
|
@@ -2377,7 +2380,7 @@ module Aws::STS
|
|
2377
2380
|
params: params,
|
2378
2381
|
config: config)
|
2379
2382
|
context[:gem_name] = 'aws-sdk-core'
|
2380
|
-
context[:gem_version] = '3.
|
2383
|
+
context[:gem_version] = '3.199.0'
|
2381
2384
|
Seahorse::Client::Request.new(handlers, context)
|
2382
2385
|
end
|
2383
2386
|
|
data/lib/aws-sdk-sts.rb
CHANGED
data/lib/seahorse/client/base.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'thread'
|
4
|
-
|
5
3
|
module Seahorse
|
6
4
|
module Client
|
7
5
|
class Base
|
@@ -60,6 +58,7 @@ module Seahorse
|
|
60
58
|
def build_config(plugins, options)
|
61
59
|
config = Configuration.new
|
62
60
|
config.add_option(:api)
|
61
|
+
config.add_option(:plugins)
|
63
62
|
plugins.each do |plugin|
|
64
63
|
plugin.add_options(config) if plugin.respond_to?(:add_options)
|
65
64
|
end
|
@@ -96,9 +95,9 @@ module Seahorse
|
|
96
95
|
class << self
|
97
96
|
|
98
97
|
def new(options = {})
|
99
|
-
plugins = build_plugins
|
100
98
|
options = options.dup
|
101
|
-
|
99
|
+
plugins = build_plugins(self.plugins + options.fetch(:plugins, []))
|
100
|
+
plugins = before_initialize(plugins, options)
|
102
101
|
client = allocate
|
103
102
|
client.send(:initialize, plugins, options)
|
104
103
|
client
|
@@ -209,17 +208,28 @@ module Seahorse
|
|
209
208
|
include(operations_module)
|
210
209
|
end
|
211
210
|
|
212
|
-
def build_plugins
|
211
|
+
def build_plugins(plugins)
|
213
212
|
plugins.map { |plugin| plugin.is_a?(Class) ? plugin.new : plugin }
|
214
213
|
end
|
215
214
|
|
216
215
|
def before_initialize(plugins, options)
|
217
|
-
|
218
|
-
|
216
|
+
queue = Queue.new
|
217
|
+
plugins.each { |plugin| queue.push(plugin) }
|
218
|
+
until queue.empty?
|
219
|
+
plugin = queue.pop
|
220
|
+
next unless plugin.respond_to?(:before_initialize)
|
221
|
+
|
222
|
+
plugins_before = options.fetch(:plugins, [])
|
223
|
+
plugin.before_initialize(self, options)
|
224
|
+
plugins_after = build_plugins(options.fetch(:plugins, []) - plugins_before)
|
225
|
+
# Plugins with before_initialize can add other plugins
|
226
|
+
plugins_after.each { |p| queue.push(p); plugins << p }
|
219
227
|
end
|
228
|
+
plugins
|
220
229
|
end
|
221
230
|
|
222
231
|
def inherited(subclass)
|
232
|
+
super
|
223
233
|
subclass.instance_variable_set('@plugins', PluginList.new(@plugins))
|
224
234
|
end
|
225
235
|
|
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.
|
4
|
+
version: 3.199.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-
|
11
|
+
date: 2024-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jmespath
|
@@ -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
|
@@ -184,6 +189,7 @@ files:
|
|
184
189
|
- lib/aws-sdk-core/plugins/protocols/query.rb
|
185
190
|
- lib/aws-sdk-core/plugins/protocols/rest_json.rb
|
186
191
|
- lib/aws-sdk-core/plugins/protocols/rest_xml.rb
|
192
|
+
- lib/aws-sdk-core/plugins/protocols/rpc_v2.rb
|
187
193
|
- lib/aws-sdk-core/plugins/recursion_detection.rb
|
188
194
|
- lib/aws-sdk-core/plugins/regional_endpoint.rb
|
189
195
|
- lib/aws-sdk-core/plugins/request_compression.rb
|
@@ -201,6 +207,7 @@ files:
|
|
201
207
|
- lib/aws-sdk-core/plugins/user_agent.rb
|
202
208
|
- lib/aws-sdk-core/process_credentials.rb
|
203
209
|
- lib/aws-sdk-core/query.rb
|
210
|
+
- lib/aws-sdk-core/query/ec2_handler.rb
|
204
211
|
- lib/aws-sdk-core/query/ec2_param_builder.rb
|
205
212
|
- lib/aws-sdk-core/query/handler.rb
|
206
213
|
- lib/aws-sdk-core/query/param.rb
|
@@ -210,10 +217,10 @@ files:
|
|
210
217
|
- lib/aws-sdk-core/refreshing_token.rb
|
211
218
|
- lib/aws-sdk-core/resources/collection.rb
|
212
219
|
- lib/aws-sdk-core/rest.rb
|
220
|
+
- lib/aws-sdk-core/rest/content_type_handler.rb
|
213
221
|
- lib/aws-sdk-core/rest/handler.rb
|
214
222
|
- lib/aws-sdk-core/rest/request/body.rb
|
215
223
|
- lib/aws-sdk-core/rest/request/builder.rb
|
216
|
-
- lib/aws-sdk-core/rest/request/content_type.rb
|
217
224
|
- lib/aws-sdk-core/rest/request/endpoint.rb
|
218
225
|
- lib/aws-sdk-core/rest/request/headers.rb
|
219
226
|
- lib/aws-sdk-core/rest/request/querystring_builder.rb
|
@@ -222,6 +229,12 @@ files:
|
|
222
229
|
- lib/aws-sdk-core/rest/response/headers.rb
|
223
230
|
- lib/aws-sdk-core/rest/response/parser.rb
|
224
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
|
225
238
|
- lib/aws-sdk-core/shared_config.rb
|
226
239
|
- lib/aws-sdk-core/shared_credentials.rb
|
227
240
|
- lib/aws-sdk-core/sso_credentials.rb
|
@@ -237,6 +250,7 @@ files:
|
|
237
250
|
- lib/aws-sdk-core/stubbing/protocols/rest.rb
|
238
251
|
- lib/aws-sdk-core/stubbing/protocols/rest_json.rb
|
239
252
|
- lib/aws-sdk-core/stubbing/protocols/rest_xml.rb
|
253
|
+
- lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb
|
240
254
|
- lib/aws-sdk-core/stubbing/stub_data.rb
|
241
255
|
- lib/aws-sdk-core/stubbing/xml_error.rb
|
242
256
|
- lib/aws-sdk-core/token.rb
|
@@ -255,13 +269,13 @@ files:
|
|
255
269
|
- lib/aws-sdk-core/xml/doc_builder.rb
|
256
270
|
- lib/aws-sdk-core/xml/error_handler.rb
|
257
271
|
- lib/aws-sdk-core/xml/parser.rb
|
258
|
-
- lib/aws-sdk-core/xml/parser/engines/libxml.rb
|
259
|
-
- lib/aws-sdk-core/xml/parser/engines/nokogiri.rb
|
260
|
-
- lib/aws-sdk-core/xml/parser/engines/oga.rb
|
261
|
-
- lib/aws-sdk-core/xml/parser/engines/ox.rb
|
262
|
-
- lib/aws-sdk-core/xml/parser/engines/rexml.rb
|
263
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
|
264
277
|
- lib/aws-sdk-core/xml/parser/parsing_error.rb
|
278
|
+
- lib/aws-sdk-core/xml/parser/rexml_engine.rb
|
265
279
|
- lib/aws-sdk-core/xml/parser/stack.rb
|
266
280
|
- lib/aws-sdk-sso.rb
|
267
281
|
- lib/aws-sdk-sso/client.rb
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|