description: >
    D-bus interface to manage a logical storage volume. Currently, this
    interface only supports LUKS encrypted volumes, but it can be extended in
    the future to support other types of volumes, as well.

methods:
    - name: FormatLuks
      description: >
        Format a LUKS encrypted device and create a filesystem.
      parameters:
        - name: Password
          type: array[byte]
          description: >
            Array of bytes to use as the LUKS password.
        - name: Type
          type: enum[self.FilesystemType]
          description: >
            Type of filesystem, e.g. ext2, ext3, ext4, vfat.
      errors:
        - xyz.openbmc_project.Common.Error.InternalFailure
        - xyz.openbmc_project.Common.Error.ResourceNotFound
        - xyz.openbmc_project.Common.Error.UnsupportedRequest

    - name: Erase
      description: >
        Erase the contents of the volume.
      parameters:
        - name: EraseType
          type: enum[self.EraseMethod]
          description: >
            Describes what type of erase is done.
      errors:
        - xyz.openbmc_project.Common.Error.InternalFailure
        - xyz.openbmc_project.Common.Error.ResourceNotFound

    - name: Lock
      description: >
        Unmount the filesystem, lock the volume, and remove sensitive data
        (e.g. volume key) from memory.
      errors:
        - xyz.openbmc_project.Common.Error.InternalFailure
        - xyz.openbmc_project.Common.Error.UnsupportedRequest

    - name: Unlock
      description: >
        Activate the volume and mount the filesystem.
      parameters:
        - name: Password
          type: array[byte]
          description: >
            Array of bytes to use as the LUKS password.
      errors:
        - xyz.openbmc_project.Common.Error.InternalFailure
        - xyz.openbmc_project.Common.Error.ResourceNotFound

    - name: ChangePassword
      description: >
        Change the LUKS password that unlocks the storage volume.
      parameters:
        - name: OldPassword
          type: array[byte]
          description: >
            Array of bytes for the old LUKS password.
        - name: NewPassword
          type: array[byte]
          description: >
            Array of bytes to use as the LUKS password.
      errors:
        - xyz.openbmc_project.Common.Error.InternalFailure
        - xyz.openbmc_project.Common.Error.ResourceNotFound

properties:
    - name: Locked
      type: boolean
      default: false
      description: >
        Indicates whether the LUKS volume is locked.

enumerations:
    - name: EraseMethod
      description: >
        Indicates which erase method/step is being requested.
      values:
        - name: CryptoErase
          description: >
            Destroys the encryption key slots, preventing decyrption.
        - name: VerifyGeometry
          description: >
            Confirms a set percent of the disk is accessible.
        - name: LogicalOverWrite
          description: >
            Overwrites the disk with a reproducible incompressible pattern.
        - name: LogicalVerify
          description: >
            Verifies a reproducible pattern has been written to the disk.
        - name: VendorSanitize
          description: >
            Uses the sanitization provided by the device firmware.
        - name: ZeroOverWrite
          description: >
            Writes zeros over the whole disk.
        - name: ZeroVerify
          description: >
            Verifies the the entire disk has been zeroed.
        - name: SecuredLocked
          description: >
            Locks the disk to prevent data being written to it.

    - name: FilesystemType
      description: >
        Type of filesystem used on the storage device.
      values:
        - name: ext2
          description: >
            Filesystem type ext2
        - name: ext3
          description: >
            Filesystem type ext3
        - name: ext4
          description: >
            Filesystem type ext4
        - name: vfat
          description: >
            Filesystem type vfat
