Class: Fog::Compute::CloudSigma::Volume
Instance Method Summary
collapse
model_attribute, model_attribute_array
Instance Method Details
#available? ⇒ Boolean
77
78
79
|
# File 'lib/fog/cloudsigma/models/volume.rb', line 77
def available?
status == 'unmounted'
end
|
#clone(clone_params = {}) ⇒ Object
62
63
64
65
66
67
|
# File 'lib/fog/cloudsigma/models/volume.rb', line 62
def clone(clone_params={})
requires :identity
response = service.clone_volume(identity, clone_params)
self.class.new(response.body['objects'].first)
end
|
#create ⇒ Object
33
34
35
36
37
38
39
40
|
# File 'lib/fog/cloudsigma/models/volume.rb', line 33
def create
requires :name, :size, :media
data = attributes
response = service.create_volume(data)
new_attributes = response.body['objects'].first
merge_attributes(new_attributes)
end
|
#create_snapshot(snapshot_params = {}) ⇒ Object
69
70
71
72
73
74
75
|
# File 'lib/fog/cloudsigma/models/volume.rb', line 69
def create_snapshot(snapshot_params={})
requires :identity
snapshot_params[:drive] = identity
response = service.create_snapshot(snapshot_params)
Snapshot.new(response.body['objects'].first)
end
|
#destroy ⇒ Object
Also known as:
delete
52
53
54
55
56
57
58
|
# File 'lib/fog/cloudsigma/models/volume.rb', line 52
def destroy
requires :identity
service.delete_volume(identity)
true
end
|
#save ⇒ Object
25
26
27
28
29
30
31
|
# File 'lib/fog/cloudsigma/models/volume.rb', line 25
def save
if persisted?
update
else
create
end
end
|
#update ⇒ Object
42
43
44
45
46
47
48
49
50
|
# File 'lib/fog/cloudsigma/models/volume.rb', line 42
def update
requires :identity, :name, :size, :media
data = attributes()
response = service.update_volume(identity, data)
new_attributes = response.body
merge_attributes(new_attributes)
end
|