]>
git.immae.eu Git - perso/Immae/Projets/Puppet.git/blob - python/reinstall_vps_server.py
1 # -*- encoding: utf-8 -*-
6 # In case it's installed globally
11 # Credentials are stored in ~/.ovh.conf
15 vps_list
= client
.get('/vps/')
16 if sys
.argv
[-1] in vps_list
:
19 print("VPS not in list:")
24 current_distribution
= client
.get('/vps/{}/distribution'.format(vps
))
26 available_templates
= client
.get('/vps/{}/templates'.format(vps
))
28 def print_templates(client
, vps
, available_templates
):
29 for tid
in available_templates
:
30 template
= client
.get('/vps/{}/templates/{}'.format(vps
, tid
))
31 print("{}: {}".format(template
["id"], template
["distribution"]))
34 if "--get-state" in sys
.argv
:
35 print(client
.get('/vps/{}'.format(vps
))["state"])
36 elif "--use-current" in sys
.argv
:
37 if current_distribution
['id'] in available_templates
:
38 print("Current template still available, using it")
39 result
= client
.post('/vps/{}/reinstall'.format(vps
), templateId
=current_distribution
['id'])
41 ovh_helper
.show_progress(client
, vps
, "reinstallVm")
43 print("Current template no more available. Chose among:")
44 print_templates(client
, vps
, available_templates
)
45 elif sys
.argv
[-1] in available_templates
:
46 print("Chosen template available, using it")
47 result
= client
.post('/vps/{}/reinstall'.format(vps
), templateId
=int(sys
.argv
[-1]))
49 ovh_helper
.show_progress(client
, vps
, "reinstallVm")
51 print("Chosen template not available. Chose among:")
52 print_templates(client
, vps
, available_templates
)
55 # PUT /vps/{serviceName}
56 # netbootMode "rescue" / "local"