aws-sdk-glacier 1.0.0.rc1
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 +7 -0
- data/lib/aws-sdk-glacier.rb +54 -0
- data/lib/aws-sdk-glacier/account.rb +143 -0
- data/lib/aws-sdk-glacier/archive.rb +178 -0
- data/lib/aws-sdk-glacier/client.rb +2506 -0
- data/lib/aws-sdk-glacier/client_api.rb +908 -0
- data/lib/aws-sdk-glacier/customizations.rb +7 -0
- data/lib/aws-sdk-glacier/errors.rb +23 -0
- data/lib/aws-sdk-glacier/job.rb +345 -0
- data/lib/aws-sdk-glacier/multipart_upload.rb +269 -0
- data/lib/aws-sdk-glacier/notification.rb +179 -0
- data/lib/aws-sdk-glacier/plugins/account_id.rb +22 -0
- data/lib/aws-sdk-glacier/plugins/api_version.rb +22 -0
- data/lib/aws-sdk-glacier/plugins/checksums.rb +91 -0
- data/lib/aws-sdk-glacier/resource.rb +82 -0
- data/lib/aws-sdk-glacier/tree_hash.rb +76 -0
- data/lib/aws-sdk-glacier/types.rb +2055 -0
- data/lib/aws-sdk-glacier/vault.rb +524 -0
- data/lib/aws-sdk-glacier/waiters.rb +98 -0
- metadata +91 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
module Aws
|
9
|
+
module Glacier
|
10
|
+
module Errors
|
11
|
+
|
12
|
+
extend Aws::Errors::DynamicErrors
|
13
|
+
|
14
|
+
# Raised when calling #load or #data on a resource class that can not be
|
15
|
+
# loaded. This can happen when:
|
16
|
+
#
|
17
|
+
# * A resource class has identifiers, but no data attributes.
|
18
|
+
# * Resource data is only available when making an API call that
|
19
|
+
# enumerates all resources of that type.
|
20
|
+
class ResourceNotLoadable < RuntimeError; end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,345 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
module Aws
|
9
|
+
module Glacier
|
10
|
+
class Job
|
11
|
+
|
12
|
+
extend Aws::Deprecations
|
13
|
+
|
14
|
+
# @overload def initialize(account_id, vault_name, id, options = {})
|
15
|
+
# @param [String] account_id
|
16
|
+
# @param [String] vault_name
|
17
|
+
# @param [String] id
|
18
|
+
# @option options [Client] :client
|
19
|
+
# @overload def initialize(options = {})
|
20
|
+
# @option options [required, String] :account_id
|
21
|
+
# @option options [required, String] :vault_name
|
22
|
+
# @option options [required, String] :id
|
23
|
+
# @option options [Client] :client
|
24
|
+
def initialize(*args)
|
25
|
+
options = Hash === args.last ? args.pop.dup : {}
|
26
|
+
@account_id = extract_account_id(args, options)
|
27
|
+
@vault_name = extract_vault_name(args, options)
|
28
|
+
@id = extract_id(args, options)
|
29
|
+
@data = options.delete(:data)
|
30
|
+
@client = options.delete(:client) || Client.new(options)
|
31
|
+
end
|
32
|
+
|
33
|
+
# @!group Read-Only Attributes
|
34
|
+
|
35
|
+
# @return [String]
|
36
|
+
def account_id
|
37
|
+
@account_id
|
38
|
+
end
|
39
|
+
|
40
|
+
# @return [String]
|
41
|
+
def vault_name
|
42
|
+
@vault_name
|
43
|
+
end
|
44
|
+
|
45
|
+
# @return [String]
|
46
|
+
def id
|
47
|
+
@id
|
48
|
+
end
|
49
|
+
alias :job_id :id
|
50
|
+
|
51
|
+
# The job description you provided when you initiated the job.
|
52
|
+
# @return [String]
|
53
|
+
def job_description
|
54
|
+
data.job_description
|
55
|
+
end
|
56
|
+
|
57
|
+
# The job type. It is either ArchiveRetrieval or InventoryRetrieval.
|
58
|
+
# @return [String]
|
59
|
+
def action
|
60
|
+
data.action
|
61
|
+
end
|
62
|
+
|
63
|
+
# For an ArchiveRetrieval job, this is the archive ID requested for
|
64
|
+
# download. Otherwise, this field is null.
|
65
|
+
# @return [String]
|
66
|
+
def archive_id
|
67
|
+
data.archive_id
|
68
|
+
end
|
69
|
+
|
70
|
+
# The Amazon Resource Name (ARN) of the vault from which the archive
|
71
|
+
# retrieval was requested.
|
72
|
+
# @return [String]
|
73
|
+
def vault_arn
|
74
|
+
data.vault_arn
|
75
|
+
end
|
76
|
+
|
77
|
+
# The UTC date when the job was created. A string representation of ISO
|
78
|
+
# 8601 date format, for example, "2012-03-20T17:03:43.221Z".
|
79
|
+
# @return [Time]
|
80
|
+
def creation_date
|
81
|
+
data.creation_date
|
82
|
+
end
|
83
|
+
|
84
|
+
# The job status. When a job is completed, you get the job's output.
|
85
|
+
# @return [Boolean]
|
86
|
+
def completed
|
87
|
+
data.completed
|
88
|
+
end
|
89
|
+
|
90
|
+
# The status code can be InProgress, Succeeded, or Failed, and indicates
|
91
|
+
# the status of the job.
|
92
|
+
# @return [String]
|
93
|
+
def status_code
|
94
|
+
data.status_code
|
95
|
+
end
|
96
|
+
|
97
|
+
# A friendly message that describes the job status.
|
98
|
+
# @return [String]
|
99
|
+
def status_message
|
100
|
+
data.status_message
|
101
|
+
end
|
102
|
+
|
103
|
+
# For an ArchiveRetrieval job, this is the size in bytes of the archive
|
104
|
+
# being requested for download. For the InventoryRetrieval job, the
|
105
|
+
# value is null.
|
106
|
+
# @return [Integer]
|
107
|
+
def archive_size_in_bytes
|
108
|
+
data.archive_size_in_bytes
|
109
|
+
end
|
110
|
+
|
111
|
+
# For an InventoryRetrieval job, this is the size in bytes of the
|
112
|
+
# inventory requested for download. For the ArchiveRetrieval job, the
|
113
|
+
# value is null.
|
114
|
+
# @return [Integer]
|
115
|
+
def inventory_size_in_bytes
|
116
|
+
data.inventory_size_in_bytes
|
117
|
+
end
|
118
|
+
|
119
|
+
# An Amazon Simple Notification Service (Amazon SNS) topic that receives
|
120
|
+
# notification.
|
121
|
+
# @return [String]
|
122
|
+
def sns_topic
|
123
|
+
data.sns_topic
|
124
|
+
end
|
125
|
+
|
126
|
+
# The UTC time that the archive retrieval request completed. While the
|
127
|
+
# job is in progress, the value will be null.
|
128
|
+
# @return [Time]
|
129
|
+
def completion_date
|
130
|
+
data.completion_date
|
131
|
+
end
|
132
|
+
|
133
|
+
# For an ArchiveRetrieval job, it is the checksum of the archive.
|
134
|
+
# Otherwise, the value is null.
|
135
|
+
#
|
136
|
+
# The SHA256 tree hash value for the requested range of an archive. If
|
137
|
+
# the Initiate a Job request for an archive specified a tree-hash
|
138
|
+
# aligned range, then this field returns a value.
|
139
|
+
#
|
140
|
+
# For the specific case when the whole archive is retrieved, this value
|
141
|
+
# is the same as the ArchiveSHA256TreeHash value.
|
142
|
+
#
|
143
|
+
# This field is null in the following situations:
|
144
|
+
#
|
145
|
+
# * Archive retrieval jobs that specify a range that is not tree-hash
|
146
|
+
# aligned.
|
147
|
+
#
|
148
|
+
# ^
|
149
|
+
# ^
|
150
|
+
#
|
151
|
+
# * Archival jobs that specify a range that is equal to the whole
|
152
|
+
# archive and the job status is InProgress.
|
153
|
+
#
|
154
|
+
# ^
|
155
|
+
# ^
|
156
|
+
#
|
157
|
+
# * Inventory jobs.
|
158
|
+
#
|
159
|
+
# ^
|
160
|
+
# @return [String]
|
161
|
+
def sha256_tree_hash
|
162
|
+
data.sha256_tree_hash
|
163
|
+
end
|
164
|
+
|
165
|
+
# The SHA256 tree hash of the entire archive for an archive retrieval.
|
166
|
+
# For inventory retrieval jobs, this field is null.
|
167
|
+
# @return [String]
|
168
|
+
def archive_sha256_tree_hash
|
169
|
+
data.archive_sha256_tree_hash
|
170
|
+
end
|
171
|
+
|
172
|
+
# The retrieved byte range for archive retrieval jobs in the form
|
173
|
+
# "*StartByteValue*-*EndByteValue*" If no range was specified in the
|
174
|
+
# archive retrieval, then the whole archive is retrieved and
|
175
|
+
# *StartByteValue* equals 0 and *EndByteValue* equals the size of the
|
176
|
+
# archive minus 1. For inventory retrieval jobs this field is null.
|
177
|
+
# @return [String]
|
178
|
+
def retrieval_byte_range
|
179
|
+
data.retrieval_byte_range
|
180
|
+
end
|
181
|
+
|
182
|
+
# The retrieval option to use for the archive retrieval. Valid values
|
183
|
+
# are `Expedited`, `Standard`, or `Bulk`. `Standard` is the default.
|
184
|
+
# @return [String]
|
185
|
+
def tier
|
186
|
+
data.tier
|
187
|
+
end
|
188
|
+
|
189
|
+
# Parameters used for range inventory retrieval.
|
190
|
+
# @return [Types::InventoryRetrievalJobDescription]
|
191
|
+
def inventory_retrieval_parameters
|
192
|
+
data.inventory_retrieval_parameters
|
193
|
+
end
|
194
|
+
|
195
|
+
# @!endgroup
|
196
|
+
|
197
|
+
# @return [Client]
|
198
|
+
def client
|
199
|
+
@client
|
200
|
+
end
|
201
|
+
|
202
|
+
# Loads, or reloads {#data} for the current {Job}.
|
203
|
+
# Returns `self` making it possible to chain methods.
|
204
|
+
#
|
205
|
+
# job.reload.data
|
206
|
+
#
|
207
|
+
# @return [self]
|
208
|
+
def load
|
209
|
+
resp = @client.describe_job(
|
210
|
+
account_id: @account_id,
|
211
|
+
vault_name: @vault_name,
|
212
|
+
job_id: @id
|
213
|
+
)
|
214
|
+
@data = resp.data
|
215
|
+
self
|
216
|
+
end
|
217
|
+
alias :reload :load
|
218
|
+
|
219
|
+
# @return [Types::GlacierJobDescription]
|
220
|
+
# Returns the data for this {Job}. Calls
|
221
|
+
# {Client#describe_job} if {#data_loaded?} is `false`.
|
222
|
+
def data
|
223
|
+
load unless @data
|
224
|
+
@data
|
225
|
+
end
|
226
|
+
|
227
|
+
# @return [Boolean]
|
228
|
+
# Returns `true` if this resource is loaded. Accessing attributes or
|
229
|
+
# {#data} on an unloaded resource will trigger a call to {#load}.
|
230
|
+
def data_loaded?
|
231
|
+
!!@data
|
232
|
+
end
|
233
|
+
|
234
|
+
# @!group Actions
|
235
|
+
|
236
|
+
# @example Request syntax with placeholder values
|
237
|
+
#
|
238
|
+
# job.get_output({
|
239
|
+
# range: "string",
|
240
|
+
# })
|
241
|
+
# @param [Hash] options ({})
|
242
|
+
# @option options [String] :range
|
243
|
+
# The range of bytes to retrieve from the output. For example, if you
|
244
|
+
# want to download the first 1,048,576 bytes, specify the range as
|
245
|
+
# `bytes=0-1048575`. By default, this operation downloads the entire
|
246
|
+
# output.
|
247
|
+
#
|
248
|
+
# If the job output is large, then you can use a range to retrieve a
|
249
|
+
# portion of the output. This allows you to download the entire output
|
250
|
+
# in smaller chunks of bytes. For example, suppose you have 1 GB of job
|
251
|
+
# output you want to download and you decide to download 128 MB chunks
|
252
|
+
# of data at a time, which is a total of eight Get Job Output requests.
|
253
|
+
# You use the following process to download the job output:
|
254
|
+
#
|
255
|
+
# 1. Download a 128 MB chunk of output by specifying the appropriate
|
256
|
+
# byte range. Verify that all 128 MB of data was received.
|
257
|
+
#
|
258
|
+
# 2. Along with the data, the response includes a SHA256 tree hash of
|
259
|
+
# the payload. You compute the checksum of the payload on the client
|
260
|
+
# and compare it with the checksum you received in the response to
|
261
|
+
# ensure you received all the expected data.
|
262
|
+
#
|
263
|
+
# 3. Repeat steps 1 and 2 for all the eight 128 MB chunks of output
|
264
|
+
# data, each time specifying the appropriate byte range.
|
265
|
+
#
|
266
|
+
# 4. After downloading all the parts of the job output, you have a list
|
267
|
+
# of eight checksum values. Compute the tree hash of these values to
|
268
|
+
# find the checksum of the entire output. Using the DescribeJob API,
|
269
|
+
# obtain job information of the job that provided you the output.
|
270
|
+
# The response includes the checksum of the entire archive stored in
|
271
|
+
# Amazon Glacier. You compare this value with the checksum you
|
272
|
+
# computed to ensure you have downloaded the entire archive content
|
273
|
+
# with no errors.
|
274
|
+
# @return [Types::GetJobOutputOutput]
|
275
|
+
def get_output(options = {})
|
276
|
+
options = options.merge(
|
277
|
+
account_id: @account_id,
|
278
|
+
vault_name: @vault_name,
|
279
|
+
job_id: @id
|
280
|
+
)
|
281
|
+
resp = @client.get_job_output(options)
|
282
|
+
resp.data
|
283
|
+
end
|
284
|
+
|
285
|
+
# @!group Associations
|
286
|
+
|
287
|
+
# @return [Vault]
|
288
|
+
def vault
|
289
|
+
Vault.new(
|
290
|
+
account_id: @account_id,
|
291
|
+
name: @vault_name,
|
292
|
+
client: @client
|
293
|
+
)
|
294
|
+
end
|
295
|
+
|
296
|
+
# @deprecated
|
297
|
+
# @api private
|
298
|
+
def identifiers
|
299
|
+
{
|
300
|
+
account_id: @account_id,
|
301
|
+
vault_name: @vault_name,
|
302
|
+
id: @id
|
303
|
+
}
|
304
|
+
end
|
305
|
+
deprecated(:identifiers)
|
306
|
+
|
307
|
+
private
|
308
|
+
|
309
|
+
def extract_account_id(args, options)
|
310
|
+
value = args[0] || options.delete(:account_id)
|
311
|
+
case value
|
312
|
+
when String then value
|
313
|
+
when nil then raise ArgumentError, "missing required option :account_id"
|
314
|
+
else
|
315
|
+
msg = "expected :account_id to be a String, got #{value.class}"
|
316
|
+
raise ArgumentError, msg
|
317
|
+
end
|
318
|
+
end
|
319
|
+
|
320
|
+
def extract_vault_name(args, options)
|
321
|
+
value = args[1] || options.delete(:vault_name)
|
322
|
+
case value
|
323
|
+
when String then value
|
324
|
+
when nil then raise ArgumentError, "missing required option :vault_name"
|
325
|
+
else
|
326
|
+
msg = "expected :vault_name to be a String, got #{value.class}"
|
327
|
+
raise ArgumentError, msg
|
328
|
+
end
|
329
|
+
end
|
330
|
+
|
331
|
+
def extract_id(args, options)
|
332
|
+
value = args[2] || options.delete(:id)
|
333
|
+
case value
|
334
|
+
when String then value
|
335
|
+
when nil then raise ArgumentError, "missing required option :id"
|
336
|
+
else
|
337
|
+
msg = "expected :id to be a String, got #{value.class}"
|
338
|
+
raise ArgumentError, msg
|
339
|
+
end
|
340
|
+
end
|
341
|
+
|
342
|
+
class Collection < Aws::Resources::Collection; end
|
343
|
+
end
|
344
|
+
end
|
345
|
+
end
|
@@ -0,0 +1,269 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
module Aws
|
9
|
+
module Glacier
|
10
|
+
class MultipartUpload
|
11
|
+
|
12
|
+
extend Aws::Deprecations
|
13
|
+
|
14
|
+
# @overload def initialize(account_id, vault_name, id, options = {})
|
15
|
+
# @param [String] account_id
|
16
|
+
# @param [String] vault_name
|
17
|
+
# @param [String] id
|
18
|
+
# @option options [Client] :client
|
19
|
+
# @overload def initialize(options = {})
|
20
|
+
# @option options [required, String] :account_id
|
21
|
+
# @option options [required, String] :vault_name
|
22
|
+
# @option options [required, String] :id
|
23
|
+
# @option options [Client] :client
|
24
|
+
def initialize(*args)
|
25
|
+
options = Hash === args.last ? args.pop.dup : {}
|
26
|
+
@account_id = extract_account_id(args, options)
|
27
|
+
@vault_name = extract_vault_name(args, options)
|
28
|
+
@id = extract_id(args, options)
|
29
|
+
@data = options.delete(:data)
|
30
|
+
@client = options.delete(:client) || Client.new(options)
|
31
|
+
end
|
32
|
+
|
33
|
+
# @!group Read-Only Attributes
|
34
|
+
|
35
|
+
# @return [String]
|
36
|
+
def account_id
|
37
|
+
@account_id
|
38
|
+
end
|
39
|
+
|
40
|
+
# @return [String]
|
41
|
+
def vault_name
|
42
|
+
@vault_name
|
43
|
+
end
|
44
|
+
|
45
|
+
# @return [String]
|
46
|
+
def id
|
47
|
+
@id
|
48
|
+
end
|
49
|
+
alias :multipart_upload_id :id
|
50
|
+
|
51
|
+
# The Amazon Resource Name (ARN) of the vault that contains the archive.
|
52
|
+
# @return [String]
|
53
|
+
def vault_arn
|
54
|
+
data.vault_arn
|
55
|
+
end
|
56
|
+
|
57
|
+
# The description of the archive that was specified in the Initiate
|
58
|
+
# Multipart Upload request.
|
59
|
+
# @return [String]
|
60
|
+
def archive_description
|
61
|
+
data.archive_description
|
62
|
+
end
|
63
|
+
|
64
|
+
# The part size, in bytes, specified in the Initiate Multipart Upload
|
65
|
+
# request. This is the size of all the parts in the upload except the
|
66
|
+
# last part, which may be smaller than this size.
|
67
|
+
# @return [Integer]
|
68
|
+
def part_size_in_bytes
|
69
|
+
data.part_size_in_bytes
|
70
|
+
end
|
71
|
+
|
72
|
+
# The UTC time at which the multipart upload was initiated.
|
73
|
+
# @return [Time]
|
74
|
+
def creation_date
|
75
|
+
data.creation_date
|
76
|
+
end
|
77
|
+
|
78
|
+
# @!endgroup
|
79
|
+
|
80
|
+
# @return [Client]
|
81
|
+
def client
|
82
|
+
@client
|
83
|
+
end
|
84
|
+
|
85
|
+
# @raise [Errors::ResourceNotLoadable]
|
86
|
+
# @api private
|
87
|
+
def load
|
88
|
+
msg = "#load is not implemented, data only available via enumeration"
|
89
|
+
raise Errors::ResourceNotLoadable, msg
|
90
|
+
end
|
91
|
+
alias :reload :load
|
92
|
+
|
93
|
+
# @raise [Errors::ResourceNotLoadableError] Raises when {#data_loaded?} is `false`.
|
94
|
+
# @return [Types::UploadListElement]
|
95
|
+
# Returns the data for this {MultipartUpload}.
|
96
|
+
def data
|
97
|
+
load unless @data
|
98
|
+
@data
|
99
|
+
end
|
100
|
+
|
101
|
+
# @return [Boolean]
|
102
|
+
# Returns `true` if this resource is loaded. Accessing attributes or
|
103
|
+
# {#data} on an unloaded resource will trigger a call to {#load}.
|
104
|
+
def data_loaded?
|
105
|
+
!!@data
|
106
|
+
end
|
107
|
+
|
108
|
+
# @!group Actions
|
109
|
+
|
110
|
+
# @example Request syntax with placeholder values
|
111
|
+
#
|
112
|
+
# multipart_upload.abort()
|
113
|
+
# @param [Hash] options ({})
|
114
|
+
# @return [EmptyStructure]
|
115
|
+
def abort(options = {})
|
116
|
+
options = options.merge(
|
117
|
+
account_id: @account_id,
|
118
|
+
vault_name: @vault_name,
|
119
|
+
upload_id: @id
|
120
|
+
)
|
121
|
+
resp = @client.abort_multipart_upload(options)
|
122
|
+
resp.data
|
123
|
+
end
|
124
|
+
|
125
|
+
# @example Request syntax with placeholder values
|
126
|
+
#
|
127
|
+
# multipart_upload.complete({
|
128
|
+
# archive_size: 1,
|
129
|
+
# checksum: "string",
|
130
|
+
# })
|
131
|
+
# @param [Hash] options ({})
|
132
|
+
# @option options [Integer] :archive_size
|
133
|
+
# The total size, in bytes, of the entire archive. This value should be
|
134
|
+
# the sum of all the sizes of the individual parts that you uploaded.
|
135
|
+
# @option options [String] :checksum
|
136
|
+
# The SHA256 tree hash of the entire archive. It is the tree hash of
|
137
|
+
# SHA256 tree hash of the individual parts. If the value you specify in
|
138
|
+
# the request does not match the SHA256 tree hash of the final assembled
|
139
|
+
# archive as computed by Amazon Glacier, Amazon Glacier returns an error
|
140
|
+
# and the request fails.
|
141
|
+
# @return [Types::ArchiveCreationOutput]
|
142
|
+
def complete(options = {})
|
143
|
+
options = options.merge(
|
144
|
+
account_id: @account_id,
|
145
|
+
vault_name: @vault_name,
|
146
|
+
upload_id: @id
|
147
|
+
)
|
148
|
+
resp = @client.complete_multipart_upload(options)
|
149
|
+
resp.data
|
150
|
+
end
|
151
|
+
|
152
|
+
# @example Request syntax with placeholder values
|
153
|
+
#
|
154
|
+
# multipart_upload.parts({
|
155
|
+
# marker: "string",
|
156
|
+
# limit: 1,
|
157
|
+
# })
|
158
|
+
# @param [Hash] options ({})
|
159
|
+
# @option options [String] :marker
|
160
|
+
# An opaque string used for pagination. This value specifies the part at
|
161
|
+
# which the listing of parts should begin. Get the marker value from the
|
162
|
+
# response of a previous List Parts response. You need only include the
|
163
|
+
# marker if you are continuing the pagination of results started in a
|
164
|
+
# previous List Parts request.
|
165
|
+
# @option options [Integer] :limit
|
166
|
+
# The maximum number of parts to be returned. The default limit is 1000.
|
167
|
+
# The number of parts returned might be fewer than the specified limit,
|
168
|
+
# but the number of returned parts never exceeds the limit.
|
169
|
+
# @return [Types::ListPartsOutput]
|
170
|
+
def parts(options = {})
|
171
|
+
options = options.merge(
|
172
|
+
account_id: @account_id,
|
173
|
+
vault_name: @vault_name,
|
174
|
+
upload_id: @id
|
175
|
+
)
|
176
|
+
resp = @client.list_parts(options)
|
177
|
+
resp.data
|
178
|
+
end
|
179
|
+
|
180
|
+
# @example Request syntax with placeholder values
|
181
|
+
#
|
182
|
+
# multipart_upload.upload_part({
|
183
|
+
# checksum: "string",
|
184
|
+
# range: "string",
|
185
|
+
# body: "data",
|
186
|
+
# })
|
187
|
+
# @param [Hash] options ({})
|
188
|
+
# @option options [String] :checksum
|
189
|
+
# The SHA256 tree hash of the data being uploaded.
|
190
|
+
# @option options [String] :range
|
191
|
+
# Identifies the range of bytes in the assembled archive that will be
|
192
|
+
# uploaded in this part. Amazon Glacier uses this information to
|
193
|
+
# assemble the archive in the proper sequence. The format of this header
|
194
|
+
# follows RFC 2616. An example header is Content-Range:bytes
|
195
|
+
# 0-4194303/*.
|
196
|
+
# @option options [String, IO] :body
|
197
|
+
# The data to upload.
|
198
|
+
# @return [Types::UploadMultipartPartOutput]
|
199
|
+
def upload_part(options = {})
|
200
|
+
options = options.merge(
|
201
|
+
account_id: @account_id,
|
202
|
+
vault_name: @vault_name,
|
203
|
+
upload_id: @id
|
204
|
+
)
|
205
|
+
resp = @client.upload_multipart_part(options)
|
206
|
+
resp.data
|
207
|
+
end
|
208
|
+
|
209
|
+
# @!group Associations
|
210
|
+
|
211
|
+
# @return [Vault]
|
212
|
+
def vault
|
213
|
+
Vault.new(
|
214
|
+
account_id: @account_id,
|
215
|
+
name: @vault_name,
|
216
|
+
client: @client
|
217
|
+
)
|
218
|
+
end
|
219
|
+
|
220
|
+
# @deprecated
|
221
|
+
# @api private
|
222
|
+
def identifiers
|
223
|
+
{
|
224
|
+
account_id: @account_id,
|
225
|
+
vault_name: @vault_name,
|
226
|
+
id: @id
|
227
|
+
}
|
228
|
+
end
|
229
|
+
deprecated(:identifiers)
|
230
|
+
|
231
|
+
private
|
232
|
+
|
233
|
+
def extract_account_id(args, options)
|
234
|
+
value = args[0] || options.delete(:account_id)
|
235
|
+
case value
|
236
|
+
when String then value
|
237
|
+
when nil then raise ArgumentError, "missing required option :account_id"
|
238
|
+
else
|
239
|
+
msg = "expected :account_id to be a String, got #{value.class}"
|
240
|
+
raise ArgumentError, msg
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
def extract_vault_name(args, options)
|
245
|
+
value = args[1] || options.delete(:vault_name)
|
246
|
+
case value
|
247
|
+
when String then value
|
248
|
+
when nil then raise ArgumentError, "missing required option :vault_name"
|
249
|
+
else
|
250
|
+
msg = "expected :vault_name to be a String, got #{value.class}"
|
251
|
+
raise ArgumentError, msg
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
def extract_id(args, options)
|
256
|
+
value = args[2] || options.delete(:id)
|
257
|
+
case value
|
258
|
+
when String then value
|
259
|
+
when nil then raise ArgumentError, "missing required option :id"
|
260
|
+
else
|
261
|
+
msg = "expected :id to be a String, got #{value.class}"
|
262
|
+
raise ArgumentError, msg
|
263
|
+
end
|
264
|
+
end
|
265
|
+
|
266
|
+
class Collection < Aws::Resources::Collection; end
|
267
|
+
end
|
268
|
+
end
|
269
|
+
end
|