Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Interfejs API języka Python CycleCloud umożliwia interakcję z interfejsem API REST usługi CycleCloud bez ręcznej obsługi żądań HTTP. Aby uzyskać dystrybucję źródłową interfejsu API, przejdź do lokalizacji /about w instalacji usługi CycleCloud i wybierz link Pobierz interfejs API języka Python . Po pobraniu dystrybucji źródłowej użyj polecenia pip install , aby dodać ją do środowiska języka Python.
Obiekty klienta
Obiekt klienta można utworzyć z określoną konfiguracją lub bez. Jeśli nie określisz słownika konfiguracji, obiekt klienta automatycznie spróbuje pobrać konfigurację z domyślnego pliku ini interfejsu wiersza polecenia usługi CycleCloud (~/.cycle/config.ini).
Podaj konfigurację jako słownik z następującymi parami klucz/wartość:
-
url- wymagany, adres URL interfejsu internetowego do instalacji usługi CycleCloud -
username- Wymagane -
password- wymagane, hasło w postaci zwykłego tekstu dla użytkownika -
timeout— liczba sekund przed przekroczeniem limitu czasu podczas próby nawiązania połączenia lub komunikacji z systemem (domyślnie 60) -
verify_certificates— wartość logiczna, która pokazuje, czy sprawdzanie certyfikatu powinno być włączone (domyślnie prawda)
Te wartości można również podać jako argumenty słowa kluczowego konstruktorowi.
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")
Właściwości klienta
session— obiekt Sesja — używany tylko podczas wykonywania wywołań do interfejsu API bezpośredniegoclusters— mapa obiektów klastra w systemie, z kluczami bazującymi na nazwach klastrów
Obiekty klastra
Obiekt klastra zapewnia kontrolę nad określonym klastrem w instalacji usługi CycleCloud.
Właściwości klastra
name— nazwa klastra, do którego odwołuje się obiektnodes— lista, za pomocą której można wykonać iterację zawierającą rekordy węzłów dla klastra
Funkcje klastra
get_status(nodes=False)— Pobiera obiekt Stan klastra klastra. Możesz dołączyć listę węzłów.scale_by_cores(node_array, total_core_count)— Ustawia system, aby skalować określoną tablicę węzłów do żądanej całkowitej liczby rdzeni. Jeśli tablica węzłów zawiera już więcej niżtotal_core_countrdzenie, wywołanie nie działa.scale_by_nodes(node_array, total_node_count)— Ustawia system, aby skalować określoną tablicę węzłów do żądanej całkowitej liczby węzłów. Jeśli tablica węzłów zawiera już więcej niżtotal_node_countwęzły, wywołanie nie działa.
Bezpośredni interfejs API
Dostęp do interfejsu API REST można uzyskać bardziej bezpośrednio przy użyciu interfejsu API pod cyclecloud.api i cyclecloud.model, który jest generowany bezpośrednio z interfejsu API REST. Aby użyć tego interfejsu API, utwórz obiekt Klienta i wykonaj wywołania z właściwością session dostarczoną przez niego.
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)