Sha256: 4fac0a5e7ad2568e2f5b1e314cf628f454a1558702a06942efb7400e0dd85e2c
Contents?: true
Size: 1007 Bytes
Versions: 4
Compression:
Stored size: 1007 Bytes
Contents
require 'chef/knife' require 'knife-spork/runner' module KnifeSpork class SporkNodeFromFile < Chef::Knife include KnifeSpork::Runner banner 'knife spork node from file FILE (options)' def run self.config = Chef::Config.merge!(config) if @name_args.empty? show_usage ui.error("You must specify a filename") exit 1 end @object_name = JSON.parse(File.read(@name_args.first))["name"] ui.info @object_name run_plugins(:before_nodefromfile) begin pre_node = load_node(@object_name.gsub(".json","")) rescue pre_node = {} end node_fromfile post_node = load_node(@object_name.gsub(".json","")) @object_difference = json_diff(pre_node,post_node).to_s run_plugins(:after_nodefromfile) end private def node_fromfile nff = Chef::Knife::NodeFromFile.new nff.name_args = @name_args nff.config[:editor] = config[:editor] nff.run end end end
Version data entries
4 entries across 4 versions & 2 rubygems