class QC::Instance

Constants

DEFAULT_IMAGE_ID

Public Class Methods

load(instance_id) click to toggle source
# File lib/qc.rb, line 109
def Instance.load instance_id
  Instance.describe('instances.1' => instance_id)[0]
end
run(p = {image_id: DEFAULT_IMAGE_ID, instance_name: nil, count: 1, login_mode: 'keypair', login_keypair: nil, login_passwd: nil, security_group: nil, zone: nil, instance_type: 'small_a'}) click to toggle source
# File lib/qc.rb, line 99
def Instance.run p = {image_id: DEFAULT_IMAGE_ID, instance_name: nil, count: 1, login_mode: 'keypair',
                      login_keypair: nil, login_passwd: nil, security_group: nil, zone: nil, instance_type: 'small_a'}
  p[:image_id] = DEFAULT_IMAGE_ID if p[:image_id].nil?
  p[:login_mode] = 'keypair' if p[:login_mode].nil?
  p[:instance_type] = 'small_a' if p[:instance_type].nil?
  p['vxnets.1'] = 'vxnet-0' if p['vxnets.1'].nil?
  ret = API::Request.execute! 'RunInstances', p
  ret['instances']
end

Public Instance Methods

add_keypair(kp_id) click to toggle source
# File lib/qc.rb, line 123
def add_keypair kp_id
  p = {'instances.n1' => @values['instance_id'], 'keypairs.1' => kp_id}
  API::Request.execute!('AttachKeyPairs', p)
end
ip=(eip_id) click to toggle source
# File lib/qc.rb, line 118
def ip= eip_id
  p = {'instance' => @values['instance_id'], 'eip' => eip_id}
  API::Request.execute!('AssociateEip', p)
end
terminate!() click to toggle source
# File lib/qc.rb, line 113
def terminate!
  p = {'instances.1' => @values['instance_id']}
  API::Request.execute!('TerminateInstances', p)
end