class KnifePlugins::RackspaceLoadBalancerShow
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/rackspace_load_balancer_show.rb, line 20 def run @name_args.each do |load_balancer_id| load_balancer = lb_connection.get_load_balancer(load_balancer_id) nodes = load_balancer.list_nodes load_balancer_info = { :name => load_balancer.name, :id => load_balancer.id, :protocol => load_balancer.protocol, :port => load_balancer.port, :status => ui.color(load_balancer.status, load_balancer.status == "ACTIVE" ? :green : :red) } vip_list = [ ui.color("Virtual Ip(s)", :bold), ui.color("Id", :bold), ui.color("Version", :bold), ] load_balancer.list_virtual_ips.each do |vip| vip_list << vip[:address].to_s vip_list << vip[:id].to_s vip_list << vip[:ipVersion].to_s end node_list = [ ui.color("Node(s)", :bold), ui.color("Address", :bold), ui.color("Port", :bold), ui.color("Condition", :bold), ui.color("Status", :bold) ] nodes.each do |node| node_name = node[:id] if config[:resolve_node_names] first_node = nodes_by_search("private_ip:#{node[:address]}").first node_name = first_node.name unless first_node.nil? || first_node.name.nil? end node_list << node_name.to_s node_list << node[:address].to_s node_list << node[:port].to_s node_list << ui.color(node[:condition].to_s, node[:condition] == "ENABLED" ? :green : :red) node_list << ui.color(node[:status].to_s, node[:status] == "ONLINE" ? :green : :red) end ui.output(format_for_display(load_balancer_info)) ui.output("\n") ui.output(ui.list(vip_list, :columns_across, 3)) ui.output(ui.list(node_list, :columns_across, 5)) end end