aws-sdk-core 3.65.0 → 3.68.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: 63b7a7d7470e58f447a031339eecd074c787ee0b
4
- data.tar.gz: e10c2a286357776ffd67f3fab9e5ae5607a30347
3
+ metadata.gz: 4084b2ed016d57967df6507569a39def528f732f
4
+ data.tar.gz: 247a1e43c7306083f4b91093f57403211e5ac37d
5
5
  SHA512:
6
- metadata.gz: '0921c39c2eaa349cd88121775efab1391b19c51278a329eee6a0f43568e3eb070298737cf572e74f5e10058c487df7d839b7ae8be0994de5203f2ca8afefaf3c'
7
- data.tar.gz: e6db8784a82121825706666728d178c649959313882a88f721155526519cde5a58e439ee6919bc73174f2badb6dfbcad03883013874188fc2be94aaaddeb9b48
6
+ metadata.gz: 6841d16d955cb43c9387539030c957acdc99ecc4251de2a2387e8adb99af4488c4e6837a0b2980aa3e5c75ea825cb4a461b4b101b65b1127d412f896756b530e
7
+ data.tar.gz: a39302708b5d1423b34a7ea641522560f5e61fa6f6443048c932f2b6fb91c7700e47597221a4a8cbc448e4ba56c139f64003b1bedf282c2101fa4f49b8b933a1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.65.0
1
+ 3.68.1
@@ -13,32 +13,29 @@ module Aws
13
13
  !!credentials && credentials.set?
14
14
  end
15
15
 
16
- # @deprecated Deprecated in 2.1.0. This method is subject to errors
17
- # from a race condition when called against refreshable credential
18
- # objects. Will be removed in 2.2.0.
16
+ # @deprecated This method is subject to errors from a race condition when
17
+ # called against refreshable credential objects. This will be removed.
19
18
  # @see #credentials
20
19
  def access_key_id
21
20
  credentials ? credentials.access_key_id : nil
22
21
  end
23
- deprecated(:access_key_id, use: '#credentials')
22
+ deprecated(:access_key_id, use: '#credentials', version: '3.75')
24
23
 
25
- # @deprecated Deprecated in 2.1.0. This method is subject to errors
26
- # from a race condition when called against refreshable credential
27
- # objects. Will be removed in 2.2.0.
24
+ # @deprecated This method is subject to errors from a race condition when
25
+ # called against refreshable credential objects. This will be removed.
28
26
  # @see #credentials
29
27
  def secret_access_key
30
28
  credentials ? credentials.secret_access_key : nil
31
29
  end
32
- deprecated(:secret_access_key, use: '#credentials')
30
+ deprecated(:secret_access_key, use: '#credentials', version: '3.75')
33
31
 
34
- # @deprecated Deprecated in 2.1.0. This method is subject to errors
35
- # from a race condition when called against refreshable credential
36
- # objects. Will be removed in 2.2.0.
32
+ # @deprecated This method is subject to errors from a race condition when
33
+ # called against refreshable credential objects. This will be removed.
37
34
  # @see #credentials
38
35
  def session_token
39
36
  credentials ? credentials.session_token : nil
40
37
  end
41
- deprecated(:session_token, use: '#credentials')
38
+ deprecated(:session_token, use: '#credentials', version: '3.75')
42
39
 
43
40
  end
44
41
  end
@@ -60,22 +60,20 @@ module Aws
60
60
  nil
61
61
  end
62
62
 
63
+ def determine_profile_name(options)
64
+ (options[:config] && options[:config].profile) || ENV['AWS_PROFILE'] || ENV['AWS_DEFAULT_PROFILE'] || 'default'
65
+ end
66
+
63
67
  def shared_credentials(options)
64
- if options[:config]
65
- SharedCredentials.new(profile_name: options[:config].profile)
66
- else
67
- SharedCredentials.new(
68
- profile_name: ENV['AWS_PROFILE'].nil? ? 'default' : ENV['AWS_PROFILE'])
69
- end
68
+ profile_name = determine_profile_name(options)
69
+ SharedCredentials.new(profile_name: profile_name)
70
70
  rescue Errors::NoSuchProfileError
71
71
  nil
72
72
  end
73
73
 
74
74
  def process_credentials(options)
