class QingStor::SDK::Bucket

Attributes

config[RW]
properties[RW]

Public Class Methods

new(config, properties) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 24
def initialize(config, properties)
  config.check
  self.config     = config
  self.properties = properties.deep_symbolize_keys
end

Public Instance Methods

abort_multipart_upload(object_key, upload_id: '') click to toggle source

abort_multipart_upload: Abort multipart upload. Documentation URL: docs.qingcloud.com/qingstor/api/object/abort_multipart_upload.html

# File lib/qingstor/sdk/service/object.rb, line 26
def abort_multipart_upload(object_key, upload_id: '')
  request = abort_multipart_upload_request object_key, upload_id: upload_id
  request.send
end
abort_multipart_upload_request(object_key, upload_id: '') click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 31
def abort_multipart_upload_request(object_key, upload_id: '')
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'Abort Multipart Upload',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>/<object-key>',
    request_params:   {
      'upload_id' => upload_id
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  abort_multipart_upload_input_validate input
  Request.new input
end
append_object(object_key, position: nil, content_length: nil, content_md5: '', content_type: '', x_qs_storage_class: '', body: nil) click to toggle source

append_object: Append the Object. Documentation URL: docs.qingcloud.com/qingstor/api/object/append.html

# File lib/qingstor/sdk/service/object.rb, line 71
def append_object(object_key, position: nil, content_length: nil,
                  content_md5: '',
                  content_type: '',
                  x_qs_storage_class: '',
                  body: nil)
  request = append_object_request object_key, position: position, content_length: content_length,
    content_md5: content_md5,
    content_type: content_type,
    x_qs_storage_class: x_qs_storage_class,
    body: body
  request.send
end
append_object_request(object_key, position: nil, content_length: nil, content_md5: '', content_type: '', x_qs_storage_class: '', body: nil) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 84
def append_object_request(object_key, position: nil, content_length: nil,
                          content_md5: '',
                          content_type: '',
                          x_qs_storage_class: '',
                          body: nil)
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'Append Object',
    request_method:   'POST',
    request_uri:      '/<bucket-name>/<object-key>?append',
    request_params:   {
      'position' => position
    },
    request_headers:  {
      'Content-Length'     => content_length,
      'Content-MD5'        => content_md5,
      'Content-Type'       => content_type,
      'X-QS-Storage-Class' => x_qs_storage_class
    },
    request_elements: {
    },
    request_body:     body,

    status_code:      [
      200
    ]
  }

  append_object_input_validate input
  Request.new input
end
complete_multipart_upload(object_key, upload_id: '', etag: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '', object_parts: []) click to toggle source

complete_multipart_upload: Complete multipart upload. Documentation URL: docs.qingcloud.com/qingstor/api/object/complete_multipart_upload.html

# File lib/qingstor/sdk/service/object.rb, line 143
def complete_multipart_upload(object_key, upload_id: '', etag: '',
                              x_qs_encryption_customer_algorithm: '',
                              x_qs_encryption_customer_key: '',
                              x_qs_encryption_customer_key_md5: '', object_parts: [])
  request = complete_multipart_upload_request object_key, upload_id: upload_id, etag: etag,
    x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
    x_qs_encryption_customer_key: x_qs_encryption_customer_key,
    x_qs_encryption_customer_key_md5: x_qs_encryption_customer_key_md5, object_parts: object_parts
  request.send
end
complete_multipart_upload_request(object_key, upload_id: '', etag: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '', object_parts: []) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 154
def complete_multipart_upload_request(object_key, upload_id: '', etag: '',
                                      x_qs_encryption_customer_algorithm: '',
                                      x_qs_encryption_customer_key: '',
                                      x_qs_encryption_customer_key_md5: '', object_parts: [])
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'Complete multipart upload',
    request_method:   'POST',
    request_uri:      '/<bucket-name>/<object-key>',
    request_params:   {
      'upload_id' => upload_id
    },
    request_headers:  {
      'ETag'                               => etag,
      'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
      'X-QS-Encryption-Customer-Key'       => x_qs_encryption_customer_key,
      'X-QS-Encryption-Customer-Key-MD5'   => x_qs_encryption_customer_key_md5
    },
    request_elements: {
      'object_parts' => object_parts
    },
    request_body:     nil,

    status_code:      [
      201
    ]
  }

  complete_multipart_upload_input_validate input
  Request.new input
end
delete() click to toggle source

delete_bucket: Delete a bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/delete.html

# File lib/qingstor/sdk/service/bucket.rb, line 32
def delete
  request = delete_request
  request.send
end
delete_cname(domain: '') click to toggle source

delete_bucket_cname: Delete bucket CNAME setting of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/cname/delete_cname.html

# File lib/qingstor/sdk/service/bucket.rb, line 71
def delete_cname(domain: '')
  request = delete_cname_request domain: domain
  request.send
end
delete_cname_request(domain: '') click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 76
def delete_cname_request(domain: '')
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Bucket CNAME',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>?cname',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'domain' => domain
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_bucket_cname_input_validate input
  Request.new input
end
delete_cors() click to toggle source

delete_bucket_cors: Delete CORS information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/cors/delete_cors.html

# File lib/qingstor/sdk/service/bucket.rb, line 115
def delete_cors
  request = delete_cors_request
  request.send
end
delete_cors_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 120
def delete_cors_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Bucket CORS',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>?cors',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_bucket_cors_input_validate input
  Request.new input
end
delete_external_mirror() click to toggle source

delete_bucket_external_mirror: Delete external mirror of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/external_mirror/delete_external_mirror.html

# File lib/qingstor/sdk/service/bucket.rb, line 154
def delete_external_mirror
  request = delete_external_mirror_request
  request.send
end
delete_external_mirror_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 159
def delete_external_mirror_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Bucket External Mirror',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>?mirror',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_bucket_external_mirror_input_validate input
  Request.new input
end
delete_lifecycle() click to toggle source

delete_bucket_lifecycle: Delete Lifecycle information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/lifecycle/delete_lifecycle.html

# File lib/qingstor/sdk/service/bucket.rb, line 193
def delete_lifecycle
  request = delete_lifecycle_request
  request.send
end
delete_lifecycle_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 198
def delete_lifecycle_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Bucket Lifecycle',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>?lifecycle',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_bucket_lifecycle_input_validate input
  Request.new input
end
delete_logging() click to toggle source

delete_bucket_logging: Delete bucket logging setting of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/logging/delete_logging.html

# File lib/qingstor/sdk/service/bucket.rb, line 232
def delete_logging
  request = delete_logging_request
  request.send
end
delete_logging_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 237
def delete_logging_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Bucket Logging',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>?logging',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_bucket_logging_input_validate input
  Request.new input
end
delete_multiple_objects(objects: [], quiet: nil) click to toggle source

delete_multiple_objects: Delete multiple objects from the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/delete_multiple.html

# File lib/qingstor/sdk/service/bucket.rb, line 388
def delete_multiple_objects(objects: [],
                            quiet: nil)
  request = delete_multiple_objects_request objects: objects,
                                            quiet:   quiet
  request.send
