aws-sdk-core 3.85.1 → 3.89.1

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
  SHA1:
3
- metadata.gz: 5abf3fa059f84bbbec30292ed2ca6d4b823bbf12
4
- data.tar.gz: 647b345919d1e340dba688acdbfe2a32d5826a91
3
+ metadata.gz: 1276b6391ee9efb2f5431b60dc9dd4da4a81e339
4
+ data.tar.gz: be1514be183e08a3c01d7a8f4ef0d859981adcfc
5
5
  SHA512:
6
- metadata.gz: c5ef3f84e96749098c95a7117b37180e9940cf6ad136400ce416978c3992cb9909e258faa32ed0e3f471de12f2994e170bd59a40f3085e971d068fcb3ff35d32
7
- data.tar.gz: '038dda291a04ef5d3af0e17c0b1502a5cc13f3c607b85f5d55e159bf178c3dbe73def08447aafccad2a645fb5b8dc47814c7fe2df615fa43a29f8a5adcaabc2a'
6
+ metadata.gz: 4f43b95c970d6956c688d815ae409a64123a0b332c70cd138733c3a0704c823e9fc9f846dd523e3e6a8ccbd7095ede57e537cbc99a8f9fdb56e089d099a848a2
7
+ data.tar.gz: 8edd46ef45895d8e898b58533629e092eac359f8180952f79a996b23238872cc3f8da702a1345a45d68e3b44129520857180b3f6cc9ec16696c0f2738ace7ac3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.85.1
1
+ 3.89.1
@@ -80,6 +80,7 @@ require_relative 'aws-sdk-core/client_side_monitoring/request_metrics'
80
80
  require_relative 'aws-sdk-core/client_side_monitoring/publisher'
81
81
 
82
82
  # arn
83
+
83
84
  require_relative 'aws-sdk-core/arn'
84
85
  require_relative 'aws-sdk-core/arn_parser'
85
86
 
@@ -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, :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, :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]
14
+ SENSITIVE = [:access_token, :account_name, :account_password, :address, :admin_contact, :admin_password, :alexa_for_business_room_arn, :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, :metadata, :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, :restore_metadata, :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 = {})
@@ -2,20 +2,16 @@ module Aws
2
2
  module Plugins
3
3
  # @api private
4
4
  class UserAgent < Seahorse::Client::Plugin
5
-
6
5
  option(:user_agent_suffix)
7
6
 
8
7
  # @api private
9
8
  class Handler < Seahorse::Client::Handler
10
-
11
9
  def call(context)
12
10
  set_user_agent(context)
13
11
  @handler.call(context)
14
12
  end
15
13
 
16
14
  def set_user_agent(context)
17
- execution_env = ENV["AWS_EXECUTION_ENV"]
18
-
19
15
  ua = "aws-sdk-ruby3/#{CORE_GEM_VERSION}"
20
16
 
21
17
  begin
@@ -30,19 +26,19 @@ module Aws
30
26
  ua += " #{context[:gem_name]}/#{context[:gem_version]}"
31
27
  end
32
28
 
33
- if execution_env
29
+ if (execution_env = ENV['AWS_EXECUTION_ENV'])
34
30
  ua += " exec-env/#{execution_env}"
35
31
  end
36
32
 
37
- ua += " #{context.config.user_agent_suffix}" if context.config.user_agent_suffix
33
+ if context.config.user_agent_suffix
34
+ ua += " #{context.config.user_agent_suffix}"
35
+ end
38
36
 
39
37
  context.http_request.headers['User-Agent'] = ua.strip
40
38
  end
41
-
42
39
  end
43
40
 
44
41
  handler(Handler)
45
-
46
42
  end
47
43
  end
48
44
  end
@@ -40,6 +40,6 @@ require_relative 'aws-sdk-sts/customizations'
40
40
  # @service
41
41
  module Aws::STS
42
42
 
43
- GEM_VERSION = '3.85.1'
43
+ GEM_VERSION = '3.89.1'
44
44
 
