From 550e760b2a3319d1c39f4f5f0c9296501a756e1d Mon Sep 17 00:00:00 2001 From: Dan Bode Date: Tue, 6 Apr 2010 10:25:31 -0500 Subject: added defined resouce types for the 3 kinds of sudoers lines --- manifests/alias.pp | 19 +++++++++++++++++++ manifests/defaults.pp | 11 +++++++++++ manifests/spec.pp | 21 +++++++++++++++++++++ manifests/tests/sudo.pp | 1 - 4 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 manifests/alias.pp create mode 100644 manifests/defaults.pp create mode 100644 manifests/spec.pp delete mode 100644 manifests/tests/sudo.pp diff --git a/manifests/alias.pp b/manifests/alias.pp new file mode 100644 index 0000000..6127a23 --- /dev/null +++ b/manifests/alias.pp @@ -0,0 +1,19 @@ +# +# defined resource that wraps the functionality for creating +# aliases with the sudoers type +# * name - name of alias +# * type - type of sudo alias can be (Cmnd|Host|User|Runas)(_Alias)? +# * items - list of things to be aliased. +define sudo::alias( + $ensure=present, + $sudo_alias, $items, + $target='/etc/sudoers' +) { + sudoers { $name: + type => 'alias', + ensure => $ensure, + sudo_alias => $sudo_alias, + items => $items, + target => $target, + } +} diff --git a/manifests/defaults.pp b/manifests/defaults.pp new file mode 100644 index 0000000..65776f0 --- /dev/null +++ b/manifests/defaults.pp @@ -0,0 +1,11 @@ +# +# define that wraps sudoers functionality of sudores +# +define sudo::defaults( $ensure='present', $parameters, $target='/etc/sudoers') { + sudoers { $name: + type => 'default', + ensure => $ensure, + parameters => $parameters, + target => $target, + } +} diff --git a/manifests/spec.pp b/manifests/spec.pp new file mode 100644 index 0000000..1a75afd --- /dev/null +++ b/manifests/spec.pp @@ -0,0 +1,21 @@ +# Defined resoruce to manage sudoers user specification lines. +# +# attributes: +# * name - arbitrary string used to determine uniquemenss +# * users - list of users +# * hosts - list of hosts +# * commands - list of commands +define sudo::spec( + $ensure=present, + $users, $hosts, $commands, + $target='/etc/sudoers' +) { + sudoers { $name: + type => 'user_spec', + ensure => $ensure, + users => $users, + hosts => $hosts, + commands => $commands, + target => $target, + } +} diff --git a/manifests/tests/sudo.pp b/manifests/tests/sudo.pp deleted file mode 100644 index a27b70b..0000000 --- a/manifests/tests/sudo.pp +++ /dev/null @@ -1 +0,0 @@ -include sudo -- cgit v1.2.3