Sha256: ea48560453d6528ca95255839cc007ced9dbd9b6da89b42784182cf044cd700f
Contents?: true
Size: 1.89 KB
Versions: 2
Compression:
Stored size: 1.89 KB
Contents
# # Author:: Adam Jacob (<adam@opscode.com>) # Author:: Daniel DeLeo (<dan@opscode.com>) # Copyright:: Copyright (c) 2009, 2010 Opscode, Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # require 'chef/knife' require 'chef/knife/cookbook_delete' class Chef class Knife class CookbookBulkDelete < Knife banner "Sub-Command: cookbook bulk delete REGEX (options)" def run unless regex_str = @name_args.first Chef::Log.fatal("You must supply a regular expression to match the results against") exit 42 end regex = Regexp.new(regex_str) all_cookbooks = Chef::CookbookVersion.list cookbooks_names = all_cookbooks.keys.grep(regex) cookbooks_to_delete = cookbooks_names.inject({}) { |hash, name| hash[name] = all_cookbooks[name];hash } output(format_list_for_display(cookbooks_to_delete)) confirm("Do you really want to delete these cookbooks? All versions will be deleted. (Y/N) ", false) cookbooks_names.each do |cookbook_name| versions = rest.get_rest("cookbooks/#{cookbook_name}").values.flatten versions.each do |version| object = rest.delete_rest("cookbooks/#{cookbook_name}/#{version}") Chef::Log.info("Deleted cookbook #{cookbook_name.ljust(25)} [#{version}]") end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
chef-0.9.0.rc01 | lib/chef/knife/cookbook_bulk_delete.rb |
chef-0.9.0.b02 | lib/chef/knife/cookbook_bulk_delete.rb |