aws-sdk-core 3.82.0 → 3.86.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
  SHA1:
3
- metadata.gz: 2d22cd876f546f0134b026ebf16193c7128ecc85
4
- data.tar.gz: b81bc569ccc1a761e644df8e28e0f62239026f43
3
+ metadata.gz: e4f12e315118f644ba06ef0924852cf03db4ae32
4
+ data.tar.gz: 3f784b55c285f300d90a65d043d09ebfc4fbb537
5
5
  SHA512:
6
- metadata.gz: 6761c455d02dbfe5ff4b77c438666ac8d943955564ee9588587b3b9f7ba130d01a88df18bc793fe8264f607e8a1ca7d5ec26b1aad5d2c479246400a4fb148f5d
7
- data.tar.gz: 0d285ce9a4897cd6637fc4a7c76da2e83f4dc4b40dc6c600954ece44d5d7deba261545e7fe5b8d507fa2eb682476d3b46d808f0bbff8c0f2366fc1626d313739
6
+ metadata.gz: 746a4eb2d620470828b3e1d647c5db2669643d04a8348b5c6e1c23d9ccd332ba826af6d2905744f215ccbd1612ed9d1016504dbd2a1f7c566e608eafa8167d60
7
+ data.tar.gz: eb3c70f45e0d9d954ac9e711d6fffaa3358c366c153a020ed99e3eaeb8c941ef750e00e44a9db14f1404d6903afdded7d7227ea8cec05c8a202a69a23c0cc09b
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.82.0
1
+ 3.86.0
@@ -79,6 +79,10 @@ require_relative 'aws-sdk-core/endpoint_cache'
79
79
  require_relative 'aws-sdk-core/client_side_monitoring/request_metrics'
80
80
  require_relative 'aws-sdk-core/client_side_monitoring/publisher'
81
81
 
82
+ # arn
83
+ require_relative 'aws-sdk-core/arn'
84
+ require_relative 'aws-sdk-core/arn_parser'
85
+
82
86
  # aws-sdk-sts is vendored to support Aws::AssumeRoleCredentials
83
87
 
84
88
  require 'aws-sdk-sts'
