From: Ismaël Bouya Date: Thu, 5 Oct 2017 22:24:55 +0000 (+0200) Subject: Add buy server script X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2FPuppet.git;a=commitdiff_plain;h=4aa9e5f6b0c11f5e9e6bd762b1a9c1bb64ce41ad Add buy server script --- diff --git a/python/buy_vps_server.py b/python/buy_vps_server.py new file mode 100644 index 0000000..2803e32 --- /dev/null +++ b/python/buy_vps_server.py @@ -0,0 +1,54 @@ +# -*- encoding: utf-8 -*- +import json +try: + from ovh import ovh +except ImportError: + # In case it's installed globally + import ovh +import sys +import ovh_helper + +# Credentials are stored in ~/.ovh.conf +# See ovh/README.rst +client = ovh.Client() + +# Create a cart +cart = client.post('/order/cart', ovhSubsidiary="FR") +cart_id = cart["cartId"] + +# Assign it to my user +client.post('/order/cart/{}/assign'.format(cart_id)) + +# list of vps: +# client.get('/order/cart/{}/vps'.format(cart_id)) +item = client.post('/order/cart/{}/vps'.format(cart_id), + duration="P1M", + planCode="vps_ssd_model1", + pricingMode="default", + quantity=1) +item_id = item["itemId"] + +# Datacenter, OS, auto-renew +client.post('/order/cart/{}/item/{}/configuration'.format(cart_id, item_id), + label="vps_ssd_datacenter", + value="gra") +client.post('/order/cart/{}/item/{}/configuration'.format(cart_id, item_id), + label="vps_ssd_os", + value="linux--archlinux--64--en") +client.post('/order/cart/{}/item/{}/configuration'.format(cart_id, item_id), + label="AUTO_RENEW_VPS", + value=False) + +#summary = client.get('/order/cart/{}/summary'.format(cart_id)) +#checkout = client.get('/order/cart/{}/checkout'.format(cart_id)) + +# Checkout +order = client.post('/order/cart/{}/checkout'.format(cart_id), + waiveRetractationPeriod=True) +order_id = order["orderId"] +print(order_id) + +# Suite à tester : +# /me/order/{orderId}/availableRegisteredPaymentMean +# /me/paymentMean ? /me/order/{orderId}/debt/pay ? + diff --git a/python/reinstall_vps_server.py b/python/reinstall_vps_server.py index 158ca23..9f535cc 100644 --- a/python/reinstall_vps_server.py +++ b/python/reinstall_vps_server.py @@ -51,35 +51,6 @@ else: print("Chosen template not available. Chose among:") print_templates(client, vps, available_templates) -# Buy new: -# POST /order/cart -# ovhSubsidiary FR -# POST /order/cart/{cartId}/assign -# GET /vps/datacenter?country=FR -# Get list of vps: -# GET /order/cart/{cartId}/vps -# POST /order/cart/{cartId}/vps -# duration "P1M" -# planCode "vps_ssd_model1" -# pricingMode "default" -# quantity 1 -# POST /order/cart/{cartId}/item/{item}/configuration -# label: "vps_ssd_datacenter" -# value: "gra" -# POST /order/cart/{cartId}/item/{item}/configuration -# label: "vps_ssd_os" -# value: "linux--archlinux--64--en" -# POST /order/cart/{cartId}/item/{item}/configuration -# label: "AUTO_RENEW_VPS" -# value: false -# GET /order/cart/{carId}/summary -# GET /order/cart/{cartId}/checkout -# POST /order/cart/{cartId}/checkout -# waiveRetractationPeriod -# Suite à tester : -# /me/order/{orderId}/availableRegisteredPaymentMean -# /me/paymentMean ? /me/order/{orderId}/debt/pay ? - # Reboot in rescue: # PUT /vps/{serviceName} # netbootMode "rescue" / "local"