class QingCloud::SDK::CacheService

Attributes

config[RW]
properties[RW]

Public Class Methods

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

Public Instance Methods

add_cache_nodes(cache: '', node_count: nil, private_ips: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/add_cache_nodes.html

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

  add_cache_nodes_input_validate input

  request = Request.new input
  request.send
end
apply_cache_parameter_group(cache_parameter_group: '', caches: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/apply_cache_parameter_group.html

# File lib/qingcloud/sdk/service/cache.rb, line 77
def apply_cache_parameter_group(cache_parameter_group: '', caches: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ApplyCacheParameterGroup',
    request_method: 'GET',
    request_params: {
      'cache_parameter_group' => cache_parameter_group,
      'caches'                => caches,
    },
  }

  apply_cache_parameter_group_input_validate input

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

Documentation URL: docs.qingcloud.com/api/cache/change_cache_vxnet.html

# File lib/qingcloud/sdk/service/cache.rb, line 108
def change_cache_vxnet(cache: '', private_ips: [], vxnet: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ChangeCacheVxnet',
    request_method: 'GET',
    request_params: {
      'cache'       => cache,
      'private_ips' => private_ips,
      'vxnet'       => vxnet,
    },
  }

  change_cache_vxnet_input_validate input

  request = Request.new input
  request.send
end
create_cache(auto_backup_time: nil, cache_class: nil, cache_name: '', cache_parameter_group: '', cache_size: nil, cache_type: '', master_count: nil, network_type: nil, node_count: nil, private_ips: [], replicate_count: nil, vxnet: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/create_cache.html

# File lib/qingcloud/sdk/service/cache.rb, line 155
def create_cache(auto_backup_time: nil, cache_class: nil, cache_name: '', cache_parameter_group: '', cache_size: nil, cache_type: '', master_count: nil, network_type: nil, node_count: nil, private_ips: [], replicate_count: nil, vxnet: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CreateCache',
    request_method: 'GET',
    request_params: {
      'auto_backup_time'      => auto_backup_time,
      'cache_class'           => cache_class, # cache_class's available values: 0, 1
      'cache_name'            => cache_name,
      'cache_parameter_group' => cache_parameter_group,
      'cache_size'            => cache_size,
      'cache_type'            => cache_type,
      'master_count'          => master_count,
      'network_type'          => network_type,
      'node_count'            => node_count,
      'private_ips'           => private_ips,
      'replicate_count'       => replicate_count,
      'vxnet'                 => vxnet,
    },
  }

  create_cache_input_validate input

  request = Request.new input
  request.send
end
create_cache_from_snapshot(auto_backup_time: nil, cache_class: nil, cache_name: '', cache_parameter_group: '', cache_size: nil, cache_type: '', network_type: nil, node_count: nil, private_ips: [], snapshot: '', vxnet: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/create_cache_from_snapshot.html

# File lib/qingcloud/sdk/service/cache.rb, line 226
def create_cache_from_snapshot(auto_backup_time: nil, cache_class: nil, cache_name: '', cache_parameter_group: '', cache_size: nil, cache_type: '', network_type: nil, node_count: nil, private_ips: [], snapshot: '', vxnet: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CreateCacheFromSnapshot',
    request_method: 'GET',
    request_params: {
      'auto_backup_time'      => auto_backup_time,
      'cache_class'           => cache_class, # cache_class's available values: 0, 1
      'cache_name'            => cache_name,
      'cache_parameter_group' => cache_parameter_group,
      'cache_size'            => cache_size,
      'cache_type'            => cache_type,
      'network_type'          => network_type,
      'node_count'            => node_count,
      'private_ips'           => private_ips,
      'snapshot'              => snapshot,
      'vxnet'                 => vxnet,
    },
  }

  create_cache_from_snapshot_input_validate input

  request = Request.new input
  request.send
end
create_cache_parameter_group(cache_parameter_group_name: '', cache_type: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/create_cache_parameter_group.html

# File lib/qingcloud/sdk/service/cache.rb, line 292
def create_cache_parameter_group(cache_parameter_group_name: '', cache_type: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CreateCacheParameterGroup',
    request_method: 'GET',
    request_params: {
      'cache_parameter_group_name' => cache_parameter_group_name,
      'cache_type'                 => cache_type, # cache_type's available values: redis2.8.17, memcached1.4.13
    },
  }

  create_cache_parameter_group_input_validate input

  request = Request.new input
  request.send
end
delete_cache_nodes(cache: '', cache_nodes: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/delete_cache_nodes.html

# File lib/qingcloud/sdk/service/cache.rb, line 334
def delete_cache_nodes(cache: '', cache_nodes: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteCacheNodes',
    request_method: 'GET',
    request_params: {
      'cache'       => cache,
      'cache_nodes' => cache_nodes,
    },
  }

  delete_cache_nodes_input_validate input

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

Documentation URL: docs.qingcloud.com/api/cache/delete_cache_parameter_groups.html

# File lib/qingcloud/sdk/service/cache.rb, line 369
def delete_cache_parameter_groups(cache_parameter_groups: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteCacheParameterGroups',
    request_method: 'GET',
    request_params: {
      'cache_parameter_groups' => cache_parameter_groups,
    },
  }

  delete_cache_parameter_groups_input_validate input

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

Documentation URL: docs.qingcloud.com/api/cache/delete_caches.html

# File lib/qingcloud/sdk/service/cache.rb, line 399
def delete_caches(caches: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteCaches',
    request_method: 'GET',
    request_params: {
      'caches' => caches,
    },
  }

  delete_caches_input_validate input

  request = Request.new input
  request.send
end
describe_cache_nodes(cache: '', cache_nodes: [], limit: nil, offset: nil, search_word: '', status: [], verbose: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/describe_cache_nodes.html

# File lib/qingcloud/sdk/service/cache.rb, line 429
def describe_cache_nodes(cache: '', cache_nodes: [], limit: nil, offset: nil, search_word: '', status: [], verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeCacheNodes',
    request_method: 'GET',
    request_params: {
      'cache'       => cache,
      'cache_nodes' => cache_nodes,
      'limit'       => limit,
      'offset'      => offset,
      'search_word' => search_word,
      'status'      => status,
      'verbose'     => verbose,
    },
  }

  describe_cache_nodes_input_validate input

  request = Request.new input
  request.send
end
describe_cache_parameter_groups(cache_parameter_groups: [], cache_type: '', limit: nil, offset: nil, search_word: '', verbose: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/describe_cache_parameter_groups.html

# File lib/qingcloud/sdk/service/cache.rb, line 461
def describe_cache_parameter_groups(cache_parameter_groups: [], cache_type: '', limit: nil, offset: nil, search_word: '', verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeCacheParameterGroups',
    request_method: 'GET',
    request_params: {
      'cache_parameter_groups' => cache_parameter_groups,
      'cache_type'             => cache_type,
      'limit'                  => limit,
      'offset'                 => offset,
      'search_word'            => search_word,
      'verbose'                => verbose,
    },
  }

  describe_cache_parameter_groups_input_validate input

  request = Request.new input
  request.send
end
describe_cache_parameters(cache_parameter_group: '', verbose: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/describe_cache_parameters.html

# File lib/qingcloud/sdk/service/cache.rb, line 492
def describe_cache_parameters(cache_parameter_group: '', verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeCacheParameters',
    request_method: 'GET',
    request_params: {
      'cache_parameter_group' => cache_parameter_group,
      'verbose'               => verbose,
    },
  }

  describe_cache_parameters_input_validate input

  request = Request.new input
  request.send
end
describe_caches(cache_type: [], caches: [], limit: nil, offset: nil, search_word: '', status: [], tags: [], verbose: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/describe_caches.html

# File lib/qingcloud/sdk/service/cache.rb, line 523
def describe_caches(cache_type: [], caches: [], limit: nil, offset: nil, search_word: '', status: [], tags: [], verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeCaches',
    request_method: 'GET',
    request_params: {
      'cache_type'  => cache_type,
      'caches'      => caches,
      'limit'       => limit,
      'offset'      => offset,
      'search_word' => search_word,
      'status'      => status,
      'tags'        => tags,
      'verbose'     => verbose,
    },
  }

  describe_caches_input_validate input

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

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

# File lib/qingcloud/sdk/service/cache.rb, line 556
def get_cache_monitor(end_time: '', meters: [], resource: '', start_time: '', step: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'GetCacheMonitor',
    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_cache_monitor_input_validate input

  request = Request.new input
  request.send
end
modify_cache_attributes(auto_backup_time: nil, cache: '', cache_name: '', description: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/modify_cache_attributes.html

# File lib/qingcloud/sdk/service/cache.rb, line 617
def modify_cache_attributes(auto_backup_time: nil, cache: '', cache_name: '', description: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifyCacheAttributes',
    request_method: 'GET',
    request_params: {
      'auto_backup_time' => auto_backup_time,
      'cache'            => cache,
      'cache_name'       => cache_name,
      'description'      => description,
    },
  }

  modify_cache_attributes_input_validate input

  request = Request.new input
  request.send
end
modify_cache_node_attributes(cache_node: '', cache_node_name: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/modify_cache_node_attributes.html

# File lib/qingcloud/sdk/service/cache.rb, line 650
def modify_cache_node_attributes(cache_node: '', cache_node_name: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifyCacheNodeAttributes',
    request_method: 'GET',
    request_params: {
      'cache_node'      => cache_node,
      'cache_node_name' => cache_node_name,
    },
  }

  modify_cache_node_attributes_input_validate input

  request = Request.new input
  request.send
end
modify_cache_parameter_group_attributes(cache_parameter_group: '', cache_parameter_group_name: '', description: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/modify_cache_parameter_group_attributes.html

# File lib/qingcloud/sdk/service/cache.rb, line 681
def modify_cache_parameter_group_attributes(cache_parameter_group: '', cache_parameter_group_name: '', description: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifyCacheParameterGroupAttributes',
    request_method: 'GET',
    request_params: {
      'cache_parameter_group'      => cache_parameter_group,
      'cache_parameter_group_name' => cache_parameter_group_name,
      'description'                => description,
    },
  }

  modify_cache_parameter_group_attributes_input_validate input

  request = Request.new input
  request.send
end
reset_cache_parameters(cache_parameter_group: '', cache_parameter_names: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/reset_cache_parameters.html

# File lib/qingcloud/sdk/service/cache.rb, line 713
def reset_cache_parameters(cache_parameter_group: '', cache_parameter_names: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ResetCacheParameters',
    request_method: 'GET',
    request_params: {
      'cache_parameter_group' => cache_parameter_group,
      'cache_parameter_names' => cache_parameter_names,
    },
  }

  reset_cache_parameters_input_validate input

  request = Request.new input
  request.send
end
resize_caches(cache_size: nil, caches: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/resize_cache.html

# File lib/qingcloud/sdk/service/cache.rb, line 744
def resize_caches(cache_size: nil, caches: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ResizeCaches',
    request_method: 'GET',
    request_params: {
      'cache_size' => cache_size,
      'caches'     => caches,
    },
  }

  resize_caches_input_validate input

  request = Request.new input
  request.send
end
restart_cache_nodes(cache: '', cache_nodes: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/restart_cache_nodes.html

# File lib/qingcloud/sdk/service/cache.rb, line 779
def restart_cache_nodes(cache: '', cache_nodes: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'RestartCacheNodes',
    request_method: 'GET',
    request_params: {
      'cache'       => cache,
      'cache_nodes' => cache_nodes,
    },
  }

  restart_cache_nodes_input_validate input

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

restart_caches: Only available for memcached. Documentation URL: docs.qingcloud.com/api/cache/restart_caches.html

# File lib/qingcloud/sdk/service/cache.rb, line 815
def restart_caches(caches: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'RestartCaches',
    request_method: 'GET',
    request_params: {
      'caches' => caches,
    },
  }

  restart_caches_input_validate input

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

Documentation URL: docs.qingcloud.com/api/cache/start_caches.html

# File lib/qingcloud/sdk/service/cache.rb, line 845
def start_caches(caches: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'StartCaches',
    request_method: 'GET',
    request_params: {
      'caches' => caches,
    },
  }

  start_caches_input_validate input

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

Documentation URL: docs.qingcloud.com/api/cache/stop_caches.html

# File lib/qingcloud/sdk/service/cache.rb, line 875
def stop_caches(caches: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'StopCaches',
    request_method: 'GET',
    request_params: {
      'caches' => caches,
    },
  }

  stop_caches_input_validate input

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

Documentation URL: docs.qingcloud.com/api/cache/update_cache.html

# File lib/qingcloud/sdk/service/cache.rb, line 905
def update_cache(cache: '', private_ips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'UpdateCache',
    request_method: 'GET',
    request_params: {
      'cache'       => cache,
      'private_ips' => private_ips,
    },
  }

  update_cache_input_validate input

  request = Request.new input
  request.send
end
update_cache_parameters(cache_parameter_group: '', parameters: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/cache/update_cache_parameters.html

# File lib/qingcloud/sdk/service/cache.rb, line 947
def update_cache_parameters(cache_parameter_group: '', parameters: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'UpdateCacheParameters',
    request_method: 'GET',
    request_params: {
      'cache_parameter_group' => cache_parameter_group,
      'parameters'            => parameters,
    },
  }

  update_cache_parameters_input_validate input

  request = Request.new input
  request.send
end

Private Instance Methods

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

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

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

  input['request_params']['private_ips'].map do |x|
    next unless x['cache_role'] && !x['cache_role'].to_s.empty?
    cache_role_valid_values = %w(master slave)
    next if cache_role_valid_values.include? x['cache_role'].to_s
    raise ParameterValueNotAllowedError.new(
      'cache_role',
      x['cache_role'],
      cache_role_valid_values,
    )
  end
end
apply_cache_parameter_group_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 97
def apply_cache_parameter_group_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['cache_parameter_group'].nil? && !input['request_params']['cache_parameter_group'].to_s.empty?
    raise ParameterRequiredError.new('cache_parameter_group', 'ApplyCacheParameterGroupInput')
  end
end
change_cache_vxnet_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 129
def change_cache_vxnet_input_validate(input)
  input.deep_stringify_keys!

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

  input['request_params']['private_ips'].map do |x|
    next unless x['cache_role'] && !x['cache_role'].to_s.empty?
    cache_role_valid_values = %w(master slave)
    next if cache_role_valid_values.include? x['cache_role'].to_s
    raise ParameterValueNotAllowedError.new(
      'cache_role',
      x['cache_role'],
      cache_role_valid_values,
    )
  end

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

  if input['request_params']['cache_class'] && !input['request_params']['cache_class'].to_s.empty?
    cache_class_valid_values = %w(0 1)
    unless cache_class_valid_values.include? input['request_params']['cache_class'].to_s
      raise ParameterValueNotAllowedError.new(
        'cache_class',
        input['request_params']['cache_class'],
        cache_class_valid_values,
      )
    end
  end

  input['request_params']['private_ips'].map do |x|
    next unless x['cache_role'] && !x['cache_role'].to_s.empty?
    cache_role_valid_values = %w(master slave)
    next if cache_role_valid_values.include? x['cache_role'].to_s
    raise ParameterValueNotAllowedError.new(
      'cache_role',
      x['cache_role'],
      cache_role_valid_values,
    )
  end

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

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

  if input['request_params']['cache_class'] && !input['request_params']['cache_class'].to_s.empty?
    cache_class_valid_values = %w(0 1)
    unless cache_class_valid_values.include? input['request_params']['cache_class'].to_s
      raise ParameterValueNotAllowedError.new(
        'cache_class',
        input['request_params']['cache_class'],
        cache_class_valid_values,
      )
    end
  end

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

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

  input['request_params']['private_ips'].map do |x|
    next unless x['cache_role'] && !x['cache_role'].to_s.empty?
    cache_role_valid_values = %w(master slave)
    next if cache_role_valid_values.include? x['cache_role'].to_s
    raise ParameterValueNotAllowedError.new(
      'cache_role',
      x['cache_role'],
      cache_role_valid_values,
    )
  end

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

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

  if input['request_params']['cache_type'] && !input['request_params']['cache_type'].to_s.empty?
    cache_type_valid_values = ['redis2.8.17', 'memcached1.4.13']
    unless cache_type_valid_values.include? input['request_params']['cache_type'].to_s
      raise ParameterValueNotAllowedError.new(
        'cache_type',
        input['request_params']['cache_type'],
        cache_type_valid_values,
      )
    end
  end
end
delete_cache_nodes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 354
def delete_cache_nodes_input_validate(input)
  input.deep_stringify_keys!

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

  unless !input['request_params']['cache_nodes'].nil? && !input['request_params']['cache_nodes'].to_s.empty?
    raise ParameterRequiredError.new('cache_nodes', 'DeleteCacheNodesInput')
  end
end
delete_cache_parameter_groups_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 388
def delete_cache_parameter_groups_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['cache_parameter_groups'].nil? && !input['request_params']['cache_parameter_groups'].to_s.empty?
    raise ParameterRequiredError.new('cache_parameter_groups', 'DeleteCacheParameterGroupsInput')
  end
end
delete_caches_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 418
def delete_caches_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['caches'].nil? && !input['request_params']['caches'].to_s.empty?
    raise ParameterRequiredError.new('caches', 'DeleteCachesInput')
  end
end
describe_cache_nodes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 454
def describe_cache_nodes_input_validate(input)
  input.deep_stringify_keys!
end
describe_cache_parameter_groups_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 485
def describe_cache_parameter_groups_input_validate(input)
  input.deep_stringify_keys!
end
describe_cache_parameters_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 512
def describe_cache_parameters_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['cache_parameter_group'].nil? && !input['request_params']['cache_parameter_group'].to_s.empty?
    raise ParameterRequiredError.new('cache_parameter_group', 'DescribeCacheParametersInput')
  end
end
describe_caches_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 549
def describe_caches_input_validate(input)
  input.deep_stringify_keys!
end
get_cache_monitor_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 579
def get_cache_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', 'GetCacheMonitorInput')
  end

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

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

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

  unless !input['request_params']['step'].nil? && !input['request_params']['step'].to_s.empty?
    raise ParameterRequiredError.new('step', 'GetCacheMonitorInput')
  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_cache_attributes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 639
def modify_cache_attributes_input_validate(input)
  input.deep_stringify_keys!

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

  unless !input['request_params']['cache_node'].nil? && !input['request_params']['cache_node'].to_s.empty?
    raise ParameterRequiredError.new('cache_node', 'ModifyCacheNodeAttributesInput')
  end
end
modify_cache_parameter_group_attributes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 702
def modify_cache_parameter_group_attributes_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['cache_parameter_group'].nil? && !input['request_params']['cache_parameter_group'].to_s.empty?
    raise ParameterRequiredError.new('cache_parameter_group', 'ModifyCacheParameterGroupAttributesInput')
  end
end
reset_cache_parameters_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 733
def reset_cache_parameters_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['cache_parameter_group'].nil? && !input['request_params']['cache_parameter_group'].to_s.empty?
    raise ParameterRequiredError.new('cache_parameter_group', 'ResetCacheParametersInput')
  end
end
resize_caches_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 764
def resize_caches_input_validate(input)
  input.deep_stringify_keys!

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

  unless !input['request_params']['caches'].nil? && !input['request_params']['caches'].to_s.empty?
    raise ParameterRequiredError.new('caches', 'ResizeCachesInput')
  end
end
restart_cache_nodes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 799
def restart_cache_nodes_input_validate(input)
  input.deep_stringify_keys!

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

  unless !input['request_params']['cache_nodes'].nil? && !input['request_params']['cache_nodes'].to_s.empty?
    raise ParameterRequiredError.new('cache_nodes', 'RestartCacheNodesInput')
  end
end
restart_caches_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 834
def restart_caches_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['caches'].nil? && !input['request_params']['caches'].to_s.empty?
    raise ParameterRequiredError.new('caches', 'RestartCachesInput')
  end
end
start_caches_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 864
def start_caches_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['caches'].nil? && !input['request_params']['caches'].to_s.empty?
    raise ParameterRequiredError.new('caches', 'StartCachesInput')
  end
end
stop_caches_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 894
def stop_caches_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['caches'].nil? && !input['request_params']['caches'].to_s.empty?
    raise ParameterRequiredError.new('caches', 'StopCachesInput')
  end
end
update_cache_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 925
def update_cache_input_validate(input)
  input.deep_stringify_keys!

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

  input['request_params']['private_ips'].map do |x|
    next unless x['cache_role'] && !x['cache_role'].to_s.empty?
    cache_role_valid_values = %w(master slave)
    next if cache_role_valid_values.include? x['cache_role'].to_s
    raise ParameterValueNotAllowedError.new(
      'cache_role',
      x['cache_role'],
      cache_role_valid_values,
    )
  end
end
update_cache_parameters_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/cache.rb, line 967
def update_cache_parameters_input_validate(input)
  input.deep_stringify_keys!

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

  unless input['request_params']['parameters'].nil?

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

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

    if input['request_params']['parameters']['is_readonly'] && !input['request_params']['parameters']['is_readonly'].to_s.empty?
      is_readonly_valid_values = %w(0 1)
      unless is_readonly_valid_values.include? input['request_params']['parameters']['is_readonly'].to_s
        raise ParameterValueNotAllowedError.new(
          'is_readonly',
          input['request_params']['parameters']['is_readonly'],
          is_readonly_valid_values,
        )
      end
    end

  end

  if input['request_params']['parameters'].nil?
    raise ParameterRequiredError.new('parameters', 'UpdateCacheParametersInput')
  end
end