class QC::Eip

Public Class Methods

allocate(p = {bandwidth: 1, eip_name: nil, count: 1, need_icp: nil, zone: nil}) click to toggle source
# File lib/qc.rb, line 136
def Eip.allocate p = {bandwidth: 1, eip_name: nil, count: 1, need_icp: nil, zone: nil}
  ret = API::Request.execute! 'AllocateEips', p
  if ret.respond_to? :has_key?
    ret['eips']
  else
    false
  end
end
load(eip_id) click to toggle source
# File lib/qc.rb, line 156
def Eip.load eip_id
  Eip.describe('eips.1' => eip_id)[0]
end
release(eips: [], zone: nil) click to toggle source
# File lib/qc.rb, line 145
def Eip.release eips: [], zone: nil
  if eips.size > 0
    p = {}
    1.upto(eips.size).each { |i| p["eips.#{i}"] = eips[i-1] }
    p[:zone] = zone
    API::Request.execute!('ReleaseEips', p)
  else
    false
  end
end

Public Instance Methods

bandwidth=(b) click to toggle source
# File lib/qc.rb, line 160
def bandwidth= b
  p = {'eips.1' => @values['eip_id'], 'bandwidth' => b}
  ret = API::Request.execute!('ChangeEipsBandwidth', p)
  if ret.respond_to? :has_key?
    b
  else
    false
  end
end
release!() click to toggle source
# File lib/qc.rb, line 170
def release!
  p = {'eips.1' => @values['eip_id']}
  API::Request.execute!('ReleaseEips', p)
end