Method: Chef::Provider::Service::Macosx#load_current_resource

Defined in:
lib/chef/provider/service/macosx.rb

#load_current_resourceObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/chef/provider/service/macosx.rb', line 46

def load_current_resource
  @current_resource = Chef::Resource::MacosxService.new(@new_resource.name)
  @current_resource.service_name(@new_resource.service_name)
  @plist_size = 0
  @plist = @new_resource.plist || find_service_plist
  @service_label = find_service_label
  # LaunchAgents should be loaded as the console user.
  @console_user = @plist ? @plist.include?("LaunchAgents") : false
  @session_type = @new_resource.session_type

  if @console_user
    @console_user = Etc.getpwuid(::File.stat("/dev/console").uid).name
    logger.trace("#{new_resource} console_user: '#{@console_user}'")

    @base_user_cmd = "su -l #{@console_user} -c"
    logger.trace("#{new_resource} base_user_cmd: '#{@base_user_cmd}'")

    # Default LaunchAgent session should be Aqua
    @session_type = "Aqua" if @session_type.nil?
  end

  logger.trace("#{new_resource} Plist: '#{@plist}' service_label: '#{@service_label}'")
  set_service_status

  @current_resource
end