Sha256: 538b82e7c5fc52645a2390a07b6d0cd96a8f5e5ac7550683a021e12e4931c3ce
Contents?: true
Size: 1.31 KB
Versions: 5
Compression:
Stored size: 1.31 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) end def image @image ||= Image.new(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) 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 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
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
bbcloud-0.9.1 | lib/bbcloud/servers.rb |
bbcloud-0.9 | lib/bbcloud/servers.rb |
bbcloud-0.8.2 | lib/bbcloud/servers.rb |
bbcloud-0.8.1 | lib/bbcloud/servers.rb |
bbcloud-0.8 | lib/bbcloud/servers.rb |