HEX
Server: Apache/2.4.34 (Red Hat) OpenSSL/1.0.2k-fips
System: Linux WORDPRESS 3.10.0-1160.118.1.el7.x86_64 #1 SMP Thu Apr 4 03:33:23 EDT 2024 x86_64
User: digital (1020)
PHP: 7.2.24
Disabled: NONE
Upload Files
File: //usr/share/openlmi-storage/LMI_Storage-Luks.mof
[ Version("0.7.0"), Experimental, Abstract,
  Description("Base class for all encryption extents. These extents represent "
    "block devices with clear-text data of some encrypted block device.")]
class LMI_EncryptionExtent : LMI_StorageExtent
{

};

[ Version("0.7.0"), Experimental, Abstract,
  Description("Base class for all encryption formats. This format represents "
    "encrypted data on a block device.")]
class LMI_EncryptionFormat : LMI_DataFormat
{
};

[ Version("0.7.0"), Experimental, Description("Service which configures LUKS formats on block devices.")]
class LMI_ExtentEncryptionConfigurationService : CIM_Service
{
    [ Implemented(true),
      Description (
        "Formats a device to become a LUKS device. All previous data on the "
        "device is destroyed." ),
      ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096",
                 "4098..32767", "32768..65535" },
      Values { "Job Completed with No Error", "Not Supported",
               "Unknown", "Timeout", "Failed", "Invalid Parameter",
               "In Use", "DMTF Reserved",
               "Method Parameters Checked - Job Started",
               "Method Reserved", "Vendor Specific" } ]
    uint32 CreateEncryptionFormat(
        [ IN, Description("The block device to format.")]
        CIM_StorageExtent REF InExtent,
        [ IN, Description("Parameteres of the LUKS format. This parameter is unused currently and must be NULL.") ]
        LMI_EncryptionFormatSetting REF Goal,
        [ IN, Description("Passphrase to use to encrypt the device. This is not the encryption key!") ]
        string Passphrase,
        [ OUT, IN(false), Description("Reference to the created job.")]
        CIM_ConcreteJob REF Job,
        [ OUT, IN(false), Description("Created format.")]
        LMI_EncryptionFormat REF Format
    );

    [ Implemented(true),
      Description (
        "Opens a LUKS device. This means new block device with clear-text data "
        "is created. This new device is represented by LMI_LUKSStorageDevice "
        "and is returned as 'Extent' output parameter." ),
      ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096",
                 "4098..32767", "32768..65535" },
      Values { "Job Completed with No Error", "Not Supported",
               "Unknown", "Timeout", "Failed", "Invalid Parameter",
               "In Use", "DMTF Reserved",
               "Method Parameters Checked - Job Started",
               "Method Reserved", "Vendor Specific" } ]
    uint32 OpenEncryptionFormat(
        [ IN, Description("Format to open.") ]
        LMI_EncryptionFormat REF Format,
        [ IN, Description("Desired ElementName of the newly created "
            "LMI_LUKSStorageDevice. This name is also used as device mapper "
            "name, i.e. device with path /dev/mapper/<ElementName> will be "
            "created.")]
        string ElementName,
        [ IN, Description("Passphrase to unencrypt the device.") ]
        string Passphrase,
        [ OUT, IN(false), Description("Reference to the created job.")]
        CIM_ConcreteJob REF Job,
        [ OUT, IN(false), Description("Created CIM_StorageExtent which "
            "represents the clear-text block device.")]
        CIM_StorageExtent REF Extent
    );

    [ Implemented(true),
      Description (
        "Closes a LUKS device. Appropriate device mapper device with "
        "clear-text data is destroyed and appropriate LMI_LUKSStorageExtent is "
        "removed." ),
      ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096",
                 "4098..32767", "32768..65535" },
      Values { "Job Completed with No Error", "Not Supported",
               "Unknown", "Timeout", "Failed", "Invalid Parameter",
               "In Use", "DMTF Reserved",
               "Method Parameters Checked - Job Started",
               "Method Reserved", "Vendor Specific" } ]
    uint32 CloseEncryptionFormat (
        [ OUT, IN(false), Description("Reference to the created job.")]
        CIM_ConcreteJob REF Job,
        [ IN, Description("LUKS format to close.")]
        LMI_EncryptionFormat REF Format
    );

    [ Implemented(true),
      Description (
        "Add new passphrase to LUKS format. LUKS supports up to 8 independent "
        "passphrases, adding any additional one will result in error. "
        "Application cannot specify which key slot will be used by which "
        "passphrase.")]
    uint32 AddPassphrase(
        [ IN, Description("The format to add the passphrase to.")]
        LMI_EncryptionFormat REF Format,
        [ IN, Description("Any of the existing passphrase to unlock the format.")]
        string Passphrase,
        [ IN, Description("New passphrase to add.")]
        string NewPassphrase
    );

    [ Implemented(true),
      Description (
        "Remove a passphrase from LUKS format.")]
    uint32 DeletePassphrase(
        [ IN, Description("The format to remove the passphrase from.")]
        LMI_EncryptionFormat REF Format,
        [ IN, Description("The passphrase to remove.")]
        string Passphrase
    );
};

[ Version("0.7.0"), Experimental,
  Description("This extent represents clear-text block device of some LUKS "
    "format.") ]
class LMI_LUKSStorageExtent : LMI_EncryptionExtent
{
};

[ Version("0.7.0"), Experimental,
  Description("Class representing LUKS data on a block device.")]
class LMI_LUKSFormat : LMI_EncryptionFormat
{
    [Implemented(true), Description("UUID of the LUKS format.")]
    string UUID;

    [ Implemented(true),
      Description("Represents status of each key slot in LUKS header."),
      ValueMap{ "0", "1" },
      Values{ "Free", "Used"} ]
    uint16 SlotStatus[];
};

[ Version("0.7.0"), Experimental ]
class LMI_LUKSBasedOn : CIM_BasedOn
{
};