75
- profile_name = options[:config].profile if options[:config]
76
- profile_name ||= ENV['AWS_PROFILE'].nil? ? 'default' : ENV['AWS_PROFILE']
77
-
78
75
  config = Aws.shared_config
76
+ profile_name = determine_profile_name(options)
79
77
  if config.config_enabled? && process_provider = config.credentials_process(profile_name)
80
78
  ProcessCredentials.new(process_provider)
81
79
  else
@@ -87,13 +85,7 @@ module Aws
87
85
 
88
86
  def assume_role_credentials(options)
89
87
  if Aws.shared_config.config_enabled?
90
- profile, region = nil, nil
91
- if options[:config]
92
- profile = options[:config].profile
93
- region = options[:config].region
94
- assume_role_with_profile(options[:config].profile, options[:config].region)
95
- end
96
- assume_role_with_profile(profile, region)
88
+ assume_role_with_profile(options)
97
89
  else
98
90
  nil
99
91
  end
@@ -123,9 +115,11 @@ module Aws
123
115
  end
124
116
  end
125
117
 
126
- def assume_role_with_profile(prof, region)
118
+ def assume_role_with_profile(options)
119
+ profile_name = determine_profile_name(options)
120
+ region = (options[:config] && options[:config].region)
127
121
  Aws.shared_config.assume_role_credentials_from_config(
128
- profile: prof,
122
+ profile: profile_name,
129
123
  region: region,
130
124
  chain_config: @config
131
125
  )
@@ -35,33 +35,39 @@ module Aws
35
35
  # @api private
36
36
  module Deprecations
37
37
 
38
- # @param [Symbol] method_name The name of the deprecated method.
38
+ # @param [Symbol] method The name of the deprecated method.
39
39
  #
40
40
  # @option options [String] :message The warning message to issue
41
41
  # when the deprecated method is called.
42
42
  #
43
- # @option options [Symbol] :use The name of an use
44
- # method that should be used.
43
+ # @option options [String] :use The name of a method that should be used.
45
44
  #
46
- def deprecated(method_name, options = {})
45
+ # @option options [String] :version The version that will remove the
46
+ # deprecated method.
47
+ #
48
+ def deprecated(method, options = {})
47
49
 
48
50
  deprecation_msg = options[:message] || begin
49
- msg = "DEPRECATION WARNING: called deprecated method `#{method_name}' "
50
- msg << "of an #{self}"
51
- msg << ", use #{options[:use]} instead" if options[:use]
51
+ msg = "#################### DEPRECATION WARNING ####################\n"
52
+ msg << "Called deprecated method `#{method}` of #{self}."
53
+ msg << " Use `#{options[:use]}` instead.\n" if options[:use]
54
+ if options[:version]
55
+ msg << "Method `#{method}` will be removed in #{options[:version]}."
56
+ end
57
+ msg << "\n#############################################################"
52
58
  msg
53
59
  end
54
60
 
55
- alias_method(:"deprecated_#{method_name}", method_name)
61
+ alias_method(:"deprecated_#{method}", method)
56
62
 
57
63
  warned = false # we only want to issue this warning once
58
64
 
59
- define_method(method_name) do |*args,&block|
65
+ define_method(method) do |*args, &block|
60
66
  unless warned
61
67
  warned = true
62
68
  warn(deprecation_msg + "\n" + caller.join("\n"))
63
69
  end
64
- send("deprecated_#{method_name}", *args, &block)
70
+ send("deprecated_#{method}", *args, &block)
65
71
  end
66
72
  end
67
73
 
@@ -51,8 +51,9 @@ module Aws
51
51
  super
52
52
  end
53
53
 
54
- # @return [Integer] The number of times to retry failed attempts to
55
- # fetch credentials from the instance metadata service. Defaults to 0.
54
+ # @return [Integer] Number of times to retry when retrieving credentials
55
+ # from the instance metadata service. Defaults to 0 when resolving from
56
+ # the default credential chain ({Aws::CredentialProviderChain}).
56
57
  attr_reader :retries
57
58
 
58
59
  private
