// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="CIMCoreCR00820.003" type ="change">Remove Experimental
// from class.</change>
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_StorageRedundancySet 
// ==================================================================
   [Version ( "2.8.1000" ), 
    UMLPackagePath ( "CIM::Core::Redundancy" ), 
    Description ( 
       "A class derived from RedundancySet describing storage-related "
       "redundancy information. StorageRedundancySets are used to "
       "protect user data. They aggregate one or more underlying "
       "StorageExtents, associated via MemberOfCollection, and produce "
       "one or more higher-level Extents. The Extents are related to "
       "each other via a BasedOn association. And, the higher level "
       "Extent is related to the StorageRedundancy Set via the "
       "LogicalIdentity association. \n"
       "Note that StorageRedundancySets may overlap in their "
       "aggregation of members. If this occurs, the overlapping "
       "Extents SHOULD NOT contain any check data." )]
class CIM_StorageRedundancySet : CIM_RedundancySet {

      [Description ( 
          "TypeOfAlgorithm specifies the algorithm used for storage "
          "data redundancy and reconstruction. For example, \'P+Q\' "
          "(=5) or \'P+S\' (=7) may be specified." ), 
       ValueMap { "0", "1", "3", "4", "5", "6", "7" }, 
       Values { "Unknown", "Other", "Copy", "XOR", "P+Q", "S", "P+S" }, 
       MappingStrings { "MIF.DMTF|Redundancy Group|001.2" }, 
       ModelCorrespondence { 
          "CIM_StorageRedundancySet.OtherAlgorithm" }]
   uint16 TypeOfAlgorithm;

      [Description ( 
          "A string describing the redundancy algorithm when the "
          "TypeOfAlgorithm is set to 1 \'Other\'." ), 
       ModelCorrespondence { 
          "CIM_StorageRedundancySet.TypeOfAlgorithm" }]
   string OtherAlgorithm;


};
