Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A API python do CycleCloud permite que você interaja com a API REST do CycleCloud sem lidar manualmente com solicitações HTTP. Para obter a distribuição de origem da API, acesse /about na instalação do CycleCloud e selecione o link baixar a API do Python . Depois de baixar a distribuição de origem, use pip install para adicioná-la ao seu ambiente python.
Objetos do cliente
Você pode criar um objeto Client com uma configuração especificada ou sem um. Se você não especificar um dicionário de configuração, o objeto Cliente tentará obter automaticamente a configuração do arquivo ini padrão da CLI do CycleCloud (~/.cycle/config.ini).
Forneça a configuração como um dicionário com os seguintes pares chave/valor:
-
url- necessária, a URL da interface web para a instalação do CycleCloud -
username- Necessário -
password- necessária, a senha de texto sem formatação para o usuário -
timeout- o número de segundos antes de um tempo limite acontecer ao tentar se conectar ou se comunicar com o sistema (60 por padrão) -
verify_certificates- um booliano que mostra se a verificação de certificado deve ser habilitada (True por padrão)
Você também pode fornecer esses valores como argumentos de palavra-chave para o construtor.
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")
Propriedades do cliente
session- o objeto Session - usado apenas para fazer chamadas para a API Diretaclusters- um mapa dos objetos cluster no sistema, chaveado pelo nome do cluster
Objetos de cluster
Um objeto cluster fornece controle sobre um cluster específico em uma instalação do CycleCloud.
Propriedades do cluster
name- o nome do cluster ao qual o objeto se referenodes: uma lista com os registros de nó do cluster para iteração
Funções de cluster
get_status(nodes=False)– Obtém um objeto status de cluster do cluster. Você pode optar por incluir a lista de nós.scale_by_cores(node_array, total_core_count)- Define o sistema para dimensionar a matriz de nós especificada para a contagem total de núcleos desejada. Se a matriz de nós já contiver mais do quetotal_core_countnúcleos, a chamada não terá efeito.scale_by_nodes(node_array, total_node_count)- Define o sistema para dimensionar a matriz de nós especificada para a contagem total de nós desejada. Se a matriz de nós já contiver mais do quetotal_node_countnós, a chamada não terá efeito.
API direta
Você pode acessar a API REST mais diretamente usando a API em cyclecloud.api e cyclecloud.model, que é gerada diretamente da API REST. Para usar essa API, crie um objeto Client e faça chamadas com a session propriedade fornecida por ele.
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)