@@ -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, :body, :bot_configuration, :bot_email, :cause, :client_id, :client_secret, :comment, :configuration, :copy_source_sse_customer_key, :credentials, :current_password, :custom_attributes, :db_password, :default_phone_number, :definition, :description, :display_name, :e164_phone_number, :email, :email_address, :email_message, :embed_url, :error, :feedback_token, :file, :first_name, :host_key, :id, :id_token, :input, :input_text, :key_id, :key_store_password, :kms_key_id, :kms_master_key_id, :lambda_function_arn, :last_name, :local_console_password, :master_account_email, :master_user_password, :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, :proposed_password, :public_key, :qr_code_png, :query, :random_password, :recovery_point_tags, :refresh_token, :registrant_contact, :request_attributes, :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, :share_notes, :shared_secret, :slots, :sse_customer_key, :ssekms_encryption_context, :ssekms_key_id, :status_message, :tag_key_list, :tags, :task_parameters, :tech_contact, :temporary_password, :text, :token, :trust_password, :type, :upload_credentials, :upload_url, :uri, :user_email, :user_name, :user_password, :username, :value, :values, :variables, :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, :body, :bot_configuration, :bot_email, :cause, :client_id, :client_secret, :comment, :configuration, :copy_source_sse_customer_key, :credentials, :current_password, :custom_attributes, :db_password, :default_phone_number, :definition, :description, :digest_tip_address, :display_name, :e164_phone_number, :email, :email_address, :email_message, :embed_url, :error, :feedback_token, :file, :first_name, :host_key, :id, :id_token, :input, :input_text, :ion_text, :key_id, :key_store_password, :kms_key_id, :kms_master_key_id, :lambda_function_arn, :last_name, :local_console_password, :master_account_email, :master_user_password, :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, :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, :share_notes, :shared_secret, :slots, :sse_customer_key, :ssekms_encryption_context, :ssekms_key_id, :status_message, :tag_key_list, :tags, :task_parameters, :tech_contact, :temporary_password, :text, :token, :trust_password, :type, :upload_credentials, :upload_url, :uri, :user_email, :user_name, :user_password, :username, :value, :values, :variables, :zip_file]
15
15
  # end
16
16
 
17
17
  def initialize(options = {})
@@ -141,8 +141,8 @@ module Aws
141
141
  errors << expected_got(context, "true or false", value)
142
142
  end
143
143
  when BlobShape
144
- unless io_like?(value) or value.is_a?(String)
145
- errors << expected_got(context, "a String or IO object", value)
144
+ unless value.is_a?(String) || io_like?(value)
145
+ errors << expected_got(context, "a String or File object", value)
146
146
  end
147
147
  else
148
148
  raise "unhandled shape type: #{ref.shape.class.name}"
@@ -166,9 +166,8 @@ module Aws
166
166
  end
167
167
 
168
168
  def io_like?(value)
169
- value.respond_to?(:read) &&
170
- value.respond_to?(:rewind) &&
171
- value.respond_to?(:size)
169
+ value.respond_to?(:read) && value.respond_to?(:rewind) &&
170
+ value.respond_to?(:size)
172
171
  end
173
172
 
174
173
  def error_messages(errors)
@@ -6,7 +6,7 @@ module Aws
6
6
  class RetryErrors < Seahorse::Client::Plugin
7
7
 
8
8
  EQUAL_JITTER = lambda { |delay| (delay / 2) + Kernel.rand(0..(delay/2))}
9
- FULL_JITTER= lambda { |delay| Kernel.rand(0..delay) }
9
+ FULL_JITTER = lambda { |delay| Kernel.rand(0..delay) }
10
10
  NO_JITTER = lambda { |delay| delay }
11
11
 
12
12
  JITTERS = {
@@ -73,6 +73,7 @@ A delay randomiser function used by the default backoff function. Some predefine
73
73
  'InvalidAccessKeyId', # s3
74
74
  'AuthFailure', # ec2
75
75
  'InvalidIdentityToken', # sts
76
+ 'ExpiredToken', # route53
76
77
  ])
77
78
 
78
79
  THROTTLING_ERRORS = Set.new([
@@ -94,8 +95,8 @@ A delay randomiser function used by the default backoff function. Some predefine
94
95
  ])
95
96
 
96
97
  NETWORKING_ERRORS = Set.new([
97
- 'RequestTimeout', # s3
98
- 'IDPCommunicationError', # sts
98
+ 'RequestTimeout', # s3
99
+ 'IDPCommunicationError', # sts
99
100
  ])
100
101
 
101
102
  def initialize(error, http_status_code)
@@ -144,7 +145,7 @@ A delay randomiser function used by the default backoff function. Some predefine
144
145
  false
