class Chef::Provider::Service::AixInit
Constants
- RC_D_SCRIPT_NAME
Public Class Methods
new(new_resource, run_context)
click to toggle source
Calls superclass method
Chef::Provider::Service::Init::new
# File lib/chef/provider/service/aixinit.rb, line 27 def initialize(new_resource, run_context) super @init_command = "/etc/rc.d/init.d/#{@new_resource.service_name}" end
Public Instance Methods
create_symlink(run_level, status, priority)
click to toggle source
# File lib/chef/provider/service/aixinit.rb, line 88 def create_symlink(run_level, status, priority) ::File.symlink("/etc/rc.d/init.d/#{@new_resource.service_name}", "/etc/rc.d/rc#{run_level}.d/#{status}#{priority}#{@new_resource.service_name}") end
disable_service()
click to toggle source
# File lib/chef/provider/service/aixinit.rb, line 74 def disable_service Dir.glob(["/etc/rc.d/rc2.d/[SK][0-9][0-9]#{@new_resource.service_name}", "/etc/rc.d/rc2.d/[SK]#{@new_resource.service_name}"]).each { |f| ::File.delete(f) } if @new_resource.priority.is_a? Integer create_symlink(2, "K", 100 - @new_resource.priority) elsif @new_resource.priority.is_a? Hash @new_resource.priority.each do |level, o| create_symlink(level, "K", 100 - o[1]) if o[0] == :stop end else create_symlink(2, "K", "") end end
enable_service()
click to toggle source
# File lib/chef/provider/service/aixinit.rb, line 59 def enable_service Dir.glob(["/etc/rc.d/rc2.d/[SK][0-9][0-9]#{@new_resource.service_name}", "/etc/rc.d/rc2.d/[SK]#{@new_resource.service_name}"]).each { |f| ::File.delete(f) } if @new_resource.priority.is_a? Integer create_symlink(2, "S", @new_resource.priority) elsif @new_resource.priority.is_a? Hash @new_resource.priority.each do |level, o| create_symlink(level, (o[0] == :start ? "S" : "K"), o[1]) end else create_symlink(2, "S", "") end end
load_current_resource()
click to toggle source
Calls superclass method
Chef::Provider::Service::Simple#load_current_resource
# File lib/chef/provider/service/aixinit.rb, line 32 def load_current_resource super @priority_success = true @rcd_status = nil set_current_resource_attributes @current_resource end
set_current_resource_attributes()
click to toggle source
# File lib/chef/provider/service/aixinit.rb, line 92 def set_current_resource_attributes # assuming run level 2 for aix is_enabled = false files = Dir.glob(["/etc/rc.d/rc2.d/[SK][0-9][0-9]#{@new_resource.service_name}", "/etc/rc.d/rc2.d/[SK]#{@new_resource.service_name}"]) priority = {} files.each do |file| if RC_D_SCRIPT_NAME =~ file priority[2] = [($1 == "S" ? :start : :stop), ($2.empty? ? "" : $2.to_i)] if $1 == "S" is_enabled = true end end end if is_enabled && files.length == 1 priority = priority[2][1] end @current_resource.enabled(is_enabled) @current_resource.priority(priority) end