X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=python%2Freboot_vps_server.py;fp=python%2Freboot_vps_server.py;h=7ea301a3445b5d9e6a2573ca510ebb84944f56d9;hb=ec1096d8c0d897ebd1ea445d9c5404a13c33ce2e;hp=0000000000000000000000000000000000000000;hpb=548061112d2e2627317f9379d2f501fcf3f6ea54;p=perso%2FImmae%2FProjets%2FPuppet.git diff --git a/python/reboot_vps_server.py b/python/reboot_vps_server.py new file mode 100644 index 0000000..7ea301a --- /dev/null +++ b/python/reboot_vps_server.py @@ -0,0 +1,36 @@ +# -*- encoding: utf-8 -*- +import json +from ovh import ovh +import sys +import ovh_helper + +# Credentials are stored in ~/.ovh.conf +# See ovh/README.rst +client = ovh.Client() + +vps_list = client.get('/vps/') +if sys.argv[-1] in vps_list: + vps = sys.argv[-1] +else: + print("VPS not in list:") + for vps in vps_list: + print(vps) + sys.exit(1) + +if "--rescue" in sys.argv: + netboot_mode="rescue" +elif "--local" in sys.argv: + netboot_mode="local" +else: + netboot_mode=None + +current_state=client.get("/vps/{}".format(vps))["netbootMode"] + +if netboot_mode is None or current_state == netboot_mode: + client.post("/vps/{}/reboot".format(vps)) + task_type="rebootVm" +else: + client.put("/vps/{}".format(vps), netbootMode=netboot_mode) + task_type="setNetboot" + +ovh_helper.show_progress(client, vps, task_type)