// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="DMTFCR01466.001" type ="add">Fix descriptions</
// <change cr="SysDevCR00717.001" type ="add">Remove Experimental</
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_IsSpare 
// ==================================================================
   [Association, Version ( "2.10.0" ), 
    UMLPackagePath ( "CIM::Core::Redundancy" ), 
    Description ( 
       "The IsSpare association indicates an element that can spare or "
       "replace any of the elements in the referenced RedundancySet. "
       "If the \'spare\' is itself a Collection, this indicates that "
       "each of the \'spare\' members can replace any of the elements "
       "in the RedundancySet. In the case of a collection all of the "
       "values in the properties of this association MUST apply to all "
       "members of the Collection. \n"
       "If this is not true, then the Collection SHOULD be broken down "
       "into smaller sets (and the IsSpare association defined for "
       "each of these smaller sets), such that the properties of this "
       "association apply to all collected members." )]
class CIM_IsSpare : CIM_Dependency {

      [Override ( "Antecedent" ), 
       Description ( 
          "A ManagedElement or Collection of elements acting as a spare."
           )]
   CIM_ManagedElement REF Antecedent;

      [Override ( "Dependent" ), 
       Description ( "The set of elements that ARE spared." )]
   CIM_RedundancySet REF Dependent;

      [Description ( 
          "Indicates the state of the \'spare\'. \n"
          "- Hot Standby. The element is available \'immediately\' "
          "to become a functioning member of the set. Such an "
          "element is powered on and has been initialized for it\'s "
          "role as a spare. \n"
          "- Cold Standby. The element is not available to join the "
          "set without action to prepare it." ), 
       ValueMap { "0", "2", "3" }, 
       Values { "Unknown", "Hot Standby", "Cold Standby" }]
   uint16 SpareStatus;

      [Description ( 
          "Indicates whether or not the failover to the spare is a "
          "manual or automatic action." ), 
       ValueMap { "0", "2", "3", "4" }, 
       Values { "Unknown", "Automatic", "Manual", 
          "Both Manual and Automatic" }]
   uint16 FailoverSupported;


};
