1description: >
2    This interface contains a Create method, which can be implemented
3    to allow creation of xyz.openbmc_project.Logging.Entry objects
4    directly over D-Bus, without needing the errors defined in
5    the *.Error/metadata.yaml files.
6
7methods:
8    - name: Create
9      description: >
10          Create a xyz.openbmc_project.Logging.Entry object.
11      parameters:
12        - name: Message
13          type: string
14          description: >
15            The Message property of the event entry.
16        - name: Severity
17          type: enum[xyz.openbmc_project.Logging.Entry.Level]
18          description: >
19            The Severity property of the event entry.
20        - name: AdditionalData
21          type: dict[string, string]
22          description: >
23            The AdditionalData property of the event entry.
24            e.g.:
25              {
26                "key1": "value1",
27                "key2": "value2"
28              }
29            ends up in AdditionaData like:
30              ["KEY1=value1", "KEY2=value2"]
31
32    - name: CreateWithFFDCFiles
33      description: >
34          Create an xyz.openbmc_project.Logging.Entry object and pass in an
35          array of file descriptors for files that contain FFDC (first failure
36          data capture) data which may be used by event log extensions that
37          support storing it with their event logs.  The other arguments are
38          the same as with Create().  The FFDC argument is ignored by the
39          base phosphor-logging event logs.
40
41          When the method call is complete the descriptors must be closed and
42          the files can be deleted if desired.
43      parameters:
44        - name: Message
45          type: string
46          description: >
47            The Message property of the event entry.
48        - name: Severity
49          type: enum[xyz.openbmc_project.Logging.Entry.Level]
50          description: >
51            The Severity property of the event entry.
52        - name: AdditionalData
53          type: dict[string, string]
54          description: >
55            The AdditionalData property of the event entry.
56            e.g.:
57              {
58                "key1": "value1",
59                "key2": "value2"
60              }
61            ends up in AdditionaData like:
62              ["KEY1=value1", "KEY2=value2"]
63        - name: FFDC
64          type: array[struct[enum[self.FFDCFormat], byte, byte, unixfd]]
65          description: >
66            File descriptors for any files containing FFDC, along with metadata
67            about the contents:
68
69              FFDCFormat- The format type of the contained data.
70              subType - The format subtype, used for the 'Custom' type.
71              version - The version of the data format, used for the 'Custom'
72                        type.
73              unixfd - The file descriptor to the data file.
74
75            e.g.:
76            [
77              {"xyz.openbmc_project.Logging.Create.FFDCFormat.JSON", 0, 0, 5},
78              {"xyz.openbmc_project.Logging.Create.FFDCFormat.Custom", 1, 2, 6}
79            ]
80
81
82enumerations:
83    - name: FFDCFormat
84      description: >
85        format types
86      values:
87        - name: JSON
88          description: >
89            Valid fully formed JSON, e.g. {"foo":"bar"}
90        - name: CBOR
91          description: >
92            Valid CBOR (Concise Binary Object Representation)
93        - name: Text
94          description: >
95            ASCII text
96        - name: Custom
97          description: >
98            Something other than the above formats
99