description: >
    The requested priority, for redundancy purposes, of the associated
    `xyz.openbmc_project.Software.Version` prior to its activation.
properties:
    - name: Priority
      type: byte
      default: 0
      description: >
          Upon Activation of the software Version, the *ItemUpdater* should
          attempt to activate the software version such that the resulting
          `Software.RedundancyPriority.Priority` is Priority.

          See `Software.RedundancyPriority.Priority` for valid values and
          definitions.

          By default, any Activation should be done to the highest priority.
          Some *ItemUpdater* implementations may be unable to apply this
          `RequestedRedundancyPriority.Priority`, resulting in an
          `ActivationState` which is either `Failed` or `Active` with `Priority`
          of `0 (High)`.
