For the complete documentation index, see llms.txt. This page is also available as Markdown.

SDK Python VergeOS (pyvergeos)

pyvergeos est un SDK Python pour gérer VergeOS via l’API REST, offrant une interface typée, de style Python, pour automatiser les VM, le réseau, le stockage, les locataires et la reprise après sinistre.

Vue d'ensemble

pyvergeos est un SDK Python pour gérer l'infrastructure VergeOS via l'API REST. Il fournit une interface Pythonique, annotée avec des types, pour automatiser le cycle de vie des VM, le réseau, le stockage, les opérations multi-locataires et les flux de reprise après sinistre, ce qui le rend idéal pour les scripts d'automatisation, le développement d'outils et les intégrations.

Fonctionnalités clés

  • Gestion des VM: Création, configuration, contrôle d'alimentation, clonage et instantanés

  • Réseautage avancé: Réseaux virtuels, règles de pare-feu, DHCP, DNS, VPN IPSec et WireGuard

  • NAS et stockage: Gestion des volumes, partages CIFS/NFS et synchronisation

  • Multi-location: Provisionnement des locataires avec isolation des ressources

  • Reprise après sinistre: Instantanés cloud, synchronisation des sites et flux de récupération

  • Filtrage: Prise en charge du filtrage OData avec une API de génération de filtres fluide

  • Annotations de type: Indications de type complètes pour l'autocomplétion de l'IDE et l'analyse statique

  • Multiplateforme: Prise en charge de Windows, macOS et Linux

Prérequis

  • Python 3.9 ou version ultérieure

  • VergeOS 26.0 ou version ultérieure

Installation

Depuis PyPI (recommandé)

Avec uv

Depuis les sources

Authentification

Le SDK prend en charge plusieurs méthodes d'authentification :

Nom d'utilisateur/mot de passe

Vérification du certificat SSL

Définissez verify_ssl=False uniquement pour les environnements avec des certificats auto-signés. Pour les environnements de production avec des certificats valides, omettez ce paramètre ou définissez-le sur True.

Jeton d'API

Variables d'environnement

Gestionnaire de contexte

Ressources disponibles

Le SDK donne accès aux ressources VergeOS suivantes :

Catégorie
Ressources

Machines virtuelles

VM, disques, NIC, instantanés

Réseautage

Réseaux, règles, DNS, DHCP, alias, hôtes

VPN

Connexions IPSec, interfaces et pairs WireGuard

NAS/Stockage

Services, volumes, partages CIFS/NFS, synchronisations de volumes

Locataires

Gestion des locataires, instantanés, stockage, blocs réseau

Utilisateurs et groupes

Utilisateurs, groupes, permissions, clés API

Système

Clusters, nœuds, niveaux de stockage, certificats

Surveillance

Alertes, journaux, tâches

Sauvegarde et reprise après sinistre

Profils d'instantanés, instantanés cloud, sites, synchronisations de sites

Exemples d'utilisation

Gestion des machines virtuelles

Création et gestion des réseaux

Filtrage des ressources

Le SDK prend en charge plusieurs approches de filtrage :

Attente des tâches

De nombreuses opérations dans VergeOS s'exécutent de manière asynchrone. Utilisez le gestionnaire de tâches pour attendre la fin :

Opérations asynchrones

Les opérations comme les instantanés, les clones et les migrations renvoient immédiatement un identifiant de tâche. Utilisez client.tasks.wait() pour bloquer jusqu'à ce que l'opération soit terminée.

Gestion des erreurs

Le SDK fournit des types d'exceptions spécifiques pour différents cas d'erreur :

Types d'exceptions disponibles

Exception
Description

VergeError

Exception de base pour toutes les erreurs du SDK

AuthenticationError

Identifiants invalides ou jeton expiré

NotFoundError

La ressource demandée n'existe pas

ConflictError

Conflit d'état de la ressource (par ex., VM déjà en cours d'exécution)

ValidationError

Valeurs de paramètre invalides

TaskTimeoutError

La tâche n'a pas été terminée dans le délai imparti

TaskError

La tâche a échoué pendant l'exécution

Cas d'utilisation courants

  • Automatisation de l'infrastructure: Provisionner des VM, des réseaux et du stockage par programmation

  • Intégration CI/CD: Créer et détruire des environnements de test dans les pipelines

  • Surveillance et reporting: Interroger l'état des ressources et générer des rapports d'inventaire

  • Automatisation des sauvegardes: Planifier et gérer les instantanés et les sauvegardes cloud

  • Provisionnement multi-locataire: Automatiser la création des locataires et l'allocation des ressources

Documentation et ressources

Pour une documentation complète, y compris toutes les méthodes disponibles et des exemples d'utilisation détaillés, visitez le dépôt officiel :

Support

Si vous rencontrez des problèmes ou avez des demandes de fonctionnalités, veuillez ouvrir un ticket sur le dépôt GitHub :

Ressources supplémentaires

Mis à jour

Ce contenu vous a-t-il été utile ?