
#!/bin/sh
# File	: noc_certificate_create.sh
# By	: Maarten.deBoer@Atos.net, 251119
# Subject	: Netapp Ontap Cli script to create NAS(S3) bucket based on RC-file
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"

DATADIR="${HOME}/data"
RCDIR="${DATADIR}/rc"

# NAO defaults
ATOS_CHANGE_NR="CHG123456789"
NAO_CLUSTERNAME="nlnaf999"
NAO_VSERVER_NAME="nlnafsmss99"
NAO_COMMON_NAME="nlnafsmss99.atos.net"
NAO_CERT_TYPE="server"
NAO_COUNTRY="NL"

# Policy-filter
FILTER="mss"

if [ "${1}" != "" ]; then
  FILTER="${1}"
fi
if [ "${2}" != "" ]; then
  RCDIR="${2}"
fi
echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  FILTER(1)=${FILTER}"
echo "  RCDIR(2)=${RCDIR}"
sleep 1

if [ ! -d ${RCDIR} ]; then
  echo "  NO RCDIR (${RCDIR}) found. Exiting ..."|tee -a ${LOG}
  exit 4
fi  # ! RCDIR

cd ${RCDIR}
ls -1 *cert*.rc|grep "${FILTER}"|while read FNAME
do
  echo "FNAME=${FNAME}|"

# Reading VAR's of all RC-files in RCDIR
  if [ "${FNAME}" != "" ] && [ -f ${FNAME} ]; then
    . ${RCDIR}/${FNAME}

    echo "ATOS_CHANGE_NR=${ATOS_CHANGE_NR}|"
    echo "NAO_CLUSTERNAME=${NAO_CLUSTERNAME}|"
    echo "NAO_VSERVER_NAME=${NAO_VSERVER_NAME}|"
    echo "NAO_COMMON_NAME=${NAO_COMMON_NAME}|"
    echo "NAO_CERT_TYPE=${NAO_CERT_TYPE}|"
    echo "NAO_COUNTRY=${NAO_COUNTRY}|"
    sleep 1

    if [ "${NAO_CLUSTERNAME}" != "" ] && [ "${NAO_VSERVER_NAME}" != "" ] && [ "${NAO_CERT_TYPE}" != "" ]; then
      echo "  NAO_VSERVER_NAME=${NAO_VSERVER_NAME}"
      echo "    security certificate show -vserver ${NAO_VSERVER_NAME} ..."
      CERT=`${SSH} ${NAO_CLUSTERNAME} "security certificate show -vserver ${NAO_VSERVER_NAME} -type ${NAO_CERT_TYPE} -field serial"|grep ${NAO_VSERVER_NAME}`
      if [ "${CERT}" == "" ]; then
# Create (new) server-CERT
        echo "    security certificate create -vserver ${NAO_VSERVER_NAME} ..."|tee -a ${LOG}
        ${SSH} ${NAO_CLUSTERNAME} "security certificate create -vserver ${NAO_VSERVER_NAME} -type ${NAO_CERT_TYPE} -common-name ${NAO_COMMON_NAME} -country ${NAO_COUNTRY}"
      fi  # CERT}" == ""

      ${SSH} ${NAO_CLUSTERNAME} "security certificate show -vserver ${NAO_VSERVER_NAME} -type ${NAO_CERT_TYPE} -instance"
      ${SSH} ${NAO_CLUSTERNAME} "security certificate show -vserver ${NAO_VSERVER_NAME} -type ${NAO_CERT_TYPE} -field public-cert"
    fi  # NAO_CLUSTERNAME}" != ""

  fi  # FNAME}" != "" 

done  # LINE

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

