OVH API

OVH API

Notes

OVH client API

uv

configuration avec uv, sans utiliser python -m venv ni activer manuellement l’environnement. uv run crée et gère automatiquement .venv dans le projet.

1
2
3
4
# Installer uv si nécessaire
curl -LsSf https://astral.sh/uv/install.sh | sh
# archlinux
yay -S uv

OVH API

1
2
3
4
# Créer le projet et ajouter le client OVH
uv init ovh-api
cd ovh-api
uv add ovh

Créez ovh.conf à la racine du projet :

1
2
3
4
5
[default]
endpoint=ovh-eu
application_key=VOTRE_APP_KEY
application_secret=VOTRE_APP_SECRET
consumer_key=VOTRE_CONSUMER_KEY

Protégez le fichier, car il contient des clés secrètes :

1
chmod 600 ovh.conf

Créez main.py :

1
2
3
4
5
6
7
8
9
import ovh

client = ovh.Client(config_file="ovh.conf")

# Vérifier l'accès à l'API
print(client.get("/me"))

# Lister les zones DNS du compte
print(client.get("/domain/zone"))

Exécutez le script :

1
uv run main.py

Pour un script autonome, sans initialiser de projet, vous pouvez aussi faire :

1
uv run --with ovh main.py

La documentation de uv : gestion des projets et exécution de scripts.

Python venv

Pour installer le client API Python d’OVHcloud sous Linux, utilisez un environnement virtuel :

1
2
3
4
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install ovh

Le paquet ovh prend en charge Python 3.7 et versions ultérieures.

Créez ensuite vos identifiants API OVHcloud et utilisez-les en Python :

1
2
3
4
5
6
7
8
9
10
import ovh

client = ovh.Client(
    endpoint="ovh-eu",  # utilisez ovh-ca ou ovh-us selon votre région
    application_key="VOTRE_APP_KEY",
    application_secret="VOTRE_APP_SECRET",
    consumer_key="VOTRE_CONSUMER_KEY",
)

print(client.get("/me"))

Ne stockez pas vos clés secrètes dans le code source. Le client peut aussi lire les identifiants depuis un fichier ovh.conf.

Oui. Créez un fichier ovh.conf :

1
2
3
4
5
[default]
endpoint=ovh-eu
application_key=VOTRE_APP_KEY
application_secret=VOTRE_APP_SECRET
consumer_key=VOTRE_CONSUMER_KEY

Limitez l’accès au fichier :

1
chmod 600 ovh.conf

Puis, dans votre script Python, indiquez son emplacement :

1
2
3
4
import ovh

client = ovh.Client(config_file="ovh.conf")
print(client.get("/me"))

Si le fichier se trouve à l’emplacement par défaut (~/.ovh.conf), vous pouvez omettre config_file :

1
2
client = ovh.Client()
...