(file) Return to Device27_StorageServices.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim271

  1 karl  1.1 // ===================================================================
  2           // Title:       Device Storage Services 2.7.1
  3           // Filename:    Device27_StorageServices.mof
  4           // Version:     2.7.1
  5           // Release:     Preliminary 
  6           // Date:        November 12 2002
  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 defines
 46           //              a model for storage services.
 47           //
 48           //              The object classes below are listed in an order that
 49           //              avoids forward references. Required objects, defined 
 50           //              by other working groups, are omitted.
 51           // ==================================================================
 52           // Change Log for v2.7.1
 53           // CR914 - Define the MaxValue qualifier (as 10) for 
 54           //         AccessBandwidthWeight and AccessDirectionHint in 
 55           //         StorageSettingWithHints
 56           // CR920 - StorageConfigurationService.ModifySynchronization's Operation
 57           //         parameter requires a comma in its Values array after
 58           //         "Restore From Replica"
 59           //
 60           // Change Log for v2.7
 61           // CR775 - Add StorageSetting, StoragePool, StorageCapabilities,
 62           //         StorageConfigurationService, StorageSettingsWithHints,
 63           //         HostedStoragePool, and AllocatedStoragePool
 64 karl  1.1 // CR759 - Add ConfigurationReportingService
 65           // CR777 - Add StorageSynchrononized 
 66           //         Add StorageSetting.DeltaReservation, 
 67           //         StorageCpabilities.DeltaReservationMin, 
 68           //         StorageCpabilities.DeltaReservationMax, 
 69           //         StorageCpabilities.DeltaReservationDefault, 
 70           //         StorageConfigurationService.CreateReplica() and 
 71           //         StorageConfigurationService.ModifySynchronization()
 72           // CR895 - Correct the method return Values/ValueMaps for all the
 73           //         methods in the ConfigurationReportingService.
 74           // ================================================================== 
 75           
 76           #pragma locale ("en_US")
 77           
 78           
 79           // ==================================================================
 80           // StorageSynchrononized
 81           // ==================================================================
 82           [Association, Experimental, Version ("2.7.0"), Description (
 83               "Indicates that two Storage objects were replicated "
 84               "at the specified point in time. If the CopyType "
 85 karl  1.1     "property is set to 'Sync' (=3), then synchronization "
 86               "of the Storage objects is preserved.") ]
 87           class CIM_StorageSynchronized : CIM_Synchronized {
 88           
 89               [Override("SystemElement"), Description (
 90                   "SystemElement represents the Storage that is "
 91                   "the source of the replication.") ]
 92               CIM_LogicalElement REF SystemElement;
 93           
 94               [Override("SyncedElement"), Description (
 95                   "SyncedElement represents the Storage that is "
 96                   "the target of the replication.") ]
 97               CIM_LogicalElement REF SyncedElement;
 98           
 99               [Description (
100                   "CopyType describes the Replication Policy. "
101                   "Values are:  \n"
102                   "  Async: create and maintain an asynchronous "
103                   "copy of the source. \n"
104                   "  Sync: create and maintain a synchronized copy "
105                   "of the source. \n"
106 karl  1.1         "  UnSyncAssoc: create an unsynchronized copy and "
107                   "maintain an association to the source."),
108                   ValueMap {"2", "3", "4", "..", "0x8000.."},
109                   Values {"Async", "Sync", "UnSyncAssoc", 
110                       "DMTF Reserved", "Vendor Specific"} ]
111               uint16 CopyType;
112           };
113           
114           
115           // ==================================================================
116           // StorageSetting                                                     
117           // ==================================================================
118           [Experimental, Version ("2.7.0"), Description (
119               "StorageSetting is roughly equivalent to a Service Level "
120               "Agreement (SLA) when associated by ElementSetting "
121               "to a StorageVolume.  StorageSetting is a Service "
122               "Level Objective (SLO) when used in a StartCreateStorageVolume "
123               "method. It defines a series of properties with Maximum and "
124               "Minimum values that the object should maintain.") ]
125           class CIM_StorageSetting : CIM_SettingData {
126                   
127 karl  1.1     [Write, Description (
128                   "Indicates the desired value for No Single Point of Failure. "
129                   "Possible values are false = single point of failure, and "
130                   "true = no single point of failure.") ]
131               boolean NoSinglePointOfFailure;
132           
133               [Write, MinValue(1), Description (
134                   "DataRedundancyMax describes the maximum number of complete "
135                   "copies of data to be maintained. Examples would be RAID 5 "
136                   "where 1 copy is maintained and RAID 1 where 2 or more copies "
137                   "are maintained.  Possible values are 1 to n."),
138                   ModelCorrespondence {"CIM_StorageSetting.DataRedundancyMin"} ]
139               uint16 DataRedundancyMax;
140           
141               [Write, MinValue(1), Description (
142                   "DataRedundancyMin describes the minimum number of complete "
143                   "copies of data to be maintained. Examples would be RAID 5 "
144                   "where 1 copy is maintained and RAID 1 where 2 or more copies "
145                   "are maintained. Possible values are 1 to n."), 
146                   ModelCorrespondence {"CIM_StorageSetting.DataRedundancyMax"} ]
147               uint16 DataRedundancyMin;
148 karl  1.1 
149               [Write, Description (
150                   "SpindleRedundancyMax describes the maximum number of spindles "
151                   "to be used. Spindle redundancy describes how many disk "
152                   "spindles can fail without data loss including, at most, one "
153                   "spare. Examples would be RAID5 with a Spindle Redundancy of "
154                   "1, RAID6 with 2, RAID 6 with 2 spares would be 3. Possible "
155                   "values are 0 to n."),
156                   ModelCorrespondence {"CIM_StorageSetting.SpindleRedundancyMin"} ]
157               uint16 SpindleRedundancyMax;
158           
159               [Write, Description (
160                   "SpindleRedundancyMin describes the minimum number of spindles "
161                   "to be used. Spindle redundancy describes how many disk "
162                   "spindles can fail without data loss including, at most, one "
163                   "spare. Examples would be RAID5 with a Spindle Redundancy of "
164                   "1, RAID6 with 2, RAID 6 with 2 spares would be 3. Possible "
165                   "values are 0 to n."),
166                   ModelCorrespondence {"CIM_StorageSetting.SpindleRedundancyMax"} ]
167               uint16 SpindleRedundancyMin;
168               
169 karl  1.1     [MinValue (1), MaxValue (100), Description (
170                   "Delta reservation is a number between 1 (1%) and a 100 (100%) "
171                   "that specifies how much space should reserved in a replica "
172                   "for caching changes. For a complete copy this would be 100%, "
173                   "but it can be lower in some implementations.") ]
174               uint16 DeltaReservation;
175           };
176           
177           
178           // ==================================================================
179           // StoragePool
180           // ==================================================================
181           [Experimental, Version ("2.7.0"), Description (
182               "A pool of Storage that is managed by a particular "
183               "System. StoragePools may consist of component StoragePools or "
184               "StorageExtents. StorageExtents/StoragePools that belong to the "
185               "StoragePool have a Component relationship to the StoragePool. "
186               "StorageExtents/StoragePools that are components of a "
187               "pool have their available space aggregated into the pool. "
188               "StoragePools and StorageVolumes may be created from StoragePools. "
189               "This is indicated by the AllocatedFromStoragePool association. "
190 karl  1.1     "StoragePool is scoped to a system by the SystemStoragePool "
191               "association.") ] 
192           class CIM_StoragePool : CIM_LogicalElement {
193               
194               [Key, Description (
195                   "InstanceID opaquely identifies a unique instance of "
196                   "StoragePool.  The InstanceID must be unique within a "
197                   "namespace. In order to ensure uniqueness, the value of "
198                   "InstanceID SHOULD be constructed in the following manner: \n"
199                   "<Vendor ID><ID> \n"
200                   "   <Vendor ID> MUST include a copyrighted, trademarked "
201                   "or otherwise unique name that is owned by the business "
202                   "entity or a registered ID that is assigned to the business "
203                   "entity that is defining the InstanceID. (This is similar to "
204                   "the <Schema Name>_<Class Name> structure of Schema class "
205                   "names.) The purpose of <Vendor ID> is to ensure that <ID> is "
206                   "truly unique across multiple vendor implementations.   "
207                   "If such a name is not used, the defining entity MUST assure "
208                   "that the <ID> portion of the Instance ID is unique when "
209                   "compared with other instance providers. For DMTF defined "
210                   "instances, the <Vendor ID> is 'CIM'. \n"
211 karl  1.1         "   <ID> MUST include a vendor specified unique "
212                   "identifier.") ]        
213               string InstanceID;
214           
215               [Required, MaxLen (256), Description (
216                   "A unique name in the context of the System that "
217                   "identifies this pool.") ]
218               string PoolID;
219           
220               [Description (
221                   "For pools that support discrete sizes for volume or "
222                   "pool creation, this method can be used to retrieve a "
223                   "list of supported sizes. Note that different pool "
224                   "implementations may support either or both the "
225                   "GetSupportedSizes and GetSupportedSizeRanges at different "
226                   "times, depending on Pool configuration. Also note that the "
227                   "advertised size may change after the call due to requests "
228                   "from other clients. If the pool currently only supports a "
229                   "range of sizes, then the return value will be set to 1."),
230                   ValueMap {"0", "1", "2"},
231                   Values {"Method completed OK", "Method not supported",
232 karl  1.1             "Use GetSupportedSizeRange instead"} ]
233               uint32 GetSupportedSizes (
234                   [IN, Description (
235                       "Specifies the size requirements.") ]
236                   CIM_StorageSetting REF Goal,
237                   [OUT, IN(false), Description (
238                       "List of support sizes for a Volume/Pool creation or "
239                       "modification."),
240                       Units ("MegaBytes") ]
241                   uint64  Sizes[] );
242           
243               [Description (
244                   "For pools that that support a range of sizes for volume or "
245                   "pool creation, this method can be used to retrieve the "
246                   "supported range. Note that different pool implementations "
247                   "may support either or both the GetSupportedSizes and "
248                   "GetSupportedSizeRanges at different times, depending on Pool "
249                   "configuration. Also note that the advertised size may change "
250                   "after the call due to requests from other clients. If the "
251                   "pool currently only supports discrete sizes, then the return "
252                   "value will be set to 1."),
253 karl  1.1         ValueMap {"0", "1", "2"},
254                   Values {"Method completed OK", "Method not supported",
255                       "Use GetSupportedSizes instead"} ]
256               uint32 GetSupportedSizeRange (
257                   [IN, Description (
258                       "Specifies the size requirements.") ]
259                   CIM_StorageSetting REF Goal,
260                   [OUT, IN(false), Description (
261                       "The minimum size for a volume/pool."),
262                       Units ("MegaBytes") ]
263                   uint64  MinimumVolumeSize,
264                   [OUT, IN(false), Description (
265                       "The maximum size for a volume/pool."),
266                        Units ("MegaBytes") ]
267                   uint64  MaximumVolumeSize,
268                   [OUT, IN(false), Description (
269                       "A volume/pool size must be a multiple of this value."),
270                       Units ("MegaBytes") ]
271                   uint64  VolumeSizeDivisor);
272           
273               [Description (
274 karl  1.1          "Raw available space in the pool."), Units("MegaBytes") ]
275               uint64 TotalAvailableSpace;
276           };  
277           
278            
279           // ==================================================================
280           // StorageCapabilities
281           // ==================================================================
282           [Experimental, Version ("2.7.0"), Description (
283               "A subclass of Capabilities that defines the " 
284               "Capabilities of a StorageService or StoragePool. "
285               "For example, an instance of StorageCapabilities could be"
286               "associated with either a StorageConfigurationService or "
287               "StoragePool by using ElementCapabilities.") ]
288           class CIM_StorageCapabilities : CIM_Capabilities {
289           
290               [Description (
291                   "Enumeration indicating the type of instance to which this "
292                   "StorageCapabilities applies."),
293                   ValueMap{"0", "1", "2", "3", "4", "5", "6"},
294                   Values {"Unknown", "Reserved", "Any Type", "StorageVolume", 
295 karl  1.1             "StorageExtent", "StoragePool", 
296                       "StorageConfigurationService"} ]
297               uint16 InstanceType;
298           
299               [Description (
300                   "Indicates whether or not the associated instance supports "
301                   "no single point of failure.  Values are: "
302                   "FALSE = does not support no single point of failure, "
303                   "and TRUE = supports no single point of failure.") ]
304               boolean NoSinglePointOfFailure;
305           
306               [Description (
307                   "Indicates the default value for the NoSinglePointOfFailure "
308                   "property."),
309                   ModelCorrespondence {
310                       "CIM_StorageCapabilities.NoSinglePointOfFailure"} ]
311               boolean NoSinglePointOfFailureDefault;
312           
313               [MinValue (1), Description (
314                   "DataRedundancyMax describes the maximum number of complete "
315                   "copies of data that can be maintained. Examples would be "
316 karl  1.1         "RAID 5 where 1 copy is maintained and RAID 1 where 2 or "
317                   "more copies are maintained.  Possible values are 1 to n."),
318                   ModelCorrespondence {"CIM_StorageCapabilities.DataRedundancyMin"} ]
319               uint16 DataRedundancyMax;
320           
321               [MinValue (1), Description (
322                   "DataRedundancyMin describes the minimum number of complete "
323                   "copies of data that can be maintained. Examples would be "
324                   "RAID 5 where 1 copy is maintained and RAID 1 where 2 or "
325                   "more copies are maintained.  Possible values are 1 to n."),
326                   ModelCorrespondence {"CIM_StorageCapabilities.DataRedundancyMax"} ]
327               uint16 DataRedundancyMin;
328           
329               [MinValue(1), Description (
330                   "DataRedundancyDefault describes the default number of "
331                   "complete copies of data that can be maintained. Examples "
332                   "would be RAID 5 where 1 copy is maintained and RAID 1 where "
333                   "2 or more copies are maintained.  Possible values are "
334                   "1 to n.") ]
335               uint16 DataRedundancyDefault;
336           
337 karl  1.1     [Description (
338                   "SpindleRedundancyMax describes the maximum number of spindles "
339                   "that can be used.  Spindle redundancy describes how many disk "
340                   "spindles can fail without data loss including, at most, one "
341                   "spare. Examples would be RAID5 with a Spindle Redundancy of "
342                   "1, RAID6 with 2, RAID 6 with 2 spares would be 3. Possible "
343                   "values are 0 to n."), 
344                   ModelCorrespondence {
345                       "CIM_StorageCapabilities.SpindleRedundancyMin"} ]
346               uint16 SpindleRedundancyMax;
347           
348               [Description (
349                   "SpindleRedundancyMin describes the minimum number of spindles "
350                   "that can be used.  Spindle redundancy describes how many disk "
351                   "spindles can fail without data loss including, at most, one "
352                   "spare. Examples would be RAID5 with a Spindle Redundancy of "
353                   "1, RAID6 with 2, RAID 6 with 2 spares would be 3. Possible "
354                   "values are 0 to n."),
355                   ModelCorrespondence {
356                       "CIM_StorageCapabilities.SpindleRedundancyMax"} ]
357               uint16 SpindleRedundancyMin;
358 karl  1.1 
359               [Description (
360                   "SpindleRedundancyDefault describes the default number of "
361                   "spindles that can be used. Spindle redundancy describes "
362                   "how many disk spindles can fail without data loss including, "
363                   "at most, one spare. Examples would be RAID5 with a Spindle "
364                   "Redundancy of 1, RAID6 with 2, RAID 6 with 2 spares would be "
365                   "3. Possible values are 0 to n.") ]
366               uint16 SpindleRedundancyDefault;
367           
368               [MinValue (1), MaxValue (100), Description (
369                   "Delta reservation is a number between 1 (1%) and a 100 (100%) "
370                   "that specifies how much space should be reserved in a replica "
371                   "for caching changes. For a complete copy this would be 100%, "
372                   "but it can be lower in some implementations. This parameter "
373                   "sets the upper limit."),
374                   ModelCorrespondence {
375                       "CIM_StorageCapabilities.DeltaReservationMin"} ]
376               uint16 DeltaReservationMax;
377           
378               [MinValue (1), MaxValue (100), Description (
379 karl  1.1         "Delta reservation is a number between 1 (1%) and a 100 (100%) "
380                   "that specifies how much space should be reserved in a replica "
381                   "for caching changes. For a complete copy this would be 100%, "
382                   "but it can be lower in some implementations. This parameter "
383                   "sets the lower limit."), 
384                   ModelCorrespondence {
385                       "CIM_StorageCapabilities.DeltaReservationMax"} ]
386               uint16 DeltaReservationMin;
387           
388               [MinValue (1), MaxValue (100), Description (
389                   "Delta reservation is a number between 1 (1%) and a 100 (100%) "
390                   "that specifies how much space should be reserved in a replica "
391                   "for caching changes. For a complete copy this would be 100%, "
392                   "but it can be lower in some implementations. This parameter "
393                   "sets the default value.") ]
394               uint16 DeltaReservationDefault;
395           };
396           
397           
398           // ==================================================================
399           // StorageConfigurationService 
400 karl  1.1 // ==================================================================
401           [Experimental, Version ("2.7.1"), Description (
402               "This service allows the active management of a Storage "
403               "Server. It allows jobs to be started for the creation, "
404               "modification and deletion of storage objects (StoragePools "
405               "and StorageVolumes).") ]
406           class CIM_StorageConfigurationService : CIM_Service {
407           
408               [Description (
409                   "Starts a job to create (or modify) a StoragePool.  The "
410                   "StoragePool will be (or must be) scoped to the same System "
411                   "as this Service. One of the parameters for this method is "
412                   "Size. As an input parameter, Size specifies the desired size. "
413                   "As an output parameter, Size specifies the size achieved. "
414                   "Space is taken from either or both of the specified input "
415                   "StoragePools and StorageExtents (InPools and InExtents). "
416                   "The capability requirements that the Pool must support "
417                   "are defined using the Goal parameter. If the requested "
418                   "pool size cannot be created, no action will be taken, the "
419                   "Return Value will be 0x1002, and the output value of "
420                   "Size will be set to the nearest possible size. If 0 is "
421 karl  1.1         "returned, then the task completed successfully and the "
422                   "use of ConcreteJob was not required. If the task will take "
423                   "some time to complete, a ConcreteJob will be created "
424                   "and its reference returned in the output paramter Job."),
425                   ValueMap {"0", "1", "2", "3", "4", "5", "..", 
426                       "0x1000", "0x1001", "0x1002..0x7777", "0x8000.."},
427                   Values {"Job Completed with No Error", "Not Supported", 
428                       "Unknown", "Timeout", "Failed", "Invalid Parameter", 
429                       "DMTF Reserved", "Method Parameters Checked - Job Started",
430                       "Size Not Supported", "Method Reserved", 
431                       "Vendor Specific"} ]
432               uint32 CreateOrModifyStoragePool ( 
433                   [OUT, IN(false), Description (
434                       "Reference to the job (may be null if job completed).") ]
435                   CIM_ConcreteJob REF Job,
436                   [IN, Description (
437                       "Reference to an instance of StorageSetting that defines "
438                       "the desired capabilities of the StoragePool. If set to a "
439                       "null value, the default configuration from the source "
440                       "pool will be used.") ]
441                   CIM_StorageSetting REF Goal,
442 karl  1.1         [IN, OUT, Description (
443                       "As an input parameter this specifies the desired pool size. "
444                       "As an output parameter this specifies the size "
445                       "achieved.") ] 
446                   uint64 Size,
447                   [IN, Description (
448                      "Array of strings containing representations of "
449                      "references to CIM_StoragePool instances, that are used "
450                      "to create the Pool.") ]
451                   string InPools[],
452                   [IN, Description (
453                      "Array of strings containing representations of "
454                      "references to CIM_StorageExtent instances, that are used "
455                      "to create the Pool.") ]
456                   string InExtents[],
457                   [IN, OUT, Description (
458                       "As an input parameter: if null, creates a new StoragePool. "
459                       "If not null, modifies the Pool. When returned, it is a "
460                       "reference to the resulting StoragePool.") ] 
461                   CIM_StoragePool REF Pool);
462           
463 karl  1.1     [Description (
464                   "Start a job to create (or modify) a specified element (for "
465                   "example a StorageVolume, StorageExtent, or StoragePool) from "
466                   "a StoragePool. One of the parameters for this method is "
467                   "Size. As an input parameter, Size specifies the desired size. "
468                   "As an output parameter, Size specifies the size achieved. "
469                   "Space is taken from the input StoragePool. The desired "
470                   "settings for the element are specified by the Goal parameter. "
471                   "If the requested size cannot be created, no action "
472                   "will be taken, and the Return Value will be 0x1001. Also, "
473                   "the output value of Size is set to the nearest possible "
474                   "size. If 0 is returned, the function completed successfully "
475                   "and no ConcreteJob instance was required.  If 0x1000 is "
476                   "returned, a ConcreteJob will be started to create the "
477                   "element. The Job's reference will be returned in the "
478                   "output paramter Job."), 
479                   ValueMap {"0", "1", "2", "3", "4", "5", "..", 
480                       "0x1000", "0x1001", "0x1002..0x7777", "0x8000.."},
481                   Values {"Job Completed with No Error", "Not Supported", 
482                       "Unknown", "Timeout", "Failed", "Invalid Parameter", 
483                       "DMTF Reserved", "Method Parameters Checked - Job Started",
484 karl  1.1             "Size Not Supported", "Method Reserved",
485                       "Vendor Specific"} ]
486               uint32 CreateOrModifyElementFromStoragePool(
487                   [IN, Description (
488                       "Enumeration indicating the type of element being created "
489                       "or modified. If the input parameter Element is specified "
490                       "when the operation is a 'modify', this type value must "
491                       "match the type of that instance."),
492                       ValueMap{"0", "1", "2", "3", "..", "0x8000.."},
493                       Values {"Unknown", "Reserved", "StorageVolume", 
494                           "StorageExtent", "DMTF Reserved", "Vendor Specific"} ]
495                   uint16 ElementType,
496                   [OUT, IN(false), Description (
497                       "Reference to the job (may be null if job completed).") ]
498                   CIM_ConcreteJob REF Job,
499                   [IN, Description (
500                       "The requirements for the element to maintain. If set to "
501                       "a null value, the default configuration from the source "
502                       "pool will be used.") ]
503                   CIM_StorageSetting REF Goal,
504                   [IN, OUT, Description (
505 karl  1.1             "As an input parameter Size specifies the desired size. "
506                       "As an output parameter Size specifies the size "
507                       "achieved.") ] 
508                   uint64 Size,
509                   [IN, Description (
510                       "The Pool from which to create the element. This parameter "
511                       "must be set to null if the input parameter Element is "
512                       "specified (in the case of a 'modify' operation).") ] 
513                   CIM_StoragePool REF InPool,
514                   [IN, OUT, Description (
515                       "As an input parameter: if null, creates a new element. If "
516                       "not null, then the method modifies the specified element. "
517                       "As an output parameter, it is a reference to the "
518                       "resulting element.") ] 
519                   CIM_LogicalElement REF TheElement);
520           
521               [Description (
522                   "Start a job to delete a StoragePool. The freed space is "
523                   "returned to the source StoragePool.  If 0 is returned, the "
524                   "function completed successfully, and no ConcreteJob was "
525                   "required. If 0x1000 is returned, a ConcreteJob will be started "
526 karl  1.1         "to delete the StoragePool. A reference to the Job is returned "
527                   "in the Job parameter."),
528                   ValueMap {"0", "1", "2", "3", "4", "5", "..", "0x1000",
529                       "0x1001..0x7777", "0x8000.."},
530                   Values {"Job Completed with No Error", "Not Supported", 
531                       "Unknown", "Timeout", "Failed", "Invalid Parameter", 
532                       "DMTF Reserved", "Method Parameters Checked - Job Started",
533                       "Method Reserved", "Vendor Specific"} ]
534               uint32 DeleteStoragePool (
535                   [OUT, IN(false), Description (
536                       "Reference to the job (may be null if job completed).") ]
537                   CIM_ConcreteJob REF Job,
538                   [IN, Description (
539                       "Reference to the pool to delete.") ] 
540                   CIM_StoragePool REF Pool);
541           
542               [Description (
543                   "Start a job to delete an element previously created from a "
544                   "StoragePool. The freed space is returned to the source "
545                   "StoragePool. If 0 is returned, the function completed "
546                   "successfully and no ConcreteJob was required. If 0x1000 is "
547 karl  1.1         "returned, a ConcreteJob will be started to delete the element. "
548                   "A reference to the Job is returned in the Job parameter."),
549                   ValueMap {"0", "1", "2", "3", "4", "5", "..", "0x1000",
550                       "0x1001..0x7777", "0x8000.."},
551                   Values {"Job Completed with No Error", "Not Supported", 
552                       "Unknown", "Timeout", "Failed", "Invalid Parameter", 
553                       "DMTF Reserved", "Method Parameters Checked - Job Started",
554                       "Method Reserved", "Vendor Specific"} ]
555               uint32 ReturnToStoragePool(
556                   [OUT, IN(false), Description (
557                       "Reference to the job (may be null if job completed).") ]
558                   CIM_ConcreteJob REF Job,
559                   [IN, Description (
560                       "Reference to the element to return to the StoragePool.") ] 
561                   CIM_LogicalElement REF TheElement);
562           
563               [Description (
564                   "Start a job to create a new storage object which "
565                   "is a replica of the source storage object. Note that using "
566                   "the input paramter, CopyType, this function can be used to "
567                   "instantiate the replica, and to create an ongoing "
568 karl  1.1         "association between the source and replica. If 0 is "
569                   "returned, the function completed successfully and "
570                   "no ConcreteJob instance is created. If 0x1000 is returned, "
571                   "a ConcreteJob is started, a reference to which is "
572                   "returned in the Job output parameter."),
573                   ValueMap {"0", "1", "2", "3", "4", "5", "..", "0x1000",
574                       "0x1001..0x7777", "0x8000.."},
575                   Values {"Job Completed with No Error", "Not Supported", 
576                       "Unknown", "Timeout", "Failed", "Invalid Parameter", 
577                       "DMTF Reserved", "Method Parameters Checked - Job Started",
578                       "Method Reserved", "Vendor Specific"} ]
579               uint32 CreateReplica(
580                   [OUT, IN(false), Description (
581                       "Reference to the job (may be null if job completed).") ]
582                   CIM_ConcreteJob REF Job,
583                   [IN, Required, Description (
584                       "The source storage object.") ]
585                   CIM_LogicalElement REF SourceElement,
586                   [OUT, IN(false), Description (
587                       "Reference to the created target storage element "
588                       "(i.e., the replica).") ]
589 karl  1.1         CIM_LogicalElement REF TargetElement,
590                   [IN, Description (
591                       "The definition for the StorageSetting to be maintained "
592                       "by the target storage object (the replica).") ]
593                   CIM_StorageSetting REF TargetSettingGoal,
594                   [IN, Description (
595                       "The underlying storage for the target element (the "
596                       "replica) will be drawn from TargetPool if specified, "
597                       "otherwise the allocation is implementation specific.") ] 
598                   CIM_StoragePool REF TargetPool,
599                   [IN, Description (
600                       "CopyType describes the type of copy that will be made. "
601                       "Values are: \n "
602                       "  Async: Create and maintain an asynchronous "
603                       "copy of the source. \n "
604                       "  Sync: Create and maintain a synchronized copy "
605                       "of the source. \n" 
606                       "  UnSyncAssoc: Create an unsynchronized copy and "
607                       "maintain an association to the source. \n "
608                       "  UnSyncUnAssoc: Create unassociated copy of the "
609                       "source element."),
610 karl  1.1             ValueMap {"2", "3", "4", "5", "..", "0x8000.."},
611                       Values {"Async", "Sync", "UnSyncAssoc", "UnSyncUnAssoc",
612                           "DMTF Reserved", "Vendor Specific"} ]
613                   uint16 CopyType);
614           
615               [Description (
616                   "Starts a job to modify the synchronization association "
617                   "between two storage objects. If 0 is returned, the "
618                   "function completed successfully and no ConcreteJob "
619                   "instance was created. If 0x1000 is returned, a ConcreteJob "
620                   "was started. A reference to this Job is returned in "
621                   "the Job output parameter."),
622                   ValueMap {"0", "1", "2", "3", "4", "5", "..", "0x1000",
623                       "0x1001..0x7777", "0x8000.."},
624                   Values {"Job Completed with No Error", "Not Supported", 
625                       "Unknown", "Timeout", "Failed", "Invalid Parameter", 
626                       "DMTF Reserved", 
627                       "Method Parameters Checked - Job Started",
628                       "Method Reserved", "Vendor Specific"} ]
629               uint32 ModifySynchronization(
630                   [IN, Description (
631 karl  1.1             "Operation describes the type of modification "
632                       "to be made to the replica. Values are: \n "
633                       "  Detach: 'Forget' the synchronization between "
634                       "two storage objects. Start to treat the objects as "
635                       "independent. \n "
636                       "  Fracture: Suspend the synchronization between "
637                       "two storage objects. The association and "
638                       "(typically) changes are remembered to allow a fast "
639                       "resynchronization. This may be used during "
640                       "a backup cycle to allow one of the objects to be "
641                       "copied while the other remains in production. \n"
642                       "  Resync Replica: Re-establish the synchronization of "
643                       "a replica. If CopyJob is Sync or Async, this will "
644                       "negate the action of a previous Fracture operation. \n"
645                       "  Restore from Replica: Renew the contents of "
646                       "the original storage object from a replica."),
647                       ValueMap {"0","1","2", "3", "4", "5", "..", "0x8000.."},
648                       Values {" DMTF Reserved", "DMTF Reserved", "Detach", 
649                            "Fracture", "Resync Replica", "Restore from Replica",
650                            "DMTF Reserved", "Vendor Specific"} ]
651                   uint16 Operation,
652 karl  1.1         [OUT, IN(false), Description (
653                       "Reference to the job (may be null if job completed).") ]
654                   CIM_ConcreteJob REF Job,
655                   [IN, Description (
656                       "The referenced to the StorageSynchronized association "
657                       "describing the storage source/replica relationship.") ]
658                   CIM_StorageSynchronized REF Synchronization);
659           };
660           
661           
662           // ====================================================================
663           // StorageSettingWithHints
664           // ====================================================================
665           [Experimental, Version("2.7.1"), Description (
666               "This subclass of StorageSetting allows a client to specify "
667               "'hint's for optimization of the volume performance. The effect "
668               "of these hints is implementation dependent.") ]
669           class CIM_StorageSettingWithHints: CIM_StorageSetting {
670               
671               [MinValue (0), MaxValue (10), Description (
672                   "This hint is an indication from a client of the importance "
673 karl  1.1         "placed on data availability. Values are 0=Don't Care to "
674                   "10=Very Important.") ]
675               uint16 DataAvailabilityHint;
676                   
677               [MinValue (0), MaxValue (10), Description (
678                   "This hint is an indication from a client of the randomness "
679                   "of accesses. Values are 0=Entirely Sequential to "
680                   "10=Entirely Random.") ]
681               uint16 AccessRandomnessHint;
682           
683               [MinValue (0), MaxValue (10), Description (
684                   "This hint is an indication from a client of the direction "
685                   "of accesses. Values are 0=Entirely Read to "
686                   "10=Entirely Write.") ]
687               uint16 AccessDirectionHint;
688           
689               [Description (
690                   "This hint is an indication from a client of the optimal "
691                   "access sizes.  Several sizes can be specified."),
692                   Units ("MegaBytes") ]
693               uint16 AccessSizeHint[];
694 karl  1.1 
695               [MinValue (0), MaxValue (10), Description (
696                   "This hint is an indication from a client how important "
697                   "access latency is. Values are 0=Don't Care to "
698                   "10=Very Important.") ]
699               uint16 AccessLatencyHint;
700           
701               [MinValue (0), MaxValue (10), Description (
702                   "This hint is an indication from a client of bandwidth "
703                   "prioritization. Values are 0=Don't Care to "
704                   "10=Very Important.") ]
705               uint16 AccessBandwidthWeight;
706           
707               [MinValue (0), MaxValue (10), Description (
708                   "This hint is an indication of the importance the client "
709                   "places on the cost of storage. Values are 0=Don't Care to "
710                   "10=Very Important. A StorageVolume provider might choose "
711                   "to place data on low cost or high cost drives based on "
712                   "this parameter.") ]
713               uint16 StorageCostHint;
714           
715 karl  1.1     [MinValue (0), MaxValue (10), Description (
716                   "This hint is an indication of the importance placed on "
717                   "storage efficiency by the client. Values are 0=Don't Care "
718                   "to 10=Very Important. A StorageVolume provider might choose "
719                   "different RAID levels based on this hint.") ]
720               uint16 StorageEfficiencyHint;
721           };
722           
723           
724           // ==================================================================
725           // HostedStoragePool
726           // ==================================================================
727           [Association, Aggregation, Experimental, Composition, 
728               Version ("2.7.0"), Description (
729                   "SystemStoragePool is a specialization of SystemComponent "
730                   "association that establishes that the StoragePool is "
731                   "defined in the context of the System.") ]
732           class CIM_HostedStoragePool : CIM_SystemComponent {
733                   
734               [Override ("GroupComponent"), Aggregate, Max (1), Min (1), 
735                   Description ("The parent system in the Association.") ] 
736 karl  1.1     CIM_System REF GroupComponent;
737            
738               [Override ("PartComponent"), Description (
739                   "The StoragePool that is a component of a System.") ] 
740               CIM_StoragePool REF PartComponent;
741           };
742           
743           
744           // ===================================================================
745           // AllocatedFromStoragePool
746           // ===================================================================
747           [Association, Experimental, Version ("2.7.0"), Description (
748               "AllocatedFromStoragePool is an association describing how "
749               "LogicalElements are allocated from underlying StoragePools. "
750               "These elements typically would be subclasses of StorageExtents "
751               "or StoragePools.") ] 
752           class CIM_AllocatedFromStoragePool : CIM_Dependency {
753               
754               [Override ("Antecedent"), 
755                   Description ("The StoragePool.") ]
756               CIM_StoragePool REF Antecedent;
757 karl  1.1 
758               [Override ("Dependent"),
759                   Description ("The subsidiary element.") ]
760               CIM_LogicalElement REF Dependent;
761           
762               [Description (
763                   "Space Consumed from this Pool"), Units("MegaBytes") ]
764               uint64 SpaceConsumed;
765           };
766           
767           
768           // ===================================================================
769           // ConfigurationReportingService
770           // ===================================================================
771           [Experimental, Description (
772               "Service to provide reports on current configuration and "
773               "potential for growth. The service may be used in several "
774               "circumstances: \n"
775               "- To report growth potential (how many can I have) \n"
776               "- To report information on objects not directly modeled for "
777               "performance or other reasons. \n "
778 karl  1.1     "It can also report counts of 'things' or counts of 'units'. "
779               "For example, the number of disk drives could be reported or the "
780               "capacity that they would provide.") ]
781           class CIM_ConfigurationReportingService : CIM_Service {
782           
783               [Description (
784                   "Returns a list of classes that the given Managed"
785                   "Element supports or has installed."), 
786                   ValueMap {"0", "1", "2", "3", "4", "..", "0x8000.."},
787                   Values {"Success", "Not Supported", "Unknown",
788                       "Timeout", "Failed", "DMTF Reserved",
789                       "Vendor Specific"} ]
790               uint32 GetClassTypes(
791                   [IN, ValueMap {"2", "3"}, 
792                       Values {"Supports", "Installed"},
793                       Description (
794                           "The type of inquiry to be performed.") ] 
795                   uint16 InquiryType,
796                   [IN, Description (
797                       "False : Only report on elements directly contained "
798                       "in/attached to the given ManagedElement. \n"
799 karl  1.1             "True : Report on all objects contained in/attached "
800                       "to the given ManagedElement.") ]
801                   boolean Recursive,
802                   [IN, Description (
803                       "The target of query, for example a rack or a chassis.") ]
804                   CIM_ManagedElement REF Target,
805                   [OUT, IN (false), Description (
806                       "Array containing the class names (typically the leaf "
807                       "classes) that the given ManagedElement can support or "
808                       "has installed.") ]
809                   string ClassTypes[]);
810           
811               [Description (
812                   "Returns a list of UnitTypes that are installed for "
813                   "a given ClassType on a given ManagedElement."),
814                   ValueMap {"0", "1", "2", "3", "4", "..", "0x8000.."},
815                   Values {"Success", "Not Supported", "Unknown",
816                       "Timeout", "Failed", "DMTF Reserved",
817                       "Vendor Specific"} ]
818               uint32 GetUnitTypes(
819                   [IN, ValueMap {"2", "3"}, 
820 karl  1.1             Values {"Supported", "Installed"},
821                       Description ("The type of inquiry to be performed.") ] 
822                   uint16 InquiryType,
823                   [IN, Description (
824                       "False : Only report on elements directly contained "
825                       "in/attached to the given ManagedElement. \n"
826                       "True : Report on all objects contained in/attached "
827                       "to the given ManagedElement.") ]
828                   boolean Recursive,
829                   [IN, Description (
830                       "The target of query, for example a rack or a chassis.") ]
831                   CIM_ManagedElement REF Target,
832                   [IN, Description (
833                       "The ClassType for the query. This should be a entry "
834                       "returned in the GetClassTypes.ClassTypes property.") ]
835                   string ClassType,
836                   [OUT, IN (false), Description (
837                       "A list of supported UnitTypes."),
838                       ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", 
839                           "10", "..", "0x8000.."},
840                       Values {"None", "Front Side", "Back Side", "Contained",
841 karl  1.1                 "Connected", "I/O", "Memory", "StorageMediaLocation",
842                           "Megabytes", "DMTF Reserved", "Vendor Specific"},
843                       ModelCorrespondence {
844                           "CIM_ConfigurationReportingService."
845                           "ReportCapacity(UnitType)"} ]
846                   uint16 UnitTypes[]);
847           
848               [Description (
849                   "Returns the maximum number supported or the "
850                   "number of currently installed units for the given UnitType, "
851                   "for a given ClassType on a given ManagedElement."),
852                   ValueMap {"0", "1", "2", "3", "4", "..", "0x8000.."},
853                   Values {"Success", "Not Supported", "Unknown",
854                       "Timeout", "Failed", "DMTF Reserved",
855                       "Vendor Specific"} ]
856               uint32 ReportCapacity(
857                   [IN, ValueMap {"2", "3"}, 
858                       Values {"Supported", "Installed"},
859                       Description ("The type of inquiry to be performed.") ] 
860                   uint16 InquiryType,
861                   [IN, Description (
862 karl  1.1             "False : Only report on elements directly contained "
863                       "in/attached to the given ManagedElement. \n"
864                       "True : Report on all objects contained in/attached "
865                       "to the given ManagedElement.") ]
866                   boolean Recursive,
867                   [IN, Description (
868                       "The target of query, for example a rack or a chassis.") ]
869                   CIM_ManagedElement REF Target,
870                   [IN, Description (
871                       "The ClassType for the query. This should be a entry "
872                       "returned in the GetClassTypes.ClassTypes property.") ]
873                   string ClassType,
874                   [IN, Description (
875                       "The UnitType for the query."),
876                       ValueMap{"2", "3", "4", "5", "6", "7", "8", "9",
877                           "10", "..", "0x8000.."},
878                       Values {"None", "Front Side", "Back Side", "Contained",
879                           "Connected", "I/O", "Memory", "StorageMediaLocation",
880                           "Megabytes", "DMTF Reserved", "Vendor Specific"},
881                       ModelCorrespondence {
882                           "CIM_ConfigurationReportingService."
883 karl  1.1                 "GetUnitTypes(UnitTypes)"} ]
884                   uint16 UnitType,
885                   [OUT, IN (false), Description (
886                       "The maximum number of supported or the number of "
887                       "currently installed units.") ]
888                   uint64 NumberOfUnits);
889           };
890           
891           
892           // ===================================================================
893           // end of file
894           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2