1 karl 1.1.2.2 // Copyright (c) 2005 DMTF. All rights reserved.
2 [Version ( "2.10.0" ),
3 UMLPackagePath ( "CIM::Device::StorageServices" ),
4 Description (
5 "This subclass defines the replication capabilities of a "
6 "StorageConfigurationService. Multiple instances of "
7 "StorageReplicationCapabilities may be associated with a "
8 "StorageConfigurationService using ElementCapabilities. A "
9 "provider should create one instance for each supported "
10 "SynchronizationType." )]
11 class CIM_StorageReplicationCapabilities : CIM_Capabilities {
12
13 [Description (
14 "SupportedSynchronizationType describes the type of "
15 "Synchronization that is characterized by this instance "
16 "of StorageReplicationCapabilities. Values are:\n"
17 "Async: create a mirror that is nearly always "
18 "synchronized. Sync: create a mirror that is always synchronized.\n"
19 "UnSyncAssocFull: create a full size snapshot (Point In "
20 "Time image).\n"
21 "UnSyncAssocDelta: create a delta snapshot (Point In Time image).\n"
22 karl 1.1.2.2 "UnSyncUnAssoc: create a full size, independent replica." ),
23 ValueMap { "2", "3", "4", "5", "6", "..", "32768..65535" },
24 Values { "Async", "Sync", "UnSyncAssoc-Full",
25 "UnSyncAssoc-Delta", "UnSyncUnAssoc", "DMTF Reserved",
26 "Vendor Specific" }]
27 uint16 SupportedSynchronizationType;
28
29 [Description (
30 "Enumeration indicating what operations will be executed "
31 "as asynchronous jobs. If an operation is included in "
32 "both this and SupportedSynchronousActions then the "
33 "underlying implementation is indicating that it may or "
34 "may not create a job." ),
35 ValueMap { "2", "3", "4", "5", "6", "7", "8", ".." },
36 Values { "Local Replica Creation", "Remote Replica Creation",
37 "Local Replica Modification",
38 "Remote Replica Modification", "Local Replica Attachment",
39 "Remote Replica Attachment", "Buffer Creation",
40 "DMTF Reserved" },
41 ModelCorrespondence {
42 "CIM_StorageReplicationCapabilities.SupportedSynchronousActions" }]
43 karl 1.1.2.2 uint16 SupportedAsynchronousActions[];
44
45 [Description (
46 "Enumeration indicating what operations will be executed "
47 "without the creation of a job. If an operation is "
48 "included in both this and SupportedAsynchronousActions "
49 "then the underlying instrumentation is indicating that "
50 "it may or may not create a job." ),
51 ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", ".." },
52 Values { "Local Replica Creation", "Remote Replica Creation",
53 "Local Replica Modification",
54 "Remote Replica Modification", "Local Replica Attachment",
55 "Remote Replica Attachment", "Buffer Creation",
56 "NetworkPipe Creation", "DMTF Reserved" },
57 ModelCorrespondence {
58 "CIM_StorageReplicationCapabilities.SupportedAsynchronousActions" }]
59 uint16 SupportedSynchronousActions[];
60
61 [Description (
62 "InitialReplicationState specifies which initial "
63 "ReplicationState is supported by a particular provider. "
64 karl 1.1.2.2 "Values are: \n"
65 "Initialized: The replication relationship is known and "
66 "unsynchronized, but time required to synchronize may be "
67 "long. \n"
68 "Prepared: The replication relationship is known and "
69 "unsynchronized and the time required to synchronize will "
70 "be short. \n"
71 "Synchronized: The replicas are synchronized.Idle: an "
72 "UnSyncAssoc replica is ready to manage." ),
73 ValueMap { "2", "3", "4", "5", "..", "0x8000..0xFFFF" },
74 Values { "Initialized", "Prepared", "Synchronized", "Idle",
75 "DMTF Reserved", "Vendor Specific" },
76 ModelCorrespondence {
77 "CIM_StorageConfigurationService.AttachReplica",
78 "CIM_StorageConfigurationService.AttachOrModifyReplica",
79 "CIM_StorageConfigurationService.CreateReplica" }]
80 uint16 InitialReplicationState;
81
82 [Description (
83 "Enumeration indicating which specialized storage element "
84 "types are supported by this instance of "
85 karl 1.1.2.2 "StorageReplicationCapabilities. Specialized types are "
86 "indicated by the value of the IntendedUsage in "
87 "StorageSetting." ),
88 ValueMap { "2", "3", "4", "5", "6", "7", "8", "..",
89 "0x8000..0xFFFF" },
90 Values { "Delta Pool", "Delta Pool Component",
91 "Remote Mirror", "Local Mirror", "Full Snapshot",
92 "Delta Snapshot", "Replication Buffer", "DMTF Reserved",
93 "Vendor Specific" },
94 ModelCorrespondence { "CIM_StorageSetting.IntendedUsage" }]
95 uint16 SupportedSpecializedElements[];
96
97 [Description (
98 "Enumeration indicating which ModifySynchronization "
99 "operations are supported by this instance of "
100 "StorageReplicationCapabilities." ),
101 ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10",
102 "11", "12", "13", "..", "0x8000..0xFFFF" },
103 Values { "Detach", "Fracture", "Resync", "Restore",
104 "Prepare", "Unprepare", "Quiesce", "Unquiesce",
105 "Reset To Sync", "Reset To Async", "Start Copy",
106 karl 1.1.2.2 "Stop Copy", "DMTF Reserved", "Vendor Specific" },
107 ModelCorrespondence {
108 "CIM_StorageConfigurationService.ModifySynchronization" }]
109 uint16 SupportedModifyOperations[];
110
111 [Description (
112 "Indicates host access restrictions for replicas with "
113 "thesecapabilities. Values: 2 = not accessible. \n"
114 "3 = no restrictions. Any host may access. 4 = only "
115 "accessible by associated source element hosts. 5 = not "
116 "accessible by source element hosts. Other hosts OK." ),
117 ValueMap { "2", "3", "4", "5", ".." },
118 Values { "Not Accessible", "No Restrictions",
119 "Source Hosts Only", "Source Hosts Excluded",
120 "DMTF Reserved" }]
121 uint16 ReplicaHostAccessibility;
122
123 [Description (
124 "Lists the replica synchronization states in which the "
125 "provider allows host access to replicas. Accessibility "
126 "does not guarantee replica contents are valid or "
127 karl 1.1.2.2 "consistent." ),
128 ValueMap { "2", "3", "4", "5", "6", "7", "8", "9", "10",
129 "11", "12", "13", "14", "15", "..", "0x8000.." },
130 Values { "Initialized", "Prepare In Progress", "Prepared",
131 "Resync In Progress", "Synchronized",
132 "Fracture In Progress", "Quiesce In Progress", "Quiesced",
133 "Restore In Progress", "Idle", "Broken", "Fractured",
134 "Frozen", "Copy In Progress", "DMTF Reserved",
135 "Vendor Specific" },
136 ModelCorrespondence { "CIM_StorageSynchronized.SyncState" }]
137 uint16 HostAccessibleState[];
138
139 [Description (
140 "True indicates space limits on allocation from "
141 "StoragePools may be enforced." ),
142 ModelCorrespondence {
143 "CIM_AllocatedFromStoragePool.SpaceLimit" }]
144 boolean SpaceLimitSupported;
145
146 [Description (
147 "True indicates space reserved for replicas can be from a "
148 karl 1.1.2.2 "specialized pool." )]
149 boolean SpaceReservationSupported;
150
151 [Description (
152 "True indicates local mirror can be snapshot source." )]
153 boolean LocalMirrorSnapshotSupported;
154
155 [Description (
156 "True indicates remote mirror can be snapshot source." )]
157 boolean RemoteMirrorSnapshotSupported;
158
159 [Description (
160 "True indicates all delta replicas associated with the "
161 "same source element can be incrementally dependent. Only "
162 "the oldest replica in the set may be deleted or "
163 "resynced." )]
164 boolean IncrementalDeltasSupported;
165
166 [Description (
167 "True indicates replicas can persist during power off or "
168 "system reset. False indicates replicas lost during these "
169 karl 1.1.2.2 "events." )]
170 boolean PersistentReplicasSupported;
171
172 [Description (
173 "True indicates peer-to-peer connections are "
174 "bi-directional. False indicates connections are "
175 "uni-directional." )]
176 boolean BidirectionalConnectionsSupported;
177
178 [Description (
179 "Maximum number of replicas that can be associated with "
180 "one source element." )]
181 uint16 MaximumReplicasPerSource;
182
183 [Description (
184 "Maximum number of port pairs assigned to a peer-to-peer "
185 "connection." )]
186 uint16 MaximumPortsPerConnection;
187
188 [Description (
189 "Maximum number of peer-to-peer connections to which a "
190 karl 1.1.2.2 "port maybe assigned." )]
191 uint16 MaximumConnectionsPerPort;
192
193 [Description (
194 "Maximum number of peer connections supported by this "
195 "instance of StorageConfigurationService." )]
196 uint16 MaximumPeerConnections;
197
198 [Description (
199 "Maximum local mirror replication depth allowed by this "
200 "instance of StorageConfigurationService. Value 1 "
201 "indicates multi-level replication not supported." )]
202 uint16 MaximumLocalReplicationDepth = 1;
203
204 [Description (
205 "Maximum remote mirror replication depth allowed by this "
206 "instance of StorageConfigurationService. Value N means "
207 "that remote replicas can span N linked peer-to-peer "
208 "connections. Value 1 indicates multi-level replication "
209 "not supported." )]
210 uint16 MaximumRemoteReplicationDepth = 1;
211 karl 1.1.2.2
212 [Description (
213 "Start or do not start background copy when replica is created."
214 ),
215 ValueMap { "0", "1", "2", "..", "0x8000.." },
216 Values { "Not Managed", "Start", "Do Not Start",
217 "DMTF Reserved", "Vendor Specific" },
218 ModelCorrespondence {
219 "CIM_StorageSetting.InitialSynchronization" }]
220 uint16 InitialSynchronizationDefault;
221
222 [Description (
223 "ReplicationPriority allows the priority of background "
224 "Replication I/O to be managed relative to host I/O. "
225 "Default applies to initial or deferred background "
226 "Replication operations. Value can be modified while in "
227 "Replication-in-progress state. Values: Low: Replication "
228 "engine I/O lower priority than host I/O. \n"
229 "Same: Replication engine I/O has the same priority as "
230 "host I/O. \n"
231 "High: Replication engine I/O has higher priority than "
232 karl 1.1.2.2 "host I/O." ),
233 ValueMap { "0", "1", "2", "3", "..", "0x8000.." },
234 Values { "Not Managed", "Low", "Same", "High",
235 "DMTF Reserved", "Vendor Specific" },
236 ModelCorrespondence { "CIM_StorageSetting.ReplicationPriority" }]
237 uint16 ReplicationPriorityDefault;
238
239 [Description (
240 "Warning threshold for generating an indication for "
241 "RemainingManagedSpace. Value of zero means no warning "
242 "generated.Triggered when RemainingManagedSpace <= "
243 "(TotalManagedSpace*LowSpaceWarningThreshold)/100." ),
244 Units ( "Percentage" ),
245 MinValue ( 0 ),
246 MaxValue ( 100 ),
247 ModelCorrespondence {
248 "CIM_StoragePool.LowSpaceWarningThreshold" },
249 PUnit ( "percent" )]
250 uint8 LowSpaceWarningThresholdDefault;
251
252 [Description (
253 karl 1.1.2.2 "Warning threshold for instance modification indication "
254 "for SpaceConsumed by a replica element. Value of zero "
255 "means no warning generated. Triggered when SpaceConsumed "
256 ">= (SpaceLimit*SpaceLimitWarningThreshold)/100." ),
257 Units ( "Percentage" ),
258 MinValue ( 0 ),
259 MaxValue ( 100 ),
260 ModelCorrespondence {
261 "CIM_AllocatedFromStoragePool.SpaceLimitWarningThreshold" },
262 PUnit ( "percent" )]
263 uint8 SpaceLimitWarningThresholdDefault;
264
265 [Description (
266 "Remote replication provides StorageConfigurationService "
267 "instances for source systems and target systems. A "
268 "client determines that extrinsic methods of the service "
269 "should be invoked to one instance or the other based on "
270 "the value of this property. Values: Not Specified: "
271 "invoke a method to either system instance. Source: "
272 "invoke to source element service instance. Target: "
273 "invoke to target element service instance. Proxy: find "
274 karl 1.1.2.2 "and invoke to proxy service instance." ),
275 ValueMap { "2", "3", "4", "5", "..", "0x8000.." },
276 Values { "Not Specified", "Source", "Target", "Proxy",
277 "DMTF Reserved", "Vendor Specific" }]
278 uint16 RemoteReplicationServicePointAccess;
279
280 [Description (
281 "Remote replication provides StorageConfigurationService "
282 "instances for source systems and target systems. A "
283 "client determines that extrinsic methods of the service "
284 "should be invoked to one instance or the other based on "
285 "the value of this property. If the primary instance is "
286 "unavailable, the provider may indicate an alternate "
287 "instance. Values: None: no alternate exists. Source: "
288 "invoke to source element service instance. Target: "
289 "invoke to target element service instance. Proxy: find "
290 "and invoke alternate proxy service instance." ),
291 ValueMap { "2", "3", "4", "5", "..", "0x8000.." },
292 Values { "None", "Source", "Target", "Proxy",
293 "DMTF Reserved", "Vendor Specific" }]
294 uint16 AlternateReplicationServicePointAccess;
295 karl 1.1.2.2
296 [Description (
297 "DeltaReplicaPool indicates that a specialized pool is "
298 "required as a container for delta replica elements. "
299 "Values: Any: delta replicas can be created in any pool. "
300 "Exclusive: one specialized, exclusive pool must be "
301 "created for each source element that has associated "
302 "delta replicas. Shared: one specialized, shared pool "
303 "must be created to be shared by all source elements with "
304 "associated delta replicas." ),
305 ValueMap { "2", "3", "4", "..", "0x8000.." },
306 Values { "Any", "Exclusive", "Shared", "DMTF Reserved",
307 "Vendor Specific" }]
308 uint16 DeltaReplicaPoolAccess;
309
310 [Description (
311 "Remote replication buffer elements are instances of "
312 "CIM_Memory. A buffer element may be created from a "
313 "component extent with a BasedOn association or in a "
314 "storage pool with an AllocatedFromStoragePool "
315 "association. The provider can also make the size and "
316 karl 1.1.2.2 "element type opaque to a client. Values: \n"
317 "Not specified: client allows provider to determine size "
318 "and container element type. \n"
319 "InExtent: buffer must be created from passed component "
320 "extent. \n"
321 "InPool: buffer must be created in passed pool." ),
322 ValueMap { "0", "2", "3", "..", "0x8000.." },
323 Values { "Not specified", "InExtent", "InPool",
324 "DMTF Reserved", "Vendor Specific" }]
325 uint16 RemoteBufferElementType;
326
327 [Description (
328 "Array provider may require multiple buffer elements per "
329 "array instance as indicated by this property. Values: \n"
330 "Array: one buffer element for the entire array. \n"
331 "ComponentCS: one buffer element per ComputerSystem "
332 "element in a clustered array. \n"
333 "Pipe: one or two buffer elements per replication pipe." ),
334 ValueMap { "2", "3", "4", "..", "0x8000.." },
335 Values { "Array", "ComponentCS", "Pipe", "DMTF Reserved",
336 "Vendor Specific" }]
337 karl 1.1.2.2 uint16 RemoteBufferHost;
338
339 [Description (
340 "This property allows the provider to indicate the "
341 "required location for remote buffer elements. Values: \n"
342 "Source: buffer needed only on platforms hosting source "
343 "elements. \n"
344 "Target: buffer needed only on platforms hosting target "
345 "elements. \n"
346 "Both: buffers needed for both source and target "
347 "platforms." ),
348 ValueMap { "2", "3", "4", "..", "0x8000.." },
349 Values { "Source", "Target", "Both", "DMTF Reserved",
350 "Vendor Specific" }]
351 uint16 RemoteBufferLocation;
352
353 [Description (
354 "Peer may require a write buffer for remote replica "
355 "elements with async I/O buffering. Typically used to "
356 "increase remote mirror replication engine performance "
357 "while maintaining high availability. Values: \n"
358 karl 1.1.2.2 "Required: must have buffer if any Async remote replicas "
359 "are created. \n"
360 "Optional: may have buffer if any Async remote replicas "
361 "are created." ),
362 ValueMap { "0", "2", "3", "..", "0x8000.." },
363 Values { "Not Supported", "Required", "Optional",
364 "DMTF Reserved", "Vendor Specific" }]
365 uint16 RemoteBufferSupported;
366
367 [Description (
368 "Indicate if an async remote replica pair is allowed to "
369 "use a write buffer for asynchronous write buffering. - "
370 "Not Managed: use or not of the buffer is up to the "
371 "implementation. - Use Buffer: use of a buffer is "
372 "required. - Do Not Use Buffer: a buffer shall not be "
373 "used." ),
374 ValueMap { "0", "1", "2", "..", "0x8000.." },
375 Values { "Not Managed", "Use Buffer", "Do Not Use Buffer",
376 "DMTF Reserved", "Vendor Specific" },
377 ModelCorrespondence {
378 "CIM_StorageSetting.UseReplicationBuffer" }]
379 karl 1.1.2.2 uint16 UseReplicationBufferDefault;
380
381 [Description (
382 "Peer connection protocol is a private, vendor-specific "
383 "protocol for replication data transport. A client "
384 "verifies that two peers support the same protocol before "
385 "establishing a peer-to-peer connection." )]
386 string PeerConnectionProtocol;
387
388
389 };
|