Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A CycleCloud Python API lehetővé teszi a CycleCloud REST API használatát a HTTP-kérések manuális kezelése nélkül. Az API forrásának terjesztéséhez menjen a /about oldalra a CycleCloud-telepítésben, és válassza a Python API letöltése hivatkozást. A forrásterjesztés letöltése után használja a pip install-t, hogy hozzáadja a Python környezetéhez.
Ügyfélobjektumok
Létrehozhat egy ügyfélobjektumot egy megadott konfigurációval vagy anélkül. Ha nem ad meg konfigurációs szótárt, az ügyfélobjektum automatikusan megpróbálja lekérni a konfigurációt az alapértelmezett CycleCloud CLI-fájlból (~/.cycle/config.ini).
Adja meg a konfigurációt szótárként a következő kulcs-érték párokkal:
-
url- szükséges, a CycleCloud-telepítés webes felületének URL-címe -
username- szükséges -
password- kötelező, a felhasználó egyszerű szöveges jelszava -
timeout- az időtúllépés előtti másodpercek száma, amikor megpróbál csatlakozni vagy kommunikálni a rendszerrel (alapértelmezés szerint 60) -
verify_certificates- logikai érték, amely megmutatja, hogy engedélyezni kell-e a tanúsítványellenőrzést (alapértelmezés szerint igaz)
Ezeket az értékeket kulcsszóargumentumként is megadhatja a konstruktornak.
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")
Ügyféltulajdonságok
session- a munkamenet-objektum – csak a Direct API-ra irányuló hívásokhoz használatosclusters- a rendszerben lévő fürtobjektumok térképe, amely a fürt nevét használja kulcsként
Klaszter objektumok
A fürtobjektumokkal szabályozhatja egy adott fürtöt egy CycleCloud-telepítésben.
Klasztertulajdonságok
name- annak a fürtnek a neve, amelyre az objektum hivatkoziknodes- a fürt csomópontrekordjait tartalmazó, iterálható lista
Klaszterfüggvények
get_status(nodes=False)– Lekéri a klaszter állapot objektumát. Dönthet úgy, hogy a csomópontlistát is tartalmazza.scale_by_cores(node_array, total_core_count)– Beállítja a rendszert, hogy a megadott csomóponttömböt a kívánt teljes magszámra skálázza. Ha a csomóponttömb már több magottotal_core_counttartalmaz, a hívásnak nincs hatása.scale_by_nodes(node_array, total_node_count)– Beállítja a rendszert, hogy a megadott csomóponttömböt a kívánt csomópontszámra skálázza. Ha a csomóponttömb már több csomópontot tartalmaz, atotal_node_counthívásnak nincs hatása.
Közvetlen API
A REST API-t közvetlenebbül elérheti az cyclecloud.api és cyclecloud.model helyeken elérhető API használatával, amely közvetlenül a REST API-ból van generálva. Az API használatához hozzon létre egy ügyfélobjektumot, és kezdeményezz hívásokat az session általa biztosított tulajdonsággal.
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)