Post

Python venv OVH API

Python venv OVH API

Les API disponibles sur https://api.ovh.com/ vous permettent d’acheter, gérer, mettre à jour et configurer des produits OVHcloud sans utiliser une interface graphique comme l’espace client.

OVH API

Préalables

  1. Disposer d’un compte OVH
  2. Créer un token pour accès API: https://www.ovh.com/auth/api/createToken?GET=/*&PUT=/*&POST=/*&DELETE=/*

Exemple

1
curl -X GET "https://eu.api.ovh.com/v1/domain/icevps.xyz"  -H "accept: application/json" -H "authorization: Bearer eyJhbGciOiJFBY2Nlc...ArEsT1X2_asA-dTNHvQTah5RTaSiZzDg" |jq

OVH API Python

Environnement virtuel python venv

1
sudo apt install python3-venv 

Pour créer un environnement, utilisez la commande python -m venv <environment name> Créer un environnement pour l’application

1
python3 -m venv ovhapi

Aller dans l’environnement virtuel

1
cd ovhapi/

activer l’environnement virtuel

1
source bin/activate

On arrive sur un prompt: (ovhapi) yair@yannir:~/ovhapi$

Mettre à jour pip dans l’environnement

1
python -m pip install --upgrade pip

Installer ovhapi

1
pip install ovh

Script - test.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import json
import ovh
import sys
from datetime import datetime

# Instantiate. Visit https://api.ovh.com/createToken/?GET=/me
# to get your credentials
client = ovh.Client(
    endpoint='ovh-eu',
    application_key='<la clé d'application AK>',
    application_secret='<l'application secrète AS>',
    consumer_key='<la clé du consommateur CK>',
)

# Print nice welcome message
print("Welcome", client.get('/me')['firstname'])

Le rendre exécutable puis le lancer

1
2
chmod +x test.py
./test.py

Le script s’exécute avec le chemin $HOME/ovhapi/bin

Dans le cas où le chemin n’est pas trouvé!

ATTENTION!!!
Lors de l’exécution d’un script, on a l’erreur ModuleNotFoundError: No module named 'ovh'
Le problème est lié au chemin qui permet d’accéder au module ‘ovh’

Trouver le bon chemin

1
pip show ovh
1
2
3
4
5
6
7
8
9
10
Name: ovh
Version: 1.2.0
Summary: "Official module to perform HTTP requests to the OVHcloud APIs"
Home-page: https://api.ovh.com
Author: OVHcloud team - Romain Beuque
Author-email: api@ml.ovh.net
License: BSD
Location: /home/yair/ovhapi/lib/python3.13/site-packages
Requires: requests, requests-oauthlib
Required-by: 

Dans les scripts python, 2 lignes supplémentaires sont à ajouter en début de fichier

1
2
import sys
sys.path.append('/home/yair/ovhapi/lib/python3.13/site-packages') 
Cet article est sous licence CC BY 4.0 par l'auteur.