chef/cookbooks/cpe_nudge/resources/cpe_nudge_swift_launchctl.rb (33 lines of code) (raw):
#
# Cookbook:: cpe_nudge
# Resources:: cpe_nudge_swift_launchagent
#
# vim: syntax=ruby:expandtab:shiftwidth=2:softtabstop=2:tabstop=2
#
# Copyright:: (c) 2021-present, Uber Technologies, Inc.
# All rights reserved.
#
# This source code is licensed under the Apache 2.0 license found in the
# LICENSE file in the root directory of this source tree.
#
unified_mode true
resource_name :cpe_nudge_swift_launchctl
provides :cpe_nudge_swift_launchctl, :os => 'darwin'
default_action :manage
action :manage do
manage_launchagent if manage_launchagent? && !uninstall?
manage_loggerdaemon if manage_loggerdaemon? && !uninstall?
end
action_class do
def manage_launchagent?
node['cpe_nudge']['nudge-swift']['manage_launchagent']
end
def manage_loggerdaemon?
node['cpe_nudge']['nudge-swift']['manage_loggerdaemon']
end
def uninstall?
node['cpe_nudge']['nudge-swift']['uninstall']
end
def manage_launchagent
if ::File.exists?(node['cpe_nudge']['nudge-swift']['app_path'])
launchagent_identifier = node['cpe_nudge']['nudge-swift']['launchagent_identifier']
node.default['cpe_launchd'][launchagent_identifier] =
node['cpe_nudge']['nudge-swift']['launchagent']
end
end
def manage_loggerdaemon
if ::File.exists?(node['cpe_nudge']['nudge-swift']['app_path'])
loggerdaemon_identifier = node['cpe_nudge']['nudge-swift']['loggerdaemon_identifier']
node.default['cpe_launchd'][loggerdaemon_identifier] =
node['cpe_nudge']['nudge-swift']['loggerdaemon']
end
end
end