#!/usr/bin/env python import sys, os import ovh hostmap={ 'node1.example.net': { 'ip': '94.93.92.91', 'name': 'ns999999.ovh.net'}, 'node3.example.net': { 'ip': '91.92.93.94', 'name': 'ns888888.ovh.net'}, } client = ovh.Client( endpoint='ovh-eu', application_key='', application_secret='', consumer_key='', ) def main(cmd, host, dest, addr): if cmd=="list": if host in hostmap.keys(): opts={'routedTo.serviceName':hostmap[host]['name'], 'type':"failover"} for ip in client.get('/ip', **opts): if len(ip.split("/")[0])>=7: print ip.split("/")[0] elif cmd=="move": opts={'to':dest, 'ip': addr+"/32"} client.post('/ip/'+addr+'/move', to=hostmap[dest]['name']) if __name__ == '__main__': cmd=None host=None dest=None addr=None if len(sys.argv)>1: cmd=sys.argv[1] if len(sys.argv)>2: host=sys.argv[2] if len(sys.argv)>3: dest=sys.argv[3] if len(sys.argv)>4: addr=sys.argv[4] if cmd: main(cmd, host, dest, addr)