agama/rust/share/system.storage.schema.json
José Iván López González 1ff01b187e Drop encryption methods from system
- Encryption methods like tpmFde or systemdFde are internal concepts
  and should not be exposed in the API anymore.
2026-04-30 07:33:15 +01:00

106 lines
3.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "https://github.com/openSUSE/agama/blob/master/rust/share/system.storage.schema.json",
"title": "System",
"description": "API description of the system",
"type": "object",
"additionalProperties": false,
"properties": {
"devices": {
"description": "All relevant devices on the system",
"type": "array",
"items": { "$ref": "device.storage.schema.json" }
},
"availableDrives": {
"description": "SIDs of the available drives",
"type": "array",
"items": { "type": "integer" }
},
"availableMdRaids": {
"description": "SIDs of the available MD RAIDs",
"type": "array",
"items": { "type": "integer" }
},
"availableVolumeGroups": {
"description": "SIDs of the available LVM volume groups",
"type": "array",
"items": { "type": "integer" }
},
"candidateDrives": {
"description": "SIDs of the drives that are candidate for installation",
"type": "array",
"items": { "type": "integer" }
},
"candidateMdRaids": {
"description": "SIDs of the MD RAIDs that are candidate for installation",
"type": "array",
"items": { "type": "integer" }
},
"productMountPoints": {
"description": "Meaningful mount points for the current product",
"type": "array",
"items": { "type": "string" }
},
"volumeTemplates": {
"description": "Volumes defined by the product as templates",
"type": "array",
"items": { "$ref": "#/$defs/volume" }
},
"issues": {
"type": "array",
"items": { "$ref": "#/$defs/issue" }
}
},
"$defs": {
"encryptionMethod": {
"title": "Encryption method",
"enum": ["luks2", "tpmFde"]
},
"volume": {
"type": "object",
"additionalProperties": false,
"required": ["mountPath", "minSize", "autoSize"],
"properties": {
"mountPath": { "type": "string" },
"mountOptions": {
"type": "array",
"items": { "type": "string" }
},
"fsType": { "$ref": "device.storage.schema.json#/$defs/filesystemType" },
"autoSize": { "type": "boolean" },
"minSize": { "type": "integer" },
"maxSize": { "type": "integer" },
"outline": { "$ref": "#/$defs/volumeOutline" }
}
},
"volumeOutline": {
"type": "object",
"additionalProperties": false,
"required": ["required", "supportAutoSize"],
"properties": {
"required": { "type": "boolean" },
"supportAutoSize": { "type": "boolean" },
"fsTypes": {
"type": "array",
"items": { "$ref": "device.storage.schema.json#/$defs/filesystemType" }
},
"adjustByRam": { "type": "boolean" },
"snapshotsAffectSizes": { "type": "boolean" },
"sizeRelevantVolumes": {
"type": "array",
"items": { "type": "string" }
}
}
},
"issue": {
"type": "object",
"additionalProperties": false,
"required": ["description"],
"properties": {
"description": { "type": "string" },
"class": { "type": "string" },
"details": { "type": "string" }
}
}
}
}