description: >
    Implement to specify the power consumption cap and bounds

properties:
    - name: PowerCap
      type: uint32
      description: >
          Power cap value. This is the user specified power cap.  When enabled
          the power usage of the system will be limited to keep the power at or
          below this cap.  This value is in Watts.

    - name: PowerCapEnable
      type: boolean
      description: >
          Power cap enable.  Set to true to enable the PowerCap, false to
          disable it.

    #TODO: These following bounds are currently owned by Settings but need to be
    #      written by OCC.Control service so must be writable for now.
    - name: MinPowerCapValue
      type: uint32
      #flags:
      #    - readonly
      default: 0
      description: The Minimum supported PowerCap setting.

    - name: MaxPowerCapValue
      type: uint32
      #flags:
      #    - readonly
      default: maxint
      description: The Maximum supported PowerCap setting.

    - name: MinSoftPowerCapValue
      type: uint32
      #flags:
      #    - readonly
      default: 0
      description: >
          Minimum supported soft user PowerCap setting. The min soft user
          PowerCap value is normally less than or equal to the MinPowerCapValue.
          When the PowerCap is set to any value between MinSoftPowerCapValue and
          MinPowerCapValue an attempt will be made to maintain the cap but it
          will not be guaranted.

    - name: ExceptionAction
      type: enum[self.ExceptionActions]
      default: NoAction
      description: >
          Exception Actions, taken if the Power Limit is exceeded and cannot be
          controlled within the Correction time limit.

    - name: CorrectionTime
      type: uint64
      default: 0
      description: >
          Correction Time Limit in microseconds. Maximum time taken to limit the
          power after the platform power has reached the power limit before the
          Exception Action will be taken. The Exception Action shall be taken if
          the system power usage constantly exceeds the specified power limit
          for more than the Correction Time Limit interval. The Correction Time
          Limit timeout automatically restarts if the system power meets or
          drops below the Power Limit.

    - name: SamplingPeriod
      type: uint64
      default: 1000000
      description: >
          Management application Statistics Sampling period in microseconds.

enumerations:
    - name: ExceptionActions
      description: >
          Exception actions, taken if the Power Limit is exceeded and cannot be
          controlled within the Correction Time Limit.
      values:
          - name: NoAction
            description: >
                No action is called.

          - name: HardPowerOff
            description: >
                Hard Power Off system and log event.

          - name: LogEventOnly
            decription: >
                Log Event Only.

          - name: Oem
            decription: >
                OEM defined action.
