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, variant[string,uint64]]
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 values can be either a string or a 64 bit number.
26            The enum-format string is required to come from a
27            parallel class with this specific Enum name.
28            All of the Enum strings should be in the format
29            'domain.Dump.Create.CreateParameters.ParamName'.
30            e.g.:
31              {
32                "key1": "value1",
33                "key2": "value2"
34              }
35            ends up in AdditionaData like:
36              ["KEY1=value1", "KEY2=value2"]
37      returns:
38        - name: Path
39          type: object_path
40          description: >
41            The object path of the object that implements
42            xyz.openbmc_project.Common.Progress to track the progress
43            of the dump
44      errors:
45        - xyz.openbmc_project.Common.File.Error.Write
46        - xyz.openbmc_project.Dump.Create.Error.Disabled
47        - xyz.openbmc_project.Dump.Create.Error.QuotaExceeded
48        - xyz.openbmc_project.Common.Error.NotAllowed
49        - xyz.openbmc_project.Common.Error.InvalidArgument
50