class QingCloud::SDK::MongoService

Attributes

config[RW]
properties[RW]

Public Class Methods

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

Public Instance Methods

add_mongo_instances(mongo: '', node_count: nil, private_ips: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/add_mongo_instances.html

# File lib/qingcloud/sdk/service/mongo.rb, line 30
def add_mongo_instances(mongo: '', node_count: nil, private_ips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'AddMongoInstances',
    request_method: 'GET',
    request_params: {
      'mongo'       => mongo,
      'node_count'  => node_count,
      'private_ips' => private_ips,
    },
  }

  add_mongo_instances_input_validate input

  request = Request.new input
  request.send
end
change_mongo_vxnet(mongo: '', private_ips: [], vxnet: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/change_mongo_vxnet.html

# File lib/qingcloud/sdk/service/mongo.rb, line 61
def change_mongo_vxnet(mongo: '', private_ips: [], vxnet: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ChangeMongoVxnet',
    request_method: 'GET',
    request_params: {
      'mongo'       => mongo,
      'private_ips' => private_ips,
      'vxnet'       => vxnet,
    },
  }

  change_mongo_vxnet_input_validate input

  request = Request.new input
  request.send
end
create_mongo(auto_backup_time: nil, description: '', mongo_name: '', mongo_password: '', mongo_type: nil, mongo_username: '', mongo_version: nil, private_ips: [], resource_class: nil, storage_size: nil, vxnet: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/create_mongo.html

# File lib/qingcloud/sdk/service/mongo.rb, line 100
def create_mongo(auto_backup_time: nil, description: '', mongo_name: '', mongo_password: '', mongo_type: nil, mongo_username: '', mongo_version: nil, private_ips: [], resource_class: nil, storage_size: nil, vxnet: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CreateMongo',
    request_method: 'GET',
    request_params: {
      'auto_backup_time' => auto_backup_time,
      'description'      => description,
      'mongo_name'       => mongo_name,
      'mongo_password'   => mongo_password,
      'mongo_type'       => mongo_type,
      'mongo_username'   => mongo_username,
      'mongo_version'    => mongo_version,
      'private_ips'      => private_ips,
      'resource_class'   => resource_class,
      'storage_size'     => storage_size,
      'vxnet'            => vxnet,
    },
  }

  create_mongo_input_validate input

  request = Request.new input
  request.send
end
create_mongo_from_snapshot(auto_backup_time: nil, mongo_name: '', mongo_type: nil, mongo_version: nil, resource_class: nil, snapshot: '', storage_size: nil, vxnet: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/create_mongo_from_snapshot.html

# File lib/qingcloud/sdk/service/mongo.rb, line 151
def create_mongo_from_snapshot(auto_backup_time: nil, mongo_name: '', mongo_type: nil, mongo_version: nil, resource_class: nil, snapshot: '', storage_size: nil, vxnet: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CreateMongoFromSnapshot',
    request_method: 'GET',
    request_params: {
      'auto_backup_time' => auto_backup_time,
      'mongo_name'       => mongo_name,
      'mongo_type'       => mongo_type,
      'mongo_version'    => mongo_version,
      'resource_class'   => resource_class,
      'snapshot'         => snapshot,
      'storage_size'     => storage_size,
      'vxnet'            => vxnet,
    },
  }

  create_mongo_from_snapshot_input_validate input

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

Documentation URL: docs.qingcloud.com/api/mongo/delete_mongos.html

# File lib/qingcloud/sdk/service/mongo.rb, line 184
def delete_mongos(mongos: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteMongos',
    request_method: 'GET',
    request_params: {
      'mongos' => mongos,
    },
  }

  delete_mongos_input_validate input

  request = Request.new input
  request.send
end
describe_mongo_nodes(limit: nil, mongo: '', offset: nil, status: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/describe_mongo_nodes.html

# File lib/qingcloud/sdk/service/mongo.rb, line 214
def describe_mongo_nodes(limit: nil, mongo: '', offset: nil, status: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeMongoNodes',
    request_method: 'GET',
    request_params: {
      'limit'  => limit,
      'mongo'  => mongo,
      'offset' => offset,
      'status' => status,
    },
  }

  describe_mongo_nodes_input_validate input

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

Documentation URL: docs.qingcloud.com/api/mongo/describe_mongo_parameters.html

# File lib/qingcloud/sdk/service/mongo.rb, line 247
def describe_mongo_parameters(limit: nil, mongo: '', offset: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeMongoParameters',
    request_method: 'GET',
    request_params: {
      'limit'  => limit,
      'mongo'  => mongo,
      'offset' => offset,
    },
  }

  describe_mongo_parameters_input_validate input

  request = Request.new input
  request.send
end
describe_mongos(limit: nil, mongo_name: '', mongos: [], offset: nil, status: [], tags: [], verbose: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/describe_mongos.html

# File lib/qingcloud/sdk/service/mongo.rb, line 279
def describe_mongos(limit: nil, mongo_name: '', mongos: [], offset: nil, status: [], tags: [], verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeMongos',
    request_method: 'GET',
    request_params: {
      'limit'      => limit,
      'mongo_name' => mongo_name,
      'mongos'     => mongos,
      'offset'     => offset,
      'status'     => status,
      'tags'       => tags,
      'verbose'    => verbose,
    },
  }

  describe_mongos_input_validate input

  request = Request.new input
  request.send
end
get_mongo_monitor(end_time: '', meters: [], resource: '', start_time: '', step: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/monitor/get_mongo_monitor.html

# File lib/qingcloud/sdk/service/mongo.rb, line 311
def get_mongo_monitor(end_time: '', meters: [], resource: '', start_time: '', step: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'GetMongoMonitor',
    request_method: 'GET',
    request_params: {
      'end_time'   => end_time,
      'meters'     => meters,
      'resource'   => resource,
      'start_time' => start_time,
      'step'       => step, # step's available values: 5m, 15m, 2h, 1d
    },
  }

  get_mongo_monitor_input_validate input

  request = Request.new input
  request.send
end
modify_mongo_attributes(auto_backup_time: nil, description: '', mongo: '', mongo_name: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/modify_mongo_attributes.html

# File lib/qingcloud/sdk/service/mongo.rb, line 372
def modify_mongo_attributes(auto_backup_time: nil, description: '', mongo: '', mongo_name: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifyMongoAttributes',
    request_method: 'GET',
    request_params: {
      'auto_backup_time' => auto_backup_time,
      'description'      => description,
      'mongo'            => mongo,
      'mongo_name'       => mongo_name,
    },
  }

  modify_mongo_attributes_input_validate input

  request = Request.new input
  request.send
end
modify_mongo_instances(mongo: '', private_ips: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/modify_mongo_instances.html

# File lib/qingcloud/sdk/service/mongo.rb, line 405
def modify_mongo_instances(mongo: '', private_ips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifyMongoInstances',
    request_method: 'GET',
    request_params: {
      'mongo'       => mongo,
      'private_ips' => private_ips,
    },
  }

  modify_mongo_instances_input_validate input

  request = Request.new input
  request.send
end
remove_mongo_instances(mongo: '', mongo_instances: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/remove_mongo_instances.html

# File lib/qingcloud/sdk/service/mongo.rb, line 439
def remove_mongo_instances(mongo: '', mongo_instances: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'RemoveMongoInstances',
    request_method: 'GET',
    request_params: {
      'mongo'           => mongo,
      'mongo_instances' => mongo_instances,
    },
  }

  remove_mongo_instances_input_validate input

  request = Request.new input
  request.send
end
resize_mongos(mongo_type: nil, mongos: [], storage_size: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/resize_mongos.html

# File lib/qingcloud/sdk/service/mongo.rb, line 474
def resize_mongos(mongo_type: nil, mongos: [], storage_size: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ResizeMongos',
    request_method: 'GET',
    request_params: {
      'mongo_type'   => mongo_type,
      'mongos'       => mongos,
      'storage_size' => storage_size,
    },
  }

  resize_mongos_input_validate input

  request = Request.new input
  request.send
end
start_mongos(mongos: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/mongo/start_mongos.html

# File lib/qingcloud/sdk/service/mongo.rb, line 506
def start_mongos(mongos: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'StartMongos',
    request_method: 'GET',
    request_params: {
      'mongos' => mongos,
    },
  }

  start_mongos_input_validate input

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

Documentation URL: docs.qingcloud.com/api/mongo/stop_mongos.html

# File lib/qingcloud/sdk/service/mongo.rb, line 536
def stop_mongos(mongos: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'StopMongos',
    request_method: 'GET',
    request_params: {
      'mongos' => mongos,
    },
  }

  stop_mongos_input_validate input

  request = Request.new input
  request.send
end

Private Instance Methods

add_mongo_instances_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 51
def add_mongo_instances_input_validate(input)
  input.deep_stringify_keys!

  input['request_params']['private_ips'].map do |x|
  end
end
change_mongo_vxnet_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 82
def change_mongo_vxnet_input_validate(input)
  input.deep_stringify_keys!

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

  input['request_params']['private_ips'].map do |x|
  end

  unless !input['request_params']['vxnet'].nil? && !input['request_params']['vxnet'].to_s.empty?
    raise ParameterRequiredError.new('vxnet', 'ChangeMongoVxnetInput')
  end
end
create_mongo_from_snapshot_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 177
def create_mongo_from_snapshot_input_validate(input)
  input.deep_stringify_keys!
end
create_mongo_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 129
def create_mongo_input_validate(input)
  input.deep_stringify_keys!

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

  input['request_params']['private_ips'].map do |x|
  end

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

  unless !input['request_params']['vxnet'].nil? && !input['request_params']['vxnet'].to_s.empty?
    raise ParameterRequiredError.new('vxnet', 'CreateMongoInput')
  end
end
delete_mongos_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 203
def delete_mongos_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['mongos'].nil? && !input['request_params']['mongos'].to_s.empty?
    raise ParameterRequiredError.new('mongos', 'DeleteMongosInput')
  end
end
describe_mongo_nodes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 236
def describe_mongo_nodes_input_validate(input)
  input.deep_stringify_keys!

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

  unless !input['request_params']['mongo'].nil? && !input['request_params']['mongo'].to_s.empty?
    raise ParameterRequiredError.new('mongo', 'DescribeMongoParametersInput')
  end
end
describe_mongos_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 304
def describe_mongos_input_validate(input)
  input.deep_stringify_keys!
end
get_mongo_monitor_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 334
def get_mongo_monitor_input_validate(input)
  input.deep_stringify_keys!

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

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

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

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

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

  if input['request_params']['step'] && !input['request_params']['step'].to_s.empty?
    step_valid_values = %w(5m 15m 2h 1d)
    unless step_valid_values.include? input['request_params']['step'].to_s
      raise ParameterValueNotAllowedError.new(
        'step',
        input['request_params']['step'],
        step_valid_values,
      )
    end
  end
end
modify_mongo_attributes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 394
def modify_mongo_attributes_input_validate(input)
  input.deep_stringify_keys!

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

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

  input['request_params']['private_ips'].map do |x|
  end
end
remove_mongo_instances_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 459
def remove_mongo_instances_input_validate(input)
  input.deep_stringify_keys!

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

  unless !input['request_params']['mongo_instances'].nil? && !input['request_params']['mongo_instances'].to_s.empty?
    raise ParameterRequiredError.new('mongo_instances', 'RemoveMongoInstancesInput')
  end
end
resize_mongos_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 495
def resize_mongos_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['mongos'].nil? && !input['request_params']['mongos'].to_s.empty?
    raise ParameterRequiredError.new('mongos', 'ResizeMongosInput')
  end
end
start_mongos_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 525
def start_mongos_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['mongos'].nil? && !input['request_params']['mongos'].to_s.empty?
    raise ParameterRequiredError.new('mongos', 'StartMongosInput')
  end
end
stop_mongos_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/mongo.rb, line 555
def stop_mongos_input_validate(input)
  input.deep_stringify_keys!

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