Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'API Python CycleCloud consente di interagire con l'API REST CycleCloud senza gestire manualmente le richieste HTTP. Per ottenere la distribuzione dell'origine API, passare a /about nell'installazione di CycleCloud e selezionare il collegamento Scarica API Python . Dopo aver scaricato la distribuzione di origine, usare pip install per aggiungerla all'ambiente Python.
Oggetti client
È possibile creare un oggetto Client con una configurazione specificata o senza di esse. Se non si specifica un dizionario di configurazione, l'oggetto Client tenta automaticamente di ottenere la configurazione dal file ini dell'interfaccia della riga di comando CycleCloud predefinito (~/.cycle/config.ini).
Specificare la configurazione come dizionario con le coppie chiave/valore seguenti:
-
url- obbligatorio, l'URL dell'interfaccia Web per l'installazione di CycleCloud -
username- Obbligatorio -
password- obbligatorio, password di testo normale per l'utente -
timeout- Numero di secondi prima che si verifichi un timeout quando si tenta di connettersi o comunicare con il sistema (60 per impostazione predefinita) -
verify_certificates- Valore booleano che indica se il controllo dei certificati deve essere abilitato (True per impostazione predefinita)
È anche possibile fornire questi valori come argomenti di parola chiave al costruttore.
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")
Proprietà client
session- L'oggetto Session , usato solo per effettuare chiamate all'API direttaclusters: mappa degli oggetti Cluster nel sistema, con chiave in base al nome del cluster
Oggetti del cluster
Un oggetto Cluster consente di controllare un cluster specifico in un'installazione CycleCloud.
Proprietà del cluster
name: nome del cluster a cui fa riferimento l'oggettonodes: un elenco che è possibile scorrere che contiene i record del nodo per il cluster
Funzioni del cluster
get_status(nodes=False)- Ottiene un oggetto Stato del cluster del cluster. È possibile scegliere di includere l'elenco dei nodi.scale_by_cores(node_array, total_core_count)- Imposta il sistema per ridimensionare la matrice di nodi specificata sul numero totale di core desiderato. Se la matrice di nodi contiene già più ditotal_core_countcore, la chiamata non ha alcun effetto.scale_by_nodes(node_array, total_node_count): imposta il sistema per ridimensionare la matrice di nodi specificata sul numero totale di nodi desiderato. Se la matrice di nodi contiene già più noditotal_node_count, la chiamata non ha alcun effetto.
API diretta
È possibile accedere all'API REST più direttamente usando l'API in cyclecloud.api e cyclecloud.model, generata direttamente dall'API REST. Per usare questa API, creare un oggetto Client ed effettuare chiamate con la session proprietà fornita.
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)