Puppet Class: common

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

Overview

Class: common

Parameters:

  • package_ensure (Any) (defaults to: 'present')
  • package_name (Any) (defaults to: $::common::params::package_name)
  • package_list (Any) (defaults to: $::common::params::package_list)
  • config_dir_path (Any) (defaults to: $::common::params::config_dir_path)
  • config_dir_purge (Any) (defaults to: false)
  • config_dir_recurse (Any) (defaults to: true)
  • config_dir_source (Any) (defaults to: undef)
  • config_file_path (Any) (defaults to: $::common::params::config_file_path)
  • config_file_owner (Any) (defaults to: $::common::params::config_file_owner)
  • config_file_group (Any) (defaults to: $::common::params::config_file_group)
  • config_file_mode (Any) (defaults to: $::common::params::config_file_mode)
  • config_file_source (Any) (defaults to: undef)
  • config_file_string (Any) (defaults to: undef)
  • config_file_template (Any) (defaults to: undef)
  • config_file_require (Any) (defaults to: $::common::params::config_file_require)
  • config_file_hash (Any) (defaults to: {})
  • config_file_options_hash (Any) (defaults to: {})
  • groups_hash (Any) (defaults to: {})
  • users_hash (Any) (defaults to: {})


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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'manifests/init.pp', line 3

class common (
  $package_ensure           = 'present',
  $package_name             = $::common::params::package_name,
  $package_list             = $::common::params::package_list,

  $config_dir_path          = $::common::params::config_dir_path,
  $config_dir_purge         = false,
  $config_dir_recurse       = true,
  $config_dir_source        = undef,

  $config_file_path         = $::common::params::config_file_path,
  $config_file_owner        = $::common::params::config_file_owner,
  $config_file_group        = $::common::params::config_file_group,
  $config_file_mode         = $::common::params::config_file_mode,
  $config_file_source       = undef,
  $config_file_string       = undef,
  $config_file_template     = undef,

  $config_file_require      = $::common::params::config_file_require,

  $config_file_hash         = {},
  $config_file_options_hash = {},

  $groups_hash              = {},
  $users_hash               = {},
) inherits ::common::params {
  validate_re($package_ensure, '^(absent|latest|present|purged)$')
  validate_string($package_name)
  if $package_list { validate_array($package_list) }

  validate_absolute_path($config_dir_path)
  validate_bool($config_dir_purge)
  validate_bool($config_dir_recurse)
  if $config_dir_source { validate_string($config_dir_source) }

  validate_absolute_path($config_file_path)
  validate_string($config_file_owner)
  validate_string($config_file_group)
  validate_string($config_file_mode)
  if $config_file_source { validate_string($config_file_source) }
  if $config_file_string { validate_string($config_file_string) }
  if $config_file_template { validate_string($config_file_template) }

  validate_string($config_file_require)

  validate_hash($config_file_hash)
  validate_hash($config_file_options_hash)

  $config_file_content = default_content($config_file_string, $config_file_template)

  if $config_file_hash {
    create_resources('common::define', $config_file_hash)
  }

  if $package_ensure == 'purged' {
    $config_dir_ensure  = 'absent'
    $config_file_ensure = 'absent'
  } else {
    $config_dir_ensure  = 'directory'
    $config_file_ensure = 'present'
  }

  validate_re($config_dir_ensure, '^(absent|directory)$')
  validate_re($config_file_ensure, '^(absent|present)$')

  if $groups_hash {
    create_resources('common::group', $groups_hash)
  }

  if $users_hash {
    create_resources('common::user', $users_hash)
  }

  anchor { 'common::begin': } ->
  class { '::common::install': } ->
  class { '::common::config': } ->
  anchor { 'common::end': }
}