in itchef/cookbooks/cpe_nomad/resources/darwin.rb [74:150]
def configure_profile
nomad_prefs =
node['cpe_nomad']['prefs'].reject { |_k, v| v.nil? }
login_prefs =
node['cpe_nomad']['login']['prefs'].reject { |_k, v| v.nil? }
actions_prefs =
node['cpe_nomad']['actions']['prefs'].reject { |_k, v| v.nil? }
if [
nomad_prefs,
login_prefs,
actions_prefs,
].all?(&:empty?)
Chef::Log.info("#{cookbook_name}: prefs not found.")
return
end
unless nomad_prefs.empty?
{
'PayloadEnabled' => true,
'PayloadIdentifier' => '7D5A6BCB-1CFD-44BC-ADCF-B511A63F69E3',
'PayloadDescription' => 'NoMAD Settings',
'PayloadVersion' => 1,
'PayloadType' => 'com.trusourcelabs.NoMAD',
'PayloadUUID' => '7D5A6BCB-1CFD-44BC-ADCF-B511A63F69E3',
}.each { |k, v| nomad_prefs[k] = v }
end
unless login_prefs.empty?
{
'PayloadEnabled' => true,
'PayloadIdentifier' => '94f48d1b-8fbf-4c40-9325-9c3775450250',
'PayloadDescription' => 'NoMADLoginAD Settings',
'PayloadVersion' => 1,
'PayloadType' => 'menu.nomad.login.ad',
'PayloadUUID' => '94f48d1b-8fbf-4c40-9325-9c3775450250',
}.each { |k, v| login_prefs[k] = v }
end
unless actions_prefs.empty?
{
'PayloadEnabled' => true,
'PayloadIdentifier' => '8c8b263a-2fa1-4471-baf2-9bafdd90e74b',
'PayloadDescription' => 'NoMAD Actions Settings',
'PayloadVersion' => 1,
'PayloadType' => 'menu.nomad.actions',
'PayloadUUID' => '8c8b263a-2fa1-4471-baf2-9bafdd90e74b',
}.each { |k, v| actions_prefs[k] = v }
end
prefix = node['cpe_profiles']['prefix']
organization = node['organization'] ? node['organization'] : 'Facebook'
{
'NoMAD' => nomad_prefs,
'NoMAD Login' => login_prefs,
'NoMAD Actions' => actions_prefs,
}.each do |pref_name, prefs|
next if prefs.empty?
profile_id = "#{prefix}.#{pref_name.downcase.sub(' ', '_')}"
profile = {
'PayloadEnabled' => true,
'PayloadDisplayName' => pref_name,
'PayloadScope' => 'System',
'PayloadType' => 'Configuration',
'PayloadRemovalDisallowed' => true,
'PayloadDescription' => '',
'PayloadVersion' => 1,
'PayloadOrganization' => organization,
'PayloadIdentifier' => profile_id,
'PayloadUUID' => '5312D107-393D-493C-A8D2-14D6E02A0967',
'PayloadContent' => [prefs],
}
node.default['cpe_profiles'][profile_id] = profile
end
end