class PoiseService::ServiceProviders::Provider
Poise-service provider for AIX
. @since 1.0.0
Constants
- DEFAULT_PROCESS_ACTION
- DEFAULT_RUN_LEVEL
Public Class Methods
provides_auto?(node, _)
click to toggle source
# File lib/poise_service/aix/provider.rb, line 28 def self.provides_auto?(node, _) node['platform_family'] == 'aix' end
Public Instance Methods
pid()
click to toggle source
Parse the PID from ‘lssrc -s <name>` output. @return [Integer]
# File lib/poise_service/aix/provider.rb, line 34 def pid service = shell_out!("lssrc -s #{@new_resource.service_name}").stdout service.split(' ')[-1].to_i end
Private Instance Methods
create_service()
click to toggle source
# File lib/poise_service/aix/provider.rb, line 41 def create_service Chef::Log.debug("Creating aix service #{new_resource.service_name}") command = new_resource.command.split(' ') aix_subsystem "#{new_resource.service_name}" do program command.first arguments command.drop(1).join(' ') user new_resource.user auto_restart true end end
destroy_service()
click to toggle source
# File lib/poise_service/aix/provider.rb, line 71 def destroy_service Chef::Log.debug("Destroying aix service #{new_resource.service_name}") aix_subsystem "#{new_resource.service_name}" do action :delete end end
disable_service()
click to toggle source
# File lib/poise_service/aix/provider.rb, line 61 def disable_service Chef::Log.debug("Disabling aix service #{new_resource.service_name}") aix_inittab "#{new_resource.service_name}" do runlevel options['runlevel'] ||= DEFAULT_RUN_LEVEL processaction options['processaction'] ||= DEFAULT_PROCESS_ACTION command "/usr/bin/startsrc -s #{new_resource.service_name} >/dev/console 2>&1" action :remove end end
enable_service()
click to toggle source
# File lib/poise_service/aix/provider.rb, line 52 def enable_service Chef::Log.debug("Enabling aix service #{new_resource.service_name}") aix_inittab "#{new_resource.service_name}" do runlevel options['runlevel'] ||= DEFAULT_RUN_LEVEL processaction options['processaction'] ||= DEFAULT_PROCESS_ACTION command "/usr/bin/startsrc -s #{new_resource.service_name} >/dev/console 2>&1" end end
service_provider()
click to toggle source
Calls superclass method
# File lib/poise_service/aix/provider.rb, line 78 def service_provider super.tap do |r| r.provider(Chef::Provider::Service::Aix) end end