in chef/cookbooks/cpe_hostname/resources/cpe_hostname.rb [32:79]
def enforce
hostname = node['cpe_hostname']['hostname']
suffix = node['cpe_hostname']['suffix']
if hostname.nil?
Chef::Log.warn('cpe_hostname hostname value not set!')
return
end
if macos?
if %w(loginwindow _mbsetupuser).include?(node.console_user)
Chef::Log.warn(
'Device at loginwindow or SetupAssistant - skipping hostname '\
'enforcement!',
)
return
end
%w[
ComputerName
HostName
LocalHostName
].each do |type|
fixed_hostname = hostname.gsub(/[@._ ]/, '-')
if type == 'HostName' && !(suffix.nil? || suffix.empty?)
fixed_hostname = fixed_hostname.to_s + ".#{suffix}"
end
execute "Setting #{type} to #{fixed_hostname}" do
command "/usr/sbin/scutil --set #{type} #{fixed_hostname}"
only_if { check_hostname_macos(type) != fixed_hostname }
end
end
elsif windows?
return
elsif debian?
return
end
end