Module: Boucher::Volumes
- Defined in:
- lib/boucher/volumes.rb
Class Method Summary collapse
Class Method Details
.all ⇒ Object
25 26 27 |
# File 'lib/boucher/volumes.rb', line 25 def self.all @volumes ||= Boucher.compute.volumes end |
.create(options) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/boucher/volumes.rb', line 40 def self.create() zone = [:availability_zone] raise ":availability_zone is required to create a volume." unless zone size = [:size] snapshot_id = [:snapshot_id] response = if snapshot_id snapshot = Boucher::compute.snapshots.get(snapshot_id) size = snapshot.volume_size.to_i Boucher.compute.create_volume(zone, size, "SnapshotId" => snapshot_id) else Boucher.compute.create_volume(zone, size) end volume_id = response.body["volumeId"] volume = Boucher.compute.volumes.get(volume_id) volume.wait_for { volume.ready? } volume end |
.destroy(volumes) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/boucher/volumes.rb', line 29 def self.destroy(volumes) Array(volumes).each do |volume| volume.reload volume.destroy end end |
.with_id(volume_id) ⇒ Object
36 37 38 |
# File 'lib/boucher/volumes.rb', line 36 def self.with_id(volume_id) all.find { |volume| volume.id == volume_id } end |