36 lines
1.5 KiB
Ruby
36 lines
1.5 KiB
Ruby
|
require File.expand_path("../base", __FILE__)
|
||
|
|
||
|
module VagrantPlugins
|
||
|
module Chef
|
||
|
module Config
|
||
|
class ChefClient < Base
|
||
|
attr_accessor :chef_server_url
|
||
|
attr_accessor :validation_key_path
|
||
|
attr_accessor :validation_client_name
|
||
|
attr_accessor :client_key_path
|
||
|
attr_accessor :file_cache_path
|
||
|
attr_accessor :file_backup_path
|
||
|
attr_accessor :environment
|
||
|
attr_accessor :encrypted_data_bag_secret_key_path
|
||
|
attr_accessor :encrypted_data_bag_secret
|
||
|
|
||
|
# Provide defaults in such a way that they won't override the instance
|
||
|
# variable. This is so merging continues to work properly.
|
||
|
def validation_client_name; @validation_client_name || "chef-validator"; end
|
||
|
def client_key_path; @client_key_path || "/etc/chef/client.pem"; end
|
||
|
def file_cache_path; @file_cache_path || "/srv/chef/file_store"; end
|
||
|
def file_backup_path; @file_backup_path || "/srv/chef/cache"; end
|
||
|
def encrypted_data_bag_secret; @encrypted_data_bag_secret || "/tmp/encrypted_data_bag_secret"; end
|
||
|
|
||
|
def validate(env, errors)
|
||
|
super
|
||
|
|
||
|
errors.add(I18n.t("vagrant.config.chef.server_url_empty")) if !chef_server_url || chef_server_url.strip == ""
|
||
|
errors.add(I18n.t("vagrant.config.chef.validation_key_path")) if !validation_key_path
|
||
|
errors.add(I18n.t("vagrant.config.chef.run_list_empty")) if @run_list && @run_list.empty?
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|