ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تتيح لك واجهة برمجة تطبيقات CycleCloud Python التفاعل مع واجهة برمجة تطبيقات CycleCloud REST دون الحاجة إلى تنفيذ طلبات HTTP يدويا. للحصول على توزيع مصدر واجهة برمجة التطبيقات، انتقل إلى /about على تثبيت CycleCloud وانقر على ارتباط Download Python API . بمجرد أن يكون لديك توزيع المصدر، يمكنك القيام بذلك pip install
في بيئة python الخاصة بك والبدء.
كائنات العميل
يمكن إنشاء كائن العميل مع تكوين محدد أو بدونه. إذا لم تحدد قاموس تكوين، فإنه يحاول تلقائيا سحب التكوين من الملف الافتراضي CycleCloud CLI ini (~/.cycle/config.ini).
يمكن توفير التكوين كمقدمة مع أزواج المفاتيح/القيم التالية:
-
url
- مطلوب، عنوان URL لواجهة الويب لتثبيت CycleCloud -
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
- كائن جلسة العمل - يستخدم فقط في إجراء مكالمات إلى واجهة برمجة التطبيقات المباشرةclusters
- خريطة لكائنات نظام المجموعة في النظام، يتم مفتاحها بواسطة اسم نظام المجموعة
كائنات نظام المجموعة
يسمح كائن نظام المجموعة بالتحكم في مجموعة معينة في تثبيت 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)
خصائص مقطع التخزين
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
عقد، فلن يكون لاستدعاء أي تأثير.
واجهة برمجة تطبيقات مباشرة
يمكن الوصول إلى واجهة برمجة التطبيقات الباقية بطريقة أكثر مباشرة باستخدام واجهة برمجة التطبيقات في cyclecloud.api
والتي cyclecloud.model
يتم إنشاؤها مباشرة من واجهة برمجة تطبيقات REST. للقيام بذلك، يمكنك إنشاء كائن عميل وإجراء استدعاءات باستخدام الخاصية المتوفرة 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)