class QingCloud::SDK::EIPService

Attributes

config[RW]
properties[RW]

Public Class Methods

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

Public Instance Methods

allocate_eips(bandwidth: nil, billing_mode: '', count: nil, eip_name: '', need_icp: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/eip/allocate_eips.html

# File lib/qingcloud/sdk/service/eip.rb, line 30
def allocate_eips(bandwidth: nil, billing_mode: '', count: nil, eip_name: '', need_icp: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'AllocateEips',
    request_method: 'GET',
    request_params: {
      'bandwidth'    => bandwidth,
      'billing_mode' => billing_mode, # billing_mode's available values: bandwidth, traffic
      'count'        => count,
      'eip_name'     => eip_name,
      'need_icp'     => need_icp, # need_icp's available values: 0, 1
    },
  }

  allocate_eips_input_validate input

  request = Request.new input
  request.send
end
associate_eip(eip: '', instance: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/eip/associate_eip.html

# File lib/qingcloud/sdk/service/eip.rb, line 86
def associate_eip(eip: '', instance: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'AssociateEip',
    request_method: 'GET',
    request_params: {
      'eip'      => eip,
      'instance' => instance,
    },
  }

  associate_eip_input_validate input

  request = Request.new input
  request.send
end
change_eips_bandwidth(bandwidth: nil, eips: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/eip/dissociate_eips.html

# File lib/qingcloud/sdk/service/eip.rb, line 121
def change_eips_bandwidth(bandwidth: nil, eips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ChangeEipsBandwidth',
    request_method: 'GET',
    request_params: {
      'bandwidth' => bandwidth,
      'eips'      => eips,
    },
  }

  change_eips_bandwidth_input_validate input

  request = Request.new input
  request.send
end
change_eips_billing_mode(billing_mode: '', eip_group: '', eips: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/eip/change_eips_billing_mode.html

# File lib/qingcloud/sdk/service/eip.rb, line 156
def change_eips_billing_mode(billing_mode: '', eip_group: '', eips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ChangeEipsBillingMode',
    request_method: 'GET',
    request_params: {
      'billing_mode' => billing_mode, # billing_mode's available values: bandwidth, traffic
      'eip_group'    => eip_group,
      'eips'         => eips,
    },
  }

  change_eips_billing_mode_input_validate input

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

Documentation URL: docs.qingcloud.com/api/eip/describe_eips.html

# File lib/qingcloud/sdk/service/eip.rb, line 203
def describe_eips(eips: [], instance_id: '', limit: nil, offset: nil, search_word: '', status: [], tags: [], verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeEips',
    request_method: 'GET',
    request_params: {
      'eips'        => eips,
      'instance_id' => instance_id,
      'limit'       => limit,
      'offset'      => offset,
      'search_word' => search_word,
      'status'      => status,
      'tags'        => tags,
      'verbose'     => verbose,
    },
  }

  describe_eips_input_validate input

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

Documentation URL: docs.qingcloud.com/api/eip/dissociate_eips.html

# File lib/qingcloud/sdk/service/eip.rb, line 236
def dissociate_eips(eips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DissociateEips',
    request_method: 'GET',
    request_params: {
      'eips' => eips,
    },
  }

  dissociate_eips_input_validate input

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

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

# File lib/qingcloud/sdk/service/eip.rb, line 266
def get_eip_monitor(end_time: '', meters: [], resource: '', start_time: '', step: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'GetMonitor',
    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_eip_monitor_input_validate input

  request = Request.new input
  request.send
end
modify_eip_attributes(description: '', eip: '', eip_name: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/eip/modify_eip_attributes.html

# File lib/qingcloud/sdk/service/eip.rb, line 327
def modify_eip_attributes(description: '', eip: '', eip_name: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifyEipAttributes',
    request_method: 'GET',
    request_params: {
      'description' => description,
      'eip'         => eip,
      'eip_name'    => eip_name,
    },
  }

  modify_eip_attributes_input_validate input

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

Documentation URL: docs.qingcloud.com/api/eip/release_eips.html

# File lib/qingcloud/sdk/service/eip.rb, line 359
def release_eips(eips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ReleaseEips',
    request_method: 'GET',
    request_params: {
      'eips' => eips,
    },
  }

  release_eips_input_validate input

  request = Request.new input
  request.send
end

Private Instance Methods

allocate_eips_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/eip.rb, line 53
def allocate_eips_input_validate(input)
  input.deep_stringify_keys!

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

  if input['request_params']['billing_mode'] && !input['request_params']['billing_mode'].to_s.empty?
    billing_mode_valid_values = %w(bandwidth traffic)
    unless billing_mode_valid_values.include? input['request_params']['billing_mode'].to_s
      raise ParameterValueNotAllowedError.new(
        'billing_mode',
        input['request_params']['billing_mode'],
        billing_mode_valid_values,
      )
    end
  end

  if input['request_params']['need_icp'] && !input['request_params']['need_icp'].to_s.empty?
    need_icp_valid_values = %w(0 1)
    unless need_icp_valid_values.include? input['request_params']['need_icp'].to_s
      raise ParameterValueNotAllowedError.new(
        'need_icp',
        input['request_params']['need_icp'],
        need_icp_valid_values,
      )
    end
  end
end
associate_eip_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/eip.rb, line 106
def associate_eip_input_validate(input)
  input.deep_stringify_keys!

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

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

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

  unless !input['request_params']['eips'].nil? && !input['request_params']['eips'].to_s.empty?
    raise ParameterRequiredError.new('eips', 'ChangeEipsBandwidthInput')
  end
end
change_eips_billing_mode_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/eip.rb, line 177
def change_eips_billing_mode_input_validate(input)
  input.deep_stringify_keys!

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

  if input['request_params']['billing_mode'] && !input['request_params']['billing_mode'].to_s.empty?
    billing_mode_valid_values = %w(bandwidth traffic)
    unless billing_mode_valid_values.include? input['request_params']['billing_mode'].to_s
      raise ParameterValueNotAllowedError.new(
        'billing_mode',
        input['request_params']['billing_mode'],
        billing_mode_valid_values,
      )
    end
  end

  unless !input['request_params']['eips'].nil? && !input['request_params']['eips'].to_s.empty?
    raise ParameterRequiredError.new('eips', 'ChangeEipsBillingModeInput')
  end
end
describe_eips_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/eip.rb, line 229
def describe_eips_input_validate(input)
  input.deep_stringify_keys!
end
dissociate_eips_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/eip.rb, line 255
def dissociate_eips_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['eips'].nil? && !input['request_params']['eips'].to_s.empty?
    raise ParameterRequiredError.new('eips', 'DissociateEipsInput')
  end
end
get_eip_monitor_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/eip.rb, line 289
def get_eip_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', 'GetEIPMonitorInput')
  end

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

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

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

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

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

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