{lib, ...}: let
hostnameIPv4 = {
"dns" = "10.1.2.3";
"metrics" = "10.1.2.5";
"oci" = "10.1.2.9";
"proxy" = "10.1.2.10";
"auth" = "10.1.2.12";
"cloud" = "10.1.2.15";
"social" = "10.1.2.17";
};
# getIPv4 "hostname"
getIPv4 = hostname: hostnameIPv4.${hostname};
# getHostnames
getHostnames = builtins.attrNames hostnameIPv4;
# getDNSEntries
getDNSEntries =
lib.attrsets.mapAttrs'
(name: value: lib.attrsets.nameValuePair (name + ".home.arpa") value)
hostnameIPv4;
in {
getIPv4 = getIPv4;
getHostnames = getHostnames;
getDNSEntries = getDNSEntries;
}