// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.6.0" ), 
    UMLPackagePath ( "CIM::System::Boot" ), 
    Description ( 
       "This Service is implemented by a LogicalDevice (e.g. a "
       "NetworkAdapter or Modem) that is capable of sending alert "
       "messages to a remote destination. The alert messages reflect "
       "the state of one or more ManagedSystemElements. The Elements "
       "for which alert messages are forwarded, are defined by "
       "enumerating the ProvidesServiceToElement association for the "
       "Service. Out of Band (OOB) refers to the mechanisms in use "
       "when normal OS-based management mechanisms are not possible. "
       "This occurs when the OS is down or not functioning properly." )]
class CIM_OOBAlertService : CIM_Service {

      [Description ( 
          "The type of the alert destination. For example, the "
          "alert may be received by an application listening on a "
          "UDP Port on a remote destination, or could be sent to a "
          "pager (values 4 or 2, respectively)." ), 
       ValueMap { "0", "1", "2", "3", "4" }, 
       Values { "Unknown", "Other", "Pager", "TCP Port", "UDP Port" }, 
       ModelCorrespondence { 
          "CIM_OOBAlertService.OtherDestinationTypeDescription" }]
   uint16 DestinationType;

      [Description ( 
          "The description of the alert DestinationType. This is "
          "used when the DestinationType is set to \"Other\" "
          "(value=1)." ), 
       ModelCorrespondence { "CIM_OOBAlertService.DestinationType" }]
   string OtherDestinationTypeDescription;

      [Description ( 
          "The address where this Service sends the alerts. The "
          "format of this address depends on the DestinationType. "
          "For example, if the DestinationType is a UDP Port "
          "(value=4), then this property contains a string "
          "identifying the IP address of the Port (for example, "
          "111.222.333.444:4567). If DestinationType is a pager "
          "(value=2), then the address is a Pager number (for "
          "example, 18002257654)." )]
   string DestinationAddress;

      [Description ( 
          "The format of the Alert Message sent by the Service." ), 
       ValueMap { "0", "1", "2", "3", "4", "5" }, 
       Values { "Unknown", "Other", "Numeric", "AlphaNumeric", 
          "Free Form Text", "Platform Event Trap" }, 
       ModelCorrespondence { 
          "CIM_OOBAlertService.OtherMessageFormatDescription" }]
   uint16 MessageFormat;

      [Description ( 
          "The description of the format of the alert message used "
          "by the Service when the AlertMessageFormat property is "
          "set to \"Other\" (value=1)." ), 
       ModelCorrespondence { "CIM_OOBAlertService.MessageFormat" }]
   string OtherMessageFormatDescription;

      [Description ( 
          "If the AlertService only uses a fixed message to send an "
          "alert, then this flag should be set to TRUE." )]
   boolean OnlySendsFixedMessage;

      [Description ( 
          "The AlertService may require some fixed data to send as "
          "part of the message. This may include things like the "
          "address or name of the System. This string contains the "
          "complete message when the property, "
          "OnlySendsFixedMessage, is set to TRUE." )]
   string FixedPartOfMessage;

      [Description ( 
          "If the destination is capable of sending an "
          "acknowledgement to the alert, then this flag is set to "
          "TRUE. The format of the acknowledgement is determined by "
          "the DestinationType and the MessageFormat." )]
   boolean DestinationIsAckCapable;

      [Description ( 
          "The AlertService may retry and send an alert more than "
          "once. The RetryCount identifies how often the operation "
          "will be repeated. If DestinationIsAckCapable is set to "
          "TRUE, then the retry will only be done if an Ack is not "
          "received. Otherwise, the retries are done "
          "unconditionally." )]
   uint16 RetryCount;

      [Description ( 
          "The interval between each successive retry, in seconds. "
          "If DestinationIsAckCapable is set to TRUE, then this "
          "interval is used as a timeout interval, before the next "
          "retry is done." ), 
       Units ( "Seconds" ), 
       PUnit ( "second" )]
   uint16 RetryInterval;

      [Description ( 
          "If the OOB Alerting service is capable of sending "
          "Presence heart beat messages." ), 
       Read]
   boolean PresenceHeartbeatCapable;

      [Description ( 
          "When set to true causes the OOBAlertService to send "
          "Presence heart beat messages." ), 
       ModelCorrespondence { 
          "CIM_OOBAlertService.PresenceHeartbeatCapable" }]
   boolean EnablePresenceHeartbeats;


};
