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.
