1description: >
2    An interface to set whether the power supplies are redundant.
3properties:
4    - name: PowerSupplyRedundancyEnabled
5      type: boolean
6      flags:
7          - const
8      description: >
9          When true, the power supplies are redundant.
10    - name: RotationEnabled
11      type: boolean
12      description: >
13          Cold redundancy rotation enabled or not.
14    - name: RotationAlgorithm
15      type: enum[self.Algo]
16      description: >
17          Rotation algorithm use for cold redundancy. 0 is BMC Specific, 1 is
18          User Specific.
19    - name: RotationRankOrder
20      type: array[byte]
21      description: >
22          The rank order for each PSU, 0 means will not go into cold standby
23          state.
24    - name: PeriodOfRotation
25      type: uint32
26      description: >
27          Rotation Period for cold redundancy. If rotation algorithm is BMC
28          Specific, and rotation is enabled, BMC will change PSU rank order
29          after this time. The unit of this PeriodOfRotation is in seconds.
30    - name: ColdRedundancyStatus
31      type: enum[self.Status]
32      description: >
33          Cold redundancy setting status, set in progress or set completed.
34    - name: PSUNumber
35      type: byte
36      description: >
37          Number of PSUs are currently on system.
38    - name: RedundantCount
39      type: byte
40      description: >
41          The min number of PSUs in the system required to obtain redundancy
42      default: 2
43
44enumerations:
45    - name: Algo
46      description: >
47          Rotation algorithm use for cold redundancy.
48      values:
49          - name: bmcSpecific
50            description: >
51                With BMC Specific algorithm, when rotation happen, BMC will add
52                1 to the rank order in each PSU and change the last rank order
53                to the first rank order.
54          - name: userSpecific
55            description: >
56                With User Specific algorithm, user need to set the
57                RotationRankOrder every time before rotation happen, then BMC
58                will update the rank order to PSU.
59    - name: Status
60      description: >
61          Cold redundancy setting status.
62      values:
63          - name: inProgress
64            description: >
65                This status is only use for multi-node system, after any of the
66                property setting on one node, before all the nodes sync to same
67                value, the status will show in progress.
68          - name: completed
69            description: >
70                For single node system, the status always keep show completed.
71                For multi-node system, only after all the nodes sync to same
72                value of the properties, the status will be completed.
73