James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 1 | { |
Brad Bishop | 64d7cec | 2020-05-01 10:00:23 -0400 | [diff] [blame] | 2 | "$schema": "http://json-schema.org/draft-07/schema#", |
Brad Bishop | 8e659b5 | 2020-05-07 17:31:04 -0400 | [diff] [blame] | 3 | "definitions": { |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 4 | "EMExposesElement": { |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 5 | "description": "The exposes property element schema. An element of the exposes property is always an array where elements are of type exposes entry.", |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 6 | "oneOf": [ |
| 7 | { |
Chris Cain | 04b0b01 | 2021-12-14 16:19:05 -0600 | [diff] [blame] | 8 | "$ref": "ibm.json#/definitions/PowerModeProperties" |
| 9 | }, |
| 10 | { |
Brad Bishop | 7d05ee5 | 2022-05-26 16:27:48 -0400 | [diff] [blame] | 11 | "$ref": "ibm.json#/definitions/IBMCompatibleSystem" |
Brad Bishop | 648ae63 | 2020-10-09 08:20:12 -0400 | [diff] [blame] | 12 | }, |
| 13 | { |
Brad Bishop | 7d05ee5 | 2022-05-26 16:27:48 -0400 | [diff] [blame] | 14 | "$ref": "ibm.json#/definitions/IBMCFFPSConnector" |
Brad Bishop | 4afe708 | 2020-10-01 09:59:26 -0400 | [diff] [blame] | 15 | }, |
| 16 | { |
Brad Bishop | 7d05ee5 | 2022-05-26 16:27:48 -0400 | [diff] [blame] | 17 | "$ref": "intel.json#/definitions/IntelFanConnector" |
Brad Bishop | dc10828 | 2020-09-24 19:01:28 -0400 | [diff] [blame] | 18 | }, |
| 19 | { |
Brad Bishop | 7d05ee5 | 2022-05-26 16:27:48 -0400 | [diff] [blame] | 20 | "$ref": "pid.json#/definitions/Pid" |
Brad Bishop | 4fa1d39 | 2020-05-07 20:27:15 -0400 | [diff] [blame] | 21 | }, |
| 22 | { |
Brad Bishop | 7d05ee5 | 2022-05-26 16:27:48 -0400 | [diff] [blame] | 23 | "$ref": "pid_zone.json#/definitions/PidZone" |
Brad Bishop | 4fa1d39 | 2020-05-07 20:27:15 -0400 | [diff] [blame] | 24 | }, |
| 25 | { |
Andrew Geissler | 48edf9a | 2023-02-21 10:44:14 -0600 | [diff] [blame] | 26 | "$ref": "satellite_controller.json#/definitions/SatelliteController" |
| 27 | }, |
| 28 | { |
Brad Bishop | 7d05ee5 | 2022-05-26 16:27:48 -0400 | [diff] [blame] | 29 | "$ref": "stepwise.json#/definitions/Stepwise" |
Brad Bishop | 4fa1d39 | 2020-05-07 20:27:15 -0400 | [diff] [blame] | 30 | }, |
| 31 | { |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 32 | "$ref": "legacy.json#/definitions/Aggregate" |
| 33 | }, |
| 34 | { |
Brad Bishop | 7d05ee5 | 2022-05-26 16:27:48 -0400 | [diff] [blame] | 35 | "$ref": "virtual_sensor.json#/definitions/VirtualSensor" |
Rashmica Gupta | e23af56 | 2021-07-29 15:12:16 +1000 | [diff] [blame] | 36 | }, |
| 37 | { |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 38 | "description": "Ensure the parent oneOf schema does not validate when an element does not define a type property.", |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 39 | "not": { |
Patrick Williams | fa8ee87 | 2022-12-07 07:00:42 -0600 | [diff] [blame] | 40 | "required": ["Type"] |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 41 | }, |
| 42 | "title": "Missing Type" |
| 43 | }, |
| 44 | { |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 45 | "description": "Ensure the parent oneOf schema does not validate when an element does not define a name property.", |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 46 | "not": { |
Patrick Williams | fa8ee87 | 2022-12-07 07:00:42 -0600 | [diff] [blame] | 47 | "required": ["Name"] |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 48 | }, |
| 49 | "title": "Missing Name" |
| 50 | } |
| 51 | ], |
| 52 | "title": "Exposes Property Element" |
| 53 | }, |
Brad Bishop | 8e659b5 | 2020-05-07 17:31:04 -0400 | [diff] [blame] | 54 | "EMConfig": { |
Brad Bishop | 2189d61 | 2020-05-07 19:27:44 -0400 | [diff] [blame] | 55 | "title": "Entity Manager Configuration", |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 56 | "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.", |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 57 | "additionalProperties": false, |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 58 | "type": "object", |
| 59 | "properties": { |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 60 | "Bus": { |
| 61 | "type": "string" |
| 62 | }, |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 63 | "Exposes": { |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 64 | "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.", |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 65 | "type": "array", |
| 66 | "items": { |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 67 | "$ref": "#/definitions/EMExposesElement" |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 68 | } |
| 69 | }, |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 70 | "Logging": { |
Patrick Williams | fa8ee87 | 2022-12-07 07:00:42 -0600 | [diff] [blame] | 71 | "enum": ["Off"] |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 72 | }, |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 73 | "Name": { |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 74 | "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>", |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 75 | "type": "string" |
| 76 | }, |
| 77 | "Probe": { |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 78 | "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.", |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 79 | "anyOf": [ |
| 80 | { |
| 81 | "type": "string" |
| 82 | }, |
| 83 | { |
| 84 | "type": "array", |
| 85 | "items": { |
| 86 | "type": "string" |
| 87 | } |
| 88 | } |
| 89 | ] |
| 90 | }, |
James Feist | 60d93d2 | 2019-07-10 15:08:35 -0700 | [diff] [blame] | 91 | "Type": { |
Brad Bishop | 2189d61 | 2020-05-07 19:27:44 -0400 | [diff] [blame] | 92 | "title": "Configuration Type", |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 93 | "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>", |
Patrick Williams | fa8ee87 | 2022-12-07 07:00:42 -0600 | [diff] [blame] | 94 | "enum": ["Board", "Chassis", "NVMe", "PowerSupply"] |
James Feist | 60d93d2 | 2019-07-10 15:08:35 -0700 | [diff] [blame] | 95 | }, |
Hieu Huynh | ab72531 | 2024-02-20 09:03:38 +0000 | [diff] [blame] | 96 | "xyz.openbmc_project.Common.UUID": { |
| 97 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Common/UUID" |
| 98 | }, |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 99 | "xyz.openbmc_project.Inventory.Decorator.Asset": { |
Brad Bishop | b980991 | 2020-05-07 17:15:31 -0400 | [diff] [blame] | 100 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Decorator/Asset" |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 101 | }, |
James Feist | 60d93d2 | 2019-07-10 15:08:35 -0700 | [diff] [blame] | 102 | "ProductId": { |
| 103 | "type": "number" |
| 104 | }, |
| 105 | "xyz.openbmc_project.Inventory.Decorator.AssetTag": { |
Brad Bishop | b980991 | 2020-05-07 17:15:31 -0400 | [diff] [blame] | 106 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Decorator/AssetTag" |
James Feist | 60d93d2 | 2019-07-10 15:08:35 -0700 | [diff] [blame] | 107 | }, |
Chau Ly | 6185478 | 2023-11-29 10:16:33 +0000 | [diff] [blame] | 108 | "xyz.openbmc_project.Inventory.Decorator.Compatible": { |
| 109 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Decorator/Compatible" |
| 110 | }, |
Kumar Thangavel | e5c473f | 2023-01-27 15:09:45 +0530 | [diff] [blame] | 111 | "xyz.openbmc_project.Inventory.Decorator.Replaceable": { |
| 112 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Decorator/Replaceable" |
| 113 | }, |
Delphine CC Chiu | ec42f45 | 2024-02-16 09:54:52 +0800 | [diff] [blame] | 114 | "xyz.openbmc_project.Inventory.Decorator.Slot": { |
| 115 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Decorator/Slot" |
| 116 | }, |
Delphine CC Chiu | b9dbb8c | 2024-03-28 17:06:07 +0800 | [diff] [blame^] | 117 | "xyz.openbmc_project.Inventory.Decorator.Revision": { |
| 118 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Decorator/Revision" |
| 119 | }, |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 120 | "xyz.openbmc_project.Inventory.Item.Board.Motherboard": { |
| 121 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Item/Board/Motherboard" |
| 122 | }, |
| 123 | "xyz.openbmc_project.Inventory.Item.Chassis": { |
| 124 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Item/Chassis" |
| 125 | }, |
| 126 | "xyz.openbmc_project.Inventory.Item.Panel": { |
| 127 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Item/Panel" |
| 128 | }, |
James Feist | 60d93d2 | 2019-07-10 15:08:35 -0700 | [diff] [blame] | 129 | "xyz.openbmc_project.Inventory.Item.System": { |
Brad Bishop | b980991 | 2020-05-07 17:15:31 -0400 | [diff] [blame] | 130 | "$ref": "openbmc-dbus.json#/definitions/xyz/openbmc_project/Inventory/Item/System" |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 131 | } |
| 132 | }, |
Patrick Williams | fa8ee87 | 2022-12-07 07:00:42 -0600 | [diff] [blame] | 133 | "required": ["Exposes", "Name", "Probe", "Type"] |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 134 | } |
Brad Bishop | 8e659b5 | 2020-05-07 17:31:04 -0400 | [diff] [blame] | 135 | }, |
Brad Bishop | 2189d61 | 2020-05-07 19:27:44 -0400 | [diff] [blame] | 136 | "title": "Entity Manager Configuration File", |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 137 | "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.", |
Brad Bishop | 8e659b5 | 2020-05-07 17:31:04 -0400 | [diff] [blame] | 138 | "anyOf": [ |
| 139 | { |
| 140 | "type": "array", |
| 141 | "items": { |
| 142 | "$ref": "#/definitions/EMConfig" |
| 143 | } |
| 144 | }, |
| 145 | { |
| 146 | "$ref": "#/definitions/EMConfig" |
| 147 | } |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 148 | ] |
| 149 | } |