1description: >
2    Implement to provide Chassis attributes.
3
4properties:
5    - name: Type
6      type: enum[self.ChassisType]
7      default: Unknown
8      description: >
9          The type of physical form factor of the chassis.
10
11enumerations:
12    - name: ChassisType
13      description: >
14          Possible chassis type
15      values:
16          - name: Blade
17            description: >
18                An enclosed or semi-enclosed, typically vertically-oriented,
19                system chassis that must be plugged into a multi-system chassis
20                to function normally.
21          - name: Component
22            description: >
23                A small chassis, card, or device that contains devices for a
24                particular subsystem or function.
25          - name: Enclosure
26            description: >
27                A generic term for a chassis that does not fit any other
28                description.
29          - name: Module
30            description: >
31                A small, typically removable, chassis or card that contains
32                devices for a particular subsystem or function.
33          - name: RackMount
34            description: >
35                A single-system chassis designed specifically for mounting in an
36                equipment rack.
37          - name: StandAlone
38            description: >
39                A single, free-standing system, commonly called a tower or
40                desktop chassis.
41          - name: StorageEnclosure
42            description: >
43                A chassis that encloses storage.
44          - name: Unknown
45            description: >
46                An unknown chassis type.
47          - name: Zone
48            description: >
49                A logical division or portion of a physical chassis that
50                contains multiple devices or systems that cannot be physically
51                separated.
52
53associations:
54    - name: powered_by
55      description: >
56          Objects that implement Chassis can optionally implement the
57          'powered_by' association to provide a link to one or more power
58          supplies.
59      reverse_name: powering
60      required_endpoint_interfaces:
61          - xyz.openbmc_project.Inventory.Item.PowerSupply
62