@@ -0,0 +1,77 @@
1
+ module Aws
2
+ # Create and provide access to components of Amazon Resource Names (ARN).
3
+ #
4
+ # You can create an ARN and access it's components like the following:
5
+ #
6
+ # arn = Aws::ARN.new(
7
+ # partition: 'aws',
8
+ # service: 's3',
9
+ # region: 'us-west-2',
10
+ # account_id: '12345678910',
11
+ # resource: 'foo/bar'
12
+ # )
13
+ # # => #<Aws::ARN ...>
14
+ #
15
+ # arn.to_s
16
+ # # => "arn:aws:s3:us-west-2:12345678910:foo/bar"
17
+ #
18
+ # arn.partition
19
+ # # => 'aws'
20
+ # arn.service
21
+ # # => 's3'
22
+ # arn.resource
23
+ # # => foo/bar
24
+ #
25
+ # # Note: parser available for parsing resource details
26
+ # @see Aws::ARNParser#parse_resource
27
+ #
28
+ # @see https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-arns
29
+ class ARN
30
+
31
+ # @param [Hash] options
32
+ # @option options [String] :partition
33
+ # @option options [String] :service
34
+ # @option options [String] :region
35
+ # @option options [String] :account_id
36
+ # @option options [String] :resource
37
+ def initialize(options = {})
38
+ @partition = options[:partition]
39
+ @service = options[:service]
40
+ @region = options[:region]
41
+ @account_id = options[:account_id]
42
+ @resource = options[:resource]
43
+ end
44
+
45
+ # @return [String]
46
+ attr_reader :partition
47
+
48
+ # @return [String]
49
+ attr_reader :service
50
+
51
+ # @return [String]
52
+ attr_reader :region
53
+
54
+ # @return [String]
55
+ attr_reader :account_id
56
+
57
+ # @return [String]
58
+ attr_reader :resource
59
+
60
+ # Validates ARN contains non-empty required components.
61
+ # Region and account_id can be optional.
62
+ #
63
+ # @return [Boolean]
64
+ def valid?
65
+ !partition.nil? && !partition.empty? &&
66
+ !service.nil? && !service.empty? &&
67
+ !resource.nil? && !resource.empty?
68
+ end
69
+
70
+ # Return the ARN format in string
71
+ #
72
+ # @return [String]
73
+ def to_s
74
+ "arn:#{partition}:#{service}:#{region}:#{account_id}:#{resource}"
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,38 @@
1
+ module Aws
2
+ module ARNParser
3
+ # Parse a string with an ARN format into an {Aws::ARN} object.
4
+ # `InvalidARNError` would be raised when encountering a parsing error or the
5
+ # ARN object contains invalid components (nil/empty).
6
+ #
7
+ # @param [String] arn_str
8
+ #
9
+ # @return [Aws::ARN]
10
+ # @see https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-arns
11
+ def self.parse(arn_str)
12
+ parts = arn_str.nil? ? [] : arn_str.split(':', 6)
13
+ raise Aws::Errors::InvalidARNError if parts.size < 6
14
+
15
+ # part[0] is "arn"
16
+ arn = ARN.new(
17
+ partition: parts[1],
18
+ service: parts[2],
19
+ region: parts[3],
20
+ account_id: parts[4],
21
+ resource: parts[5]
22
+ )
23
+ raise Aws::Errors::InvalidARNError unless arn.valid?
24
+
25
+ arn
26
+ end
27
+
28
+ # Checks whether a String could be a ARN or not. An ARN starts with 'arn:'
29
+ # and has at least 6 segments separated by a colon (:).
30
+ #
31
+ # @param [String] str
32
+ #
33
+ # @return [Boolean]
34
+ def self.arn?(str)
35
+ !str.nil? && str.start_with?('arn:') && str.scan(/:/).length >= 5
36
+ end
37
+ end
38
+ end
@@ -1,5 +1,3 @@
1
- require 'thread'
2
-
3
1
  module Aws
4
2
  module Errors
5
3
 
@@ -125,6 +123,29 @@ module Aws
125
123
 
126
124
  end
127
125
 
126
+ # Raised when ARN string input doesn't follow the standard:
127
+ # https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-arns
128
+ class InvalidARNError < RuntimeError; end
129
+
130
+ # Raised when the region from the ARN string is different from the :region
131
+ # configured on the service client.
132
+ class InvalidARNRegionError < RuntimeError
133
+ def initialize(*args)
134
+ msg = 'ARN region is different from the configured client region.'
135
+ super(msg)
136
+ end
137
+ end
138
+
139
+ # Raised when the partition of the ARN region is different than the
140
+ # partition of the :region configured on the service client.
141
+ class InvalidARNPartitionError < RuntimeError
142
+ def initialize(*args)
143
+ msg = 'ARN region partition is different from the configured '\
144
+ 'client region partition.'
145
+ super(msg)
146
+ end
147
+ end
148
+
128
149
  # Various plugins perform client-side checksums of responses.
129
150
  # This error indicates a checksum failed.
130
151
  class ChecksumError < RuntimeError; end
@@ -29,24 +29,24 @@ module Aws
29
29
  Errno::ENETUNREACH,
30
30
  SocketError,
31
31
  Timeout::Error,
32
- Non200Response,
33
- ]
32
+ Non200Response
33
+ ].freeze
34
34
 
35
35
  # Path base for GET request for profile and credentials
36
36
  # @api private
37
- METADATA_PATH_BASE = '/latest/meta-data/iam/security-credentials/'
37
+ METADATA_PATH_BASE = '/latest/meta-data/iam/security-credentials/'.freeze
38
38
 
39
39
  # Path for PUT request for token
40
40
  # @api private
