{ "$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": { "Bus": { "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" } }, "Logging": { "enum": [ "Off" ] }, "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": "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" }, { "type": "array", "items": { "type": "string" } } ] }, "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/" ], "enum": [ "Board", "Chassis", "NVMe", "PowerSupply" ] }, "xyz.openbmc_project.Inventory.Decorator.Asset": { "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Decorator/Asset" }, "ProductId": { "type": "number" }, "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" } }, "required": [ "Exposes", "Name", "Probe", "Type" ] } }, "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", "items": { "$ref": "#/definitions/EMConfig" } }, { "$ref": "#/definitions/EMConfig" } ] }