Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
API Python CycleCloud позволяет взаимодействовать с REST API CycleCloud без ручной обработки HTTP-запросов. Чтобы получить распространение источника API, перейдите к разделу /about в установке CycleCloud и выберите ссылку "Скачать API Python ". После скачивания исходного дистрибутива используйте pip install его для добавления в среду Python.
Клиентские объекты
Объект клиента можно создать с указанной конфигурацией или без нее. Если словарь конфигурации не указан, объект клиента автоматически пытается получить конфигурацию из файла CLI CycleCloud по умолчанию (~/.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— объект сеанса — используется только для вызова Direct APIclusters— карта объектов кластера в системе с ключом по имени кластера
Объекты кластера
Объект кластера позволяет управлять определенным кластером в установке 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
Вы можете получить более прямой доступ к REST API, используя API по адресам cyclecloud.api и cyclecloud.model, которые создаются непосредственно из 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)