end
delete_multiple_objects_request(objects: [], quiet: nil) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 395
def delete_multiple_objects_request(objects: [],
                                    quiet: nil)
  input = {
    config:           config,
    properties:       properties,
    api_name:         'Delete Multiple Objects',
    request_method:   'POST',
    request_uri:      '/<bucket-name>?delete',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'objects' => objects,
      'quiet'   => quiet
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  delete_multiple_objects_input_validate input
  Request.new input
end
delete_notification() click to toggle source

delete_bucket_notification: Delete Notification information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/notification/delete_notification.html

# File lib/qingstor/sdk/service/bucket.rb, line 271
def delete_notification
  request = delete_notification_request
  request.send
end
delete_notification_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 276
def delete_notification_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Bucket Notification',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>?notification',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_bucket_notification_input_validate input
  Request.new input
end
delete_object(object_key) click to toggle source

delete_object: Delete the object. Documentation URL: docs.qingcloud.com/qingstor/api/object/delete.html

# File lib/qingstor/sdk/service/object.rb, line 212
def delete_object(object_key)
  request = delete_object_request object_key
  request.send
end
delete_object_request(object_key) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 217
def delete_object_request(object_key)
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Object',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>/<object-key>',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_object_input_validate input
  Request.new input
end
delete_policy() click to toggle source

delete_bucket_policy: Delete policy information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/policy/delete_policy.html

# File lib/qingstor/sdk/service/bucket.rb, line 310
def delete_policy
  request = delete_policy_request
  request.send
end
delete_policy_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 315
def delete_policy_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Bucket Policy',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>?policy',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_bucket_policy_input_validate input
  Request.new input
end
delete_replication() click to toggle source

delete_bucket_replication: Delete Replication information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/replication/delete_replication.html

# File lib/qingstor/sdk/service/bucket.rb, line 349
def delete_replication
  request = delete_replication_request
  request.send
end
delete_replication_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 354
def delete_replication_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Bucket Replication',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>?replication',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_bucket_replication_input_validate input
  Request.new input
end
delete_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 37
def delete_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'DELETE Bucket',
    request_method:   'DELETE',
    request_uri:      '/<bucket-name>',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      204
    ]
  }

  delete_bucket_input_validate input
  Request.new input
end
get_acl() click to toggle source

get_bucket_acl: Get ACL information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/get_acl.html

# File lib/qingstor/sdk/service/bucket.rb, line 439
def get_acl
  request = get_acl_request
  request.send
end
get_acl_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 444
def get_acl_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket ACL',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?acl',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_acl_input_validate input
  Request.new input
end
get_cname(type: '') click to toggle source

get_bucket_cname: Get bucket CNAME setting of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/cname/get_cname.html

# File lib/qingstor/sdk/service/bucket.rb, line 478
def get_cname(type: '')
  request = get_cname_request type: type
  request.send
end
get_cname_request(type: '') click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 483
def get_cname_request(type: '')
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket CNAME',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?cname',
    request_params:   {
      'type' => type
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_cname_input_validate input
  Request.new input
end
get_cors() click to toggle source

get_bucket_cors: Get CORS information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/cors/get_cors.html

# File lib/qingstor/sdk/service/bucket.rb, line 529
def get_cors
  request = get_cors_request
  request.send
end
get_cors_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 534
def get_cors_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket CORS',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?cors',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_cors_input_validate input
  Request.new input
end
get_external_mirror() click to toggle source

get_bucket_external_mirror: Get external mirror of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/external_mirror/get_external_mirror.html

# File lib/qingstor/sdk/service/bucket.rb, line 568
def get_external_mirror
  request = get_external_mirror_request
  request.send
end
get_external_mirror_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 573
def get_external_mirror_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket External Mirror',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?mirror',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_external_mirror_input_validate input
  Request.new input
end
get_lifecycle() click to toggle source

get_bucket_lifecycle: Get Lifecycle information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/lifecycle/get_lifecycle.html

# File lib/qingstor/sdk/service/bucket.rb, line 607
def get_lifecycle
  request = get_lifecycle_request
  request.send
end
get_lifecycle_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 612
def get_lifecycle_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket Lifecycle',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?lifecycle',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_lifecycle_input_validate input
  Request.new input
end
get_logging() click to toggle source

get_bucket_logging: Get bucket logging setting of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/logging/get_logging.html

# File lib/qingstor/sdk/service/bucket.rb, line 646
def get_logging
  request = get_logging_request
  request.send
end
get_logging_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 651
def get_logging_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket Logging',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?logging',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_logging_input_validate input
  Request.new input
end
get_notification() click to toggle source

get_bucket_notification: Get Notification information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/notification/get_notification.html

# File lib/qingstor/sdk/service/bucket.rb, line 685
def get_notification
  request = get_notification_request
  request.send
end
get_notification_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 690
def get_notification_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket Notification',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?notification',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_notification_input_validate input
  Request.new input
end
get_object(object_key, response_cache_control: '', response_content_disposition: '', response_content_encoding: '', response_content_language: '', response_content_type: '', response_expires: '', if_match: '', if_modified_since: '', if_none_match: '', if_unmodified_since: '', range: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '') click to toggle source

get_object: Retrieve the object. Documentation URL: docs.qingcloud.com/qingstor/api/object/get.html

# File lib/qingstor/sdk/service/object.rb, line 252
def get_object(object_key, response_cache_control: '',
               response_content_disposition: '',
               response_content_encoding: '',
               response_content_language: '',
               response_content_type: '',
               response_expires: '', if_match: '',
               if_modified_since: '',
               if_none_match: '',
               if_unmodified_since: '',
               range: '',
               x_qs_encryption_customer_algorithm: '',
               x_qs_encryption_customer_key: '',
               x_qs_encryption_customer_key_md5: '')
  request = get_object_request object_key, response_cache_control: response_cache_control,
    response_content_disposition: response_content_disposition,
    response_content_encoding: response_content_encoding,
    response_content_language: response_content_language,
    response_content_type: response_content_type,
    response_expires: response_expires, if_match: if_match,
    if_modified_since: if_modified_since,
    if_none_match: if_none_match,
    if_unmodified_since: if_unmodified_since,
    range: range,
    x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
    x_qs_encryption_customer_key: x_qs_encryption_customer_key,
    x_qs_encryption_customer_key_md5: x_qs_encryption_customer_key_md5
  request.send
end
get_object_request(object_key, response_cache_control: '', response_content_disposition: '', response_content_encoding: '', response_content_language: '', response_content_type: '', response_expires: '', if_match: '', if_modified_since: '', if_none_match: '', if_unmodified_since: '', range: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '') click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 281
def get_object_request(object_key, response_cache_control: '',
                       response_content_disposition: '',
                       response_content_encoding: '',
                       response_content_language: '',
                       response_content_type: '',
                       response_expires: '', if_match: '',
                       if_modified_since: '',
                       if_none_match: '',
                       if_unmodified_since: '',
                       range: '',
                       x_qs_encryption_customer_algorithm: '',
                       x_qs_encryption_customer_key: '',
                       x_qs_encryption_customer_key_md5: '')
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Object',
    request_method:   'GET',
    request_uri:      '/<bucket-name>/<object-key>',
    request_params:   {
      'response-cache-control'       => response_cache_control,
      'response-content-disposition' => response_content_disposition,
      'response-content-encoding'    => response_content_encoding,
      'response-content-language'    => response_content_language,
      'response-content-type'        => response_content_type,
      'response-expires'             => response_expires
    },
    request_headers:  {
      'If-Match'                           => if_match,
      'If-Modified-Since'                  => if_modified_since,
      'If-None-Match'                      => if_none_match,
      'If-Unmodified-Since'                => if_unmodified_since,
      'Range'                              => range,
      'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
      'X-QS-Encryption-Customer-Key'       => x_qs_encryption_customer_key,
      'X-QS-Encryption-Customer-Key-MD5'   => x_qs_encryption_customer_key_md5
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200,
      206,
      304,
      412
    ]
  }

  get_object_input_validate input
  Request.new input
end
get_policy() click to toggle source

get_bucket_policy: Get policy information of the bucket. Documentation URL: https://docs.qingcloud.com/qingstor/api/bucket/policy/get_policy.html

# File lib/qingstor/sdk/service/bucket.rb, line 724
def get_policy
  request = get_policy_request
  request.send
end
get_policy_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 729
def get_policy_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket Policy',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?policy',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_policy_input_validate input
  Request.new input
end
get_replication() click to toggle source

get_bucket_replication: Get Replication information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/replication/get_replication.html

# File lib/qingstor/sdk/service/bucket.rb, line 763
def get_replication
  request = get_replication_request
  request.send
end
get_replication_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 768
def get_replication_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket Replication',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?replication',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_replication_input_validate input
  Request.new input
end
get_statistics() click to toggle source

get_bucket_statistics: Get statistics information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/get_stats.html

# File lib/qingstor/sdk/service/bucket.rb, line 802
def get_statistics
  request = get_statistics_request
  request.send
end
get_statistics_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 807
def get_statistics_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket Statistics',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?stats',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  get_bucket_statistics_input_validate input
  Request.new input
