// Copyright (c) 2008 DMTF.  All rights reserved.
   [Indication, Version ( "2.22.0" ), 
    UMLPackagePath ( "CIM::Event" ), 
    Description ( 
       "A concrete superclass for CIM Alert notifications. An "
       "AlertIndication is a specialized type of CIM_Indication that "
       "contains information about the severity, cause, recommended "
       "actions and other data of a real world event. This event and "
       "its data may or may not be modeled in the CIM class hierarchy." )]
class CIM_AlertIndication : CIM_ProcessIndication {

      [Description ( "A short description of the Indication." ), 
       MappingStrings { "Recommendation.ITU|X733.Additional text" }]
   string Description;

      [Description ( 
          "The identifying information of the entity (ie, the "
          "instance) for which this Indication is generated. The "
          "property contains the path of an instance, encoded as a "
          "string parameter - if the instance is modeled in the CIM "
          "Schema. If not a CIM instance, the property contains "
          "some identifying string that names the entity for which "
          "the Alert is generated. The path or identifying string "
          "is formatted per the AlertingElementFormat property." ), 
       ModelCorrespondence { 
          "CIM_AlertIndication.AlertingElementFormat" }]
   string AlertingManagedElement;

      [Description ( 
          "The format of the AlertingManagedElement property is "
          "interpretable based upon the value of this property. "
          "Values are defined as: \n"
          "0 - Unknown. The format is unknown or not meaningfully "
          "interpretable by a CIM client application. \n"
          "1 - Other. The format is defined by the value of the "
          "OtherAlertingElementFormat property. \n"
          "2 - CIMObjectPath. The format is a CIMObjectPath, with "
          "format <NamespacePath>:<ClassName>.<Prop1>=\"<Value1>\", "
          "<Prop2>=\"<Value2>\", . . . specifying an instance in "
          "the CIM Schema." ), 
       ValueMap { "0", "1", "2" }, 
       Values { "Unknown", "Other", "CIMObjectPath" }, 
       ModelCorrespondence { 
          "CIM_AlertIndication.AlertingManagedElement", 
          "CIM_AlertIndication.OtherAlertingElementFormat" }]
   uint16 AlertingElementFormat = 0;

      [Description ( 
          "A string defining \"Other\" values for "
          "AlertingElementFormat. This value MUST be set to a non "
          "NULL value when AlertingElementFormat is set to a value "
          "of 1 (\"Other\"). For all other values of "
          "AlertingElementFormat, the value of this string must be "
          "set to NULL." ), 
       ModelCorrespondence { 
          "CIM_AlertIndication.AlertingElementFormat" }]
   string OtherAlertingElementFormat;

