Sha256: 942bf72a750a7aa351dd7260184a33a5a74ff3dbf5569975d6b822e8523adc3a

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

#!/usr/bin/env ruby
$:.unshift(File.dirname(__FILE__) + "/../lib")
require "poolparty"
# require "poolpartycl"
require 'git-style-binary/command'

GitStyleBinary.command do  
  version "PoolParty #{$0} command"  
  banner <<-EOS
Usage: #{$0} #{all_options_string}

  List the clouds and their nodes
  e.g. show a list of the current instances on the cloud
EOS

  opt :instance_id, "Describe a specific instance", :type => String, :default => nil

  short_desc "show a list of the current instances on the clouds"

  run do |command|    
    @loaded_clouds.each do |cld|
      if command[:instance_id]
        require 'pp'
        pp result = cld.describe_instance(:instance_id=>command[:instance_id])
      else
        puts header("Listing cloud #{cld.name}")
        puts subheader("Active instances")
        puts cld.nodes(:status => "running").map{|a| "#{a[:instance_id] || a[:id]}\t#{a[:ip] ||a[:public_ip] }" }.join("\n")

        if cld.nodes(:status => "pending").size > 0
          puts subheader("Pending instances")
          puts cld.nodes(:status => "pending").map{|a| "#{a[:instance_id] || a[:id]}\t#{a[:ip] ||a[:public_ip] }" }.join("\n")
        end
      end
    end    
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
auser-poolparty-1.2.3 bin/cloud-list
auser-poolparty-1.2.4 bin/cloud-list
auser-poolparty-1.2.7 bin/cloud-list