Sha256: aeec4efb2a02a603d0019f485f70894a98c2a6ea320a8710d5c818e406a51cc7
Contents?: true
Size: 1.78 KB
Versions: 50
Compression:
Stored size: 1.78 KB
Contents
require 'itamae' module Itamae module Resource class Service < Base define_attribute :action, default: :nothing define_attribute :name, type: String, default_name: true define_attribute :provider, type: Symbol, default: nil def initialize(*args) super @under = attributes.provider ? "_under_#{attributes.provider}" : "" end def pre_action case @current_action when :start, :restart attributes.running = true when :stop attributes.running = false when :enable attributes.enabled = true when :disable attributes.enabled = false end end def set_current_attributes current.running = run_specinfra(:"check_service_is_running#{@under}", attributes.name) current.enabled = run_specinfra(:"check_service_is_enabled#{@under}", attributes.name) end def action_start(options) unless current.running run_specinfra(:"start_service#{@under}", attributes.name) end end def action_stop(options) if current.running run_specinfra(:"stop_service#{@under}", attributes.name) end end def action_restart(options) run_specinfra(:"restart_service#{@under}", attributes.name) end def action_reload(options) if current.running run_specinfra(:"reload_service#{@under}", attributes.name) end end def action_enable(options) unless current.enabled run_specinfra(:"enable_service#{@under}", attributes.name) end end def action_disable(options) if current.enabled run_specinfra(:"disable_service#{@under}", attributes.name) end end end end end
Version data entries
50 entries across 50 versions & 2 rubygems