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