Puppet Class: secc_snmpd

Inherits:
secc_snmpd::params
Defined in:
manifests/init.pp

Overview

Parameters:

  • service (Any)
  • syslocation (Any)
  • syscontact (Any)
  • v2_enabled (Any) (defaults to: $::secc_snmpd::params::v2_enabled)
  • v2_community (Any) (defaults to: $::secc_snmpd::params::v2_community)
  • v2_host (Any) (defaults to: $::secc_snmpd::params::v2_host)
  • v3_enabled (Any) (defaults to: $::secc_snmpd::params::v3_enabled)
  • v3_user (Any) (defaults to: $::secc_snmpd::params::v3_user)
  • v3_password (Any) (defaults to: $::secc_snmpd::params::v3_password)
  • v3_passphrase (Any) (defaults to: $::secc_snmpd::params::v3_passphrase)
  • listen_address (Any) (defaults to: $::secc_snmpd::params::listen_address)
  • trap_enabled (Any) (defaults to: $::secc_snmpd::params::trap_enabled)
  • enforce_password_security (Any) (defaults to: $::secc_snmpd::params::enforce_password_security)
  • dlmod_enabled (Any) (defaults to: $::secc_snmpd::params::dlmod_enabled)


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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'manifests/init.pp', line 7

class secc_snmpd (
  $service,
  $syslocation,
  $syscontact,
  $v2_enabled                = $::secc_snmpd::params::v2_enabled,
  $v2_community              = $::secc_snmpd::params::v2_community,
  $v2_host                   = $::secc_snmpd::params::v2_host,
  $v3_enabled                = $::secc_snmpd::params::v3_enabled,
  $v3_user                   = $::secc_snmpd::params::v3_user,
  $v3_password               = $::secc_snmpd::params::v3_password,
  $v3_passphrase             = $::secc_snmpd::params::v3_passphrase,
  $listen_address            = $::secc_snmpd::params::listen_address,
  $trap_enabled              = $::secc_snmpd::params::trap_enabled,
  $enforce_password_security = $::secc_snmpd::params::enforce_password_security,
  $dlmod_enabled             = $::secc_snmpd::params::dlmod_enabled,
) inherits secc_snmpd::params {

  # true if $::puppetversion < '4.0.0'
  if versioncmp($::puppetversion, '4.0.0') < 0 {
    validate_bool($::secc_snmpd::v2_enabled)
    validate_bool($::secc_snmpd::v3_enabled)
    validate_bool($::secc_snmpd::enforce_password_security)
    validate_bool($::secc_snmpd::dlmod_enabled)
} else {
    validate_legacy('Boolean', 'validate_bool', $::secc_snmpd::v2_enabled)
    validate_legacy('Boolean', 'validate_bool', $::secc_snmpd::v3_enabled)
    validate_legacy('Boolean', 'validate_bool', $::secc_snmpd::enforce_password_security)
    validate_legacy('Boolean', 'validate_bool', $::secc_snmpd::dlmod_enabled)
  }

  if $::secc_snmpd::v2_enabled {
    # Req1: warning if v2 enabled
    notify {'use of SNMPv2 is not recommended!':
      loglevel => warning,
    }

    if $::secc_snmpd::v2_community == undef {
      fail('v2_community is needed')
    }
    if $::secc_snmpd::v2_host == undef {
      fail('v2_host is needed')
    }
  }

  if $::secc_snmpd::v3_enabled {
    if $::secc_snmpd::v3_user == undef {
      fail('v3_user is needed')
    }
    if $::secc_snmpd::v3_password == undef {
      fail('v3_password is needed')
    }
    if $::secc_snmpd::v3_passphrase == undef {
      fail('v3_passphrase is needed')
    }
  }

  contain secc_snmpd::install

  contain secc_snmpd::config

  contain secc_snmpd::service
}