Sha256: c7158ce4933811b571def15e59fc1d09c90229807d4505335e58a890f8969596
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
module Larrow module Qingcloud # External address class Eip < Base attr_accessor :address destroy_action 'ReleaseEips' def self.create(bandwidth:1, count:1) result = conn.service 'get', 'AllocateEips', bandwidth: bandwidth, count: count info "EIP added: #{result['eips']}" result['eips'].map do |id| promise(timeout:60){ new(id).wait_for :available } end end def wait_for(status) super do |data| self.address = data['eip_addr'] end end def associate(instance_id) conn.service 'get', 'AssociateEip', instance: instance_id, eip: id promise(timeout:60){ wait_for :associated } end # cannot support batch dissociating def dissociate(instance_id) conn.service 'get', 'DissociateEips', :instance => instance_id, :'eips.1' => id promise(timeout:60){ wait_for :available } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
larrow-qingcloud-0.0.2 | lib/larrow/qingcloud/eip.rb |
larrow-qingcloud-0.0.1 | lib/larrow/qingcloud/eip.rb |