41
- METADATA_TOKEN_PATH = '/latest/api/token'
41
+ METADATA_TOKEN_PATH = '/latest/api/token'.freeze
42
42
 
43
43
  # @param [Hash] options
44
- # @option options [Integer] :retries (5) Number of times to retry
44
+ # @option options [Integer] :retries (1) Number of times to retry
45
45
  # when retrieving credentials.
46
46
  # @option options [String] :ip_address ('169.254.169.254')
47
47
  # @option options [Integer] :port (80)
48
- # @option options [Float] :http_open_timeout (5)
49
- # @option options [Float] :http_read_timeout (5)
48
+ # @option options [Float] :http_open_timeout (1)
49
+ # @option options [Float] :http_read_timeout (1)
50
50
  # @option options [Numeric, Proc] :delay By default, failures are retried
51
51
  # with exponential back-off, i.e. `sleep(1.2 ** num_failures)`. You can
52
52
  # pass a number of seconds to sleep between failed attempts, or
@@ -57,15 +57,16 @@ module Aws
57
57
  # @option options [Integer] :token_ttl Time-to-Live in seconds for EC2
58
58
  # Metadata Token used for fetching Metadata Profile Credentials, defaults
59
59
  # to 21600 seconds
60
- def initialize options = {}
61
- @retries = options[:retries] || 5
60
+ def initialize(options = {})
61
+ @retries = options[:retries] || 1
62
62
  @ip_address = options[:ip_address] || '169.254.169.254'
63
63
  @port = options[:port] || 80
64
- @http_open_timeout = options[:http_open_timeout] || 5
65
- @http_read_timeout = options[:http_read_timeout] || 5
64
+ @http_open_timeout = options[:http_open_timeout] || 1
65
+ @http_read_timeout = options[:http_read_timeout] || 1
66
66
  @http_debug_output = options[:http_debug_output]
67
67
  @backoff = backoff(options[:backoff])
68
- @token_ttl = options[:token_ttl] || 21600
68
+ @token_ttl = options[:token_ttl] || 21_600
69
+ @token = nil
69
70
  super
70
71
  end
71
72
 
@@ -79,8 +80,8 @@ module Aws
79
80
  def backoff(backoff)
80
81
  case backoff
81
82
  when Proc then backoff
82
- when Numeric then lambda { |_| sleep(backoff) }
83
- else lambda { |num_failures| Kernel.sleep(1.2 ** num_failures) }
83
+ when Numeric then ->(_) { sleep(backoff) }
84
+ else ->(num_failures) { Kernel.sleep(1.2**num_failures) }
84
85
  end
85
86
  end
86
87
 
@@ -99,7 +100,7 @@ module Aws
99
100
  @expiration = c['Expiration'] ? Time.iso8601(c['Expiration']) : nil
100
101
  end
101
102
  rescue JSON::ParserError
102
- raise Aws::Errors::MetadataParserError.new
103
+ raise Aws::Errors::MetadataParserError
103
104
  end
104
105
  end
105
106
 
@@ -117,7 +118,9 @@ module Aws
117
118
  begin
118
119
  retry_errors(NETWORK_ERRORS, max_retries: @retries) do
119
120
  unless token_set?
120
- token_value, ttl = http_put(conn, METADATA_TOKEN_PATH, @token_ttl)
121
+ token_value, ttl = http_put(
122
+ conn, METADATA_TOKEN_PATH, @token_ttl
123
+ )
121
124
  @token = Token.new(token_value, ttl) if token_value && ttl
122
125
  end
123
126
  end
@@ -127,13 +130,10 @@ module Aws
127
130
  @token = nil
128
131
  end
129
132
 
