aws-sdk 1.1.4 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/aws.rb +2 -0
- data/lib/aws/api_config/ELB-2011-08-15.yml +380 -0
- data/lib/aws/api_config/SNS-2010-03-31.yml +2 -2
- data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +5 -5
- data/lib/aws/core.rb +18 -3
- data/lib/aws/core/client_logging.rb +5 -6
- data/lib/aws/core/collection.rb +241 -0
- data/lib/aws/core/collection/batchable.rb +133 -0
- data/lib/aws/core/collection/limitable.rb +92 -0
- data/lib/aws/core/collection/simple.rb +89 -0
- data/lib/aws/core/configuration.rb +23 -0
- data/lib/aws/core/option_grammar.rb +2 -0
- data/lib/aws/core/page_result.rb +73 -0
- data/lib/aws/ec2/security_group.rb +154 -89
- data/lib/aws/ec2/security_group/egress_ip_permission_collection.rb +1 -2
- data/lib/aws/ec2/security_group/{ip_permission_collection.rb → ingress_ip_permission_collection.rb} +4 -1
- data/lib/aws/ec2/security_group/ip_permission.rb +23 -45
- data/lib/aws/elb.rb +65 -0
- data/lib/aws/elb/availability_zone_collection.rb +138 -0
- data/lib/aws/elb/backend_server_policy_collection.rb +150 -0
- data/lib/aws/elb/client.rb +35 -0
- data/lib/aws/elb/client/xml.rb +33 -0
- data/lib/aws/elb/config.rb +18 -0
- data/lib/aws/elb/errors.rb +30 -0
- data/lib/aws/elb/instance_collection.rb +174 -0
- data/lib/aws/elb/listener.rb +189 -0
- data/lib/aws/elb/listener_collection.rb +119 -0
- data/lib/aws/elb/listener_opts.rb +45 -0
- data/lib/aws/elb/listener_spec.rb +14 -0
- data/lib/aws/elb/load_balancer.rb +255 -0
- data/lib/aws/elb/load_balancer_collection.rb +113 -0
- data/lib/aws/elb/load_balancer_policy.rb +93 -0
- data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
- data/lib/aws/elb/request.rb +23 -0
- data/lib/aws/iam/collection.rb +24 -26
- data/lib/aws/iam/group_user_collection.rb +21 -28
- data/lib/aws/iam/server_certificate_collection.rb +1 -37
- data/lib/aws/record.rb +1 -1
- data/lib/aws/record/base.rb +14 -1
- data/lib/aws/record/finder_methods.rb +4 -1
- data/lib/aws/record/validations.rb +73 -32
- data/lib/aws/{core/api_config_transform.rb → record/validators/method.rb} +9 -12
- data/lib/aws/s3/bucket_collection.rb +6 -4
- data/lib/aws/s3/client.rb +37 -6
- data/lib/aws/s3/config.rb +3 -1
- data/lib/aws/s3/prefixed_collection.rb +1 -2
- data/lib/aws/s3/presigned_post.rb +37 -4
- data/lib/aws/s3/s3_object.rb +93 -1
- data/lib/aws/simple_db/domain.rb +8 -0
- data/lib/aws/simple_db/item.rb +15 -0
- data/lib/aws/simple_db/item_collection.rb +255 -201
- data/lib/aws/simple_db/item_data.rb +1 -1
- data/lib/aws/simple_email_service/client.rb +0 -1
- data/lib/aws/sns/client.rb +0 -1
- metadata +107 -55
- data/lib/aws/core/collections.rb +0 -229
- data/lib/aws/simple_email_service/client/options.rb +0 -21
- data/lib/aws/sns/client/options.rb +0 -21
@@ -117,45 +117,9 @@ module AWS
|
|
117
117
|
ServerCertificate.new(name, :config => config)
|
118
118
|
end
|
119
119
|
|
120
|
-
# Yields once for each server certificate
|
121
|
-
#
|
122
|
-
# You can limit the number of certificates yielded using
|
123
|
-
# +:limit+ and +:path_prefix+.
|
124
|
-
#
|
125
|
-
# @param [Hash] options
|
126
|
-
#
|
127
|
-
# @option options [String] :path_prefix ('/') A path prefix that
|
128
|
-
# filters according to the path of the certificate.
|
129
|
-
#
|
130
|
-
# @option options [Integer] :limit The maximum number of
|
131
|
-
# certificates to yield.
|
132
|
-
#
|
133
|
-
# @option options [Integer] :batch_size The maximum number of
|
134
|
-
# certificates to retrieve in each service request.
|
135
|
-
#
|
136
|
-
# @yieldparam [ServerCertificate] certificate
|
137
|
-
# @return [nil]
|
138
|
-
def each options = {}, &block
|
139
|
-
super(options, &block)
|
140
|
-
end
|
141
|
-
|
142
|
-
# Returns an enumerable object for this collection. This can be
|
143
|
-
# useful if you want to call an enumerable method that does
|
144
|
-
# not accept options (e.g. +collect+, +first+, etc).
|
145
|
-
#
|
146
|
-
# certificates.enumerator(:path_prefix => '/production').
|
147
|
-
# collect(&:name)
|
148
|
-
#
|
149
|
-
# @param (see #each)
|
150
|
-
# @option (see #each)
|
151
|
-
# @return [Enumerator]
|
152
|
-
def enumerator options = {}
|
153
|
-
super(options)
|
154
|
-
end
|
155
|
-
|
156
120
|
# @private
|
157
121
|
protected
|
158
|
-
def each_item
|
122
|
+
def each_item response, &block
|
159
123
|
response.server_certificate_metadata_list.each do |sc|
|
160
124
|
certificate = ServerCertificate.new_from(:list_server_certificates,
|
161
125
|
sc,
|
data/lib/aws/record.rb
CHANGED
data/lib/aws/record/base.rb
CHANGED
@@ -326,6 +326,19 @@ module AWS
|
|
326
326
|
hash
|
327
327
|
end
|
328
328
|
end
|
329
|
+
|
330
|
+
# Acts like {#update} but does not call {#save}.
|
331
|
+
#
|
332
|
+
# record.attributes = { :name => 'abc', :age => 20 }
|
333
|
+
#
|
334
|
+
# @param [Hash] attributes A hash of attributes to set on this record
|
335
|
+
# without calling save.
|
336
|
+
#
|
337
|
+
# @return [Hash] Returns the attribute hash that was passed in.
|
338
|
+
#
|
339
|
+
def attributes= attributes
|
340
|
+
bulk_assign(attributes)
|
341
|
+
end
|
329
342
|
|
330
343
|
# Persistence indicates if the record has been saved previously or not.
|
331
344
|
#
|
@@ -348,7 +361,7 @@ module AWS
|
|
348
361
|
|
349
362
|
# @return [Boolean] Returns true if this record has no validation errors.
|
350
363
|
def valid?
|
351
|
-
|
364
|
+
run_validations
|
352
365
|
errors.empty?
|
353
366
|
end
|
354
367
|
|
@@ -150,13 +150,16 @@ module AWS
|
|
150
150
|
# Car.where('color = ? OR style = ?', 'red', 'compact')
|
151
151
|
#
|
152
152
|
# # produces a condition using in, like: WHERE color IN ('red', 'blue')
|
153
|
-
# Car.where('color
|
153
|
+
# Car.where('color IN ?', ['red','blue'])
|
154
154
|
#
|
155
155
|
# Hash arguments
|
156
156
|
#
|
157
157
|
# # WHERE age = '40' AND gender = 'male'
|
158
158
|
# People.where(:age => 40, :gender => 'male').each {|person| ... }
|
159
159
|
#
|
160
|
+
# # WHERE name IN ('John', 'Jane')
|
161
|
+
# People.where(:name => ['John', 'Jane']).each{|person| ... }
|
162
|
+
#
|
160
163
|
# Chaining where with other scope modifiers
|
161
164
|
#
|
162
165
|
# # 10 most expensive red cars
|
@@ -21,6 +21,7 @@ require 'aws/record/validators/inclusion'
|
|
21
21
|
require 'aws/record/validators/length'
|
22
22
|
require 'aws/record/validators/numericality'
|
23
23
|
require 'aws/record/validators/presence'
|
24
|
+
require 'aws/record/validators/method'
|
24
25
|
|
25
26
|
module AWS
|
26
27
|
module Record
|
@@ -100,17 +101,57 @@ module AWS
|
|
100
101
|
|
101
102
|
def self.extended base
|
102
103
|
|
103
|
-
base.send(:define_method, :
|
104
|
+
base.send(:define_method, :run_validations) do
|
104
105
|
errors.clear!
|
105
106
|
self.class.send(:validators).each do |validator|
|
106
107
|
validator.validate(self)
|
107
108
|
end
|
108
109
|
end
|
109
110
|
|
110
|
-
base.send(:private, :
|
111
|
+
base.send(:private, :run_validations)
|
111
112
|
|
112
113
|
end
|
113
114
|
|
115
|
+
# Registers a validation method.
|
116
|
+
#
|
117
|
+
# validate :ensure_age_is_greater_than_shoe_size
|
118
|
+
#
|
119
|
+
# def ensure_age_is_greater_than_shoe_size
|
120
|
+
# unless age > shoe_size
|
121
|
+
# errors.add(:age, 'should be greater than your shoe size')
|
122
|
+
# end
|
123
|
+
# end
|
124
|
+
#
|
125
|
+
# You can also pass a list of method names that should be called during
|
126
|
+
# validation.
|
127
|
+
#
|
128
|
+
# validate :some_complex_validation, :some_other_validation
|
129
|
+
#
|
130
|
+
# As with most other validation methods you can also pass a hash of
|
131
|
+
# options that affect when the named validation methods get called.
|
132
|
+
#
|
133
|
+
# validate :my_custom_validation, :unless => :new_record?
|
134
|
+
#
|
135
|
+
# @overload validate(*method_names, options = {})
|
136
|
+
# @param [Array<Symbol>] method_names A list of methods to call
|
137
|
+
# during validation.
|
138
|
+
# @param [Hash] options
|
139
|
+
# @option options [Symbol] :on (:save) When this validation is run.
|
140
|
+
# Valid values include:
|
141
|
+
# * +:save+
|
142
|
+
# * +:create+
|
143
|
+
# * +:update+
|
144
|
+
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
145
|
+
# to call. The validation will only be run if the return value is
|
146
|
+
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
147
|
+
# +:if => lambda{|book| book.in_stock? }+).
|
148
|
+
# @option options [Symbol,String,Proc] :unless Specifies a method or
|
149
|
+
# proc to call. The validation will *not* be run if the return value
|
150
|
+
# is of the method/proc is false.
|
151
|
+
def validate *args
|
152
|
+
validators << MethodValidator.new(self, *args)
|
153
|
+
end
|
154
|
+
|
114
155
|
# This validation method is primariliy intended for ensuring a form
|
115
156
|
# checkbox (like an EULA agreement or terms of service acknowledgement)
|
116
157
|
# is checked.
|
@@ -178,9 +219,9 @@ module AWS
|
|
178
219
|
# attribute value is +nil+.
|
179
220
|
# @option options [Symbol] :on (:save) When this validation is run.
|
180
221
|
# Valid values include:
|
181
|
-
# * +:save
|
182
|
-
# * +:create
|
183
|
-
# * +:update
|
222
|
+
# * +:save+
|
223
|
+
# * +:create+
|
224
|
+
# * +:update+
|
184
225
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
185
226
|
# to call. The validation will only be run if the return value is
|
186
227
|
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
@@ -233,9 +274,9 @@ module AWS
|
|
233
274
|
# +:message+ is "doesn't match confirmation".
|
234
275
|
# @option options [Symbol] :on (:save) When this validation is run.
|
235
276
|
# Valid values include:
|
236
|
-
# * +:save
|
237
|
-
# * +:create
|
238
|
-
# * +:update
|
277
|
+
# * +:save+
|
278
|
+
# * +:create+
|
279
|
+
# * +:update+
|
239
280
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
240
281
|
# to call. The validation will only be run if the return value is
|
241
282
|
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
@@ -319,9 +360,9 @@ module AWS
|
|
319
360
|
# number of values (should have exactly %{exactly}"</code>
|
320
361
|
# @option options [Symbol] :on (:save) When this validation is run.
|
321
362
|
# Valid values include:
|
322
|
-
# * +:save
|
323
|
-
# * +:create
|
324
|
-
# * +:update
|
363
|
+
# * +:save+
|
364
|
+
# * +:create+
|
365
|
+
# * +:update+
|
325
366
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
326
367
|
# to call. The validation will only be run if the return value is
|
327
368
|
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
@@ -354,9 +395,9 @@ module AWS
|
|
354
395
|
# attribute value is +nil+.
|
355
396
|
# @option options [Symbol] :on (:save) When this validation is run.
|
356
397
|
# Valid values include:
|
357
|
-
# * +:save
|
358
|
-
# * +:create
|
359
|
-
# * +:update
|
398
|
+
# * +:save+
|
399
|
+
# * +:create+
|
400
|
+
# * +:update+
|
360
401
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
361
402
|
# to call. The validation will only be run if the return value is
|
362
403
|
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
@@ -400,9 +441,9 @@ module AWS
|
|
400
441
|
# attribute value is +nil+.
|
401
442
|
# @option options [Symbol] :on (:save) When this validation is run.
|
402
443
|
# Valid values include:
|
403
|
-
# * +:save
|
404
|
-
# * +:create
|
405
|
-
# * +:update
|
444
|
+
# * +:save+
|
445
|
+
# * +:create+
|
446
|
+
# * +:update+
|
406
447
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
407
448
|
# to call. The validation will only be run if the return value is
|
408
449
|
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
@@ -449,9 +490,9 @@ module AWS
|
|
449
490
|
# attribute value is +nil+.
|
450
491
|
# @option options [Symbol] :on (:save) When this validation is run.
|
451
492
|
# Valid values include:
|
452
|
-
# * +:save
|
453
|
-
# * +:create
|
454
|
-
# * +:update
|
493
|
+
# * +:save+
|
494
|
+
# * +:create+
|
495
|
+
# * +:update+
|
455
496
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
456
497
|
# to call. The validation will only be run if the return value is
|
457
498
|
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
@@ -486,9 +527,9 @@ module AWS
|
|
486
527
|
# attribute value is +nil+.
|
487
528
|
# @option options [Symbol] :on (:save) When this validation is run.
|
488
529
|
# Valid values include:
|
489
|
-
# * +:save
|
490
|
-
# * +:create
|
491
|
-
# * +:update
|
530
|
+
# * +:save+
|
531
|
+
# * +:create+
|
532
|
+
# * +:update+
|
492
533
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
493
534
|
# to call. The validation will only be run if the return value is
|
494
535
|
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
@@ -547,9 +588,9 @@ module AWS
|
|
547
588
|
# attribute value is +nil+.
|
548
589
|
# @option options [Symbol] :on (:save) When this validation is run.
|
549
590
|
# Valid values include:
|
550
|
-
# * +:save
|
551
|
-
# * +:create
|
552
|
-
# * +:update
|
591
|
+
# * +:save+
|
592
|
+
# * +:create+
|
593
|
+
# * +:update+
|
553
594
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
554
595
|
# to call. The validation will only be run if the return value is
|
555
596
|
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
@@ -597,9 +638,9 @@ module AWS
|
|
597
638
|
# attribute value is +nil+.
|
598
639
|
# @option options [Symbol] :on (:save) When this validation is run.
|
599
640
|
# Valid values include:
|
600
|
-
# * +:save
|
601
|
-
# * +:create
|
602
|
-
# * +:update
|
641
|
+
# * +:save+
|
642
|
+
# * +:create+
|
643
|
+
# * +:update+
|
603
644
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
604
645
|
# to call. The validation will only be run if the return value is
|
605
646
|
# of the method/proc is true (e.g. +:if => :name_changed?+ or
|
@@ -626,9 +667,9 @@ module AWS
|
|
626
667
|
# +:message+ is "may not be blank".
|
627
668
|
# @option options [Symbol] :on (:save) When this validation is run.
|
628
669
|
# Valid values include:
|
629
|
-
# * +:save
|
630
|
-
# * +:create
|
631
|
-
# * +:update
|
670
|
+
# * +:save+
|
671
|
+
# * +:create+
|
672
|
+
# * +:update+
|
632
673
|
# @option options [Boolean] :allow_nil (false) Skip validation if the
|
633
674
|
# attribute value is +nil+.
|
634
675
|
# @option options [Symbol,String,Proc] :if Specifies a method or proc
|
@@ -11,24 +11,21 @@
|
|
11
11
|
# ANY KIND, either express or implied. See the License for the specific
|
12
12
|
# language governing permissions and limitations under the License.
|
13
13
|
|
14
|
-
require '
|
14
|
+
require 'aws/record/validator'
|
15
15
|
|
16
16
|
module AWS
|
17
|
-
module
|
18
|
-
|
17
|
+
module Record
|
18
|
+
|
19
|
+
# Uses the base validator class to call user-defined validation methods.
|
19
20
|
# @private
|
20
|
-
class
|
21
|
-
|
22
|
-
def self.rename_input_list_to_membered_list api_config
|
23
|
-
api_config[:operations].each_pair do |name,customizations|
|
24
|
-
|
25
|
-
input = api_config[:operations][name][:input]
|
26
|
-
fixed_input = input.to_yaml.gsub(/:list:/, ':membered_list:')
|
21
|
+
class MethodValidator < Validator
|
27
22
|
|
28
|
-
|
23
|
+
ACCEPTED_OPTIONS = [:on, :if, :unless]
|
29
24
|
|
25
|
+
def validate_attributes record
|
26
|
+
attribute_names.each do |method_name|
|
27
|
+
record.send(method_name)
|
30
28
|
end
|
31
|
-
api_config
|
32
29
|
end
|
33
30
|
|
34
31
|
end
|
@@ -85,10 +85,12 @@ module AWS
|
|
85
85
|
config.s3_endpoint == 's3.amazonaws.com' or
|
86
86
|
options[:location_constraint]
|
87
87
|
then
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
88
|
+
constraint =
|
89
|
+
case config.s3_endpoint
|
90
|
+
when 's3-eu-west-1.amazonaws.com' then 'EU'
|
91
|
+
when /^s3-(.*)\.amazonaws\.com$/ then $1
|
92
|
+
end
|
93
|
+
options[:location_constraint] = constraint if constraint
|
92
94
|
end
|
93
95
|
|
94
96
|
client.create_bucket(options.merge(:bucket_name => bucket_name))
|
data/lib/aws/s3/client.rb
CHANGED
@@ -459,9 +459,13 @@ module AWS
|
|
459
459
|
:content_encoding => 'Content-Encoding',
|
460
460
|
:content_type => 'Content-Type',
|
461
461
|
:storage_class => 'x-amz-storage-class',
|
462
|
+
:server_side_encryption => 'x-amz-server-side-encryption',
|
462
463
|
:expires => 'Expires'
|
463
464
|
}) do
|
464
465
|
configure_request do |request, options, block|
|
466
|
+
options[:server_side_encryption] =
|
467
|
+
options[:server_side_encryption].to_s.upcase if
|
468
|
+
options[:server_side_encryption].kind_of?(Symbol)
|
465
469
|
super(request, options)
|
466
470
|
set_request_data(request, options, block)
|
467
471
|
request.metadata = options[:metadata]
|
@@ -479,6 +483,7 @@ module AWS
|
|
479
483
|
Core::MetaUtils.extend_method(response, :last_modified) do
|
480
484
|
Time.parse(response.http_response.header('Last-Modified'))
|
481
485
|
end
|
486
|
+
add_sse_to_response(response)
|
482
487
|
end
|
483
488
|
|
484
489
|
simulate_response do |response|
|
@@ -583,6 +588,7 @@ module AWS
|
|
583
588
|
Core::MetaUtils.extend_method(resp, :version_id) do
|
584
589
|
http_response.header('x-amz-version-id')
|
585
590
|
end
|
591
|
+
add_sse_to_response(resp)
|
586
592
|
end
|
587
593
|
end
|
588
594
|
|
@@ -625,6 +631,8 @@ module AWS
|
|
625
631
|
Core::MetaUtils.extend_method(resp, :content_length) do
|
626
632
|
http_response.header('content-length').to_i
|
627
633
|
end
|
634
|
+
|
635
|
+
add_sse_to_response(resp)
|
628
636
|
end
|
629
637
|
end
|
630
638
|
|
@@ -664,14 +672,22 @@ module AWS
|
|
664
672
|
:content_encoding => 'Content-Encoding',
|
665
673
|
:content_type => 'Content-Type',
|
666
674
|
:storage_class => 'x-amz-storage-class',
|
675
|
+
:server_side_encryption => 'x-amz-server-side-encryption',
|
667
676
|
:expires => 'Expires'
|
668
677
|
}) do
|
669
678
|
configure_request do |req, options|
|
679
|
+
options[:server_side_encryption] =
|
680
|
+
options[:server_side_encryption].to_s.upcase if
|
681
|
+
options[:server_side_encryption].kind_of?(Symbol)
|
670
682
|
super(req, options)
|
671
683
|
req.metadata = options[:metadata]
|
672
684
|
req.canned_acl = options[:acl]
|
673
685
|
req.storage_class = options[:storage_class]
|
674
686
|
end
|
687
|
+
|
688
|
+
process_response do |response|
|
689
|
+
add_sse_to_response(response)
|
690
|
+
end
|
675
691
|
end
|
676
692
|
|
677
693
|
bucket_method(:list_multipart_uploads,
|
@@ -711,6 +727,7 @@ module AWS
|
|
711
727
|
Core::MetaUtils.extend_method(response, :last_modified) do
|
712
728
|
Time.parse(response.http_response.header('Last-Modified'))
|
713
729
|
end
|
730
|
+
add_sse_to_response(response)
|
714
731
|
end
|
715
732
|
|
716
733
|
simulate_response do |response|
|
@@ -739,6 +756,7 @@ module AWS
|
|
739
756
|
Core::MetaUtils.extend_method(response, :version_id) do
|
740
757
|
response.http_response.header('x-amz-version-id')
|
741
758
|
end
|
759
|
+
add_sse_to_response(response)
|
742
760
|
end
|
743
761
|
|
744
762
|
simulate_response do |response|
|
@@ -779,12 +797,12 @@ module AWS
|
|
779
797
|
# @option options [Symbol] :acl
|
780
798
|
#
|
781
799
|
object_method(:copy_object, :put,
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
800
|
+
:header_options => {
|
801
|
+
:copy_source => 'x-amz-copy-source',
|
802
|
+
:metadata_directive => 'x-amz-metadata-directive',
|
803
|
+
:storage_class => 'x-amz-storage-class',
|
804
|
+
:server_side_encryption => 'x-amz-server-side-encryption',
|
805
|
+
}) do
|
788
806
|
|
789
807
|
configure_request do |req, options|
|
790
808
|
# TODO : validate metadata directive COPY / REPLACE
|
@@ -794,6 +812,9 @@ module AWS
|
|
794
812
|
"may not be blank" if options[:copy_source].to_s.empty?
|
795
813
|
end
|
796
814
|
options = options.merge(:copy_source => escape_path(options[:copy_source]))
|
815
|
+
options[:server_side_encryption] =
|
816
|
+
options[:server_side_encryption].to_s.upcase if
|
817
|
+
options[:server_side_encryption].kind_of?(Symbol)
|
797
818
|
super(req, options)
|
798
819
|
req.canned_acl = options[:acl]
|
799
820
|
req.metadata = options[:metadata]
|
@@ -813,6 +834,7 @@ module AWS
|
|
813
834
|
Core::MetaUtils.extend_method(response, :last_modified) do
|
814
835
|
Time.parse(response.http_response.header('Last-Modified'))
|
815
836
|
end
|
837
|
+
add_sse_to_response(response)
|
816
838
|
end
|
817
839
|
|
818
840
|
end
|
@@ -856,6 +878,15 @@ module AWS
|
|
856
878
|
S3::Request.new
|
857
879
|
end
|
858
880
|
|
881
|
+
protected
|
882
|
+
def add_sse_to_response(response)
|
883
|
+
sse = nil
|
884
|
+
if value = response.http_response.header('x-amz-server-side-encryption')
|
885
|
+
sse = value.downcase.to_sym
|
886
|
+
end
|
887
|
+
Core::MetaUtils.extend_method(response, :server_side_encryption) { sse }
|
888
|
+
end
|
889
|
+
|
859
890
|
module Validators
|
860
891
|
|
861
892
|
# Returns true if the given bucket name is valid.
|