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 dover eseguire manualmente le richieste HTTP. Per acquisire la distribuzione dell'origine API, passare a /about nell'installazione di CycleCloud e fare clic sul collegamento Scarica API Python . Dopo aver ottenuto la distribuzione di origine, è possibile eseguire pip install
questa operazione nell'ambiente Python e iniziare.
Oggetti client
Un oggetto Client può essere costruito con o senza una configurazione specificata. Se non si specifica un dizionario di configurazione, tenta automaticamente di eseguire il pull della configurazione dal file predefinito dell'interfaccia della riga di comando cyclecloud (~/.cycle/config.ini).
La configurazione può essere fornita come dict 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 dell'utente -
timeout
- tempo, in secondi, prima che si verifichi un errore di timeout quando si tenta di connettersi/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)
In alternativa, questi valori possono essere assegnati 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 il controllo su un cluster specifico in un'installazione CycleCloud.
from cyclecloud.client import Client
cl1 = Client()
# gets a Cluster object for a cluster named "test-cluster-1" from the client cl1
cluster_obj = cl1.clusters["test-cluster-1"]
# prints the current state of the cluster
print(cluster_obj.get_status().state)
# start up to 5 new cores
cluster_obj.scale_by_cores("execute", 5)
Proprietà del cluster
name
: il nome del cluster a cui fa riferimento questo oggettonodes
: un elenco iterabile dei record di nodo che comprendono questo cluster
Funzioni del cluster
get_status(nodes=False)
- Ottiene un oggetto Stato del Cluster, popolando facoltativamente anche 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_count
core, 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 in modo più diretto usando l'API in cyclecloud.api
e cyclecloud.model
generata direttamente dall'API REST. A tale scopo, creare un oggetto Client ed effettuare chiamate usando la session
proprietà specificata.
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)