Criar um conjunto de regras
POST
/api/v1/
operationIdpostFirewallSet
- Nível exigido
- Operação
- Quota
- mutação, 300 chamadas por hora
Define um modelo de regras. Na criação, não está aplicado a nenhum VPS (applied_to vazio): nada a acompanhar.
Cada regra tem uma port (valor simples ou intervalo início-fim, limites de 1 a 65535), um protocol (TCP ou UDP) e um subnet opcional: um ou vários endereços IPv4/IPv6, com ou sem CIDR, separados por vírgulas. subnet ausente, vazio ou NULL significa «a partir de qualquer lado», tanto em IPv4 como em IPv6. O prefixo /0 não é aceite em IPv6 (::/0): para abrir a todos, deixe subnet vazio.
Corpo do pedido
application/json
-
namestringobrigatório -
descriptionstringopcional -
rulesobject[]obrigatório -
portstringobrigatórioPorta (
443) ou intervalo (8000-8100), limites de 1 a 65535 -
protocolstringobrigatório -
subnetstringopcionalEndereços IPv4/IPv6 (CIDR aceite, exceto
/0em IPv6) separados por vírgulas; ausente, vazio ouNULL: a partir de qualquer lado, tanto em IPv4 como em IPv6
Exemplo de pedido
{
"name": "Web public",
"description": "HTTPS depuis le bureau",
"rules": [
{
"port": "443",
"protocol": "TCP",
"subnet": "45.54.45.54"
}
]
}
Respostas
201
Conjunto criado
{
"data": {
"id": "34",
"name": "Web public",
"description": "HTTPS depuis le bureau",
"rules": [
{
"port": "443",
"protocol": "TCP",
"sources": [
"45.54.45.54"
],
"open_to_any": false
}
],
"applied_to": []
}
}
Campos da resposta 10
-
dataobjectobrigatório -
idstring -
namestring -
descriptionstring -
rulesobject[] -
portstringPorta ou intervalo
início-fim -
protocolstringProtocolo, sempre em maiúsculas
-
sourcesstring[]Endereços ou intervalos CIDR autorizados; vazio se a regra estiver aberta a todos
-
open_to_anybooleantruese nenhum endereço restringir a regra -
applied_tostring[]VPS (abrangidos pela chave) aos quais o conjunto está aplicado
400
Parâmetros inválidos: validation_failed — nome ausente ou demasiado longo, ou regra inválida (a posição é indicada).
validation_failed — nome ausente ou demasiado longo, ou regra inválida (a posição é indicada).{
"type": "https://docs.lws.fr/kvm/errors/validation-failed",
"title": "Paramètres invalides",
"status": 400,
"code": "validation_failed",
"detail": "Règle #2 : port hors limites (99999)",
"request_id": "3f9a1c07b2e45d18",
"errors": {
"rules": "Règle #2 : port hors limites (99999)"
}
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
401
Autenticação recusada: invalid_token — cabeçalho Authorization ausente ou mal formado, ou chave desconhecida; access_disabled — acesso à API cortado para esta conta, ou serviço de API momentaneamente suspenso pela LWS.
invalid_token — cabeçalho Authorization ausente ou mal formado, ou chave desconhecida; access_disabled — acesso à API cortado para esta conta, ou serviço de API momentaneamente suspenso pela LWS.cabeçalho Authorization ausente ou mal formado, ou chave desconhecida
{
"type": "https://docs.lws.fr/kvm/errors/invalid-token",
"title": "Authentification invalide",
"status": 401,
"code": "invalid_token",
"detail": "Clé inconnue ou révoquée.",
"request_id": "3f9a1c07b2e45d18"
}
acesso à API cortado para esta conta, ou serviço de API momentaneamente suspenso pela LWS
{
"type": "https://docs.lws.fr/kvm/errors/access-disabled",
"title": "Accès API désactivé",
"status": 401,
"code": "access_disabled",
"detail": "L'accès API est désactivé pour ce compte. Réactivez-le depuis la page « API / MCP » du panel.",
"request_id": "3f9a1c07b2e45d18"
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
403
Acesso recusado: insufficient_scope — nível da chave insuficiente; ip_not_allowed — endereço de chamada não autorizado.
insufficient_scope — nível da chave insuficiente; ip_not_allowed — endereço de chamada não autorizado.nível da chave insuficiente
{
"type": "https://docs.lws.fr/kvm/errors/insufficient-scope",
"title": "Droits insuffisants",
"status": 403,
"code": "insufficient_scope",
"detail": "Niveau de permission « exploitation » requis.",
"request_id": "3f9a1c07b2e45d18",
"required_level": "exploitation"
}
endereço de chamada não autorizado
{
"type": "https://docs.lws.fr/kvm/errors/ip-not-allowed",
"title": "Adresse non autorisée",
"status": 403,
"code": "ip_not_allowed",
"detail": "L'adresse 203.0.113.10 ne figure pas parmi les adresses autorisées de ce compte.",
"request_id": "3f9a1c07b2e45d18"
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
429
Quota excedida: rate_limited — quota horária da família esgotada.
rate_limited — quota horária da família esgotada.{
"type": "https://docs.lws.fr/kvm/errors/rate-limited",
"title": "Quota dépassé",
"status": 429,
"code": "rate_limited",
"detail": "Quota dépassé pour les opérations de type « mutation » : 300 appels par heure. Réessayez dans 95 seconde(s).",
"request_id": "3f9a1c07b2e45d18",
"family": "mutation",
"limit": 300,
"retry_after": 95
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
502
Dependência inacessível: upstream_unavailable — não foi possível registar.
upstream_unavailable — não foi possível registar.{
"type": "https://docs.lws.fr/kvm/errors/upstream-unavailable",
"title": "Service momentanément indisponible",
"status": 502,
"code": "upstream_unavailable",
"detail": "Le jeu de règles n'a pas pu être enregistré.",
"request_id": "3f9a1c07b2e45d18"
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)