1description: >
2    Simple definition of a Software or Firmware version. Note that this
3    interface may be implemented by D-Bus objects that do not necessarily
4    contain a software level. For example an OpenBMC log may implement this
5    interface to store the software level of the BMC or Host for debug purposes.
6    If looking for real software versions associated with a device then ensure
7    this interface is under the /xyz/openbmc_project/software object path.
8properties:
9    - name: Version
10      type: string
11      description: >
12        The version identifier.
13    - name: Purpose
14      type: enum[self.VersionPurpose]
15      description: >
16        The purpose of the version.  As in, what can it be used for or
17        applied to?
18enumerations:
19    - name: VersionPurpose
20      description: >
21        An enumeration of possible purposes of the version.
22      values:
23        - name: Unknown
24          description: >
25            The version is of unknown purpose.
26        - name: Other
27          description: >
28            The version is of some other purpose.
29        - name: System
30          description: >
31            The version is an aggregate for the system as a whole.
32        - name: BMC
33          description: >
34            The version is a version for the BMC.
35        - name: Host
36          description: >
37            The version is a version for a managed host.
38        - name: PSU
39          description: >
40            The version is a version for a PSU.
41