class Chef::Knife::VaultShow
Public Instance Methods
print_keys(vault)
click to toggle source
# File lib/chef/knife/vault_show.rb, line 90 def print_keys(vault) if bag_is_vault?(vault) bag = Chef::DataBag.load(vault) output split_vault_keys(bag)[1] else output "data bag #{vault} is not a chef-vault" end end
print_values(vault, item, values)
click to toggle source
# File lib/chef/knife/vault_show.rb, line 51 def print_values(vault, item, values) vault_item = ChefVault::Item.load(vault, item) extra_data = {} if config[:print] case config[:print] when "search" extra_data["search_query"] = vault_item.search when "admins" extra_data["admins"] = vault_item.get_admins when "clients" extra_data["clients"] = vault_item.get_clients when "all" extra_data["search_query"] = vault_item.search extra_data["admins"] = vault_item.get_admins extra_data["clients"] = vault_item.get_clients end end if values included_values = %w{id} values.split(",").each do |value| value.strip! # remove white space included_values << value end filtered_data = Hash[vault_item.raw_data.find_all { |k, _| included_values.include?(k) }] output_data = filtered_data.merge(extra_data) else all_data = vault_item.raw_data output_data = all_data.merge(extra_data) end output(output_data) end
run()
click to toggle source
# File lib/chef/knife/vault_show.rb, line 35 def run vault = @name_args[0] item = @name_args[1] values = @name_args[2] if vault && item set_mode(config[:vault_mode]) print_values(vault, item, values) elsif vault set_mode(config[:vault_mode]) print_keys(vault) else show_usage end end