# Class CIM_Snapshot
extends CIM_StorageExtent

Deprecated. Snapshots are now modeled in a more abstrct way using StorageExtent and StorageSynchronized. The Snapshot class is an optional construct. It can be used to represent an Extent that contains a full copy of another Extent, or the changes to that Extent when performing a delta-based (delta before or delta after) copy. Snapshot's definition in CIM is not equivalent to the act of creating a volume or file-based snapshot, or a point in time copy. It is at a much lower level and represents the use of storage to hold a copied image of an Extent, or to hold changes to an Extent. Use of the Snapshot object when making a full copy is only recommended if the purpose is to describe the existence of a copy. (This use will be very infrequent.) The problem with describing an Extent solely as a 'snapshot' is that when the snapshot/copy is broken, the object must be destroyed. Typically, this object still holds valid data, and would have to be reinstantiated. If the 'full copy' object is to be treated as a StorageVolume or more general Extent, then it should be modeled as such from the beginning - i.e., not as an instance of Snapshot but as an instance of a generic StorageExtent or StorageVolume. In this case, the Synchronized association would be used to describe that one StorageExtent is synchronized with another. When describing a delta-based snapshot/point in time copy, the Snapshot object represents the store holding the before/after image changes to the original Extent. For example, when doing a 'delta before' Snapshot, the resultant target would be modeled as a StorageExtent that is BasedOn the original Extent and the instance of Snapshot (that holds the changes to the original Extent).

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

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_AllocatedLogicalElement
|
+--CIM_LogicalDevice
|
+--CIM_StorageExtent
|
+--CIM_Snapshot

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Deprecated | string | No value
Description | string | Deprecated. Snapshots are now modeled in a more abstrct way using StorageExtent and StorageSynchronized. The Snapshot class is an optional construct. It can be used to represent an Extent that contains a full copy of another Extent, or the changes to that Extent when performing a delta-based (delta before or delta after) copy. Snapshot's definition in CIM is not equivalent to the act of creating a volume or file-based snapshot, or a point in time copy. It is at a much lower level and represents the use of storage to hold a copied image of an Extent, or to hold changes to an Extent. Use of the Snapshot object when making a full copy is only recommended if the purpose is to describe the existence of a copy. (This use will be very infrequent.) The problem with describing an Extent solely as a 'snapshot' is that when the snapshot/copy is broken, the object must be destroyed. Typically, this object still holds valid data, and would have to be reinstantiated. If the 'full copy' object is to be treated as a StorageVolume or more general Extent, then it should be modeled as such from the beginning - i.e., not as an instance of Snapshot but as an instance of a generic StorageExtent or StorageVolume. In this case, the Synchronized association would be used to describe that one StorageExtent is synchronized with another. When describing a delta-based snapshot/point in time copy, the Snapshot object represents the store holding the before/after image changes to the original Extent. For example, when doing a 'delta before' Snapshot, the resultant target would be modeled as a StorageExtent that is BasedOn the original Extent and the instance of Snapshot (that holds the changes to the original Extent).
UMLPackagePath | string | CIM::Device::SccExtents
Version | string | 2.7.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
IsSynced | boolean |
Deprecated | string | CIM_Synchronized.SyncMaintained
Description | string | True indicates that the snapshot is synced.
SyncTime | datetime |
Deprecated | string | CIM_Synchronized.WhenSynced
Description | string | The time stamp indicating when the sync occurred.

### Inherited Properties

Name | Data Type
--- | ---
Access | uint16
AllocationState | string
Availability | uint16
BlockSize | uint64
Caption | string
CommunicationStatus | uint16
CompressionRate | uint16
CompressionState | uint16
ConsumableBlocks | uint64
CreationClassName | string
DataOrganization | uint16
DataRedundancy | uint16
DeltaReservation | uint8
Description | string
DetailedStatus | uint16
DeviceID | string
ElementName | string
EnabledDefault | uint16
EnabledState | uint16
ErrorCleared | boolean
ErrorDescription | string
ErrorMethodology | string
ExtentInterleaveDepth | uint64
ExtentStripeLength | uint64
Generation | uint64
HealthState | uint16
InstallDate | datetime
InstanceID | string
IsBasedOnUnderlyingRedundancy | boolean
IsComposite | boolean
IsCompressed | boolean
IsConcatenated | boolean
LastErrorCode | uint32
LocationIndicator | uint16
MaxQuiesceTime | uint64
Name | string
NameFormat | uint16
NameNamespace | uint16
NoSinglePointOfFailure | boolean
NumberOfBlocks | uint64
OperatingStatus | uint16
OtherEnabledState | string
OtherNameFormat | string
OtherNameNamespace | string
OtherUsageDescription | string
PackageRedundancy | uint16
PowerManagementSupported | boolean
PowerOnHours | uint64
PrimaryStatus | uint16
Primordial | boolean
Purpose | string
RequestedState | uint16
SequentialAccess | boolean
Status | string
StatusInfo | uint16
SystemCreationClassName | string
SystemName | string
TimeOfLastStateChange | datetime
TotalPowerOnHours | uint64
TransitioningToState | uint16
Usage | uint16
AdditionalAvailability | uint16[]
AvailableRequestedStates | uint16[]
ClientSettableUsage | uint16[]
ExtentDiscriminator | string[]
ExtentStatus | uint16[]
IdentifyingDescriptions | string[]
OperationalStatus | uint16[]
OtherIdentifyingInfo | string[]
PowerManagementCapabilities | uint16[]
StatusDescriptions | string[]

## Class Methods

### Inherited Class Methods

Name | Return Type
--- | ---
EnableDevice | uint32
OnlineDevice | uint32
QuiesceDevice | uint32
RequestStateChange | uint32
Reset | uint32
RestoreProperties | uint32
SaveProperties | uint32
SetPowerState | uint32