# Class CIM_StorageProtectionService
extends CIM_Service

This service defines the Protect method used to apply and modify the protection setting for a specified StorageVolume or LogicalDisk. The settings applied are used to protect a storage element from accidental or intentional overwriting. Accordingly, the settings set the read/write ability of the element, SCSI inquiry visibility, whether it can be copied over, and whether it can be exposed from the storage system. This service also allows the specification of a retention time, or length of time that these settings cannot be modified. The settings remain in effect after this time period expires until changed. The values of this setting are stored in the StorageProtectionSetting class associated to the StorageVolume pr LogicalDisk via ElementProtectionSettingData. The StorageProtectionSetting cannot be modified directly, but can only be modified via this service. While the element is being protected, the StorageProtectionSetting cannot be removed.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--CIM_StorageProtectionService

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | This service defines the Protect method used to apply and modify the protection setting for a specified StorageVolume or LogicalDisk. The settings applied are used to protect a storage element from accidental or intentional overwriting. Accordingly, the settings set the read/write ability of the element, SCSI inquiry visibility, whether it can be copied over, and whether it can be exposed from the storage system. This service also allows the specification of a retention time, or length of time that these settings cannot be modified. The settings remain in effect after this time period expires until changed. The values of this setting are stored in the StorageProtectionSetting class associated to the StorageVolume pr LogicalDisk via ElementProtectionSettingData. The StorageProtectionSetting cannot be modified directly, but can only be modified via this service. While the element is being protected, the StorageProtectionSetting cannot be removed.
UMLPackagePath | string | CIM::Device::Storage
Version | string | 2.45.0

## Class Properties

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_Service
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
Generation | uint64 | CIM_ManagedElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
LoSID | string | CIM_Service
LoSOrgID | string | CIM_Service
Name | string | CIM_Service
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryOwnerContact | string | CIM_Service
PrimaryOwnerName | string | CIM_Service
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Started | boolean | CIM_Service
StartMode | string | CIM_Service
Status | string | CIM_ManagedSystemElement
SystemCreationClassName | string | CIM_Service
SystemName | string | CIM_Service
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### Protect (uint32)

#### Method Qualifiers (Protect)

Name | Data Type | Value
--- | --- | ---
Description | string | The method creates or modifies the StorageProtectionSetting associated to the StorageVolume or LogicalDisk. This method is called to protect the StorageVolume or LogicalDisk against modification for a specific period of time. Values specified for this method will be set as properties of the StorageProtectionSetting instance that is associated to the specified StorageVolume or LogicalDisk. This method can be used to extend the retention period, but not decrease it.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7..4095, 4096, 4097..32767, 32768..65535
Values | string | Success, Not Supported, Unspecified Error, Timeout, Failed, Invalid Parameter, Invalid State Transition, DMTF Reserved, Method parameters checked - job started, Method Reserved, Vendor Specific

#### Method Parameters (Protect)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Access | uint16
Description | string | Read and write accessibility of the StorageVolume. 1: Read/Write Enabled 2: Read Only 3: Write Once 4: Read/Write Disabled.
ValueMap | string | 1, 2, 3, 4
Values | string | Read/Write Enabled, Read Only, Write Once, Read/Write disabled
DenyAsCopyTarget | boolean
Description | string | Whether the storage element can be specified as a replica or not.
ElementType | uint16
Description | string | Enumeration indicating the type of element being protected. 1: StorageVolume 2: LogicalDisk.
ValueMap | string | 1, 2
Values | string | StorageVolume, LogicalDisk
LUNMappingConfigure | boolean
Description | string | Whether LUN assignment to the StorageVolume is allowed or not.
ProtectExpirationType | uint16
Description | string | Duration type of the storage element protection 1: None 2: Limited expiration 3: Permanent.
ValueMap | string | 1, 2, 3
Values | string | None, Limited expiration, Permanent
TimePeriod | datetime
Description | string | Amount of remaining time before a management application can change the access permission.
InquiryProtection | uint16[]
Description | string | StorageVolume protection method for SCSI inquiry commands. 1: No SCSI Inquiry Protection 2: Inquiry Disabled 3: Zero Capacity Returned.
ValueMap | string | 1, 2, 3
Values | string | No SCSI Inquiry Protection, Inquiry Disabled, Zero Capacity Returned
Element | REF CIM_StorageExtent
Description | string | StorageVolume or LogicalDisk to be configured.
Job | REF CIM_Job
Description | string | Reference to the job created, if any.
OUT | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
ChangeAffectedElementsAssignedSequence | uint32 | CIM_Service
RequestStateChange | uint32 | CIM_EnabledLogicalElement
StartService | uint32 | CIM_Service
StopService | uint32 | CIM_Service