#!/bin/ksh
# IBM_PROLOG_BEGIN_TAG 
# This is an automatically generated prolog. 
#  
#  
#  
# Licensed Materials - Property of IBM 
#  
# (C) COPYRIGHT International Business Machines Corp. 2001,2019 
# All Rights Reserved 
#  
# US Government Users Restricted Rights - Use, duplication or 
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
#  
# IBM_PROLOG_END_TAG 

# sccsid = "@(#)80   1.6   src/rsct/rm/ER/enotifyevent, ERrm, rsct_rady, rady2035a 11/12/15 16:40:01"

#####################################################################
#
# Name:    elogevent
#
# Purpose: Mails event information generated by the Event Response 
#          resource manager to a user.
#
# Inputs:  Optional ID of the uesr to whom the evnt information 
#          will be mailed.
#          If userid is not specified, root is used as the default.  
#
#####################################################################

generate_message () {

        cat  <<EOF
=====================================

Event generated at ${EventTime}

Condition Name: $ERRM_COND_NAME
Severity      : $COND_SEVERITY
Event Type    : $TYPE
Expression    : $ERRM_EXPR
Resource Name : $ERRM_RSRC_NAME 
Resource Class: $ERRM_RSRC_CLASS_PNAME
Data Type     : $ERRM_DATA_TYPE
Data Value    : $ERRM_VALUE
Node Name     : $ERRM_NODE_NAME
NodeNameList  : $ERRM_NODE_NAMELIST
Resource Type : $ERRM_RSRC_TYPE
EOF

print "====================================="

}

# main ()
# Set path to known value
PATH=/opt/rsct/bin:/usr/xpg4/bin:/usr/bin:/usr/sbin:/bin
export PATH

PERL=/usr/bin/perl

while getopts ":h" opt
do
  case $opt in

    h ) print "Usage: `basename $0` [-h] [userid] "
        exit 0;;

    ? ) print "Usage: `basename $0` [-h] [userid] "
        exit 3;;
  esac
done

# Mail to root if a userid is not specified
if [[ $# -lt 1 ]]; then
   mailTo=root
else
   mailTo=$1
fi

# convert time string
seconds=${ERRM_TIME%,*}

EventTime=$(LC_ALL=C seconds=$seconds $PERL -e \
'
use POSIX qw(strftime);
print strftime("%A %D %T", localtime($ENV{seconds}) );  

'
)

# Convert Seveirty 
case $ERRM_COND_SEVERITYID in

    0 ) COND_SEVERITY=Informational;;
    1 ) COND_SEVERITY=Warning;;
    2 ) COND_SEVERITY=Critical;;

esac

# Convert EventType
case $ERRM_TYPEID in

    0 ) TYPE=Event;;
    1 ) TYPE=RearmEvent;;

esac

generate_message | mail -s "$ERRM_COND_NAME" $mailTo