class Chef::Knife::RunsList
Constants
- HEADERS
- PROTOCOL_VERSION
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/runs_list.rb, line 69 def run @rest = Chef::ServerAPI.new(Chef::Config[:chef_server_url]) node_name = name_args[0] check_start_and_end_times_provided() start_time, end_time = apply_time_args() check_3month_window(start_time, end_time) query_string = generate_query(start_time, end_time, node_name, config[:rows], config[:status]) runs = history(query_string) output(runs) end
Private Instance Methods
generate_query(start_time, end_time, node_name = nil, rows = nil, status = nil)
click to toggle source
# File lib/chef/knife/runs_list.rb, line 87 def generate_query(start_time, end_time, node_name = nil, rows = nil, status = nil) query = '/reports' if node_name query += "/nodes/#{node_name}" else query += "/org" end query += "/runs?from=#{start_time}&until=#{end_time}" if rows query += "&rows=#{rows}" end if status query += "&status=#{status}" end query end
history(query_string)
click to toggle source
# File lib/chef/knife/runs_list.rb, line 104 def history(query_string) runs = @rest.get_rest(query_string, HEADERS) runs["run_history"].map do |run| { :run_id => run["run_id"], :node_name => run["node_name"], :status => run["status"], :start_time => run["start_time"] } end end