summaryrefslogtreecommitdiff
path: root/manifests/ssh_authorized_key.pp
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2009-09-29 19:53:04 +0200
committerMicah Anderson <micah@riseup.net>2009-12-07 16:03:55 -0500
commit5e20e07d1fead39375f656a2b0091e17fe14d95b (patch)
treec7199109e6824f789555ea885f73e29a517e16cf /manifests/ssh_authorized_key.pp
parent57eae8bc845318eb89c48acef3ca13468689a875 (diff)
factor everything into its own file
Diffstat (limited to 'manifests/ssh_authorized_key.pp')
-rw-r--r--manifests/ssh_authorized_key.pp36
1 files changed, 36 insertions, 0 deletions
diff --git a/manifests/ssh_authorized_key.pp b/manifests/ssh_authorized_key.pp
new file mode 100644
index 0000000..2d528da
--- /dev/null
+++ b/manifests/ssh_authorized_key.pp
@@ -0,0 +1,36 @@
+# wrapper to have some defaults.
+define sshd::ssh_authorized_key(
+ $type = 'ssh-dss',
+ $key,
+ $user = 'root',
+ $target = 'absent',
+ $options = 'absent'
+){
+
+ case $target {
+ 'absent': {
+ case $user {
+ 'root': { $real_target = '/root/.ssh/authorized_keys' }
+ default: { $real_target = "/home/${user}/.ssh/authorized_keys" }
+ }
+ }
+ default: {
+ $real_target = $target
+ }
+ }
+ ssh_authorized_key{$name:
+ type => $type,
+ key => $key,
+ user => $user,
+ target => $real_target,
+ }
+
+ case $options {
+ 'absent': { info("not setting any option for ssh_authorized_key: $name") }
+ default: {
+ Ssh_authorized_key[$name]{
+ options => $options,
+ }
+ }
+ }
+}