113 lines
2.9 KiB
JSON
113 lines
2.9 KiB
JSON
{
|
|
"title": "Config",
|
|
"description": "Config model",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"drives": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/drive" }
|
|
},
|
|
"volumeGroups": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/volumeGroup" }
|
|
}
|
|
},
|
|
"$defs": {
|
|
"drive": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["name"],
|
|
"properties": {
|
|
"name": { "type": "string" },
|
|
"alias": { "type": "string" },
|
|
"boot": { "enum": ["implicit", "explicit"] },
|
|
"mountPath": { "type": "string" },
|
|
"filesystem": { "$ref": "#/$defs/filesystem" },
|
|
"spacePolicy": { "$ref": "#/$defs/spacePolicy" },
|
|
"ptableType": { "$ref": "#/$defs/ptableType" },
|
|
"volumeGroups": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"partitions": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/partition" }
|
|
}
|
|
}
|
|
},
|
|
"partition": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": { "type": "string" },
|
|
"alias": { "type": "string" },
|
|
"id": { "$ref": "#/$defs/partitionId" },
|
|
"mountPath": { "type": "string" },
|
|
"filesystem": { "$ref": "#/$defs/filesystem" },
|
|
"size": { "$ref": "#/$defs/size" },
|
|
"delete": { "type": "boolean" },
|
|
"deleteIfNeeded": { "type": "boolean" },
|
|
"resize": { "type": "boolean" },
|
|
"resizeIfNeeded": { "type": "boolean" }
|
|
}
|
|
},
|
|
"volumeGroup": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["name"],
|
|
"properties": {
|
|
"name": { "type": "string" }
|
|
}
|
|
},
|
|
"spacePolicy": {
|
|
"enum": ["delete", "resize", "keep", "custom"]
|
|
},
|
|
"ptableType": {
|
|
"enum": ["gpt", "msdos", "dasd"]
|
|
},
|
|
"partitionId": {
|
|
"enum": ["linux", "swap", "lvm", "raid", "esp", "prep", "bios_boot"]
|
|
},
|
|
"filesystem": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["default"],
|
|
"properties": {
|
|
"default": { "type": "boolean" },
|
|
"type": { "$ref": "#/$defs/filesystemType" },
|
|
"snapshots": { "type": "boolean" }
|
|
}
|
|
},
|
|
"filesystemType": {
|
|
"enum": [
|
|
"bcachefs",
|
|
"btrfs",
|
|
"exfat",
|
|
"ext2",
|
|
"ext3",
|
|
"ext4",
|
|
"f2fs",
|
|
"jfs",
|
|
"nfs",
|
|
"nilfs2",
|
|
"ntfs",
|
|
"reiserfs",
|
|
"swap",
|
|
"tmpfs",
|
|
"vfat",
|
|
"xfs"
|
|
]
|
|
},
|
|
"size": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["default", "min"],
|
|
"properties": {
|
|
"default": { "type": "boolean" },
|
|
"min": { "type": "integer", "minimum": 0 },
|
|
"max": { "type": "integer", "minimum": 0 }
|
|
}
|
|
}
|
|
}
|
|
}
|