130
- if token_set?
131
- profile_name = http_get(conn, METADATA_PATH_BASE, @token.value).lines.first.strip
132
- http_get(conn, METADATA_PATH_BASE + profile_name, @token.value)
133
- else
134
- profile_name = http_get(conn, METADATA_PATH_BASE).lines.first.strip
135
- http_get(conn, METADATA_PATH_BASE + profile_name)
136
- end
133
+ token = @token.value if token_set?
134
+ metadata = http_get(conn, METADATA_PATH_BASE, token)
135
+ profile_name = metadata.lines.first.strip
136
+ http_get(conn, METADATA_PATH_BASE + profile_name, token)
137
137
  end
138
138
  end
139
139
  rescue
@@ -147,8 +147,7 @@ module Aws
147
147
  end
148
148
 
149
149
  def _metadata_disabled?
150
- flag = ENV["AWS_EC2_METADATA_DISABLED"]
151
- !flag.nil? && flag.downcase == "true"
150
+ ENV.fetch('AWS_EC2_METADATA_DISABLED', 'false').downcase == 'true'
152
151
  end
153
152
 
154
153
  def open_connection
@@ -161,59 +160,54 @@ module Aws
161
160
  end
162
161
 
163
162
  # GET request fetch profile and credentials
164
- def http_get(connection, path, token=nil)
165
- headers = {"User-Agent" => "aws-sdk-ruby3/#{CORE_GEM_VERSION}"}
166
- headers["x-aws-ec2-metadata-token"] = token if token
163
+ def http_get(connection, path, token = nil)
164
+ headers = { 'User-Agent' => "aws-sdk-ruby3/#{CORE_GEM_VERSION}" }
165
+ headers['x-aws-ec2-metadata-token'] = token if token
167
166
  response = connection.request(Net::HTTP::Get.new(path, headers))
168
- if response.code.to_i == 200
169
- response.body
170
- else
171
- raise Non200Response
172
- end
167
+ raise Non200Response unless response.code.to_i == 200
168
+
169
+ response.body
173
170
  end
174
171
 
175
172
  # PUT request fetch token with ttl
176
173
  def http_put(connection, path, ttl)
177
174
  headers = {
178
- "User-Agent" => "aws-sdk-ruby3/#{CORE_GEM_VERSION}",
179
- "x-aws-ec2-metadata-token-ttl-seconds" => ttl.to_s
175
+ 'User-Agent' => "aws-sdk-ruby3/#{CORE_GEM_VERSION}",
176
+ 'x-aws-ec2-metadata-token-ttl-seconds' => ttl.to_s
180
177
  }
181
178
  response = connection.request(Net::HTTP::Put.new(path, headers))
182
179
  case response.code.to_i
183
180
  when 200
184
181
  [
185
182
  response.body,
186
- response.header["x-aws-ec2-metadata-token-ttl-seconds"].to_i
183
+ response.header['x-aws-ec2-metadata-token-ttl-seconds'].to_i
187
184
  ]
188
- when 401
189
- raise TokenExpiredError
190
185
  when 400
191
186
  raise TokenRetrivalError
187
+ when 401
188
+ raise TokenExpiredError
192
189
  else
193
190
  raise Non200Response
194
191
  end
195
192
  end
196
193
 
197
- def retry_errors(error_classes, options = {}, &block)
194
+ def retry_errors(error_classes, options = {}, &_block)
198
195
  max_retries = options[:max_retries]
199
196
  retries = 0
200
197
  begin
201
198
  yield
202
199
  rescue *error_classes
203
- if retries < max_retries
204
- @backoff.call(retries)
205
- retries += 1
206
- retry
207
- else
208
- raise
209
- end
200
+ raise unless retries < max_retries
201
+
202
+ @backoff.call(retries)
203
+ retries += 1
204
+ retry
210
205
  end
211
206
  end
212
207
 
213
208
  # @api private
214
209
  # Token used to fetch IMDS profile and credentials
215
210
  class Token
216
-
217
211
  def initialize(value, ttl)
218
212
  @ttl = ttl
219
213
  @value = value
@@ -226,8 +220,6 @@ module Aws
226
220
  def expired?
227
221
  Time.now - @created_time > @ttl
228
222
  end
229
-
230
223
  end
