#%RAML 1.0 title: API REST pour WaarpR66 description: API REST pour la gestion de serveurs WaarpR66. version: 2.0.0 mediaType: - application/json securedBy: - BasicAuthentication - BasicAuthentication+Signature - HmacKey - HmacKey+Signature securitySchemes: BasicAuthentication: type: Basic Authentication description: Authentification HTTP basique au moyen d'identifiants encodés en base64. displayName: Authentification basique describedBy: headers: Authorization: type: string description: | Le nom d'utilisateur, suivi par deux points (" *:* "), suivi du mot de passe. Le tout est encodé en Base64. Ces identifiants encodés doivent être précédés de la chaîne de caractères *"Basic "* qui annonce l'utilisation du schéma d'authentification basique. example: Basic d20tY2xpZW50OndtLWNsaWVudHBhc3N3b3Jk BasicAuthentication+Signature: type: Basic Authentication description: Authentification HTTP basique au moyen d'identifiants encodés en base64, avec vérification de signature des requêtes. displayName: Authentification basique & signature describedBy: headers: Authorization: type: string description: | Le nom d'utilisateur, suivi par deux points (" *:* "), suivi du mot de passe. Le tout est encodé en Base64. Ces identifiants encodés doivent être précédés de la chaîne de caractères *"Basic "* qui annonce l'utilisation du schéma d'authentification basique. example: Basic d20tY2xpZW50OndtLWNsaWVudHBhc3N3b3Jk X-Auth-Signature: type: string description: | La signature de la requête est le résultat de la concaténation de : * l'entête HTTP *Authorization* * le corps de la requête * l'URI de la requête * la méthode HTTP de la requête Le tout doit être ensuite hashé avec la clé de signature du serveur en utilisant l'algorithme *HmacSha256*. example: 4dd8bfd9c1c537dbe67ce1572ceac0c18fbce70b2d08100ebd1fe773c32573dd HmacKey: type: x-custom description: Authentification par le biais d'un hash des identifiants utilisateur. displayName: Authentification par hash describedBy: headers: Authorization: type: string description: | Cet entête est une chaîne de caractères formée par la concaténation des éléments suivants : * le timestamp de la requête (i.e. l'entête *X-Auth-Timestamp*) * le nom d'utilisateur (i.e. l'entête *X-Auth-User*) * le mot de passe de l'utilisateur Cette chaîne est ensuite hashée avec l'algorithme *HmacSha256* en utilisant la clé de signature REST du serveur. Le hash doit être préfixé de la déclaration "HMAC " afin de spécifié l'utilisation de l'authentification par clé HMAC. example: HMAC e4219167eb4cf1f8590d684713218c4ad011d475d8f3b2d37fb15ce3da675021 X-Auth-User: type: string description: Le nom de l'utilisateur émettant la requête. example: user1 X-Auth-Timestamp: type: datetime description: La date à laquelle la requête a été émise (en format ISO 8601). example: 1970-01-01T01:00:00+00:00 HmacKey+Signature: type: x-custom displayName: Authentification par hash & signature description: Authentification par le biais d'un hash des identifiants utilisateur, avec vérification de signature des requêtes. describedBy: headers: Authorization: type: string description: | Cet entête est une chaîne de caractères formée par le concaténation des éléments suivants : * le timestamp de la requête (i.e. l'entête *X-Auth-Timestamp*) * le nom d'utilisateur (i.e. l'entête *X-Auth-User*) * le mot de passe de l'utilisateur Cette chaîne est ensuite hashée avec l'algorithme *HmacSha256* en utilisant la clé de signature REST du serveur. Le hash doit être préfixé de la déclaration "HMAC " afin de spécifié l'utilisation de l'authentification par clé HMAC. example: HMAC e4219167eb4cf1f8590d684713218c4ad011d475d8f3b2d37fb15ce3da675021 X-Auth-User: type: string description: Le nom de l'utilisateur émettant la requête. example: user1 X-Auth-Timestamp: type: datetime description: La date à laquelle la requête a été émise (en format ISO 8601). example: 1970-01-01T01:00:00+00:00 X-Signature: type: string description: | La signature de la requête est le résultat de la concaténation de : * l'entête HTTP *Authorization* * le corps de la requête * l'URI de la requête * la méthode HTTP de la requête Le tout doit être ensuite hashé avec la clé de signature du serveur en utilisant l'algorithme *HmacSha256*. example: 4dd8bfd9c1c537dbe67ce1572ceac0c18fbce70b2d08100ebd1fe773c32573dd traits: returnsNotFound: responses: 404: description: Dans le cas d'une requête sur une collection, cela signifie que l'identifiant donné n'existe pas dans la base de données. returnsBadRequest: responses: 400: description: | La requête est invalide, soit à cause de paramètres de requête erronés, soit à cause d'un corps de requête invalide. Les causes de l'échec de la requête sont données dans le corps de la réponse sour forme d'un tableau JSON. body: type: HttpError description: La liste de toutes les erreurs utilisateur rencontrées. checksContentType: responses: 415: description: Le type de contenu de la requête n'est pas valide pour cette requête. types: ObjectTransfer: type: object description: Un objet regroupant les informations sur un transfert telles qu'elles sont stockées dans la base de données WaarpR66. example: | { "id": 1, "globalStep": "NOTASK", "globalLastStep": "NOTASK", "step": 0, "rank": 0, "status": "TOSUBMIT", "stepStatus": "", "originalFilename": "out/file_example.txt", "filename": "in/file_example.txt", "ruleName": "default", "blockSize": 65536, "fileInfo": "{\"ORIGINALSIZE\":1024}", "transferInfo": "This is comment example.", "start": "1970-01-01T01:00:00+00:00", "stop": "1970-01-01T02:00:00+00:00", "requester": "server1", "requested": "server2" } properties: id: type: integer format: int64 description: L'id unique donné au transfert par le serveur interrogé. displayName: ID de transfert globalStep: type: string description: L'étape générale du transfert. Indique l'action que le serveur est en train d'effectuer sur le transfert. displayName: Étape globale enum: - NOTASK - PRETASK - POSTTASK - ALLDONETASK - ERRORTASK - TRANSFERTASK globalLastStep: type: string description: La dernière étape générale du transfert terminée avec succès. Sert notamment à marquer où reprendre un transfert interrompu lors du redémarrage de celui-ci. displayName: Dernière étape globale enum: - NOTASK - PRETASK - POSTTASK - ALLDONETASK - ERRORTASK - TRANSFERTASK step: type: integer format: int32 description: Donne l'état de l'étape générale en cours d'exécution. displayName: Sous-étape minimum: 0 rank: type: integer format: int32 description: Le numéro du dernier bloc de données transféré. Sert notamment en cas de reprise d'un transfert après interruption pour marquer le bloc à transmettre. minimum: 0 displayName: Rang status: type: TransferStatus description: Donne l'état actuel du transfert. displayName: Statut de transfert stepStatus: type: string description: Donne le code d'erreur du transfert (sous forme d'un caractère) lorsque le transfert se termine en erreur. displayName: Code d'erreur originalFilename: type: string description: Chemin du fichier à transférer sur le disque de l'envoyeur. displayName: Nom de fichier original filename: type: string description: Chemin du fichier sur le disque du destinataire à l'issue du transfert. displayName: Nom de fichier ruleName: type: string description: Nom de la règle utilisée pour le transfert. displayName: Nom de règle blockSize: type: integer format: int32 description: La taille (en octets) d'un bloc de données pour le transfert. minimum: 0 displayName: Taille de bloc fileInfo: type: string description: Métadonnées du fichier traité au format JSON. displayName: Informations fichier transferInfo: type: string description: Informations (commentaires) supplémentaires sur le transfert renseignées par l'utilisateur. displayName: Informations transfert start: type: datetime description: Date de lancement du transfert (en format ISO 8601). displayName: Date de lancement stop: type: datetime description: Date de fin du transfert lorsque celui-ci est terminé (en format ISO 8601). displayName: Date de fin requester: type: string description: Nom de l'hôte ayant émis la demande transfert. displayName: Émetteur de requête requested: type: string description: Nom de l'hôte auquel la demande de transfert a été envoyée. displayName: Receveur de requête additionalProperties: false displayName: Transfert ObjectHost: type: object displayName: Hôte description: Un objet regroupant les informations d'un hôte telles qu'elles sont représentées dans la base de données. additionalProperties: false example: | { "name": "server1", "address": "127.0.0.1", "port": 8080, "password": "password", "isSSL": false, "isAdmin": false, "isClient": false, "isActive": true, "isProxy": false } properties: name: type: string displayName: Nom description: Le nom de l'hôte, doit être unique. required: true address: type: string description: L'adresse de l'hôte, peut être une adresse IP ou bien une adresse Web résolvable par DNS. displayName: Adresse required: true port: type: integer format: int32 description: Le numéro du port TCP de l'hôte pour les connections entrantes. Vaut *0* si l'hôte n'accepte pas de connections entrantes. maximum: 65535 displayName: Numéro de port required: false default: 0 minimum: 0 password: type: string displayName: Mot de passe description: Le mot de passe d'authentification du nouvel hôte. required: true isSSL: type: boolean description: Spécifie si l'hôte accepte les transferts sécurisés avec SSL. default: false required: false displayName: Utilisation de SSL isAdmin: type: boolean description: Spécifie si l'hôte a les droits administrateur sur le serveur. default: false required: false displayName: Droits administrateur isClient: type: boolean description: Spécifie si l'hôte accepte les requêtes de transfert. default: false required: false displayName: Statut de client isActive: type: boolean default: false required: false displayName: Activation description: Spécifie si l'hôte peut envoyer et recevoir des transferts ou non. isProxy: type: boolean default: false required: false displayName: Utilisation de proxy description: Spécifie si l'hôte utilise un proxy pour les connections entrantes. ObjectHostConfig: type: object description: Un objet regroupant les informations sur la configuration du serveur telles qu'elles sont stockées dans la base de données WaarpR66. example: | { "business": ["server1", "server2"], "roles": [{ "hostName": "server1", "roleList": ["TRANSFER", "RULE"] }], "aliases": [{ "hostName": "server1", "aliasList": ["alias1", "alias2"] }], "others": "3.0.12" } properties: business: type: array description: La liste des hôtes autorisés à émettre une requête de business vers ce serveur. uniqueItems: true items: type: string required: false default: [] roles: type: array description: La liste associant chaque hôte a l'ensemble de ses droits sur le serveur. uniqueItems: true items: type: object properties: hostName: type: string description: Le nom de l'hôte. roleList: type: array description: La liste des droits de l'hôte sur le serveur. uniqueItems: true minItems: 1 items: type: string description: Une énumération des différents droits qu'un serveur R66 peut accorder aux autres hôtes. enum: - NOACCESS - READONLY - TRANSFER - RULE - HOST - LIMIT - SYSTEM - LOGCONTROL - PARTNER - CONFIGADMIN - FULLADMIN displayName: Rôles utilisateur additionalProperties: false required: false default: [] aliases: type: array description: La liste associant chaque hôte à l'ensemble de ses alias. uniqueItems: true items: type: object properties: hostName: type: string description: Le nom de l'hôte. aliasList: type: array description: La liste des alias de l'hôte. uniqueItems: true minItems: 1 items: type: string additionalProperties: false required: false default: [] others: type: string description: La version de la base de données. Permet de comparer la version de la base donnée avec celle du serveur R66. required: false pattern: .* additionalProperties: false displayName: Configuration serveur ObjectLimit: type: object description: Un objet regroupant les informations sur les limites de bande passante du serveur telles qu'elles sont stockées dans la base de données WaarpR66. example: | { "upGlobalLimit": 1000000000, "downGlobalLimit": 50000000, "upSessionLimit": 1000000, "downSessionLimit": 500000, "delayLimit": 1000 } properties: upGlobalLimit: type: integer format: int64 description: La limite globale de bande passante montante du serveur. Une valeur de *0* signifie que aucune limite n'est imposée. minimum: 0 required: false downGlobalLimit: type: integer format: int64 description: La limite globale de bande passante descendante du serveur. Une valeur de *0* signifie que aucune limite n'est imposée. minimum: 0 required: false upSessionLimit: type: integer format: int64 description: La limite de bande passante montante par transfert. Une valeur de *0* signifie que aucune limite n'est imposée. minimum: 0 required: false downSessionLimit: type: integer format: int64 description: La limite de bande passante descendante par transfert. Une valeur de *0* signifie que aucune limite n'est imposée. minimum: 0 required: false delayLimit: type: integer format: int64 description: Le délai (en ms) entre deux vérification du respect des limites de bande passante. Une valeur de *0* signifie que la vérification des limites est désactivée. minimum: 0 required: false additionalProperties: false displayName: Limites de bande passante ObjectRule: type: object description: Un objet regroupant les informations sur une règle de transfert telles qu'elles sont stockées dans la base de données WaarpR66. example: | { "name": "example", "hostIds": ["server1", "server2"], "modeTrans": "send", "recvPath": "in/", "sendPath": "out/", "archivePath": "arch/", "workPath": "work/", "rPreTasks": [{ "type": "ZIP", "arguments": "file.txt work/", "delay": 1 }], "rPostTask": [{ "type": "MOVERENAME", "arguments": "arch/file.bak" }], "rErrorTasks": [{ "type": "RESCHEDULE", "arguments": "-delay 3600000 -case ConnectionImpossible,ServerOverloaded,Shutdown" }], "sPreTasks": [], "sPostTasks": [{ "type": "ZIP", "arguments": "file.zip work/", "delay": 0 }], "sErrorTasks": [{ "type": "DELETE" }] } properties: name: type: string description: Le nom unique de la nouvelle règle de transfert. displayName: Nom de la règle required: true hostIds: type: array description: Un tableau listant les noms des hôtes autorisés à utiliser cette règle de transfert. Si ce champ est laissé vide, tous les hôtes seront autorisés à utiliser la règle. uniqueItems: true required: false items: type: string displayName: Noms des hôtes autorisés modeTrans: type: string displayName: Mode de transfert description: Définit le sens de transmission du fichier, ainsi que l'utilisation d'un checksum MD5 du fichier. required: true enum: - send - receive - sendMD5 - receiveMD5 recvPath: type: string description: | Chemin du dossier où les fichiers sont déposés sur l'hôte destinataire une fois le transfert terminé. Si aucun chemin n'est défini, le dossier de réception par défaut du serveur sera utilisé. Peut être un chemin relatif ou absolu. required: false displayName: Dossier destination sendPath: type: string description: | Chemin du dossier racine à partir duquel le chemin du fichier à transférer est appliqué sur l'hôte expéditeur. Si aucun chemin n'est défini, le dossier d'envoi par défaut du serveur sera utilisé. Peut être un chemin relatif ou absolu. required: false displayName: Dossier source archivePath: type: string description: | Chemin du dossier dans lequel les logs de transfert sont stockés. Si aucun chemin n'est défini, le dossier d'archive par défaut du serveur sera utilisé. Peut être un chemin relatif ou absolu. required: false displayName: Dossier d'archive workPath: type: string description: | Chemin du dossier dans lequel les fichiers sont stockés temporairement sur le serveur destination pendant leur transfert. Si aucun chemin n'est défini, le dossier de travail par défaut du serveur sera utilisé. Peut être un chemin relatif ou absolu. required: false displayName: Dossier de travail rPreTasks: type: array description: Traitements effectués par le destinataire avant le transfert du fichier. items: type: RuleTask displayName: Pré-traitements destinataire required: false rPostTask: type: array description: Traitements effectués par le destinataire après le transfert du fichier. items: type: RuleTask displayName: Post-traitements destinataire required: false rErrorTasks: type: array description: Traitements effectués par le destinataire en cas d'erreur. items: type: RuleTask displayName: Traitements d'erreur destinataire required: false sPreTasks: type: array description: Traitements effectués par l'expéditeur avant le transfert du fichier. items: type: RuleTask displayName: Pré-traitements expéditeur required: false sPostTasks: type: array description: Traitements effectués par l'expéditeur après le transfert du fichier. items: type: RuleTask displayName: Post-traitements expéditeur required: false sErrorTasks: type: array description: Traitements effectués par l'expéditeur en cas d'erreur. items: type: RuleTask displayName: Traitements d'erreur expéditeur required: false additionalProperties: false displayName: Règle de transfert RuleTask: type: object description: Un objet représentant un traitement effectué lors d'un transfert. example: | { "type": "ZIP", "arguments": "#TRUEFULLPATH# unzip/output/", "delay": 1 } properties: type: type: string description: Une énumérarion de tous les types de traitement possibles lors d'un transfert. enum: - LOG - MOVE - MOVERENAME - COPY - COPYRENAME - EXEC - EXECMOVE - EXECOUTPUT - EXECJAVA - TRANSFER - VALIDFILEPATH - DELETE - LINKRENAME - RESCHEDULE - TAR - ZIP - TRANSCODE - SNMP displayName: Type de traitement arguments: type: string description: Les arguments du traitement (si pertinent). Des substitutions peuvent être effectuées en utilisant les noms de variables appropriés (*#TRUEFULLPATH#*, *#DATE#*, ...). required: false displayName: Arguments delay: type: integer format: int32 description: Donne le type d'opération à effectuer (quand pertinent) pour le traitement. default: 0 minimum: 0 required: false displayName: Type d'opération additionalProperties: false displayName: Traitement TransferStatus: type: string description: Une énumération des différents états possibles d'un transfert. displayName: Statut de transfert enum: - TOSUBMIT - NOTUPDATED - RUNNING - INTERRUPTED - DONE - INERROR - UNKNOWN HttpError: type: object description: Un objet listant les causes de l'échec d'une requête REST lorsque cet échec est dû à des entrées utilisateur invalides. displayName: Erreurs utilisateur example: | { "errors": [{ "message": "Query parameter 'startTrans' : illegal value 'not_a_date'.", "errorCode": 4 }, { "message": "Query parameter 'status' : illegal value 'not_a_status'.", "errorCode": 4 }] } properties: errors: type: array description: Un tableau de toutes les erreurs utilisateurs rencontrées lors du traitement de la requête. minItems: 1 items: type: object description: Un objet représentant une erreur utilisateur. properties: message: type: string description: Un message décrivant l'erreur rencontrée. errorCode: type: integer format: int32 description: Le code d'erreur REST correspondant à l'erreur rencontrée. displayName: Liste d'erreurs HttpOption: type: string description: Une énumération des méthodes HTTP supportées par l'API REST. enum: - GET - POST - PUT - DELETE - OPTIONS displayName: Méthodes HTTP /v2/transfers: displayName: Gestion des transfers description: Un point d'entrée pour accéder à l'ensemble des transfers du serveur. Les transfers peuvent être consultés ou ajouté ici. get: displayName: Lister les transfers description: | Renvoie une liste des transferts monitorés par le serveur respectant les filtres donnés en paramètres de requête. Les paramètres `offset` et `limit` permettent de fixer un numéro de départ et un nombre maximal de transferts désirés, afin de ne renvoyer qu'un sous-ensemble de la liste demandée. Le paramètre `order` spécifie dans quel ordre les transferts doivent être ordonées. is: - returnsBadRequest queryParameters: limit: type: integer format: int32 description: Fixe le nombre maximal de transferts pouvant être inclus dans la réponse. Utile lorsque le nombre d'entrées sélectionnées par les filtres est trop important pour tenir dans un seule message. default: 20 minimum: 0 required: false displayName: Limite du nombre de réponses example: 20 offset: type: integer format: int64 description: | Indice de la première entrée à inclure dans la réponse. Généralement utilisé en combinaison avec le paramètre `limit` pour restreindre l'ensemble des transferts à renvoyer. **Attention** : Si le `offset` est plus grand que la taille de l'ensemble de base, aucune entrée ne sera renvoyée. default: 0 minimum: 0 required: false displayName: Décalage du début de liste example: 0 order: type: string description: Spécifie l'attribut à utiliser pour trier les éléments de la réponse, ainsi que le sens du tri. Ce paramètre devrait donc être le nom d'un attribut de transfert préfixé par "asc" ou "desc", correspondant respectivement à l'ordre croissant et décroissant. default: ascId required: false displayName: Ordre d'affichage enum: - ascId - descId - ascFile - descFile - ascStart - descStart - ascStop - descStop example: ascId ruleName: type: string description: Si ce paramètre est défini, la réponse contiendra uniquement les transferts utilisant cette règle de transfert. required: false displayName: Filtre par règle example: default partner: type: string description: Si ce paramètre est défini, la réponse contiendra uniquement les transferts en provenance ou à destination de cet hôte. required: false displayName: Filtre par partenaire example: server1 status: type: TransferStatus description: Si ce paramètre est défini, la réponse ne contiendra que les transferts ayant ce statut. required: false displayName: Filtre par statut example: TOSUBMIT filename: type: string description: Si ce paramètre est défini, la réponse contiendra uniquement les transferts impliquant ce fichier. required: false displayName: Filtre par fichier example: example.txt startTrans: type: datetime description: Si ce paramètre est défini, la réponse ne contiendra que les transferts ayant débuté après cette date (en format ISO-8601). required: false displayName: Date minimum example: 1970-01-01T01:00:00.00+00:00 stopTrans: type: datetime description: Si ce paramètre est défini, la réponse ne contiendra que les transferts ayant débuté après cette date (en format ISO-8601). required: false displayName: Date maximum example: 1970-01-01T02:00:00.00+00:00 followId: type: string description: Identifiant FollowId à rechercher dans les transferts. required: false displayName: Identifiant de suivi countOrder: type: boolean description: | Si ce paramètre est vrai, la réponse ne contiendra que le nombre des transferts selon les conditions, sinon la liste réelle. Si le paramètre n'est pas défini, la liste est retournée. required: false displayName: Specifie si le résultat n'est qu'un décompte et non la liste responses: 200: description: La requête s'est déroulée avec succès. body: type: object description: Une représentation des transferts demandés sous forme d'un tableau d'objets JSON. displayName: Liste de réponses properties: totalResults: type: integer format: int32 description: Le nombre total de transferts trouvés avant avant application des paramètres `offset` et `limit`. minimum: 0 displayName: Total de réponses results: type: array description: Un tableau contenant tous les transferts demandés. uniqueItems: true items: type: ObjectTransfer displayName: Réponses post: displayName: Ajouter un transfert description: Initialise un nouveau transfert sur le serveur avec les attributs définis dans le corps de la requête. Les informations sur le transfert créé sont renvoyées dans la réponse ainsi que l'URI pour le consuter. body: type: object description: L'objet dont les attributs sont utilisés pour initialiser le nouveau transfert. displayName: L'initialisateur de transfert example: | { "ruleName": "default", "filename": "example_file.txt", "requested": "server2", "blockSize": 65536, "fileInfo": "This is comment example.", "start": "1970-01-01T01:00:00+00:00" } properties: ruleName: type: string description: Le nom de la règle utilisée pour le transfert. displayName: Nom de règle filename: type: string description: | Le chemin du fichier traité. Peut être un chemin relatif ou absolu. **Attention** : Dans le cas d'un chemin relatif, le dossier courant sera le dossier d'envoi spécifié dans la règle de transfert. Si la règle de transfert ne spécifie pas de dossier d'envoi, le dossier d'envoi définit dans la configuration du serveur sera utilisé à la place. displayName: Nom de fichier requested: type: string description: Le nom du serveur auquel la demande de transfert sera envoyée. displayName: Nom du partenaire blockSize: type: integer format: int32 description: La taille (en octets) d'un bloc de données pour le transfert. default: 65536 minimum: 0 required: false displayName: Taille de bloc fileInfo: type: string description: Informations (commentaires) supplémentaires sur le transfert renseignées par l'utilisateur. required: false displayName: Informations transfert start: type: datetime description: Date de lancement du transfert (en format ISO 8601). Si aucune date n'est renseignée, le transfert sera lancé immédiatement. required: false displayName: Date de lancement responses: 201: description: Le nouveau transfert a été créé avec succès. headers: transferURI: type: string description: L'URI d'accès pour consulter le transfert. displayName: Chemin d'accès example: /transfer/transfer1 body: type: ObjectTransfer description: L'objet représentant le nouveau transfert créé. displayName: Le nouveau transfert is: [returnsBadRequest] /{id}: displayName: Accès à un transfert description: Le point d'accès pour consulter ou modifier un transfert particulier, identifié par le paramètre `id` de l'URI. is: - returnsNotFound uriParameters: id: type: string description: L'identifiant unique du transfert. Afin de garantir l'unicité de cet id dans le cas d'une base de donnée partagée, ce paramètre est en fait composé de l'id du transfert sur le serveur, ainsi que du nom de l'hôte destinataire de ce transfert (i.e. le champ `requested` du transfert). displayName: Identifiant du transfert example: 29372323293823_server2 get: displayName: Consulter un transfert description: Si le transfert demandé existe, renvoie toutes ses informations. responses: 200: description: La requête s'est déroulée avec succès. body: type: ObjectTransfer description: La représentation des informations du transfert sous forme d'un objet JSON. displayName: Le transfert demandé /restart: displayName: Redémarrage de transfert description: Le point d'entrée pour redémarrer le transfert. put: displayName: Redémarrer un transfert description: S'il existe, redémarre le transfert demandé. responses: 202: description: Le transfert a été redémarré avec succès. body: type: ObjectTransfer description: La représentation des informations du transfert redémarré sous forme d'un objet JSON. displayName: Le transfert redémarré /stop: displayName: Arrêt de transfert description: Le point d'entrée pour stopper le transfert. put: displayName: Arrêter un transfert description: S'il existe, arrête le transfert demandé. responses: 202: description: Le transfert a été arrêté avec succès. body: type: ObjectTransfer description: La représentation des informations du transfert stoppé sous forme d'un objet JSON. displayName: Le transfert stoppé /cancel: displayName: Annulation de transfert description: Le point d'entrée pour annuler untransfert put: displayName: Annuler un transfert description: If it exists, cancels the requested transfer. responses: 202: description: Le transfert a été annulé avec succès. body: type: ObjectTransfer description: La représentation des informations du transfert annulé sous forme d'un objet JSON. displayName: Le transfert annulé /v2/hosts: displayName: Gestion des hôtes description: | Un point d'entrée pour accéder à l'ensemble des hôtes connus par le serveur. Les hôtes peuvent êtres consultés ici, et de nouveaux peuvent également être ajoutés. get: displayName: Lister les hôtes description: | Renvoie l'ensemble des hôtes conformes aux filtres passés en paramètres de requête. Les hôtes peuvent être filtrés par addresse, sur leur utilisation de SSL, ou sur le fait qu'ils soient actifs ou non. Les paramètres `offset` et `limit` permettent de fixer un numéro de départ et un nombre maximal d'hôtes désirés, afin de ne renvoyer qu'un sous-ensemble de la liste demandée. Le paramètre `order` spécifie dans quel ordre les hôtes doivent être ordonées. is: - returnsBadRequest - checksContentType queryParameters: limit: type: integer format: int32 description: Fixe le nombre maximal de transferts pouvant être inclus dans la réponse. Utile lorsque le nombre d'entrées sélectionnées par les filtres est trop important pour tenir dans un seule message. default: 20 minimum: 0 required: false displayName: Limite du nombre de réponses offset: type: integer format: int64 description: | Indice de la première entrée à inclure dans la réponse. Généralement utilisé en combinaison avec le paramètre `limit` pour restreindre l'ensemble des hôtes à renvoyer. **Attention** : Si le `offset` est plus grand que le nombre total de réponses, aucune entrée ne sera renvoyée. default: 0 minimum: 0 required: false displayName: Décalage du début de liste order: type: string description: Spécifie l'attribut à utiliser pour trier les éléments de la réponse, ainsi que le sens du tri. Ce paramètre devrait donc être le nom d'un attribut d'hôte préfixé par "asc" ou "desc", correspondant respectivement à l'ordre croissant et décroissant. default: ascHostID required: false enum: - ascHostID - descHostID - ascAddress - ascAddress displayName: Ordre d'affichage address: type: string description: Si ce paramètre est défini, la réponse ne contiendra que les hôtes ayant cette adresse. required: false displayName: Filtrage par adresse examples: Adresse_IP: 127.0.0.1 Adresse_Web: www.example.com isSSL: type: boolean description: | Si ce paramètre est vrai, la réponse ne contiendra que les hôtes autorisant les transferts SSL. Et si le paramètre est faux, que ceux ne les autorisant pas. Si le paramètre n'est pas défini, aucun filtrage ne sera fait. required: false displayName: Filtrage par SSL isActive: type: boolean description: | Si ce paramètre est vrai, la réponse ne contiendra que les hôtes actifs. Et si le paramètre est faux, que ceux inactifs. Si le paramètre n'est pas défini, aucun filtrage ne sera fait. required: false displayName: Filtrage par activation countOrder: type: boolean description: | Si ce paramètre est vrai, la réponse ne contiendra que le nombre des hôtes selon les conditions, sinon la liste réelle. Si le paramètre n'est pas défini, la liste est retournée. required: false displayName: Specifie si le résultat n'est qu'un décompte et non la liste responses: 200: description: La requête s'est déroulée avec succès. body: type: object description: Une représentation de l'ensemble des hôtes demandés sous forme d'un tableau d'objets JSON. displayName: Liste de réponses properties: totalResults: type: integer format: int32 minimum: 0 description: Le nombre total d'entrées respectant les filtres donnés. displayName: Total de réponses results: type: array description: Un tableau JSON contenant les hôtes respectant les filtres de la requête. uniqueItems: true items: type: ObjectHost displayName: Réponses post: displayName: Ajouter un hôte description: | Ajoute un nouvel hôte à la base de données avec les attribut de l'objet passé dans le corps de la requête. La nouvelle entrée créée est renvoyée dans la réponse, ainsi que l'URI pour la consulter. is: - returnsBadRequest - checksContentType body: type: ObjectHost description: | Le nouvel hôte à ajouter à la base. **Attention**: Tous les champs optionnels laissé vides seront initialisés avec leurs valeurs par défaut. displayName: Le nouvel hôte responses: 201: description: Le nouvel hôte a été ajouté avec succès. headers: hostURI: type: string description: L'URI d'accès aux informations du nouvel hôte. displayName: Chemin d'accès example: /v2/transfers/server1 body: type: ObjectHost displayName: Le nouvel hôte description: La représentation des information du nouvel hôte sous forme d'un objet JSON. /{id}: displayName: Accès à un hôte description: Le point d'accès pour consulter ou modifier un hôte particulier, identifié par le paramètre `id` de l'URI. is: - returnsNotFound uriParameters: id: type: string displayName: Nom de l'hôte description: Le nom unique de l'hôte désiré. example: server1 get: displayName: Consulter un hôte description: S'il existe, renvoie les informations de l'hôte demandé sous forme d'un objet JSON. responses: 200: description: L'hôte demandé a été trouvé. body: type: ObjectHost description: Les informations de l'hôte demandé sous forme d'un objet JSON. displayName: L'hôte demandé put: displayName: Modifier un hôte description: | S'il existe, remplace les informations de l'hôte demandé par celles données dans la requête. Les nouvelles informations seront renvoyées dans la réponse, ainsi que leur URI d'accès. is: - returnsBadRequest - checksContentType body: type: ObjectHost description: | Les nouvelles informations à affecter à l'hôte. **Attention**: Toutes les anciennes valeurs des attributs seront écrasées, même celles laissées vides. Pour conserver l'ancienne valeur d'un attribut, remplir celui-ci avec une valeur identique à l'ancienne. displayName: Le nouvel hôte responses: 202: description: L'hôte a été mis à jour avec succès. headers: host-uri: type: string displayName: Chemin d'accès description: Le chemin d'accès de l'hôte modifié. Si le nom d'hôte n'a pas été changé, cet URI sera identique à celui ayant été utilisé pour la requête. example: /v2/hosts/server1_bis body: type: ObjectHost description: La représentation de l'hôte mis à jour sous forme d'objet JSON. displayName: Le nouvel hôte delete: displayName: Supprimer un hôte description: S'il existe, supprime l'hôte de la base de données. responses: 204: description: L'hôte a été supprimé avec succès. /v2/hostconfig: displayName: Gestion de configuration description: | Un point d'entrée pour accéder à la configuration du serveur. La configuration peut être initialisée, consultée, modifiée ou supprimée ici. is: - returnsNotFound get: displayName: Consulter la configuration description: Renvoie la configuration du serveur sous forme d'un objet JSON. responses: 200: description: La requête s'est déroulée avec succès. body: type: ObjectHostConfig description: La configuration du serveur en format JSON. displayName: La configuration du serveur post: displayName: Initialiser la configuration description: Initialise la configuration du serveur dans la base de données avec les attribut passés dans la requête. is: - returnsBadRequest body: type: ObjectHostConfig displayName: La nouvelle configuration description: | La nouvelle configuration à ajouter à la base de données. **Attention**: Tous les champs optionnels laissé vides seront initialisés avec leurs valeurs par défaut. responses: 201: description: La configuration du serveur a été ajoutée avec succès. body: type: ObjectHostConfig description: La nouvelle configuration du serveur en format JSON. displayName: La nouvelle configuration put: displayName: Modifier la configuration description: Si le serveur a une configuration en base de données, remplace cette configuration avec les nouveaux attributs passé dans la requête. is: - returnsBadRequest body: type: ObjectHostConfig displayName: La nouvelle configuration description: | La nouvelle configuration remplaçant l'actuelle configuration. **Attention**: Tous les champs optionnels laissé vides seront initialisés avec leurs valeurs par défaut. Pour conserver l'ancienne valeur d'un attribut, remplir celui-ci avec une valeur identique à l'ancienne. responses: 202: description: La configuration a été mise à jour avec succès. body: type: ObjectHostConfig description: La nouvelle configuration du serveur en format JSON. displayName: La nouvelle configuration delete: displayName: Supprimer la configuration description: Si le serveur a une configuration en base de données, supprime cette configuration. responses: 204: description: La configuration a été supprimée avec succès. /v2/limits: displayName: Gestion de bande passante description: | Un point d'entrée pour accéder aux limites de bande passante du serveur. Les limites peuvent être fixées, consultées, modifiées et supprimées ici. is: - returnsNotFound get: displayName: Consulter les limites description: Renvoie les limites de bande passante sous forme d'un objet JSON. responses: 200: description: La requête s'est déroulée avec succès. body: type: ObjectLimit description: Les limites de bande passante du serveur en format JSON. displayName: Les limites post: displayName: Initialiser les limites description: Initialise les limites de bande passante du serveur avec les attributs passés dans la requête. is: - returnsBadRequest body: type: ObjectLimit displayName: Les nouvelles limites description: | Les nouvelles limites de bande passante à ajouter en base de données. **Attention**: Tous les champs optionnels laissé vides seront initialisés avec leurs valeurs par défaut. responses: 201: description: Les limites ont été initialisées avec succès. body: type: ObjectLimit description: Les nouvelles limites en format JSON. put: displayName: Modifier les limites is: - returnsBadRequest description: Si le serveur a des limites en base de données, remplace ces limites par celle passées dans la requête. body: type: ObjectHostConfig displayName: Les nouvelles limites description: | Les nouvelles limites de bande passante à ajouter en base de données. **Attention**: Tous les champs optionnels laissé vides seront initialisés avec leurs valeurs par défaut. Pour conserver l'ancienne valeur d'un attribut, remplir celui-ci avec une valeur identique à l'ancienne. responses: 201: description: Les limites ont été modifiées avec succès. body: type: ObjectLimit description: Les nouvelles limites en format JSON. delete: description: Si le serveur a des limites en base de données, supprime ces limites. displayName: Supprimer les limites responses: 204: description: Les limites ont élé enlevées avec succès. /v2/rules: displayName: Gestion des règles description: | Un point d'entrée pour accéder à l'ensemble des règles de transfert du serveur. Des règles peuvent êtres ajoutées et consultées ici. get: displayName: Lister les règles description: | Renvoie l'ensemble des règles de transfert conformes aux filtres passés en paramètres de requête. Les règles peuvent être filtrées par mode de transmission. Les paramètres `offset` et `limit` permettent de fixer un numéro de départ et un nombre maximal de règles désirées, afin de ne renvoyer qu'un sous-ensemble de la liste demandée. Le paramètre `order` spécifie dans quel ordre les règles doivent être ordonées. is: - returnsBadRequest queryParameters: limit: type: integer format: int32 description: Fixe le nombre maximal de règles pouvant être inclues dans la réponse. Utile lorsque le nombre d'entrées sélectionnées par les filtres est trop important pour tenir dans un seule message. default: 20 minimum: 0 required: false offset: type: integer format: int64 description: | Indice de la première entrée à inclure dans la réponse. Généralement utilisé en combinaison avec le paramètre `limit` pour restreindre l'ensemble des hôtes à renvoyer. **Attention** : Si le `offset` est plus grand que le nombre total de réponses, aucune entrée ne sera renvoyée. default: 0 minimum: 0 required: false order: type: string description: Spécifie l'attribut à utiliser pour trier les éléments de la réponse, ainsi que le sens du tri. Ce paramètre devrait donc être le nom d'un attribut d'hôte préfixé par "asc" ou "desc", correspondant respectivement à l'ordre croissant et décroissant. required: false enum: - ascRuleID - descRuleID modeTrans: type: string description: Si ce paramètre est défini, la réponse ne contiendra que les règles utilisant ce mode de transfert. required: false enum: - send - receive - send+md5 - receive+md5 countOrder: type: boolean description: | Si ce paramètre est vrai, la réponse ne contiendra que le nombre des règles selon les conditions, sinon la liste réelle. Si le paramètre n'est pas défini, la liste est retournée. required: false displayName: Specifie si le résultat n'est qu'un décompte et non la liste responses: 200: description: La requête s'est déroulée avec succès. body: type: object description: Une représentation de l'ensemble des hôtes demandés sous forme d'un tableau d'objets JSON. displayName: Liste de réponses properties: totalResults: type: integer format: int32 description: Le nombre total d'entrées respectant les filtres donnés. minimum: 0 displayName: Nombre total de réponses results: type: array uniqueItems: true items: type: ObjectRule description: Le tableau contenant les règles demandées. displayName: Réponses post: displayName: Ajouter une règle description: | Creates a new transfer rule with the ObjectRule passed in the request body. The created entry is returned in the response body, along with its URI. is: - returnsBadRequest body: type: ObjectRule displayName: La nouvelle règle description: | La nouvelle règle de transfert à ajouter à la base. **Attention**: Tous les champs optionnels laissé vides seront initialisés avec leurs valeurs par défaut. responses: 201: description: La nouvelle règle de transfert a été ajoutée avec succès. headers: ruleURI: type: string description: L'URI d'accès à la nouvelle règle créée. displayName: Chemin d'accès example: /rules/default body: type: ObjectRule description: La nouvelle règle de transfert en format JSON. displayName: La nouvelle règle /{id}: displayName: Accès à une règle description: Le point d'accès pour consulter ou modifier une règle particulière, identifiée par le paramètre `id` de l'URI. is: - returnsNotFound uriParameters: id: type: string description: L'identifiant unique de la règle souhaitée. displayName: Nom de la règle example: rule1 get: displayName: Consulter une règle description: Si elle existe, renvoie les informations de la règle demandée sous forme d'un objet JSON. responses: 200: description: La règle remandée a été trouvée. body: type: ObjectRule description: Les informations de la règle de transfert demandée en format JSON. displayName: La règle demandée put: displayName: Modifier une règle description: | Si elle existe, remplace les informations de la règle demandée par celles données dans la requête. Les nouvelles informations seront renvoyées dans la réponse, ainsi que leur URI d'accès. is: - returnsBadRequest body: type: ObjectRule displayName: La nouvelle règle description: | Les nouvelles informations à affecter à la règle de transfert. **Attention**: Toutes les anciennes valeurs des attributs seront écrasées, même celles laissées vides. Pour conserver l'ancienne valeur d'un attribut, remplir celui-ci avec une valeur identique à l'ancienne. responses: 201: description: La règle de transfert a été mise à jour avec succès. headers: ruleURI: type: string description: Le chemin d'accès de la règle modifiée. Si le nom de la règle n'a pas été changé, cet URI sera identique à celui ayant été utilisé pour la requête. displayName: Chemin d'accès example: /rules/new_default body: type: ObjectRule description: Les nouvelles informations sur la règle de transfert en format JSON. displayName: La nouvelle règle delete: description: Si elle existe, supprime la règle de transfert de la base de données. displayName: Supprimer une règle responses: 204: description: La règle a été supprimée avec succès. /v2/server: displayName: Commandes serveur description: La racine des points d'accès aux commandes serveur. /status: displayName: Statut du serveur description: Le point d'entrée pour obtenir un statut global du serveur. get: displayName: Consulter le statut du serveur description: Renvoie le statut général du serveur sous forme d'un objet JSON regroupant toutes les informations sur celui-ci. queryParameters: period: type: string pattern: P(\d)+DT(\d)+H(\d)+M(\d)+S displayName: Période description: La période de temps (en format ISO-8601) sur laquelle le statut du serveur est étudié. default: P1DT0H0M0S responses: 200: description: La requête s'est déroulée avec succès. body: type: object displayName: Le statut du serveur description: Un objet regroupant toutes les informations d'un serveur R66. properties: serverName: type: string description: Le nom du serveur R66. displayName: Nom du serveur noSSL: type: boolean description: Spécifie si le serveur supporte les transferts en clair. displayName: Transferts en clair SSL: type: boolean displayName: Transferts avec SSL description: Spécifie si le serveur supporte les transferts sécurisés avec SSL. date: type: datetime description: La date (en format ISO-8601) à laquelle la requête de statut du serveur a été faite. displayName: Date requête lastRun: type: datetime description: La date (en format ISO-8601) à laquelle la dernière requête de statut du serveur a été faite. displayName: Date dernière requête fromDate: type: datetime description: La date (en format ISO-8601) à laquelle le serveur R66 a été lancé. displayName: Date de lancement secondsRunning: type: integer format: int32 description: La durée de fonctionnement (en secondes) du serveur r66 depuis son lancement. default: 0 minimum: 0 displayName: Durée de fonctionnement networkConnections: type: integer format: int32 description: Le nombre de connections actuellement ouvertes sur le serveur. default: 0 minimum: 0 displayName: Nombre de connections nbThreads: type: integer format: int32 description: Le nombre de threads actuellement utilisés par le serveur r66. default: 1 minimum: 1 displayName: Nombre de threads inBandwidth: type: integer format: int64 description: L'utilisation actuelle de bande passante descendante par le serveur r66. default: 0 minimum: 0 displayName: Bande passante descendante outBandwidth: type: integer format: int64 description: L'utilisation actuelle de bande passante montante par le serveur r66. default: 0 minimum: 0 required: false displayName: Bande passante montante overall: type: object description: Un résumé des statuts des différents transferts sur le serveur. displayName: Statut des transferts properties: allTransfers: type: integer format: int64 description: Le nombre total de transferts relevé sur le serveur. default: 0 minimum: 0 displayName: Nombre total de transferts unknown: type: integer format: int64 default: 0 minimum: 0 displayName: Statuts indéterminés description: Le nombre total de transferts dont le statut est inconnu. notUpdated: type: integer format: int64 default: 0 minimum: 0 displayName: Statuts non à jour description: Le nombre total de transferts dont le statut n'est pas à jour. interrupted: type: integer format: int64 description: Le nombre total de transferts ayant été interrompus. default: 0 minimum: 0 displayName: Transferts interrompus toSubmit: type: integer format: int64 description: Le nombre total de transferts en attente d'être exécutés. default: 0 minimum: 0 displayName: Transferts plannifiés inError: type: integer format: int64 description: Le nombre total de transferts ayant terminé en erreur. default: 0 minimum: 0 displayName: Transferts échoués running: type: integer format: int64 description: Le nombre total de transferts en cours d'exécution. default: 0 minimum: 0 displayName: Transferts en cours done: type: integer format: int64 description: Le nombre total de transferts complêtés avec succès. default: 0 minimum: 0 displayName: Transferts terminés runningIn: type: integer format: int64 description: Le nombre de transferts entrants en cours. default: 0 minimum: 0 displayName: Transferts entrants runningOut: type: integer format: int64 default: 0 minimum: 0 displayName: Transferts sortants description: Le nombre de transferts sortants en cours. lastRunningIn: type: datetime description: La date du dernier transfert entrant. displayName: Dernière réception lastRunningOut: type: datetime description: La date du dernier transfert sortant. displayName: Dernier envoi allIn: type: integer format: int64 description: Le nombre total de transferts entrants traités par le serveur. default: 0 minimum: 0 displayName: Total transferts entrants allOut: type: integer format: int64 description: Le nombre total de transferts sortants traités par le serveur. default: 0 minimum: 0 displayName: Total transferts sortants errorsIn: type: integer format: int64 description: Le nombre de transferts entrants ayant échoués. default: 0 minimum: 0 displayName: Transferts entrants échoués errorsOut: type: integer format: int64 description: Le nombre de transferts sortants ayant échoués. default: 0 minimum: 0 displayName: Transferts sortants échoués globalSteps: type: object description: Un résumé de toutes les traitements en cours d'exécution pour les transferts (i.e. leur étape globale actuelle). displayName: Étapes globales properties: noTask: type: integer format: int64 description: Le nombre de transferts n'ayant pas encore effectué de traitements. default: 0 minimum: 0 displayName: Transfers en attente preTask: type: integer format: int64 description: Le nombre de transferts exécutant leurs pré-traitements. default: 0 minimum: 0 displayName: Pré-traitements en cours transferTask: type: integer format: int64 description: Le nombre de transferts en phase de transfert de fichier. default: 0 minimum: 0 displayName: Transferts en cours postTask: type: integer format: int64 description: Le nombre de transferts exécutant leurs post-traitements. default: 0 minimum: 0 displayName: Post-traitements en cours allDoneTask: type: integer format: int64 description: Le nombre de transferts ayant terminé leurs traitements normaux avec succès. default: 0 minimum: 0 displayName: Transferts terminés errorTask: type: integer format: int64 description: Le nombre de transfers ayant terminé leurs traitements d'erreur. default: 0 minimum: 0 displayName: Transferts échoués runningSteps: type: object description: Un résumé de toutes les sous-étapes en cours des transferts, c'est-à-dire la sous-partie de l'étape globale actuelle que le transfert est en train de traiter. displayName: Sous-étapes properties: allRunning: type: integer format: int64 description: Le nombre total de transferts traités par le serveur. default: 0 minimum: 0 displayName: Total transferts running: type: integer format: int64 default: 0 minimum: 0 description: Le nombre de transferts en cours de traitement. displayName: Transferts en cours initOk: type: integer format: int64 description: Le nombre de transferts ayangt terminé leur phase d'initialisation. default: 0 minimum: 0 displayName: Initialisation terminée preProcessingOK: type: integer format: int64 description: Le nombre de transferts ayant terminé leurs pré-traitements. default: 0 minimum: 0 displayName: Pré-traitements terminés transferOk: type: integer format: int64 description: Le nombre de transferts ayant terminé la phase de transfert de données. default: 0 minimum: 0 displayName: Envoi terminé postProcessingOk: type: integer format: int64 description: Le nombre de transferts ayant terminé leurs post-traitements. default: 0 minimum: 0 displayName: Post-traitements terminés completeOk: type: integer format: int64 description: Le nombre de transferts entièrement complêtés. default: 0 minimum: 0 displayName: Transferts terminés errors: type: object description: Un résumé de toutes les erreurs rencontrées durant le traitement de transferts. displayName: Erreurs properties: connectionImpossible: type: integer format: int64 description: Le nombre de transferts ayant échoué car le partenaire ne pouvait pas être contacté. default: 0 minimum: 0 displayName: Connection impossible serverOverloaded: type: integer format: int64 description: Le nombre total de transferts ayant échoué car les limites de capacité du serveur ont été atteintes. default: 0 minimum: 0 displayName: Serveur surchargé badAuthent: type: integer format: int64 description: Le nombre de transferts ayant échoué car le serveur a échoué à s'authentifier auprès de son partenaire. default: 0 minimum: 0 displayName: Mauvaise authentification externalOp: type: integer format: int64 description: Le nombre de transferts ayant échoué à cause d'une erreur survenue lors d'un traitement externe. default: 0 minimum: 0 displayName: Erreur externe transferError: type: integer format: int64 default: 0 minimum: 0 description: Le nombre de transferts ayant échoué car la règle utilisée est inconnue de un des deux partenaires. displayName: Règle inconnue md5Error: type: integer format: int64 description: Le nombre de transferts ayant échoué car la vérification du hash MD5 du fichier a échoué. default: 0 minimum: 0 displayName: Mauvais hash MD5 disconnection: type: integer format: int64 description: Le nombre de transferts ayant échoué car le partenaire distant s'est déconnecté durant le transfert. default: 0 minimum: 0 displayName: Déconnection remoteShutdown: type: integer format: int64 description: Le nombre de transferts ayant échoué car le partenaire distant a été arrêté pendant le transfert. default: 0 minimum: 0 displayName: Arrêt partenaire finalOp: type: integer format: int64 description: Le nombre de transferts ayant échoué à cause d'une erreur durant la finalisation du transfert (c'est-à-dire le déplacement du fichier du dossier de travail au dossier de réception). default: 0 minimum: 0 displayName: Erreur de finalisation unimplemented: type: integer format: int64 description: Le nombre de transferts ayant échoué car une opération externe (typiquement une classe Java) a été appelée mais n'est pas disponible sur le serveur. default: 0 minimum: 0 displayName: Non implémenté shutdown: type: integer format: int64 description: Le nombre de transferts ayant échoué car le serveur a été arrêté pendant le transfert. default: 0 minimum: 0 displayName: Arrêt serveur remoteError: type: integer format: int64 description: Le nombre de transferts ayant échoué à cause d'une erreur d'exécution sur le partenaire distant. default: 0 minimum: 0 displayName: Erreur distante internal: type: integer format: int64 description: Le nombre de transferts ayant échoué à cause d'une erreur d'exécution sur le serveur. default: 0 minimum: 0 displayName: Erreur interne stopped: type: integer format: int64 description: Le nombre de transferts ayant échoué car l'arrêt du transfert a été demandé. default: 0 minimum: 0 displayName: Transfert arrêté canceled: type: integer format: int64 description: Le nombre de transferts ayant échoué car l'annulation du transfert a été demandée. default: 0 minimum: 0 displayName: Transfert annulé warning: type: integer format: int64 description: Le nombre de transferts ayant lancé une alerte lors de l'exécution. default: 0 minimum: 0 displayName: Alerte unknown: type: integer format: int64 description: Le nombre de transferts ayant échoué pour des raisons inconnues. default: 0 minimum: 0 displayName: Erreur inconnue queryAlreadyFinished: type: integer format: int64 description: Le nombre de transfert ayant échoué car le transfert demandé est déjà terminé sur le partenaire distant. default: 0 minimum: 0 displayName: Transfert déjà terminé queryStillRunning: type: integer format: int64 description: Le nombre de transferts ayant échoué car le transfert demandé est déjà en cours sur le partenaire distant. default: 0 minimum: 0 displayName: Transfert déja en cours unknownHost: type: integer format: int64 description: Le nombre de transferts ayant échoué car le partenaire demandé n'existe pas. default: 0 minimum: 0 displayName: Hôte inconnu remotelyUnknown: type: integer format: int64 description: Le nombre de transferts ayant échoué car la requête de transfert n'existe pas sur le partenaire distant. default: 0 minimum: 0 displayName: Requête inconnue fileNotFound: type: integer format: int64 default: 0 minimum: 0 displayName: Fichier inconnu description: Le nombre de transfets ayant échoué car le fichier demandé n'existe pas. commandNotFound: type: integer format: int64 description: Le nombre de transferts ayant échoué car une des commandes à exécuter n'existe pas. default: 0 minimum: 0 displayName: Commande inconnue passThroughMode: type: integer format: int64 default: 0 minimum: 0 description: Le nombre de transferts ayant échoué car le transfert a été demandé en mode passthrough, mais le partenaire distant n'autorise pas ce mode. displayName: PassThrough impossible /deactivate: displayName: Activation du serveur description: Un point d'entrée pour activer et désactiver le serveur. put: displayName: (Dés)activer le serveur description: Désactive ou active le serveur pour que celui-ci accepte ou refuse les nouvelles requêtes de transfert. responses: 202: description: Le serveur a été (dés)activé avec succès. /shutdown: displayName: Arrêt du serveur description: Un point d'entrée pour arrêter le serveur. put: displayName: Arrêter le serveur description: Stoppe tous les transferts en cours et arrête le serveur R66. responses: 202: description: Le requête a été traitée avec succès, le serveur va s'éteindre. /reboot: displayName: Redémarrage du serveur description: Un point d'entrée pour redémarrer le serveur. put: displayName: Redémarrer le serveur description: Stoppe tous les transferts en cours et redémarre le serveur R66. responses: 202: description: Le requête a été traitée avec succès, le serveur va redémarrer. /logs: displayName: Logs du serveur description: Un point d'entrée pour accéder au logs du serveur. get: displayName: Exporter les logs du serveur description: Exporte les logs de transferts du serveur vers un fichier XML dans le dossier de logs du serveur. is: - returnsBadRequest queryParameters: purge: type: boolean description: Spécifie si les transferts exportés doivent être purgés de la base de données après l'export de log. default: false required: false displayName: Purge après export clean: type: boolean description: Spécifie si, avant d'être exportés, les transferts doivent avoir leur statut marqué comme terminé lorsque leur étape globale et sous-étape le permettent. default: false required: false displayName: Marquer comme terminé status: type: TransferStatus required: false description: Filtre pour n'exporter que les transferts ayant ce statuts. displayName: Statuts example: "TOSUBMIT" ruleName: type: string description: Filtre pour n'exporter que les transferts utilisant cette règle de tranfert. required: false displayName: Règle de transfert example: rule1 start: type: datetime description: Filtre pour n'exporter que les transferts ultérieurs à cette date. required: false displayName: Date de début example: 1970-01-01T01:00:00.000+00:00 stop: type: datetime description: Filtre pour n'exporter que les transferts antérieurs à cette date. required: false displayName: Date de fin example: 1970-01-01T02:00:00.000+00:00 startID: type: integer format: int64 description: Filtre pour n'exporter que les transferts ayant un ID plus grand que celui-ci. required: false displayName: ID minimum example: 0 stopID: type: integer format: int64 description: Filtre pour n'exporter que les transferts ayant un ID plus petit que celui-ci. required: false displayName: ID maximum example: 10 requested: type: string description: Filtre pour n'exporter que les transferts demandés par cet hôte. required: false displayName: Émetteur de transfert example: server2 responses: 200: description: Les logs ont été exportés avec succès. body: type: object displayName: Résultats de l'export description: Les informations sur le déroulement de l'export de logs. properties: filePath: type: string description: Le chemin vers le fichier XML où les logs ont été exportés. displayName: Destination example: /logs/log1.txt exported: type: integer format: int64 minimum: 0 displayName: Entrées exportées description: Le nombre d'entrées de transferts ayant été exportées. purged: type: integer format: int64 description: Si la purge de transfert a été activée dans la requête, donne le nombre d'entrées ayant été purgées du serveur. minimum: 0 displayName: Entrées purgées /config: displayName: Import/Export de configuration description: Un point d'entrée pour importer ou exporter la configuration du serveur R66. get: displayName: Exporter la configuration description: Exporte divers éléments de la configuration du serveur R66 vers des fichiers dans le dossier de configuration du serveur. is: - returnsBadRequest queryParameters: exportHosts: type: boolean description: Spécifie si la liste des hôtes connus du serveur doit être exportée non. default: false required: false displayName: Export des hôtes exportRules: type: boolean description: Spécifie si les règles de transfert doivent être exportées ou non. default: false required: false displayName: Export des règles exportBusiness: type: boolean description: Spécifie si la liste des hôtes autorisés à exécuter un business sur le serveur doit être exportée ou non. default: false required: false displayName: Export des partenaire de business exportAliases: type: boolean description: Spécifie si la liste des alias connus de chaque hôte doit être exportée ou non. default: false required: false displayName: Export des alias exportRoles: type: boolean description: Spécifie si la liste des rôles autorisés de chaque hôte doit être exportée ou non. default: false required: false displayName: Export des roles responses: 200: description: La configuration a été exportée avec succès. body: type: object displayName: Chemins d'export description: Un objet regroupant les chemins des fichiers dans lesquels la configuration du serveur a été exportée. properties: fileHost: type: string description: Le chemin vers le fichier contenant la liste des hôtes. required: false displayName: Fichier des hôtes example: /configs/host.conf fileRule: type: string description: Le chemin vers le fichier contenant la liste des règles de transfert. required: false displayName: Fichier des règles example: /configs/rules.conf fileBusiness: type: string required: false description: Le chemin vers le fichier contenant la liste des partenaires de business. displayName: Fichier de business example: /configs/business.conf fileAlias: type: string description: Le chemin vers le fichier contenant la liste des alias des hôtes. required: false displayName: Fichier des alias example: /configs/aliases.conf fileRoles: type: string description: Le chemin vers le fichier contenant la liste des rôles des hôtes. required: false displayName: Fichier des roles example: /configs/roles.conf put: displayName: Importer la configuration description: Importe divers éléments de la configuration du serveur R66 depuis des fichiers dans le dossier de configuration du serveur. is: - returnsBadRequest queryParameters: purgeHosts: type: boolean description: Spécifie si l'ancienne base de données des hôtes doit être purgée avant d'importer la nouvelle. default: false required: false displayName: Purger les hôtes purgeRules: type: boolean description: Spécifie si l'ancienne base de données des règles de transfert doit être purgée avant d'importer la nouvelle. default: false required: false displayName: Purger les règles purgeBusiness: type: boolean description: Spécifie si l'ancienne base de données des partenaire de business doit être purgée avant d'importer la nouvelle. default: false required: false displayName: Purger les partenaires business purgeAliases: type: boolean description: Spécifie si l'ancienne base de données des alias doit être purgée avant d'importer la nouvelle. default: false required: false displayName: Purger les alias purgeRoles: type: boolean description: Spécifie si l'ancienne base de données des rôles doit être purgée avant d'importer la nouvelle. default: false required: false displayName: Purger les rôles hostsFile: type: string description: Le chemin du fichier contenant les hôtes à importer. required: false displayName: Fichier hôtes example: config/hosts.conf rulesFile: type: string description: Le chemin du fichier contenant les règles à importer. required: false displayName: Fichier règles example: config/rules.conf businessFile: type: string description: Le chemin du fichier contenant les partenaire business à importer. required: false displayName: Fichier business example: config/business.conf aliasesFile: type: string description: Le chemin du fichier contenant les alias à importer. required: false displayName: Fichier alias example: config/alias.conf rolesFile: type: string description: Le chemin du fichier contenant les rôles à importer. required: false displayName: Fichier rôles example: config/roles.conf responses: 202: description: La configuration a été importée avec succès. body: type: object displayName: Résultat de l'importation properties: purgedHost: type: boolean displayName: Purge hôtes description: Indique si les anciens hôtes ont été supprimés avant l'importation. purgedRule: type: boolean description: Indique si les anciennes règles ont été supprimées avant l'importation. displayName: Purge règles purgedBusiness: type: boolean description: Indique si les anciens partenaire de business ont été supprimés avant l'importation. displayName: Purge business purgedAlias: type: boolean description: Indique si les anciens alias ont été supprimés avant l'importation. displayName: Purge alias purgedRoles: type: boolean description: Indique si les anciens rôles ont été supprimés avant l'importation. displayName: Purge rôles importedHost: type: boolean description: Indique si de nouveaux hôtes ont été importés ou non. displayName: Importation hôtes importedRule: type: boolean description: Indique si de nouvelles règles ont été importés ou non. displayName: Importation règles importedBusiness: type: boolean description: Indique si de nouveaux partenaire de business ont été importés ou non. displayName: Importation business importedAlias: type: boolean description: Indique si de nouveaux alias ont été importés ou non. displayName: Importation alias importedRoles: type: boolean description: Indique si de nouveaux rôles ont été importés ou non. displayName: Importation rôles /v2/filemonitors: get: responses: 200: description: La requête s'est déroulée avec succès. content: application/json: schema: title: Liste de réponses type: object properties: totalResults: title: Total de réponses minimum: 0 format: int32 description: >- Le nombre total de FileMonitors trouvés. type: integer totalSubResults: title: Total des sous réponses minimum: 0 format: int32 description: >- Le nombre total de Files dans les FileMonitors trouvés. type: integer results: title: Réponses uniqueItems: true description: Un tableau contenant tous les FileMonitors demandés. type: array items: $ref: '#/components/schemas/ObjectFileMonitor' required: - totalResults - totalSubResults '400': $ref: '#/components/responses/trait_returnsBadRequest_400' description: > Renvoie une liste des FileMonitors reçus par le serveur respectant les filtres donnés en paramètres de requête. Si le paramètre countOrder=true est donnée, seule le décompte est retournée. operationId: Lister les FileMonitors parameters: - name: name in: query description: Nom optionnel du FileMonitor à retourner schema: default: "" type: string - name: status in: query description: 0 pour tous les FileMonitors, 1 pour ceux actifs, -1 pour les inactifs. schema: default: 0 minimum: -1 maximum: 1 format: int32 type: integer - name: countOrder in: query description: > Si ce paramètre est vrai, la réponse ne contiendra que le nombre des hôtes selon les conditions, sinon la liste réelle. Si le paramètre n'est pas défini, la liste est retournée. schema: type: boolean