45
45
  end
@@ -975,6 +975,36 @@ module Aws::STS
975
975
  # * {Types::AssumeRoleWithSAMLResponse#audience #audience} => String
976
976
  # * {Types::AssumeRoleWithSAMLResponse#name_qualifier #name_qualifier} => String
977
977
  #
978
+ #
979
+ # @example Example: To assume a role using a SAML assertion
980
+ #
981
+ # resp = client.assume_role_with_saml({
982
+ # duration_seconds: 3600,
983
+ # principal_arn: "arn:aws:iam::123456789012:saml-provider/SAML-test",
984
+ # role_arn: "arn:aws:iam::123456789012:role/TestSaml",
985
+ # saml_assertion: "VERYLONGENCODEDASSERTIONEXAMPLExzYW1sOkF1ZGllbmNlPmJsYW5rPC9zYW1sOkF1ZGllbmNlPjwvc2FtbDpBdWRpZW5jZVJlc3RyaWN0aW9uPjwvc2FtbDpDb25kaXRpb25zPjxzYW1sOlN1YmplY3Q+PHNhbWw6TmFtZUlEIEZvcm1hdD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOm5hbWVpZC1mb3JtYXQ6dHJhbnNpZW50Ij5TYW1sRXhhbXBsZTwvc2FtbDpOYW1lSUQ+PHNhbWw6U3ViamVjdENvbmZpcm1hdGlvbiBNZXRob2Q9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpjbTpiZWFyZXIiPjxzYW1sOlN1YmplY3RDb25maXJtYXRpb25EYXRhIE5vdE9uT3JBZnRlcj0iMjAxOS0xMS0wMVQyMDoyNTowNS4xNDVaIiBSZWNpcGllbnQ9Imh0dHBzOi8vc2lnbmluLmF3cy5hbWF6b24uY29tL3NhbWwiLz48L3NhbWw6U3ViamVjdENvbmZpcm1hdGlvbj48L3NhbWw6U3ViamVjdD48c2FtbDpBdXRoblN0YXRlbWVudCBBdXRoPD94bWwgdmpSZXNwb25zZT4=",
986
+ # })
987
+ #
988
+ # resp.to_h outputs the following:
989
+ # {
990
+ # assumed_role_user: {
991
+ # arn: "arn:aws:sts::123456789012:assumed-role/TestSaml",
992
+ # assumed_role_id: "ARO456EXAMPLE789:TestSaml",
993
+ # },
994
+ # audience: "https://signin.aws.amazon.com/saml",
995
+ # credentials: {
996
+ # access_key_id: "ASIAV3ZUEFP6EXAMPLE",
997
+ # expiration: Time.parse("2019-11-01T20:26:47Z"),
998
+ # secret_access_key: "8P+SQvWIuLnKhh8d++jpw0nNmQRBZvNEXAMPLEKEY",
999
+ # session_token: "IQoJb3JpZ2luX2VjEOz////////////////////wEXAMPLEtMSJHMEUCIDoKK3JH9uGQE1z0sINr5M4jk+Na8KHDcCYRVjJCZEvOAiEA3OvJGtw1EcViOleS2vhs8VdCKFJQWPQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==",
1000
+ # },
1001
+ # issuer: "https://integ.example.com/idp/shibboleth",
1002
+ # name_qualifier: "SbdGOnUkh1i4+EXAMPLExL/jEvs=",
1003
+ # packed_policy_size: 6,
1004
+ # subject: "SamlExample",
1005
+ # subject_type: "transient",
1006
+ # }
1007
+ #
978
1008
  # @example Request syntax with placeholder values
979
1009
  #
980
1010
  # resp = client.assume_role_with_saml({
@@ -2101,7 +2131,7 @@ module Aws::STS
2101
2131
  params: params,
2102
2132
  config: config)
2103
2133
  context[:gem_name] = 'aws-sdk-core'
