]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blob - python/reboot_ovh_cloud_instance.py
Add wireguard profile
[perso/Immae/Projets/Puppet.git] / python / reboot_ovh_cloud_instance.py
1 # -*- encoding: utf-8 -*-
2 import json
3 try:
4 from ovh import ovh
5 except ImportError:
6 # In case it's installed globally
7 import ovh
8 import sys
9 from ovh_helper import find_cloud_instance
10
11 # Credentials are stored in ~/.ovh.conf
12 # See ovh/README.rst
13 client = ovh.Client()
14
15 project, instance = find_cloud_instance(client, sys.argv[-1])
16
17 if "--rescue" in sys.argv:
18 netboot_mode="rescue"
19 elif "--local" in sys.argv:
20 netboot_mode="local"
21 else:
22 netboot_mode=None
23
24 if netboot_mode is not None:
25 result = client.post("/cloud/project/{}/instance/{}/rescueMode".format(project,
26 instance["id"]), imageId=instance["imageId"], rescue=(netboot_mode == "rescue"))
27 print(result)
28 else:
29 result = client.post("/cloud/project/{}/instance/{}/reboot".format(project, instance["id"]), type="soft")
30 print(result)
31
32 # reboot normal:
33 #result = client.post("/cloud/project/{}/instance/{}/reboot".format(project, instance["id"]), type="soft")