description:
    Implement to provide the chassis power management

properties:
    - name: RequestedPowerTransition
      type: enum[self.Transition]
      default: 'Off'
      description: >
          The desired power transition to start on this chassis.
          This will be preserved across AC power cycles of the BMC.

    - name: CurrentPowerState
      type: enum[self.PowerState]
      description: >
          A read-only property describing the current chassis power state.
          A user can determine if a chassis is in transition by comparing
          the CurrentPowerState and RequestedPowerTransition properties.

    - name: CurrentPowerStatus
      type: enum[self.PowerStatus]
      description: >
          A read-only property describing the current chassis power status.
          This property aggregates all available information about the status
          of the power coming into the chassis. Note that this is different
          then the CurrentPowerState in that it provides status of the power
          coming into the chassis, not the actual state of the chassis power.

    - name: LastStateChangeTime
      type: uint64
      description: >
          The last time at which the chassis power changed state, as
          tracked by the CurrentPowerState property, in epoch time,
          in milliseconds.  This can be used to tell when the chassis
          was last powered on or off.

enumerations:
    - name: Transition
      description: >
        The desired power transition for the chassis
      values:
        - name: 'Off'
          description: >
            Chassis power should be off
        - name: 'On'
          description: >
            Chassis power should be on
        - name: 'PowerCycle'
          description: >
            Chassis power should be cycled from off to on. There will be a 5
            second delay between the off and the on.

    - name: PowerState
      description: >
        The current state of the chassis power
      values:
        - name: 'Off'
          description: >
            Chassis power is off
        - name: 'TransitioningToOff'
          description: >
            Firmware is transitioning the chassis to an Off state
        - name: 'On'
          description: >
            Chassis power is on
        - name: 'TransitioningToOn'
          description: >
            Firmware is transitioning the chassis to an On state

    - name: PowerStatus
      description: >
        The current status of the chassis power
      values:
        - name: 'Undefined'
          description: >
            Chassis power status is unknown
        - name: 'BrownOut'
          description: >
            Chassis power status is in a brownout condition.
        - name: 'UninterruptiblePowerSupply'
          description: >
            Chassis power is being provided via an uninterruptible power
            supply. Note that some systems may choose to continue to use this
            status, even once power has returned to the system, to indicate the
            uninterruptible power supply is charging or is below a certain
            threshold of charged. This provides system owners the flexibility on
            whether their system requires a certain level of charged
            uninterruptible power supply to be in a 'Good' state or not.
        - name: 'Good'
          description: >
            Chassis power status is in a good condition
