require 'fog/core/model' module Fog module Compute class Serverlove class Server < Fog::Model identity :id, :aliases => 'server' attribute :name attribute :cpu attribute :mem attribute :ide_0_0, :aliases => 'ide:0:0' attribute :ide_0_1, :aliases => 'ide:0:1' attribute :ide_1_0, :aliases => 'ide:1:0' attribute :ide_1_1, :aliases => 'ide:1:1' attribute :boot attribute :persistent attribute :vnc_password, :aliases => 'vnc:password' attribute :status attribute :user attribute :started def save attributes = {} if(identity) attributes = connection.update_server(identity, allowed_attributes).body else requires :name requires :cpu attributes = connection.create_server(allowed_attributes).body end merge_attributes(attributes) self end def destroy requires :identity connection.destroy_server(identity) self end def allowed_attributes allowed = [:name, :cpu, :mem, :persistent, :vnc_password] attributes.select {|k,v| allowed.include? k} end end end end end