aws-sdk-core 2.6.7 → 2.6.9

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version":"1.0",
3
- "examples":{
2
+ "version": "1.0",
3
+ "examples": {
4
4
  }
5
5
  }
@@ -15,6 +15,7 @@ module Aws
15
15
  class S3Accelerate < Seahorse::Client::Plugin
16
16
 
17
17
  option(:use_accelerate_endpoint, false)
18
+ option(:use_dualstack_endpoint, false)
18
19
 
19
20
  def add_handlers(handlers, config)
20
21
  operations = config.api.operation_names - [
@@ -38,7 +39,13 @@ module Aws
38
39
  class AccelerateHandler < Seahorse::Client::Handler
39
40
 
40
41
  def call(context)
41
- use_accelerate_endpoint(context) if context[:use_accelerate_endpoint]
42
+ if context[:use_accelerate_endpoint]
43
+ if context[:use_dualstack_endpoint]
44
+ use_combined_accelerate_dualstack_endpoint(context)
45
+ else
46
+ use_accelerate_endpoint(context)
47
+ end
48
+ end
42
49
  @handler.call(context)
43
50
  end
44
51
 
@@ -54,6 +61,16 @@ module Aws
54
61
  context.http_request.endpoint = endpoint.to_s
55
62
  end
56
63
 
64
+ def use_combined_accelerate_dualstack_endpoint(context)
65
+ bucket_name = context.params[:bucket]
66
+ validate_bucket_name!(bucket_name)
67
+ endpoint = URI.parse(context.http_request.endpoint.to_s)
68
+ endpoint.scheme = 'https'
69
+ endpoint.port = 443
70
+ endpoint.host = "#{bucket_name}.s3-accelerate.dualstack.amazonaws.com"
71
+ context.http_request.endpoint = endpoint.to_s
72
+ end
73
+
57
74
  def validate_bucket_name!(bucket_name)
58
75
  unless S3BucketDns.dns_compatible?(bucket_name, ssl = true)
59
76
  msg = "unable to use `accelerate: true` on buckets with "
@@ -8,6 +8,7 @@ module Aws
8
8
  class S3Dualstack < Seahorse::Client::Plugin
9
9
 
10
10
  option(:use_dualstack_endpoint, false)
11
+ option(:use_accelerate_endpoint, false)
11
12
 
12
13
  def add_handlers(handlers, config)
13
14
  handlers.add(OptionHandler, step: :initialize)
@@ -27,12 +28,12 @@ module Aws
27
28
  # @api private
28
29
  class DualstackHandler < Seahorse::Client::Handler
29
30
  def call(context)
30
- use_dualstack_endpoint(context) if context[:use_dualstack_endpoint]
31
+ apply_dualstack_endpoint(context) if use_dualstack_endpoint?(context)
31
32
  @handler.call(context)
32
33
  end
33
34
 
34
35
  private
35
- def use_dualstack_endpoint(context)
36
+ def apply_dualstack_endpoint(context)
36
37
  bucket_name = context.params[:bucket]
37
38
  region = context.config.region
38
39
  force_path_style = context.config.force_path_style
@@ -55,16 +56,12 @@ module Aws
55
56
  bucket_name && S3BucketDns.dns_compatible?(bucket_name, ssl) &&
56
57
  !context.config.force_path_style
57
58
  end
58
- end
59
59
 
60
- def after_initialize(client)
61
- cfg = client.config
62
- if cfg.use_accelerate_endpoint && cfg.use_dualstack_endpoint
63
- msg = "Use of the :use_accelerate_endpoint and :use_dualstack_endpoint"\
64
- " options together is not currently supported."
65
- raise ArgumentError, msg
60
+ def use_dualstack_endpoint?(context)
61
+ context[:use_dualstack_endpoint] && !context[:use_accelerate_endpoint]
66
62
  end
67
63
  end
64
+
68
65
  end
69
66
  end
70
67
  end
@@ -1,3 +1,3 @@
1
1
  module Aws
2
- VERSION = '2.6.7'
2
+ VERSION = '2.6.9'
3
3
  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: 2.6.7
4
+ version: 2.6.9
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: 2016-10-12 00:00:00.000000000 Z
11
+ date: 2016-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath