# Ajouter une règle

Ajoute une nouvelle règle avec les attributs fournis ci-dessous.

Commande

    waarp-transfer rule add

Options

-n <NAME>, --name=<NAME>

  Le nom de la règle de transfert. Doit être unique.

-c <COMMENT>, --comment=<COMMENT>

  Un commentaire optionnel décrivant la règle.

-d <DIRECTION>, --direction=<DIRECTION>

  Le sens de transfert des fichiers utilisant cette règle. Une règle peut être utilisée pour la réception (`receive`) ou l’envoi (`send`) de fichiers.

-p <PATH>, --path=<PATH>

  Le chemin associé à la règle. Ce chemin sert à identifier la règle lors d’un transfert lorsque le protocole ne le permet pas. Par conséquent, ce chemin doit être unique. Par défaut, le nom de règle est utilisé comme chemin.

--local-dir=<DIRECTORY>

  Le chemin du dossier local des fichiers transférés. Dans le cas d’une règle d’envoi, ce dossier est utilisé comme source des fichiers. Dans le cas d’une règle de réception, ce dossier est utilisé comme destination des fichiers. Peut être un chemin relatif ou absolu. Le format du chemin dépend de l’OS de Waarp transfer.

--remote-dir=<DIRECTORY>

  Le chemin d’accès sur le serveur distant des fichiers transférés. Dans le cas d’une règle d’envoi, ce dossier est utilisé comme destination des fichiers. Dans le cas d’une règle de réception, ce dossier est utilisé comme source des fichiers. Ce chemin faisant partie d’un URI, il doit toujours être au format Unix standard.

--tmp-dir=<DIRECTORY>

  Le chemin du dossier local temporaire des fichiers an cours de réception. Par conséquent, ce dossier n’est utile que pour les règles de réception. Le format du chemin dépend de l’OS de Waarp transfer.

-r <TASK>, --pre=<TASK>

  Un pré-traitement associé à la règle. Peut être répété plusieurs fois pour ajouter plusieurs traitements. Ces traitements seront exécutés avant chaque transfert dans l’ordre dans lequel ils ont été renseignés. Les traitements doivent être renseignés sous la forme d’un objet JSON avec 2 champs: le champ `type` et le champ `args`. Le premier est une chaîne de caractères contenant la commande a exécuter, le second est un objet JSON contenant les arguments de la commande.

-s <TASK>, --post=<TASK>

  Un post-traitement associé à la règle. Peut être répété plusieurs fois pour ajouter plusieurs traitements. Ces traitements seront exécutés après chaque transfert dans l’ordre dans lequel ils ont été renseignés. Les traitements doivent être renseignés sous la forme d’un objet JSON avec 2 champs: le champ `type` et le champ `args`. Le premier est une chaîne de caractères contenant la commande a exécuter, le second est un objet JSON contenant les arguments de la commande.

-e <TASK>, --err=<TASK>

  Un traitement d’erreur associé à la règle. Peut être répété plusieurs fois pour ajouter plusieurs traitements. Ces traitements seront exécutés en cas d’erreur dans l’ordre dans lequel ils ont été renseignés. Les traitements doivent être renseignés sous la forme d’un objet JSON avec 2 champs: le champ `type` et le champ `args`. Le premier est une chaîne de caractères contenant la commande a exécuter, le second est un objet JSON contenant les arguments de la commande.

-o <PATH>, --out_path=<PATH>

  Obsolète depuis la version 0.5.0: Remplacé par les options `--local-dir` et `--remote-dir`.

  Le chemin source des fichiers transférés. Lorsqu’un transfert est créé, le fichier sera cherché dans ce dossier. Ce chemin peut être laissé vide si l’on ne souhaite pas que la règle ait un dossier source spécifique.

-i <PATH>, --in_path=<PATH>

  Obsolète depuis la version 0.5.0: Remplacé par les options `--local-dir` et `--remote-dir`.

  Le chemin de destination des fichiers transférés. Une fois un transfert terminé, le fichier est déposé dans ce dossier. Ce chemin peut être laissé vide si l’on ne souhaite pas que la règle ait un dossier destination spécifique.

-w <PATH>, --work_path=<PATH>

  Obsolète depuis la version 0.5.0: Remplacé par `--tmp-dir`.

  Le chemin du dossier local temporaire des fichiers an cours de réception. Ce chemin peut être laissé vide si l’on ne souhaite pas que la règle ait un dossier destination spécifique.

Exemple

    waarp-transfer rule add -n 'règle_1' -c 'règle de réception des fichiers' -d 'receive' -p '/règle_1' -i '/règle_1/in' -o '/règle_1/out'  --pre '{"type":"COPY","args":{"path":"chemin/copie"}}' --post '{"type":"DELETE","args":{}}' --err '{"type":"MOVE","args":{"path":"chemin/déplacement"}}'