// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="SysDevCR00722.000" type ="change">Update of
// descriptions based on Tech Edit review.</
// <change cr="SysDevCR00726.001" type ="add">Clarify ElementEffects
// description</
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// <change cr="CIMCoreCR00864" type="add">Update description of 
// "Manages" value of property ElementAffects .</change>
// ==================================================================
//  CIM_ServiceAffectsElement
// ==================================================================
   [Association, Version ( "2.14.0" ), 
    UMLPackagePath ( "CIM::Core::Service" ), 
    Description ( 
       "ServiceAffectsElement represents an association between a "
       "Service and the ManagedElements that might be affected by its "
       "execution. Instantiating this association indicates that "
       "running the service may change, manage, provide functionality "
       "for,or pose some burden on the ManagedElement. This burden "
       "might affect performance, throughput, availability, and so on." )]
class CIM_ServiceAffectsElement {

      [Key, Description ( 
          "The Managed Element that is affected by the Service." )]
   CIM_ManagedElement REF AffectedElement;

      [Key, Description ( 
          "The Service that is affecting the ManagedElement." )]
   CIM_Service REF AffectingElement;

      [Description ( 
          "An enumeration that describes the effect on the "
          "ManagedElement. This array corresponds to the "
          "OtherElementEffectsDescriptions array, where the latter "
          "provides details that are related to the high-level "
          "effects enumerated by this property. Additional detail "
          "is required if the ElementEffects array contains the "
          "value 1 (Other). The values are defined as follows: \n"
          "- Exclusive Use (2): No other Service may have this "
          "association to the element. \n"
          "- Performance Impact (3): Deprecated in favor of "
          "\"Consumes\", \"Enhances Performance\", or \"Degrades "
          "Performance\". Execution of the Service may enhance or "
          "degrade the performance of the element. This may be as a "
          "side-effect of execution or as an intended consequence "
          "of methods provided by the Service. \n"
          "- Element Integrity (4): Deprecated in favor of "
          "\"Consumes\", \"Enhances Integrity\", or \"Degrades "
          "Integrity\". Execution of the Service may enhance or "
          "degrade the integrity of the element. This may be as a "
          "side-effect of execution or as an intended consequence "
          "of methods provided by the Service. \n"
          "- Manages (5): The Service manages the element. \n"
          "- Consumes (6): Execution of the Service consumes some "
          "or all of the associated element as a consequence of "
          "running the Service. For example, the Service may "
          "consume CPU cycles, which may affect performance, or "
          "Storage which may affect both performance and integrity. "
          "(For instance, the lack of free storage can degrade "
          "integrity by reducing the ability to save state. ) "
          "\"Consumes\" may be used alone or in conjunction with "
          "other values, in particular, \"Degrades Performance\" "
          "and \"Degrades Integrity\". \n"
          "\"Manages\" and not \"Consumes\" should be used to "
          "reflect allocation services that may be provided by a "
          "Service. \n"
          "- Enhances Integrity (7): The Service may enhance "
          "integrity of the associated element. \n"
          "- Degrades Integrity (8): The Service may degrade "
          "integrity of the associated element. \n"
          "- Enhances Performance (9): The Service may enhance "
          "performance of the associated element. \n"
          "- Degrades Performance (10): The Service may degrade "
          "performance of the associated element." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "..", "0x8000..0xFFFF" }, 
       Values { "Unknown", "Other", "Exclusive Use", 
          "Performance Impact", "Element Integrity", "Manages", 
          "Consumes", "Enhances Integrity", "Degrades Integrity", 
          "Enhances Performance", "Degrades Performance", 
          "DMTF Reserved", "Vendor Reserved" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_ServiceAffectsElement.OtherElementEffectsDescriptions" }]
   uint16 ElementEffects[];

      [Description ( 
          "Provides details for the effect at the corresponding "
          "array position in ElementEffects. This information is "
          "required if ElementEffects contains the value 1 (Other)." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_ServiceAffectsElement.ElementEffects" }]
   string OtherElementEffectsDescriptions[];


};
