aws-sdk-core 3.82.0 → 3.83.0

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: 2d22cd876f546f0134b026ebf16193c7128ecc85
4
- data.tar.gz: b81bc569ccc1a761e644df8e28e0f62239026f43
3
+ metadata.gz: b4be4dfeeb3e69ca503b141449cc3fe7a620235e
4
+ data.tar.gz: c7c5965da447713bc2fbc8885141b2b7bad7ae89
5
5
  SHA512:
6
- metadata.gz: 6761c455d02dbfe5ff4b77c438666ac8d943955564ee9588587b3b9f7ba130d01a88df18bc793fe8264f607e8a1ca7d5ec26b1aad5d2c479246400a4fb148f5d
7
- data.tar.gz: 0d285ce9a4897cd6637fc4a7c76da2e83f4dc4b40dc6c600954ece44d5d7deba261545e7fe5b8d507fa2eb682476d3b46d808f0bbff8c0f2366fc1626d313739
6
+ metadata.gz: e732094ceaf8343e98409f51d3de9a7d6d81f111950157f9886e6e3292e90478848c0a6701c4df63f69dd947c88e9c3860dfac4f881cdb6a9195c59900f0431b
7
+ data.tar.gz: 4e253edb0e0abb5f621dfe8ea09dcba9b196628c709cff9ba2b5f7e399b48faafd4e25fe06f83abcc7591b7131639dd8b400c54c70ec75913b8633f22a9d8720
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.82.0
1
+ 3.83.0
data/lib/aws-sdk-core.rb CHANGED
@@ -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
@@ -66,6 +66,7 @@ module Aws
66
66
  @http_debug_output = options[:http_debug_output]
67
67
  @backoff = backoff(options[:backoff])
68
68
  @token_ttl = options[:token_ttl] || 21600
69
+ @token = nil
69
70
  super
70
71
  end
71
72
 
@@ -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, :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]
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
data/lib/aws-sdk-sts.rb CHANGED
@@ -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.83.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.83.0'
2105
2105
  Seahorse::Client::Request.new(handlers, context)
2106
2106
  end
2107
2107
 
@@ -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|
@@ -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.83.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-03 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