Skip to content

Commit

Permalink
JSON schema. More compliant use of title and description
Browse files Browse the repository at this point in the history
  • Loading branch information
ancorgs committed Jun 7, 2024
1 parent 8eeabda commit 8be99e4
Showing 1 changed file with 38 additions and 36 deletions.
74 changes: 38 additions & 36 deletions rust/agama-lib/share/profile.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,59 +7,60 @@
"additionalProperties": false,
"properties": {
"software": {
"description": "Software settings (e.g., product to install)",
"title": "Software settings",
"type": "object",
"properties": {
"patterns": {
"description": "List of patterns to install",
"title": "List of patterns to install",
"type": "array"
}
}
},
"product": {
"description": "Software settings (e.g., product to install)",
"title": "Product to install",
"type": "object",
"properties": {
"id": {
"description": "Product identifier",
"title": "Product identifier",
"type": "string"
},
"registrationCode": {
"description": "Product registration code",
"title": "Product registration code",
"type": "string"
},
"registrationEmail": {
"description": "Product registration email",
"title": "Product registration email",
"type": "string"
}
}
},
"network": {
"description": "Network settings",
"title": "Network settings",
"type": "object",
"additionalProperties": false,
"properties": {
"connections": {
"description": "Network connections to be defined",
"title": "Network connections to be defined",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "Connection ID",
"title": "Connection ID",
"type": "string"
},
"interface": {
"description": "The name of the network interface bound to this connection",
"title": "The name of the network interface bound to this connection",
"type": "string"
},
"mac-address": {
"description": "Custom mac-address (can also be 'preserve', 'permanent', 'random' or 'stable')",
"title": "Custom mac-address",
"description": "Can also be 'preserve', 'permanent', 'random' or 'stable'.",
"type": "string"
},
"method4": {
"description": "IPv4 configuration method (e.g., 'auto')",
"title": "IPv4 configuration method (e.g., 'auto')",
"type": "string",
"enum": [
"auto",
Expand All @@ -69,7 +70,7 @@
]
},
"method6": {
"description": "IPv6 configuration method (e.g., 'auto')",
"title": "IPv6 configuration method (e.g., 'auto')",
"type": "string",
"enum": [
"auto",
Expand All @@ -79,32 +80,33 @@
]
},
"gateway4": {
"description": "Connection gateway address (e.g., '192.168.122.1')",
"title": "Connection gateway address (e.g., '192.168.122.1')",
"type": "string"
},
"gateway6": {
"description": "Connection gateway address (e.g., '::ffff:c0a8:7a01')",
"title": "Connection gateway address (e.g., '::ffff:c0a8:7a01')",
"type": "string"
},
"addresses": {
"type": "array",
"items": {
"description": "Connection addresses",
"title": "Connection addresses",
"type": "string",
"additionalProperties": false
}
},
"nameservers": {
"type": "array",
"items": {
"description": "Nameservers (IPv4 and/or IPv6 are allowed)",
"title": "Nameservers",
"description": "IPv4 and/or IPv6 are allowed.",
"type": "string",
"additionalProperties": false
}
},
"wireless": {
"type": "object",
"description": "Wireless configuration",
"title": "Wireless configuration",
"additionalProperties": false,
"properties": {
"password": {
Expand All @@ -129,7 +131,7 @@
},
"bond": {
"type": "object",
"description": "Bonding configuration",
"title": "Bonding configuration",
"additionalProperties": false,
"properties": {
"mode": {
Expand All @@ -141,7 +143,7 @@
"ports": {
"type": "array",
"items": {
"description": "A list of the interfaces or connections to be bonded",
"title": "A list of the interfaces or connections to be bonded",
"type": "string",
"additionalProperties": false
}
Expand All @@ -150,37 +152,37 @@
},
"match": {
"type": "object",
"description": "Match settings",
"title": "Match settings",
"additionalProperties": false,
"properties": {
"kernel": {
"type": "array",
"items": {
"description": "A list of kernel command line arguments to match",
"title": "A list of kernel command line arguments to match",
"type": "string",
"additionalProperties": false
}
},
"interface": {
"type": "array",
"items": {
"description": "A list of interface names to match",
"title": "A list of interface names to match",
"type": "string",
"additionalProperties": false
}
},
"driver": {
"type": "array",
"items": {
"description": "A list of driver names to match",
"title": "A list of driver names to match",
"type": "string",
"additionalProperties": false
}
},
"path": {
"type": "array",
"items": {
"description": "A list of paths to match against the ID_PATH udev property of devices",
"title": "A list of paths to match against the ID_PATH udev property of devices",
"type": "string",
"additionalProperties": false
}
Expand All @@ -196,19 +198,19 @@
}
},
"user": {
"description": "First user settings",
"title": "First user settings",
"type": "object",
"properties": {
"fullName": {
"description": "Full name (e.g., 'Jane Doe')",
"title": "Full name (e.g., 'Jane Doe')",
"type": "string"
},
"userName": {
"description": "User login name (e.g., 'jane.doe')",
"title": "User login name (e.g., 'jane.doe')",
"type": "string"
},
"password": {
"description": "User password (e.g., 'nots3cr3t')",
"title": "User password (e.g., 'nots3cr3t')",
"type": "string"
}
},
Expand All @@ -219,33 +221,33 @@
]
},
"root": {
"description": "Root authentication settings",
"title": "Root authentication settings",
"type": "object",
"properties": {
"password": {
"description": "Root password",
"title": "Root password",
"type": "string"
},
"sshPublicKey": {
"description": "SSH public key",
"title": "SSH public key",
"type": "string"
}
}
},
"localization": {
"description": "Localization settings",
"title": "Localization settings",
"type": "object",
"properties": {
"language": {
"description": "System language ID (e.g., 'en_US')",
"title": "System language ID (e.g., 'en_US')",
"type": "string"
},
"keyboard": {
"description": "Keyboard layout ID",
"title": "Keyboard layout ID",
"type": "string"
},
"timezone": {
"description": "Time zone identifier such as 'Europe/Berlin'",
"title": "Time zone identifier such as 'Europe/Berlin'",
"type": "string"
}
}
Expand Down

0 comments on commit 8be99e4

Please sign in to comment.