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. Objects that implement Item can optionally implement
72          the 'monitored_by' association to provide links to one or more
73          detectors that monitors its state.
74      reverse_name: monitoring
75      required_endpoint_interfaces:
76          - xyz.openbmc_project.Chassis.Intrusion
77          - xyz.openbmc_project.State.Leak.Detector
78    - name: powered_by
79      description: >
80          Objects that implement Item can optionally implement the 'powered_by'
81          association to provide a link to one or more power supplies.
82      reverse_name: powering
83      required_endpoint_interfaces:
84          - xyz.openbmc_project.Inventory.Item.PowerSupply
85    - name: throttled_by
86      description: >
87          Objects that implement Chassis can optionally implement the
88          'throttled_by' association to provide a link to throttle.
89      reverse_name: throttling
90      required_endpoint_interfaces:
91          - xyz.openbmc_project.Control.Power.Throttle
92    - name: sensors
93      description: >
94          Sensors may implement an 'inventory' to 'sensors' association with the
95          inventory item related to it.
96      reverse_names:
97          - inventory
98      required_endpoint_interfaces:
99          - xyz.openbmc_project.Sensor.Value
100    - name: authenticated_by
101      description: >
102          Objects that implement Item can optionally implement the
103          "authenticated_by" association to provide a link to the component
104          integrity object that authenticates this item.
105      reverse_name: authenticating
106      required_endpoint_interfaces:
107          - xyz.openbmc_project.Attestation.ComponentIntegrity
108    - name: protected_by
109      description: >
110          Objects that implement Item can optionally implement the
111          "protected_by" association to provide a link to the target trusted
112          component object that protects this item.
113      reverse_name: protecting
114      required_endpoint_interfaces:
115          - xyz.openbmc_project.Inventory.Item.TrustedComponent
116    - name: connected_to
117      description: >
118          Objects that implement Item can optionally implement the
119          'connected_to' association to provide a link to cables.
120      reverse_name: connecting
121      required_endpoint_interfaces:
122          - xyz.openbmc_project.Inventory.Item.Cable
123
124paths:
125    - namespace: /xyz/openbmc_project/inventory
126