diff options
Diffstat (limited to 'manifests/template.pp')
-rw-r--r-- | manifests/template.pp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/manifests/template.pp b/manifests/template.pp new file mode 100644 index 0000000..3c66b97 --- /dev/null +++ b/manifests/template.pp @@ -0,0 +1,39 @@ +define nspawn::template ( + String $template_name = $name, + Enum['debian', 'arch'] $os = $template_name.split('-')[0], + Optional[String] $version = undef, + String $puppet_server = $nspawn::puppet_server, + String $template_dir = $nspawn::template_dir, +) { + + $template = "${template_name}.base" + $root = "${template_dir}/${template}" + + case $os { + 'debian': { + $real_version = if $version != undef { + $version + } else { + # Oout of bounds indexing gives 'undef' + $template_name.split('-')[1] + } + nspawn::os::debian { $template: + os_version => $real_version, + template_dir => $template_dir, + before => Nspawn::Template_final[$template], + } + } + 'arch': { + nspawn::os::arch { $template: + template_dir => $template_dir, + before => Nspawn::Template_final[$template], + } + } + } + + nspawn::template_final { $template: + root => $root, + puppet_server => $puppet_server, + } + +} |