Aracılığıyla paylaş


Python API'si

CycleCloud Python API'si, HTTP isteklerini el ile işlemeden CycleCloud REST API'siyle etkileşim kurmanızı sağlar. API kaynak dağıtımını almak için CycleCloud yüklemenizde /about bölümüne gidin ve Python API'sini İndir bağlantısını seçin. Kaynak dağıtımı indirdikten sonra python ortamınıza eklemek için kullanın pip install .

İstemci nesneleri

Belirtilen yapılandırmaya sahip veya olmayan bir İstemci nesnesi oluşturabilirsiniz. Yapılandırma sözlüğü belirtmezseniz, İstemci nesnesi varsayılan CycleCloud CLI ini dosyasından (~/.cycle/config.ini) yapılandırmayı otomatik olarak almaya çalışır.

Yapılandırmayı aşağıdaki anahtar/değer çiftleriyle sözlük olarak sağlayın:

  • url - gerekli, CycleCloud yüklemesi için web arabirimi URL'si
  • gerekli username -
  • password - gerekli, kullanıcının düz metin parolası
  • timeout - sistemle bağlanmaya veya iletişim kurmaya çalışırken zaman aşımı gerçekleşmeden önce geçmesi gereken saniye sayısı (varsayılan olarak 60)
  • verify_certificates - sertifika denetiminin etkinleştirilip etkinleştirilmeydiğini gösteren boole değeri (Varsayılan olarak True)

Bu değerleri oluşturucuya anahtar kelime argümanları olarak da sağlayabilirsiniz.

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

İstemci özellikleri

  • session - Oturum nesnesi - yalnızca Direct API çağrıları yaparken kullanılır

  • clusters - Sistemdeki Küme nesnelerinin küme adına göre anahtarlanmış bir haritası

Küme nesneleri

Küme nesnesi, CycleCloud yüklemesindeki belirli bir küme üzerinde denetim sahibi olmanıza izin verir.

Küme özellikleri

  • name - nesnenin başvurduğu kümenin adı

  • nodes - kümenin düğüm kayıtlarını içeren, yineleyebileceğiniz bir liste

Küme işlevleri

  • get_status(nodes=False) - Kümenin Küme Durumu nesnesini alır. Düğüm listesini eklemeyi seçebilirsiniz.

  • scale_by_cores(node_array, total_core_count) - Sistemi, belirtilen düğüm dizisini istenen toplam çekirdek sayısına ölçeklendirecek şekilde ayarlar. Düğüm dizisi zaten çekirdekten daha fazlasını total_core_count içeriyorsa, çağrının hiçbir etkisi yoktur.

  • scale_by_nodes(node_array, total_node_count) - Sistemi, belirtilen düğüm dizisini istenen toplam düğüm sayısına ölçeklendirecek şekilde ayarlar. Düğüm dizisi zaten düğümden total_node_count fazla içeriyorsa, çağrının hiçbir etkisi yoktur.

Doğrudan API

cyclecloud.api ve cyclecloud.model konumlarındaki API'yi kullanarak, doğrudan REST API'den türetilen REST API'ye daha doğrudan erişebilirsiniz. Bu API'yi kullanmak için bir İstemci nesnesi oluşturun ve sağladığı özellik ile session çağrılar yapın.

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)