]>
git.immae.eu Git - perso/Immae/Projets/Puppet.git/blob - python/reinstall_vps_server.py
158ca232e6577f172270811dd8e39189c8fd8009
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
)
57 # POST /order/cart/{cartId}/assign
58 # GET /vps/datacenter?country=FR
60 # GET /order/cart/{cartId}/vps
61 # POST /order/cart/{cartId}/vps
63 # planCode "vps_ssd_model1"
64 # pricingMode "default"
66 # POST /order/cart/{cartId}/item/{item}/configuration
67 # label: "vps_ssd_datacenter"
69 # POST /order/cart/{cartId}/item/{item}/configuration
71 # value: "linux--archlinux--64--en"
72 # POST /order/cart/{cartId}/item/{item}/configuration
73 # label: "AUTO_RENEW_VPS"
75 # GET /order/cart/{carId}/summary
76 # GET /order/cart/{cartId}/checkout
77 # POST /order/cart/{cartId}/checkout
78 # waiveRetractationPeriod
80 # /me/order/{orderId}/availableRegisteredPaymentMean
81 # /me/paymentMean ? /me/order/{orderId}/debt/pay ?
84 # PUT /vps/{serviceName}
85 # netbootMode "rescue" / "local"