#!/bin/bash

MODULE="$1"
if [ -f /etc/debian_version ]
then
  # in Debian
  VMWARE_CMDDIR=/usr/bin
else
  # in RHEL/CentOS
  VMWARE_CMDDIR=/usr/sbin
fi

# Pull in collector support functions
. "${COLLECTOR_HOME}"/collectorlib

preModule "$MODULE"

#Define and create output folders
VMWARE_OUTPUT_DIR="${BASE_OUTPUT_DIR}/${MODULE}"
mkdir -p "${VMWARE_OUTPUT_DIR}"

#Begin data collection
if [ -x "${VMWARE_CMDDIR}"/vmware-checkvm ]
then
    if [ -w "${VMWARE_OUTPUT_DIR}" ]
    then
        logAndRunCmd "vmware-checkvm &> \"${VMWARE_OUTPUT_DIR}\"/vmware-checkvm.txt"
        logAndRunCmd "vmware-checkvm -hp &> \"${VMWARE_OUTPUT_DIR}\"/vmware-checkvm-hp.txt"
        logAndRunCmd "vmware-toolbox-cmd stat balloon &> \"${VMWARE_OUTPUT_DIR}\"/vmware-toolbox-cmd-stat-balloon.txt"
        logAndRunCmd "vmware-toolbox-cmd stat memlimit &> \"${VMWARE_OUTPUT_DIR}\"/vmware-toolbox-cmd-stat-memlimit.txt"
        logAndRunCmd "vmware-toolbox-cmd stat memres &> \"${VMWARE_OUTPUT_DIR}\"/vmware-toolbox-cmd-stat-memres.txt"
        logAndRunCmd "vmware-toolbox-cmd stat cpures &> \"${VMWARE_OUTPUT_DIR}\"/vmware-toolbox-cmd-stat-cpures.txt"
        logAndRunCmd "vmware-toolbox-cmd stat cpulimit &> \"${VMWARE_OUTPUT_DIR}\"/vmware-toolbox-cmd-stat-cpulimit.txt"
        logAndRunCmd "vmware-toolbox-cmd timesync status &> \"${VMWARE_OUTPUT_DIR}\"/vmware-toolbox-cmd-timesync-status.txt"
    else
        echo "Unable to create vmware module output directory."
    fi
else
  echo "Error: vmware-checkvm command missing, likely not a virtual machine"
fi

postModule "$MODULE"
