Megosztás a következőn keresztül:


Python API

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álatos

  • clusters - 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 hivatkozik

  • nodes - 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 magot total_core_count tartalmaz, 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, a total_node_count hí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)