manifests/integrations/memcache.pp (39 lines of code) (raw):
# Class: datadog_agent::integrations::memcache
#
# This class will install the necessary configuration for the memcache integration
#
# Parameters:
# $url:
# url used to connect to the memcached instance
# $port:
# $tags
# Optional array of tags
#
# Sample Usage:
#
# include 'datadog_agent::integrations::memcache'
#
# OR
#
# class { 'datadog_agent::integrations::memcache':
# url => 'localhost',
# }
#
#
# Sample Usage (Instance):
# class { 'datadog_agent::integrations::memcache' :
# instances => [{
# url => 'localhost',
# port => '11211',
# items => false,
# slabs => false,
# }]
# }
#
class datadog_agent::integrations::memcache (
String $url = 'localhost',
Variant[String, Integer] $port = 11211,
Array $tags = [],
Variant[Boolean, String] $items = false,
Variant[Boolean, String] $slabs = false,
Optional[Array] $instances = undef,
) inherits datadog_agent::params {
include datadog_agent
validate_legacy('String', 'validate_string', $url)
validate_legacy('Array', 'validate_array', $tags)
if !$instances and $url {
$_instances = [{
'url' => $url,
'port' => $port,
'tags' => $tags,
'items' => $items,
'slabs' => $slabs,
}]
} elsif !$instances{
$_instances = []
} else {
$_instances = $instances
}
if !$::datadog_agent::agent5_enable {
$dst = "${datadog_agent::conf6_dir}/mcache.yaml"
} else {
$dst = "${datadog_agent::conf_dir}/mcache.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/mcache.yaml.erb'),
require => Package[$datadog_agent::params::package_name],
notify => Service[$datadog_agent::params::service_name]
}
}