2104
- context[:gem_version] = '3.85.1'
2134
+ context[:gem_version] = '3.89.1'
2105
2135
  Seahorse::Client::Request.new(handlers, context)
2106
2136
  end
2107
2137
 
@@ -18,6 +18,7 @@ module Seahorse
18
18
 
19
19
  @pools_mutex = Mutex.new
20
20
  @pools = {}
21
+ @default_logger = Logger.new($stdout)
21
22
 
22
23
  OPTIONS = {
23
24
  http_proxy: nil,
@@ -52,14 +53,14 @@ module Seahorse
52
53
 
53
54
  # Makes an HTTP request, yielding a Net::HTTPResponse object.
54
55
  #
55
- # pool.request('http://domain', Net::HTTP::Get.new('/')) do |resp|
56
+ # pool.request(URI.parse('http://domain'), Net::HTTP::Get.new('/')) do |resp|
56
57
  # puts resp.code # status code
57
58
  # puts resp.to_h.inspect # dump the headers
58
59
  # puts resp.body
59
60
  # end
60
61
  #
61
- # @param [String] endpoint The HTTP(S) endpoint to
62
- # connect to (e.g. 'https://domain.com').
62
+ # @param [URI::HTTP, URI::HTTPS] endpoint The HTTP(S) endpoint
63
+ # to connect to (e.g. 'https://domain.com').
63
64
  #
64
65
  # @param [Net::HTTPRequest] request The request to make. This can be
65
66
  # any request object from Net::HTTP (e.g. Net::HTTP::Get,
@@ -131,7 +132,7 @@ module Seahorse
131
132
  nil
132
133
  end
133
134
 
134
- # Closes and removes removes all sessions from the pool.
135
+ # Closes and removes all sessions from the pool.
135
136
  # If empty! is called while there are outstanding requests they may
136
137
  # get checked back into the pool, leaving the pool in a non-empty
137
138
  # state.
@@ -165,16 +166,16 @@ module Seahorse
165
166
  # requests through. Formatted like 'http://proxy.com:123'.
166
167
  #
167
168
  # @option options [Float] :http_open_timeout (15) The number of
168
- # seconds to wait when opening a HTTP session before rasing a
169
+ # seconds to wait when opening an HTTP session before raising a
169
170
  # `Timeout::Error`.
170
171
  #
171
172
  # @option options [Integer] :http_read_timeout (60) The default
172
173
  # number of seconds to wait for response data. This value can
173
174
  # safely be set
174
- # per-request on the session yeidled by {#session_for}.
175
+ # per-request on the session yielded by {#session_for}.
175
176
  #
176
177
  # @option options [Float] :http_idle_timeout (5) The number of
177
- # seconds a connection is allowed to sit idble before it is
178
+ # seconds a connection is allowed to sit idle before it is
178
179
  # considered stale. Stale connections are closed and removed
179
180
  # from the pool before making a request.
180
181
  #
@@ -183,7 +184,7 @@ module Seahorse
183
184
  # request body. This option has no effect unless the request has
184
185
  # "Expect" header set to "100-continue". Defaults to `nil` which
185
186
  # disables this behaviour. This value can safely be set per
186
- # request on the session yeidled by {#session_for}.
187
+ # request on the session yielded by {#session_for}.
187
188
  #
188
189
  # @option options [Boolean] :http_wire_trace (false) When `true`,
189
190
  # HTTP debug output will be sent to the `:logger`.
@@ -200,13 +201,13 @@ module Seahorse
200
201
  # @option options [String] :ssl_ca_bundle Full path to the SSL
201
202
  # certificate authority bundle file that should be used when
202
203
  # verifying peer certificates. If you do not pass
203
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
204
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the system default
204
205
  # will be used if available.
205
206
  #
206
207
  # @option options [String] :ssl_ca_directory Full path of the
207
208
  # directory that contains the unbundled SSL certificate
208
209
  # authority files for verifying peer certificates. If you do
209
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
210
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the
210
211
  # system default will be used if available.
211
212
  #
212
213
  # @return [ConnectionPool]
@@ -217,7 +218,7 @@ module Seahorse
217
218
  end
218
219
  end
219
220
 
220
- # @return [Array<ConnectionPool>] Returns a list of of the
221
+ # @return [Array<ConnectionPool>] Returns a list of the
221
222
  # constructed connection pools.
222
223
  def pools
223
224
  @pools_mutex.synchronize do
@@ -231,7 +232,7 @@ module Seahorse
231
232
  # @return [Hash]
232
233
  def pool_options options
233
234
  wire_trace = !!options[:http_wire_trace]
234
- logger = options[:logger] || Logger.new($stdout) if wire_trace
235
+ logger = options[:logger] || @default_logger if wire_trace
235
236
  verify_peer = options.key?(:ssl_verify_peer) ?
236
237
  !!options[:ssl_verify_peer] : true
237
238
  {
@@ -279,6 +280,7 @@ module Seahorse
279
280
  http = ExtendedSession.new(Net::HTTP.new(*args.compact))
280
281
  http.set_debug_output(logger) if http_wire_trace?
281
282
  http.open_timeout = http_open_timeout
283
+ http.keep_alive_timeout = http_idle_timeout if http.respond_to?(:keep_alive_timeout=)
282
284
 
283
285
  if endpoint.scheme == 'https'
284
286
  http.use_ssl = true
@@ -301,12 +303,12 @@ module Seahorse
301
303
  # Removes stale sessions from the pool. This method *must* be called
302
304
  # @note **Must** be called behind a `@pool_mutex` synchronize block.
303
305
  def _clean
304
- now = Time.now
306
+ now = Aws::Util.monotonic_milliseconds
305
307
  @pool.each_pair do |endpoint,sessions|
306
308
  sessions.delete_if do |session|
307
309
  if
308
310
  session.last_used.nil? or
309
- now - session.last_used > http_idle_timeout
311
+ now - session.last_used > http_idle_timeout * 1000
310
312
  then
311
313
  session.finish
312
314
  true
@@ -315,7 +317,7 @@ module Seahorse
315
317
  end
316
318
  end
317
319
 
318
- # Helper methods extended onto Net::HTTPSession objects opend by the
320
+ # Helper methods extended onto Net::HTTPSession objects opened by the
319
321
  # connection pool.
320
322
  # @api private
321
323
  class ExtendedSession < Delegator
@@ -325,7 +327,7 @@ module Seahorse
325
327
  @http = http
326
328
  end
327
329
 
328
- # @return [Time,nil]
330
+ # @return [Integer,nil]
329
331
  attr_reader :last_used
330
332
 
331
333
  def __getobj__
@@ -338,8 +340,8 @@ module Seahorse
338
340
 
339
341
  # Sends the request and tracks that this session has been used.
340
342
  def request(*args, &block)
341
- @last_used = Time.now
342
343
  @http.request(*args, &block)
344
+ @last_used = Aws::Util.monotonic_milliseconds
343
345
  end
344
346
 
345
347
  # Attempts to close/finish the session without raising an error.
@@ -163,7 +163,13 @@ module Seahorse
163
163
  # @return [Hash] Returns a vanilla hash of headers to send with the
164
164
  # HTTP request.
165
165
  def headers(request)
166
- # setting these to stop net/http from providing defaults
166
+ # Net::HTTP adds default headers for content-type to POSTs (1.8.7+)
167
+ # and accept-encoding (2.0.0+). Setting a default empty value defeats
168
+ # this.
169
+ #
170
+ # Removing these are necessary for most services to not break request
171
+ # signatures as well as dynamodb crc32 checks (these fail if the
172
+ # response is gzipped).
167
173
  headers = { 'content-type' => '', 'accept-encoding' => '' }
168
174
  request.headers.each_pair do |key, value|
169
175
  headers[key] = value
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.85.1
4
+ version: 3.89.1
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-12-11 00:00:00.000000000 Z
11
+ date: 2020-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath