Sha256: ed9b259590cfa1aea26922b1a6c7dca9317468e600ec7459da20887967195250

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

#
# Author:: Alessio Rocchi (<alessio.rocchi@staff.aruba.it>)
# © Copyright ArubaCloud.
#
# LICENSE: MIT (http://opensource.org/licenses/MIT)
#

require 'rubygems'
require 'fog/arubacloud'
require 'optparse'

options = {}
OptionParser.new do |opts|
  opts.banner = 'Usage: get_servers.rb [options]'
  opts.on('-uUSERNAME', '--username=USERNAME', 'ArubaCloud Username') { |n| options[:username] = n}
  opts.on('-pPASSWORD', '--password=PASSWORD', 'ArubaCloud Password') { |p| options[:password] = p}
end.parse!

# Fog.mock!
service = Fog::Compute.new({
                               :provider             => 'ArubaCloud',
                               :arubacloud_username  => options[:username],
                               :arubacloud_password  => options[:password]
                           })


servers = service.servers

# Poweroff and delete every VM in a Datacenter
servers.each do |s|
  puts("Powering Off and Deleting VM: #{s.name}...")
  next if s.state == Fog::Compute::ArubaCloud::Server::CREATING
  s.power_off unless s.stopped?
  until s.stopped?
    s.get_server_details
    puts(" --- Waiting for VM: #{s.name} to power off...")
  end
  begin
    puts(' --- Enqueued Server Deletion')
    s.delete
  rescue
    next
  end
end

# Delete all vm in a datacenter
#servers.each do |s|
#  begin
#    s.delete
#  rescue
#    next
#  end
#end

# Release all unassociated IP
# ips = service.ips
# ips.each do |i|
#   puts i.address
#   i.remove
# end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-arubacloud-0.0.3 lib/fog/arubacloud/examples/vm_operations.rb