Puppet Class: vnstat

Inherits:
vnstat::params
Inherited by:
vnstat::config
vnstat::install
Defined in:
manifests/init.pp

Overview

Parameters:

  • use_vnstatd (Any) (defaults to: $vnstat::params::use_vnstatd)
  • use_vnstati (Any) (defaults to: $vnstat::params::use_vnstati)
  • package_ensure (Any) (defaults to: $vnstat::params::package_ensure)
  • package_name (Any) (defaults to: $vnstat::params::package_name)
  • interfaces (Any) (defaults to: $vnstat::params::interfaces)
  • config (Any) (defaults to: $vnstat::params::config)
  • config_template (Any) (defaults to: $vnstat::params::config_template)
  • database_directory (Any) (defaults to: $vnstat::params::database_directory)
  • month_rotate (Any) (defaults to: $vnstat::params::month_rotate)
  • day_format (Any) (defaults to: $vnstat::params::day_format)
  • month_format (Any) (defaults to: $vnstat::params::month_format)
  • top_format (Any) (defaults to: $vnstat::params::top_format)
  • rx_char (Any) (defaults to: $vnstat::params::rx_char)
  • tx_char (Any) (defaults to: $vnstat::params::tx_char)
  • rx_hour_char (Any) (defaults to: $vnstat::params::rx_hour_char)
  • tx_hour_char (Any) (defaults to: $vnstat::params::tx_hour_char)
  • iec_units (Any) (defaults to: $vnstat::params::iec_units)
  • rate_unit (Any) (defaults to: $vnstat::params::rate_unit)
  • output_style (Any) (defaults to: $vnstat::params::output_style)
  • max_bandwidth (Any) (defaults to: $vnstat::params::max_bandwidth)
  • sample_time (Any) (defaults to: $vnstat::params::sample_time)
  • boot_variation (Any) (defaults to: $vnstat::params::boot_variation)
  • log_notraffic_days (Any) (defaults to: $vnstat::params::log_notraffic_days)


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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'manifests/init.pp', line 1

class vnstat (
  $use_vnstatd        = $vnstat::params::use_vnstatd,
  $use_vnstati        = $vnstat::params::use_vnstati,
  $package_ensure     = $vnstat::params::package_ensure,
  $package_name       = $vnstat::params::package_name,
  $interfaces         = $vnstat::params::interfaces ,
  $config             = $vnstat::params::config,
  $config_template    = $vnstat::params::config_template,
  $database_directory = $vnstat::params::database_directory,
  $month_rotate       = $vnstat::params::month_rotate,
  $day_format         = $vnstat::params::day_format,
  $month_format       = $vnstat::params::month_format,
  $top_format         = $vnstat::params::top_format,
  $rx_char            = $vnstat::params::rx_char,
  $tx_char            = $vnstat::params::tx_char,
  $rx_hour_char       = $vnstat::params::rx_hour_char,
  $tx_hour_char       = $vnstat::params::tx_hour_char,
  $iec_units          = $vnstat::params::iec_units,
  $rate_unit          = $vnstat::params::rate_unit,
  $output_style       = $vnstat::params::output_style,
  $max_bandwidth      = $vnstat::params::max_bandwidth,
  $sample_time        = $vnstat::params::sample_time,
  $boot_variation     = $vnstat::params::boot_variation,
  $log_notraffic_days = $vnstat::params::log_notraffic_days,
  
  ) inherits vnstat::params {

    validate_bool($use_vnstati)
    validate_bool($use_vnstatd)
    validate_string($package_ensure)
    validate_string($package_name)
    validate_array($interfaces)
    validate_absolute_path($database_directory)
    validate_absolute_path($config)
    validate_string($config_template)
    validate_re($month_rotate, ['^\d+$', ''])
    validate_re($day_format, ['^%.+$', ''])
    validate_re($month_format, ['^%.+$', ''])
    validate_re($top_format, ['^%.+$', ''])
    validate_re($rx_char, ['^\w$', ''])
    validate_re($tx_char, ['^\w$', ''])
    validate_re($rx_hour_char, ['^\w$', ''])
    validate_re($tx_hour_char, ['^\w$', ''])
    validate_bool($iec_units)
    validate_re($rate_unit, [ '^bits', '^bytes' ])
    validate_bool($log_notraffic_days)

    contain vnstat::vnstatd
    contain vnstat::vnstati
    
    anchor { 'vnstat::begin': } ->
    class { '::vnstat::install': } ->
    class { '::vnstat::config': } ->
    anchor { 'vnstat::end': }


}