Puppet Class: sudo::package

Defined in:
manifests/package.pp

Overview

Class: sudo::package

Installs the sudo package on various platforms.

Parameters

Document parameters here.

package

The name of the sudo package to be installed

package_ensure

Ensure if present or absent

package_source

Where to find the sudo packge, should be a local file or a uri

Examples

class { sysdoc::package
  package => 'sudo',
}

Authors

Toni Schmidbauer <toni@stderr.at>

Copyright 2013 Toni Schmidbauer

Parameters:

  • package (Any) (defaults to: '')
  • package_ensure (Any) (defaults to: present)
  • package_source (Any) (defaults to: '')
  • package_admin_file (Any) (defaults to: '')
  • ldap_enable (Any) (defaults to: false)


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/package.pp', line 32

class sudo::package(
  $package = '',
  $package_ensure = present,
  $package_source = '',
  $package_admin_file = '',
  $ldap_enable = false,
) {

  if $ldap_enable == true {
    case $::osfamily {
      'Gentoo': {
        if defined( '::portage' ) {
          Class['::sudo'] -> Class['::portage']
          package_use { 'app-admin/sudo':
            ensure => present,
            use    => ['ldap'],
            target => 'sudo-flags',
          }
        } else {
          fail ('portage package needed to define ldap use on sudo')
        }
      }
      default: { }
    }
  }

  case $::osfamily {
    'AIX': {
      class { '::sudo::package::aix':
        package        => $package,
        package_source => $package_source,
        package_ensure => $package_ensure,
      }
    }
    'OpenBSD': {}
    'Darwin': {}
    'Solaris': {
      class { '::sudo::package::solaris':
        package            => $package,
        package_source     => $package_source,
        package_ensure     => $package_ensure,
        package_admin_file => $package_admin_file,
      }
    }
    default: {
      ensure_packages([$package])
    }
  }
}