You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.4 KiB
JavaScript

"use strict";
module.exports = {
name: "LVM",
initialize: function () {
let types = {
"sysquery.lvm.PhysicalVolume": function PhysicalVolume({ path }) {
},
"sysquery.lvm.VolumeGroup": function VolumeGroup({ name }) {
},
"sysquery.lvm.LogicalVolume": function LogicalVolume({ path }) {
}
};
return {
sources: () => {
return {
physicalVolumes: ,
volumeGroups: ,
logicalVolumes:
};
},
types: types,
extensions: {
"sysquery.core.BlockDevice": {
lvmPhysicalVolume: function (_, { $getProperty, sources }) {
}
}
},
root: {
resources: {
lvm: {
physicalVolumes: ({ paths }, { sources }) => {
return makeTypeFromSource({
source: sources.physicalVolumes,
ids: paths,
make: (result) => types.PhysicalVolume({ path: result.path }),
});
},
volumeGroups: ({ names }, { sources }) => {
return makeTypeFromSource({
source: sources.volumeGroups,
ids: names,
make: (result) => types.VolumeGroup({ name: result.name }),
});
},
logicalVolumes: ({ paths }, { sources }) => {
// FIXME: Aren't these scoped to a volume group?
return makeTypeFromSource({
source: sources.logicalVolumes,
ids: paths,
make: (result) => types.LogicalVolume({ path: result.path }),
});
}
}
}
}
};
}
};