1description: >
2    Implement to capture various types of dumps from the
3    host or BMC. This interface is for user to request a particular
4    type of dump.
5
6    Any OpenBMC implementation should provide one implementation
7    of xyz.openbmc_project.Dump.Create per dump type on
8    /xyz/openbmc_project/dump/<dump type>. On multi-host or on multi-BMC
9    systems the instance number can be added to the path to differentiate,
10    for example /xyz/openbmc_project/dump/<dump type><instance-id>.
11
12
13methods:
14    - name: CreateDump
15      description: >
16          Method to create a manual Dump.
17      parameters:
18        - name: AdditionalData
19          type: dict[string, string]
20          description: >
21            The additional data, if any, for initiating the dump.
22            The key in this case should be an implementation
23            specific enum defined for the specific type of dump
24            either in xyz or in a domain.
25            The enum-format string is required to come from a
26            parallel class with this specific Enum name.
27            All of the Enum strings should be in the format
28            'domain.Dump.Create.CreateParameters.ParamName'.
29            e.g.:
30              {
31                "key1": "value1",
32                "key2": "value2"
33              }
34            ends up in AdditionaData like:
35              ["KEY1=value1", "KEY2=value2"]
36      returns:
37        - name: Path
38          type: object_path
39          description: >
40            The object path of the object that implements
41            xyz.openbmc_project.Common.Progress to track the progress
42            of the dump
43      errors:
44        - xyz.openbmc_project.Common.File.Error.Write
45        - xyz.openbmc_project.Dump.Create.Error.Disabled
46        - xyz.openbmc_project.Dump.Create.Error.QuotaExceeded
47        - xyz.openbmc_project.Common.Error.NotAllowed
48        - xyz.openbmc_project.Common.Error.InvalidArgument
49