57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# File 'manifests/integrations/directory.pp', line 57
class datadog_agent::integrations::directory (
String $directory = '',
Boolean $filegauges = false,
Boolean $recursive = true,
Boolean $countonly = false,
String $nametag = '',
String $dirtagname = '',
String $filetagname = '',
String $pattern = '',
Optional[Array] $instances = undef,
) inherits datadog_agent::params {
require ::datadog_agent
if !$instances and $directory == '' {
fail('bad directory argument and no instances hash provided')
}
if !$instances and $directory {
$_instances = [{
'directory' => $directory,
'filegauges' => $filegauges,
'recursive' => $recursive,
'countonly' => $countonly,
'name' => $nametag,
'dirtagname' => $dirtagname,
'filetagname' => $filetagname,
'pattern' => $pattern,
}]
} elsif !$instances{
$_instances = []
} else {
$_instances = $instances
}
$legacy_dst = "${datadog_agent::params::legacy_conf_dir}/directory.yaml"
if $::datadog_agent::_agent_major_version > 5 {
$dst_dir = "${datadog_agent::params::conf_dir}/directory.d"
file { $legacy_dst:
ensure => 'absent'
}
file { $dst_dir:
ensure => directory,
owner => $datadog_agent::params::dd_user,
group => $datadog_agent::params::dd_group,
mode => $datadog_agent::params::permissions_directory,
require => Package[$datadog_agent::params::package_name],
notify => Service[$datadog_agent::params::service_name]
}
$dst = "${dst_dir}/conf.yaml"
} else {
$dst = $legacy_dst
}
file { $dst:
ensure => file,
owner => $datadog_agent::params::dd_user,
group => $datadog_agent::params::dd_group,
mode => $datadog_agent::params::permissions_protected_file,
content => template('datadog_agent/agent-conf.d/directory.yaml.erb'),
require => Package[$datadog_agent::params::package_name],
notify => Service[$datadog_agent::params::service_name]
}
}
|