231
-
232
224
  end
233
225
  end
@@ -171,7 +171,13 @@ module Aws
171
171
  end
172
172
 
173
173
  def _http_response_body(response)
174
- @param_formatter.summarize(response.context.http_response.body_contents)
174
+ if response.context.http_response.body.respond_to?(:rewind)
175
+ @param_formatter.summarize(
176
+ response.context.http_response.body_contents
177
+ )
178
+ else
179
+ ''
180
+ end
175
181
  end
176
182
 
177
183
  def _error_class(response)
@@ -11,7 +11,7 @@ module Aws
11
11
  #
12
12
  # @api private
13
13
  # begin
14
- SENSITIVE = [:access_token, :account_name, :account_password, :address, :admin_contact, :admin_password, :artifact_credentials, :auth_code, :authentication_token, :authorization_result, :backup_plan_tags, :backup_vault_tags, :base_32_string_seed, :block, :block_address, :body, :bot_configuration, :bot_email, :calling_name, :cause, :client_id, :client_request_token, :client_secret, :comment, :configuration, :copy_source_sse_customer_key, :credentials, :current_password, :custom_attributes, :custom_private_key, :db_password, :default_phone_number, :definition, :description, :destination_access_token, :digest_tip_address, :display_name, :e164_phone_number, :email, :email_address, :email_message, :embed_url, :error, :external_user_id, :feedback_token, :file, :first_name, :full_name, :host_key, :id, :id_token, :input, :input_text, :ion_text, :join_token, :key_id, :key_material, :key_store_password, :kms_key_id, :kms_master_key_id, :lambda_function_arn, :last_name, :local_console_password, :master_account_email, :master_user_password, :meeting_host_id, :message, :name, :new_password, :next_password, :notes, :number, :old_password, :outbound_events_https_endpoint, :output, :owner_information, :parameters, :passphrase, :password, :payload, :phone_number, :plaintext, :previous_password, :primary_email, :primary_provisioned_number, :private_key, :private_key_plaintext, :proof, :proposed_password, :public_key, :qr_code_png, :query, :random_password, :recovery_point_tags, :refresh_token, :registrant_contact, :request_attributes, :revision, :search_query, :secret_access_key, :secret_binary, :secret_code, :secret_hash, :secret_string, :secret_to_authenticate_initiator, :secret_to_authenticate_target, :security_token, :service_password, :session_attributes, :session_token, :share_notes, :shared_secret, :slots, :sns_topic_arn, :source_access_token, :sqs_queue_arn, :sse_customer_key, :ssekms_encryption_context, :ssekms_key_id, :status_message, :tag_key_list, :tags, :target_address, :task_parameters, :tech_contact, :temporary_password, :text, :token, :trust_password, :type, :upload_credentials, :upload_url, :uri, :user_data, :user_email, :user_name, :user_password, :username, :value, :values, :variables, :vpn_psk, :zip_file]
14
+ SENSITIVE = [:access_token, :account_name, :account_password, :address, :admin_contact, :admin_password, :artifact_credentials, :auth_code, :authentication_token, :authorization_result, :backup_plan_tags, :backup_vault_tags, :base_32_string_seed, :block, :block_address, :block_data, :blocks, :body, :bot_configuration, :bot_email, :calling_name, :cause, :client_id, :client_request_token, :client_secret, :comment, :configuration, :copy_source_sse_customer_key, :credentials, :current_password, :custom_attributes, :custom_private_key, :db_password, :default_phone_number, :definition, :description, :destination_access_token, :digest_tip_address, :display_name, :domain_signing_private_key, :e164_phone_number, :email, :email_address, :email_message, :embed_url, :error, :external_model_endpoint_data_blobs, :external_user_id, :feedback_token, :file, :first_name, :full_name, :host_key, :id, :id_token, :input, :input_text, :ion_text, :join_token, :key_id, :key_material, :key_store_password, :kms_key_id, :kms_master_key_id, :lambda_function_arn, :last_name, :local_console_password, :master_account_email, :master_user_password, :meeting_host_id, :message, :name, :new_password, :next_password, :notes, :number, :old_password, :outbound_events_https_endpoint, :output, :owner_information, :parameters, :passphrase, :password, :payload, :phone_number, :plaintext, :previous_password, :primary_email, :primary_provisioned_number, :private_key, :private_key_plaintext, :proof, :proposed_password, :public_key, :qr_code_png, :query, :random_password, :recovery_point_tags, :refresh_token, :registrant_contact, :request_attributes, :revision, :search_query, :secret_access_key, :secret_binary, :secret_code, :secret_hash, :secret_string, :secret_to_authenticate_initiator, :secret_to_authenticate_target, :security_token, :service_password, :session_attributes, :session_token, :share_notes, :shared_secret, :slots, :sns_topic_arn, :source_access_token, :sqs_queue_arn, :sse_customer_key, :ssekms_encryption_context, :ssekms_key_id, :status_message, :tag_key_list, :tags, :target_address, :task_parameters, :tech_contact, :temporary_password, :text, :token, :trust_password, :type, :upload_credentials, :upload_url, :uri, :user_data, :user_email, :user_name, :user_password, :username, :value, :values, :variables, :vpn_psk, :zip_file]
15
15
  # end
