qingstor-sdk 1.9.3 → 2.0.0

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.
@@ -23,19 +23,12 @@ module QingStor
23
23
 
24
24
  # abort_multipart_upload: Abort multipart upload.
25
25
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/abort_multipart_upload.html
26
- #
27
- # == Options
28
- #
29
- # * +:upload_id+ - Object multipart upload ID
30
- #
31
- def abort_multipart_upload(object_key, options = {})
32
- options.deep_stringify_keys!
33
- request = abort_multipart_upload_request object_key, options
26
+ def abort_multipart_upload(object_key, upload_id: '')
27
+ request = abort_multipart_upload_request object_key, upload_id: upload_id
34
28
  request.send
35
29
  end
36
30
 
37
- def abort_multipart_upload_request(object_key, options = {})
38
- options.deep_stringify_keys!
31
+ def abort_multipart_upload_request(object_key, upload_id: '')
39
32
  properties[:'object-key'] = object_key
40
33
  input = {
41
34
  config: config,
@@ -44,13 +37,15 @@ module QingStor
44
37
  request_method: 'DELETE',
45
38
  request_uri: '/<bucket-name>/<object-key>',
46
39
  request_params: {
47
- 'upload_id' => options['upload_id'],
40
+ 'upload_id' => upload_id,
48
41
  },
49
42
  request_headers: {
50
43
  },
51
44
  request_elements: {
52
45
  },
46
+
53
47
  request_body: nil,
48
+
54
49
  status_code: [
55
50
  204, # Object multipart deleted
56
51
  ],
@@ -74,24 +69,21 @@ module QingStor
74
69
 
75
70
  # complete_multipart_upload: Complete multipart upload.
76
71
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/complete_multipart_upload.html
77
- #
78
- # == Options
79
- #
80
- # * +:etag+ - MD5sum of the object part
81
- # * +:x_qs_encryption_customer_algorithm+ - Encryption algorithm of the object
82
- # * +:x_qs_encryption_customer_key+ - Encryption key of the object
83
- # * +:x_qs_encryption_customer_key_md5+ - MD5sum of encryption key
84
- # * +:upload_id+ - Object multipart upload ID
85
- # * +:object_parts+ - Object parts
86
- #
87
- def complete_multipart_upload(object_key, options = {})
88
- options.deep_stringify_keys!
89
- request = complete_multipart_upload_request object_key, options
72
+ def complete_multipart_upload(object_key, upload_id: '', etag: '',
73
+ x_qs_encryption_customer_algorithm: '',
74
+ x_qs_encryption_customer_key: '',
75
+ x_qs_encryption_customer_key_md5: '', object_parts: [])
76
+ request = complete_multipart_upload_request object_key, upload_id: upload_id, etag: etag,
77
+ x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
78
+ x_qs_encryption_customer_key: x_qs_encryption_customer_key,
79
+ x_qs_encryption_customer_key_md5: x_qs_encryption_customer_key_md5, object_parts: object_parts
90
80
  request.send
91
81
  end
92
82
 
93
- def complete_multipart_upload_request(object_key, options = {})
94
- options.deep_stringify_keys!
83
+ def complete_multipart_upload_request(object_key, upload_id: '', etag: '',
84
+ x_qs_encryption_customer_algorithm: '',
85
+ x_qs_encryption_customer_key: '',
86
+ x_qs_encryption_customer_key_md5: '', object_parts: [])
95
87
  properties[:'object-key'] = object_key
96
88
  input = {
97
89
  config: config,
@@ -100,18 +92,20 @@ module QingStor
100
92
  request_method: 'POST',
101
93
  request_uri: '/<bucket-name>/<object-key>',
102
94
  request_params: {
103
- 'upload_id' => options['upload_id'],
95
+ 'upload_id' => upload_id,
104
96
  },
105
97
  request_headers: {
106
- 'ETag' => options['etag'],
107
- 'X-QS-Encryption-Customer-Algorithm' => options['x_qs_encryption_customer_algorithm'],
108
- 'X-QS-Encryption-Customer-Key' => options['x_qs_encryption_customer_key'],
109
- 'X-QS-Encryption-Customer-Key-MD5' => options['x_qs_encryption_customer_key_md5'],
98
+ 'ETag' => etag,
99
+ 'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
100
+ 'X-QS-Encryption-Customer-Key' => x_qs_encryption_customer_key,
101
+ 'X-QS-Encryption-Customer-Key-MD5' => x_qs_encryption_customer_key_md5,
110
102
  },
111
103
  request_elements: {
112
- 'object_parts' => options['object_parts'],
104
+ 'object_parts' => object_parts,
113
105
  },
106
+
114
107
  request_body: nil,
108
+
115
109
  status_code: [
116
110
  201, # Object created
117
111
  ],
@@ -141,18 +135,12 @@ module QingStor
141
135
 
142
136
  # delete_object: Delete the object.
143
137
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/delete.html
144
- #
145
- # == Options
146
- #
147
- #
148
- def delete_object(object_key, options = {})
149
- options.deep_stringify_keys!
150
- request = delete_object_request object_key, options
138
+ def delete_object(object_key)
139
+ request = delete_object_request object_key
151
140
  request.send
152
141
  end
153
142
 
154
- def delete_object_request(object_key, options = {})
155
- options.deep_stringify_keys!
143
+ def delete_object_request(object_key)
156
144
  properties[:'object-key'] = object_key
157
145
  input = {
158
146
  config: config,
@@ -166,7 +154,9 @@ module QingStor
166
154
  },
167
155
  request_elements: {
168
156
  },
157
+
169
158
  request_body: nil,
159
+
170
160
  status_code: [
171
161
  204, # Object deleted
172
162
  ],
@@ -186,32 +176,33 @@ module QingStor
186
176
 
187
177
  # get_object: Retrieve the object.
188
178
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/get.html
189
- #
190
- # == Options
191
- #
192
- # * +:if_match+ - Check whether the ETag matches
193
- # * +:if_modified_since+ - Check whether the object has been modified
194
- # * +:if_none_match+ - Check whether the ETag does not match
195
- # * +:if_unmodified_since+ - Check whether the object has not been modified
196
- # * +:range+ - Specified range of the object
197
- # * +:x_qs_encryption_customer_algorithm+ - Encryption algorithm of the object
198
- # * +:x_qs_encryption_customer_key+ - Encryption key of the object
199
- # * +:x_qs_encryption_customer_key_md5+ - MD5sum of encryption key
200
- # * +:response_cache_control+ - Specified the Cache-Control response header
201
- # * +:response_content_disposition+ - Specified the Content-Disposition response header
202
- # * +:response_content_encoding+ - Specified the Content-Encoding response header
203
- # * +:response_content_language+ - Specified the Content-Language response header
204
- # * +:response_content_type+ - Specified the Content-Type response header
205
- # * +:response_expires+ - Specified the Expires response header
206
- #
207
- def get_object(object_key, options = {})
208
- options.deep_stringify_keys!
209
- request = get_object_request object_key, options
179
+ def get_object(object_key, if_match: '',
180
+ if_modified_since: '',
181
+ if_none_match: '',
182
+ if_unmodified_since: '',
183
+ range: '',
184
+ x_qs_encryption_customer_algorithm: '',
185
+ x_qs_encryption_customer_key: '',
186
+ x_qs_encryption_customer_key_md5: '')
187
+ request = get_object_request object_key, if_match: if_match,
188
+ if_modified_since: if_modified_since,
189
+ if_none_match: if_none_match,
190
+ if_unmodified_since: if_unmodified_since,
191
+ range: range,
192
+ x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
193
+ x_qs_encryption_customer_key: x_qs_encryption_customer_key,
194
+ x_qs_encryption_customer_key_md5: x_qs_encryption_customer_key_md5
210
195
  request.send
211
196
  end
212
197
 
213
- def get_object_request(object_key, options = {})
214
- options.deep_stringify_keys!
198
+ def get_object_request(object_key, if_match: '',
199
+ if_modified_since: '',
200
+ if_none_match: '',
201
+ if_unmodified_since: '',
202
+ range: '',
203
+ x_qs_encryption_customer_algorithm: '',
204
+ x_qs_encryption_customer_key: '',
205
+ x_qs_encryption_customer_key_md5: '')
215
206
  properties[:'object-key'] = object_key
216
207
  input = {
217
208
  config: config,
@@ -220,26 +211,22 @@ module QingStor
220
211
  request_method: 'GET',
221
212
  request_uri: '/<bucket-name>/<object-key>',
222
213
  request_params: {
223
- 'response-cache-control' => options['response_cache_control'],
224
- 'response-content-disposition' => options['response_content_disposition'],
225
- 'response-content-encoding' => options['response_content_encoding'],
226
- 'response-content-language' => options['response_content_language'],
227
- 'response-content-type' => options['response_content_type'],
228
- 'response-expires' => options['response_expires'],
229
214
  },
230
215
  request_headers: {
231
- 'If-Match' => options['if_match'],
232
- 'If-Modified-Since' => options['if_modified_since'],
233
- 'If-None-Match' => options['if_none_match'],
234
- 'If-Unmodified-Since' => options['if_unmodified_since'],
235
- 'Range' => options['range'],
236
- 'X-QS-Encryption-Customer-Algorithm' => options['x_qs_encryption_customer_algorithm'],
237
- 'X-QS-Encryption-Customer-Key' => options['x_qs_encryption_customer_key'],
238
- 'X-QS-Encryption-Customer-Key-MD5' => options['x_qs_encryption_customer_key_md5'],
216
+ 'If-Match' => if_match,
217
+ 'If-Modified-Since' => if_modified_since,
218
+ 'If-None-Match' => if_none_match,
219
+ 'If-Unmodified-Since' => if_unmodified_since,
220
+ 'Range' => range,
221
+ 'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
222
+ 'X-QS-Encryption-Customer-Key' => x_qs_encryption_customer_key,
223
+ 'X-QS-Encryption-Customer-Key-MD5' => x_qs_encryption_customer_key_md5,
239
224
  },
240
225
  request_elements: {
241
226
  },
227
+
242
228
  request_body: nil,
229
+
243
230
  status_code: [
244
231
  200, # OK
245
232
  206, # Partial content
@@ -262,25 +249,30 @@ module QingStor
262
249
 
263
250
  # head_object: Check whether the object exists and available.
264
251
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/head.html
265
- #
266
- # == Options
267
- #
268
- # * +:if_match+ - Check whether the ETag matches
269
- # * +:if_modified_since+ - Check whether the object has been modified
270
- # * +:if_none_match+ - Check whether the ETag does not match
271
- # * +:if_unmodified_since+ - Check whether the object has not been modified
272
- # * +:x_qs_encryption_customer_algorithm+ - Encryption algorithm of the object
273
- # * +:x_qs_encryption_customer_key+ - Encryption key of the object
274
- # * +:x_qs_encryption_customer_key_md5+ - MD5sum of encryption key
275
- #
276
- def head_object(object_key, options = {})
277
- options.deep_stringify_keys!
278
- request = head_object_request object_key, options
252
+ def head_object(object_key, if_match: '',
253
+ if_modified_since: '',
254
+ if_none_match: '',
255
+ if_unmodified_since: '',
256
+ x_qs_encryption_customer_algorithm: '',
257
+ x_qs_encryption_customer_key: '',
258
+ x_qs_encryption_customer_key_md5: '')
259
+ request = head_object_request object_key, if_match: if_match,
260
+ if_modified_since: if_modified_since,
261
+ if_none_match: if_none_match,
262
+ if_unmodified_since: if_unmodified_since,
263
+ x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
264
+ x_qs_encryption_customer_key: x_qs_encryption_customer_key,
265
+ x_qs_encryption_customer_key_md5: x_qs_encryption_customer_key_md5
279
266
  request.send
280
267
  end
281
268
 
282
- def head_object_request(object_key, options = {})
283
- options.deep_stringify_keys!
269
+ def head_object_request(object_key, if_match: '',
270
+ if_modified_since: '',
271
+ if_none_match: '',
272
+ if_unmodified_since: '',
273
+ x_qs_encryption_customer_algorithm: '',
274
+ x_qs_encryption_customer_key: '',
275
+ x_qs_encryption_customer_key_md5: '')
284
276
  properties[:'object-key'] = object_key
285
277
  input = {
286
278
  config: config,
@@ -291,17 +283,19 @@ module QingStor
291
283
  request_params: {
292
284
  },
293
285
  request_headers: {
294
- 'If-Match' => options['if_match'],
295
- 'If-Modified-Since' => options['if_modified_since'],
296
- 'If-None-Match' => options['if_none_match'],
297
- 'If-Unmodified-Since' => options['if_unmodified_since'],
298
- 'X-QS-Encryption-Customer-Algorithm' => options['x_qs_encryption_customer_algorithm'],
299
- 'X-QS-Encryption-Customer-Key' => options['x_qs_encryption_customer_key'],
300
- 'X-QS-Encryption-Customer-Key-MD5' => options['x_qs_encryption_customer_key_md5'],
286
+ 'If-Match' => if_match,
287
+ 'If-Modified-Since' => if_modified_since,
288
+ 'If-None-Match' => if_none_match,
289
+ 'If-Unmodified-Since' => if_unmodified_since,
290
+ 'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
291
+ 'X-QS-Encryption-Customer-Key' => x_qs_encryption_customer_key,
292
+ 'X-QS-Encryption-Customer-Key-MD5' => x_qs_encryption_customer_key_md5,
301
293
  },
302
294
  request_elements: {
303
295
  },
296
+
304
297
  request_body: nil,
298
+
305
299
  status_code: [
306
300
  200, # OK
307
301
  ],
@@ -321,22 +315,21 @@ module QingStor
321
315
 
322
316
  # initiate_multipart_upload: Initial multipart upload on the object.
323
317
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/initiate_multipart_upload.html
324
- #
325
- # == Options
326
- #
327
- # * +:content_type+ - Object content type
328
- # * +:x_qs_encryption_customer_algorithm+ - Encryption algorithm of the object
329
- # * +:x_qs_encryption_customer_key+ - Encryption key of the object
330
- # * +:x_qs_encryption_customer_key_md5+ - MD5sum of encryption key
331
- #
332
- def initiate_multipart_upload(object_key, options = {})
333
- options.deep_stringify_keys!
334
- request = initiate_multipart_upload_request object_key, options
318
+ def initiate_multipart_upload(object_key, content_type: '',
319
+ x_qs_encryption_customer_algorithm: '',
320
+ x_qs_encryption_customer_key: '',
321
+ x_qs_encryption_customer_key_md5: '')
322
+ request = initiate_multipart_upload_request object_key, content_type: content_type,
323
+ x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
324
+ x_qs_encryption_customer_key: x_qs_encryption_customer_key,
325
+ x_qs_encryption_customer_key_md5: x_qs_encryption_customer_key_md5
335
326
  request.send
336
327
  end
337
328
 
338
- def initiate_multipart_upload_request(object_key, options = {})
339
- options.deep_stringify_keys!
329
+ def initiate_multipart_upload_request(object_key, content_type: '',
330
+ x_qs_encryption_customer_algorithm: '',
331
+ x_qs_encryption_customer_key: '',
332
+ x_qs_encryption_customer_key_md5: '')
340
333
  properties[:'object-key'] = object_key
341
334
  input = {
342
335
  config: config,
@@ -347,14 +340,16 @@ module QingStor
347
340
  request_params: {
348
341
  },
349
342
  request_headers: {
350
- 'Content-Type' => options['content_type'],
351
- 'X-QS-Encryption-Customer-Algorithm' => options['x_qs_encryption_customer_algorithm'],
352
- 'X-QS-Encryption-Customer-Key' => options['x_qs_encryption_customer_key'],
353
- 'X-QS-Encryption-Customer-Key-MD5' => options['x_qs_encryption_customer_key_md5'],
343
+ 'Content-Type' => content_type,
344
+ 'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
345
+ 'X-QS-Encryption-Customer-Key' => x_qs_encryption_customer_key,
346
+ 'X-QS-Encryption-Customer-Key-MD5' => x_qs_encryption_customer_key_md5,
354
347
  },
355
348
  request_elements: {
356
349
  },
350
+
357
351
  request_body: nil,
352
+
358
353
  status_code: [
359
354
  200, # OK
360
355
  ],
@@ -374,21 +369,18 @@ module QingStor
374
369
 
375
370
  # list_multipart: List object parts.
376
371
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/list_multipart.html
377
- #
378
- # == Options
379
- #
380
- # * +:limit+ - Limit results count
381
- # * +:part_number_marker+ - Object multipart upload part number
382
- # * +:upload_id+ - Object multipart upload ID
383
- #
384
- def list_multipart(object_key, options = {})
385
- options.deep_stringify_keys!
386
- request = list_multipart_request object_key, options
372
+ def list_multipart(object_key, limit: nil,
373
+ part_number_marker: nil,
374
+ upload_id: '')
375
+ request = list_multipart_request object_key, limit: limit,
376
+ part_number_marker: part_number_marker,
377
+ upload_id: upload_id
387
378
  request.send
388
379
  end
389
380
 
390
- def list_multipart_request(object_key, options = {})
391
- options.deep_stringify_keys!
381
+ def list_multipart_request(object_key, limit: nil,
382
+ part_number_marker: nil,
383
+ upload_id: '')
392
384
  properties[:'object-key'] = object_key
393
385
  input = {
394
386
  config: config,
@@ -397,15 +389,17 @@ module QingStor
397
389
  request_method: 'GET',
398
390
  request_uri: '/<bucket-name>/<object-key>',
399
391
  request_params: {
400
- 'limit' => options['limit'],
401
- 'part_number_marker' => options['part_number_marker'],
402
- 'upload_id' => options['upload_id'],
392
+ 'limit' => limit,
393
+ 'part_number_marker' => part_number_marker,
394
+ 'upload_id' => upload_id,
403
395
  },
404
396
  request_headers: {
405
397
  },
406
398
  request_elements: {
407
399
  },
400
+
408
401
  request_body: nil,
402
+
409
403
  status_code: [
410
404
  200, # OK
411
405
  ],
@@ -429,21 +423,18 @@ module QingStor
429
423
 
430
424
  # options_object: Check whether the object accepts a origin with method and header.
431
425
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/options.html
432
- #
433
- # == Options
434
- #
435
- # * +:access_control_request_headers+ - Request headers
436
- # * +:access_control_request_method+ - Request method
437
- # * +:origin+ - Request origin
438
- #
439
- def options_object(object_key, options = {})
440
- options.deep_stringify_keys!
441
- request = options_object_request object_key, options
426
+ def options_object(object_key, access_control_request_headers: '',
427
+ access_control_request_method: '',
428
+ origin: '')
429
+ request = options_object_request object_key, access_control_request_headers: access_control_request_headers,
430
+ access_control_request_method: access_control_request_method,
431
+ origin: origin
442
432
  request.send
443
433
  end
444
434
 
445
- def options_object_request(object_key, options = {})
446
- options.deep_stringify_keys!
435
+ def options_object_request(object_key, access_control_request_headers: '',
436
+ access_control_request_method: '',
437
+ origin: '')
447
438
  properties[:'object-key'] = object_key
448
439
  input = {
449
440
  config: config,
@@ -454,13 +445,15 @@ module QingStor
454
445
  request_params: {
455
446
  },
456
447
  request_headers: {
457
- 'Access-Control-Request-Headers' => options['access_control_request_headers'],
458
- 'Access-Control-Request-Method' => options['access_control_request_method'],
459
- 'Origin' => options['origin'],
448
+ 'Access-Control-Request-Headers' => access_control_request_headers,
449
+ 'Access-Control-Request-Method' => access_control_request_method,
450
+ 'Origin' => origin,
460
451
  },
461
452
  request_elements: {
462
453
  },
454
+
463
455
  request_body: nil,
456
+
464
457
  status_code: [
465
458
  200, # OK
466
459
  ],
@@ -488,36 +481,63 @@ module QingStor
488
481
 
489
482
  # put_object: Upload the object.
490
483
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/put.html
491
- #
492
- # == Options
493
- #
494
- # * +:content_length+ - Object content size
495
- # * +:content_md5+ - Object MD5sum
496
- # * +:content_type+ - Object content type
497
- # * +:expect+ - Used to indicate that particular server behaviors are required by the client
498
- # * +:x_qs_copy_source+ - Copy source, format (/<bucket-name>/<object-key>)
499
- # * +:x_qs_copy_source_encryption_customer_algorithm+ - Encryption algorithm of the object
500
- # * +:x_qs_copy_source_encryption_customer_key+ - Encryption key of the object
501
- # * +:x_qs_copy_source_encryption_customer_key_md5+ - MD5sum of encryption key
502
- # * +:x_qs_copy_source_if_match+ - Check whether the copy source matches
503
- # * +:x_qs_copy_source_if_modified_since+ - Check whether the copy source has been modified
504
- # * +:x_qs_copy_source_if_none_match+ - Check whether the copy source does not match
505
- # * +:x_qs_copy_source_if_unmodified_since+ - Check whether the copy source has not been modified
506
- # * +:x_qs_encryption_customer_algorithm+ - Encryption algorithm of the object
507
- # * +:x_qs_encryption_customer_key+ - Encryption key of the object
508
- # * +:x_qs_encryption_customer_key_md5+ - MD5sum of encryption key
509
- # * +:x_qs_fetch_if_unmodified_since+ - Check whether fetch target object has not been modified
510
- # * +:x_qs_fetch_source+ - Fetch source, should be a valid url
511
- # * +:x_qs_move_source+ - Move source, format (/<bucket-name>/<object-key>)# * +:body+ - The request body
512
- #
513
- def put_object(object_key, options = {})
514
- options.deep_stringify_keys!
515
- request = put_object_request object_key, options
484
+ def put_object(object_key, content_length: nil,
485
+ content_md5: '',
486
+ content_type: '',
487
+ expect: '',
488
+ x_qs_copy_source: '',
489
+ x_qs_copy_source_encryption_customer_algorithm: '',
490
+ x_qs_copy_source_encryption_customer_key: '',
491
+ x_qs_copy_source_encryption_customer_key_md5: '',
492
+ x_qs_copy_source_if_match: '',
493
+ x_qs_copy_source_if_modified_since: '',
494
+ x_qs_copy_source_if_none_match: '',
495
+ x_qs_copy_source_if_unmodified_since: '',
496
+ x_qs_encryption_customer_algorithm: '',
497
+ x_qs_encryption_customer_key: '',
498
+ x_qs_encryption_customer_key_md5: '',
499
+ x_qs_fetch_source: '',
500
+ x_qs_move_source: '',
501
+ body: nil)
502
+ request = put_object_request object_key, content_length: content_length,
503
+ content_md5: content_md5,
504
+ content_type: content_type,
505
+ expect: expect,
506
+ x_qs_copy_source: x_qs_copy_source,
507
+ x_qs_copy_source_encryption_customer_algorithm: x_qs_copy_source_encryption_customer_algorithm,
508
+ x_qs_copy_source_encryption_customer_key: x_qs_copy_source_encryption_customer_key,
509
+ x_qs_copy_source_encryption_customer_key_md5: x_qs_copy_source_encryption_customer_key_md5,
510
+ x_qs_copy_source_if_match: x_qs_copy_source_if_match,
511
+ x_qs_copy_source_if_modified_since: x_qs_copy_source_if_modified_since,
512
+ x_qs_copy_source_if_none_match: x_qs_copy_source_if_none_match,
513
+ x_qs_copy_source_if_unmodified_since: x_qs_copy_source_if_unmodified_since,
514
+ x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
515
+ x_qs_encryption_customer_key: x_qs_encryption_customer_key,
516
+ x_qs_encryption_customer_key_md5: x_qs_encryption_customer_key_md5,
517
+ x_qs_fetch_source: x_qs_fetch_source,
518
+ x_qs_move_source: x_qs_move_source,
519
+ body: body
516
520
  request.send
517
521
  end
518
522
 
519
- def put_object_request(object_key, options = {})
520
- options.deep_stringify_keys!
523
+ def put_object_request(object_key, content_length: nil,
524
+ content_md5: '',
525
+ content_type: '',
526
+ expect: '',
527
+ x_qs_copy_source: '',
528
+ x_qs_copy_source_encryption_customer_algorithm: '',
529
+ x_qs_copy_source_encryption_customer_key: '',
530
+ x_qs_copy_source_encryption_customer_key_md5: '',
531
+ x_qs_copy_source_if_match: '',
532
+ x_qs_copy_source_if_modified_since: '',
533
+ x_qs_copy_source_if_none_match: '',
534
+ x_qs_copy_source_if_unmodified_since: '',
535
+ x_qs_encryption_customer_algorithm: '',
536
+ x_qs_encryption_customer_key: '',
537
+ x_qs_encryption_customer_key_md5: '',
538
+ x_qs_fetch_source: '',
539
+ x_qs_move_source: '',
540
+ body: nil)
521
541
  properties[:'object-key'] = object_key
522
542
  input = {
523
543
  config: config,
@@ -528,28 +548,29 @@ module QingStor
528
548
  request_params: {
529
549
  },
530
550
  request_headers: {
531
- 'Content-Length' => options['content_length'],
532
- 'Content-MD5' => options['content_md5'],
533
- 'Content-Type' => options['content_type'],
534
- 'Expect' => options['expect'],
535
- 'X-QS-Copy-Source' => options['x_qs_copy_source'],
536
- 'X-QS-Copy-Source-Encryption-Customer-Algorithm' => options['x_qs_copy_source_encryption_customer_algorithm'],
537
- 'X-QS-Copy-Source-Encryption-Customer-Key' => options['x_qs_copy_source_encryption_customer_key'],
538
- 'X-QS-Copy-Source-Encryption-Customer-Key-MD5' => options['x_qs_copy_source_encryption_customer_key_md5'],
539
- 'X-QS-Copy-Source-If-Match' => options['x_qs_copy_source_if_match'],
540
- 'X-QS-Copy-Source-If-Modified-Since' => options['x_qs_copy_source_if_modified_since'],
541
- 'X-QS-Copy-Source-If-None-Match' => options['x_qs_copy_source_if_none_match'],
542
- 'X-QS-Copy-Source-If-Unmodified-Since' => options['x_qs_copy_source_if_unmodified_since'],
543
- 'X-QS-Encryption-Customer-Algorithm' => options['x_qs_encryption_customer_algorithm'],
544
- 'X-QS-Encryption-Customer-Key' => options['x_qs_encryption_customer_key'],
545
- 'X-QS-Encryption-Customer-Key-MD5' => options['x_qs_encryption_customer_key_md5'],
546
- 'X-QS-Fetch-If-Unmodified-Since' => options['x_qs_fetch_if_unmodified_since'],
547
- 'X-QS-Fetch-Source' => options['x_qs_fetch_source'],
548
- 'X-QS-Move-Source' => options['x_qs_move_source'],
551
+ 'Content-Length' => content_length,
552
+ 'Content-MD5' => content_md5,
553
+ 'Content-Type' => content_type,
554
+ 'Expect' => expect,
555
+ 'X-QS-Copy-Source' => x_qs_copy_source,
556
+ 'X-QS-Copy-Source-Encryption-Customer-Algorithm' => x_qs_copy_source_encryption_customer_algorithm,
557
+ 'X-QS-Copy-Source-Encryption-Customer-Key' => x_qs_copy_source_encryption_customer_key,
558
+ 'X-QS-Copy-Source-Encryption-Customer-Key-MD5' => x_qs_copy_source_encryption_customer_key_md5,
559
+ 'X-QS-Copy-Source-If-Match' => x_qs_copy_source_if_match,
560
+ 'X-QS-Copy-Source-If-Modified-Since' => x_qs_copy_source_if_modified_since,
561
+ 'X-QS-Copy-Source-If-None-Match' => x_qs_copy_source_if_none_match,
562
+ 'X-QS-Copy-Source-If-Unmodified-Since' => x_qs_copy_source_if_unmodified_since,
563
+ 'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
564
+ 'X-QS-Encryption-Customer-Key' => x_qs_encryption_customer_key,
565
+ 'X-QS-Encryption-Customer-Key-MD5' => x_qs_encryption_customer_key_md5,
566
+ 'X-QS-Fetch-Source' => x_qs_fetch_source,
567
+ 'X-QS-Move-Source' => x_qs_move_source,
549
568
  },
550
569
  request_elements: {
551
570
  },
552
- request_body: options['body'],
571
+
572
+ request_body: body,
573
+
553
574
  status_code: [
554
575
  201, # Object created
555
576
  ],
@@ -569,25 +590,30 @@ module QingStor
569
590
 
570
591
  # upload_multipart: Upload object multipart.
571
592
  # Documentation URL: https://docs.qingcloud.com/qingstor/api/object/multipart/upload_multipart.html
572
- #
573
- # == Options
574
- #
575
- # * +:content_length+ - Object multipart content length
576
- # * +:content_md5+ - Object multipart content MD5sum
577
- # * +:x_qs_encryption_customer_algorithm+ - Encryption algorithm of the object
578
- # * +:x_qs_encryption_customer_key+ - Encryption key of the object
579
- # * +:x_qs_encryption_customer_key_md5+ - MD5sum of encryption key
580
- # * +:part_number+ - Object multipart upload part number
581
- # * +:upload_id+ - Object multipart upload ID# * +:body+ - The request body
582
- #
583
- def upload_multipart(object_key, options = {})
584
- options.deep_stringify_keys!
585
- request = upload_multipart_request object_key, options
593
+ def upload_multipart(object_key, part_number: nil,
594
+ upload_id: '', content_length: nil,
595
+ content_md5: '',
596
+ x_qs_encryption_customer_algorithm: '',
597
+ x_qs_encryption_customer_key: '',
598
+ x_qs_encryption_customer_key_md5: '',
599
+ body: nil)
600
+ request = upload_multipart_request object_key, part_number: part_number,
601
+ upload_id: upload_id, content_length: content_length,
602
+ content_md5: content_md5,
603
+ x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
604
+ x_qs_encryption_customer_key: x_qs_encryption_customer_key,
605
+ x_qs_encryption_customer_key_md5: x_qs_encryption_customer_key_md5,
606
+ body: body
586
607
  request.send
587
608
  end
588
609
 
589
- def upload_multipart_request(object_key, options = {})
590
- options.deep_stringify_keys!
610
+ def upload_multipart_request(object_key, part_number: nil,
611
+ upload_id: '', content_length: nil,
612
+ content_md5: '',
613
+ x_qs_encryption_customer_algorithm: '',
614
+ x_qs_encryption_customer_key: '',
615
+ x_qs_encryption_customer_key_md5: '',
616
+ body: nil)
591
617
  properties[:'object-key'] = object_key
592
618
  input = {
593
619
  config: config,
@@ -596,19 +622,21 @@ module QingStor
596
622
  request_method: 'PUT',
597
623
  request_uri: '/<bucket-name>/<object-key>',
598
624
  request_params: {
599
- 'part_number' => options['part_number'],
600
- 'upload_id' => options['upload_id'],
625
+ 'part_number' => part_number,
626
+ 'upload_id' => upload_id,
601
627
  },
602
628
  request_headers: {
603
- 'Content-Length' => options['content_length'],
604
- 'Content-MD5' => options['content_md5'],
605
- 'X-QS-Encryption-Customer-Algorithm' => options['x_qs_encryption_customer_algorithm'],
606
- 'X-QS-Encryption-Customer-Key' => options['x_qs_encryption_customer_key'],
607
- 'X-QS-Encryption-Customer-Key-MD5' => options['x_qs_encryption_customer_key_md5'],
629
+ 'Content-Length' => content_length,
630
+ 'Content-MD5' => content_md5,
631
+ 'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
632
+ 'X-QS-Encryption-Customer-Key' => x_qs_encryption_customer_key,
633
+ 'X-QS-Encryption-Customer-Key-MD5' => x_qs_encryption_customer_key_md5,
608
634
  },
609
635
  request_elements: {
610
636
  },
611
- request_body: options['body'],
637
+
638
+ request_body: body,
639
+
612
640
  status_code: [
613
641
  201, # Object multipart created
614
642
  ],