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: sensors
37      description: >
38          Sensors may implement an 'inventory' to 'sensors' association with the
39          inventory item related to it.
40      reverse_names:
41          - inventory
42      required_endpoint_interfaces:
43          - xyz.openbmc_project.Sensor.Value
44    - name: cooled_by
45      description: >
46          Objects that implement Item can optionally implement the 'cooled_by'
47          association to provide a link to one or more fans.
48      reverse_name: cooling
49      required_endpoint_interfaces:
50          - xyz.openbmc_project.Inventory.Item.Fan
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: fault_identified_by
60      description: >
61          Objects that implement Item can optionally implement the
62          'fault_identified_by' association to provide a link to one or more LED
63          Groups.
64      reverse_name: fault_identifying
65      required_endpoint_interfaces:
66          - xyz.openbmc_project.Led.Group
67    - name: powered_by
68      description: >
69          Objects that implement Item can optionally implement the 'powered_by'
70          association to provide a link to one or more power supplies.
71      reverse_name: powering
72      required_endpoint_interfaces:
73          - xyz.openbmc_project.Inventory.Item.PowerSupply
74    - name: measured_by
75      description: >
76          Objects that implement Item can optionally implement the 'measured_by'
77          association to provide a link to one or more metrics.
78      reverse_name: measuring
79      required_endpoint_interfaces:
80          - xyz.openbmc_project.Metrics
81    - name: monitored_by
82      description: >
83          Any inventory Item (usually Boards or Chassis) can optionally
84          implement the 'monitored_by' association to provide a link to the
85          chassis intrusion sensor that is monitoring its security state against
86          intrusion events.
87      reverse_name: monitoring
88      required_endpoint_interfaces:
89          - xyz.openbmc_project.Chassis.Intrusion
90