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
12methods:
13    - name: CreateDump
14      description: >
15          Method to create a manual Dump.
16      parameters:
17          - name: AdditionalData
18            type: dict[string, variant[string,uint64]]
19            description: >
20                The additional data, if any, for initiating the dump.
21                The key in this case should be an implementation
22                specific enum defined for the specific type of dump
23                either in xyz or in a domain.
24                The values can be either a string or a 64 bit number.
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.Open
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
50enumerations:
51    - name: CreateParameters
52      description: >
53          Additional parameters for creating the dump.
54      values:
55        - name: 'OriginatorId'
56          description: >
57              Unique Id of the originator of the respective
58              operation. This property is defined in xyz.openbmc_project.
59              Common.OriginatedBy interface.
60        - name: 'OriginatorType'
61          description: >
62              Type of the originator that initiated the respective
63              operation. This property is defined in xyz.openbmc_project.
64              Common.OriginatedBy interface.
65