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
          - xyz.openbmc_project.Common.Error.Unavailable

enumerations:
    - name: CreateParameters
      description: >
          Additional parameters for creating the dump.
      values:
          - name: "OriginatorId"
            description: >
                Unique Id of the originator of the respective operation. This
                property is defined in xyz.openbmc_project. Common.OriginatedBy
                interface.
          - name: "OriginatorType"
            description: >
                Type of the originator that initiated the respective operation.
                This property is defined in xyz.openbmc_project.
                Common.OriginatedBy interface.
