class Pantry::PantrySet
Public Instance Methods
get_cbk_list(options)
click to toggle source
# File lib/chef/knife/set.rb, line 32 def get_cbk_list(options) chef_env = rest.get("environments/#{options[:current_env]}") env_json = JSON.parse(chef_env.to_json) cbk_list = env_json['cookbook_versions'] if cbk_list.has_key?(options[:cbk]) if cbk_list[options[:cbk]] == "= " + options[:ver] return nil else cbk_list[options[:cbk]] = "= " + options[:ver] end end new_cbk_list = cbk_list env_json['cookbook_versions'] = new_cbk_list return env_json end
run()
click to toggle source
# File lib/chef/knife/set.rb, line 9 def run options = { cbk: name_args.first, ver: name_args[1], env: name_args.last } if options[:ver] == 'latest' available_versions = rest.get_rest("cookbooks/#{options[:cbk]}") options[:ver] = available_versions[options[:cbk]]['versions'][0]['version'] end options[:env] = options[:env].split(',') options[:env].each {|x| options[:current_env] = x if set(get_cbk_list(options)) puts "[Action Complete!] #{options[:current_env]} => #{options[:ver]} => #{options[:cbk]}" else puts "[No Action!] #{options[:current_env]} already using #{options[:cbk]} #{options[:ver]}" end } end
set(env_json)
click to toggle source
# File lib/chef/knife/set.rb, line 50 def set(env_json) if env_json != nil rest.put_rest("environments/" + env_json['name'], env_json) return true else return false end end