for objName in [std.objectFields(kp[moduleName]] for moduleName in enabledModules
}
// {
// local items = ["a", "b", "c"],
// joined: {
// [x + i]: {
// data: "x = %s and i = %s" % [x, i],
// } for i in ["1", "2"] for x in items
// }
// }
// { ['arm-exporter-' + name]: kp.armExporter[name] for name in std.objectFields(kp.armExporter) }
// {[std.asciiLower(moduleName) + '-' + objName]: kp.moduleName[objName] for objName in [std.objectFields(kp[moduleName]) for moduleName in enabledModules]}
// (if vars.installModules['arm-exporter'] then
// { ['arm-exporter-' + name]: kp.armExporter[name] for name in std.objectFields(kp.armExporter) } else {}) +
// (if vars.installModules.metallb then
// { ['metallb-' + name]: kp.metallb[name] for name in std.objectFields(kp.metallb) } else {}) +
// (if vars.installModules.traefik then
// { ['traefik-' + name]: kp.traefik[name] for name in std.objectFields(kp.traefik) } else {}) +
// (if vars.installModules['ups-exporter'] then
// { ['ups-exporter-' + name]: kp.upsExporter[name] for name in std.objectFields(kp.upsExporter) } else {}) +
// (if vars.installModules['elastic-exporter'] then
// { ['elasticexporter-' + name]: kp.elasticExporter[name] for name in std.objectFields(kp.elasticExporter) } else {})