summaryrefslogtreecommitdiff
path: root/manifests/ssh_authorized_key.pp
blob: 9374e154ae222102faf267b745b78d4aafc62ce0 (plain)
1
2
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
# wrapper to have some defaults.
define sshd::ssh_authorized_key(
    $type = 'ssh-dss',
    $key,
    $user = 'root',
    $target = undef,
    $options = 'absent'
){

  $real_user = $user ? {
    false => $name,
    "" => $name,
    default => $user,
  }

  case $target {
    undef: {
      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 => $real_user,
    target => $real_target,
  }

  case $options {
    'absent': { info("not setting any option for ssh_authorized_key: $name") }
    default: {
      Ssh_authorized_key[$name]{
        options => $options,
      }
    }
  }
}