schema: add documentation
Begin the process of documenting the EM configuration schema, starting
with the top level elements.
Change-Id: Ie026c6cf51f980fb0ca65342ee75e8854de74395
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/schemas/global.json b/schemas/global.json
index 64736e4..911c692 100644
--- a/schemas/global.json
+++ b/schemas/global.json
@@ -2,6 +2,14 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"EMConfig": {
+ "title": "Entity Manager Configuration",
+ "description": [
+ "The schema for an entity manager configuration. An entity ",
+ "manager configuration describes an association between a ",
+ "match condition, also known as a probe, and an array of ",
+ "heterogeneous configuration data. When a probe match ",
+ "occurs, the configuration data is exported to DBus."
+ ],
"additionalProperties": false,
"type": "object",
"properties": {
@@ -9,6 +17,13 @@
"type": "string"
},
"Exposes": {
+ "description": [
+ "The schema for the exposes property. The exposes ",
+ "property must be an array where elements are of ",
+ "type EMExposesElement. The exposes property is the ",
+ "heterogeneous configuration data exported to DBus ",
+ "upon a probe match."
+ ],
"type": "array",
"items": {
"$ref": "legacy.json#/definitions/Aggregate"
@@ -20,9 +35,23 @@
]
},
"Name": {
+ "description": [
+ "The schema for the name property. The name property ",
+ "identifies the configuration. When exported, the ",
+ "configuration will be instantiated at: ",
+ "/xyz/openbmc_project/configuration/<Type>/<Name>"
+ ],
"type": "string"
},
"Probe": {
+ "description": [
+ "The schema for an entity manager probe statement. ",
+ "Probes can be a single string or an array. Probes ",
+ "describe a match condition, for example when a DBus ",
+ "property has a specific value. When the match condition",
+ " occurs, the information described by the Exposes ",
+ "property is exported onto the DBus."
+ ],
"anyOf": [
{
"type": "string"
@@ -36,6 +65,13 @@
]
},
"Type": {
+ "title": "Configuration Type",
+ "description": [
+ "The schema for the type property. The type property",
+ "identifies the type of the configuration. When exported,",
+ "configurations will be instantiated as children of: ",
+ "/xyz/openbmc_project/configuration/<Type>"
+ ],
"enum": [
"Board",
"Chassis",
@@ -73,6 +109,12 @@
]
}
},
+ "title": "Entity Manager Configuration File",
+ "description": [
+ "The schema for an entity manager configuration file. An entity ",
+ "mananger configuration file can consist of a single object, or an ",
+ "array of objects. Objects must be of type EMConfig."
+ ],
"anyOf": [
{
"type": "array",