Puppet Class: vagrant::sudo

Defined in:
manifests/sudo.pp

Overview

Class: vagrant::sudo

Install sudo configuration for vagrant

Examples

include vagrant::sudo

Parameters:

  • sudoers_dir (Any) (defaults to: undef)


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
# File 'manifests/sudo.pp', line 9

class vagrant::sudo (
  $sudoers_dir = undef
) {

  include vagrant

  if $sudoers_dir == undef {
    case $::operatingsystem {
      centos, redhat, fedora, debian, ubuntu: {
        $basedir = '/etc/sudoers.d'
        $file = 'linux'
      }
      darwin: {
        $basedir = '/etc/sudoers.d'
        $file = 'osx'
      }
      windows: {
        fail("Unsupported operating system to install sudo configuration: ${::operatingsystem}")
      }
      default: {
        fail("Unrecognized operating system: ${::operatingsystem}")
      }
    }
  } else {
    $basedir = $sudoers_dir
  }

  file { "${basedir}/vagrant":
    ensure  => link,
    target  => "/opt/vagrant/embedded/gems/gems/vagrant-${vagrant::version}/contrib/sudoers/${file}",
    require => Class['vagrant']
  }

}