Class: Fog::Compute::ProfitBricks::Server

Inherits:
Server
  • Object
show all
Defined in:
lib/fog/profitbricks/models/compute/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ Server



33
34
35
# File 'lib/fog/profitbricks/models/compute/server.rb', line 33

def initialize(attributes={})
    super
end

Instance Attribute Details

#flavor_idObject

Returns the value of attribute flavor_id.



31
32
33
# File 'lib/fog/profitbricks/models/compute/server.rb', line 31

def flavor_id
  @flavor_id
end

#optionsObject

Returns the value of attribute options.



30
31
32
# File 'lib/fog/profitbricks/models/compute/server.rb', line 30

def options
  @options
end

Instance Method Details

#destroyObject



79
80
81
82
83
# File 'lib/fog/profitbricks/models/compute/server.rb', line 79

def destroy
    requires :id
    service.delete_server(id)
    true
end

#failed?Boolean



101
102
103
# File 'lib/fog/profitbricks/models/compute/server.rb', line 101

def failed?
    self.state == 'ERROR'
end

#interfacesObject



91
92
93
94
95
# 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?Boolean



97
98
99
# File 'lib/fog/profitbricks/models/compute/server.rb', line 97

def ready?
    self.state == 'AVAILABLE'
end

#resetObject



61
62
63
64
65
# File 'lib/fog/profitbricks/models/compute/server.rb', line 61

def reset
    requires :id
    service.reset_server(id)
    true
end

#saveObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 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

#startObject



67
68
69
70
71
# File 'lib/fog/profitbricks/models/compute/server.rb', line 67

def start
    requires :id
    service.start_server(id)
    true
end

#stopObject



73
74
75
76
77
# File 'lib/fog/profitbricks/models/compute/server.rb', line 73

def stop
    requires :id
    service.stop_server(id)
    true
end

#updateObject



53
54
55
56
57
58
59
# 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

#volumesObject



85
86
87
88
89
# File 'lib/fog/profitbricks/models/compute/server.rb', line 85

def volumes
    service.volumes.find_all do |volume|
        volume.server_ids =~ /#{id}/
    end
end