description: >
    Implement to provide Dump attributes.

    Object which implements this interface must implement
    xyz.openbmc_project.Time.EpochTime for the Dump
    creation time.
    Object which implements this interface should implement
    xyz.openbmc_project.Object.Delete to allow the deletion of
    individual Dump objects.

methods:
    - name: InitiateOffload
      description: >
          This method initiates the offload of the dump from the dump storage.
          The transfer will be initiated to the target provide. The caller of
          this function should set up a method to transfer and pass the URI to
          to this function. If there is no exceptions the caller can assume the
          transfer is successfully initiated. Once the transfer is completed.
          The application which is transferring the dump should set offloaded
          property to true to indicate offload is completed.
      parameters:
          - name: OffloadUri
            type: string
            description: >
                The location to offload dump file, error InvalidArgument will be
                returned if the URI is not well formated.
      errors:
          - xyz.openbmc_project.Common.File.Error.Open
          - xyz.openbmc_project.Common.File.Error.Write
          - xyz.openbmc_project.Common.Error.InvalidArgument
          - xyz.openbmc_project.Common.Error.NotAllowed
          - xyz.openbmc_project.Common.Error.Unavailable

properties:
    - name: Size
      type: uint64
      description: >
          Size of the Dump.
    - name: Offloaded
      type: boolean
      description: >
          Indicates whether the dump is offloaded to a client.
          The BMC application which knows the status of the offload
          operation should set this to true once the entire dump is
          offloaded.
    - name: OffloadUri
      type: string
      description: >
          The URI to write the dump file.
