def add(hostname, nickname)
raise ArgumentError, "The --use and --skip-wizard options cannot be used together." if options.use && options.skip_wizard
attrs = [:login, :use_authorization_tokens, :insecure, :timeout, :ssl_version, :ssl_client_cert_file, :ssl_client_key_file, :ssl_ca_file]
server = server_configs.add(hostname,
attrs.inject({:nickname => nickname}){ |h, (k, v)| h[k] = options[k == :login ? :rhlogin : k]; h })
unless options.skip_wizard
(wizard_to_server(server.hostname, options.use, attrs.inject({}){ |h, (k, v)| h[k] = server.send(k); h }) ? 0 : 1).tap do |r|
paragraph { success "Now using '#{server.hostname}'" } if options.use && r == 0
end
else
say "Saving server configuration to #{system_path(server_configs.path)} ... "
server_configs.save!
success "done"
0
end
end