// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="SysDevCR00717.001" type ="add">Deprecated</change>
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_StorageRedundancyGroup
// ==================================================================
   [Deprecated { "CIM_StorageRedundancySet" }, 
    Version ( "2.13.0" ), 
    UMLPackagePath ( "CIM::Core::Redundancy" ), 
    Description ( 
       "A class derived from RedundancyGroup containing mass "
       "storage-related redundancy information. StorageRedundancy "
       "Groups are used to protect user data. They act on one or more "
       "underlying StorageExtents, associated via "
       "ExtentRedundancyComponent and produce one or more protected "
       "StorageExtents that are associated to the underlying "
       "StorageExtents via ProtectedExtentBasedOn or "
       "CompositeExtentBasedOn. StorageRedundancyGroups may overlap. "
       "However, the underlying StorageExtents within the overlap "
       "should not contain any check data. \n"
       "The use of this class is being deprecated in lieu of using the "
       "StorageRedundancySet class." )]
class CIM_StorageRedundancyGroup : CIM_RedundancyGroup {

      [Deprecated { "CIM_StorageRedundancySet.TypeOfAlgorithm" }, 
       Description ( 
          "The TypeOfAlgorithm specifies the algorithm used for "
          "data redundancy and reconstruction. For example, \"P+Q\" "
          "(value =5) or \"P+S\" (7) may be specified. The value of "
          "0, is defined as \"None\" to indicate that data "
          "redundancy is not active. An inactive redundancy should "
          "only be instantiated if data striping or concatenation "
          "are active. These are indicated by the IsStriped or "
          "IsConcatentated boolean properties of this "
          "RedundancyGroup." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, 
       Values { "None", "Other", "Unknown", "Copy", "XOR", "P+Q", 
          "S", "P+S" }, 
       MappingStrings { "MIF.DMTF|Redundancy Group|001.2" }]
   uint16 TypeOfAlgorithm;

      [Deprecated { "No Value" }, 
       Description ( 
          "StorageRedundancy provides additional information on the "
          "state of the RedundancyGroup, beyond the "
          "RedundancyStatus property. Information like \"Reconfig "
          "In Progress\" (value =1) or \"Redundancy Disabled\" can "
          "be specified using this property." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
       Values { "No Additional Status", "Reconfig In Progress", 
          "Data Lost", "Not Currently Configured", 
          "Protected Rebuild", "Redundancy Disabled", 
          "Unprotected Rebuild", "Recalculating", "Verifying" }]
   uint16 StorageRedundancy;

      [Deprecated { "CIM_CompositeExtent.ExtentStripeLength" }, 
       Description ( 
          "True indicates that the data is striped across the "
          "various StorageExtents in the Group." )]
   boolean IsStriped;

      [Deprecated { "CIM_CompositeExtent.IsConcatenated" }, 
       Description ( 
          "True indicates that the data is concatenated across the "
          "various StorageExtents in the Group." )]
   boolean IsConcatenated;


};
