Modifier un jeu de règles
PUT
/api/v1/
operationIdputFirewallSet
- Niveau requis
- Exploitation
- Quota
- mutation, 300 appels par heure
Remplace le nom et l'intégralité des règles : ce n'est pas une fusion, les règles absentes du corps disparaissent. description absente du corps est conservée ; présente et vide, elle est effacée.
La mise à jour du pare-feu de tous les VPS où le jeu est appliqué est mise en file aussitôt (comptez quelques minutes) : modifier un jeu en usage change le pare-feu de plusieurs machines d'un coup (applied_to dit lesquelles).
Avec une clé limitée à une sélection de VPS, un jeu également appliqué à un VPS que la clé ne couvre pas ne peut être ni modifié ni supprimé (409 invalid_state) : faites-le depuis le panel, ou étendez la portée de la clé.
Paramètres du chemin
-
idstring requis -
Identifiant du jeu de règles.
Corps de la requête
application/json
-
namestringrequis -
descriptionstringfacultatif -
rulesobject[]requis -
portstringrequisPort (
443) ou intervalle (8000-8100), bornes 1 à 65535 -
protocolstringrequis -
subnetstringfacultatifAdresses IPv4/IPv6 (CIDR accepté, sauf
/0en IPv6) séparées par des virgules ; absent, vide ouNULL: depuis n'importe où, en IPv4 comme en IPv6
Exemple de requête
{
"name": "Web public",
"rules": [
{
"port": "443",
"protocol": "TCP",
"subnet": "45.54.45.54"
},
{
"port": "8000-8100",
"protocol": "TCP",
"subnet": "NULL"
}
]
}
Réponses
200
Jeu mis à jour
{
"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": [
"116807"
]
}
}
Champs de la réponse 10
-
dataobjectrequis -
idstring -
namestring -
descriptionstring -
rulesobject[] -
portstringPort ou intervalle
début-fin -
protocolstringProtocole, toujours en majuscules
-
sourcesstring[]Adresses ou plages CIDR autorisées ; vide si la règle est ouverte à tous
-
open_to_anybooleantruesi aucune adresse ne restreint la règle -
applied_tostring[]VPS (couverts par la clé) auxquels le jeu est appliqué
400
Paramètres invalides : validation_failed — nom absent ou trop long, ou règle invalide (le rang est indiqué).
validation_failed — nom absent ou trop long, ou règle invalide (le rang est indiqué).{
"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)"
}
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
401
Authentification refusée : invalid_token — en-tête Authorization absent ou malformé, ou clé inconnue ; access_disabled — accès API coupé pour ce compte, ou service API momentanément coupé par LWS.
invalid_token — en-tête Authorization absent ou malformé, ou clé inconnue ; access_disabled — accès API coupé pour ce compte, ou service API momentanément coupé par LWS.en-tête Authorization absent ou malformé, ou clé inconnue
{
"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"
}
accès API coupé pour ce compte, ou service API momentanément coupé par 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"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
403
Accès refusé : insufficient_scope — niveau de la clé insuffisant ; ip_not_allowed — adresse d'appel non autorisée.
insufficient_scope — niveau de la clé insuffisant ; ip_not_allowed — adresse d'appel non autorisée.niveau de la clé insuffisant
{
"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"
}
adresse d'appel non autorisée
{
"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"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
404
Ressource introuvable : set_not_found — jeu inconnu ou appartenant à un autre compte.
set_not_found — jeu inconnu ou appartenant à un autre compte.{
"type": "https://docs.lws.fr/kvm/errors/set-not-found",
"title": "Jeu de règles introuvable",
"status": 404,
"code": "set_not_found",
"detail": "Jeu de règles introuvable.",
"request_id": "3f9a1c07b2e45d18"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
409
Conflit avec l'état courant : invalid_state — jeu aussi appliqué à des VPS que la clé ne couvre pas.
invalid_state — jeu aussi appliqué à des VPS que la clé ne couvre pas.{
"type": "https://docs.lws.fr/kvm/errors/invalid-state",
"title": "Opération impossible en l'état",
"status": 409,
"code": "invalid_state",
"detail": "Ce jeu de règles est aussi appliqué à des VPS que cette clé ne couvre pas. Modifiez-le depuis le panel, ou étendez la portée de la clé à ces VPS.",
"request_id": "3f9a1c07b2e45d18"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
429
Quota dépassé : rate_limited — quota horaire de la famille épuisé.
rate_limited — quota horaire de la famille épuisé.{
"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
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
502
Dépendance injoignable : upstream_unavailable — enregistrement impossible.
upstream_unavailable — enregistrement impossible.{
"type": "https://docs.lws.fr/kvm/errors/upstream-unavailable",
"title": "Service momentanément indisponible",
"status": 502,
"code": "upstream_unavailable",
"detail": "Inventaire des VM indisponible.",
"request_id": "3f9a1c07b2e45d18"
}
Champs de la réponse 18
-
typestring (uri)requis -
titlestringrequisTitre court
-
statusinteger (int64)requisStatut HTTP
-
codestringrequisCode machine stable (voir « Erreurs » dans Pour commencer)
-
detailstringrequisMessage détaillé
-
request_idstringrequisIdentifiant de la requête, à communiquer au support
-
errorsobjectvalidation_failed: message par paramètre fautif -
required_levelstringinsufficient_scope: niveau exigé par l'opération -
task_idstringtask_already_running: tâche en cours sur ce VPS -
familystringrate_limited: famille de quota épuisée -
limitinteger (int64)rate_limited: plafond horaire de la famille -
retry_afterinteger (int64)rate_limited: secondes à attendre -
lockstringserver_locked: verrou posé par l'hyperviseur (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, une opération est en cours, réessayez aprèsRetry-After;suspended, le VPS hiberne, démarrez-le d'abord ;support_notified, verrou anormal, l'équipe LWS est prévenue et intervient -
maintenanceobjectserver_maintenance: nature de l'intervention, début et fin prévue (nullpour un incident) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)