16
16
 
17
17
  def initialize(options = {})
@@ -183,6 +183,21 @@ module Aws
183
183
  end
184
184
  end
185
185
 
186
+ def s3_use_arn_region(opts = {})
187
+ p = opts[:profile] || @profile_name
188
+ if @config_enabled
189
+ if @parsed_credentials
190
+ value = @parsed_credentials.fetch(p, {})["s3_use_arn_region"]
191
+ end
192
+ if @parsed_config
193
+ value ||= @parsed_config.fetch(p, {})["s3_use_arn_region"]
194
+ end
195
+ value
196
+ else
197
+ nil
198
+ end
199
+ end
200
+
186
201
  def endpoint_discovery(opts = {})
187
202
  p = opts[:profile] || @profile_name
188
203
  if @config_enabled && @parsed_config
@@ -40,6 +40,6 @@ require_relative 'aws-sdk-sts/customizations'
40
40
  # @service
41
41
  module Aws::STS
42
42
 
43
- GEM_VERSION = '3.82.0'
43
+ GEM_VERSION = '3.86.0'
44
44
 
45
45
  end
@@ -2101,7 +2101,7 @@ module Aws::STS
2101
2101
  params: params,
2102
2102
  config: config)
2103
2103
  context[:gem_name] = 'aws-sdk-core'
2104
- context[:gem_version] = '3.82.0'
2104
+ context[:gem_version] = '3.86.0'
2105
2105
  Seahorse::Client::Request.new(handlers, context)
2106
2106
  end
2107
2107
 
