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
81enumerations:
82    - name: FFDCFormat
83      description: >
84          format types
85      values:
86          - name: JSON
87            description: >
88                Valid fully formed JSON, e.g. {"foo":"bar"}
89          - name: CBOR
90            description: >
91                Valid CBOR (Concise Binary Object Representation)
92          - name: Text
93            description: >
94                ASCII text
95          - name: Custom
96            description: >
97                Something other than the above formats
98