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