class Chef::Knife::HostsFile

Public Instance Methods

ip_address(node) click to toggle source
# File lib/chef/knife/hosts_file.rb, line 26
def ip_address(node)
  node.has_key?("ec2") ? node['ec2']['public_ipv4'] : node['ipaddress']
end
query_nodes(search) click to toggle source
# File lib/chef/knife/hosts_file.rb, line 18
def query_nodes(search)
  nodes = Hash.new
  Chef::Search::Query.new.search(:node, search) do |node|
    nodes[ip_address(node)] = node.name
  end
  nodes
end
run() click to toggle source
# File lib/chef/knife/hosts_file.rb, line 13
def run
  nodes = query_nodes(@name_args[0] || "*:*")
  KniferSutherland::Host.new.write_nodes_to_host_file(nodes)
end