1 tony 1.1 // ===================================================================
2 // Title: Device SCC Storage Extent Model 2.8
3 // Filename: Device28_SCCExtents.mof
4 // Version: 2.8
5 // Release: Preliminary
6 // Date: 05/29/2003
7 // ===================================================================
8 // Copyright 1999-2003 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 tony 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 tony 1.1 // ===================================================================
44 // Description: The Device Model extends the management concepts that
45 // are related to LogicalDevices. This file describes
46 // the modeling of SCC (SCSI Controller Commands) using
47 // StorageExtents.
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // Change Log for v2.8 - none
54 //
55 // Change Log for v2.7
56 // CR722 - Deprecate PSExtentBaseOnPExtent, VolumeSetBasedOnPSExtent,
57 // LogicalDiskBasedOnVolumeSet, AggregatePSExtent,
58 // AggregatePSExtentBasedOnPExtent,
59 // AggregatePSExtentBasedOnAggregatePExtent,
60 // PExtentRedundancyComponent, AggregateRedundancyComponent,
61 // PhysicalExtent, ProtectedSpaceExtent, VolumeSet,
62 // AggregatePExtent, and AggregatePSExtent
63 // CR846 - Deprecate RealizesPExtent and RealizesAggregatePExtent
64 tony 1.1 // CR861 - Add Deprecated qualifier to the individual properties of
65 // the Deprecated SCC classes
66 // CR882 - Deprecate Snapshot and SnapshotOfExtent. Therefore moved
67 // definitions from StorageExtents.mof to here.
68 // ==================================================================
69
70 #pragma locale ("en_US")
71
72
73 // ===================================================================
74 // PhysicalExtent
75 // ===================================================================
76 [Deprecated {"CIMProtectedExtentBasedOn",
77 "CIM_CompositeExtentBasedOn"}, Version ("2.7.0"), Description (
78 "Deprecated - use CIM_ProtectedExtentBasedOn or "
79 "CIM_CompositeExtentBasedOn instead. The information on check "
80 "and user data is better expressed in the association that "
81 "layers the storage, than in the extent itself. A "
82 "PhysicalExtent is used to model an SCC RAID implementation. "
83 "It defines the consecutive addressable block addresses on a "
84 "single storage device, that are treated as a single "
85 tony 1.1 "StorageExtent and that are in the same "
86 "StorageRedundancyGroup. An alternate possibility, if "
87 "automatic configuration is used, is to instantiate or extend "
88 "the AggregatePExtent class.") ]
89 class CIM_PhysicalExtent : CIM_StorageExtent {
90
91 [Deprecated {"CIM_CompositeExtentBasedOn.BlockSize",
92 "CIM_ProtectedExtentBasedOn.BlockSize"},
93 Override ("BlockSize"),
94 MappingStrings {"MIF.DMTF|Physical Extent|001.4"} ]
95 uint64 BlockSize;
96
97 [Deprecated {"CIM_CompositeExtentBasedOn.NumberOfBlocks",
98 "CIM_ProtectedExtentBasedOn.NumberOfBlocks"},
99 Override ("NumberOfBlocks"),
100 MappingStrings {"MIF.DMTF|Physical Extent|001.3"} ]
101 uint64 NumberOfBlocks;
102
103 [Deprecated {
104 "CIM_CompositeExtentBasedOn.UnitsBeforeCheckDataInterleave",
105 "CIM_ProtectedExtentBasedOn.UnitsBeforeCheckDataInterleave"},
106 tony 1.1 Description (
107 "Number of bytes of user data to skip before starting the "
108 "check data interleave."),
109 Units ("Bytes"),
110 MappingStrings {"MIF.DMTF|Physical Extent|001.6"} ]
111 uint64 UnitsBeforeCheckDataInterleave;
112
113 [Deprecated {"CIM_CompositeExtentBasedOn.UnitsOfCheckData",
114 "CIM_ProtectedExtentBasedOn.UnitsOfCheckData"}, Description (
115 "Number of bytes to be reserved for check data."),
116 Units ("Bytes"),
117 MappingStrings {"MIF.DMTF|Physical Extent|001.7"} ]
118 uint64 UnitsOfCheckData;
119
120 [Deprecated {"CIM_CompositeExtentBasedOn.UnitsOfUserData",
121 "CIM_ProtectedExtentBasedOn.UnitsOfUserData"}, Description (
122 "Number of bytes to be reserved for user data."),
123 Units ("Bytes"),
124 MappingStrings {"MIF.DMTF|Physical Extent|001.8"} ]
125 uint64 UnitsOfUserData;
126 };
127 tony 1.1
128
129 // ===================================================================
130 // ProtectedSpaceExtent
131 // ===================================================================
132 [Deprecated
133 {"CIM_ProtectedExtentBasedOn","CIM_CompositeExtentBasedOn"},
134 Version ("2.7.0"), Description (
135 "Deprecated - use CIM_ProtectedExtentBasedOn or "
136 "CIM_CompositeExtentBasedOn instead. The information on check "
137 "and user data is better expressed in the association that "
138 "layers the storage, than in the extent itself. A "
139 "ProtectedSpaceExtent is used to model an SCC RAID "
140 "implementation. ProtectedSpaceExtent defines addressable "
141 "logical block addresses, treated as a single Extent, located "
142 "on one or more PhysicalExtents. ProtectedSpaceExtents exclude "
143 "any logical blocks mapped as check data and contain user data "
144 "stripe depth mapping information. An alternate possibility, "
145 "if automatic configuration is used, is to instantiate or "
146 "extend the AggregatePSExtent class.") ]
147 class CIM_ProtectedSpaceExtent : CIM_StorageExtent {
148 tony 1.1
149 [Deprecated {"CIM_CompositeExtentBasedOn.BlockSize",
150 "CIM_ProtectedExtentBasedOn.BlockSize"},
151 Override ("BlockSize"),
152 MappingStrings {"MIF.DMTF|Protected Space Extent|001.4"} ]
153 uint64 BlockSize;
154
155 [Deprecated {"CIM_CompositeExtentBasedOn.NumberOfBlocks",
156 "CIM_ProtectedExtentBasedOn.NumberOfBlocks"},
157 Override ("NumberOfBlocks"), Description (
158 "The number of user data blocks contained in this Extent."),
159 MappingStrings {"MIF.DMTF|Protected Space Extent|001.3"} ]
160 uint64 NumberOfBlocks;
161
162 [Deprecated {"CIM_CompositeExtentBasedOn.UserDataStripeDepth"},
163 Description (
164 "For a ProtectedSpaceExtent that is allocated to a Volume "
165 "Set (i.e. is named in a CIM_VolumeSetBasedOnPSExtent "
166 "association), this property is the number of user data "
167 "bytes placed on this ProtectedSpaceExtent before moving on "
168 "to the next ProtectedSpaceExtent in the VolumeSet. "
169 tony 1.1 "Otherwise, this ProtectedSpaceExtent is considered to be "
170 "unallocated, and this property shall be set to zero (0h.)"),
171 Units ("Bytes"),
172 MappingStrings {"MIF.DMTF|Protected Space Extent|001.6"} ]
173 uint64 UserDataStripeDepth;
174 };
175
176
177 // ===================================================================
178 // PSExtentBasedOnPExtent
179 // ===================================================================
180 [Association, Deprecated { "CIM_ProtectedExtentBasedOn",
181 "CIM_CompositeExtentBasedOn"}, Version ("2.7.0"), Description (
182 "Covered by ProtectedExtentBasedOn or CompositeExtentBasedOn, "
183 "since PhysicalExtent itself is deprecated in lieu of these "
184 "associations. ProtectedSpaceExtents are BasedOn a "
185 "PhysicalExtent. This relationship is made explicit by this "
186 "association.") ]
187 class CIM_PSExtentBasedOnPExtent : CIM_BasedOn {
188
189 [Deprecated {"CIM_CompositeExtentBasedOn.Antecedent",
190 tony 1.1 "CIM_ProtectedExtentBasedOn.Antecedent"},
191 Override ("Antecedent"), Description (
192 "The PhysicalExtent.") ]
193 CIM_PhysicalExtent REF Antecedent;
194
195 [Deprecated {"CIM_CompositeExtentBasedOn.Dependent",
196 "CIM_ProtectedExtentBasedOn.Dependent"},
197 Override ("Dependent"), Description (
198 "The ProtectedSpaceExtent which is built on the Physical "
199 "Extent.") ]
200 CIM_ProtectedSpaceExtent REF Dependent;
201
202 [Deprecated {"CIM_CompositeExtentBasedOn.StartingAddress",
203 "CIM_ProtectedExtentBasedOn.StartingAddress"},
204 Override ("StartingAddress"), Description (
205 "The starting logical block address of the PhysicalExtent "
206 "from which this ProtectedSpaceExtent is derived."),
207 MappingStrings {"MIF.DMTF|Protected Space Extent|001.2"} ]
208 uint64 StartingAddress;
209 };
210
211 tony 1.1
212 // ===================================================================
213 // VolumeSet
214 // ===================================================================
215 [Deprecated {"CIM_CompositeExtent"}, Version ("2.7.0"),
216 Description (
217 "VolumeSet is deprecated in lieu of CompositeExtent, which "
218 "removes the restriction that the Set must be exported. A "
219 "VolumeSet can be used to model an SCC RAID implementation. "
220 "VolumeSets represent a contiguous range of logical blocks "
221 "presented to the operating environment. VolumeSets may "
222 "overlap. However, the underlying PhysicalExtents within the "
223 "overlap shall not contain any check data. They are BasedOn "
224 "one or more ProtectedSpaceExtents. These BasedOn associations "
225 "should be instantiated or subclassed as needed.") ]
226 class CIM_VolumeSet : CIM_StorageVolume {
227
228 [Deprecated {"CIM_CompositeExtent.NumberOfBlocks"},
229 Override ("NumberOfBlocks"),
230 MappingStrings {"MIF.DMTF|Volume Set|001.3"} ]
231 uint64 NumberOfBlocks;
232 tony 1.1
233 [Deprecated {"CIM_CompositeExtent.ExtentStripeLength"},
234 Description (
235 "Number of contiguous ProtectedSpaceExtents counted before "
236 "looping back to the first ProtectedSpaceExtent of the "
237 "current stripe. It is the number of Extents forming the "
238 "user data stripe."),
239 MappingStrings {"MIF.DMTF|Volume Set|001.4"} ]
240 uint64 PSExtentStripeLength;
241
242 [Deprecated {"CIM_CompositeExtent.ExtentInterleaveDepth"},
243 Description (
244 "Number of ProtectedSpaceExtents to stripe as a collective "
245 "set. In SCC, this value is defined as the number of "
246 "stripes to count before continuing to map into the next "
247 "contiguous set of Extents, beyond the current stripe."),
248 MappingStrings {"MIF.DMTF|Volume Set|001.5"} ]
249 uint64 PSExtentInterleaveDepth;
250
251 [Deprecated {"No value"}, Description (
252 "VolumeSets in SCC have additional status information beyond "
253 tony 1.1 "that captured in the Availability and other properties, "
254 "inherited from ManagedSystemElement. This additional "
255 "information (for example, \"Protection Disabled\", value=9) "
256 "is captured in the VolumeStatus property."),
257 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
258 "10", "11", "12", "13", "14"},
259 Values {"Other", "Unknown", "None/Not Applicable", "Broken",
260 "Data Lost", "Dynamic Reconfig", "Exposed",
261 "Fractionally Exposed", "Partially Exposed",
262 "Protection Disabled",
263 // 10
264 "Readying", "Rebuild", "Recalculate", "Spare in Use",
265 "Verify In Progress"} ]
266 uint16 VolumeStatus;
267 };
268
269
270 // ===================================================================
271 // VolumeSetBasedOnPSExtent
272 // ===================================================================
273 [Association, Deprecated {"CIM_CompositeExtentBasedOn"},
274 tony 1.1 Version ("2.7.0"), Description (
275 "This association is deprecated in lieu of "
276 "CompositeExtentBasedOn, since VolumeSets and "
277 "ProtectedSpaceExtents are themselves deprecated. The "
278 "relationship describes that VolumeSets are BasedOn on one or "
279 "more ProtectedSpaceExtents.") ]
280 class CIM_VolumeSetBasedOnPSExtent : CIM_BasedOn {
281
282 [Deprecated {"CIM_CompositeExtentBasedOn.Antecedent"},
283 Override ("Antecedent"), Min (1), Description (
284 "The ProtectedSpaceExtent.") ]
285 CIM_ProtectedSpaceExtent REF Antecedent;
286
287 [Deprecated {"CIM_CompositeExtentBasedOn.Dependent"},
288 Override ("Dependent"), Description (
289 "The VolumeSet which is built on the ProtectedSpace Extent.") ]
290 CIM_VolumeSet REF Dependent;
291
292 [Deprecated
293 {"CIM_CompositeExtentBasedOn.LBAsMappedByDecrementing"},
294 Description (
295 tony 1.1 "True if logical blocks in the ProtectedSpaceExtent are "
296 "mapped in decrementing order. This property corresponds to "
297 "the INCDEC value in the SCC-2 Volume Set PS_Extent "
298 "Descriptor.") ]
299 boolean LBAsMappedByDecrementing;
300
301 [Deprecated {
302 "CIM_CompositeExtentBasedOn.LBAMappingIncludesCheckData"},
303 Description (
304 "True if the logical block mapping algorithm includes check "
305 "data bytes. This property corresponds to the NOCHKSKIP "
306 "attribute in the SCC-2 Volume Set PS_Extent Descriptor.") ]
307 boolean LBAMappingIncludesCheckData;
308 };
309
310
311 // ===================================================================
312 // LogicalDiskBasedOnVolumeSet
313 // ===================================================================
314 [Association, Deprecated {"CIM_BasedOn"}, Version ("2.7.0"),
315 Description (
316 tony 1.1 "This association describes that LogicalDisks can be BasedOn a "
317 "VolumeSet. However, there is no need for the specificity of "
318 "this association. It is deprecated in lieu of the generic "
319 "BasedOn relationship.") ]
320 class CIM_LogicalDiskBasedOnVolumeSet : CIM_LogicalDiskBasedOnVolume {
321
322 [Deprecated {"CIM_BasedOn.Antecedent"}, Override ("Antecedent"),
323 Max (1), Description (
324 "The VolumeSet.") ]
325 CIM_VolumeSet REF Antecedent;
326 };
327
328
329 // ===================================================================
330 // AggregatePExtent
331 // ===================================================================
332 [Deprecated {"CIM_StorageExtent", "CIM_CompositeExtentBasedOn"},
333 Version ("2.7.0"), Description (
334 "This class is deprecated in lieu of the generic StorageExtent "
335 "object and the ProtectedExtentBasedOn association. An "
336 "AggregatePExtent is used to model an SCC RAID implementation. "
337 tony 1.1 "AggregatePExtents provide summary information about the "
338 "addressable logical blocks which are in the same "
339 "StorageRedundancyGroup and reside on the same storage device. "
340 "This is an alternative grouping for PhysicalExtents, when only "
341 "summary information is needed or when automatic configuration "
342 "is used.") ]
343 class CIM_AggregatePExtent : CIM_StorageExtent {
344
345 [Deprecated {"CIM_CompositeExtentBasedOn.NumberOfBlocks",
346 "CIM_StorageExtent.NumberOfBlocks"},
347 Override ("NumberOfBlocks"), Description (
348 "Total number of blocks (including the check data blocks) "
349 "contained in this AggregatePExtent. The block size (an "
350 "inherited property) should be set to the same value as for "
351 "the MediaAccessDevice associated with this Extent."),
352 MappingStrings {"MIF.DMTF|Aggregate Physical Extent|001.2"} ]
353 uint64 NumberOfBlocks;
354
355 [Deprecated {"CIM_CompositeExtentBasedOn.UnitsOfCheckData"},
356 Description (
357 "The number of blocks contained in this AggregatePExtent to "
358 tony 1.1 "be used as check data. If this AggregatePExtent is "
359 "available, then this value shall be zero."),
360 MappingStrings {"MIF.DMTF|Aggregate Physical Extent|001.3"} ]
361 uint64 BlocksOfCheckData;
362 };
363
364
365 // ===================================================================
366 // AggregatePSExtent
367 // ===================================================================
368 [Deprecated {"CIM_StorageExtent", "CIM_CompositeExtentBasedOn"},
369 Version ("2.7.0"), Description (
370 "Similar to AggregatePExtent, this class is deprecated in lieu "
371 "of the generic StorageExtent object and the "
372 "ProtectedExtentBasedOn association. An AggregatePSExtent is "
373 "used to model an SCC RAID implementation. AggregatePSExtents "
374 "define the number of addressable logical blocks on a single "
375 "storage device, excluding any logical blocks mapped as check "
376 "data. This is an alternative grouping for ProtectedSpace "
377 "Extents, when only summary information is needed or when "
378 "automatic configuration is used.") ]
379 tony 1.1 class CIM_AggregatePSExtent : CIM_StorageExtent {
380
381 [Deprecated {"CIM_CompositeExtentBasedOn.NumberOfBlocks",
382 "CIM_StorageExtent.NumberOfBlocks"},
383 Override ("NumberOfBlocks"), Description (
384 "Total number of user data blocks that are contained in this "
385 "Extent."),
386 MappingStrings { "MIF.DMTF|Aggregate Protected Space "
387 "Extent|001.2"} ]
388 uint64 NumberOfBlocks;
389 };
390
391
392 // ===================================================================
393 // AggregatePSExtentBasedOnPExtent
394 // ===================================================================
395 [Association, Deprecated {"CIM_ProtectedSpaceBasedOn"},
396 Version ("2.7.0"), Description (
397 "This association is deprecated in lieu of "
398 "ProtectedSpaceBasedOn, since PhysicalExtents and "
399 "AggregatePSExtents are themselves deprecated. The association "
400 tony 1.1 "describes that AggregatePSExtents are BasedOn a single "
401 "PhysicalExtent.") ]
402 class CIM_AggregatePSExtentBasedOnPExtent : CIM_BasedOn {
403
404 [Deprecated {"CIM_ProtectedSpaceBasedOn.Antecedent"},
405 Override ("Antecedent"), Max (1), Description (
406 "The PhysicalExtent.") ]
407 CIM_PhysicalExtent REF Antecedent;
408
409 [Deprecated {"CIM_ProtectedSpaceBasedOn.Dependent"},
410 Override ("Dependent"), Description (
411 "The AggregatePSExtent which is built on the "
412 "PhysicalExtent.") ]
413 CIM_AggregatePSExtent REF Dependent;
414 };
415
416
417 // ===================================================================
418 // AggregatePSExtentBasedOnAggregatePExtent
419 // ===================================================================
420 [Association, Deprecated {"CIM_ProtectedSpaceBasedOn"},
421 tony 1.1 Version ("2.7.0"), Description (
422 "This association is deprecated in lieu of "
423 "ProtectedSpaceBasedOn, since AggregatePExtents and "
424 "AggregatePSExtents are themselves deprecated. The association "
425 "describes that AggregatePSExtents are BasedOn a single "
426 "AggregatePExtent.") ]
427 class CIM_AggregatePSExtentBasedOnAggregatePExtent : CIM_BasedOn {
428
429 [Deprecated {"CIM_ProtectedSpaceBasedOn.Antecedent"},
430 Override ("Antecedent"), Max (1), Description (
431 "The AggregatePExtent.") ]
432 CIM_AggregatePExtent REF Antecedent;
433
434 [Deprecated {"CIM_ProtectedSpaceBasedOn.Dependent"},
435 Override ("Dependent"), Description (
436 "The AggregatePSExtent which is built on the Aggregate "
437 "PExtent.") ]
438 CIM_AggregatePSExtent REF Dependent;
439 };
440
441
442 tony 1.1 // ===================================================================
443 // PExtentRedundancyComponent
444 // ===================================================================
445 [Association, Deprecated {"CIM_ExtentRedundancyComponent"},
446 Aggregation, Version ("2.7.0"), Description (
447 "Describes the PhysicalExtents participating in a Storage "
448 "RedundancyGroup. However, there is no need for the "
449 "specificity of this association. It is deprecated in lieu of "
450 "the generic ExtentRedundancyComponent relationship, its "
451 "superclass.") ]
452 class CIM_PExtentRedundancyComponent : CIM_ExtentRedundancyComponent {
453
454 [Deprecated {"CIM_ExtentRedundancyComponent.GroupComponent"},
455 Aggregate, Override ("GroupComponent"), Description (
456 "The StorageRedundancyGroup.") ]
457 CIM_StorageRedundancyGroup REF GroupComponent;
458
459 [Deprecated {"CIM_ExtentRedundancyComponent.PartComponent"},
460 Override ("PartComponent"), Description (
461 "The PhysicalExtent participating in the RedundancyGroup.") ]
462 CIM_PhysicalExtent REF PartComponent;
463 tony 1.1 };
464
465
466 // ===================================================================
467 // AggregateRedundancyComponent
468 // ===================================================================
469 [Association, Deprecated {"CIM_ExtentRedundancyComponent"},
470 Aggregation, Version ("2.7.0"), Description (
471 "Describes the AggregatePExtent in a StorageRedundancyGroup. "
472 "However, there is no need for the specificity of this "
473 "association. It is deprecated in lieu of the generic "
474 "ExtentRedundancyComponent relationship, its superclass.") ]
475 class CIM_AggregateRedundancyComponent : CIM_ExtentRedundancyComponent {
476
477 [Deprecated {"CIM_ExtentRedundancyComponent.GroupComponent"},
478 Aggregate, Override ("GroupComponent"), Description (
479 "The StorageRedundancyGroup.") ]
480 CIM_StorageRedundancyGroup REF GroupComponent;
481
482 [Deprecated {"CIM_ExtentRedundancyComponent.PartComponent"},
483 Override ("PartComponent"), Description (
484 tony 1.1 "The AggregatePExtent participating in the RedundancyGroup.") ]
485 CIM_AggregatePExtent REF PartComponent;
486 };
487
488
489 // ===================================================================
490 // RealizesPExtent
491 // ===================================================================
492 [Association, Deprecated {"CIM_RealizesExtent"}, Version ("2.7.0"),
493 Description (
494 "PhysicalExtents are realized on a PhysicalMedia. This is "
495 "described by RealizesPExtent. However, there is no need for "
496 "the specificity of this association. It is deprecated in lieu "
497 "of the generic RealizesExtent relationship.") ]
498 class CIM_RealizesPExtent : CIM_RealizesExtent {
499
500 [Deprecated {"CIM_RealizesExtent.Antecedent"},
501 Override ("Antecedent"), Max (1), Description (
502 "The PhysicalMedia on which the Extent is realized.") ]
503 CIM_PhysicalMedia REF Antecedent;
504
505 tony 1.1 [Deprecated {"CIM_RealizesExtent.Dependent"},
506 Override ("Dependent"), Description (
507 "The PhysicalExtent that is located on the Media.") ]
508 CIM_PhysicalExtent REF Dependent;
509 };
510
511
512 // ===================================================================
513 // RealizesAggregatePExtent
514 // ===================================================================
515 [Association, Deprecated {"CIM_RealizesExtent"}, Version ("2.7.0"),
516 Description (
517 "AggregatePExtents are realized on a PhysicalMedia. This is "
518 "described by RealizesAggregatePExtent. However, there is no "
519 "need for the specificity of this association. It is "
520 "deprecated in lieu of the generic RealizesExtent "
521 "relationship.") ]
522 class CIM_RealizesAggregatePExtent : CIM_RealizesExtent {
523
524 [Deprecated {"CIM_RealizesExtent.Antecedent"},
525 Override ("Antecedent"), Max (1), Description (
526 tony 1.1 "The PhysicalMedia on which the Extent is realized.") ]
527 CIM_PhysicalMedia REF Antecedent;
528
529 [Deprecated {"CIM_RealizesExtent.Dependent"},
530 Override ("Dependent"), Description (
531 "The AggregatePExtent that is located on the Media.") ]
532 CIM_AggregatePExtent REF Dependent;
533 };
534
535
536 // ===================================================================
537 // Snapshot
538 // ===================================================================
539 [Deprecated {"No Value"}, Version ("2.7.0"), Description (
540 "Deprecated. Snapshots are now modeled in a more abstrct way "
541 "using StorageExtent and StorageSynchronized.\n"
542 "The Snapshot class is an optional construct. It can be used "
543 "to represent an Extent that contains a full copy of another "
544 "Extent, or the changes to that Extent when performing a "
545 "delta-based (delta before or delta after) copy.\n"
546 "Snapshot's definition in CIM is not equivalent to the act of "
547 tony 1.1 "creating a volume or file-based snapshot, or a point in time "
548 "copy. It is at a much lower level and represents the use of "
549 "storage to hold a copied image of an Extent, or to hold "
550 "changes to an Extent. Use of the Snapshot object when making "
551 "a full copy is only recommended if the purpose is to describe "
552 "the existence of a copy. (This use will be very infrequent.) "
553 "The problem with describing an Extent solely as a 'snapshot' "
554 "is that when the snapshot/copy is broken, the object must be "
555 "destroyed. Typically, this object still holds valid data, and "
556 "would have to be reinstantiated. If the 'full copy' object is "
557 "to be treated as a StorageVolume or more general Extent, then "
558 "it should be modeled as such from the beginning - i.e., not as "
559 "an instance of Snapshot but as an instance of a generic "
560 "StorageExtent or StorageVolume. In this case, the "
561 "Synchronized association would be used to describe that one "
562 "StorageExtent is synchronized with another.\n"
563 "When describing a delta-based snapshot/point in time copy, the "
564 "Snapshot object represents the store holding the before/after "
565 "image changes to the original Extent. For example, when doing "
566 "a 'delta before' Snapshot, the resultant target would be "
567 "modeled as a StorageExtent that is BasedOn the original Extent "
568 tony 1.1 "and the instance of Snapshot (that holds the changes to the "
569 "original Extent).") ]
570 class CIM_Snapshot : CIM_StorageExtent {
571
572 [Deprecated {"CIM_Synchronized.SyncMaintained"}, Description (
573 "True indicates that the snapshot is synced.") ]
574 boolean IsSynced;
575
576 [Deprecated {"CIM_Synchronized.WhenSynced"}, Description (
577 "The time stamp indicating when the sync occurred.") ]
578 datetime SyncTime;
579 };
580
581
582 // ===================================================================
583 // SnapshotOfExtent
584 // ===================================================================
585 [Association, Deprecated {"No Value"}, Version ("2.7.0"),
586 Description (
587 "Deprecated. Snapshots are now modeled in a more abstract way "
588 "using StorageExtent and CIM_StorageSynchronized.\n"
589 tony 1.1 "SnapshotOfExtent is an association between an Extent and its "
590 "Snapshot. This relationship is made explicit in this "
591 "association.") ]
592 class CIM_SnapshotOfExtent : CIM_Dependency {
593
594 [Deprecated {"No Value"}, Override ("Antecedent"), Max (1),
595 Description (
596 "The StorageExtent.") ]
597 CIM_StorageExtent REF Antecedent;
598
599 [Deprecated {"No Value"}, Override ("Dependent"), Description (
600 "The Snapshot.") ]
601 CIM_Snapshot REF Dependent;
602
603 [Deprecated {"CIM_StorageSynchronized.CopyType"}, Description (
604 "The type of snapshot."),
605 ValueMap {"0", "1", "2", "3", "4"},
606 Values {"Other", "Unknown", "Copy", "Before Delta",
607 "After Delta"} ]
608 uint16 SnapshotType;
609 };
610 tony 1.1
611
612 // ===================================================================
613 // end of file
614 // ===================================================================
|