CDKOUT=./cdk-outputs.json INSTANCEID=`jq -r .[].ec2instanceid $CDKOUT` RUNSTATE=`aws ec2 describe-instances --filters "Name=instance-id,Values=$INSTANCEID" | jq -r .Reservations[].Instances[].State.Name` IP_ADDRESS=`aws ec2 describe-instances --filters "Name=instance-id,Values=$INSTANCEID" | jq -r .Reservations[].Instances[].NetworkInterfaces[].Association.PublicIp` NICKNAME=`jq -r .nickName configs/config.json` if [ $1 == "status" ]; then echo "ec2 instance $INSTANCEID nicknamed $NICKNAME is $RUNSTATE" at IP Address $IP_ADDRESS exit 0 fi if [ $1 == "start" ]; then if [ $RUNSTATE == "stopped" ]; then aws ec2 start-instances --instance-ids "$INSTANCEID" exit 0 else echo "ec2 instance $INSTANCEID nicknamed $NICKNAME is not in stopped state so cannot be started (check status first)" exit 0 fi fi if [ $1 == "stop" ]; then if [ $RUNSTATE == "running" ]; then aws ec2 stop-instances --instance-ids "$INSTANCEID" exit 0 else echo "ec2 instance $INSTANCEID nicknamed $NICKNAME is not in running so cannot be stopped (check status first)" exit 0 fi fi