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