共用方式為


Python API

CycleCloud Python API 可讓您與 CycleCloud REST API 互動,而不需要手動處理 HTTP 要求。 若要取得 API 來源發佈,請移至 CycleCloud 安裝上的 /about ,然後選取 [下載 Python API ] 連結。 下載原始碼分發之後,請使用 pip install 新增它到 Python 環境中。

客戶端物件

您可以使用指定的組態建立 Client 物件,或沒有一個。 如果您未指定組態字典,Client 物件會自動嘗試從預設 CycleCloud CLI ini 檔案取得組態 (~/.cycle/config.ini)。

以字典形式提供包含以下索引鍵/值組的設定:

  • url - 必需,CycleCloud 安裝程式 Web 介面的網址
  • username - 必填
  • password - 必要,使用者的純文本密碼
  • timeout - 嘗試連線或與系統通訊時逾時前的秒數(預設為 60)
  • verify_certificates - 布爾值,顯示是否應該啟用憑證檢查(預設為 True)

您也可以將這些值當做關鍵詞自變數提供給建構函式。

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

用戶端屬性

  • session - Session 物件 - 僅用於呼叫 Direct API

  • clusters - 系統中叢集物件的對應,按叢集名稱索引

叢集物件

Cluster 物件可讓您控制 CycleCloud 安裝中的特定叢集。

叢集屬性

  • name - 對象參考的叢集名稱

  • nodes - 您可以逐一查看包含叢集節點記錄的清單

叢集函式

  • get_status(nodes=False) - 取得叢集的叢集狀態物件。 您可以選擇包含節點清單。

  • scale_by_cores(node_array, total_core_count) - 將系統設定為將指定的節點數位調整為所需的核心總數。 如果節點陣列已經包含超過 total_core_count 核心,則該呼叫不會產生作用。

  • scale_by_nodes(node_array, total_node_count) - 將系統設定為將指定的節點陣列縮放至所需的總節點數量。 如果節點陣列已經包含多個 total_node_count 節點,則呼叫不會有任何作用。

直接 API

您可以透過使用位於 cyclecloud.apicyclecloud.model 的 API,更直接地存取 REST API,這些 API 是直接由 REST API 產生的。 若要使用此 API,請建立 Client 物件,並使用它所提供的 屬性進行呼叫 session

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)