      [Required, Description ( 
          "Primary classification of the Indication. The following "
          "values are defined: \n"
          "1 - Other. The Indication\'s OtherAlertType property "
          "conveys its classification. Use of \"Other\" in an "
          "enumeration is a standard CIM convention. It means that "
          "the current Indication does not fit into the categories "
          "described by this enumeration. \n"
          "2 - Communications Alert. An Indication of this type is "
          "principally associated with the procedures and/or "
          "processes required to convey information from one point "
          "to another. \n"
          "3 - Quality of Service Alert. An Indication of this type "
          "is principally associated with a degradation or errors "
          "in the performance or function of an entity. \n"
          "4 - Processing Error. An Indication of this type is "
          "principally associated with a software or processing "
          "fault. \n"
          "5 - Device Alert. An Indication of this type is "
          "principally associated with an equipment or hardware "
          "fault. \n"
          "6 - Environmental Alert. An Indication of this type is "
          "principally associated with a condition relating to an "
          "enclosure in which the hardware resides, or other "
          "environmental considerations. \n"
          "7 - Model Change. The Indication addresses changes in "
          "the Information Model. For example, it may embed a "
          "Lifecycle Indication to convey the specific model change "
          "being alerted. \n"
          "8 - Security Alert. An Indication of this type is "
          "associated with security violations, detection of "
          "viruses, and similar issues." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" }, 
       Values { "Other", "Communications Alert", 
          "Quality of Service Alert", "Processing Error", 
          "Device Alert", "Environmental Alert", "Model Change", 
          "Security Alert" }, 
       MappingStrings { "Recommendation.ITU|X733.Event type" }]
   uint16 AlertType;

      [Description ( 
          "A string describing the Alert type - used when the "
          "AlertType property is set to 1, \"Other State Change\"." ), 
       ModelCorrespondence { "CIM_AlertIndication.AlertType" }]
   string OtherAlertType;

      [Required, Override ( "PerceivedSeverity" ), 
       Description ( 
          "An enumerated value that describes the severity of the "
          "Alert Indication from the notifier\'s point of view: \n"
          "1 - Other, by CIM convention, is used to indicate that "
          "the Severity\'s value can be found in the OtherSeverity "
          "property. \n"
          "3 - Degraded/Warning should be used when its appropriate "
          "to let the user decide if action is needed. \n"
          "4 - Minor should be used to indicate action is needed, "
          "but the situation is not serious at this time. \n"
          "5 - Major should be used to indicate action is needed "
          "NOW. \n"
          "6 - Critical should be used to indicate action is needed "
          "NOW and the scope is broad (perhaps an imminent outage "
          "to a critical resource will result). \n"
          "7 - Fatal/NonRecoverable should be used to indicate an "
          "error occurred, but it\'s too late to take remedial "
          "action. \n"
          "2 and 0 - Information and Unknown (respectively) follow "
          "common usage. Literally, the AlertIndication is purely "
          "informational or its severity is simply unknown." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, 
       Values { "Unknown", "Other", "Information", 
          "Degraded/Warning", "Minor", "Major", "Critical", 
          "Fatal/NonRecoverable" }, 
       MappingStrings { "Recommendation.ITU|X733.Perceived severity" }]
   uint16 PerceivedSeverity;

      [Required, Description ( 
          "An enumerated value that describes the probable cause of "
          "the situation which resulted in the AlertIndication." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "12", "13", "14", "15", "16", "17", "18", 
          "19", "20", "21", "22", "23", "24", "25", "26", "27", 
          "28", "29", "30", "31", "32", "33", "34", "35", "36", 
          "37", "38", "39", "40", "41", "42", "43", "44", "45", 
          "46", "47", "48", "49", "50", "51", "52", "53", "54", 
          "55", "56", "57", "58", "59", "60", "61", "62", "63", 
          "64", "65", "66", "67", "68", "69", "70", "71", "72", 
          "73", "74", "75", "76", "77", "78", "79", "80", "81", 
          "82", "83", "84", "85", "86", "87", "88", "89", "90", 
          "91", "92", "93", "94", "95", "96", "97", "98", "99", 
          "100", "101", "102", "103", "104", "105", "106", "107", 
          "108", "109", "110", "111", "112", "113", "114", "115", 
          "116", "117", "118", "119", "120", "121", "122", "123", 
          "124", "125", "126", "127", "128", "129", "130" }, 
       Values { "Unknown", "Other", "Adapter/Card Error", 
          "Application Subsystem Failure", "Bandwidth Reduced", 
          "Connection Establishment Error", 
          "Communications Protocol Error", 
          "Communications Subsystem Failure", 
          "Configuration/Customization Error", "Congestion", 
          "Corrupt Data", "CPU Cycles Limit Exceeded", 
          "Dataset/Modem Error", "Degraded Signal", 
          "DTE-DCE Interface Error", "Enclosure Door Open", 
          "Equipment Malfunction", "Excessive Vibration", 
          "File Format Error", "Fire Detected", "Flood Detected", 
          "Framing Error", "HVAC Problem", "Humidity Unacceptable", 
          "I/O Device Error", "Input Device Error", "LAN Error", 
          "Non-Toxic Leak Detected", 
          "Local Node Transmission Error", "Loss of Frame", 
          "Loss of Signal", 
          //31 
          "Material Supply Exhausted", 
          "Multiplexer Problem", "Out of Memory", 
          "Output Device Error", "Performance Degraded", 
          "Power Problem", "Pressure Unacceptable", 
          "Processor Problem (Internal Machine Error)", 
          "Pump Failure", "Queue Size Exceeded", "Receive Failure", 
          "Receiver Failure", "Remote Node Transmission Error", 
          "Resource at or Nearing Capacity", 
          "Response Time Excessive", 
          "Retransmission Rate Excessive", "Software Error", 
          "Software Program Abnormally Terminated", 
          "Software Program Error (Incorrect Results)", 
          "Storage Capacity Problem", "Temperature Unacceptable", 
          "Threshold Crossed", "Timing Problem", 
          "Toxic Leak Detected", "Transmit Failure", 
          "Transmitter Failure", "Underlying Resource Unavailable", 
          "Version MisMatch", "Previous Alert Cleared", 
          //60 
          "Login Attempts Failed", 
          "Software Virus Detected", "Hardware Security Breached", 
          "Denial of Service Detected", 
          "Security Credential MisMatch", "Unauthorized Access", 
          "Alarm Received", "Loss of Pointer", "Payload Mismatch", 
          "Transmission Error", "Excessive Error Rate", 
          "Trace Problem", "Element Unavailable", "Element Missing", 
          "Loss of Multi Frame", "Broadcast Channel Failure", 
          "Invalid Message Received", "Routing Failure", 
          "Backplane Failure", "Identifier Duplication", 
          "Protection Path Failure", "Sync Loss or Mismatch", 
          "Terminal Problem", "Real Time Clock Failure", 
          "Antenna Failure", "Battery Charging Failure", 
          "Disk Failure", "Frequency Hopping Failure", 
          "Loss of Redundancy", "Power Supply Failure", 
          "Signal Quality Problem", 
          //91 
          "Battery Discharging", "Battery Failure", 
          "Commercial Power Problem", "Fan Failure", 
          "Engine Failure", "Sensor Failure", "Fuse Failure", 
          "Generator Failure", "Low Battery", "Low Fuel", 
          "Low Water", "Explosive Gas", "High Winds", "Ice Buildup", 
          "Smoke", "Memory Mismatch", "Out of CPU Cycles", 
          "Software Environment Problem", 
          "Software Download Failure", "Element Reinitialized", 
          "Timeout", "Logging Problems", "Leak Detected", 
          "Protection Mechanism Failure", 
          //115 
          "Protecting Resource Failure", 
          "Database Inconsistency", "Authentication Failure", 
          "Breach of Confidentiality", "Cable Tamper", 
          "Delayed Information", "Duplicate Information", 
          "Information Missing", "Information Modification", 
          "Information Out of Sequence", "Key Expired", 
          "Non-Repudiation Failure", "Out of Hours Activity", 
          "Out of Service", "Procedural Error", 
          "Unexpected Information" }, 
       MappingStrings { "Recommendation.ITU|X733.Probable cause", 
          "Recommendation.ITU|M3100.probableCause", 
          "ITU-IANA-ALARM-TC" }, 
       ModelCorrespondence { 
          "CIM_AlertIndication.ProbableCauseDescription", 
          "CIM_AlertIndication.EventID", 
          "CIM_AlertIndication.EventTime" }]
   uint16 ProbableCause;

      [Description ( 
          "Provides additional information related to the ProbableCause."
           ), 
       ModelCorrespondence { "CIM_AlertIndication.ProbableCause" }]
   string ProbableCauseDescription;

      [Description ( 
          "Provides information on trending - trending up, down or no change."
           ), 
       ValueMap { "0", "1", "2", "3", "4" }, 
       Values { "Unknown", "Not Applicable", "Trending Up", 
          "Trending Down", "No Change" }, 
       MappingStrings { "Recommendation.ITU|X733.TrendIndication" }]
   uint16 Trending;

      [Description ( 
          "Free form descriptions of the recommended actions to "
          "take to resolve the cause of the notification." ), 
       MappingStrings { 
          "Recommendation.ITU|X733.Proposed repair actions" }]
   string RecommendedActions[];

      [Description ( 
          "An instrumentation or provider specific value that "
          "describes the underlying \"real-world\" event "
          "represented by the Indication. Two Indications with the "
          "same, non NULL EventID value are considered, by the "
          "creating entity, to represent the same event. The "
          "comparison of two EventID values is only defined for "
          "Alert Indications with identical, non NULL values of "
          "SystemCreateClassName, SystemName and ProviderName." ), 
       ModelCorrespondence { "CIM_AlertIndication.ProbableCause" }]
   string EventID;

      [Description ( 
          "The time and date the underlying event was first "
          "detected. If specified, this property MUST be set to "
          "NULL if the creating entity is not capable of providing "
          "this information. This value is based on the notion of "
          "local date and time of the Managed System Element "
          "generating the Indication." ), 
       ModelCorrespondence { "CIM_AlertIndication.ProbableCause" }]
   datetime EventTime;

      [Description ( 
          "The scoping System\'s CreationClassName for the Provider "
          "generating this Indication." ), 
       MaxLen ( 256 )]
   string SystemCreationClassName;

      [Description ( 
          "The scoping System\'s Name for the Provider generating "
          "this Indication." ), 
       MaxLen ( 256 )]
   string SystemName;

      [Description ( 
          "The name of the Provider generating this Indication." ), 
       MaxLen ( 256 )]
   string ProviderName;

      [Description ( 
          "The formatted message. This message is constructed by "
          "combining some or all of the dynamic elements specified "
          "in the MessageArguments property with the static "
          "elements uniquely identified by the MessageID in a "
          "message registry or other catalog associated with the "
          "OwningEntity." ), 
       ModelCorrespondence { "CIM_AlertIndication.MessageID", 
          "CIM_AlertIndication.MessageArguments" }]
   string Message;

      [Description ( 
          "An array containing the dynamic content of the message." ), 
       ModelCorrespondence { "CIM_AlertIndication.Message", 
          "CIM_AlertIndication.MessageID" }]
   string MessageArguments[];

      [Description ( 
          "A string that uniquely identifies, within the scope of "
          "the OwningEntity, the format of the Message." ), 
       ModelCorrespondence { "CIM_AlertIndication.Message", 
          "CIM_AlertIndication.MessageArguments" }]
   string MessageID;

      [Description ( 
          "A string that uniquely identifies the entity that owns "
          "the definition of the format of the Message described in "
          "this instance. OwningEntity MUST include a copyrighted, "
          "trademarked or otherwise unique name that is owned by "
          "the business entity or standards body defining the "
          "format." )]
   string OwningEntity;


};
