Class: Fog::Compute::ProfitBricks::Volume

Inherits:
Models::ProfitBricks::Base show all
Defined in:
lib/fog/compute/profit_bricks/models/volume.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Models::ProfitBricks::Base

#wait_for

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



18
19
20
# File 'lib/fog/compute/profit_bricks/models/volume.rb', line 18

def options
  @options
end

Instance Method Details

#attach(server_id, options = {}) ⇒ Object



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

def attach(server_id, options = {})
  requires :id
  
  options = {
    "busType"    => options[:bus_type],
    "deviceNumber" => options[:device_number]
  }

  data = service.connect_storage_to_server(id, server_id, options)
  reload
end

#destroyObject



55
56
57
58
59
# File 'lib/fog/compute/profit_bricks/models/volume.rb', line 55

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

#detach(server_id) ⇒ Object



48
49
50
51
52
53
# File 'lib/fog/compute/profit_bricks/models/volume.rb', line 48

def detach(server_id)
  requires :id

  data = service.disconnect_storage_from_server(id, server_id)
  reload
end

#failed?Boolean

Returns:

  • (Boolean)


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

def failed?
  state == "ERROR"
end

#ready?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'lib/fog/compute/profit_bricks/models/volume.rb', line 61

def ready?
  state == "AVAILABLE"
end

#saveObject



20
21
22
23
24
25
26
# File 'lib/fog/compute/profit_bricks/models/volume.rb', line 20

def save
  requires :data_center_id, :size

  data = service.create_storage(data_center_id, size, options)
  merge_attributes(data.body["createStorageResponse"])
  true
end

#updateObject



28
29
30
31
32
33
34
# File 'lib/fog/compute/profit_bricks/models/volume.rb', line 28

def update
  requires :id

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