#!/bin/bash param=$1 export DO_TOKEN=$OCF_RESKEY_do_token IP=$OCF_RESKEY_floating_ip ID=$(curl -s http://169.254.169.254/metadata/v1/id) HAS_FLOATING_IP=`curl -s http://169.254.169.254/metadata/v1/floating_ip/ipv4/active` meta_data() { cat < 0.1 floatip ocf resource agent for claiming a specified Floating IP via the DigitalOcean API Assign Floating IP via DigitalOcean API DigitalOcean API Token with Read/Write Permissions DigitalOcean API Token Floating IP to reassign Floating IP END } if [ "start" == "$param" ] ; then python /usr/local/bin/assign-ip $IP $ID exit 0 elif [ "stop" == "$param" ] ; then exit 0; elif [ "status" == "$param" ] ; then if $HAS_FLOATING_IP ; then echo "Has Floating IP" exit 0 else echo "Does Not Have Floating IP" exit 1 fi elif [ "monitor" == "$param" ] ; then if $HAS_FLOATING_IP ; then exit 0 else exit 7 fi elif [ "meta-data" == "$param" ] ; then meta_data exit 0 else echo "no such command $param" exit 1; fi