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.
329 lines
6.0 KiB
GraphQL
329 lines
6.0 KiB
GraphQL
scalar ByteSize
|
|
scalar TimeSize
|
|
|
|
type AccessPermissions {
|
|
read: Boolean
|
|
write: Boolean
|
|
execute: Boolean
|
|
}
|
|
|
|
type Permissions {
|
|
owner: AccessPermissions
|
|
group: AccessPermissions
|
|
everybody: AccessPermissions
|
|
setUID: Boolean
|
|
setGID: Boolean
|
|
sticky: Boolean
|
|
}
|
|
|
|
type User {
|
|
name: String
|
|
id: Int
|
|
# FIXME
|
|
}
|
|
|
|
type Group {
|
|
name: String
|
|
id: Int
|
|
# FIXME
|
|
}
|
|
|
|
type RawMountValueOption {
|
|
key: String!
|
|
value: String
|
|
}
|
|
|
|
type RawMountFlagOption {
|
|
key: String!
|
|
}
|
|
|
|
union RawMountOption = RawMountFlagOption | RawMountValueOption
|
|
|
|
enum MountErrorHandlingMode {
|
|
PANIC
|
|
CONTINUE
|
|
REMOUNT_READ_ONLY
|
|
}
|
|
|
|
enum ExtAllocator {
|
|
OLD
|
|
ORLOV
|
|
}
|
|
|
|
enum ExtJournalingMode {
|
|
JOURNAL
|
|
ORDERED
|
|
WRITEBACK
|
|
}
|
|
|
|
enum ExtBufferErrorHandlingMode {
|
|
IGNORE_ERROR
|
|
ABORT_JOURNAL
|
|
}
|
|
|
|
enum ExtQuotaSystem {
|
|
OLD
|
|
V0
|
|
V1
|
|
}
|
|
|
|
enum FatTimestampsAllowedFrom {
|
|
EVERYBODY
|
|
GROUP
|
|
OWNER
|
|
}
|
|
|
|
enum FatNameStrictness {
|
|
RELAXED
|
|
NORMAL
|
|
STRICT
|
|
}
|
|
|
|
enum FatShortNameMode {
|
|
LOWER
|
|
WINDOWS_95
|
|
WINDOWS_NT
|
|
MIXED
|
|
}
|
|
|
|
enum FatLineEndingConversionPolicy {
|
|
BINARY
|
|
TEXT
|
|
AUTO
|
|
}
|
|
|
|
type MountOptions {
|
|
writable: Boolean
|
|
userMountable: Boolean
|
|
freelyMountable: Boolean
|
|
|
|
asynchronous: Boolean
|
|
asynchronousDirectoryUpdates: Boolean
|
|
|
|
allowDeviceNodes: Boolean
|
|
allowExecution: Boolean
|
|
allowMandatoryLocks: Boolean
|
|
allowSetUIDBits: Boolean
|
|
|
|
requiresNetworkAccess: Boolean
|
|
allowOfflineChecks: Boolean
|
|
|
|
updateAccessTime: Boolean
|
|
updateDirectoryAccessTime: Boolean
|
|
updateAccessTimeRelatively: Boolean
|
|
updateAccessTimeStrictly: Boolean
|
|
|
|
automaticallyMountable: Boolean
|
|
incrementIVersion: Boolean
|
|
printDebugInformation: Boolean
|
|
reportMountingErrors: Boolean
|
|
onError: MountErrorHandlingMode
|
|
|
|
owner: User
|
|
group: Group
|
|
|
|
filesystemOwner: User
|
|
filesystemGroup: Group
|
|
filesystemPermissions: Permissions
|
|
|
|
# devpts
|
|
newPTYOwner: User
|
|
newPTYGroup: Group
|
|
newPTYPermissions: Permissions
|
|
|
|
isolatePTYs: Boolean
|
|
ptmxPermissions: Permissions
|
|
|
|
# tmpfs, hugetlbfs
|
|
rootOwner: User
|
|
rootGroup: Group
|
|
rootPermissions: Permissions
|
|
maximumInodes: Int
|
|
size: ByteSize
|
|
|
|
# hugetlbfs
|
|
pageSize: ByteSize
|
|
sizeAsPoolPercentage: Float
|
|
minimumSize: ByteSize
|
|
minimumSizeAsPoolPercentage: Float
|
|
|
|
# tmpfs
|
|
blockCount: Int
|
|
numaPolicy: String
|
|
|
|
# ext2, ext3, ext4
|
|
allow32bitIdentifiers: Boolean
|
|
allow64bitInodeVersions: Boolean
|
|
allowExtendedAttributes: Boolean
|
|
|
|
supportACL: Boolean
|
|
showOnlyUsableSpace: Boolean
|
|
useGroupIDFromDirectory: Boolean
|
|
|
|
allowAutomaticFilesystemResizing: Boolean
|
|
enableMetadataBlockTracking: Boolean
|
|
simulateAbort: Boolean
|
|
attachBufferHeads: Boolean # obsolete
|
|
checkFilesystemOnMount: Boolean
|
|
enableWriteBarriers: Boolean
|
|
enableHardwareDeleteCalls: Boolean
|
|
|
|
allocator: ExtAllocator
|
|
reservedSpaceForGroup: Group
|
|
reservedSpaceForUser: User
|
|
superblockIndex: Int
|
|
inodeBlockReadAheadLimit: Int
|
|
stripeBlocks: Int
|
|
directorySizeLimit: ByteSize
|
|
|
|
updateJournalFormat: Boolean
|
|
enableJournalChecksumming: Boolean
|
|
asynchronousJournalCommits: Boolean
|
|
processJournal: Boolean
|
|
journalInode: Int
|
|
journalDevice: String # FIXME: Translate this into a BlockDevice somehow? Expected 'number' format here is unclear.
|
|
journalPath: String
|
|
journalingMode: ExtJournalingMode
|
|
journalIOPriority: Int
|
|
onBufferError: ExtBufferErrorHandlingMode
|
|
commitInterval: TimeSize
|
|
|
|
allowDeferredAllocations: Boolean
|
|
batchingTimeLimit: TimeSize
|
|
batchingTimeMinimum: TimeSize
|
|
enableMetadataBlockCache: Boolean
|
|
enableDirectIOReadLocking: Boolean
|
|
enableInodeTableBlockInitialization: Boolean
|
|
inodeTableBlockInitializationDelay: Int
|
|
automaticallySynchronizeBeforeRename: Boolean
|
|
|
|
enableGroupQuota: Boolean
|
|
enableUserQuota: Boolean
|
|
enableProjectQuota: Boolean
|
|
quotaSystem: ExtQuotaSystem
|
|
userQuotaFile: String
|
|
groupQuotaFile: String
|
|
|
|
# fat, vfat
|
|
blockSize: ByteSize
|
|
allocationTableBitness: Int
|
|
compressedVolumeFileModule: String
|
|
compressedVolumeFileOption: String
|
|
|
|
defaultFileMode: Permissions
|
|
defaultFolderMode: Permissions
|
|
nameStrictness: FatNameStrictness
|
|
timestampChangesAllowedFrom: FatTimestampsAllowedFrom
|
|
restrictExecutableModeToWindowsBinaries: Boolean
|
|
treatAttrSysFlagAsImmutable: Boolean
|
|
|
|
allowDifferentlyCasedNameConflicts: Boolean
|
|
shortNameMode: FatShortNameMode
|
|
preferShortNamesWithoutSequenceNumber: Boolean
|
|
enableUnicodeCharacterEscaping: Boolean
|
|
supportUtf8: Boolean
|
|
|
|
enableReadOnlyFlagSupport: Boolean
|
|
enableDOS1xFallbackConfiguration: Boolean
|
|
enableQuietModeFailures: Boolean
|
|
enableNFSInodeCache: Boolean
|
|
enableEagerFlushing: Boolean
|
|
enableFreeClusterCache: Boolean
|
|
enableTimezoneConversion: Boolean
|
|
|
|
timestampOffset: TimeSize
|
|
lineEndingConversionPolicy: FatLineEndingConversionPolicy
|
|
conversionCharacterSet: String
|
|
codepage: Int
|
|
}
|
|
|
|
type Mount {
|
|
path: String!
|
|
rawOptions: [RawMountOption]
|
|
options: MountOptions
|
|
}
|
|
|
|
type SmartAttributeFlags {
|
|
autoKeep: Boolean!
|
|
eventCount: Boolean!
|
|
errorRate: Boolean!
|
|
affectsPerformance: Boolean!
|
|
updatedOnline: Boolean!
|
|
indicatesFailure: Boolean!
|
|
}
|
|
|
|
type SmartAttribute {
|
|
id: Int!
|
|
name: String!
|
|
flags: SmartAttributeFlags
|
|
}
|
|
|
|
type BlockDevice {
|
|
name: String!
|
|
path: String!
|
|
mountpoint: String
|
|
deviceNumber: String!
|
|
removable: Boolean!
|
|
readOnly: Boolean!
|
|
size: ByteSize!
|
|
parent: BlockDevice
|
|
children: [BlockDevice!]!
|
|
}
|
|
|
|
type PhysicalDrive {
|
|
path: String!
|
|
interface: String!
|
|
blockDevice: BlockDevice!
|
|
smartAvailable: Boolean!
|
|
smartEnabled: Boolean
|
|
model: String
|
|
modelFamily: String
|
|
serialNumber: String
|
|
wwn: String,
|
|
firmwareVersion: String
|
|
size: ByteSize
|
|
rpm: Int
|
|
logicalSectorSize: ByteSize
|
|
physicalSectorSize: ByteSize
|
|
formFactor: String
|
|
ataVersion: String
|
|
sataVersion: String
|
|
smartAttributes: [SmartAttribute!]!
|
|
}
|
|
|
|
type LVMPhysicalVolume {
|
|
path: String!
|
|
blockDevice: BlockDevice!
|
|
volumeGroup: LVMVolumeGroup!
|
|
format: String!
|
|
size: ByteSize!
|
|
freeSpace: ByteSize!
|
|
duplicate: Boolean!
|
|
allocatable: Boolean!
|
|
used: Boolean!
|
|
exported: Boolean!
|
|
missing: Boolean!
|
|
}
|
|
|
|
type LVMVolumeGroup {
|
|
name: String!
|
|
}
|
|
|
|
type HardwareQuery {
|
|
drives(paths: [String]): [PhysicalDrive!]!
|
|
}
|
|
|
|
type LVMQuery {
|
|
physicalVolumes: [LVMPhysicalVolume!]!
|
|
volumeGroups: [LVMVolumeGroup!]!
|
|
}
|
|
|
|
type ResourcesQuery {
|
|
blockDevices: [BlockDevice!]!
|
|
lvm: LVMQuery
|
|
}
|
|
|
|
type Query {
|
|
hardware: HardwareQuery!
|
|
resources: ResourcesQuery!
|
|
} |