
#!/bin/sh
# File	: cdot_cre_export-policy-rule.sh
# By	: Maarten.deBoer@Atos.net, 230905
# Subject	: Script to create netapp ontap export-policy rules
#(0.2),230919
PGM=`basename $0|cut -d\. -f1`
VER="0.2"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"

# Policy-filter
FILTER="mss"


#CSV="${HOME}/data/nl-fsod-export-policy-rule_avi01-02.csv"
#CSV="${HOME}/data/nl-fsod-export-policy-rule_sids.csv"
#CSV="${HOME}/data/nl-fsod-export-policy-rule_env01-02.csv"
#CSV="${HOME}/data/nl-fsod-export-policy-rule_env1.csv"
#CSV="${HOME}/data/nl-fsod-export-policy-rule_env82.csv"
CSV="${HOME}/data/nl-fsod-export-policy-rule_env12.csv"


echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
if [ ! -f ${CSV} ]; then
  echo "  NO CSV (${CSV}) file find. Exiting ..."|tee -a ${LOG}
  exit 3
fi  # <> CSV

if [ "${1}" != "" ]; then
  FILTER="${1}"
fi

echo "  CSV=${CSV}"
echo "  FILTER=${FILTER}"
sleep 1


# CLUSTER ; VSERVER ; POLICY ; CLIENTMATCH ; RULEINDEX; RW;RO;SUPER;ANON;SUID;DEV;
cat ${CSV}|grep -v ^#|grep "${FILTER}"|while read LINE
do
  CLUSTER=`echo ${LINE}|awk -F\; '{print $1}'`
  VSERVER=`echo ${LINE}|awk -F\; '{print $2}'`
  POLICY=`echo ${LINE}|awk -F\; '{print $3}'`
  CLIENTMATCH=`echo ${LINE}|awk -F\; '{print $4}'`
  RULEINDEX=`echo ${LINE}|awk -F\; '{print $5}'`
  RW=`echo ${LINE}|awk -F\; '{print $6}'`
  RO=`echo ${LINE}|awk -F\; '{print $7}'`
  SUPER=`echo ${LINE}|awk -F\; '{print $8}'`
  ANON=`echo ${LINE}|awk -F\; '{print $9}'`
  SUID=`echo ${LINE}|awk -F\; '{print $10}'`
  DEV=`echo ${LINE}|awk -F\; '{print $11}'`

  if [ "${CLUSTER}" != "" ] && [ "${VSERVER}" != "" ]; then

    echo "  CLUSTER=${CLUSTER} VSERVER=${VSERVER} POLICY=${POLICY} CLIENTMATCH=${CLIENTMATCH} RULEINDEX=${RULEINDEX} RW=${RW} RO=${RO} SUPER=${SUPER} ANON=${ANON} SUID=${SUID} DEV=${DEV} "

    ${SSH} ${CLUSTER} "export-policy rule create -vserver ${VSERVER} -policy ${POLICY} -clientmatch \"${CLIENTMATCH}\" -ruleindex ${RULEINDEX} -rwrule ${RW} -rorule ${RO} -superuser ${SUPER} -anon ${ANON} -allow-suid ${SUID} -allow-dev ${DEV} "

    ${SSH} ${CLUSTER} "export-policy rule show -vserver ${VSERVER} -policy ${POLICY} -field vserver,policy,clientmatch,ruleindex"
    sleep 1
  fi  # !=

done  # LINE




echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
exit 0

