Sha256: 1d61b04500076d169e912598f5189a5c9f7623cee3c715e49657d58165c720be

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

module Solusvm 
  class NodeCli < BaseCli

    desc "list TYPE", "Lists existing nodes for a given type [openvz|xen|xen hvm|kvm]"
    def list(type)
      say node.list(type)
    end

    desc "list-ids TYPE", "Lists existing nodes ids for a given type [openvz|xen|xen hvm|kvm]"
    def list_ids(type)
      say node.ids(type)
    end

    desc "available-ips VSERVERID", "Lists the available ips for a given node"
    def available_ips(vserverid)
      say node.available_ips(vserverid).join("\n")
    end

    desc "stats VSERVERID", "Lists statistics for a given node"
    def stats(vserverid)
      say node.statistics(vserverid).map{|k, v| "#{k} => #{v}" }.join("\n")
    end

    desc "xenresources VSERVERID", "Lists xen resources for a given node"
    def xenresources(vserverid)
      say node.xenresources(vserverid).map{|k, v| "#{k} => #{v}" }.join("\n")
    end

    desc "virtualservers VSERVERID", "Lists the virtual servers for a given node"
    def virtualservers(vserverid)
      say node.virtualservers(vserverid)
    end

    private

    def node
      @node ||= begin
        configure
        Solusvm::Node.new
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
solusvm-1.0.0.beta3 lib/solusvm/cli/node_cli.rb
solusvm-1.0.0.beta2 lib/solusvm/cli/node_cli.rb
solusvm-1.0.0.beta lib/solusvm/cli/node_cli.rb