// Copyright (c) 2005 DMTF.  All rights reserved.
   [Indication, Version ( "2.7.0" ), 
    UMLPackagePath ( "CIM::Event" ), 
    Description ( 
       "A concrete class for mapping an SNMP Trap to CIM based on the "
       "IETF RFC 1157. The usefulness of this class is to describe "
       "common trap semantics. But, a complete understanding of any "
       "trap data received relies on the Indicaton recipient having "
       "access to the sender\'s MIB. Understanding can be improved by "
       "mapping the SNMP domain to CIM, and using CIM LifeCycle and "
       "standard subclasses of CIM_ProcessIndication." )]
class CIM_SNMPTrapIndication : CIM_ProcessIndication {

      [Description ( "Type of object generating the trap." ), 
       MappingStrings { "PDU.IETF|RFC1157-TRAP-PDU.enterprise" }]
   string Enterprise;

      [Description ( "Address of the object generating the trap." ), 
       MappingStrings { "PDU.IETF|RFC1157-TRAP-PDU.agent-addr" }]
   string AgentAddress;

      [Description ( 
          "An enumerated value that describes the generic trap "
          "type: \n"
          "- The coldStart(0) trap signifies that the sending "
          "protocol entity is reinitializing itself such that the "
          "agent\'s configuration or the protocol entity "
          "implementation may be altered. \n"
          "- The warmStart(1) trap signifies that the sending "
          "protocol entity is reinitializing itself such that "
          "neither the agent configuration nor the protocol entity "
          "implementation is altered. \n"
          "- The linkDown(2) trap signifies that the sending "
          "protocol recognizes a failure in one of the "
          "communication links represented in the agent\'s "
          "configuration. The Trap-PDU of type linkDown contains as "
          "the first element of its variable-bindings the name and "
          "value of the ifIndex instance for the affected "
          "interface. \n"
          "- The linkUp(3) trap signifies that the sending protocol "
          "entity recognizes that one of the communication links "
          "represented in the agent\'s configuration has come up. "
          "The Trap-PDU of type linkUp contains as the first "
          "element of its variable-bindings, the name and value of "
          "the ifIndex instance for the affected interface. \n"
          "- An authenticationFailure(4) trap signifies that the "
          "sending protocol entity is the adressee of a protocol "
          "message that was not properly authenticated. While "
          "implementations of SNMP must be capable of generating "
          "this trap, they must also be capable of suppressing the "
          "emission of such traps via an implementation- specific "
          "mechanism. \n"
          "- An egpNeighborLoss(5) trap signifies that an EGP "
          "neighbor for whom the sending protocol entity was an EGP "
          "peer has been marked as down and the peer relationship "
          "no longer pertains. The Trap-PDU of type egpNeighborLoss "
          "contains as the first element of its variable-bindings, "
          "the name and value of the egpNeighAddr instance for the "
          "affected neighbor. \n"
          "- An enterpriseSpecific(6) trap signifies that the "
          "sending protocol entity recognizes that some "
          "enterprise-specific event has occurred. The "
          "specific-trap field identifies the particular trap which "
          "occurred." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
       Values { "Cold Start", "Warm Start", "Link Down", "Link Up", 
          "Authentication Failure", "EGP Neighbor Loss", 
          "Enterprise Specific" }, 
       MappingStrings { "PDU.IETF|RFC1157-TRAP-PDU.generic-trap" }]
   uint16 GenericTrap;

      [Description ( "Specific trap code." ), 
       MappingStrings { "PDU.IETF|RFC1157-TRAP-PDU.specific-trap" }]
   uint32 SpecificTrap;

      [Description ( 
          "Time elapsed between the last (re)intialization of the "
          "managed entity and the generation of the trap." ), 
       MappingStrings { "PDU.IETF|RFC1157-TRAP-PDU.time-stamp" }]
   datetime TimeStamp;

      [Description ( 
          "Object naming information (an OID) from the \'variable "
          "binding\' portion of the Trap. This array is correlated "
          "with the VarBindSyntaxes and VarBindValues arrays. Each "
          "entry is related to the entries in the other arrays, "
          "that are located at the same index. In this way, the "
          "variable binding\'s name/syntax/value tuple can be "
          "constructed." ), 
       ArrayType ( "Indexed" ), 
       MappingStrings { "PDU.IETF|RFC1157-TRAP-PDU.variable-bindings" }, 
       ModelCorrespondence { 
          "CIM_SNMPTrapIndication.VarBindSyntaxes", 
          "CIM_SNMPTrapIndication.VarBindValues" }]
   string VarBindNames[];

      [Description ( 
          "Object syntax information (defined as an enumerated "
          "value) from the \'variable binding\' portion of the "
          "Trap. This array is correlated with the VarBindNames and "
          "VarBindValues arrays. Each entry is related to the "
          "entries in the other arrays, that are located at the "
          "same index. In this way, the variable binding\'s "
          "name/syntax/value tuple can be constructed." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" }, 
       Values { "Integer", "OctetString", "ObjectIdentifier", 
          "NetworkAddress", "Counter", "Gauge", "TimeTicks", "Opaque" }, 
       ArrayType ( "Indexed" ), 
       MappingStrings { "PDU.IETF|RFC1157-TRAP-PDU.variable-bindings" }, 
       ModelCorrespondence { "CIM_SNMPTrapIndication.VarBindNames", 
          "CIM_SNMPTrapIndication.VarBindValues" }]
   uint16 VarBindSyntaxes[];

      [Description ( 
          "An OctetString representing object value information "
          "from the \'variable binding\' portion of the Trap. This "
          "array is correlated with the VarBindNames and "
          "VarBindSyntaxes arrays. Each entry is related to the "
          "entries in the other arrays, that are located at the "
          "same index. In this way, the variable binding\'s "
          "name/syntax/value tuple can be constructed." ), 
       OctetString, ArrayType ( "Indexed" ), 
       MappingStrings { "PDU.IETF|RFC1157-TRAP-PDU.variable-bindings" }, 
       ModelCorrespondence { "CIM_SNMPTrapIndication.VarBindNames", 
          "CIM_SNMPTrapIndication.VarBindSyntaxes" }]
   string VarBindValues[];


};