end
head() click to toggle source

head_bucket: Check whether the bucket exists and available. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/head.html

# File lib/qingstor/sdk/service/bucket.rb, line 841
def head
  request = head_request
  request.send
end
head_object(object_key, if_match: '', if_modified_since: '', if_none_match: '', if_unmodified_since: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '') click to toggle source

head_object: Check whether the object exists and available. Documentation URL: docs.qingcloud.com/qingstor/api/object/head.html

# File lib/qingstor/sdk/service/object.rb, line 345
def head_object(object_key, if_match: '',
                if_modified_since: '',
                if_none_match: '',
                if_unmodified_since: '',
                x_qs_encryption_customer_algorithm: '',
                x_qs_encryption_customer_key: '',
                x_qs_encryption_customer_key_md5: '')
  request = head_object_request object_key, if_match:                           if_match,
                                            if_modified_since:                  if_modified_since,
                                            if_none_match:                      if_none_match,
                                            if_unmodified_since:                if_unmodified_since,
                                            x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
                                            x_qs_encryption_customer_key:       x_qs_encryption_customer_key,
                                            x_qs_encryption_customer_key_md5:   x_qs_encryption_customer_key_md5
  request.send
end
head_object_request(object_key, if_match: '', if_modified_since: '', if_none_match: '', if_unmodified_since: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '') click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 362
def head_object_request(object_key, if_match: '',
                        if_modified_since: '',
                        if_none_match: '',
                        if_unmodified_since: '',
                        x_qs_encryption_customer_algorithm: '',
                        x_qs_encryption_customer_key: '',
                        x_qs_encryption_customer_key_md5: '')
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'HEAD Object',
    request_method:   'HEAD',
    request_uri:      '/<bucket-name>/<object-key>',
    request_params:   {
    },
    request_headers:  {
      'If-Match'                           => if_match,
      'If-Modified-Since'                  => if_modified_since,
      'If-None-Match'                      => if_none_match,
      'If-Unmodified-Since'                => if_unmodified_since,
      'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
      'X-QS-Encryption-Customer-Key'       => x_qs_encryption_customer_key,
      'X-QS-Encryption-Customer-Key-MD5'   => x_qs_encryption_customer_key_md5
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  head_object_input_validate input
  Request.new input
end
head_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 846
def head_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'HEAD Bucket',
    request_method:   'HEAD',
    request_uri:      '/<bucket-name>',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  head_bucket_input_validate input
  Request.new input
end
image_process(object_key, action: '', response_cache_control: '', response_content_disposition: '', response_content_encoding: '', response_content_language: '', response_content_type: '', response_expires: '', if_modified_since: '') click to toggle source

image_process: Image process with the action on the object Documentation URL: docs.qingcloud.com/qingstor/data_process/image_process/index.html

# File lib/qingstor/sdk/service/object.rb, line 410
def image_process(object_key, action: '',
                  response_cache_control: '',
                  response_content_disposition: '',
                  response_content_encoding: '',
                  response_content_language: '',
                  response_content_type: '',
                  response_expires: '', if_modified_since: '')
  request = image_process_request object_key, action: action,
    response_cache_control: response_cache_control,
    response_content_disposition: response_content_disposition,
    response_content_encoding: response_content_encoding,
    response_content_language: response_content_language,
    response_content_type: response_content_type,
    response_expires: response_expires, if_modified_since: if_modified_since
  request.send
end
image_process_request(object_key, action: '', response_cache_control: '', response_content_disposition: '', response_content_encoding: '', response_content_language: '', response_content_type: '', response_expires: '', if_modified_since: '') click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 427
def image_process_request(object_key, action: '',
                          response_cache_control: '',
                          response_content_disposition: '',
                          response_content_encoding: '',
                          response_content_language: '',
                          response_content_type: '',
                          response_expires: '', if_modified_since: '')
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'Image Process',
    request_method:   'GET',
    request_uri:      '/<bucket-name>/<object-key>?image',
    request_params:   {
      'action'                       => action,
      'response-cache-control'       => response_cache_control,
      'response-content-disposition' => response_content_disposition,
      'response-content-encoding'    => response_content_encoding,
      'response-content-language'    => response_content_language,
      'response-content-type'        => response_content_type,
      'response-expires'             => response_expires
    },
    request_headers:  {
      'If-Modified-Since' => if_modified_since
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200,
      304
    ]
  }

  image_process_input_validate input
  Request.new input
end
initiate_multipart_upload(object_key, content_type: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '', x_qs_meta_data: {}, x_qs_storage_class: '') click to toggle source

initiate_multipart_upload: Initial multipart upload on the object. Documentation URL: docs.qingcloud.com/qingstor/api/object/initiate_multipart_upload.html

# File lib/qingstor/sdk/service/object.rb, line 481
def initiate_multipart_upload(object_key, content_type: '',
                              x_qs_encryption_customer_algorithm: '',
                              x_qs_encryption_customer_key: '',
                              x_qs_encryption_customer_key_md5: '',
                              x_qs_meta_data: {},
                              x_qs_storage_class: '')
  request = initiate_multipart_upload_request object_key, content_type:                       content_type,
                                                          x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
                                                          x_qs_encryption_customer_key:       x_qs_encryption_customer_key,
                                                          x_qs_encryption_customer_key_md5:   x_qs_encryption_customer_key_md5,
                                                          x_qs_meta_data:                     x_qs_meta_data,
                                                          x_qs_storage_class:                 x_qs_storage_class
  request.send
