11e3e6989SJames Feist{ 264d7ceccSBrad Bishop "$schema": "http://json-schema.org/draft-07/schema#", 37d6080dbSPatrick Williams "$defs": { 4ada40c59SBrad Bishop "EMExposesElement": { 5bb8aa370SAndrew Jeffery "description": "The exposes property element schema. An element of the exposes property is always an array where elements are of type exposes entry.", 6d96439a2SAndrew Jeffery "anyOf": [ 7ada40c59SBrad Bishop { 87d6080dbSPatrick Williams "$ref": "ibm.json#/$defs/PowerModeProperties" 904b0b013SChris Cain }, 1004b0b013SChris Cain { 117d6080dbSPatrick Williams "$ref": "ibm.json#/$defs/IBMCompatibleSystem" 12648ae63bSBrad Bishop }, 13648ae63bSBrad Bishop { 147d6080dbSPatrick Williams "$ref": "ibm.json#/$defs/IBMCFFPSConnector" 154afe7085SBrad Bishop }, 164afe7085SBrad Bishop { 177d6080dbSPatrick Williams "$ref": "intel.json#/$defs/IntelFanConnector" 18dc10828fSBrad Bishop }, 19dc10828fSBrad Bishop { 20e501cb71SAndrew Jeffery "$ref": "mctp.json#/$defs/MCTPI2CTarget" 21e501cb71SAndrew Jeffery }, 22e501cb71SAndrew Jeffery { 232639e569SYikai Tsai "$ref": "mctp.json#/$defs/MCTPI3CTarget" 242639e569SYikai Tsai }, 252639e569SYikai Tsai { 267d6080dbSPatrick Williams "$ref": "pid.json#/$defs/Pid" 274fa1d399SBrad Bishop }, 284fa1d399SBrad Bishop { 297d6080dbSPatrick Williams "$ref": "pid_zone.json#/$defs/PidZone" 304fa1d399SBrad Bishop }, 314fa1d399SBrad Bishop { 327d6080dbSPatrick Williams "$ref": "satellite_controller.json#/$defs/SatelliteController" 3348edf9a9SAndrew Geissler }, 3448edf9a9SAndrew Geissler { 357d6080dbSPatrick Williams "$ref": "stepwise.json#/$defs/Stepwise" 364fa1d399SBrad Bishop }, 374fa1d399SBrad Bishop { 387d6080dbSPatrick Williams "$ref": "legacy.json#/$defs/Aggregate" 39ada40c59SBrad Bishop }, 40ada40c59SBrad Bishop { 417d6080dbSPatrick Williams "$ref": "virtual_sensor.json#/$defs/VirtualSensor" 42e23af564SRashmica Gupta }, 43e23af564SRashmica Gupta { 443671cd2bSJagpal Singh Gill "$ref": "leak_detector.json#/$defs/GPIOLeakDetector" 453671cd2bSJagpal Singh Gill }, 463671cd2bSJagpal Singh Gill { 47*d64855f7SChristopher Meis "$ref": "firmware.json#/$defs/XDPE1X2XXFirmware" 48*d64855f7SChristopher Meis }, 49*d64855f7SChristopher Meis { 50d96439a2SAndrew Jeffery "description": "Ensure the parent anyOf schema does not validate when an element does not define a type property.", 51ada40c59SBrad Bishop "not": { 52fa8ee87eSPatrick Williams "required": ["Type"] 53ada40c59SBrad Bishop }, 54ada40c59SBrad Bishop "title": "Missing Type" 55ada40c59SBrad Bishop }, 56ada40c59SBrad Bishop { 57d96439a2SAndrew Jeffery "description": "Ensure the parent anyOf schema does not validate when an element does not define a name property.", 58ada40c59SBrad Bishop "not": { 59fa8ee87eSPatrick Williams "required": ["Name"] 60ada40c59SBrad Bishop }, 61ada40c59SBrad Bishop "title": "Missing Name" 62ada40c59SBrad Bishop } 63ada40c59SBrad Bishop ], 64ada40c59SBrad Bishop "title": "Exposes Property Element" 65ada40c59SBrad Bishop }, 668e659b5bSBrad Bishop "EMConfig": { 672189d612SBrad Bishop "title": "Entity Manager Configuration", 68bb8aa370SAndrew Jeffery "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.", 699453a68fSBrad Bishop "additionalProperties": false, 701e3e6989SJames Feist "type": "object", 711e3e6989SJames Feist "properties": { 729453a68fSBrad Bishop "Bus": { 739453a68fSBrad Bishop "type": "string" 749453a68fSBrad Bishop }, 751e3e6989SJames Feist "Exposes": { 76bb8aa370SAndrew Jeffery "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.", 771e3e6989SJames Feist "type": "array", 781e3e6989SJames Feist "items": { 797d6080dbSPatrick Williams "$ref": "#/$defs/EMExposesElement" 801e3e6989SJames Feist } 811e3e6989SJames Feist }, 829453a68fSBrad Bishop "Logging": { 83fa8ee87eSPatrick Williams "enum": ["Off"] 849453a68fSBrad Bishop }, 851e3e6989SJames Feist "Name": { 86bb8aa370SAndrew Jeffery "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>", 871e3e6989SJames Feist "type": "string" 881e3e6989SJames Feist }, 891e3e6989SJames Feist "Probe": { 90bb8aa370SAndrew Jeffery "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.", 911e3e6989SJames Feist "anyOf": [ 921e3e6989SJames Feist { 931e3e6989SJames Feist "type": "string" 941e3e6989SJames Feist }, 951e3e6989SJames Feist { 961e3e6989SJames Feist "type": "array", 971e3e6989SJames Feist "items": { 981e3e6989SJames Feist "type": "string" 991e3e6989SJames Feist } 1001e3e6989SJames Feist } 1011e3e6989SJames Feist ] 1021e3e6989SJames Feist }, 10360d93d26SJames Feist "Type": { 1042189d612SBrad Bishop "title": "Configuration Type", 105bb8aa370SAndrew Jeffery "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>", 10619ecfb3bSJagpal Singh Gill "enum": [ 10719ecfb3bSJagpal Singh Gill "Board", 10819ecfb3bSJagpal Singh Gill "Chassis", 10919ecfb3bSJagpal Singh Gill "NVMe", 11019ecfb3bSJagpal Singh Gill "PowerSupply", 11119ecfb3bSJagpal Singh Gill "CPU", 11219ecfb3bSJagpal Singh Gill "Cable" 11319ecfb3bSJagpal Singh Gill ] 11460d93d26SJames Feist }, 115ab725317SHieu Huynh "xyz.openbmc_project.Common.UUID": { 1167d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Common/UUID" 117ab725317SHieu Huynh }, 1181e3e6989SJames Feist "xyz.openbmc_project.Inventory.Decorator.Asset": { 1197d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Asset" 1201e3e6989SJames Feist }, 12160d93d26SJames Feist "xyz.openbmc_project.Inventory.Decorator.AssetTag": { 1227d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/AssetTag" 12360d93d26SJames Feist }, 12419ecfb3bSJagpal Singh Gill "xyz.openbmc_project.Inventory.Decorator.Cable": { 12519ecfb3bSJagpal Singh Gill "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Cable" 12619ecfb3bSJagpal Singh Gill }, 12761854782SChau Ly "xyz.openbmc_project.Inventory.Decorator.Compatible": { 1287d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Compatible" 12961854782SChau Ly }, 130bdad3d53SOliver Brewka "xyz.openbmc_project.Inventory.Decorator.ManagedHost": { 131bdad3d53SOliver Brewka "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/ManagedHost" 132bdad3d53SOliver Brewka }, 133e5c473f7SKumar Thangavel "xyz.openbmc_project.Inventory.Decorator.Replaceable": { 1347d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Replaceable" 135e5c473f7SKumar Thangavel }, 136ec42f45bSDelphine CC Chiu "xyz.openbmc_project.Inventory.Decorator.Slot": { 1377d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Slot" 138ec42f45bSDelphine CC Chiu }, 139b9dbb8c0SDelphine CC Chiu "xyz.openbmc_project.Inventory.Decorator.Revision": { 1407d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Revision" 141b9dbb8c0SDelphine CC Chiu }, 1429453a68fSBrad Bishop "xyz.openbmc_project.Inventory.Item.Board.Motherboard": { 1437d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Board/Motherboard" 1449453a68fSBrad Bishop }, 1459453a68fSBrad Bishop "xyz.openbmc_project.Inventory.Item.Chassis": { 1467d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Chassis" 1479453a68fSBrad Bishop }, 148ca144abdSChau Ly "xyz.openbmc_project.Inventory.Item.NetworkInterface": { 1497d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/NetworkInterface" 150ca144abdSChau Ly }, 1519453a68fSBrad Bishop "xyz.openbmc_project.Inventory.Item.Panel": { 1527d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Panel" 1539453a68fSBrad Bishop }, 15460d93d26SJames Feist "xyz.openbmc_project.Inventory.Item.System": { 1557d6080dbSPatrick Williams "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/System" 156c74b06a7SIngrid Chen }, 157cc403b48SThang Tran "xyz.openbmc_project.Inventory.Item.Bmc": { 158cc403b48SThang Tran "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Bmc" 159a037dd65SIngrid Chen }, 160a037dd65SIngrid Chen "xyz.openbmc_project.Inventory.Item.Storage": { 161a037dd65SIngrid Chen "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Storage" 1628a8f01e5SSean He }, 1638a8f01e5SSean He "xyz.openbmc_project.Inventory.Item.Accelerator": { 1648a8f01e5SSean He "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Accelerator" 1658a8f01e5SSean He }, 1668a8f01e5SSean He "xyz.openbmc_project.Inventory.Item.Dimm": { 1678a8f01e5SSean He "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Dimm" 16860d93d26SJames Feist } 16960d93d26SJames Feist }, 170fa8ee87eSPatrick Williams "required": ["Exposes", "Name", "Probe", "Type"] 1711e3e6989SJames Feist } 1728e659b5bSBrad Bishop }, 1732189d612SBrad Bishop "title": "Entity Manager Configuration File", 174bb8aa370SAndrew Jeffery "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.", 1758e659b5bSBrad Bishop "anyOf": [ 1768e659b5bSBrad Bishop { 1778e659b5bSBrad Bishop "type": "array", 1788e659b5bSBrad Bishop "items": { 1797d6080dbSPatrick Williams "$ref": "#/$defs/EMConfig" 1808e659b5bSBrad Bishop } 1818e659b5bSBrad Bishop }, 1828e659b5bSBrad Bishop { 1837d6080dbSPatrick Williams "$ref": "#/$defs/EMConfig" 1848e659b5bSBrad Bishop } 1851e3e6989SJames Feist ] 1861e3e6989SJames Feist} 187