// Copyright (c) 2005 DMTF. All rights reserved. [Version ( "2.10.0" ), UMLPackagePath ( "CIM::Device::StorageServices" ), Description ( "This subclass defines the replication capabilities of a " "StorageConfigurationService. Multiple instances of " "StorageReplicationCapabilities may be associated with a " "StorageConfigurationService using ElementCapabilities. A " "provider should create one instance for each supported " "SynchronizationType." )] class CIM_StorageReplicationCapabilities : CIM_Capabilities { [Description ( "SupportedSynchronizationType describes the type of " "Synchronization that is characterized by this instance " "of StorageReplicationCapabilities. Values are:\n" "Async: create a mirror that is nearly always " "synchronized. Sync: create a mirror that is always synchronized.\n" "UnSyncAssocFull: create a full size snapshot (Point In " "Time image).\n" "UnSyncAssocDelta: create a delta snapshot (Point In Time image).\n" "UnSyncUnAssoc: create a full size, independent replica." ), ValueMap { "2", "3", "4", "5", "6", "..", "32768..65535" }, Values { "Async", "Sync", "UnSyncAssoc-Full", "UnSyncAssoc-Delta", "UnSyncUnAssoc", "DMTF Reserved", "Vendor Specific" }] uint16 SupportedSynchronizationType; [Description ( "Enumeration indicating what operations will be executed " "as asynchronous jobs. If an operation is included in " "both this and SupportedSynchronousActions then the " "underlying implementation is indicating that it may or " "may not create a job." ), ValueMap { "2", "3", "4", "5", "6", "7", "8", ".." }, Values { "Local Replica Creation", "Remote Replica Creation", "Local Replica Modification", "Remote Replica Modification", "Local Replica Attachment", "Remote Replica Attachment", "Buffer Creation", "DMTF Reserved" }, ModelCorrespondence { "CIM_StorageReplicationCapabilities.SupportedSynchronousActions" }] uint16 SupportedAsynchronousActions[]; [Description ( "Enumeration indicating what operations will be executed " "without the creation of a job. If an operation is " "included in both this and SupportedAsynchronousActions " "then the underlying instrumentation is indicating that " "it may or may not create a job." ), ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", ".." }, Values { "Local Replica Creation", "Remote Replica Creation", "Local Replica Modification", "Remote Replica Modification", "Local Replica Attachment", "Remote Replica Attachment", "Buffer Creation", "NetworkPipe Creation", "DMTF Reserved" }, ModelCorrespondence { "CIM_StorageReplicationCapabilities.SupportedAsynchronousActions" }] uint16 SupportedSynchronousActions[]; [Description ( "InitialReplicationState specifies which initial " "ReplicationState is supported by a particular provider. " "Values are: \n" "Initialized: The replication relationship is known and " "unsynchronized, but time required to synchronize may be " "long. \n" "Prepared: The replication relationship is known and " "unsynchronized and the time required to synchronize will " "be short. \n" "Synchronized: The replicas are synchronized.Idle: an " "UnSyncAssoc replica is ready to manage." ), ValueMap { "2", "3", "4", "5", "..", "0x8000..0xFFFF" }, Values { "Initialized", "Prepared", "Synchronized", "Idle", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.AttachReplica", "CIM_StorageConfigurationService.AttachOrModifyReplica", "CIM_StorageConfigurationService.CreateReplica" }] uint16 InitialReplicationState; [Description ( "Enumeration indicating which specialized storage element " "types are supported by this instance of " "StorageReplicationCapabilities. Specialized types are " "indicated by the value of the IntendedUsage in " "StorageSetting." ), ValueMap { "2", "3", "4", "5", "6", "7", "8", "..", "0x8000..0xFFFF" }, Values { "Delta Pool", "Delta Pool Component", "Remote Mirror", "Local Mirror", "Full Snapshot", "Delta Snapshot", "Replication Buffer", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageSetting.IntendedUsage" }] uint16 SupportedSpecializedElements[]; [Description ( "Enumeration indicating which ModifySynchronization " "operations are supported by this instance of " "StorageReplicationCapabilities." ), ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "..", "0x8000..0xFFFF" }, Values { "Detach", "Fracture", "Resync", "Restore", "Prepare", "Unprepare", "Quiesce", "Unquiesce", "Reset To Sync", "Reset To Async", "Start Copy", "Stop Copy", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageConfigurationService.ModifySynchronization" }] uint16 SupportedModifyOperations[]; [Description ( "Indicates host access restrictions for replicas with " "thesecapabilities. Values: 2 = not accessible. \n" "3 = no restrictions. Any host may access. 4 = only " "accessible by associated source element hosts. 5 = not " "accessible by source element hosts. Other hosts OK." ), ValueMap { "2", "3", "4", "5", ".." }, Values { "Not Accessible", "No Restrictions", "Source Hosts Only", "Source Hosts Excluded", "DMTF Reserved" }] uint16 ReplicaHostAccessibility; [Description ( "Lists the replica synchronization states in which the " "provider allows host access to replicas. Accessibility " "does not guarantee replica contents are valid or " "consistent." ), ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "..", "0x8000.." }, Values { "Initialized", "Prepare In Progress", "Prepared", "Resync In Progress", "Synchronized", "Fracture In Progress", "Quiesce In Progress", "Quiesced", "Restore In Progress", "Idle", "Broken", "Fractured", "Frozen", "Copy In Progress", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageSynchronized.SyncState" }] uint16 HostAccessibleState[]; [Description ( "True indicates space limits on allocation from " "StoragePools may be enforced." ), ModelCorrespondence { "CIM_AllocatedFromStoragePool.SpaceLimit" }] boolean SpaceLimitSupported; [Description ( "True indicates space reserved for replicas can be from a " "specialized pool." )] boolean SpaceReservationSupported; [Description ( "True indicates local mirror can be snapshot source." )] boolean LocalMirrorSnapshotSupported; [Description ( "True indicates remote mirror can be snapshot source." )] boolean RemoteMirrorSnapshotSupported; [Description ( "True indicates all delta replicas associated with the " "same source element can be incrementally dependent. Only " "the oldest replica in the set may be deleted or " "resynced." )] boolean IncrementalDeltasSupported; [Description ( "True indicates replicas can persist during power off or " "system reset. False indicates replicas lost during these " "events." )] boolean PersistentReplicasSupported; [Description ( "True indicates peer-to-peer connections are " "bi-directional. False indicates connections are " "uni-directional." )] boolean BidirectionalConnectionsSupported; [Description ( "Maximum number of replicas that can be associated with " "one source element." )] uint16 MaximumReplicasPerSource; [Description ( "Maximum number of port pairs assigned to a peer-to-peer " "connection." )] uint16 MaximumPortsPerConnection; [Description ( "Maximum number of peer-to-peer connections to which a " "port maybe assigned." )] uint16 MaximumConnectionsPerPort; [Description ( "Maximum number of peer connections supported by this " "instance of StorageConfigurationService." )] uint16 MaximumPeerConnections; [Description ( "Maximum local mirror replication depth allowed by this " "instance of StorageConfigurationService. Value 1 " "indicates multi-level replication not supported." )] uint16 MaximumLocalReplicationDepth = 1; [Description ( "Maximum remote mirror replication depth allowed by this " "instance of StorageConfigurationService. Value N means " "that remote replicas can span N linked peer-to-peer " "connections. Value 1 indicates multi-level replication " "not supported." )] uint16 MaximumRemoteReplicationDepth = 1; [Description ( "Start or do not start background copy when replica is created." ), ValueMap { "0", "1", "2", "..", "0x8000.." }, Values { "Not Managed", "Start", "Do Not Start", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageSetting.InitialSynchronization" }] uint16 InitialSynchronizationDefault; [Description ( "ReplicationPriority allows the priority of background " "Replication I/O to be managed relative to host I/O. " "Default applies to initial or deferred background " "Replication operations. Value can be modified while in " "Replication-in-progress state. Values: Low: Replication " "engine I/O lower priority than host I/O. \n" "Same: Replication engine I/O has the same priority as " "host I/O. \n" "High: Replication engine I/O has higher priority than " "host I/O." ), ValueMap { "0", "1", "2", "3", "..", "0x8000.." }, Values { "Not Managed", "Low", "Same", "High", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageSetting.ReplicationPriority" }] uint16 ReplicationPriorityDefault; [Description ( "Warning threshold for generating an indication for " "RemainingManagedSpace. Value of zero means no warning " "generated.Triggered when RemainingManagedSpace <= " "(TotalManagedSpace*LowSpaceWarningThreshold)/100." ), Units ( "Percentage" ), MinValue ( 0 ), MaxValue ( 100 ), ModelCorrespondence { "CIM_StoragePool.LowSpaceWarningThreshold" }, PUnit ( "percent" )] uint8 LowSpaceWarningThresholdDefault; [Description ( "Warning threshold for instance modification indication " "for SpaceConsumed by a replica element. Value of zero " "means no warning generated. Triggered when SpaceConsumed " ">= (SpaceLimit*SpaceLimitWarningThreshold)/100." ), Units ( "Percentage" ), MinValue ( 0 ), MaxValue ( 100 ), ModelCorrespondence { "CIM_AllocatedFromStoragePool.SpaceLimitWarningThreshold" }, PUnit ( "percent" )] uint8 SpaceLimitWarningThresholdDefault; [Description ( "Remote replication provides StorageConfigurationService " "instances for source systems and target systems. A " "client determines that extrinsic methods of the service " "should be invoked to one instance or the other based on " "the value of this property. Values: Not Specified: " "invoke a method to either system instance. Source: " "invoke to source element service instance. Target: " "invoke to target element service instance. Proxy: find " "and invoke to proxy service instance." ), ValueMap { "2", "3", "4", "5", "..", "0x8000.." }, Values { "Not Specified", "Source", "Target", "Proxy", "DMTF Reserved", "Vendor Specific" }] uint16 RemoteReplicationServicePointAccess; [Description ( "Remote replication provides StorageConfigurationService " "instances for source systems and target systems. A " "client determines that extrinsic methods of the service " "should be invoked to one instance or the other based on " "the value of this property. If the primary instance is " "unavailable, the provider may indicate an alternate " "instance. Values: None: no alternate exists. Source: " "invoke to source element service instance. Target: " "invoke to target element service instance. Proxy: find " "and invoke alternate proxy service instance." ), ValueMap { "2", "3", "4", "5", "..", "0x8000.." }, Values { "None", "Source", "Target", "Proxy", "DMTF Reserved", "Vendor Specific" }] uint16 AlternateReplicationServicePointAccess; [Description ( "DeltaReplicaPool indicates that a specialized pool is " "required as a container for delta replica elements. " "Values: Any: delta replicas can be created in any pool. " "Exclusive: one specialized, exclusive pool must be " "created for each source element that has associated " "delta replicas. Shared: one specialized, shared pool " "must be created to be shared by all source elements with " "associated delta replicas." ), ValueMap { "2", "3", "4", "..", "0x8000.." }, Values { "Any", "Exclusive", "Shared", "DMTF Reserved", "Vendor Specific" }] uint16 DeltaReplicaPoolAccess; [Description ( "Remote replication buffer elements are instances of " "CIM_Memory. A buffer element may be created from a " "component extent with a BasedOn association or in a " "storage pool with an AllocatedFromStoragePool " "association. The provider can also make the size and " "element type opaque to a client. Values: \n" "Not specified: client allows provider to determine size " "and container element type. \n" "InExtent: buffer must be created from passed component " "extent. \n" "InPool: buffer must be created in passed pool." ), ValueMap { "0", "2", "3", "..", "0x8000.." }, Values { "Not specified", "InExtent", "InPool", "DMTF Reserved", "Vendor Specific" }] uint16 RemoteBufferElementType; [Description ( "Array provider may require multiple buffer elements per " "array instance as indicated by this property. Values: \n" "Array: one buffer element for the entire array. \n" "ComponentCS: one buffer element per ComputerSystem " "element in a clustered array. \n" "Pipe: one or two buffer elements per replication pipe." ), ValueMap { "2", "3", "4", "..", "0x8000.." }, Values { "Array", "ComponentCS", "Pipe", "DMTF Reserved", "Vendor Specific" }] uint16 RemoteBufferHost; [Description ( "This property allows the provider to indicate the " "required location for remote buffer elements. Values: \n" "Source: buffer needed only on platforms hosting source " "elements. \n" "Target: buffer needed only on platforms hosting target " "elements. \n" "Both: buffers needed for both source and target " "platforms." ), ValueMap { "2", "3", "4", "..", "0x8000.." }, Values { "Source", "Target", "Both", "DMTF Reserved", "Vendor Specific" }] uint16 RemoteBufferLocation; [Description ( "Peer may require a write buffer for remote replica " "elements with async I/O buffering. Typically used to " "increase remote mirror replication engine performance " "while maintaining high availability. Values: \n" "Required: must have buffer if any Async remote replicas " "are created. \n" "Optional: may have buffer if any Async remote replicas " "are created." ), ValueMap { "0", "2", "3", "..", "0x8000.." }, Values { "Not Supported", "Required", "Optional", "DMTF Reserved", "Vendor Specific" }] uint16 RemoteBufferSupported; [Description ( "Indicate if an async remote replica pair is allowed to " "use a write buffer for asynchronous write buffering. - " "Not Managed: use or not of the buffer is up to the " "implementation. - Use Buffer: use of a buffer is " "required. - Do Not Use Buffer: a buffer shall not be " "used." ), ValueMap { "0", "1", "2", "..", "0x8000.." }, Values { "Not Managed", "Use Buffer", "Do Not Use Buffer", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_StorageSetting.UseReplicationBuffer" }] uint16 UseReplicationBufferDefault; [Description ( "Peer connection protocol is a private, vendor-specific " "protocol for replication data transport. A client " "verifies that two peers support the same protocol before " "establishing a peer-to-peer connection." )] string PeerConnectionProtocol; };