Sha256: 7e05a5e4fbd930fcce307839f751fb37c31fb4c8f7ac1483d971db17685c35ea

Contents?: true

Size: 867 Bytes

Versions: 43

Compression:

Stored size: 867 Bytes

Contents

module Brightbox
  command [:servers] do |cmd|

    cmd.default_command :list

    cmd.desc "List servers"
    cmd.arg_name "[server-id...]"
    cmd.command [:list] do |c|

      c.desc "Group identifier"
      c.flag [:g, :group]

      c.action do |global_options, options, args|
        # Check this here before we make any network connections
        raise "A valid server group identifier is required for the group argument" unless options[:g].nil? || options[:g] =~ /^grp-.{5}$/
        servers = Server.find_all_or_warn(args)

        # Scope by group if a group identifier is specified
        if options[:g]
          servers = servers.select do
            |server| server.server_groups.any? do |grp|
              grp["id"] == options[:g]
            end
          end
        end

        render_table(servers, global_options)
      end
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
brightbox-cli-1.2.2 lib/brightbox-cli/commands/servers/list.rb
brightbox-cli-1.2.1 lib/brightbox-cli/commands/servers/list.rb
brightbox-cli-1.2.0 lib/brightbox-cli/commands/servers/list.rb