markdownlint: fix all warnings
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ie0ff09bdecb6b949dbd782e8659168698e58d6ff
diff --git a/README.md b/README.md
index ca535d0..0c978bf 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,10 @@
+# Phosphor Inventory Manager (PIM)
+
Phosphor Inventory Manager (PIM) is an implementation of the
-xyz.openbmc_project.Inventory.Manager DBus interface, and supporting tools. PIM
-uses a combination of build-time YAML files, run-time calls to the Notify method
-of the Manager interface, and association definition JSON files to provide a
-generalized inventory state management solution.
+`xyz.openbmc_project.Inventory.Manager` DBus interface, and supporting tools.
+PIM uses a combination of build-time YAML files, run-time calls to the Notify
+method of the Manager interface, and association definition JSON files to
+provide a generalized inventory state management solution.
## YAML
@@ -15,9 +17,7 @@
- description - An optional description of the file.
- events - One or more events that PIM should monitor.
----
-
-**events**
+### events
Supported event tags are:
@@ -28,26 +28,20 @@
Subsequent tags are defined by the event type.
----
-
-**match**
+### match
Supported match tags are:
- signatures - A DBus match specification.
- filters - Filters to apply when a match occurs.
----
-
-**startup**
+### startup
Supported startup tags are:
- filters - Filters to apply at startup.
----
-
-**filters**
+### filters
Supported filter tags are:
@@ -62,9 +56,7 @@
- propertyIs - Only match events when the specified property has the specified
value.
----
-
-**propertyChangedTo**
+### propertyChangedTo
The property under test is obtained from an sdbus message generated from an
org.freedesktop.DBus.Properties.PropertiesChanged signal payload.
@@ -75,9 +67,7 @@
- property - The property to check.
- value - The value to check.
----
-
-**propertyIs**
+### propertyIs
The property under test is obtained by invoking org.freedesktop.Properties.Get
on the specified interface.
@@ -92,14 +82,12 @@
The service argument is optional. If provided that service will be called
explicitly. If omitted, the service will be obtained with an
-xyz.openbmc_project.ObjectMapper lookup.
+`xyz.openbmc_project.ObjectMapper` lookup.
propertyIs can be used in an action condition context when the action operates
on a dbus object path.
----
-
-**actions**
+### actions
Supported action tags are:
@@ -112,9 +100,7 @@
- destroyObject - Destroy the specified DBus object.
- setProperty - Set the specified property on the specified DBus object.
----
-
-**destroyObject**
+### destroyObject
Supported arguments for the destroyObject action are:
@@ -125,9 +111,7 @@
object is not destroyed. Any condition that accepts a path parameter is
supported.
----
-
-**setProperty**
+### setProperty
Supported arguments for the setProperty action are:
@@ -140,16 +124,12 @@
Conditions are tested and logically ANDed. If the conditions do not pass, the
property is not set. Any condition that accepts a path parameter is supported.
----
-
-**createObjects**
+### createObjects
Supported arguments for the createObjects action are:
- objs - A dictionary of objects to create.
----
-
## Creating Associations
PIM can create [associations][1] between inventory items and other D-Bus
@@ -165,25 +145,20 @@
An example of this JSON is:
-```
+```json
[
- {
- "path": "system/chassis/motherboard/cpu0/core1",
- "endpoints":
- [
- {
- "types":
- {
- "fType": "sensors",
- "rType": "inventory"
- },
- "paths":
- [
- "/xyz/openbmc_project/sensors/temperature/p0_core0_temp"
- ]
- }
- ]
- }
+ {
+ "path": "system/chassis/motherboard/cpu0/core1",
+ "endpoints": [
+ {
+ "types": {
+ "fType": "sensors",
+ "rType": "inventory"
+ },
+ "paths": ["/xyz/openbmc_project/sensors/temperature/p0_core0_temp"]
+ }
+ ]
+ }
]
```
@@ -192,7 +167,7 @@
will add an `xyz.openbmc_project.Association.Definitions` interface on it such
that the object mapper creates the 2 association objects:
-```
+```text
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1/sensors
endpoints property:
['/xyz/openbmc_project/sensors/temperature/p0_core0_temp']
@@ -204,7 +179,7 @@
The JSON description is:
-```
+```json
[
{
"path": "The relative path of the inventory object to create the
@@ -226,7 +201,6 @@
]
}
]
-
```
In the case where different systems that require different associations reside
@@ -244,62 +218,47 @@
An example is:
-```
+```json
{
- "condition":
+ "condition": {
+ "path": "system/chassis/motherboard",
+ "interface": "xyz.openbmc_project.Inventory.Decorator.Asset",
+ "property": "Model",
+ "values": ["ModelA", "ModelB"]
+ },
+ "associations": [
{
- "path": "system/chassis/motherboard",
- "interface": "xyz.openbmc_project.Inventory.Decorator.Asset",
- "property": "Model",
- "values": [
- "ModelA",
- "ModelB"
- ]
- },
- "associations":
- [
+ "path": "system/chassis/motherboard/cpu0/core1",
+ "endpoints": [
{
- "path": "system/chassis/motherboard/cpu0/core1",
- "endpoints":
- [
- {
- "types":
- {
- "fType": "sensors",
- "rType": "inventory"
- },
- "paths":
- [
- "/xyz/openbmc_project/sensors/temperature/p0_core0_temp"
- ]
- }
- ]
+ "types": { "fType": "sensors", "rType": "inventory" },
+ "paths": ["/xyz/openbmc_project/sensors/temperature/p0_core0_temp"]
}
- ]
+ ]
+ }
+ ]
}
```
This states that these associations are valid if the system/chassis/motherboard
inventory object has a Model property with a value of either ModelA or ModelB.
-The values field supports the same types as in the inventory, so either a 'bool'
-(true/false), 'int64_t,' 'string', or 'std::vector<uint8_t>'([1, 2]).
-
----
+The values field supports the same types as in the inventory, so either a `bool`
+(true/false), `int64_t`, `std::string`, or `std::vector<uint8_t>`([1, 2]).
## Building
After running pimgen.py, build PIM using the following steps:
-```
- ./bootstrap.sh
- ./configure ${CONFIGURE_FLAGS}
- make
+```sh
+./bootstrap.sh
+./configure ${CONFIGURE_FLAGS}
+make
```
To clean the repository run:
-```
+```sh
./bootstrap.sh clean
```