Sha256: b3483c949f6c021e39ff264136c960af148fe0785ca591b5babee563519914da

Contents?: true

Size: 1 KB

Versions: 28

Compression:

Stored size: 1 KB

Contents

Puppet::Type.type(:service).provide :service do
  desc "The simplest form of service support."

  def self.instances
    []
  end

  # How to restart the process.
  def restart
    if @resource[:restart] or restartcmd
      ucommand(:restart)
    else
      self.stop
      self.start
    end
  end

  # There is no default command, which causes other methods to be used
  def restartcmd
  end

  # A simple wrapper so execution failures are a bit more informative.
  def texecute(type, command, fof = true)
    begin
      # #565: Services generally produce no output, so squelch them.
      execute(command, :failonfail => fof, :squelch => true)
    rescue Puppet::ExecutionFailure => detail
      @resource.fail "Could not #{type} #{@resource.ref}: #{detail}"
    end
    nil
  end

  # Use either a specified command or the default for our provider.
  def ucommand(type, fof = true)
    if c = @resource[type]
      cmd = [c]
    else
      cmd = [send("#{type}cmd")].flatten
    end
    texecute(type, cmd, fof)
  end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
puppet-parse-0.1.4 lib/vendor/puppet/provider/service/service.rb
puppet-parse-0.1.3 lib/vendor/puppet/provider/service/service.rb
puppet-parse-0.1.2 lib/vendor/puppet/provider/service/service.rb
puppet-parse-0.1.1 lib/vendor/puppet/provider/service/service.rb
puppet-2.7.26 lib/puppet/provider/service/service.rb
puppet-2.7.25 lib/puppet/provider/service/service.rb
puppet-2.7.24 lib/puppet/provider/service/service.rb
puppet-2.7.23 lib/puppet/provider/service/service.rb
puppet-2.7.22 lib/puppet/provider/service/service.rb
puppet-parse-0.1.0 lib/vendor/puppet/provider/service/service.rb
puppet-parse-0.0.6 lib/vendor/puppet/provider/service/service.rb
puppet-2.7.21 lib/puppet/provider/service/service.rb
puppet-parse-0.0.5 lib/vendor/puppet/provider/service/service.rb
puppet-parse-0.0.4 lib/vendor/puppet/provider/service/service.rb
puppet-3.0.2 lib/puppet/provider/service/service.rb
puppet-3.0.2.rc3 lib/puppet/provider/service/service.rb
puppet-3.0.2.rc2 lib/puppet/provider/service/service.rb
puppet-3.0.2.rc1 lib/puppet/provider/service/service.rb
puppet-parse-0.0.2 lib/vendor/puppet/provider/service/service.rb
puppet-2.7.20 lib/puppet/provider/service/service.rb