Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’API Python CycleCloud vous permet d’interagir avec l’API REST CycleCloud sans gérer manuellement les requêtes HTTP. Pour obtenir la distribution de la source de l’API, accédez à /about sur votre installation cycleCloud et sélectionnez le lien Télécharger l’API Python . Après avoir téléchargé la distribution source, utilisez-la pip install pour l’ajouter à votre environnement Python.
Objets clients
Vous pouvez créer un objet Client avec une configuration spécifiée ou sans configuration. Si vous ne spécifiez pas de dictionnaire de configuration, l’objet client tente automatiquement d’obtenir la configuration à partir du fichier d’interface CLI CycleCloud par défaut (~/.cycle/config.ini).
Fournissez la configuration en tant que dictionnaire avec les paires clé/valeur suivantes :
-
url- obligatoire, l’URL de l’interface web vers l’installation de CycleCloud -
username- Obligatoire -
password- obligatoire, mot de passe en texte brut pour l’utilisateur -
timeout- nombre de secondes avant qu’un délai d’expiration ne se produise lors de la tentative de connexion ou de communication avec le système (60 par défaut) -
verify_certificates- valeur booléenne qui indique si la vérification des certificats doit être activée (True par défaut)
Vous pouvez également fournir ces valeurs en tant qu’arguments de mot clé au constructeur.
from cyclecloud.client import Client
# configuration read from ~/.cycle/config.ini
cl1 = Client()
# config provided as dictionary
config = {"url": "http://127.0.0.1:8443",
"username": "admin",
"password": "password",
"timeout": 60,
"verify_certificates": False}
cl2 = Client(config)
# config provided as keyword arguments
cl3 = Client(url="http://127.0.0.1:8443", username="admin", password="password")
Propriétés du client
session- l’objet Session - utilisé uniquement pour effectuer des appels à l’API Directclusters- Carte des objets cluster dans le système, clé par nom de cluster
Objets de cluster
Un objet Cluster vous permet de contrôler un cluster spécifique dans une installation CycleCloud.
Propriétés du cluster
name- nom du cluster auquel l’objet fait référencenodes- une liste dans laquelle vous pouvez itérer et qui contient les enregistrements de nœud pour le cluster
Fonctions de cluster
get_status(nodes=False)- Obtient un objet État du cluster. Vous pouvez choisir d’inclure la liste des nœuds.scale_by_cores(node_array, total_core_count)- Définit le système afin de faire évoluer le tableau de nœuds spécifié pour atteindre le nombre total de cœurs souhaité. Si le tableau de nœuds contient déjà plus detotal_core_countcœurs, l’appel n’a aucun effet.scale_by_nodes(node_array, total_node_count)- Configure le système pour mettre à l’échelle le tableau de nœuds spécifié au nombre total de nœuds souhaité. Si le tableau de nœuds contient déjà plus detotal_node_countnœuds, l’appel n’a aucun effet.
API directe
Vous pouvez accéder à l’API REST plus directement à l’aide de l’API à l’adresse cyclecloud.api et cyclecloud.model, qui est générée directement à partir de l’API REST. Pour utiliser cette API, créez un objet client et effectuez des appels avec la session propriété qu’elle fournit.
from cyclecloud.client import Client
from cyclecloud.api import clusters
cl1 = Client()
# prints the current state of the cluster
response_status, cluster_status = clusters.get_cluster_status(cl1.session, "test-cluster-1", nodes=False)
print(cluster_status.state)