class QingCloud::SDK::ImageService

Attributes

config[RW]
properties[RW]

Public Class Methods

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

Public Instance Methods

capture_instance(image_name: '', instance: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/image/capture_instance.html

# File lib/qingcloud/sdk/service/image.rb, line 30
def capture_instance(image_name: '', instance: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CaptureInstance',
    request_method: 'GET',
    request_params: {
      'image_name' => image_name,
      'instance'   => instance,
    },
  }

  capture_instance_input_validate input

  request = Request.new input
  request.send
end
delete_images(images: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/image/delete_images.html

# File lib/qingcloud/sdk/service/image.rb, line 61
def delete_images(images: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteImages',
    request_method: 'GET',
    request_params: {
      'images' => images,
    },
  }

  delete_images_input_validate input

  request = Request.new input
  request.send
end
describe_image_users(image_id: '', limit: nil, offset: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/image/describe-image-users.html

# File lib/qingcloud/sdk/service/image.rb, line 91
def describe_image_users(image_id: '', limit: nil, offset: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeImageUsers',
    request_method: 'GET',
    request_params: {
      'image_id' => image_id,
      'limit'    => limit,
      'offset'   => offset,
    },
  }

  describe_image_users_input_validate input

  request = Request.new input
  request.send
end
describe_images(images: [], limit: nil, offset: nil, os_family: '', processor_type: '', provider: '', search_word: '', status: [], verbose: nil, visibility: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/image/describe_images.html

# File lib/qingcloud/sdk/service/image.rb, line 123
def describe_images(images: [], limit: nil, offset: nil, os_family: '', processor_type: '', provider: '', search_word: '', status: [], verbose: nil, visibility: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeImages',
    request_method: 'GET',
    request_params: {
      'images'         => images,
      'limit'          => limit,
      'offset'         => offset,
      'os_family'      => os_family,
      'processor_type' => processor_type, # processor_type's available values: 64bit, 32bit
      'provider'       => provider, # provider's available values: system, self
      'search_word'    => search_word,
      'status'         => status,
      'verbose'        => verbose, # verbose's available values: 0
      'visibility'     => visibility, # visibility's available values: public, private
    },
  }

  describe_images_input_validate input

  request = Request.new input
  request.send
end
grant_image_to_users(image: '', users: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/image/grant-image-to-users.html

# File lib/qingcloud/sdk/service/image.rb, line 202
def grant_image_to_users(image: '', users: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'GrantImageToUsers',
    request_method: 'GET',
    request_params: {
      'image' => image,
      'users' => users,
    },
  }

  grant_image_to_users_input_validate input

  request = Request.new input
  request.send
end
modify_image_attributes(description: '', image: '', image_name: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/image/modify_image_attributes.html

# File lib/qingcloud/sdk/service/image.rb, line 237
def modify_image_attributes(description: '', image: '', image_name: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifyImageAttributes',
    request_method: 'GET',
    request_params: {
      'description' => description,
      'image'       => image,
      'image_name'  => image_name,
    },
  }

  modify_image_attributes_input_validate input

  request = Request.new input
  request.send
end
revoke_image_from_users(image: '', users: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/image/revoke-image-from-users.html

# File lib/qingcloud/sdk/service/image.rb, line 269
def revoke_image_from_users(image: '', users: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'RevokeImageFromUsers',
    request_method: 'GET',
    request_params: {
      'image' => image,
      'users' => users,
    },
  }

  revoke_image_from_users_input_validate input

  request = Request.new input
  request.send
end

Private Instance Methods

capture_instance_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/image.rb, line 50
def capture_instance_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['instance'].nil? && !input['request_params']['instance'].to_s.empty?
    raise ParameterRequiredError.new('instance', 'CaptureInstanceInput')
  end
end
delete_images_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/image.rb, line 80
def delete_images_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['images'].nil? && !input['request_params']['images'].to_s.empty?
    raise ParameterRequiredError.new('images', 'DeleteImagesInput')
  end
end
describe_image_users_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/image.rb, line 112
def describe_image_users_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['image_id'].nil? && !input['request_params']['image_id'].to_s.empty?
    raise ParameterRequiredError.new('image_id', 'DescribeImageUsersInput')
  end
end
describe_images_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/image.rb, line 151
def describe_images_input_validate(input)
  input.deep_stringify_keys!

  if input['request_params']['processor_type'] && !input['request_params']['processor_type'].to_s.empty?
    processor_type_valid_values = %w(64bit 32bit)
    unless processor_type_valid_values.include? input['request_params']['processor_type'].to_s
      raise ParameterValueNotAllowedError.new(
        'processor_type',
        input['request_params']['processor_type'],
        processor_type_valid_values,
      )
    end
  end

  if input['request_params']['provider'] && !input['request_params']['provider'].to_s.empty?
    provider_valid_values = %w(system self)
    unless provider_valid_values.include? input['request_params']['provider'].to_s
      raise ParameterValueNotAllowedError.new(
        'provider',
        input['request_params']['provider'],
        provider_valid_values,
      )
    end
  end

  if input['request_params']['verbose'] && !input['request_params']['verbose'].to_s.empty?
    verbose_valid_values = ['0']
    unless verbose_valid_values.include? input['request_params']['verbose'].to_s
      raise ParameterValueNotAllowedError.new(
        'verbose',
        input['request_params']['verbose'],
        verbose_valid_values,
      )
    end
  end

  if input['request_params']['visibility'] && !input['request_params']['visibility'].to_s.empty?
    visibility_valid_values = %w(public private)
    unless visibility_valid_values.include? input['request_params']['visibility'].to_s
      raise ParameterValueNotAllowedError.new(
        'visibility',
        input['request_params']['visibility'],
        visibility_valid_values,
      )
    end
  end
end
grant_image_to_users_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/image.rb, line 222
def grant_image_to_users_input_validate(input)
  input.deep_stringify_keys!

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

  unless !input['request_params']['users'].nil? && !input['request_params']['users'].to_s.empty?
    raise ParameterRequiredError.new('users', 'GrantImageToUsersInput')
  end
end
modify_image_attributes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/image.rb, line 258
def modify_image_attributes_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['image'].nil? && !input['request_params']['image'].to_s.empty?
    raise ParameterRequiredError.new('image', 'ModifyImageAttributesInput')
  end
end
revoke_image_from_users_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/image.rb, line 289
def revoke_image_from_users_input_validate(input)
  input.deep_stringify_keys!

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

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