Puppet Class: datadog_agent::service

Inherits:
datadog_agent::params
Defined in:
manifests/service.pp

Overview

Class: datadog_agent::service

This class declares the datadog-agent service

Parameters:

  • service_ensure (String) (defaults to: 'running')
  • service_enable (Variant[Boolean, Enum['manual', 'mask', 'delayed']]) (defaults to: true)
  • service_provider (Optional[String]) (defaults to: undef)
  • agent_flavor (String) (defaults to: $datadog_agent::params::package_name)


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'manifests/service.pp', line 5

class datadog_agent::service (
  String $service_ensure = 'running',
  Variant[Boolean, Enum['manual', 'mask', 'delayed']] $service_enable = true,
  Optional[String] $service_provider = undef,
  String $agent_flavor = $datadog_agent::params::package_name,
) inherits datadog_agent::params {
  if ($facts['os']['name'] == 'Windows') {
    service { $datadog_agent::params::service_name:
      ensure  => $service_ensure,
      enable  => $service_enable,
      restart => ['powershell', '-Command', 'Restart-Service -Force DatadogAgent'], # Force restarts dependent services
      require => Package[$datadog_agent::params::package_name],
    }
  } else {
    if $service_provider {
      service { $datadog_agent::params::service_name:
        ensure    => $service_ensure,
        enable    => $service_enable,
        provider  => $service_provider,
        hasstatus => false,
        pattern   => 'dd-agent',
        require   => Package[$agent_flavor],
      }
    } else {
      service { $datadog_agent::params::service_name:
        ensure    => $service_ensure,
        enable    => $service_enable,
        hasstatus => false,
        pattern   => 'dd-agent',
        require   => Package[$agent_flavor],
      }
    }
  }
}