class Fog::Compute::ProfitBricks::Server

Attributes

flavor_id[RW]
options[RW]

Public Class Methods

new(attributes={}) click to toggle source
Calls superclass method
# File lib/fog/profitbricks/models/compute/server.rb, line 33
def initialize(attributes={})
    super
end

Public Instance Methods

destroy() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 79
def destroy
    requires :id
    service.delete_server(id)
    true
end
failed?() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 101
def failed?
    self.state == 'ERROR'
end
interfaces() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 91
def interfaces
    service.interfaces.find_all do |nic|
        nic.server_id == id
    end
end
ready?() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 97
def ready?
    self.state == 'AVAILABLE'
end
reset() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 61
def reset
    requires :id
    service.reset_server(id)
    true
end
save() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 37
def save
    requires :data_center_id

    if (cores and ram)
        data = service.create_server(data_center_id, cores, ram, options || {})
    elsif flavor_id
        flavor = service.flavors.get(flavor_id)
        data = service.create_server(data_center_id, flavor.cores, flavor.ram, options || {})
    else
        raise ArgumentError, 'cores/ram or flavor_id is required for this operation'
    end

    merge_attributes(data.body['createServerResponse'])
    true
end
start() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 67
def start
    requires :id
    service.start_server(id)
    true
end
stop() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 73
def stop
    requires :id
    service.stop_server(id)
    true
end
update() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 53
def update
    requires :id

    data = service.update_server(id, options)
    merge_attributes(data.body['updateServerResponse'])
    true
end
volumes() click to toggle source
# File lib/fog/profitbricks/models/compute/server.rb, line 85
def volumes
    service.volumes.find_all do |volume|
        volume.server_ids =~ /#{id}/
    end
end