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

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#flavor_idObject

Returns the value of attribute flavor_id.



32
33
34
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 32

def flavor_id
  @flavor_id
end

#optionsObject

Returns the value of attribute options.



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

def options
  @options
end

Instance Method Details

#destroyObject



76
77
78
79
80
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 76

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

#failed?Boolean

Returns:

  • (Boolean)


98
99
100
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 98

def failed?
  state == "ERROR"
end

#interfacesObject



88
89
90
91
92
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 88

def interfaces
  service.interfaces.find_all do |nic|
    nic.server_id == id
  end
end

#ready?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 94

def ready?
  state == "AVAILABLE"
end

#resetObject



58
59
60
61
62
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 58

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

#saveObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 34

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



64
65
66
67
68
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 64

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

#stopObject



70
71
72
73
74
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 70

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

#updateObject



50
51
52
53
54
55
56
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 50

def update
  requires :id

  data = service.update_server(id, options)
  merge_attributes(data.body["updateServerResponse"])
  true
end

#volumesObject



82
83
84
85
86
# File 'lib/fog/compute/profit_bricks/models/server.rb', line 82

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