Bagikan melalui


Python API

CycleCloud Python API memungkinkan Anda berinteraksi dengan CycleCloud REST API tanpa menangani permintaan HTTP secara manual. Untuk mendapatkan distribusi sumber API, buka /about di penginstalan CycleCloud Anda dan pilih tautan Unduh Python API . Setelah Mengunduh distribusi sumber, gunakan pip install untuk menambahkannya ke lingkungan Python Anda.

Objek klien

Anda dapat membuat objek Klien dengan konfigurasi tertentu atau tanpanya. Jika Anda tidak menentukan kamus konfigurasi, objek Klien secara otomatis mencoba mendapatkan konfigurasi dari file ini CycleCloud CLI default (~/.cycle/config.ini).

Berikan konfigurasi sebagai kamus dengan pasangan kunci/nilai berikut:

  • url - diperlukan, URL untuk interface web ke penginstalan CycleCloud
  • username - Diperlukan
  • password - diperlukan, kata sandi teks biasa untuk pengguna
  • timeout - jumlah detik sebelum batas waktu terjadi saat mencoba menyambungkan atau berkomunikasi dengan sistem (60 secara default)
  • verify_certificates - boolean yang menunjukkan apakah pemeriksaan sertifikat harus diaktifkan (Benar secara default)

Anda juga dapat memberikan nilai-nilai ini sebagai argumen kata kunci ke konstruktor.

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

Properti klien

  • session - objek Sesi - hanya digunakan dalam melakukan panggilan ke API Langsung

  • clusters - peta objek Kluster dalam sistem, yang diberi kunci berdasarkan nama Kluster

Objek kluster

Objek Kluster memberi Anda kontrol atas kluster tertentu dalam penginstalan CycleCloud.

Properti Kumpulan

  • name - nama kluster yang dirujuk objek

  • nodes - daftar yang dapat diiterasi yang berisi catatan simpul untuk kluster

Fungsi kluster

  • get_status(nodes=False) - Mendapatkan objek Status Kluster dari kluster. Anda dapat memilih untuk menyertakan daftar simpul.

  • scale_by_cores(node_array, total_core_count) - Mengatur sistem untuk menskalakan array simpul yang ditentukan ke jumlah inti prosesor total yang diinginkan. Jika array simpul sudah berisi lebih dari total_core_count inti, pemanggilan tidak berpengaruh.

  • scale_by_nodes(node_array, total_node_count) - Mengatur sistem untuk menskalakan array simpul yang ditentukan ke jumlah total simpul yang diinginkan. Jika array node sudah berisi lebih dari total_node_count node, panggilan tidak berpengaruh.

API Langsung

Anda dapat mengakses REST API lebih langsung dengan menggunakan API di cyclecloud.api dan cyclecloud.model, yang dihasilkan langsung dari REST API. Untuk menggunakan API ini, buat objek Klien dan lakukan panggilan dengan properti yang session disediakannya.

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)