class ChefCLI::Policyfile::Uploader
def data_bag_item_create
def data_bag_item_create policy_id = "#{policy_name}-#{policy_group}" lock_data = policy_lock_for_transport.dup lock_data["id"] = policy_id data_item = { "id" => policy_id, "name" => "data_bag_item_#{COMPAT_MODE_DATA_BAG_NAME}_#{policy_id}", "data_bag" => COMPAT_MODE_DATA_BAG_NAME, "raw_data" => lock_data, # we'd prefer to leave this out, but the "compatibility mode" # implementation in chef-client relies on magical class inflation "json_class" => "Chef::DataBagItem", } upload_lockfile_as_data_bag_item(policy_id, data_item) ui.msg("Policy uploaded as data bag item #{COMPAT_MODE_DATA_BAG_NAME}/#{policy_id}") true end