Pular para o conteúdo

Visão da rede da conta

GET /cloud/network

Escopo do token: networks:read. Recurso: Rede da conta.

Regiões onde a conta tem servidores (e as outras com datacenter), com o que cada uma oferece agora (IP elástico e preço, firewall, rede privada), as cotas e se a conta tem cartão salvo. Um recurso só é oferecido onde tem efeito: IPs elásticos e firewall pedem routed_by_gateway na região (o OPNsense é o gateway dos servidores) e um gateway cadastrado; redes privadas pedem switch_automated (a plataforma configura as portas do switch). IPs elásticos e redes privadas também pedem um bloco com espaço.

Os exemplos leem o token da variável de ambiente HALVER_API_TOKEN (um token sc_live_… criado em Desenvolvedores › Tokens de API). Nunca escreva o token no código.

Janela do terminal
curl "https://dash.halver.com.br/api/v1/cloud/network" \
-H "Authorization: Bearer $HALVER_API_TOKEN"

Visão da rede.

Campos da resposta
  • quotas object obrigatório
    • elastic_ips object obrigatório
      • limit integer obrigatório
      • used integer obrigatório
    • firewalls object obrigatório
      • limit integer obrigatório
      • used integer obrigatório
    • private_networks object obrigatório
      • limit integer obrigatório
      • used integer obrigatório
  • regions array de object obrigatório
    • code string obrigatório
    • elastic_ip_monthly_cents integer (int64) obrigatório

      Preço mensal do próximo IP elástico da região.

    • elastic_ips boolean obrigatório

      IPs elásticos funcionam na região (o OPNsense é o gateway dos servidores) e há endereço livre.

    • firewalls boolean obrigatório

      O firewall funciona na região (o OPNsense é o gateway dos servidores).

    • id string (uuid) obrigatório
    • name string obrigatório
    • private_networks boolean obrigatório

      Redes privadas funcionam na região (a plataforma configura o switch) e o bloco de rede privada tem espaço.

    • routed_by_gateway boolean obrigatório

      A rede da região faz IPs elásticos e firewall terem efeito (o OPNsense é o gateway dos servidores e está cadastrado), haja ou não endereço livre agora. Mover um IP elástico pede só isso.

    • servers integer obrigatório

      Servidores da conta na região.

    • switch_automated boolean obrigatório

      A plataforma configura as portas do switch da região, então redes privadas têm efeito, haja ou não espaço no bloco agora. Colocar um servidor numa rede pede só isso.

  • verified boolean obrigatório

    A conta tem cartão salvo (IP elástico com preço exige).

Exemplo de resposta
{
"quotas": {
"elastic_ips": {
"limit": 50,
"used": 1
},
"firewalls": {
"limit": 50,
"used": 1
},
"private_networks": {
"limit": 50,
"used": 1
}
},
"regions": [
{
"code": "br-mg-1",
"elastic_ip_monthly_cents": 89900,
"elastic_ips": false,
"firewalls": false,
"id": "3223951b-6c79-422b-8451-3e493d69ee02",
"name": "Minas Gerais",
"private_networks": false,
"routed_by_gateway": false,
"servers": 1,
"switch_automated": false
}
],
"verified": true
}

Todo erro vem como application/problem+json (RFC 9457), com um code estável, a mensagem em português em detail, o motivo de cada campo em errors (nos erros de validação) e o request_id, que você informa ao suporte. Veja a lista completa de códigos.

Status Quando Códigos
401 Não autenticado (token ausente, inválido ou expirado; credenciais inválidas). auth.unauthorized
403 Autenticado, mas sem permissão para a área ou a operação. api_token.insufficient_scope
Exemplo de erro
{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "o token não tem o escopo networks:read; crie um token com esse escopo em Desenvolvedores › Tokens de API",
"code": "api_token.insufficient_scope",
"request_id": "6f1c0b2a9e4d7c3b5a8f0e1d"
}