145
146
  end
146
147
  end
147
-
148
+
148
149
  def retryable?(context)
149
150
  (expired_credentials? and refreshable_credentials?(context)) or
150
151
  throttling_error? or
@@ -5,7 +5,7 @@ module Aws
5
5
  # A credential provider that executes a given process and attempts
6
6
  # to read its stdout to recieve a JSON payload containing the credentials
7
7
  #
8
- # Automatically handles refreshing credentials if an Expiration time is
8
+ # Automatically handles refreshing credentials if an Expiration time is
9
9
  # provided in the credentials payload
10
10
  #
11
11
  # credentials = Aws::ProcessCredentials.new('/usr/bin/credential_proc').credentials
@@ -23,11 +23,11 @@ module Aws
23
23
  # external process to be used as a credential provider.
24
24
  #
25
25
  # @param [String] process Invocation string for process
26
- # credentials provider.
26
+ # credentials provider.
27
27
  def initialize(process)
28
28
  @process = process
29
29
  @credentials = credentials_from_process(@process)
30
-
30
+
31
31
  super
32
32
  end
33
33
 
@@ -99,12 +99,10 @@ module Aws
99
99
  def credentials(opts = {})
100
100
  p = opts[:profile] || @profile_name
101
101
  validate_profile_exists(p) if credentials_present?
102
- if credentials = credentials_from_shared(p, opts)
102
+ if (credentials = credentials_from_shared(p, opts))
103
103
  credentials
104
- elsif credentials = credentials_from_config(p, opts)
104
+ elsif (credentials = credentials_from_config(p, opts))
105
105
  credentials
106
- else
107
- nil
108
106
  end
109
107
  end
110
108
 
@@ -228,6 +226,7 @@ module Aws
228
226
  end
229
227
 
230
228
  private
229
+
231
230
  def credentials_present?
232
231
  (@parsed_credentials && !@parsed_credentials.empty?) ||
233
232
  (@parsed_config && !@parsed_config.empty?)
@@ -293,17 +292,17 @@ module Aws
293
292
  end
294
293
  end
295
294
 
296
- def resolve_source_profile(src)
297
- if (creds = credentials(profile: src))
295
+ def resolve_source_profile(profile)
296
+ if (creds = credentials(profile: profile))
298
297
  creds # static credentials
299
- elsif (provider = assume_role_web_identity_credentials_from_config(src))
298
+ elsif (provider = assume_role_web_identity_credentials_from_config(profile))
299
+ if provider.credentials.set?
300
+ provider.credentials
301
+ end
302
+ elsif (provider = assume_role_process_credentials_from_config(profile))
300
303
  if provider.credentials.set?
301
304
  provider.credentials
302
- else
303
- nil
304
305
  end
305
- else
306
- nil
307
306
  end
308
307
  end
309
308
 
@@ -324,6 +323,11 @@ module Aws
324
323
  end
325
324
  end
326
325
 
326
+ def assume_role_process_credentials_from_config(profile)
327
+ credential_process = credentials_process(profile)
328
+ ProcessCredentials.new(credential_process) if credential_process
329
+ end
330
+
327
331
  def credentials_from_shared(profile, opts)
328
332
  if @parsed_credentials && prof_config = @parsed_credentials[profile]
329
333
  credentials_from_profile(prof_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.65.0'
43
+ GEM_VERSION = '3.68.1'
44
44
 
45
45
  end
@@ -1808,7 +1808,7 @@ module Aws::STS
1808
1808
  params: params,
1809
1809
  config: config)
1810
1810
  context[:gem_name] = 'aws-sdk-core'
1811
- context[:gem_version] = '3.65.0'
1811
+ context[:gem_version] = '3.68.1'
1812
1812
  Seahorse::Client::Request.new(handlers, context)
1813
1813
  end
1814
1814
 
@@ -77,8 +77,8 @@ module Seahorse
77
77
  if options.key?(name)
78
78
  options[name]
79
79
  else
80
- msg = "invalid :priority `%s', must be between 0 and 99"
81
- raise ArgumentError, msg % priority.inspect
80
+ msg = "missing option: `%s'"
81
+ raise ArgumentError, msg % name.inspect
82
82
  end
83
83
  end
84
84
 
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.65.0
4
+ version: 3.68.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-08-27 00:00:00.000000000 Z
11
+ date: 2019-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath