manifests/integrations/postfix.pp (36 lines of code) (raw):
# Class: datadog_agent::integrations::postfix
#
# This class will install the necessary configuration for the Postfix integration
#
# Parameters:
# $url:
# url used to connect to the Postfixd instance
# $port:
# $tags
# Optional array of tags
#
# Sample Usage:
#
# include 'datadog_agent::integrations::postfix'
#
# OR
#
# class { 'datadog_agent::integrations::postfix':
# directory => '/var/spool/postfix-2'
# }
#
#
# Sample Usage (Instance):
# class { 'datadog_agent::integrations::postfix' :
# instances => [{
# directory => '/var/spool/postfix-2',
# queues => [ 'active', 'deferred' ]
# }]
# }
#
class datadog_agent::integrations::postfix (
$directory = '/var/spool/postfix',
Array $queues = [ 'active', 'deferred', 'incoming' ],
Optional[Array] $tags = [],
Optional[Array] $instances = undef,
) inherits datadog_agent::params {
include datadog_agent
validate_legacy('String', 'validate_string', $directory)
validate_legacy('Optional[Array]', 'validate_array', $queues)
validate_legacy('Optional[Array]', 'validate_array', $tags)
if !$instances and $directory {
$_instances = [{
'directory' => $directory,
'queues' => $queues,
'tags' => $tags
}]
} elsif !$instances{
$_instances = []
} else {
$_instances = $instances
}
if !$::datadog_agent::agent5_enable {
$dst = "${datadog_agent::conf6_dir}/postfix.yaml"
} else {
$dst = "${datadog_agent::conf_dir}/postfix.yaml"
}
file { $dst:
ensure => file,
owner => $datadog_agent::params::dd_user,
group => $datadog_agent::params::dd_group,
mode => '0600',
content => template('datadog_agent/agent-conf.d/postfix.yaml.erb'),
require => Package[$datadog_agent::params::package_name],
notify => Service[$datadog_agent::params::service_name]
}
}