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.
