aws-sdk-resources 2.0.15.pre → 2.0.16.pre
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.
- checksums.yaml +4 -4
- data/lib/aws-sdk-resources/services/s3/encryption/client.rb +36 -17
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e220113a1956aa99dfbe792083ce5a837401a28
|
4
|
+
data.tar.gz: 04d6bb70744e607ee5b3f7fafbfaffc083775efb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 036276e67b40d3da28dbe8e088f3f839141a7bd255131e2e2aa106f4c13d073733610c41fdeac979c6314ff3334ef5845238d8b0f41ab54429b7f42ddf9609df
|
7
|
+
data.tar.gz: c4bdd9e7e8b48d495e5360fa4474598c6249367e668d0ae97c613a2bdd4a684ee83903b73c6d57e33bff95ced31ce05714f11ca0c94ea557e312936be5ba7aea
|
@@ -200,11 +200,14 @@ module Aws
|
|
200
200
|
# by this string.
|
201
201
|
attr_reader :instruction_file_suffix
|
202
202
|
|
203
|
-
#
|
204
|
-
#
|
203
|
+
# Uploads an object to Amazon S3, encrypting data client-side.
|
204
|
+
# See {S3::Client#put_object} for documentation on accepted
|
205
|
+
# request parameters.
|
206
|
+
# @option (see S3::Client#put_object)
|
207
|
+
# @return (see S3::Client#put_object)
|
205
208
|
# @see S3::Client#put_object
|
206
|
-
def put_object(
|
207
|
-
req = @client.build_request(:put_object,
|
209
|
+
def put_object(params = {})
|
210
|
+
req = @client.build_request(:put_object, params)
|
208
211
|
req.handlers.add(EncryptHandler, priority: 95)
|
209
212
|
req.context[:encryption] = {
|
210
213
|
materials: @key_provider.encryption_materials,
|
@@ -214,30 +217,46 @@ module Aws
|
|
214
217
|
req.send_request
|
215
218
|
end
|
216
219
|
|
217
|
-
#
|
218
|
-
#
|
219
|
-
#
|
220
|
-
#
|
221
|
-
|
222
|
-
|
220
|
+
# Gets an object from Amazon S3, decrypting data locally.
|
221
|
+
# See {S3::Client#get_object} for documentation on accepted
|
222
|
+
# request parameters.
|
223
|
+
# @option params [String] :instruction_file_suffix The suffix
|
224
|
+
# used to find the instruction file containing the encryption
|
225
|
+
# envelope. You should not set this option when the envelope
|
226
|
+
# is stored in the object metadata. Defaults to
|
227
|
+
# {#instruction_file_suffix}.
|
228
|
+
# @option params [String] :instruction_file_suffix
|
229
|
+
# @option (see S3::Client#get_object)
|
230
|
+
# @return (see S3::Client#get_object)
|
231
|
+
# @see S3::Client#get_object
|
232
|
+
# @note The `:range` request parameter is not yet supported.
|
233
|
+
def get_object(params = {})
|
234
|
+
if params[:range]
|
223
235
|
raise NotImplementedError, '#get_object with :range not supported yet'
|
224
236
|
end
|
225
|
-
|
226
|
-
|
227
|
-
suffix = options.delete(:instruction_file_suffix) || @instruction_file_suffix
|
228
|
-
|
229
|
-
req = @client.build_request(:get_object, options)
|
237
|
+
envelope_location, instruction_file_suffix = envelope_options(params)
|
238
|
+
req = @client.build_request(:get_object, params)
|
230
239
|
req.handlers.add(DecryptHandler)
|
231
240
|
req.context[:encryption] = {
|
232
241
|
key_provider: @key_provider,
|
233
|
-
envelope_location:
|
234
|
-
instruction_file_suffix:
|
242
|
+
envelope_location: envelope_location,
|
243
|
+
instruction_file_suffix: instruction_file_suffix,
|
235
244
|
}
|
236
245
|
req.send_request
|
237
246
|
end
|
238
247
|
|
239
248
|
private
|
240
249
|
|
250
|
+
def envelope_options(params)
|
251
|
+
location = params.delete(:envelope_location) || @envelope_location
|
252
|
+
suffix = params.delete(:instruction_file_suffix)
|
253
|
+
if suffix
|
254
|
+
[:instruction_file, suffix]
|
255
|
+
else
|
256
|
+
[location, @instruction_file_suffix]
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
241
260
|
def extract_key_provider(options)
|
242
261
|
if options[:key_provider]
|
243
262
|
options[:key_provider]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-resources
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.16.pre
|
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: 2014-12-
|
11
|
+
date: 2014-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.0.
|
19
|
+
version: 2.0.16
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.0.
|
26
|
+
version: 2.0.16
|
27
27
|
description: Provides resource-oriented abstractions for AWS.
|
28
28
|
email:
|
29
29
|
executables: []
|