.. _reference-tasks: ########### Traitements ########### Lors de l'ajout d'une règle, les traitements de la règle doivent être fournis avec leurs arguments sous forme d'un objet JSON. Cet objet JSON contient 2 attributs: * ``type`` (*string*) - Le type de traitement (voir liste ci-dessous). * ``args`` (*object*) - Les arguments du traitement en format JSON. La structure de cet objet JSON dépend du type du traitement. **Exemple** .. code-block:: json { "type": "COPY", "args": { "path": "/backup" } } .. _reference-tasks-list: Liste des traitements ===================== .. toctree:: :maxdepth: 1 copy copyrename delete exec execmove execoutput move moverename rename transfer preregister sendmessage setinfo transcode change_newline archive extract icap email encrypt decrypt sign verify encrypt_sign decrypt_verify updateconf .. _reference-tasks-substitutions: Substitutions ============= Les valeurs fournies dans l'objet ``args`` peuvent contenir des substitutions. Les marqueurs de substitutions sont délimités par des signes dièse (``#``), et sont valorisés au moment de l'exécution du traitement par les données correspondant au transfert. Les substitutions disponibles sont les suivantes : ======================= ============= Marqueur Signification ======================= ============= ``#TRUEFULLPATH#`` Le chemin réel du fichier sur le disque ``#TRUEFILENAME#`` Le nom réel du fichier sur le disque ``#BASEFILENAME#`` Le nom du fichier sur disque (sans extension) ``#FILEEXTENSION#`` L'extension du fichier (avec le point inclus, ex: ``.txt``) ``#ORIGINALFULLPATH#`` Le chemin d'origine du fichier avant le transfert ``#ORIGINALFILENAME#`` Le nom d'origine du fichier avant le transfert ``#FILESIZE#`` La taille du fichier ``#HOMEPATH#`` Le dossier racine de Transfer. Ce chemin est toujours absolu. ``#INPATH#`` Le dossier de réception par défaut définit dans le fichier de configuration. Ce chemin est toujours absolu. ``#OUTPATH#`` Le dossier d'envoi par défaut définit dans le fichier de configuration. Ce chemin est toujours absolu. ``#WORKPATH#`` Le dossier temporaire de réception par défaut définit dans le fichier de configuration. Ce chemin est toujours absolu. ``#RULE#`` La règle utilisée par le transfert ``#DATE#`` La date (au format ``AAAAMMJJ``) au moment de l'exécution de la tâche ``#HOUR#`` L'heure (au format ``HHMMSS``) au moment de l'exécution de la tâche ``#TIMESTAMP(format)#`` Un timestamp au format personnalisable. Le format est constitué d'une suite de token qui seront remplacés par leur valeur correspondante. La table de correspondance peut être consultée :ref:`ci-dessous `. Par défaut, le format ``YYYY-MM-DD_HHmmss`` est utilisé. ``#REMOTEHOST#`` L'identifiant du partenaire distant ``#LOCALHOST#`` L'identifiant du partenaire local ``#TRANSFERID#`` L'identifiant du transfert ``#REQUESTERHOST#`` L'identifiant du partenaire qui a demandé le transfert ``#REQUESTEDHOST#`` L'identifiant du partenaire qui a reçu la demande de transfert ``#FULLTRANSFERID#`` Un identifiant "étendu" pour le transfert (de la forme ``identifiantDeTransfert_idClient_idServeur``) ``#ERRORMSG#`` Message d'erreur (dans les traitements d'erreur) ``#ERRORCODE#`` Code d'erreur R66 sous forme d'un caractère simple (dans les traitements d'erreur) ======================= ============= En plus de ces marqueurs standards, il est également possible de référencer les :term:`infos de transfert` dans la définition d'un traitement. Pour ce faire, le marqueur à utiliser est le suivant: ``#TI_#`` où ```` est remplacée par le nom de la clé souhaitée. À l'exécution, ce marqueur sera alors substitué par la valeur associée à la clé renseignée. Ces valeurs de substitutions sont également disponibles pour les programmes externes appelés par les tâches EXEC sous forme de variables d'environnement. Ces variables d'environnement ont la forme ``WAARP_`` sans les dièses ``#`` (ex: ``WAARP_TRANSFERID``). Par ailleurs, Waarp Transfer met à disposition des programmes externes les variables d'environnement ``WAARP_CONFIG_FILE`` et ``WAARP_CONFIG_DIR`` contenant, respectivement, le chemin du fichier de configuration de Waarp Transfer, et le dossier parent de ce fichier. .. note:: Les variables normalement personnalisables ne le sont plus lorsqu'elles sont passées en variables d'environnement. En conséquence, les variables ``#TIMESTAMP(format)#`` et ``#STARTTIMESTAMP(format)#`` décrites ci-dessus sont disponibles sous les noms ``WAARP_TIMESTAMP`` et ``WAARP_STARTTIMESTAMP`` respectivement, et la date sera toujours au format ISO-8601. .. _ref-timestamp-format: Formatage des *timestamps* ========================== La table suivante indique les correspondance entre les différents tokens constituant un format de *timestamp*, et leurs valeurs de remplacement une fois résolus. À noter que tout caractère d'un format ne faisant pas partie d'un token sera laissé inchangé. Par exemple, si un format de timestamp contient le caractère *underscore* (``_``), celui-ci ne correspondant à aucun token dans la liste ci-dessous, il sera donc laissé tel quel dans le timestamp final. .. table:: :widths: 40 10 20 +------------------------+-------+------------------+ | Unité de temps | Token | Valeur | +========================+=======+==================+ | **Année** | YYYY | 2025 | | +-------+------------------+ | | YY | 25 | +------------------------+-------+------------------+ | **Mois** | MMMM | January | | +-------+------------------+ | | MMM | Jan | | +-------+------------------+ | | MM | 01..12 | | +-------+------------------+ | | M | 1..12 | +------------------------+-------+------------------+ | **Jour** | DD | 01..31 | | +-------+------------------+ | | D | 1..31 | +------------------------+-------+------------------+ | **Jour de la semaine** | dddd | Monday | | +-------+------------------+ | | ddd | Mon | +------------------------+-------+------------------+ | **AM/PM** | PM | AM/PM | | +-------+------------------+ | | pm | am/pm | +------------------------+-------+------------------+ | **Heure** | HH | 00..23 | | +-------+------------------+ | | hh | 01..12 | | +-------+------------------+ | | h | 1..12 | +------------------------+-------+------------------+ | **Minutes** | mm | 00..59 | | +-------+------------------+ | | m | 0..59 | +------------------------+-------+------------------+ | **Secondes** | ss | 00..59 | | +-------+------------------+ | | s | 0..59 | +------------------------+-------+------------------+ | **Fuseau horaire** | tz | UTC, MST, CET... | | +-------+------------------+ | | zz | -06:00 .. +06:00 | | +-------+------------------+ | | z | -0600 .. +0600 | +------------------------+-------+------------------+