1 tony 1.1 // ===================================================================
2 // Title: Device SCC Storage Extent Model 2.8
3 // Filename: Device28_SCCExtents.mof
4 // Version: 2.8
5 // Status: Final
6 // Date: Jan 26, 2004
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 Final
54 // CR1233 - Sysdev Omnibus CR (correct deprecations)
55 //
56 // Change Log for v2.7
57 // CR722 - Deprecate PSExtentBaseOnPExtent, VolumeSetBasedOnPSExtent,
58 // LogicalDiskBasedOnVolumeSet, AggregatePSExtent,
59 // AggregatePSExtentBasedOnPExtent,
60 // AggregatePSExtentBasedOnAggregatePExtent,
61 // PExtentRedundancyComponent, AggregateRedundancyComponent,
62 // PhysicalExtent, ProtectedSpaceExtent, VolumeSet,
63 // AggregatePExtent, and AggregatePSExtent
64 tony 1.1 // CR846 - Deprecate RealizesPExtent and RealizesAggregatePExtent
65 // CR861 - Add Deprecated qualifier to the individual properties of
66 // the Deprecated SCC classes
67 // CR882 - Deprecate Snapshot and SnapshotOfExtent. Therefore moved
68 // definitions from StorageExtents.mof to here.
69 // ==================================================================
70
71 #pragma locale ("en_US")
72
73
74 // ===================================================================
75 // PhysicalExtent
76 // ===================================================================
77 [Deprecated { "CIM_ProtectedExtentBasedOn",
78 "CIM_CompositeExtentBasedOn" }, Version ( "2.7.0" ),
79 Description (
80 "Deprecated - use CIM_ProtectedExtentBasedOn or "
81 "CIM_CompositeExtentBasedOn instead. The information on check "
82 "and user data is better expressed in the association that "
83 "layers the storage, than in the extent itself. A "
84 "PhysicalExtent is used to model an SCC RAID implementation. It "
85 tony 1.1 "defines the consecutive addressable block addresses on a "
86 "single storage device, that are treated as a single "
87 "StorageExtent and that are in the same StorageRedundancyGroup. "
88 "An alternate possibility, if automatic configuration is used, "
89 "is to instantiate or extend the AggregatePExtent class.")]
90 class CIM_PhysicalExtent : CIM_StorageExtent {
91
92 [Deprecated { "CIM_CompositeExtentBasedOn.BlockSize",
93 "CIM_ProtectedExtentBasedOn.BlockSize" },
94 Override ( "BlockSize" ),
95 MappingStrings { "MIF.DMTF|Physical Extent|001.4" }]
96 uint64 BlockSize;
97
98 [Deprecated { "CIM_CompositeExtentBasedOn.NumberOfBlocks",
99 "CIM_ProtectedExtentBasedOn.NumberOfBlocks" },
100 Override ( "NumberOfBlocks" ),
101 MappingStrings { "MIF.DMTF|Physical Extent|001.3" }]
102 uint64 NumberOfBlocks;
103
104 [Deprecated {
105 "CIM_CompositeExtentBasedOn.UnitsBeforeCheckDataInterleave",
106 tony 1.1 "CIM_ProtectedExtentBasedOn.UnitsBeforeCheckDataInterleave" },
107 Description (
108 "Number of bytes of user data to skip before starting the "
109 "check data interleave."),
110 Units ( "Bytes" ),
111 MappingStrings { "MIF.DMTF|Physical Extent|001.6" }]
112 uint64 UnitsBeforeCheckDataInterleave;
113
114 [Deprecated { "CIM_CompositeExtentBasedOn.UnitsOfCheckData",
115 "CIM_ProtectedExtentBasedOn.UnitsOfCheckData" },
116 Description (
117 "Number of bytes to be reserved for check data."),
118 Units ( "Bytes" ),
119 MappingStrings { "MIF.DMTF|Physical Extent|001.7" }]
120 uint64 UnitsOfCheckData;
121
122 [Deprecated { "CIM_CompositeExtentBasedOn.UnitsOfUserData",
123 "CIM_ProtectedExtentBasedOn.UnitsOfUserData" }, Description (
124 "Number of bytes to be reserved for user data."),
125 Units ( "Bytes" ),
126 MappingStrings { "MIF.DMTF|Physical Extent|001.8" }]
127 tony 1.1 uint64 UnitsOfUserData;
128 };
129
130
131 // ===================================================================
132 // ProtectedSpaceExtent
133 // ===================================================================
134 [Deprecated {
135 "CIM_ProtectedExtentBasedOn","CIM_CompositeExtentBasedOn" },
136 Version ( "2.7.0" ), Description (
137 "Deprecated - use CIM_ProtectedExtentBasedOn or "
138 "CIM_CompositeExtentBasedOn instead. The information on check "
139 "and user data is better expressed in the association that "
140 "layers the storage, than in the extent itself. A "
141 "ProtectedSpaceExtent is used to model an SCC RAID "
142 "implementation. ProtectedSpaceExtent defines addressable "
143 "logical block addresses, treated as a single Extent, located "
144 "on one or more PhysicalExtents. ProtectedSpaceExtents exclude "
145 "any logical blocks mapped as check data and contain user data "
146 "stripe depth mapping information. An alternate possibility, if "
147 "automatic configuration is used, is to instantiate or extend "
148 tony 1.1 "the AggregatePSExtent class.")]
149 class CIM_ProtectedSpaceExtent : CIM_StorageExtent {
150
151 [Deprecated { "CIM_CompositeExtentBasedOn.BlockSize",
152 "CIM_ProtectedExtentBasedOn.BlockSize" },
153 Override ( "BlockSize" ),
154 MappingStrings { "MIF.DMTF|Protected Space Extent|001.4" }]
155 uint64 BlockSize;
156
157 [Deprecated { "CIM_CompositeExtentBasedOn.NumberOfBlocks",
158 "CIM_ProtectedExtentBasedOn.NumberOfBlocks" },
159 Override ( "NumberOfBlocks" ), Description (
160 "The number of user data blocks contained in this Extent."),
161 MappingStrings { "MIF.DMTF|Protected Space Extent|001.3" }]
162 uint64 NumberOfBlocks;
163
164 [Deprecated { "CIM_CompositeExtentBasedOn.UserDataStripeDepth" },
165 Description (
166 "For a ProtectedSpaceExtent that is allocated to a Volume "
167 "Set (i.e. is named in a CIM_VolumeSetBasedOnPSExtent "
168 "association), this property is the number of user data "
169 tony 1.1 "bytes placed on this ProtectedSpaceExtent before moving on "
170 "to the next ProtectedSpaceExtent in the VolumeSet. "
171 "Otherwise, this ProtectedSpaceExtent is considered to be "
172 "unallocated, and this property shall be set to zero (0h.)"),
173 Units ( "Bytes" ),
174 MappingStrings { "MIF.DMTF|Protected Space Extent|001.6" }]
175 uint64 UserDataStripeDepth;
176 };
177
178
179 // ===================================================================
180 // PSExtentBasedOnPExtent
181 // ===================================================================
182 [Association, Deprecated { "CIM_ProtectedExtentBasedOn",
183 "CIM_CompositeExtentBasedOn" }, Version ( "2.7.0" ),
184 Description (
185 "Covered by ProtectedExtentBasedOn or CompositeExtentBasedOn, "
186 "since PhysicalExtent itself is deprecated in lieu of these "
187 "associations. ProtectedSpaceExtents are BasedOn a "
188 "PhysicalExtent. This relationship is made explicit by this "
189 "association.")]
190 tony 1.1 class CIM_PSExtentBasedOnPExtent : CIM_BasedOn {
191
192 [Deprecated { "CIM_CompositeExtentBasedOn.Antecedent",
193 "CIM_ProtectedExtentBasedOn.Antecedent" },
194 Override ( "Antecedent" ), Description (
195 "The PhysicalExtent.")]
196 CIM_PhysicalExtent REF Antecedent;
197
198 [Deprecated { "CIM_CompositeExtentBasedOn.Dependent",
199 "CIM_ProtectedExtentBasedOn.Dependent" },
200 Override ( "Dependent" ), Description (
201 "The ProtectedSpaceExtent which is built on the Physical "
202 "Extent.")]
203 CIM_ProtectedSpaceExtent REF Dependent;
204
205 [Deprecated { "CIM_CompositeExtentBasedOn.StartingAddress",
206 "CIM_ProtectedExtentBasedOn.StartingAddress" },
207 Override ( "StartingAddress" ), Description (
208 "The starting logical block address of the PhysicalExtent "
209 "from which this ProtectedSpaceExtent is derived."),
210 MappingStrings { "MIF.DMTF|Protected Space Extent|001.2" }]
211 tony 1.1 uint64 StartingAddress;
212 };
213
214
215 // ===================================================================
216 // VolumeSet
217 // ===================================================================
218 [Deprecated { "CIM_CompositeExtent" }, Version ( "2.7.0" ),
219 Description (
220 "VolumeSet is deprecated in lieu of CompositeExtent, which "
221 "removes the restriction that the Set must be exported. A "
222 "VolumeSet can be used to model an SCC RAID implementation. "
223 "VolumeSets represent a contiguous range of logical blocks "
224 "presented to the operating environment. VolumeSets may "
225 "overlap. However, the underlying PhysicalExtents within the "
226 "overlap shall not contain any check data. They are BasedOn one "
227 "or more ProtectedSpaceExtents. These BasedOn associations "
228 "should be instantiated or subclassed as needed.")]
229 class CIM_VolumeSet : CIM_StorageVolume {
230
231 [Deprecated { "CIM_CompositeExtent.NumberOfBlocks" },
232 tony 1.1 Override ( "NumberOfBlocks" ),
233 MappingStrings { "MIF.DMTF|Volume Set|001.3" }]
234 uint64 NumberOfBlocks;
235
236 [Deprecated { "CIM_CompositeExtent.ExtentStripeLength" },
237 Description (
238 "Number of contiguous ProtectedSpaceExtents counted before "
239 "looping back to the first ProtectedSpaceExtent of the "
240 "current stripe. It is the number of Extents forming the "
241 "user data stripe."),
242 MappingStrings { "MIF.DMTF|Volume Set|001.4" }]
243 uint64 PSExtentStripeLength;
244
245 [Deprecated { "CIM_CompositeExtent.ExtentInterleaveDepth" },
246 Description (
247 "Number of ProtectedSpaceExtents to stripe as a collective "
248 "set. In SCC, this value is defined as the number of stripes "
249 "to count before continuing to map into the next contiguous "
250 "set of Extents, beyond the current stripe."),
251 MappingStrings { "MIF.DMTF|Volume Set|001.5" }]
252 uint64 PSExtentInterleaveDepth;
253 tony 1.1
254 [Deprecated { "No value" }, Description (
255 "VolumeSets in SCC have additional status information beyond "
256 "that captured in the Availability and other properties, "
257 "inherited from ManagedSystemElement. This additional "
258 "information (for example, \"Protection Disabled\", value=9) "
259 "is captured in the VolumeStatus property."),
260 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
261 "10", "11", "12", "13", "14" },
262 Values { "Other", "Unknown", "None/Not Applicable", "Broken",
263 "Data Lost", "Dynamic Reconfig", "Exposed",
264 "Fractionally Exposed", "Partially Exposed",
265 "Protection Disabled",
266 // 10
267 "Readying", "Rebuild", "Recalculate", "Spare in Use",
268 "Verify In Progress" }]
269 uint16 VolumeStatus;
270 };
271
272
273 // ===================================================================
274 tony 1.1 // VolumeSetBasedOnPSExtent
275 // ===================================================================
276 [Association, Deprecated { "CIM_CompositeExtentBasedOn" },
277 Version ( "2.7.0" ), Description (
278 "This association is deprecated in lieu of "
279 "CompositeExtentBasedOn, since VolumeSets and "
280 "ProtectedSpaceExtents are themselves deprecated. The "
281 "relationship describes that VolumeSets are BasedOn on one or "
282 "more ProtectedSpaceExtents.")]
283 class CIM_VolumeSetBasedOnPSExtent : CIM_BasedOn {
284
285 [Deprecated { "CIM_CompositeExtentBasedOn.Antecedent" },
286 Override ( "Antecedent" ), Min ( 1 ), Description (
287 "The ProtectedSpaceExtent.")]
288 CIM_ProtectedSpaceExtent REF Antecedent;
289
290 [Deprecated { "CIM_CompositeExtentBasedOn.Dependent" },
291 Override ( "Dependent" ), Description (
292 "The VolumeSet which is built on the ProtectedSpace Extent.")]
293 CIM_VolumeSet REF Dependent;
294
295 tony 1.1 [Deprecated {
296 "CIM_CompositeExtentBasedOn.LBAsMappedByDecrementing" },
297 Description (
298 "True if logical blocks in the ProtectedSpaceExtent are "
299 "mapped in decrementing order. This property corresponds to "
300 "the INCDEC value in the SCC-2 Volume Set PS_Extent "
301 "Descriptor.")]
302 boolean LBAsMappedByDecrementing;
303
304 [Deprecated {
305 "CIM_CompositeExtentBasedOn.LBAMappingIncludesCheckData" },
306 Description (
307 "True if the logical block mapping algorithm includes check "
308 "data bytes. This property corresponds to the NOCHKSKIP "
309 "attribute in the SCC-2 Volume Set PS_Extent Descriptor.")]
310 boolean LBAMappingIncludesCheckData;
311 };
312
313
314 // ===================================================================
315 // LogicalDiskBasedOnVolumeSet
316 tony 1.1 // ===================================================================
317 [Association, Deprecated { "CIM_BasedOn" }, Version ( "2.7.0" ),
318 Description (
319 "This association describes that LogicalDisks can be BasedOn a "
320 "VolumeSet. However, there is no need for the specificity of "
321 "this association. It is deprecated in lieu of the generic "
322 "BasedOn relationship.")]
323 class CIM_LogicalDiskBasedOnVolumeSet : CIM_LogicalDiskBasedOnVolume {
324
325 [Deprecated { "CIM_BasedOn.Antecedent" },
326 Override ( "Antecedent" ), Max ( 1 ), Description (
327 "The VolumeSet.")]
328 CIM_VolumeSet REF Antecedent;
329 };
330
331
332 // ===================================================================
333 // AggregatePExtent
334 // ===================================================================
335 [Deprecated { "CIM_StorageExtent", "CIM_CompositeExtentBasedOn" },
336 Version ( "2.7.0" ), Description (
337 tony 1.1 "This class is deprecated in lieu of the generic StorageExtent "
338 "object and the ProtectedExtentBasedOn association. An "
339 "AggregatePExtent is used to model an SCC RAID implementation. "
340 "AggregatePExtents provide summary information about the "
341 "addressable logical blocks which are in the same "
342 "StorageRedundancyGroup and reside on the same storage device. "
343 "This is an alternative grouping for PhysicalExtents, when only "
344 "summary information is needed or when automatic configuration "
345 "is used.")]
346 class CIM_AggregatePExtent : CIM_StorageExtent {
347
348 [Deprecated { "CIM_CompositeExtentBasedOn.NumberOfBlocks",
349 "CIM_StorageExtent.NumberOfBlocks" },
350 Override ( "NumberOfBlocks" ), Description (
351 "Total number of blocks (including the check data blocks) "
352 "contained in this AggregatePExtent. The block size (an "
353 "inherited property) should be set to the same value as for "
354 "the MediaAccessDevice associated with this Extent."),
355 MappingStrings { "MIF.DMTF|Aggregate Physical Extent|001.2" }]
356 uint64 NumberOfBlocks;
357
358 tony 1.1 [Deprecated { "CIM_CompositeExtentBasedOn.UnitsOfCheckData" },
359 Description (
360 "The number of blocks contained in this AggregatePExtent to "
361 "be used as check data. If this AggregatePExtent is "
362 "available, then this value shall be zero."),
363 MappingStrings { "MIF.DMTF|Aggregate Physical Extent|001.3" }]
364 uint64 BlocksOfCheckData;
365 };
366
367
368 // ===================================================================
369 // AggregatePSExtent
370 // ===================================================================
371 [Deprecated { "CIM_StorageExtent", "CIM_CompositeExtentBasedOn" },
372 Version ( "2.7.0" ), Description (
373 "Similar to AggregatePExtent, this class is deprecated in lieu "
374 "of the generic StorageExtent object and the "
375 "ProtectedExtentBasedOn association. An AggregatePSExtent is "
376 "used to model an SCC RAID implementation. AggregatePSExtents "
377 "define the number of addressable logical blocks on a single "
378 "storage device, excluding any logical blocks mapped as check "
379 tony 1.1 "data. This is an alternative grouping for ProtectedSpace "
380 "Extents, when only summary information is needed or when "
381 "automatic configuration is used.")]
382 class CIM_AggregatePSExtent : CIM_StorageExtent {
383
384 [Deprecated { "CIM_CompositeExtentBasedOn.NumberOfBlocks",
385 "CIM_StorageExtent.NumberOfBlocks" },
386 Override ( "NumberOfBlocks" ), Description (
387 "Total number of user data blocks that are contained in this "
388 "Extent."),
389 MappingStrings { "MIF.DMTF|Aggregate Protected Space "
390 "Extent|001.2" }]
391 uint64 NumberOfBlocks;
392 };
393
394
395 // ===================================================================
396 // AggregatePSExtentBasedOnPExtent
397 // ===================================================================
398 [Association, Deprecated { "CIM_ProtectedExtentBasedOn" },
399 Version ( "2.8.0" ), Description (
400 tony 1.1 "This association is deprecated in lieu of "
401 "ProtectedSpaceBasedOn, since PhysicalExtents and "
402 "AggregatePSExtents are themselves deprecated. The association "
403 "describes that AggregatePSExtents are BasedOn a single "
404 "PhysicalExtent.")]
405 class CIM_AggregatePSExtentBasedOnPExtent : CIM_BasedOn {
406
407 [Deprecated { "CIM_ProtectedExtentBasedOn.Antecedent" },
408 Override ( "Antecedent" ), Max ( 1 ), Description (
409 "The PhysicalExtent.")]
410 CIM_PhysicalExtent REF Antecedent;
411
412 [Deprecated { "CIM_ProtectedExtentBasedOn.Dependent" },
413 Override ( "Dependent" ), Description (
414 "The AggregatePSExtent which is built on the PhysicalExtent.")]
415 CIM_AggregatePSExtent REF Dependent;
416 };
417
418
419 // ===================================================================
420 // AggregatePSExtentBasedOnAggregatePExtent
421 tony 1.1 // ===================================================================
422 [Association, Deprecated { "CIM_ProtectedExtentBasedOn" },
423 Version ( "2.8.0" ), Description (
424 "This association is deprecated in lieu of "
425 "ProtectedSpaceBasedOn, since AggregatePExtents and "
426 "AggregatePSExtents are themselves deprecated. The association "
427 "describes that AggregatePSExtents are BasedOn a single "
428 "AggregatePExtent.")]
429 class CIM_AggregatePSExtentBasedOnAggregatePExtent : CIM_BasedOn {
430
431 [Deprecated { "CIM_ProtectedExtentBasedOn.Antecedent" },
432 Override ( "Antecedent" ), Max ( 1 ), Description (
433 "The AggregatePExtent.")]
434 CIM_AggregatePExtent REF Antecedent;
435
436 [Deprecated { "CIM_ProtectedExtentBasedOn.Dependent" },
437 Override ( "Dependent" ), Description (
438 "The AggregatePSExtent which is built on the Aggregate "
439 "PExtent.")]
440 CIM_AggregatePSExtent REF Dependent;
441 };
442 tony 1.1
443
444 // ===================================================================
445 // PExtentRedundancyComponent
446 // ===================================================================
447 [Association, Deprecated { "CIM_ExtentRedundancyComponent" },
448 Aggregation, Version ( "2.7.0" ), Description (
449 "Describes the PhysicalExtents participating in a Storage "
450 "RedundancyGroup. However, there is no need for the specificity "
451 "of this association. It is deprecated in lieu of the generic "
452 "ExtentRedundancyComponent relationship, its superclass.")]
453 class CIM_PExtentRedundancyComponent : CIM_ExtentRedundancyComponent {
454
455 [Deprecated { "CIM_ExtentRedundancyComponent.GroupComponent" },
456 Aggregate, Override ( "GroupComponent" ), Description (
457 "The StorageRedundancyGroup.")]
458 CIM_StorageRedundancyGroup REF GroupComponent;
459
460 [Deprecated { "CIM_ExtentRedundancyComponent.PartComponent" },
461 Override ( "PartComponent" ), Description (
462 "The PhysicalExtent participating in the RedundancyGroup.")]
463 tony 1.1 CIM_PhysicalExtent REF PartComponent;
464 };
465
466
467 // ===================================================================
468 // AggregateRedundancyComponent
469 // ===================================================================
470 [Association, Deprecated { "CIM_ExtentRedundancyComponent" },
471 Aggregation, Version ( "2.7.0" ), Description (
472 "Describes the AggregatePExtent in a StorageRedundancyGroup. "
473 "However, there is no need for the specificity of this "
474 "association. It is deprecated in lieu of the generic "
475 "ExtentRedundancyComponent relationship, its superclass.")]
476 class CIM_AggregateRedundancyComponent : CIM_ExtentRedundancyComponent {
477
478 [Deprecated { "CIM_ExtentRedundancyComponent.GroupComponent" },
479 Aggregate, Override ( "GroupComponent" ), Description (
480 "The StorageRedundancyGroup.")]
481 CIM_StorageRedundancyGroup REF GroupComponent;
482
483 [Deprecated { "CIM_ExtentRedundancyComponent.PartComponent" },
484 tony 1.1 Override ( "PartComponent" ), Description (
485 "The AggregatePExtent participating in the RedundancyGroup.")]
486 CIM_AggregatePExtent REF PartComponent;
487 };
488
489
490 // ===================================================================
491 // RealizesPExtent
492 // ===================================================================
493 [Association, Deprecated { "CIM_RealizesExtent" },
494 Version ( "2.7.0" ), Description (
495 "PhysicalExtents are realized on a PhysicalMedia. This is "
496 "described by RealizesPExtent. However, there is no need for "
497 "the specificity of this association. It is deprecated in lieu "
498 "of the generic RealizesExtent relationship.")]
499 class CIM_RealizesPExtent : CIM_RealizesExtent {
500
501 [Deprecated { "CIM_RealizesExtent.Antecedent" },
502 Override ( "Antecedent" ), Max ( 1 ), Description (
503 "The PhysicalMedia on which the Extent is realized.")]
504 CIM_PhysicalMedia REF Antecedent;
505 tony 1.1
506 [Deprecated { "CIM_RealizesExtent.Dependent" },
507 Override ( "Dependent" ), Description (
508 "The PhysicalExtent that is located on the Media.")]
509 CIM_PhysicalExtent REF Dependent;
510 };
511
512
513 // ===================================================================
514 // RealizesAggregatePExtent
515 // ===================================================================
516 [Association, Deprecated { "CIM_RealizesExtent" },
517 Version ( "2.7.0" ), Description (
518 "AggregatePExtents are realized on a PhysicalMedia. This is "
519 "described by RealizesAggregatePExtent. However, there is no "
520 "need for the specificity of this association. It is deprecated "
521 "in lieu of the generic RealizesExtent 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 to "
543 "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 a "
551 "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 Synchronized "
561 "association would be used to describe that one StorageExtent "
562 "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" ),
600 Description (
601 "The Snapshot.")]
602 CIM_Snapshot REF Dependent;
603
604 [Deprecated { "CIM_StorageSynchronized.CopyType" }, Description (
605 "The type of snapshot."),
606 ValueMap { "0", "1", "2", "3", "4" },
607 Values { "Other", "Unknown", "Copy", "Before Delta",
608 "After Delta" }]
609 uint16 SnapshotType;
610 tony 1.1 };
611
612
613 // ===================================================================
614 // end of file
615 // ===================================================================
|