Class: CivoCLI::Volume
- Inherits:
-
Thor
- Object
- Thor
- CivoCLI::Volume
- Defined in:
- lib/volume.rb
Instance Method Summary collapse
- #attach(volume_id, instance_id) ⇒ Object
- #create(name, size) ⇒ Object
- #detach(id) ⇒ Object
- #list ⇒ Object
- #remove(id) ⇒ Object
- #rename(id, new_name) ⇒ Object
- #resize(id, new_size) ⇒ Object
Instance Method Details
#attach(volume_id, instance_id) ⇒ Object
52 53 54 55 56 57 58 59 60 61 |
# File 'lib/volume.rb', line 52 def attach(volume_id, instance_id) CivoCLI::Config.set_api_auth Civo::Volume.attach(id: volume_id, instance_id: instance_id) volume = Civo::Volume.find(volume_id) instance = Civo::Instance.find(instance_id) puts "Attached volume #{volume.name.colorize(:green)} with ID #{volume.id.colorize(:green)} to #{instance.hostname.colorize(:green)}" rescue Flexirest::HTTPException => e puts e.result.reason.colorize(:red) exit 1 end |
#create(name, size) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/volume.rb', line 16 def create(name, size) CivoCLI::Config.set_api_auth size = size.to_i.to_s volume = Civo::Volume.create(name: name, size_gb: size) puts "Created a new #{size.colorize(:green)}GB volume called #{name.colorize(:green)} with ID #{volume.id.colorize(:green)}" rescue Flexirest::HTTPException => e puts e.result.reason.colorize(:red) exit 1 end |
#detach(id) ⇒ Object
65 66 67 68 69 70 71 72 73 |
# File 'lib/volume.rb', line 65 def detach(id) CivoCLI::Config.set_api_auth Civo::Volume.detach(id: id) volume = Civo::Volume.find(id) puts "Detached volume #{volume.name.colorize(:green)} with ID #{volume.id.colorize(:green)}" rescue Flexirest::HTTPException => e puts e.result.reason.colorize(:red) exit 1 end |
#list ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/volume.rb', line 4 def list CivoCLI::Config.set_api_auth rows = [] Civo::Volume.all.items.each do |volume| mounted = (volume.mountpoint.nil? || volume.mountpoint == "" ? "No" : "Yes") rows << [volume.id, volume.name, mounted, volume.size_gb] end puts Terminal::Table.new headings: ['ID', 'Name', 'Mounted', 'Size (GB)'], rows: rows end |
#remove(id) ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/volume.rb', line 40 def remove(id) CivoCLI::Config.set_api_auth volume = Civo::Volume.find(id) Civo::Volume.remove(id: id) puts "Removed volume #{volume.name.colorize(:green)} with ID #{volume.id.colorize(:green)} (was #{volume.size_gb}GB)" rescue Flexirest::HTTPException => e puts e.result.reason.colorize(:red) exit 1 end |
#rename(id, new_name) ⇒ Object
77 78 79 80 81 82 83 84 85 |
# File 'lib/volume.rb', line 77 def rename(id, new_name) CivoCLI::Config.set_api_auth Civo::Volume.update(id: id, name: new_name) volume = Civo::Volume.find(id) puts "Renamed volume with ID #{volume.id.colorize(:green)} to be called #{volume.name.colorize(:green)}" rescue Flexirest::HTTPException => e puts e.result.reason.colorize(:red) exit 1 end |
#resize(id, new_size) ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/volume.rb', line 28 def resize(id, new_size) CivoCLI::Config.set_api_auth new_size = new_size.to_i.to_s Civo::Volume.resize(id: id, size_gb: new_size) volume = Civo::Volume.find(id) puts "Resized volume #{volume.name.colorize(:green)} with ID #{volume.id.colorize(:green)} to be #{new_size.colorize(:green)}GB" rescue Flexirest::HTTPException => e puts e.result.reason.colorize(:red) exit 1 end |