aboutsummaryrefslogtreecommitdiffstats
path: root/external/sshkeys/manifests/create_key.pp
diff options
context:
space:
mode:
Diffstat (limited to 'external/sshkeys/manifests/create_key.pp')
-rw-r--r--external/sshkeys/manifests/create_key.pp29
1 files changed, 29 insertions, 0 deletions
diff --git a/external/sshkeys/manifests/create_key.pp b/external/sshkeys/manifests/create_key.pp
new file mode 100644
index 00000000..8d40c038
--- /dev/null
+++ b/external/sshkeys/manifests/create_key.pp
@@ -0,0 +1,29 @@
+define sshkeys::create_key (
+ $ensure = "present",
+ $filename = "",
+ $force = false,
+ $keytype = "rsa",
+ $length = 2048,
+ $maxdays = "",
+ $mindate = "",
+) {
+ sshkeys::namecheck { "${title}-title": parm => "title", value => $title }
+
+ # apply defaults
+ $_filename = $filename ? { "" => "id_${keytype}", default => $filename }
+ $_length = $keytype ? { "rsa" => $length, "dsa" => 1024 }
+
+ sshkeys::namecheck { "${title}-filename":
+ parm => "filename",
+ value => $_filename,
+ }
+
+ @sshkeys::setup_key_master { $title:
+ ensure => $ensure,
+ force => $force,
+ keytype => $keytype,
+ length => $_length,
+ maxdays => $maxdays,
+ mindate => $mindate,
+ }
+}