Sdílet prostřednictvím


Python API

Rozhraní CycleCloud Python API umožňuje pracovat s rozhraním REST API CycleCloud bez ručního zpracování požadavků HTTP. Pokud chcete získat zdrojovou distribuci rozhraní API, přejděte na /about v instalaci CycleCloudu a vyberte odkaz Stáhnout rozhraní PYTHON API . Po stažení zdrojové distribuce použijte pip install k jejímu přidání do prostředí Pythonu.

Klientské objekty

Objekt Klienta můžete vytvořit se zadanou konfigurací nebo bez objektu. Pokud nezadáte slovník konfigurace, objekt Klienta se automaticky pokusí získat konfiguraci z výchozího souboru Rozhraní příkazového řádku CycleCloud (~/.cycle/config.ini).

Zadejte konfiguraci jako slovník s následujícími páry klíč/hodnota:

  • url - vyžaduje se adresa URL webového rozhraní pro instalaci CycleCloudu.
  • username - požadované
  • password - povinné, heslo ve formátu prostého textu pro uživatele
  • timeout – počet sekund před vypršením časového limitu při pokusu o připojení nebo komunikaci se systémem (ve výchozím nastavení 60)
  • verify_certificates – logická hodnota, která ukazuje, jestli má být povolená kontrola certifikátu (ve výchozím nastavení true)

Tyto hodnoty můžete také poskytnout jako argumenty klíčových slov konstruktoru.

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")

Vlastnosti klienta

  • session – objekt relace – se používá pouze k volání rozhraní Direct API

  • clusters – mapa objektů clusteru v systému s klíčem podle názvu clusteru

Objekty clusteru

Objekt clusteru poskytuje kontrolu nad konkrétním clusterem v instalaci CycleCloudu.

Vlastnosti clusteru

  • name – název clusteru, na který objekt odkazuje

  • nodes – seznam, pomocí kterého můžete iterovat, který obsahuje záznamy uzlů pro cluster

Funkce clusteru

  • get_status(nodes=False) – Získá objekt stavu clusteru. Můžete zvolit zahrnutí seznamu uzlů.

  • scale_by_cores(node_array, total_core_count) – Nastaví systém pro škálování zadaného pole uzlu na požadovaný celkový počet jader. Pokud pole uzlů již obsahuje více než total_core_count jádra, volání nemá žádný vliv.

  • scale_by_nodes(node_array, total_node_count) – Nastaví systém tak, aby škáluje zadané pole uzlů na požadovaný celkový počet uzlů. Pokud pole uzlů již obsahuje více než total_node_count uzly, volání nemá žádný vliv.

Přímé rozhraní API

K rozhraní REST API můžete přistupovat více přímo na cyclecloud.api a cyclecloud.model, které jsou generovány přímo z rozhraní REST API. Pokud chcete toto rozhraní API použít, vytvořte objekt klienta a proveďte volání s session vlastností, která poskytuje.

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)