description: >
    This interface provides methods for mounting and unmounting images.

methods:
    - name: Mount
      description: >
        Perform an asynchronous operation of mounting to HOST on given object.
      returns:
          - name: Status
            type: boolean
            description: mounting status. True on success.
      errors:
          - xyz.openbmc_project.Common.Error.InternalFailure

    - name: Unmount
      description: >
        Perform an asynchronous operation of unmount from HOST on given
        object.
      returns:
          - name: Status
            type: boolean
            description: the unmount status. True on success.
      errors:
          - xyz.openbmc_project.Common.Error.InternalFailure

signals:
    - name: Completion
      description: >
        Signal indicating completion of mount or unmount action.
      properties:
        - name: Result
          type: int32
          description: >
            Returns 0 for success or errno on failure after background
            operation completes.
