1description: >
2    Implement to provide basic item attributes.  Required by all objects within
3    the inventory namespace.
4
5    Any service implementing Inventory.Item on one or more objects must
6    implement org.freedesktop.DBus.ObjectManager on
7    /xyz/openbmc_project/inventory.
8
9properties:
10    - name: PrettyName
11      type: string
12      description: >
13          The human readable name of the item.
14    - name: Present
15      type: boolean
16      description: >
17          Whether or not the item is present.
18
19associations:
20    - name: containing
21      description: >
22          Any inventory Items (usually Boards or Chassis) can optionally
23          implement the 'containing' association to provide one or more links to
24          Items which it physically contains.
25      reverse_name: contained_by
26      required_endpoint_interfaces:
27          - xyz.openbmc_project.Inventory.Item
28    - name: contained_by
29      description: >
30          Any inventory Items can optionally implement the 'contained_by'
31          association to provide a link to exactly one Item (usually a Board or
32          Chassis) which physically contains it.
33      reverse_name: containing
34      required_endpoint_interfaces:
35          - xyz.openbmc_project.Inventory.Item
36    - name: cooled_by
37      description: >
38          Objects that implement Item can optionally implement the 'cooled_by'
39          association to provide a link to one or more fans.
40      reverse_name: cooling
41      required_endpoint_interfaces:
42          - xyz.openbmc_project.Inventory.Item.Fan
43    - name: fault_identified_by
44      description: >
45          Objects that implement Item can optionally implement the
46          'fault_identified_by' association to provide a link to one or more LED
47          Groups.
48      reverse_name: fault_identifying
49      required_endpoint_interfaces:
50          - xyz.openbmc_project.Led.Group
51    - name: identified_by
52      description: >
53          Objects that implement Item can optionally implement the
54          'identified_by' association to provide a link to one or more LED
55          Groups.
56      reverse_name: identifying
57      required_endpoint_interfaces:
58          - xyz.openbmc_project.Led.Group
59    - name: measured_by
60      description: >
61          Objects that implement Item can optionally implement the 'measured_by'
62          association to provide a link to one or more metrics.
63      reverse_name: measuring
64      required_endpoint_interfaces:
65          - xyz.openbmc_project.Metrics
66    - name: monitored_by
67      description: >
68          Any inventory Item (usually Boards or Chassis) can optionally
69          implement the 'monitored_by' association to provide a link to the
70          chassis intrusion sensor that is monitoring its security state against
71          intrusion events.
72      reverse_name: monitoring
73      required_endpoint_interfaces:
74          - xyz.openbmc_project.Chassis.Intrusion
75    - name: powered_by
76      description: >
77          Objects that implement Item can optionally implement the 'powered_by'
78          association to provide a link to one or more power supplies.
79      reverse_name: powering
80      required_endpoint_interfaces:
81          - xyz.openbmc_project.Inventory.Item.PowerSupply
82    - name: sensors
83      description: >
84          Sensors may implement an 'inventory' to 'sensors' association with the
85          inventory item related to it.
86      reverse_names:
87          - inventory
88      required_endpoint_interfaces:
89          - xyz.openbmc_project.Sensor.Value
90
91paths:
92    - namespace: /xyz/openbmc_project/inventory
93