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 User
18          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 after
29          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 1 to
52                the rank order in each PSU and change the last rank order to the
53                first rank order.
54          - name: userSpecific
55            description: >
56                With User Specific algorithm, user need to set the RotationRankOrder
57                every time before rotation happen, then BMC will update the rank
58                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 ndoe system, the status always keep show completed. For
71                multi-node system, only after all the nodes sync to same value of
72                the properties, the status will be completed.
73