[%
  # Returns the Debian release codename of the node calling this function.
  #
  # @return out         The Debian release codename of the node calling this function.
-%]
[% PERL -%]
open my $hh, '<', '/etc/debian_version' or die "Error opening /etc/debian_version";
my $debian_version = <$hh>;
my $debian_codename;
close $hh;
chomp $debian_version;
if ($debian_version =~ /^8\.*/) {
    $debian_codename="jessie";
} elsif ($debian_version =~ /^9\.*/) {
    $debian_codename="stretch";
} elsif ($debian_version =~ /^10\.*/) {
    $debian_codename="buster";
} elsif ($debian_version =~ /^11\.*/) {
    $debian_codename="bullseye";
}
die "Fatal error retrieving Debian release codename [$debian_codename]" unless length $debian_codename;
die "Fatal error retrieving Debian release version [$debian_version]" unless length $debian_version;
$stash->set(out => $debian_codename);
[% END -%]
