File: host.pp

package info (click to toggle)
puppet-module-voxpupuli-collectd 11.0.0-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,308 kB
  • sloc: ruby: 8,119; python: 30; sh: 10; makefile: 4
file content (34 lines) | stat: -rw-r--r-- 1,502 bytes parent folder | download | duplicates (2)
1
2
3
4
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
# https://collectd.org/wiki/index.php/Plugin:SNMP
define collectd::plugin::snmp::host (
  Variant[String[1], Array[String[1], 1]]   $collect,
  Enum['present', 'absent']                 $ensure             = 'present',
  String[1]                                 $address            = $name,
  Collectd::SNMP::Version                   $version            = '1',
  Optional[Integer[0]]                      $interval           = undef,
  # SNMPv1/2c
  Optional[String[1]]                       $community          = 'public',
  # SNMPv3
  Optional[String[1]]                       $username           = undef,
  Optional[Collectd::SNMP::SecurityLevel]   $security_level     = undef,
  Optional[String[1]]                       $context            = undef,
  Optional[Collectd::SNMP::AuthProtocol]    $auth_protocol      = undef,
  Optional[String[1]]                       $auth_passphrase    = undef,
  Optional[Collectd::SNMP::PrivacyProtocol] $privacy_protocol   = undef,
  Optional[String[1]]                       $privacy_passphrase = undef,
) {

  include collectd
  include collectd::plugin::snmp

  $conf_dir   = $collectd::plugin_conf_dir

  file { "snmp-host-${name}.conf":
    ensure  => $ensure,
    path    => "${conf_dir}/25-snmp-host-${name}.conf",
    owner   => $collectd::config_owner,
    group   => $collectd::config_group,
    mode    => $collectd::config_mode,
    content => template('collectd/plugin/snmp/host.conf.erb'),
    notify  => Service[$collectd::service_name];
  }
}