class QingyunApiDemo
Public Class Methods
VERSION()
click to toggle source
# File qingyun-api-demo.rb, line 4 def self.VERSION '0.0.1' end
new(access_key, secret_key, zone_id)
click to toggle source
# File qingyun-api-demo.rb, line 7 def initialize(access_key, secret_key, zone_id) Larrow::Qingcloud.establish_connection access_key, secret_key, zone_id @connection = Larrow::Qingcloud.connection end
Public Instance Methods
ass_ip(instance_id, ip)
click to toggle source
associate ip to instance
# File qingyun-api-demo.rb, line 34 def ass_ip(instance_id, ip) @connection.get 'AssociateEip', { eip: ip, instance: instance_id, zone: 'sh1a' } end
c_instance(param)
click to toggle source
create instance
# File qingyun-api-demo.rb, line 18 def c_instance(param) @connection.get('RunInstances', param)['instances'] end
c_ip(param)
click to toggle source
create public ip
# File qingyun-api-demo.rb, line 23 def c_ip(param) @connection.get('AllocateEips', param)['eips'] end
des_instance(instance_id)
click to toggle source
destroy intance
# File qingyun-api-demo.rb, line 59 def des_instance(instance_id) @connection.get 'TerminateInstances', { 'instances.1': instance_id, zone: 'sh1a', } end
desc_instance(instance_id)
click to toggle source
describe instance
# File qingyun-api-demo.rb, line 13 def desc_instance(instance_id) @connection.get('DescribeInstances', {'instances.1': instance_id})['instance_set'] end
desc_ip(id)
click to toggle source
# File qingyun-api-demo.rb, line 27 def desc_ip(id) @connection.get('DescribeEips', { 'eips.1': id })['eip_set'] end
dis_ass_ip(ip)
click to toggle source
disassociate ip
# File qingyun-api-demo.rb, line 43 def dis_ass_ip(ip) @connection.get 'DissociateEips', { 'eips.1': ip, zone: 'sh1a', } end
release_ip(ip)
click to toggle source
release ip
# File qingyun-api-demo.rb, line 51 def release_ip(ip) @connection.get 'ReleaseEips', { 'eips.1': ip, zone: 'sh1a', } end
shut_instance(instance_id)
click to toggle source
shutdown
# File qingyun-api-demo.rb, line 67 def shut_instance(instance_id) @connection.get 'StopInstances', { 'instances.1': instance_id, force: 0, zone: 'sh1a', } end
wait_instance_for_status(id, status, time_span=1)
click to toggle source
# File qingyun-api-demo.rb, line 82 def wait_instance_for_status(id, status, time_span=1) while status != desc_instance(id)[0]['status'] p "waiting instance for #{status}. current status: #{desc_instance(id)[0]['status']}" sleep time_span end end
wait_ip_for_status(id, status, time_span=1)
click to toggle source
# File qingyun-api-demo.rb, line 75 def wait_ip_for_status(id, status, time_span=1) while status != desc_ip(id)[0]['status'] p "waiting IP for #{status}. current status: #{desc_ip(id)[0]['status']}" sleep time_span end end