Ajouter une règle

POST /api/rules

Obsolète depuis la version 0.5.0:

  • Les propriétés inPath et outPath de la requête ont été remplacées par les propriétés localDir et remoteDir.

  • La propriété workPath de la requête a été remplacée par la propriété tmpReceiveDir.

Ajoute une nouvelle règle à partir des informations renseignées en JSON.

En-têtes de requête:
Objet JSON de requête:
  • name (string) – Le nom de la règle

  • comment (string) – Un commentaire optionnel à propos de la règle (description…)

  • isSend (bool) – Si vrai, la règle ne peut être utilisée que pour l’envoi de fichiers, si faux, la règle ne peut être utilisée que pour la réception de fichiers

  • path (string) – Le chemin d’identification de la règle. Sert à identifier la règle lors d’un transfert si le protocole ne le permet pas. Doit être un chemin absolu.

  • inPath (string) – Déprécié. Le dossier de destination de la règle. Tous les fichiers transférés avec cette règle sont envoyés dans ce dossier.

  • outPath (string) – Déprécié. Le dossier source de la règle. Tous les fichiers transférés avec cette règle sont récupérés depuis ce dossier.

  • workPath (string) – Déprécié. Le dossier temporaire de la règle. Tous les fichiers entrants transférés avec cette règle sont déposés dans ce dossier le temps du transfert.

  • localDir (string) – Le dossier de la règle sur le disque local de la Gateway. Si la règle est une règle d’envoi, ce dossier sert de source au fichier; dans le cas contraire, il sert de destination.

  • remoteDir (string) – Le chemin de la règle sur l’hôte distant. Si la règle est une règle d’envoi, ce dossier sert de destination au fichier; dans le cas contraire, il sert de source.

  • tmpReceiveDir (string) – Le dossier temporaire local de la règle. Tous les fichiers reçu avec cette règle sont déposés dans ce dossier le temps du transfert, puis déplacé dans le “localDir” une fois terminé.

  • preTasks (array) –

    La liste des pré-traitements de la règle.

    • type (string) - Le type de traitements.

    • args (object) - Les arguments du traitement. La structure dépend du type de traitement.

  • postTasks (array) –

    La liste des post-traitements de la règle.

    • type (string) - Le type de traitement.

    • args (object) - Les arguments du traitement. La structure dépend du type de traitement.

  • errorTasks (array) –

    La liste des traitements d’erreur de la règle.

    • type (string) - Le type de traitement.

    • args (object) - Les arguments du traitement. La structure dépend du type de traitement.

  • authorized (object) –

    Les agents autorisés à utiliser cette règle. Par défaut, si cet objet est vide, alors la règle peut être utilisée par tous le monde, sans exception.

    • servers (array of string) - La liste des serveurs locaux autorisés à utiliser la règle.

    • partners (array of string) - La liste des partenaires distants autorisés à utiliser la règle.

    • localAccounts (object) - La liste des comptes locaux autorisés à utiliser la règle. Chaque champ représente un serveur auquel on associe la liste des comptes qui lui sont affiliés.

    • remoteAccounts (object) - La liste des comptes locaux autorisés à utiliser la règle. Chaque champ représente un serveur auquel on associe la liste des comptes qui lui sont affiliés.

Status Codes:
En-têtes de réponse:
  • Location – Le chemin d’accès de la nouvelle règle créée

Exemple de requête

POST https://my_waarp_gateway.net/api/rules HTTP/1.1
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
Content-Length: 736

{
  "name": "règle_1",
  "comment": "ceci est un exemple de règle d'envoi",
  "isSend": true,
  "path": "/chemin/identificateur/de/la/règle",
  "localDir": "/dossier/local",
  "remoteDir": "/dossier/distant",
  "tmpReceiveDir": "/dossier/temporaire",
  "preTasks": [{
    "type": "COPY",
    "args": {"path":"/chemin/de/copie"}
  },{
    "type": "EXEC",
    "args": {"path":"/chemin/du/script","args":"{}","delay":"0"}
  }],
  "postTasks": [{
    "type": "DELETE",
    "args": {}
  },{
    "type": "TRANSFER",
    "args": {"file":"/chemin/du/fichier","to":"waarp_sftp","as":"toto","rule":"règle_2"}
  }],
  "errorTasks": [{
    "type": "MOVE",
    "args": {"path":"/chemin/de/déplacement"}
  },{
    "type": "RENAME",
    "args": {"path":"/chemin/du/renommage"}
  }]
}

Exemple de réponse

HTTP/1.1 201 CREATED
Location: https://my_waarp_gateway.net/api/rules/règle_1