class Race::Run::Droplets

Public Instance Methods

change_kernel(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 382
def change_kernel(*args)
  id = args[0]
  kernel_id = args[1]
  if id.nil? || kernel_id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets change-kernel [DROPLET_ID] [KERNEL_ID]'
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    fail ArgumentError, "Argument Error - #{kernel_id}" unless kernel_id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.change_kernel(id, kernel: kernel_id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Droplet kernel changed'.green
    end
  end
end
create_snapshot(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 212
def create_snapshot(*args)
  id = args[0]
  name = args[1]
  if id.nil? || name.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets snaphot [DROPLET_ID] [SNAPSHOT_NAME]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.snapshot(id, name: name)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Snapshot generated.'.green
    end
  end
end
cycle(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 96
def cycle(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets cycle [DROPLET_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.power_cycle(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Power cycle has been successful'.green
    end
  end
end
destroy(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 58
def destroy(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets destroy [DROPLET_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.destroy(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Droplet destroyed'.green
    end
  end
end
disable_backup(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 403
def disable_backup(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets disable-backup [DROPLET_ID]'
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.disable_backups(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Backup disabled'.green
    end
  end
end
down(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 115
def down(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets down [DROPLET_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.shutdown(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Shut down has been successful'.green
    end
  end
end
enable_ipv6(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 331
def enable_ipv6(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets enable-ipv6 [DROPLET_ID]'
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.enable_ipv6(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'IPv6 Enabled'.green
    end
  end
end
enable_private_network(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 422
def enable_private_network(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets enable-private-network [DROPLET_ID]'
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.enable_private_networking(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Backup disabled'.green
    end
  end
end
kernels(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 350
def kernels(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets kernels [DROPLET_ID]'
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.kernels(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Kernels'.yellow
      kernels = []

      kernels << %w(ID Name Version)

      result.kernels.each do |kernel|
        kernels << [
          kernel.id,
          kernel.name.to_s.red,
          kernel.version.to_s
        ]
      end
      table = Terminal::Table.new rows: kernels
      puts table
    end
  end
end
new(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 37
def new(*args)
  name = args[0]
  size = args[1]
  image_id = args[2]
  region_id = args[3]
  if name.nil? || size.nil? || image_id.nil? || region_id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets new [DROPLET_NAME] [SIZE_ID] [IMAGE_ID] [REGION_ID]'.yellow
  else
    result = barge.droplet.create(name: name, region: region_id, size: size, image: image_id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Droplet created'.green
    end
  end
end
off(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 134
def off(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets off [DROPLET_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.power_off(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Power off has been successful'.green
    end
  end
end
on(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 153
def on(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets on [DROPLET_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.power_on(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Power on has been successful'.green
    end
  end
end
reboot(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 77
def reboot(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets reboot [DROPLET_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.reboot(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Droplet rebooted'.green
    end
  end
end
rebuild(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 290
def rebuild(*args)
  id = args[0]
  image_id = args[1]
  if id.nil? || image_id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets rebuild [DROPLET_ID] [IMAGE_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    fail ArgumentError, "Argument Error - #{image_id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.rebuild(id, image: image_id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Droplets rebuilded.'.green
    end
  end
end
rename(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 311
def rename(*args)
  id = args[0]
  name = args[1]
  if id.nil? || name.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets rename [DROPLET_ID] [NEW_NAME]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.rename(id, name: name)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Droplets renamed.'.green
    end
  end
end
reset_password(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 172
def reset_password(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets reset_password [DROPLET_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.password_reset(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Password restored. Please check your email'.green
    end
  end
end
resize(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 191
def resize(*args)
  id = args[0]
  size_id = args[1]
  if id.nil? || size_id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets resize [DROPLET_ID] [SIZE_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    fail ArgumentError, "Argument Error - #{id}" unless size_id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.resize(id, size: size_id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Droplet resized'.green
    end
  end
end
restore(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 269
def restore(*args)
  id = args[0]
  image_id = args[1]
  if id.nil? || image_id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets restore [DROPLET_ID] [IMAGE_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    fail ArgumentError, "Argument Error - #{image_id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.restore(id, image: image_id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Droplets restored.'.green
    end
  end
end
run() click to toggle source
# File lib/system/run/commands/droplets.rb, line 5
def run
  result = barge.droplet.all
  if !result.success?
    puts 'Error: Please check your information'.red
  else
    puts 'Your Droplets'.yellow
    droplets = []

    droplets << [
      'ID',
      'Name',
      'IP Address',
      'Status',
      'Created At'
    ]

    result.droplets.each do |droplet|
      droplets << [
        droplet.id,
        droplet.name.to_s.red,
        droplet.networks.v4[0].ip_address.to_s.red,
        droplet.status == 'active' ? 'Active'.green : 'Deactive'.red,
        droplet.created_at
      ]
    end
    table = Terminal::Table.new rows: droplets
    puts table
  end
end
snapshots(*args) click to toggle source
# File lib/system/run/commands/droplets.rb, line 232
def snapshots(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race droplets snaphots [DROPLET_ID] '.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.droplet.snapshots(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'Your Droplets'.yellow
      snapshots = []
      snapshots << [
        'Name',
        'Distribution',
        'Public',
        'Created At'
      ]
      result.snapshots.each do |snapshot|
        snapshots << [
          snapshot.name.to_s.red,
          snapshot.distribution.to_s.red,
          snapshot.status.to_s == 'active' ? 'Active'.green : 'Deactive'.red,
          snapshot.created_at
        ]
      end
      table = Terminal::Table.new rows: snapshots
      puts table
    end

  end
end

Private Instance Methods

config(value) click to toggle source
# File lib/system/run/commands/droplets.rb, line 441
def config(value)
  @config ||= value
end