@@ -0,0 +1,2 @@
1
+ # utility classes
2
+ require 'aws-sdk-sts/presigner'
@@ -0,0 +1,67 @@
1
+ require 'aws-sigv4'
2
+
3
+ module Aws
4
+ module STS
5
+ # Allows you to create presigned URLs for STS operations.
6
+ #
7
+ # @example
8
+ #
9
+ # signer = Aws::STS::Presigner.new
10
+ # url = signer.get_caller_identity_presigned_url(
11
+ # headers: {"X-K8s-Aws-Id" => 'my-eks-cluster'}
12
+ # )
13
+ class Presigner
14
+ # @option options [Client] :client Optionally provide an existing
15
+ # STS client
16
+ def initialize(options = {})
17
+ @client = options[:client] || Aws::STS::Client.new
18
+ end
19
+
20
+ # Returns a presigned url for get_caller_identity.
21
+ #
22
+ # @option options [Hash] :headers
23
+ # Headers that should be signed and sent along with the request. All
24
+ # x-amz-* headers must be present during signing. Other headers are
25
+ # optional.
26
+ #
27
+ # @return [String] A presigned url string.
28
+ #
29
+ # @example
30
+ #
31
+ # url = signer.get_caller_identity_presigned_url(
32
+ # headers: {"X-K8s-Aws-Id" => 'my-eks-cluster'},
33
+ # )
34
+ #
35
+ # This can be easily converted to a token used by the EKS service:
36
+ # {https://ruby-doc.org/stdlib-2.3.1/libdoc/base64/rdoc/Base64.html#method-i-encode64}
37
+ # "k8s-aws-v1." + Base64.urlsafe_encode64(url).chomp("==")
38
+ def get_caller_identity_presigned_url(options = {})
39
+ req = @client.build_request(:get_session_token, {})
40
+
41
+ param_list = Aws::Query::ParamList.new
42
+ param_list.set('Action', 'GetCallerIdentity')
43
+ param_list.set('Version', req.context.config.api.version)
44
+ Aws::Query::EC2ParamBuilder.new(param_list)
45
+ .apply(req.context.operation.input, {})
46
+
47
+ signer = Aws::Sigv4::Signer.new(
48
+ service: 'sts',
49
+ region: req.context.config.region,
50
+ credentials_provider: req.context.config.credentials
51
+ )
52
+
53
+ url = Aws::Partitions::EndpointProvider.resolve(
54
+ req.context.config.region, 'sts', 'regional'
55
+ )
56
+ url += "/?#{param_list}"
57
+
58
+ signer.presign_url(
59
+ http_method: 'GET',
60
+ url: url,
61
+ body: '',
62
+ headers: options[:headers]
63
+ ).to_s
64
+ end
65
+ end
66
+ end
67
+ end
@@ -48,6 +48,8 @@ module Seahorse
48
48
  @errors = []
49
49
  @status = :ready
50
50
  @mutex = Mutex.new # connection can be shared across requests
51
+ @socket = nil
52
+ @socket_thread = nil
51
53
  end
52
54
 
53
55
  OPTIONS.keys.each do |attr_name|
@@ -173,9 +173,11 @@ module Seahorse
173
173
  end
174
174
 
175
175
  def _http_response_body(response)
176
- response.context.http_response.body.respond_to?(:rewind) ?
177
- summarize_value(response.context.http_response.body_contents) :
176
+ if response.context.http_response.body.respond_to?(:rewind)
177
+ summarize_value(response.context.http_response.body_contents)
178
+ else
178
179
  ''
180
+ end
179
181
  end
180
182
 
181
183
  def _error_class(response)
@@ -109,6 +109,7 @@ module Seahorse
109
109
 
110
110
  def initialize(name, options = {})
111
111
  @name = name
112
+ @doc_default = nil
112
113
  options.each_pair do |opt_name, opt_value|
113
114
  self.send("#{opt_name}=", opt_value)
114
115
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.82.0
4
+ version: 3.86.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: 2019-11-25 00:00:00.000000000 Z
11
+ date: 2019-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath
@@ -88,6 +88,8 @@ files:
88
88
  - VERSION
89
89
  - ca-bundle.crt
90
90
  - lib/aws-sdk-core.rb
91
+ - lib/aws-sdk-core/arn.rb
92
+ - lib/aws-sdk-core/arn_parser.rb
91
93
  - lib/aws-sdk-core/assume_role_credentials.rb
92
94
  - lib/aws-sdk-core/assume_role_web_identity_credentials.rb
93
95
  - lib/aws-sdk-core/async_client_stubs.rb
@@ -220,6 +222,7 @@ files:
220
222
  - lib/aws-sdk-sts/customizations.rb
221
223
  - lib/aws-sdk-sts/errors.rb
222
224
  - lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb
225
+ - lib/aws-sdk-sts/presigner.rb
223
226
  - lib/aws-sdk-sts/resource.rb
224
227
  - lib/aws-sdk-sts/types.rb
225
228
  - lib/seahorse.rb