Sha256: 42258f4cd0f86f9dc34ef91fe539ac6ae92a598a6bd1dbbe1710761f9f3bae1d
Contents?: true
Size: 1.36 KB
Versions: 4
Compression:
Stored size: 1.36 KB
Contents
require 'chef/knife' require 'knife-spork/runner' require 'json' module KnifeSpork class SporkDataBagDelete < Chef::Knife include KnifeSpork::Runner deps do require 'chef/knife/data_bag_delete' end banner 'knife data bag delete BAG [ITEM] (options)' def run self.config = Chef::Config.merge!(config) if @name_args.length == 2 @object_name = @name_args.first @object_secondary_name = @name_args.last run_plugins(:before_databagitemdelete) pre_databag = load_databag_item(@object_name,@object_secondary_name) databag_delete post_databag = {} @object_difference = json_diff(pre_databag,post_databag).to_s run_plugins(:after_databagitemdelete) elsif @name_args.length == 1 @object_name = @name_args.first run_plugins(:before_databagdelete) pre_databag = load_databag(@object_name) databag_delete post_databag = {} @object_difference = json_diff(pre_databag,post_databag).to_s run_plugins(:after_databagdelete) else show_usage ui.fatal("You must specify at least a data bag name") exit 1 end end private def databag_delete dbd = Chef::Knife::DataBagDelete.new dbd.name_args = @name_args dbd.config[:editor] = config[:editor] dbd.run end end end
Version data entries
4 entries across 4 versions & 2 rubygems