class KnifeAtomic::EnvironmentShowAtomic
Public Instance Methods
cookbooks(env_url, versions)
click to toggle source
# File lib/chef/knife/atomic_environment.rb, line 37 def cookbooks(env_url, versions) nodes = rest.get_rest("#{env_url}/nodes") env_cookbooks = versions unless nodes.nil? nodes.each do |node_name, node_url| node_data = rest.get_rest("#{node_url}") if node_data["automatic"].has_key?("cookbooks") node_cookbooks = node_data["automatic"]["cookbooks"] unless node_cookbooks.nil? node_cookbooks.each do |cookbook_name, cookbook_data| cookbook_version = cookbook_data['version'] if env_cookbooks.has_key?(cookbook_name) version = env_cookbooks[cookbook_name].split(' ').last if version > cookbook_version env_cookbooks[cookbook_name] = "<= #{version}" elsif cookbook_version > version env_cookbooks[cookbook_name] = "<= #{cookbook_version}" end else env_cookbooks[cookbook_name] = "= #{cookbook_version}" end end end end end end env_cookbooks end
full_conf(envname)
click to toggle source
# File lib/chef/knife/atomic_environment.rb, line 29 def full_conf(envname) env_url = Chef::Environment.list[envname] env_data = rest.get_rest(env_url) all_cookbooks = cookbooks(env_url, env_data["cookbook_versions"]) env_data["cookbook_versions"] = all_cookbooks ui.output(env_data) end
run()
click to toggle source
# File lib/chef/knife/atomic_environment.rb, line 20 def run # Ruby code goes here if @name_args.empty? puts "Invalid environment name" else puts full_conf(@name_args.first) end end