class QingCloud::SDK::KeyPairService

Attributes

config[RW]
properties[RW]

Public Class Methods

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

Public Instance Methods

attach_key_pairs(instances: [], keypairs: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/keypair/attach_key_pairs.html

# File lib/qingcloud/sdk/service/key_pair.rb, line 30
def attach_key_pairs(instances: [], keypairs: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'AttachKeyPairs',
    request_method: 'GET',
    request_params: {
      'instances' => instances,
      'keypairs'  => keypairs,
    },
  }

  attach_key_pairs_input_validate input

  request = Request.new input
  request.send
end
create_key_pair(encrypt_method: '', keypair_name: '', mode: '', public_key: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/keypair/create_key_pairs.html

# File lib/qingcloud/sdk/service/key_pair.rb, line 65
def create_key_pair(encrypt_method: '', keypair_name: '', mode: '', public_key: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CreateKeyPair',
    request_method: 'GET',
    request_params: {
      'encrypt_method' => encrypt_method, # encrypt_method's available values: ssh-rsa, ssh-dss
      'keypair_name'   => keypair_name,
      'mode'           => mode, # mode's available values: system, user
      'public_key'     => public_key,
    },
  }

  create_key_pair_input_validate input

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

Documentation URL: docs.qingcloud.com/api/keypair/delete_key_pairs.html

# File lib/qingcloud/sdk/service/key_pair.rb, line 116
def delete_key_pairs(keypairs: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteKeyPairs',
    request_method: 'GET',
    request_params: {
      'keypairs' => keypairs,
    },
  }

  delete_key_pairs_input_validate input

  request = Request.new input
  request.send
end
describe_key_pairs(encrypt_method: '', instance_id: '', keypairs: [], limit: nil, offset: nil, search_word: '', tags: [], verbose: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/keypair/describe_key_pairs.html

# File lib/qingcloud/sdk/service/key_pair.rb, line 146
def describe_key_pairs(encrypt_method: '', instance_id: '', keypairs: [], limit: nil, offset: nil, search_word: '', tags: [], verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeKeyPairs',
    request_method: 'GET',
    request_params: {
      'encrypt_method' => encrypt_method, # encrypt_method's available values: ssh-rsa, ssh-dss
      'instance_id'    => instance_id,
      'keypairs'       => keypairs,
      'limit'          => limit,
      'offset'         => offset,
      'search_word'    => search_word,
      'tags'           => tags,
      'verbose'        => verbose,
    },
  }

  describe_key_pairs_input_validate input

  request = Request.new input
  request.send
end
detach_key_pairs(instances: [], keypairs: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/keypair/detach_key_pairs.html

# File lib/qingcloud/sdk/service/key_pair.rb, line 190
def detach_key_pairs(instances: [], keypairs: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DetachKeyPairs',
    request_method: 'GET',
    request_params: {
      'instances' => instances,
      'keypairs'  => keypairs,
    },
  }

  detach_key_pairs_input_validate input

  request = Request.new input
  request.send
end
modify_key_pair_attributes(description: '', keypair: '', keypair_name: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/keypair/modify_key_pair_attributes.html

# File lib/qingcloud/sdk/service/key_pair.rb, line 225
def modify_key_pair_attributes(description: '', keypair: '', keypair_name: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifyKeyPairAttributes',
    request_method: 'GET',
    request_params: {
      'description'  => description,
      'keypair'      => keypair,
      'keypair_name' => keypair_name,
    },
  }

  modify_key_pair_attributes_input_validate input

  request = Request.new input
  request.send
end

Private Instance Methods

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

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

  unless !input['request_params']['keypairs'].nil? && !input['request_params']['keypairs'].to_s.empty?
    raise ParameterRequiredError.new('keypairs', 'AttachKeyPairsInput')
  end
end
create_key_pair_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/key_pair.rb, line 87
def create_key_pair_input_validate(input)
  input.deep_stringify_keys!

  if input['request_params']['encrypt_method'] && !input['request_params']['encrypt_method'].to_s.empty?
    encrypt_method_valid_values = ['ssh-rsa', 'ssh-dss']
    unless encrypt_method_valid_values.include? input['request_params']['encrypt_method'].to_s
      raise ParameterValueNotAllowedError.new(
        'encrypt_method',
        input['request_params']['encrypt_method'],
        encrypt_method_valid_values,
      )
    end
  end

  if input['request_params']['mode'] && !input['request_params']['mode'].to_s.empty?
    mode_valid_values = %w(system user)
    unless mode_valid_values.include? input['request_params']['mode'].to_s
      raise ParameterValueNotAllowedError.new(
        'mode',
        input['request_params']['mode'],
        mode_valid_values,
      )
    end
  end
end
delete_key_pairs_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/key_pair.rb, line 135
def delete_key_pairs_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['keypairs'].nil? && !input['request_params']['keypairs'].to_s.empty?
    raise ParameterRequiredError.new('keypairs', 'DeleteKeyPairsInput')
  end
end
describe_key_pairs_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/key_pair.rb, line 172
def describe_key_pairs_input_validate(input)
  input.deep_stringify_keys!

  if input['request_params']['encrypt_method'] && !input['request_params']['encrypt_method'].to_s.empty?
    encrypt_method_valid_values = ['ssh-rsa', 'ssh-dss']
    unless encrypt_method_valid_values.include? input['request_params']['encrypt_method'].to_s
      raise ParameterValueNotAllowedError.new(
        'encrypt_method',
        input['request_params']['encrypt_method'],
        encrypt_method_valid_values,
      )
    end
  end
end
detach_key_pairs_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/key_pair.rb, line 210
def detach_key_pairs_input_validate(input)
  input.deep_stringify_keys!

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

  unless !input['request_params']['keypairs'].nil? && !input['request_params']['keypairs'].to_s.empty?
    raise ParameterRequiredError.new('keypairs', 'DetachKeyPairsInput')
  end
end
modify_key_pair_attributes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/key_pair.rb, line 246
def modify_key_pair_attributes_input_validate(input)
  input.deep_stringify_keys!

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