schema: top: add missing EMConfig properties
Set additionalProperties false on the EMConfig schema. This catches a
handful of top level properties in configurations that aren't documented
or checked such as Bus and Logging.
Further, a couple of unchecked dbus interfaces are found in
configurations. Add those as well.
Change-Id: Ie93a89a70e5aeee8d34b21c573866522eb3f5fd4
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/schemas/global.json b/schemas/global.json
index 844f79a..e3de5ed 100644
--- a/schemas/global.json
+++ b/schemas/global.json
@@ -2,14 +2,23 @@
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"EMConfig": {
+ "additionalProperties": false,
"type": "object",
"properties": {
+ "Bus": {
+ "type": "string"
+ },
"Exposes": {
"type": "array",
"items": {
"$ref": "legacy.json#/definitions/Aggregate"
}
},
+ "Logging": {
+ "enum": [
+ "Off"
+ ]
+ },
"Name": {
"type": "string"
},
@@ -38,6 +47,15 @@
"xyz.openbmc_project.Inventory.Decorator.AssetTag": {
"$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Decorator/AssetTag"
},
+ "xyz.openbmc_project.Inventory.Item.Board.Motherboard": {
+ "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Item/Board/Motherboard"
+ },
+ "xyz.openbmc_project.Inventory.Item.Chassis": {
+ "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Item/Chassis"
+ },
+ "xyz.openbmc_project.Inventory.Item.Panel": {
+ "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Item/Panel"
+ },
"xyz.openbmc_project.Inventory.Item.System": {
"$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Item/System"
}
diff --git a/schemas/openbmc-dbus.json b/schemas/openbmc-dbus.json
index 853064c..8190b08 100644
--- a/schemas/openbmc-dbus.json
+++ b/schemas/openbmc-dbus.json
@@ -44,6 +44,28 @@
}
},
"Item": {
+ "Board": {
+ "Motherboard": {
+ "additionalProperties": false,
+ "properties": {
+ "ProductId": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "ProductId"
+ ],
+ "type": "object"
+ }
+ },
+ "Chassis": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "Panel": {
+ "additionalProperties": false,
+ "type": "object"
+ },
"System": {
"additionalProperties": false,
"type": "object"