end
initiate_multipart_upload_request(object_key, content_type: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '', x_qs_meta_data: {}, x_qs_storage_class: '') click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 496
def initiate_multipart_upload_request(object_key, content_type: '',
                                      x_qs_encryption_customer_algorithm: '',
                                      x_qs_encryption_customer_key: '',
                                      x_qs_encryption_customer_key_md5: '',
                                      x_qs_meta_data: {},
                                      x_qs_storage_class: '')
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'Initiate Multipart Upload',
    request_method:   'POST',
    request_uri:      '/<bucket-name>/<object-key>?uploads',
    request_params:   {
    },
    request_headers:  {
      'Content-Type'                       => content_type,
      'X-QS-Encryption-Customer-Algorithm' => x_qs_encryption_customer_algorithm,
      'X-QS-Encryption-Customer-Key'       => x_qs_encryption_customer_key,
      'X-QS-Encryption-Customer-Key-MD5'   => x_qs_encryption_customer_key_md5,
      'X-QS-MetaData'                      => x_qs_meta_data,
      'X-QS-Storage-Class'                 => x_qs_storage_class
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  initiate_multipart_upload_input_validate input
  Request.new input
end
list_multipart(object_key, limit: nil, part_number_marker: nil, upload_id: '') click to toggle source

list_multipart: List object parts. Documentation URL: docs.qingcloud.com/qingstor/api/object/list_multipart.html

# File lib/qingstor/sdk/service/object.rb, line 553
def list_multipart(object_key, limit: nil,
                   part_number_marker: nil,
                   upload_id: '')
  request = list_multipart_request object_key, limit:              limit,
                                               part_number_marker: part_number_marker,
                                               upload_id:          upload_id
  request.send
end
list_multipart_request(object_key, limit: nil, part_number_marker: nil, upload_id: '') click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 562
def list_multipart_request(object_key, limit: nil,
                           part_number_marker: nil,
                           upload_id: '')
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'List Multipart',
    request_method:   'GET',
    request_uri:      '/<bucket-name>/<object-key>',
    request_params:   {
      'limit'              => limit,
      'part_number_marker' => part_number_marker,
      'upload_id'          => upload_id
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  list_multipart_input_validate input
  Request.new input
end
list_multipart_uploads(delimiter: '', key_marker: '', limit: nil, prefix: '', upload_id_marker: '') click to toggle source

list_multipart_uploads: List multipart uploads in the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/list_multipart_uploads.html

# File lib/qingstor/sdk/service/bucket.rb, line 880
def list_multipart_uploads(delimiter: '',
                           key_marker: '',
                           limit: nil,
                           prefix: '',
                           upload_id_marker: '')
  request = list_multipart_uploads_request delimiter:        delimiter,
                                           key_marker:       key_marker,
                                           limit:            limit,
                                           prefix:           prefix,
                                           upload_id_marker: upload_id_marker
  request.send
end
list_multipart_uploads_request(delimiter: '', key_marker: '', limit: nil, prefix: '', upload_id_marker: '') click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 893
def list_multipart_uploads_request(delimiter: '',
                                   key_marker: '',
                                   limit: nil,
                                   prefix: '',
                                   upload_id_marker: '')
  input = {
    config:           config,
    properties:       properties,
    api_name:         'List Multipart Uploads',
    request_method:   'GET',
    request_uri:      '/<bucket-name>?uploads',
    request_params:   {
      'delimiter'        => delimiter,
      'key_marker'       => key_marker,
      'limit'            => limit,
      'prefix'           => prefix,
      'upload_id_marker' => upload_id_marker
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  list_multipart_uploads_input_validate input
  Request.new input
end
list_objects(delimiter: '', limit: nil, marker: '', prefix: '') click to toggle source

list_objects: Retrieve the object list in a bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/get.html

# File lib/qingstor/sdk/service/bucket.rb, line 936
def list_objects(delimiter: '',
                 limit: nil,
                 marker: '',
                 prefix: '')
  request = list_objects_request delimiter: delimiter,
                                 limit:     limit,
                                 marker:    marker,
                                 prefix:    prefix
  request.send
end
list_objects_request(delimiter: '', limit: nil, marker: '', prefix: '') click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 947
def list_objects_request(delimiter: '',
                         limit: nil,
                         marker: '',
                         prefix: '')
  input = {
    config:           config,
    properties:       properties,
    api_name:         'GET Bucket (List Objects)',
    request_method:   'GET',
    request_uri:      '/<bucket-name>',
    request_params:   {
      'delimiter' => delimiter,
      'limit'     => limit,
      'marker'    => marker,
      'prefix'    => prefix
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  list_objects_input_validate input
  Request.new input
end
options_object(object_key, access_control_request_headers: '', access_control_request_method: '', origin: '') click to toggle source

options_object: Check whether the object accepts a origin with method and header. Documentation URL: docs.qingcloud.com/qingstor/api/object/options.html

# File lib/qingstor/sdk/service/object.rb, line 606
def options_object(object_key, access_control_request_headers: '',
                   access_control_request_method: '',
                   origin: '')
  request = options_object_request object_key, access_control_request_headers: access_control_request_headers,
                                               access_control_request_method:  access_control_request_method,
                                               origin:                         origin
  request.send
end
options_object_request(object_key, access_control_request_headers: '', access_control_request_method: '', origin: '') click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 615
def options_object_request(object_key, access_control_request_headers: '',
                           access_control_request_method: '',
                           origin: '')
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'OPTIONS Object',
    request_method:   'OPTIONS',
    request_uri:      '/<bucket-name>/<object-key>',
    request_params:   {
    },
    request_headers:  {
      'Access-Control-Request-Headers' => access_control_request_headers,
      'Access-Control-Request-Method'  => access_control_request_method,
      'Origin'                         => origin
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      200,
      304,
      412
    ]
  }

  options_object_input_validate input
  Request.new input
end
put() click to toggle source

put_bucket: Create a new bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/put.html

# File lib/qingstor/sdk/service/bucket.rb, line 988
def put
  request = put_request
  request.send
end
put_acl(acl: []) click to toggle source

put_bucket_acl: Set ACL information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/put_acl.html

# File lib/qingstor/sdk/service/bucket.rb, line 1027
def put_acl(acl: [])
  request = put_acl_request acl: acl
  request.send
end
put_acl_request(acl: []) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1032
def put_acl_request(acl: [])
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket ACL',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>?acl',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'acl' => acl
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  put_bucket_acl_input_validate input
  Request.new input
end
put_cname(domain: '', type: '') click to toggle source

put_bucket_cname: Set bucket CNAME of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/cname/put_cname.html

# File lib/qingstor/sdk/service/bucket.rb, line 1107
def put_cname(domain: '',
              type: '')
  request = put_cname_request domain: domain,
                              type:   type
  request.send
end
put_cname_request(domain: '', type: '') click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1114
def put_cname_request(domain: '',
                      type: '')
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket CNAME',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>?cname',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'domain' => domain,
      'type'   => type
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  put_bucket_cname_input_validate input
  Request.new input
end
put_cors(cors_rules: []) click to toggle source

put_bucket_cors: Set CORS information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/cors/put_cors.html

# File lib/qingstor/sdk/service/bucket.rb, line 1166
def put_cors(cors_rules: [])
  request = put_cors_request cors_rules: cors_rules
  request.send
end
put_cors_request(cors_rules: []) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1171
def put_cors_request(cors_rules: [])
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket CORS',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>?cors',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'cors_rules' => cors_rules
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  put_bucket_cors_input_validate input
  Request.new input
end
put_external_mirror(source_site: '') click to toggle source

put_bucket_external_mirror: Set external mirror of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/external_mirror/put_external_mirror.html

# File lib/qingstor/sdk/service/bucket.rb, line 1220
def put_external_mirror(source_site: '')
  request = put_external_mirror_request source_site: source_site
  request.send
end
put_external_mirror_request(source_site: '') click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1225
def put_external_mirror_request(source_site: '')
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket External Mirror',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>?mirror',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'source_site' => source_site
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  put_bucket_external_mirror_input_validate input
  Request.new input
end
put_lifecycle(rule: []) click to toggle source

put_bucket_lifecycle: Set Lifecycle information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/lifecycle/put_lifecycle.html

# File lib/qingstor/sdk/service/bucket.rb, line 1264
def put_lifecycle(rule: [])
  request = put_lifecycle_request rule: rule
  request.send
end
put_lifecycle_request(rule: []) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1269
def put_lifecycle_request(rule: [])
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket Lifecycle',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>?lifecycle',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'rule' => rule
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  put_bucket_lifecycle_input_validate input
  Request.new input
end
put_logging(target_bucket: '', target_prefix: '') click to toggle source

put_bucket_logging: Set bucket logging of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/logging/put_logging.html

# File lib/qingstor/sdk/service/bucket.rb, line 1359
def put_logging(target_bucket: '',
                target_prefix: '')
  request = put_logging_request target_bucket: target_bucket,
                                target_prefix: target_prefix
  request.send
end
put_logging_request(target_bucket: '', target_prefix: '') click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1366
def put_logging_request(target_bucket: '',
                        target_prefix: '')
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket Logging',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>?logging',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'target_bucket' => target_bucket,
      'target_prefix' => target_prefix
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  put_bucket_logging_input_validate input
  Request.new input
end
put_notification(notifications: []) click to toggle source

put_bucket_notification: Set Notification information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/notification/put_notification.html

# File lib/qingstor/sdk/service/bucket.rb, line 1411
def put_notification(notifications: [])
  request = put_notification_request notifications: notifications
  request.send
end
put_notification_request(notifications: []) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1416
def put_notification_request(notifications: [])
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket Notification',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>?notification',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'notifications' => notifications
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  put_bucket_notification_input_validate input
  Request.new input
end
put_object(object_key, cache_control: '', content_encoding: '', content_length: nil, content_md5: '', content_type: '', expect: '', x_qs_copy_source: '', x_qs_copy_source_encryption_customer_algorithm: '', x_qs_copy_source_encryption_customer_key: '', x_qs_copy_source_encryption_customer_key_md5: '', x_qs_copy_source_if_match: '', x_qs_copy_source_if_modified_since: '', x_qs_copy_source_if_none_match: '', x_qs_copy_source_if_unmodified_since: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '', x_qs_fetch_if_unmodified_since: '', x_qs_fetch_source: '', x_qs_meta_data: {}, x_qs_metadata_directive: '', x_qs_move_source: '', x_qs_storage_class: '', body: nil) click to toggle source

put_object: Upload the object. Documentation URL: docs.qingcloud.com/qingstor/api/object/put.html

# File lib/qingstor/sdk/service/object.rb, line 665
def put_object(object_key, cache_control: '',
               content_encoding: '',
               content_length: nil,
               content_md5: '',
               content_type: '',
               expect: '',
               x_qs_copy_source: '',
               x_qs_copy_source_encryption_customer_algorithm: '',
               x_qs_copy_source_encryption_customer_key: '',
               x_qs_copy_source_encryption_customer_key_md5: '',
               x_qs_copy_source_if_match: '',
               x_qs_copy_source_if_modified_since: '',
               x_qs_copy_source_if_none_match: '',
               x_qs_copy_source_if_unmodified_since: '',
               x_qs_encryption_customer_algorithm: '',
               x_qs_encryption_customer_key: '',
               x_qs_encryption_customer_key_md5: '',
               x_qs_fetch_if_unmodified_since: '',
               x_qs_fetch_source: '',
               x_qs_meta_data: {},
               x_qs_metadata_directive: '',
               x_qs_move_source: '',
               x_qs_storage_class: '',
               body: nil)
  request = put_object_request object_key, cache_control:                                  cache_control,
                                           content_encoding:                               content_encoding,
                                           content_length:                                 content_length,
                                           content_md5:                                    content_md5,
                                           content_type:                                   content_type,
                                           expect:                                         expect,
                                           x_qs_copy_source:                               x_qs_copy_source,
                                           x_qs_copy_source_encryption_customer_algorithm: x_qs_copy_source_encryption_customer_algorithm,
                                           x_qs_copy_source_encryption_customer_key:       x_qs_copy_source_encryption_customer_key,
                                           x_qs_copy_source_encryption_customer_key_md5:   x_qs_copy_source_encryption_customer_key_md5,
                                           x_qs_copy_source_if_match:                      x_qs_copy_source_if_match,
                                           x_qs_copy_source_if_modified_since:             x_qs_copy_source_if_modified_since,
                                           x_qs_copy_source_if_none_match:                 x_qs_copy_source_if_none_match,
                                           x_qs_copy_source_if_unmodified_since:           x_qs_copy_source_if_unmodified_since,
                                           x_qs_encryption_customer_algorithm:             x_qs_encryption_customer_algorithm,
                                           x_qs_encryption_customer_key:                   x_qs_encryption_customer_key,
                                           x_qs_encryption_customer_key_md5:               x_qs_encryption_customer_key_md5,
                                           x_qs_fetch_if_unmodified_since:                 x_qs_fetch_if_unmodified_since,
                                           x_qs_fetch_source:                              x_qs_fetch_source,
                                           x_qs_meta_data:                                 x_qs_meta_data,
                                           x_qs_metadata_directive:                        x_qs_metadata_directive,
                                           x_qs_move_source:                               x_qs_move_source,
                                           x_qs_storage_class:                             x_qs_storage_class,
                                           body:                                           body
  request.send
end
put_object_request(object_key, cache_control: '', content_encoding: '', content_length: nil, content_md5: '', content_type: '', expect: '', x_qs_copy_source: '', x_qs_copy_source_encryption_customer_algorithm: '', x_qs_copy_source_encryption_customer_key: '', x_qs_copy_source_encryption_customer_key_md5: '', x_qs_copy_source_if_match: '', x_qs_copy_source_if_modified_since: '', x_qs_copy_source_if_none_match: '', x_qs_copy_source_if_unmodified_since: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '', x_qs_fetch_if_unmodified_since: '', x_qs_fetch_source: '', x_qs_meta_data: {}, x_qs_metadata_directive: '', x_qs_move_source: '', x_qs_storage_class: '', body: nil) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 716
def put_object_request(object_key, cache_control: '',
                       content_encoding: '',
                       content_length: nil,
                       content_md5: '',
                       content_type: '',
                       expect: '',
                       x_qs_copy_source: '',
                       x_qs_copy_source_encryption_customer_algorithm: '',
                       x_qs_copy_source_encryption_customer_key: '',
                       x_qs_copy_source_encryption_customer_key_md5: '',
                       x_qs_copy_source_if_match: '',
                       x_qs_copy_source_if_modified_since: '',
                       x_qs_copy_source_if_none_match: '',
                       x_qs_copy_source_if_unmodified_since: '',
                       x_qs_encryption_customer_algorithm: '',
                       x_qs_encryption_customer_key: '',
                       x_qs_encryption_customer_key_md5: '',
                       x_qs_fetch_if_unmodified_since: '',
                       x_qs_fetch_source: '',
                       x_qs_meta_data: {},
                       x_qs_metadata_directive: '',
                       x_qs_move_source: '',
                       x_qs_storage_class: '',
                       body: nil)
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Object',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>/<object-key>',
    request_params:   {
    },
    request_headers:  {
      'Cache-Control'                                  => cache_control,
      'Content-Encoding'                               => content_encoding,
      'Content-Length'                                 => content_length,
      'Content-MD5'                                    => content_md5,
      'Content-Type'                                   => content_type,
      'Expect'                                         => expect,
      'X-QS-Copy-Source'                               => x_qs_copy_source,
      'X-QS-Copy-Source-Encryption-Customer-Algorithm' => x_qs_copy_source_encryption_customer_algorithm,
      'X-QS-Copy-Source-Encryption-Customer-Key'       => x_qs_copy_source_encryption_customer_key,
      'X-QS-Copy-Source-Encryption-Customer-Key-MD5'   => x_qs_copy_source_encryption_customer_key_md5,
      'X-QS-Copy-Source-If-Match'                      => x_qs_copy_source_if_match,
      'X-QS-Copy-Source-If-Modified-Since'             => x_qs_copy_source_if_modified_since,
      'X-QS-Copy-Source-If-None-Match'                 => x_qs_copy_source_if_none_match,
      'X-QS-Copy-Source-If-Unmodified-Since'           => x_qs_copy_source_if_unmodified_since,
      'X-QS-Encryption-Customer-Algorithm'             => x_qs_encryption_customer_algorithm,
      'X-QS-Encryption-Customer-Key'                   => x_qs_encryption_customer_key,
      'X-QS-Encryption-Customer-Key-MD5'               => x_qs_encryption_customer_key_md5,
      'X-QS-Fetch-If-Unmodified-Since'                 => x_qs_fetch_if_unmodified_since,
      'X-QS-Fetch-Source'                              => x_qs_fetch_source,
      'X-QS-MetaData'                                  => x_qs_meta_data,
      'X-QS-Metadata-Directive'                        => x_qs_metadata_directive,
      'X-QS-Move-Source'                               => x_qs_move_source,
      'X-QS-Storage-Class'                             => x_qs_storage_class
    },
    request_elements: {
    },
    request_body:     body,

    status_code:      [
      201
    ]
  }

  put_object_input_validate input
  Request.new input
end
put_policy(statement: []) click to toggle source

put_bucket_policy: Set policy information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/policy/put_policy.html

# File lib/qingstor/sdk/service/bucket.rb, line 1488
def put_policy(statement: [])
  request = put_policy_request statement: statement
  request.send
end
put_policy_request(statement: []) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1493
def put_policy_request(statement: [])
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket Policy',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>?policy',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'statement' => statement
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  put_bucket_policy_input_validate input
  Request.new input
end
put_replication(rules: []) click to toggle source

put_bucket_replication: Set Replication information of the bucket. Documentation URL: docs.qingcloud.com/qingstor/api/bucket/replication/put_replication.html

# File lib/qingstor/sdk/service/bucket.rb, line 1585
def put_replication(rules: [])
  request = put_replication_request rules: rules
  request.send
end
put_replication_request(rules: []) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1590
def put_replication_request(rules: [])
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket Replication',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>?replication',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
      'rules' => rules
    },
    request_body:     nil,

    status_code:      [
      200
    ]
  }

  put_bucket_replication_input_validate input
  Request.new input
end
put_request() click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 993
def put_request
  input = {
    config:           config,
    properties:       properties,
    api_name:         'PUT Bucket',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>',
    request_params:   {
    },
    request_headers:  {
    },
    request_elements: {
    },
    request_body:     nil,

    status_code:      [
      201
    ]
  }

  put_bucket_input_validate input
  Request.new input
end
upload_multipart(object_key, part_number: nil, upload_id: '', content_length: nil, content_md5: '', x_qs_copy_range: '', x_qs_copy_source: '', x_qs_copy_source_encryption_customer_algorithm: '', x_qs_copy_source_encryption_customer_key: '', x_qs_copy_source_encryption_customer_key_md5: '', x_qs_copy_source_if_match: '', x_qs_copy_source_if_modified_since: '', x_qs_copy_source_if_none_match: '', x_qs_copy_source_if_unmodified_since: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '', body: nil) click to toggle source

upload_multipart: Upload object multipart. Documentation URL: docs.qingcloud.com/qingstor/api/object/multipart/upload_multipart.html

# File lib/qingstor/sdk/service/object.rb, line 819
def upload_multipart(object_key, part_number: nil,
                     upload_id: '', content_length: nil,
                     content_md5: '',
                     x_qs_copy_range: '',
                     x_qs_copy_source: '',
                     x_qs_copy_source_encryption_customer_algorithm: '',
                     x_qs_copy_source_encryption_customer_key: '',
                     x_qs_copy_source_encryption_customer_key_md5: '',
                     x_qs_copy_source_if_match: '',
                     x_qs_copy_source_if_modified_since: '',
                     x_qs_copy_source_if_none_match: '',
                     x_qs_copy_source_if_unmodified_since: '',
                     x_qs_encryption_customer_algorithm: '',
                     x_qs_encryption_customer_key: '',
                     x_qs_encryption_customer_key_md5: '',
                     body: nil)
  request = upload_multipart_request object_key, part_number: part_number,
    upload_id: upload_id, content_length: content_length,
    content_md5: content_md5,
    x_qs_copy_range: x_qs_copy_range,
    x_qs_copy_source: x_qs_copy_source,
    x_qs_copy_source_encryption_customer_algorithm: x_qs_copy_source_encryption_customer_algorithm,
    x_qs_copy_source_encryption_customer_key: x_qs_copy_source_encryption_customer_key,
    x_qs_copy_source_encryption_customer_key_md5: x_qs_copy_source_encryption_customer_key_md5,
    x_qs_copy_source_if_match: x_qs_copy_source_if_match,
    x_qs_copy_source_if_modified_since: x_qs_copy_source_if_modified_since,
    x_qs_copy_source_if_none_match: x_qs_copy_source_if_none_match,
    x_qs_copy_source_if_unmodified_since: x_qs_copy_source_if_unmodified_since,
    x_qs_encryption_customer_algorithm: x_qs_encryption_customer_algorithm,
    x_qs_encryption_customer_key: x_qs_encryption_customer_key,
    x_qs_encryption_customer_key_md5: x_qs_encryption_customer_key_md5,
    body: body
  request.send
end
upload_multipart_request(object_key, part_number: nil, upload_id: '', content_length: nil, content_md5: '', x_qs_copy_range: '', x_qs_copy_source: '', x_qs_copy_source_encryption_customer_algorithm: '', x_qs_copy_source_encryption_customer_key: '', x_qs_copy_source_encryption_customer_key_md5: '', x_qs_copy_source_if_match: '', x_qs_copy_source_if_modified_since: '', x_qs_copy_source_if_none_match: '', x_qs_copy_source_if_unmodified_since: '', x_qs_encryption_customer_algorithm: '', x_qs_encryption_customer_key: '', x_qs_encryption_customer_key_md5: '', body: nil) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 854
def upload_multipart_request(object_key, part_number: nil,
                             upload_id: '', content_length: nil,
                             content_md5: '',
                             x_qs_copy_range: '',
                             x_qs_copy_source: '',
                             x_qs_copy_source_encryption_customer_algorithm: '',
                             x_qs_copy_source_encryption_customer_key: '',
                             x_qs_copy_source_encryption_customer_key_md5: '',
                             x_qs_copy_source_if_match: '',
                             x_qs_copy_source_if_modified_since: '',
                             x_qs_copy_source_if_none_match: '',
                             x_qs_copy_source_if_unmodified_since: '',
                             x_qs_encryption_customer_algorithm: '',
                             x_qs_encryption_customer_key: '',
                             x_qs_encryption_customer_key_md5: '',
                             body: nil)
  properties[:'object-key'] = object_key
  input = {
    config:           config,
    properties:       properties,
    api_name:         'Upload Multipart',
    request_method:   'PUT',
    request_uri:      '/<bucket-name>/<object-key>',
    request_params:   {
      'part_number' => part_number,
      'upload_id'   => upload_id
    },
    request_headers:  {
      'Content-Length'                                 => content_length,
      'Content-MD5'                                    => content_md5,
      'X-QS-Copy-Range'                                => x_qs_copy_range,
      'X-QS-Copy-Source'                               => x_qs_copy_source,
      'X-QS-Copy-Source-Encryption-Customer-Algorithm' => x_qs_copy_source_encryption_customer_algorithm,
      'X-QS-Copy-Source-Encryption-Customer-Key'       => x_qs_copy_source_encryption_customer_key,
      'X-QS-Copy-Source-Encryption-Customer-Key-MD5'   => x_qs_copy_source_encryption_customer_key_md5,
      'X-QS-Copy-Source-If-Match'                      => x_qs_copy_source_if_match,
      'X-QS-Copy-Source-If-Modified-Since'             => x_qs_copy_source_if_modified_since,
      'X-QS-Copy-Source-If-None-Match'                 => x_qs_copy_source_if_none_match,
      'X-QS-Copy-Source-If-Unmodified-Since'           => x_qs_copy_source_if_unmodified_since,
      'X-QS-Encryption-Customer-Algorithm'             => x_qs_encryption_customer_algorithm,
      'X-QS-Encryption-Customer-Key'                   => x_qs_encryption_customer_key,
      'X-QS-Encryption-Customer-Key-MD5'               => x_qs_encryption_customer_key_md5
    },
    request_elements: {
    },
    request_body:     body,

    status_code:      [
      201
    ]
  }

  upload_multipart_input_validate input
  Request.new input
end

Private Instance Methods

abort_multipart_upload_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 59
def abort_multipart_upload_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['upload_id'].nil? && !input['request_params']['upload_id'].to_s.empty?
    raise ParameterRequiredError.new('upload_id', 'AbortMultipartUploadInput')
  end
end
append_object_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 120
def append_object_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['position'].nil? && !input['request_params']['position'].to_s.empty?
    raise ParameterRequiredError.new('position', 'AppendObjectInput')
  end

  if input['request_headers']['X-QS-Storage-Class'] && !input['request_headers']['X-QS-Storage-Class'].to_s.empty?
    x_qs_storage_class_valid_values = %w[STANDARD STANDARD_IA]
    unless x_qs_storage_class_valid_values.include? input['request_headers']['X-QS-Storage-Class'].to_s
      raise ParameterValueNotAllowedError.new(
        'X-QS-Storage-Class',
        input['request_headers']['X-QS-Storage-Class'],
        x_qs_storage_class_valid_values,
      )
    end
  end
end
complete_multipart_upload_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 190
def complete_multipart_upload_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['upload_id'].nil? && !input['request_params']['upload_id'].to_s.empty?
    raise ParameterRequiredError.new('upload_id', 'CompleteMultipartUploadInput')
  end

  unless !input['request_elements']['object_parts'].nil? && !input['request_elements']['object_parts'].empty?
    raise ParameterRequiredError.new('object_parts', 'CompleteMultipartUploadInput')
  end

  input['request_elements']['object_parts'].each do |x|
    unless !x['part_number'].nil? && !x['part_number'].to_s.empty?
      raise ParameterRequiredError.new('part_number', 'object_part')
    end
  end
end
delete_bucket_cname_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 103
def delete_bucket_cname_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['domain'].nil? && !input['request_elements']['domain'].to_s.empty?
    raise ParameterRequiredError.new('domain', 'DeleteBucketCNAMEInput')
  end
end
delete_bucket_cors_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 146
def delete_bucket_cors_input_validate(input)
  input.deep_stringify_keys!
end
delete_bucket_external_mirror_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 185
def delete_bucket_external_mirror_input_validate(input)
  input.deep_stringify_keys!
end
delete_bucket_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 63
def delete_bucket_input_validate(input)
  input.deep_stringify_keys!
end
delete_bucket_lifecycle_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 224
def delete_bucket_lifecycle_input_validate(input)
  input.deep_stringify_keys!
end
delete_bucket_logging_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 263
def delete_bucket_logging_input_validate(input)
  input.deep_stringify_keys!
end
delete_bucket_notification_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 302
def delete_bucket_notification_input_validate(input)
  input.deep_stringify_keys!
end
delete_bucket_policy_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 341
def delete_bucket_policy_input_validate(input)
  input.deep_stringify_keys!
end
delete_bucket_replication_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 380
def delete_bucket_replication_input_validate(input)
  input.deep_stringify_keys!
end
delete_multiple_objects_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 424
def delete_multiple_objects_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['objects'].nil? && !input['request_elements']['objects'].empty?
    raise ParameterRequiredError.new('objects', 'DeleteMultipleObjectsInput')
  end

  input['request_elements']['objects'].each do |x|
  end
end
delete_object_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 244
def delete_object_input_validate(input)
  input.deep_stringify_keys!
end
get_bucket_acl_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 470
def get_bucket_acl_input_validate(input)
  input.deep_stringify_keys!
end
get_bucket_cname_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 510
def get_bucket_cname_input_validate(input)
  input.deep_stringify_keys!

  if input['request_params']['type'] && !input['request_params']['type'].to_s.empty?
    type_valid_values = %w[website normal]
    unless type_valid_values.include? input['request_params']['type'].to_s
      raise ParameterValueNotAllowedError.new(
        'type',
        input['request_params']['type'],
        type_valid_values,
      )
    end
  end
end
get_bucket_cors_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 560
def get_bucket_cors_input_validate(input)
  input.deep_stringify_keys!
end
get_bucket_external_mirror_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 599
def get_bucket_external_mirror_input_validate(input)
  input.deep_stringify_keys!
end
get_bucket_lifecycle_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 638
def get_bucket_lifecycle_input_validate(input)
  input.deep_stringify_keys!
end
get_bucket_logging_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 677
def get_bucket_logging_input_validate(input)
  input.deep_stringify_keys!
end
get_bucket_notification_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 716
def get_bucket_notification_input_validate(input)
  input.deep_stringify_keys!
end
get_bucket_policy_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 755
def get_bucket_policy_input_validate(input)
  input.deep_stringify_keys!
end
get_bucket_replication_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 794
def get_bucket_replication_input_validate(input)
  input.deep_stringify_keys!
end
get_bucket_statistics_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 833
def get_bucket_statistics_input_validate(input)
  input.deep_stringify_keys!
end
get_object_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 337
def get_object_input_validate(input)
  input.deep_stringify_keys!
end
head_bucket_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 872
def head_bucket_input_validate(input)
  input.deep_stringify_keys!
end
head_object_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 402
def head_object_input_validate(input)
  input.deep_stringify_keys!
end
image_process_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 469
def image_process_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['action'].nil? && !input['request_params']['action'].to_s.empty?
    raise ParameterRequiredError.new('action', 'ImageProcessInput')
  end
end
initiate_multipart_upload_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 534
def initiate_multipart_upload_input_validate(input)
  input.deep_stringify_keys!

  if input['request_headers']['X-QS-Storage-Class'] && !input['request_headers']['X-QS-Storage-Class'].to_s.empty?
    x_qs_storage_class_valid_values = %w[STANDARD STANDARD_IA]
    unless x_qs_storage_class_valid_values.include? input['request_headers']['X-QS-Storage-Class'].to_s
      raise ParameterValueNotAllowedError.new(
        'X-QS-Storage-Class',
        input['request_headers']['X-QS-Storage-Class'],
        x_qs_storage_class_valid_values,
      )
    end
  end
end
list_multipart_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 594
def list_multipart_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['upload_id'].nil? && !input['request_params']['upload_id'].to_s.empty?
    raise ParameterRequiredError.new('upload_id', 'ListMultipartInput')
  end
end
list_multipart_uploads_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 928
def list_multipart_uploads_input_validate(input)
  input.deep_stringify_keys!
end
list_objects_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 980
def list_objects_input_validate(input)
  input.deep_stringify_keys!
end
options_object_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 649
def options_object_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_headers']['Access-Control-Request-Method'].nil? && !input['request_headers']['Access-Control-Request-Method'].to_s.empty?
    raise ParameterRequiredError.new('Access-Control-Request-Method', 'OptionsObjectInput')
  end

  unless !input['request_headers']['Origin'].nil? && !input['request_headers']['Origin'].to_s.empty?
    raise ParameterRequiredError.new('Origin', 'OptionsObjectInput')
  end
end
put_bucket_acl_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1059
def put_bucket_acl_input_validate(input)
  input.deep_stringify_keys!

  input['request_elements']['acl'].each do |x|
    unless x['grantee'].nil?

      unless !x['grantee']['type'].nil? && !x['grantee']['type'].to_s.empty?
        raise ParameterRequiredError.new('type', 'grantee')
      end

      if x['grantee']['type'] && !x['grantee']['type'].to_s.empty?
        type_valid_values = %w[user group]
        unless type_valid_values.include? x['grantee']['type'].to_s
          raise ParameterValueNotAllowedError.new(
            'type',
            x['grantee']['type'],
            type_valid_values,
          )
        end
      end

    end

    if x['grantee'].nil?
      raise ParameterRequiredError.new('grantee', 'acl')
    end

    unless !x['permission'].nil? && !x['permission'].to_s.empty?
      raise ParameterRequiredError.new('permission', 'acl')
    end

    next unless x['permission'] && !x['permission'].to_s.empty?

    permission_valid_values = %w[READ WRITE FULL_CONTROL]
    next if permission_valid_values.include? x['permission'].to_s

    raise ParameterValueNotAllowedError.new(
      'permission',
      x['permission'],
      permission_valid_values,
    )
  end
end
put_bucket_cname_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1143
def put_bucket_cname_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['domain'].nil? && !input['request_elements']['domain'].to_s.empty?
    raise ParameterRequiredError.new('domain', 'PutBucketCNAMEInput')
  end

  if input['request_elements']['type'] && !input['request_elements']['type'].to_s.empty?
    type_valid_values = %w[normal website]
    unless type_valid_values.include? input['request_elements']['type'].to_s
      raise ParameterValueNotAllowedError.new(
        'type',
        input['request_elements']['type'],
        type_valid_values,
      )
    end
  end
end
put_bucket_cors_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1198
def put_bucket_cors_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['cors_rules'].nil? && !input['request_elements']['cors_rules'].empty?
    raise ParameterRequiredError.new('cors_rules', 'PutBucketCORSInput')
  end

  input['request_elements']['cors_rules'].each do |x|
    unless !x['allowed_methods'].nil? && !x['allowed_methods'].empty?
      raise ParameterRequiredError.new('allowed_methods', 'cors_rule')
    end

    unless !x['allowed_origin'].nil? && !x['allowed_origin'].to_s.empty?
      raise ParameterRequiredError.new('allowed_origin', 'cors_rule')
    end
  end
end
put_bucket_external_mirror_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1252
def put_bucket_external_mirror_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['source_site'].nil? && !input['request_elements']['source_site'].to_s.empty?
    raise ParameterRequiredError.new('source_site', 'PutBucketExternalMirrorInput')
  end
end
put_bucket_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1019
def put_bucket_input_validate(input)
  input.deep_stringify_keys!
end
put_bucket_lifecycle_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1296
def put_bucket_lifecycle_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['rule'].nil? && !input['request_elements']['rule'].empty?
    raise ParameterRequiredError.new('rule', 'PutBucketLifecycleInput')
  end

  input['request_elements']['rule'].each do |x|
    unless x['abort_incomplete_multipart_upload'].nil?

      unless !x['abort_incomplete_multipart_upload']['days_after_initiation'].nil? && !x['abort_incomplete_multipart_upload']['days_after_initiation'].to_s.empty?
        raise ParameterRequiredError.new('days_after_initiation', 'abort_incomplete_multipart_upload')
      end

    end

    unless x['expiration'].nil?

    end

    unless x['filter'].nil?

      unless !x['filter']['prefix'].nil? && !x['filter']['prefix'].to_s.empty?
        raise ParameterRequiredError.new('prefix', 'filter')
        end

    end

    if x['filter'].nil?
      raise ParameterRequiredError.new('filter', 'rule')
    end

    unless !x['id'].nil? && !x['id'].to_s.empty?
      raise ParameterRequiredError.new('id', 'rule')
    end

    unless !x['status'].nil? && !x['status'].to_s.empty?
      raise ParameterRequiredError.new('status', 'rule')
    end

    if x['status'] && !x['status'].to_s.empty?
      status_valid_values = %w[enabled disabled]
      unless status_valid_values.include? x['status'].to_s
        raise ParameterValueNotAllowedError.new(
          'status',
          x['status'],
          status_valid_values,
        )
      end
    end

    next if x['transition'].nil?

    unless !x['transition']['storage_class'].nil? && !x['transition']['storage_class'].to_s.empty?
      raise ParameterRequiredError.new('storage_class', 'transition')
    end
  end
end
put_bucket_logging_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1395
def put_bucket_logging_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['target_bucket'].nil? && !input['request_elements']['target_bucket'].to_s.empty?
    raise ParameterRequiredError.new('target_bucket', 'PutBucketLoggingInput')
  end

  unless !input['request_elements']['target_prefix'].nil? && !input['request_elements']['target_prefix'].to_s.empty?
    raise ParameterRequiredError.new('target_prefix', 'PutBucketLoggingInput')
  end
end
put_bucket_notification_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1443
def put_bucket_notification_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['notifications'].nil? && !input['request_elements']['notifications'].empty?
    raise ParameterRequiredError.new('notifications', 'PutBucketNotificationInput')
  end

  input['request_elements']['notifications'].each do |x|
    unless !x['cloudfunc'].nil? && !x['cloudfunc'].to_s.empty?
      raise ParameterRequiredError.new('cloudfunc', 'notification')
    end

    if x['cloudfunc'] && !x['cloudfunc'].to_s.empty?
      cloudfunc_valid_values = %w[tupu-porn notifier image]
      unless cloudfunc_valid_values.include? x['cloudfunc'].to_s
        raise ParameterValueNotAllowedError.new(
          'cloudfunc',
          x['cloudfunc'],
          cloudfunc_valid_values,
        )
      end
    end

    unless x['cloudfunc_args'].nil?

      unless !x['cloudfunc_args']['action'].nil? && !x['cloudfunc_args']['action'].to_s.empty?
        raise ParameterRequiredError.new('action', 'cloudfunc_args')
        end

    end

    unless !x['event_types'].nil? && !x['event_types'].empty?
      raise ParameterRequiredError.new('event_types', 'notification')
    end

    unless !x['id'].nil? && !x['id'].to_s.empty?
      raise ParameterRequiredError.new('id', 'notification')
    end
  end
end
put_bucket_policy_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1520
def put_bucket_policy_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['statement'].nil? && !input['request_elements']['statement'].empty?
    raise ParameterRequiredError.new('statement', 'PutBucketPolicyInput')
  end

  input['request_elements']['statement'].each do |x|
    unless !x['action'].nil? && !x['action'].empty?
      raise ParameterRequiredError.new('action', 'statement')
    end

    unless x['condition'].nil?

      unless x['condition']['ip_address'].nil?

      end

      unless x['condition']['is_null'].nil?

      end

      unless x['condition']['not_ip_address'].nil?

      end

      unless x['condition']['string_like'].nil?

      end

      unless x['condition']['string_not_like'].nil?

      end

    end

    unless !x['effect'].nil? && !x['effect'].to_s.empty?
      raise ParameterRequiredError.new('effect', 'statement')
    end

    if x['effect'] && !x['effect'].to_s.empty?
      effect_valid_values = %w[allow deny]
      unless effect_valid_values.include? x['effect'].to_s
        raise ParameterValueNotAllowedError.new(
          'effect',
          x['effect'],
          effect_valid_values,
        )
      end
    end

    unless !x['id'].nil? && !x['id'].to_s.empty?
      raise ParameterRequiredError.new('id', 'statement')
    end

    unless !x['user'].nil? && !x['user'].empty?
      raise ParameterRequiredError.new('user', 'statement')
    end
  end
end
put_bucket_replication_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/bucket.rb, line 1617
def put_bucket_replication_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_elements']['rules'].nil? && !input['request_elements']['rules'].empty?
    raise ParameterRequiredError.new('rules', 'PutBucketReplicationInput')
  end

  input['request_elements']['rules'].each do |x|
    if x['delete_marker'] && !x['delete_marker'].to_s.empty?
      delete_marker_valid_values = %w[enabled disabled]
      unless delete_marker_valid_values.include? x['delete_marker'].to_s
        raise ParameterValueNotAllowedError.new(
          'delete_marker',
          x['delete_marker'],
          delete_marker_valid_values,
        )
      end
    end

    unless x['destination'].nil?

      unless !x['destination']['bucket'].nil? && !x['destination']['bucket'].to_s.empty?
        raise ParameterRequiredError.new('bucket', 'destination')
        end

    end

    if x['destination'].nil?
      raise ParameterRequiredError.new('destination', 'rules')
    end

    unless x['filters'].nil?

    end

    if x['filters'].nil?
      raise ParameterRequiredError.new('filters', 'rules')
    end

    unless !x['id'].nil? && !x['id'].to_s.empty?
      raise ParameterRequiredError.new('id', 'rules')
    end

    if x['status'] && !x['status'].to_s.empty?
      status_valid_values = %w[enabled disabled]
      unless status_valid_values.include? x['status'].to_s
        raise ParameterValueNotAllowedError.new(
          'status',
          x['status'],
          status_valid_values,
        )
      end
    end

    next unless x['sync_marker'] && !x['sync_marker'].to_s.empty?

    sync_marker_valid_values = %w[enabled disabled]
    next if sync_marker_valid_values.include? x['sync_marker'].to_s

    raise ParameterValueNotAllowedError.new(
      'sync_marker',
      x['sync_marker'],
      sync_marker_valid_values,
    )
  end
end
put_object_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 789
def put_object_input_validate(input)
  input.deep_stringify_keys!

  if input['request_headers']['X-QS-Metadata-Directive'] && !input['request_headers']['X-QS-Metadata-Directive'].to_s.empty?
    x_qs_metadata_directive_valid_values = %w[COPY REPLACE]
    unless x_qs_metadata_directive_valid_values.include? input['request_headers']['X-QS-Metadata-Directive'].to_s
      raise ParameterValueNotAllowedError.new(
        'X-QS-Metadata-Directive',
        input['request_headers']['X-QS-Metadata-Directive'],
        x_qs_metadata_directive_valid_values,
      )
    end
  end

  if input['request_headers']['X-QS-Storage-Class'] && !input['request_headers']['X-QS-Storage-Class'].to_s.empty?
    x_qs_storage_class_valid_values = %w[STANDARD STANDARD_IA]
    unless x_qs_storage_class_valid_values.include? input['request_headers']['X-QS-Storage-Class'].to_s
      raise ParameterValueNotAllowedError.new(
        'X-QS-Storage-Class',
        input['request_headers']['X-QS-Storage-Class'],
        x_qs_storage_class_valid_values,
      )
    end
  end
end
upload_multipart_input_validate(input) click to toggle source
# File lib/qingstor/sdk/service/object.rb, line 912
def upload_multipart_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['part_number'].nil? && !input['request_params']['part_number'].to_s.empty?
    raise ParameterRequiredError.new('part_number', 'UploadMultipartInput')
  end

  unless !input['request_params']['upload_id'].nil? && !input['request_params']['upload_id'].to_s.empty?
    raise ParameterRequiredError.new('upload_id', 'UploadMultipartInput')
  end
end