1description: >
2    Implement to provide event/error entry attributes. This interface should be
3    instantiated for the phosphor::logging namespace. This interface is a
4    collection of objects, therefore it is required to implement
5    org.freedesktop.DBus.ObjectManager on the logging namespace root.
6    Optionally, implement xyz.openbmc_project.Object.Delete to allow the
7    deletion of individual entries.
8properties:
9    - name: Id
10      type: uint32
11      description: >
12          The error event entry id number.
13    - name: Timestamp
14      type: uint64
15      description: >
16          Commit timestamp of the error event entry in milliseconds since 1970.
17    - name: Severity
18      type: enum[self.Level]
19      description: >
20          The severity of the error event entry.
21    - name: Message
22      type: string
23      description: >
24          The message description of the error event entry.
25    - name: EventId
26      type: string
27      description: >
28          An implementation-dependent unique identifier for this event. This
29          property is different from Id in the sense that Id is a unique number
30          per event but EventId is an optional identifier that is associated
31          with the event. The content of this property is implementation
32          defined.
33    - name: AdditionalData
34      type: array[string]
35      description: >
36          Additional information in the form of metadata field strings VAR=val
37    - name: Resolution
38      type: string
39      description: >
40          Suggestion for error resolution of this event.
41    - name: Resolved
42      type: boolean
43      description: >
44          Error resolution status. Indicate if the problem being reported by
45          this error log has been resolved. This will start out 'false' by
46          default. Setting this to 'true' will NOT result in the error log being
47          deleted.
48      errors:
49          - xyz.openbmc_project.Common.Error.Unavailable
50    - name: ServiceProviderNotify
51      type: enum[self.Notify]
52      default: NotSupported
53      description: >
54          If this property value is set to 'Notify', the service provider must
55          be notified about the Entry. If the value is set to 'Inhibit' then
56          notification is not sent to the service provider. An event of this
57          type requires a service action to correct the event, such as replacing
58          the hardware part or updating code.
59    - name: UpdateTimestamp
60      type: uint64
61      description: >
62          The timestamp when any property was last modified, in milliseconds
63          since the epoch (1 Jan 1970 00:00:00 UTC).  As only the Resolved
64          property has a reason to change, a value that doesn't match the
65          Timestamp property's value (which indicates when the log was created)
66          would indicate that Resolved was changed.
67
68enumerations:
69    - name: Level
70      description: >
71          Possible severity levels for an error log entry.
72      values:
73          - name: Emergency
74            description: >
75                System is unusable.
76          - name: Alert
77            description: >
78                Should be corrected immediately.
79          - name: Critical
80            description: >
81                Critical condition.
82          - name: Error
83            description: >
84                Error condition.
85          - name: Warning
86            description: >
87                An error may occur if action is not taken.
88          - name: Notice
89            description: >
90                Unusual condition, but not an error.
91          - name: Informational
92            description: >
93                Normal operational message that does not require action.
94          - name: Debug
95            description: >
96                Information useful to developers for debugging the application.
97
98    - name: Notify
99      description: >
100          Possible ServiceProviderNotify values for an error log entry.
101      values:
102          - name: NotSupported
103            description: >
104                ServiceProviderNotify property is not supported.
105          - name: Notify
106            description: >
107                The service provider should be notified about the event log.
108          - name: Inhibit
109            description: >
110                The service provider should not be notified about the event log.
111
112methods:
113    - name: GetEntry
114      description: >
115          Returns the file descriptor to the raw Entry file, which is a binary
116          blob. The mode of the file descriptor is to be reaad-only.
117      returns:
118          - name: fd
119            type: unixfd
120            description: >
121                The file descriptor to the Entry file.
122
123service_names:
124    - default: xyz.openbmc_project.Logging
125
126paths:
127    - namespace: /xyz/openbmc_project/logging
128      segments:
129          - name: Entry
130            value: entry
131