// Copyright (c) 2010 DMTF.  All rights reserved.
   [Version ( "2.27.0" ), 
    UMLPackagePath ( "CIM::System::Logs" ), 
    Description ( 
       "The LogEntry object can describe the definitional format for "
       "entries in a Log, or can be used to instantiate the actual "
       "entries in the Log." )]
class CIM_LogEntry : CIM_RecordForLog {

      [Key, Override ( "InstanceID" ), 
       Description ( 
          "Within the scope of the instantiating Namespace, "
          "InstanceID opaquely and uniquely identifies an instance "
          "of this class. In order to ensure uniqueness within the "
          "NameSpace, the value of InstanceID SHOULD be constructed "
          "using the following \'preferred\' algorithm: \n"
          "<OrgID>:<LocalID> \n"
          "Where <OrgID> and <LocalID> are separated by a colon "
          "\':\', and where <OrgID> MUST include a copyrighted, "
          "trademarked or otherwise unique name that is owned by "
          "the business entity creating/defining the InstanceID, or "
          "is a registered ID that is assigned to the business "
          "entity by a recognized global authority (This is similar "
          "to the <Schema Name>_<Class Name> structure of Schema "
          "class names.) In addition, to ensure uniqueness <OrgID> "
          "MUST NOT contain a colon (\':\'). When using this "
          "algorithm, the first colon to appear in InstanceID MUST "
          "appear between <OrgID> and <LocalID>. \n"
          "<LocalID> is chosen by the business entity and SHOULD "
          "not be re-used to identify different underlying "
          "(real-world) elements. If the above \'preferred\' "
          "algorithm is not used, the defining entity MUST assure "
          "that the resultant InstanceID is not re-used across any "
          "InstanceIDs produced by this or other providers for this "
          "instance\'s NameSpace. \n"
          "For DMTF defined instances, the \'preferred\' algorithm "
          "MUST be used with the <OrgID> set to \'CIM\'." )]
   string InstanceID;

      [Description ( "The containing Log\'s InstanceID." ), 
       MaxLen ( 256 )]
   string LogInstanceID;

      [Description ( 
          "The containing Log\'s Name. This property is available "
          "for backwards continuity with CIM_LogRecord." ), 
       MaxLen ( 256 )]
   string LogName;

      [Description ( 
          "RecordID may be used to provide a representation of log "
          "entry ordering or pointers/handles for log entries." ), 
       MaxLen ( 256 )]
   string RecordID;

      [Description ( 
          "A LogEntry may include a timestamp for the entry." )]
   datetime CreationTimeStamp;

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

      [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_LogEntry.MessageID", 
          "CIM_LogEntry.MessageArguments" }]
   string Message;

      [Description ( 
          "An array containing the dynamic content of the message.\r\n"
          "Each DYNAMIC_ELEMENT for the message referred to by the "
          "MessageID property shall be contained in "
          "MessageArguments whether the DYNAMIC_ELEMENT is included "
          "in the Message or not.\r\n"
          "In addition, the entries in MessageArguments need to be "
          "in the same order as the DYNAMIC_ELEMENTs." ), 
       ModelCorrespondence { "CIM_LogEntry.Message", 
          "CIM_LogEntry.MessageID" }]
   string MessageArguments[];

      [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;


};
