Sha256: 35ad4c340dcfecb691c5786008859e917640093bf424820e793754a37836ed6e

Contents?: true

Size: 996 Bytes

Versions: 4

Compression:

Stored size: 996 Bytes

Contents

module Brightbox
  desc "Manages an account's servers"
  command [:servers] do |cmd|

    cmd.desc "Activate the console service for one or more servers"
    cmd.arg_name "server-id..."
    cmd.command [:activate_console] do |c|

      c.action do |global_options, options, args|

        raise "You must specify servers to activate the console for" if args.empty?

        servers = Server.find_or_call(args) do |id|
          raise "Couldn't find server #{id}"
        end

        consoles = []

        servers.each do |s|
          info "Activating console for server #{s}"
          r = s.activate_console
          url = "#{r["console_url"]}/?password=#{r["console_token"]}"
            expires = Time.parse(r["console_token_expires"])
          consoles << { :url => url, :token => r["console_token"], :expires => expires.localtime.to_s }
        end

        render_table(consoles, global_options.merge(:fields => [:url, :token, :expires], :resize => false))
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
brightbox-cli-1.1.0 lib/brightbox-cli/commands/servers-activate-console.rb
brightbox-cli-1.0.0 lib/brightbox-cli/commands/servers-activate-console.rb
brightbox-cli-1.0.0.rc2 lib/brightbox-cli/commands/servers-activate-console.rb
brightbox-cli-1.0.0.rc1 lib/brightbox-cli/commands/servers-activate-console.rb