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#", |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 3 | "$defs": { |
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.", |
Andrew Jeffery | d96439a | 2024-03-21 14:57:07 +1030 | [diff] [blame] | 6 | "anyOf": [ |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 7 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 8 | "$ref": "ibm.json#/$defs/PowerModeProperties" |
Chris Cain | 04b0b01 | 2021-12-14 16:19:05 -0600 | [diff] [blame] | 9 | }, |
| 10 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 11 | "$ref": "ibm.json#/$defs/IBMCompatibleSystem" |
Brad Bishop | 648ae63 | 2020-10-09 08:20:12 -0400 | [diff] [blame] | 12 | }, |
| 13 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 14 | "$ref": "ibm.json#/$defs/IBMCFFPSConnector" |
Brad Bishop | 4afe708 | 2020-10-01 09:59:26 -0400 | [diff] [blame] | 15 | }, |
| 16 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 17 | "$ref": "intel.json#/$defs/IntelFanConnector" |
Brad Bishop | dc10828 | 2020-09-24 19:01:28 -0400 | [diff] [blame] | 18 | }, |
| 19 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 20 | "$ref": "pid.json#/$defs/Pid" |
Brad Bishop | 4fa1d39 | 2020-05-07 20:27:15 -0400 | [diff] [blame] | 21 | }, |
| 22 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 23 | "$ref": "pid_zone.json#/$defs/PidZone" |
Brad Bishop | 4fa1d39 | 2020-05-07 20:27:15 -0400 | [diff] [blame] | 24 | }, |
| 25 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 26 | "$ref": "satellite_controller.json#/$defs/SatelliteController" |
Andrew Geissler | 48edf9a | 2023-02-21 10:44:14 -0600 | [diff] [blame] | 27 | }, |
| 28 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 29 | "$ref": "stepwise.json#/$defs/Stepwise" |
Brad Bishop | 4fa1d39 | 2020-05-07 20:27:15 -0400 | [diff] [blame] | 30 | }, |
| 31 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 32 | "$ref": "legacy.json#/$defs/Aggregate" |
Brad Bishop | ada40c5 | 2020-05-07 19:32:05 -0400 | [diff] [blame] | 33 | }, |
| 34 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 35 | "$ref": "virtual_sensor.json#/$defs/VirtualSensor" |
Rashmica Gupta | e23af56 | 2021-07-29 15:12:16 +1000 | [diff] [blame] | 36 | }, |
| 37 | { |
Andrew Jeffery | d96439a | 2024-03-21 14:57:07 +1030 | [diff] [blame] | 38 | "description": "Ensure the parent anyOf 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 | d96439a | 2024-03-21 14:57:07 +1030 | [diff] [blame] | 45 | "description": "Ensure the parent anyOf 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": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 67 | "$ref": "#/$defs/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": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 97 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Common/UUID" |
Hieu Huynh | ab72531 | 2024-02-20 09:03:38 +0000 | [diff] [blame] | 98 | }, |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 99 | "xyz.openbmc_project.Inventory.Decorator.Asset": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 100 | "$ref": "openbmc-dbus.json#/$defs/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": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 106 | "$ref": "openbmc-dbus.json#/$defs/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": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 109 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Compatible" |
Chau Ly | 6185478 | 2023-11-29 10:16:33 +0000 | [diff] [blame] | 110 | }, |
Oliver Brewka | bdad3d5 | 2024-08-21 18:49:37 +0200 | [diff] [blame^] | 111 | "xyz.openbmc_project.Inventory.Decorator.ManagedHost": { |
| 112 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/ManagedHost" |
| 113 | }, |
Kumar Thangavel | e5c473f | 2023-01-27 15:09:45 +0530 | [diff] [blame] | 114 | "xyz.openbmc_project.Inventory.Decorator.Replaceable": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 115 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Replaceable" |
Kumar Thangavel | e5c473f | 2023-01-27 15:09:45 +0530 | [diff] [blame] | 116 | }, |
Delphine CC Chiu | ec42f45 | 2024-02-16 09:54:52 +0800 | [diff] [blame] | 117 | "xyz.openbmc_project.Inventory.Decorator.Slot": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 118 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Slot" |
Delphine CC Chiu | ec42f45 | 2024-02-16 09:54:52 +0800 | [diff] [blame] | 119 | }, |
Delphine CC Chiu | b9dbb8c | 2024-03-28 17:06:07 +0800 | [diff] [blame] | 120 | "xyz.openbmc_project.Inventory.Decorator.Revision": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 121 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Decorator/Revision" |
Delphine CC Chiu | b9dbb8c | 2024-03-28 17:06:07 +0800 | [diff] [blame] | 122 | }, |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 123 | "xyz.openbmc_project.Inventory.Item.Board.Motherboard": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 124 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Board/Motherboard" |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 125 | }, |
| 126 | "xyz.openbmc_project.Inventory.Item.Chassis": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 127 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Chassis" |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 128 | }, |
Chau Ly | ca144ab | 2024-04-15 03:54:44 +0000 | [diff] [blame] | 129 | "xyz.openbmc_project.Inventory.Item.NetworkInterface": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 130 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/NetworkInterface" |
Chau Ly | ca144ab | 2024-04-15 03:54:44 +0000 | [diff] [blame] | 131 | }, |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 132 | "xyz.openbmc_project.Inventory.Item.Panel": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 133 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Panel" |
Brad Bishop | 9453a68 | 2020-05-07 19:12:46 -0400 | [diff] [blame] | 134 | }, |
James Feist | 60d93d2 | 2019-07-10 15:08:35 -0700 | [diff] [blame] | 135 | "xyz.openbmc_project.Inventory.Item.System": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 136 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/System" |
Ingrid Chen | c74b06a | 2024-09-02 14:57:15 +0800 | [diff] [blame] | 137 | }, |
| 138 | "xyz.openbmc_project.Inventory.Item.BMC": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 139 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/BMC" |
Ingrid Chen | a037dd6 | 2024-09-11 16:33:30 +0800 | [diff] [blame] | 140 | }, |
| 141 | "xyz.openbmc_project.Inventory.Item.Storage": { |
| 142 | "$ref": "openbmc-dbus.json#/$defs/xyz/openbmc_project/Inventory/Item/Storage" |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 143 | } |
| 144 | }, |
Patrick Williams | fa8ee87 | 2022-12-07 07:00:42 -0600 | [diff] [blame] | 145 | "required": ["Exposes", "Name", "Probe", "Type"] |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 146 | } |
Brad Bishop | 8e659b5 | 2020-05-07 17:31:04 -0400 | [diff] [blame] | 147 | }, |
Brad Bishop | 2189d61 | 2020-05-07 19:27:44 -0400 | [diff] [blame] | 148 | "title": "Entity Manager Configuration File", |
Andrew Jeffery | bb8aa37 | 2024-03-20 11:24:32 +1030 | [diff] [blame] | 149 | "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] | 150 | "anyOf": [ |
| 151 | { |
| 152 | "type": "array", |
| 153 | "items": { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 154 | "$ref": "#/$defs/EMConfig" |
Brad Bishop | 8e659b5 | 2020-05-07 17:31:04 -0400 | [diff] [blame] | 155 | } |
| 156 | }, |
| 157 | { |
Patrick Williams | 7d6080d | 2024-09-04 12:54:45 -0400 | [diff] [blame] | 158 | "$ref": "#/$defs/EMConfig" |
Brad Bishop | 8e659b5 | 2020-05-07 17:31:04 -0400 | [diff] [blame] | 159 | } |
James Feist | 1e3e698 | 2018-08-03 16:09:28 -0700 | [diff] [blame] | 160 | ] |
| 161 | } |