Sha256: 88e21686913e6383524831300160cfd52dd64604c15747db945c2951f86682a6
Contents?: true
Size: 1.43 KB
Versions: 3
Compression:
Stored size: 1.43 KB
Contents
module Brightbox class Server < Api def self.create(options) new(conn.servers.create(options)) end def server_type @server_type ||= (Type.new(flavor_id) if flavor_id) end def image @image ||= (Image.new(image_id) if image_id) end def attributes a = fog_model.attributes a[:image] = image a[:created_at] = created_at a[:created_on] = fog_model.created_at.strftime("%Y-%m-%d") a[:type] = server_type a[:zone] = Zone.new(zone_id) if zone_id a[:hostname] = hostname a[:public_hostname] = public_hostname unless cloud_ips.empty? a end def to_row o = attributes o[:cloud_ips] = cloud_ips.collect { |i| i['public_ip'] } o[:ips] = interfaces.collect { |i| i['ipv4_address'] }.join(', ') o end def deleted? fog_model.status == "deleted" end def destroy fog_model.destroy rescue Excon::Errors::Conflict => e raise Conflict, "Cannot delete server #{id}" end def activate_console self.class.conn.activate_console_server id end def self.get(id) conn.servers.get id end def self.all conn.servers end def self.default_field_order [:id, :status, :type, :zone, :created_on, :image_id, :cloud_ips, :name] end def hostname "#{id}.gb1.brightbox.com" end def public_hostname "public.#{hostname}" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bbcloud-0.11.2 | lib/bbcloud/servers.rb |
bbcloud-0.11.1 | lib/bbcloud/servers.rb |
bbcloud-0.11.0 | lib/bbcloud/servers.rb |