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: throttled_by
83      description: >
84          Objects that implement Chassis can optionally implement the
85          'throttled_by' association to provide a link to throttle.
86      reverse_name: throttling
87      required_endpoint_interfaces:
88          - xyz.openbmc_project.Control.Power.Throttle
89    - name: sensors
90      description: >
91          Sensors may implement an 'inventory' to 'sensors' association with the
92          inventory item related to it.
93      reverse_names:
94          - inventory
95      required_endpoint_interfaces:
96          - xyz.openbmc_project.Sensor.Value
97    - name: authenticated_by
98      description: >
99          Objects that implement Item can optionally implement the
100          "authenticated_by" association to provide a link to the component
101          integrity object that authenticates this item.
102      reverse_name: authenticating
103      required_endpoint_interfaces:
104          - xyz.openbmc_project.Attestation.ComponentIntegrity
105    - name: protected_by
106      description: >
107          Objects that implement Item can optionally implement the
108          "protected_by" association to provide a link to the target trusted
109          component object that protects this item.
110      reverse_name: protecting
111      required_endpoint_interfaces:
112          - xyz.openbmc_project.Inventory.Item.TrustedComponent
113
114paths:
115    - namespace: /xyz/openbmc_project/inventory
116