"use strict"; const dlayerSource = require("../../../packages/dlayer-source"); const types = require(".."); module.exports = function LVMLogicalVolume ({ path }) { return dlayerSource.withSources({ $sources: { lvmLogicalVolumes: { [dlayerSource.ID]: path, path: "path", name: "name", fullName: "fullName", size: "size", uuid: "uuid", deviceMapperPath: "deviceMapperPath", layoutAttributes: "layoutAttributes", roles: "roles", tags: "tags", configurationProfile: "configurationProfile", creationTime: "creationTime", creationHost: "creationHost", neededKernelModules: "neededKernelModules", dataVolume: "dataVolume", // FIXME: Reference? metadataVolume: "metadataVolume", // FIXME: Reference? poolVolume: "poolVolume", // FIXME: Reference? persistentMajorNumber: "persistentMajorNumber", persistentMinorNumber: "persistentMinorNumber", type: "type", isReadOnly: "isReadOnly", isCurrentlyReadOnly: "isCurrentlyReadOnly", isAllocationLocked: "isAllocationLocked", allocationPolicy: "allocationPolicy", status: "status", healthStatus: "healthStatus", isInitiallySynchronized: "isInitiallySynchronized", isCurrentlySynchronized: "isCurrentlySynchronized", isMerging: "isMerging", isConverting: "isConverting", isSuspended: "isSuspended", isActivationSkipped: "isActivationSkipped", isOpened: "isOpened", isActiveLocally: "isActiveLocally", isActiveRemotely: "isActiveRemotely", isActiveExclusively: "isActiveExclusively", isMergeFailed: "isMergeFailed", isSnapshotInvalid: "isSnapshotInvalid", isLiveTablePresent: "isLiveTablePresent", isInactiveTablePresent: "isInactiveTablePresent", isZeroFilled: "isZeroFilled", hasFixedMinorNumber: "hasFixedMinorNumber", outOfSpacePolicy: "outOfSpacePolicy", volumeGroup: (volume) => types.LVMVolumeGroup({ name: volume.volumeGroup }) } } }); };