description: >
    Implement to capture various types of dumps from the
    host or BMC. This interface is for user to request a particular
    type of dump.

    Any OpenBMC implementation should provide one implementation
    of xyz.openbmc_project.Dump.Create per dump type on
    /xyz/openbmc_project/dump/<dump type>. On multi-host or on multi-BMC
    systems the instance number can be added to the path to differentiate,
    for example /xyz/openbmc_project/dump/<dump type><instance-id>.

methods:
    - name: CreateDump
      description: >
          Method to create a manual Dump.
      parameters:
          - name: AdditionalData
            type: dict[string, variant[string,uint64]]
            description: >
                The additional data, if any, for initiating the dump.
                The key in this case should be an implementation
                specific enum defined for the specific type of dump
                either in xyz or in a domain.
                The values can be either a string or a 64 bit number.
                The enum-format string is required to come from a
                parallel class with this specific Enum name.
                All of the Enum strings should be in the format
                'domain.Dump.Create.CreateParameters.ParamName'.
                e.g.:
                  {
                    "key1": "value1",
                    "key2": "value2"
                  }
                ends up in AdditionaData like:
                  ["KEY1=value1", "KEY2=value2"]
      returns:
          - name: Path
            type: object_path
            description: >
                The object path of the object that implements
                xyz.openbmc_project.Common.Progress to track the progress
                of the dump
      errors:
          - xyz.openbmc_project.Common.File.Error.Open
          - xyz.openbmc_project.Common.File.Error.Write
          - xyz.openbmc_project.Dump.Create.Error.Disabled
          - xyz.openbmc_project.Dump.Create.Error.QuotaExceeded
          - xyz.openbmc_project.Common.Error.NotAllowed
          - xyz.openbmc_project.Common.Error.InvalidArgument
