openapi: 3.0.0
info:
title: API REST pour WaarpR66
version: 2.0.0
description: API REST pour la gestion de serveurs WaarpR66.
servers: []
paths:
/v2/transfers:
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 transferts trouvés avant
application des paramètres `offset` et `limit`.
Si le paramètre countOrder=true est donnée, seule
valeur retournée.
type: integer
results:
title: Réponses
uniqueItems: true
description: Un tableau contenant tous les transferts demandés.
type: array
items:
$ref: '#/components/schemas/ObjectTransfer'
required:
- totalResults
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
description: >
Renvoie une liste des transferts monitorés par le serveur respectant les
filtres donnés en paramètres de requête, ou simplement le décompte si
countOrder=true est passé en paramètre.
operationId: Lister les transfers
parameters:
- name: limit
in: query
description: Nombre maximal de transferts pouvant être inclus dans la réponse.
schema:
default: 20
minimum: 0
format: int32
type: integer
- name: offset
in: query
description: Indice de la première entrée à inclure dans la réponse.
schema:
default: 0
minimum: 0
format: int64
type: integer
- name: order
in: query
description: |
Ordre dans lequel les réponses seront triées. Valeurs possibles :
`ascId`, `descId`, `ascFile`, `descFile`, `ascStart`, `descStart`, `ascStop`, `descStop`
schema:
default: ascId
enum:
- ascId
- descId
- ascFile
- descFile
- ascStart
- descStart
- ascStop
- descStop
type: string
- name: ruleName
in: query
description: Filter les transferts par règle de transfert.
schema:
type: string
- name: partner
in: query
description: Filtrer les transferts par partenaire.
schema:
type: string
- name: status
in: query
description: |
Filtrer les transferts par statut. Valeurs possibles :
`TOSUBMIT`, `NOTUPDATED`, `RUNNING`, `INTERRUPTED`, `DONE`, `INERROR`, `UNKNOWN`
schema:
$ref: '#/components/schemas/TransferStatus'
- name: filename
in: query
description: Filtrer les transferts par fichier.
schema:
type: string
- name: startTrans
in: query
description: Filtrer les transferts commençant après cette date (format ISO-8601).
schema:
type: string
format: date-time
- name: stopTrans
in: query
description: Filtrer les transferts commençant avant cette date (format ISO-8601).
schema:
type: string
format: date-time
- name: followId
in: query
description: Identifiant FollowId à rechercher dans les transferts.
schema:
type: string
- 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
post:
responses:
'201':
description: Le nouveau transfert a été créé avec succès.
headers:
transferURI:
description: L'URI d'accès pour consulter le transfert.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectTransfer'
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
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.
operationId: Ajouter un transfert
requestBody:
content:
application/json:
example:
ruleName: default
filename: example_file.txt
requested: server2
blockSize: 65536
fileInfo: This is comment example.
start: '1970-01-01T01:00:00+00:00'
schema:
title: L'initialisateur de transfert
type: object
properties:
ruleName:
title: Nom de règle
description: Le nom de la règle utilisée pour le transfert.
type: string
filename:
title: Nom de fichier
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.
type: string
requested:
title: Nom du partenaire
description: >-
Le nom du serveur auquel la demande de transfert sera
envoyée.
type: string
blockSize:
title: Taille de bloc
default: 65536
minimum: 0
format: int32
description: >-
La taille (en octets) d'un bloc de données pour le
transfert.
type: integer
fileInfo:
title: Informations transfert
description: >-
Informations (commentaires) supplémentaires sur le transfert
renseignées par l'utilisateur.
type: string
start:
title: Date de lancement
description: >-
Date de lancement du transfert (en format ISO 8601). Si
aucune date n'est renseignée, le transfert sera lancé
immédiatement.
type: string
format: date-time
required:
- ruleName
- filename
- requested
required: true
'/v2/transfers/{id}':
get:
responses:
'200':
description: La requête s'est déroulée avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectTransfer'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: 'Si le transfert demandé existe, renvoie toutes ses informations.'
operationId: Requête de consultation
parameters:
- name: id
in: path
required: true
schema:
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).
'/v2/transfers/{id}/restart':
put:
responses:
'202':
description: Le transfert a été redémarré avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectTransfer'
description: 'S''il existe, redémarre le transfert demandé.'
operationId: Requête de redémarrage
parameters:
- name: id
in: path
required: true
schema:
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).
'/v2/transfers/{id}/stop':
put:
responses:
'202':
description: Le transfert a été arrêté avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectTransfer'
description: 'S''il existe, arrête le transfert demandé.'
operationId: Requête d'arrêt
parameters:
- name: id
in: path
required: true
schema:
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).
'/v2/transfers/{id}/cancel':
put:
responses:
'202':
description: Le transfert a été annulé avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectTransfer'
description: 'If it exists, cancels the requested transfer.'
operationId: Requête d'annulation
parameters:
- name: id
in: path
required: true
schema:
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).
/v2/hosts:
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 d'entrées respectant les filtres donnés.
type: integer
results:
title: Réponses
uniqueItems: true
description: >-
Un tableau JSON contenant les hôtes respectant les filtres
de la requête.
type: array
items:
$ref: '#/components/schemas/ObjectHost'
required:
- totalResults
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
'415':
$ref: '#/components/responses/trait_checksContentType_415'
description: >
Renvoie l'ensemble des hôtes conformes aux filtres passés en paramètres
de requête. Si le paramètre countOrder=true est donnée, seule le décompte
est retournée.
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
ordonnées.
operationId: Lister les hôtes
parameters:
- name: limit
in: query
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.
schema:
default: 20
minimum: 0
format: int32
type: integer
- name: offset
in: query
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.
schema:
default: 0
minimum: 0
format: int64
type: integer
- name: order
in: query
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.
schema:
default: ascHostID
enum:
- ascHostID
- descHostID
- ascAddress
- ascAddress
type: string
- name: address
in: query
description: >-
Si ce paramètre est défini, la réponse ne contiendra que les hôtes
ayant cette adresse.
schema:
type: string
- name: isSSL
in: query
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.
schema:
type: boolean
- name: isActive
in: query
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.
schema:
type: boolean
- 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
post:
responses:
'201':
description: Le nouvel hôte a été ajouté avec succès.
headers:
hostURI:
description: L'URI d'accès aux informations du nouvel hôte.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectHost'
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
'415':
$ref: '#/components/responses/trait_checksContentType_415'
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.
operationId: Ajouter un hôte
requestBody:
content:
application/json:
schema:
title: Le nouvel hôte
$ref: '#/components/schemas/ObjectHost'
required: true
'/v2/hosts/{id}':
get:
responses:
'200':
description: L'hôte demandé a été trouvé.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectHost'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: >-
S'il existe, renvoie les informations de l'hôte demandé sous forme d'un
objet JSON.
operationId: Consulter un hôte
put:
responses:
'202':
description: L'hôte a été mis à jour avec succès.
headers:
host-uri:
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.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectHost'
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
'415':
$ref: '#/components/responses/trait_checksContentType_415'
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.
operationId: Modifier un hôte
requestBody:
content:
application/json:
schema:
title: Le nouvel hôte
$ref: '#/components/schemas/ObjectHost'
required: true
delete:
responses:
'204':
description: L'hôte a été supprimé avec succès.
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: 'S''il existe, supprime l''hôte de la base de données.'
operationId: Supprimer un hôte
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Le nom unique de l'hôte désiré.
/v2/hostconfig:
get:
responses:
'200':
description: La requête s'est déroulée avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectHostConfig'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: Renvoie la configuration du serveur sous forme d'un objet JSON.
operationId: Consulter la configuration
post:
responses:
'201':
description: La configuration du serveur a été ajoutée avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectHostConfig'
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: >-
Initialise la configuration du serveur dans la base de données avec les
attribut passés dans la requête.
operationId: Initialiser la configuration
requestBody:
content:
application/json:
schema:
title: La nouvelle configuration
$ref: '#/components/schemas/ObjectHostConfig'
required: true
put:
responses:
'202':
description: La configuration a été mise à jour avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectHostConfig'
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: >-
Si le serveur a une configuration en base de données, remplace cette
configuration avec les nouveaux attributs passé dans la requête.
operationId: Modifier la configuration
requestBody:
content:
application/json:
schema:
title: La nouvelle configuration
$ref: '#/components/schemas/ObjectHostConfig'
required: true
delete:
responses:
'204':
description: La configuration a été supprimée avec succès.
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: >-
Si le serveur a une configuration en base de données, supprime cette
configuration.
operationId: Supprimer la configuration
/v2/limits:
get:
responses:
'200':
description: La requête s'est déroulée avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectLimit'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: Renvoie les limites de bande passante sous forme d'un objet JSON.
operationId: Consulter les limites
post:
responses:
'201':
description: Les limites ont été initialisées avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectLimit'
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: >-
Initialise les limites de bande passante du serveur avec les attributs
passés dans la requête.
operationId: Initialiser les limites
requestBody:
content:
application/json:
schema:
title: Les nouvelles limites
$ref: '#/components/schemas/ObjectLimit'
required: true
put:
responses:
'201':
description: Les limites ont été modifiées avec succès.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectLimit'
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: >-
Si le serveur a des limites en base de données, remplace ces limites par
celle passées dans la requête.
operationId: Modifier les limites
requestBody:
content:
application/json:
schema:
title: Les nouvelles limites
$ref: '#/components/schemas/ObjectHostConfig'
required: true
delete:
responses:
'204':
description: Les limites ont élé enlevées avec succès.
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: 'Si le serveur a des limites en base de données, supprime ces limites.'
operationId: Supprimer les limites
/v2/rules:
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: Nombre total de réponses
minimum: 0
format: int32
description: Le nombre total d'entrées respectant les filtres donnés.
type: integer
results:
title: Réponses
uniqueItems: true
description: Le tableau contenant les règles demandées.
type: array
items:
$ref: '#/components/schemas/ObjectRule'
required:
- totalResults
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
description: >
Renvoie l'ensemble des règles de transfert conformes aux filtres passés
en paramètres de requête. Si le paramètre countOrder=true est donnée,
seule le décompte est retournée.
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.
operationId: Lister les règles de transfert
parameters:
- name: limit
in: query
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.
schema:
default: 20
minimum: 0
format: int32
type: integer
- name: offset
in: query
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.
schema:
default: 0
minimum: 0
format: int64
type: integer
- name: order
in: query
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.
schema:
enum:
- ascRuleID
- descRuleID
type: string
- name: modeTrans
in: query
description: >-
Si ce paramètre est défini, la réponse ne contiendra que les règles
utilisant ce mode de transfert.
schema:
enum:
- send
- receive
- send+md5
- receive+md5
type: string
- 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
post:
responses:
'201':
description: La nouvelle règle de transfert a été ajoutée avec succès.
headers:
ruleURI:
description: L'URI d'accès à la nouvelle règle créée.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectRule'
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
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.
operationId: Ajouter une règle
requestBody:
content:
application/json:
schema:
title: La nouvelle règle
$ref: '#/components/schemas/ObjectRule'
required: true
'/v2/rules/{id}':
get:
responses:
'200':
description: La règle remandée a été trouvée.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectRule'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: >-
Si elle existe, renvoie les informations de la règle demandée sous forme
d'un objet JSON.
operationId: Consulter une règle
put:
responses:
'201':
description: La règle de transfert a été mise à jour avec succès.
headers:
ruleURI:
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.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectRule'
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
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.
operationId: Modifier une règle
requestBody:
content:
application/json:
schema:
title: La nouvelle règle
$ref: '#/components/schemas/ObjectRule'
required: true
delete:
responses:
'204':
description: La règle a été supprimée avec succès.
'404':
$ref: '#/components/responses/trait_returnsNotFound_404'
description: 'Si elle existe, supprime la règle de transfert de la base de données.'
operationId: Supprimer une règle
parameters:
- name: id
in: path
required: true
schema:
type: string
description: L'identifiant unique de la règle souhaitée.
/v2/server/status:
get:
responses:
'200':
description: La requête s'est déroulée avec succès.
content:
application/json:
schema:
title: Le statut du serveur
type: object
properties:
serverName:
title: Nom du serveur
description: Le nom du serveur R66.
type: string
noSSL:
title: Transferts en clair
description: Spécifie si le serveur supporte les transferts en clair.
type: boolean
SSL:
title: Transferts avec SSL
description: >-
Spécifie si le serveur supporte les transferts sécurisés
avec SSL.
type: boolean
date:
title: Date requête
description: >-
La date (en format ISO-8601) à laquelle la requête de
statut du serveur a été faite.
type: string
format: date-time
lastRun:
title: Date dernière requête
description: >-
La date (en format ISO-8601) à laquelle la dernière
requête de statut du serveur a été faite.
type: string
format: date-time
fromDate:
title: Date de lancement
description: >-
La date (en format ISO-8601) à laquelle le serveur R66 a
été lancé.
type: string
format: date-time
secondsRunning:
title: Durée de fonctionnement
default: 0
minimum: 0
format: int32
description: >-
La durée de fonctionnement (en secondes) du serveur r66
depuis son lancement.
type: integer
networkConnections:
title: Nombre de connections
default: 0
minimum: 0
format: int32
description: >-
Le nombre de connections actuellement ouvertes sur le
serveur.
type: integer
nbThreads:
title: Nombre de threads
default: 1
minimum: 1
format: int32
description: >-
Le nombre de threads actuellement utilisés par le serveur
r66.
type: integer
inBandwidth:
title: Bande passante descendante
default: 0
minimum: 0
format: int64
description: >-
L'utilisation actuelle de bande passante descendante par
le serveur r66.
type: integer
outBandwidth:
title: Bande passante montante
default: 0
minimum: 0
format: int64
description: >-
L'utilisation actuelle de bande passante montante par le
serveur r66.
type: integer
overall:
title: Statut des transferts
description: >-
Un résumé des statuts des différents transferts sur le
serveur.
type: object
properties:
allTransfers:
title: Nombre total de transferts
default: 0
minimum: 0
format: int64
description: Le nombre total de transferts relevé sur le serveur.
type: integer
unknown:
title: Statuts indéterminés
default: 0
minimum: 0
format: int64
description: >-
Le nombre total de transferts dont le statut est
inconnu.
type: integer
notUpdated:
title: Statuts non à jour
default: 0
minimum: 0
format: int64
description: >-
Le nombre total de transferts dont le statut n'est pas
à jour.
type: integer
interrupted:
title: Transferts interrompus
default: 0
minimum: 0
format: int64
description: Le nombre total de transferts ayant été interrompus.
type: integer
toSubmit:
title: Transferts plannifiés
default: 0
minimum: 0
format: int64
description: >-
Le nombre total de transferts en attente d'être
exécutés.
type: integer
inError:
title: Transferts échoués
default: 0
minimum: 0
format: int64
description: Le nombre total de transferts ayant terminé en erreur.
type: integer
running:
title: Transferts en cours
default: 0
minimum: 0
format: int64
description: Le nombre total de transferts en cours d'exécution.
type: integer
done:
title: Transferts terminés
default: 0
minimum: 0
format: int64
description: Le nombre total de transferts complêtés avec succès.
type: integer
runningIn:
title: Transferts entrants
default: 0
minimum: 0
format: int64
description: Le nombre de transferts entrants en cours.
type: integer
runningOut:
title: Transferts sortants
default: 0
minimum: 0
format: int64
description: Le nombre de transferts sortants en cours.
type: integer
lastRunningIn:
title: Dernière réception
description: La date du dernier transfert entrant.
type: string
format: date-time
lastRunningOut:
title: Dernier envoi
description: La date du dernier transfert sortant.
type: string
format: date-time
allIn:
title: Total transferts entrants
default: 0
minimum: 0
format: int64
description: >-
Le nombre total de transferts entrants traités par le
serveur.
type: integer
allOut:
title: Total transferts sortants
default: 0
minimum: 0
format: int64
description: >-
Le nombre total de transferts sortants traités par le
serveur.
type: integer
errorsIn:
title: Transferts entrants échoués
default: 0
minimum: 0
format: int64
description: Le nombre de transferts entrants ayant échoués.
type: integer
errorsOut:
title: Transferts sortants échoués
default: 0
minimum: 0
format: int64
description: Le nombre de transferts sortants ayant échoués.
type: integer
required:
- allTransfers
- unknown
- notUpdated
- interrupted
- toSubmit
- inError
- running
- done
- runningIn
- runningOut
- lastRunningIn
- lastRunningOut
- allIn
- allOut
- errorsIn
- errorsOut
globalSteps:
title: Étapes globales
description: >-
Un résumé de toutes les traitements en cours d'exécution
pour les transferts (i.e. leur étape globale actuelle).
type: object
properties:
noTask:
title: Transfers en attente
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts n'ayant pas encore effectué de
traitements.
type: integer
preTask:
title: Pré-traitements en cours
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts exécutant leurs
pré-traitements.
type: integer
transferTask:
title: Transferts en cours
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts en phase de transfert de
fichier.
type: integer
postTask:
title: Post-traitements en cours
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts exécutant leurs
post-traitements.
type: integer
allDoneTask:
title: Transferts terminés
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant terminé leurs
traitements normaux avec succès.
type: integer
errorTask:
title: Transferts échoués
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transfers ayant terminé leurs traitements
d'erreur.
type: integer
required:
- noTask
- preTask
- transferTask
- postTask
- allDoneTask
- errorTask
runningSteps:
title: Sous-étapes
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.
type: object
properties:
allRunning:
title: Total transferts
default: 0
minimum: 0
format: int64
description: Le nombre total de transferts traités par le serveur.
type: integer
running:
title: Transferts en cours
default: 0
minimum: 0
format: int64
description: Le nombre de transferts en cours de traitement.
type: integer
initOk:
title: Initialisation terminée
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayangt terminé leur phase
d'initialisation.
type: integer
preProcessingOK:
title: Pré-traitements terminés
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant terminé leurs
pré-traitements.
type: integer
transferOk:
title: Envoi terminé
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant terminé la phase de
transfert de données.
type: integer
postProcessingOk:
title: Post-traitements terminés
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant terminé leurs
post-traitements.
type: integer
completeOk:
title: Transferts terminés
default: 0
minimum: 0
format: int64
description: Le nombre de transferts entièrement complêtés.
type: integer
required:
- allRunning
- running
- initOk
- preProcessingOK
- transferOk
- postProcessingOk
- completeOk
errors:
title: Erreurs
description: >-
Un résumé de toutes les erreurs rencontrées durant le
traitement de transferts.
type: object
properties:
connectionImpossible:
title: Connection impossible
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car le partenaire
ne pouvait pas être contacté.
type: integer
serverOverloaded:
title: Serveur surchargé
default: 0
minimum: 0
format: int64
description: >-
Le nombre total de transferts ayant échoué car les
limites de capacité du serveur ont été atteintes.
type: integer
badAuthent:
title: Mauvaise authentification
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car le serveur a
échoué à s'authentifier auprès de son partenaire.
type: integer
externalOp:
title: Erreur externe
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué à cause d'une
erreur survenue lors d'un traitement externe.
type: integer
transferError:
title: Règle inconnue
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car la règle
utilisée est inconnue de un des deux partenaires.
type: integer
md5Error:
title: Mauvais hash MD5
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car la
vérification du hash MD5 du fichier a échoué.
type: integer
disconnection:
title: Déconnection
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car le partenaire
distant s'est déconnecté durant le transfert.
type: integer
remoteShutdown:
title: Arrêt partenaire
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car le partenaire
distant a été arrêté pendant le transfert.
type: integer
finalOp:
title: Erreur de finalisation
default: 0
minimum: 0
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).
type: integer
unimplemented:
title: Non implémenté
default: 0
minimum: 0
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.
type: integer
shutdown:
title: Arrêt serveur
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car le serveur a
été arrêté pendant le transfert.
type: integer
remoteError:
title: Erreur distante
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué à cause d'une
erreur d'exécution sur le partenaire distant.
type: integer
internal:
title: Erreur interne
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué à cause d'une
erreur d'exécution sur le serveur.
type: integer
stopped:
title: Transfert arrêté
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car l'arrêt du
transfert a été demandé.
type: integer
canceled:
title: Transfert annulé
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car l'annulation
du transfert a été demandée.
type: integer
warning:
title: Alerte
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant lancé une alerte lors de
l'exécution.
type: integer
unknown:
title: Erreur inconnue
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué pour des raisons
inconnues.
type: integer
queryAlreadyFinished:
title: Transfert déjà terminé
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transfert ayant échoué car le transfert
demandé est déjà terminé sur le partenaire distant.
type: integer
queryStillRunning:
title: Transfert déja en cours
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car le transfert
demandé est déjà en cours sur le partenaire distant.
type: integer
unknownHost:
title: Hôte inconnu
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car le partenaire
demandé n'existe pas.
type: integer
remotelyUnknown:
title: Requête inconnue
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car la requête de
transfert n'existe pas sur le partenaire distant.
type: integer
fileNotFound:
title: Fichier inconnu
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transfets ayant échoué car le fichier
demandé n'existe pas.
type: integer
commandNotFound:
title: Commande inconnue
default: 0
minimum: 0
format: int64
description: >-
Le nombre de transferts ayant échoué car une des
commandes à exécuter n'existe pas.
type: integer
passThroughMode:
title: PassThrough impossible
default: 0
minimum: 0
format: int64
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.
type: integer
required:
- connectionImpossible
- serverOverloaded
- badAuthent
- externalOp
- transferError
- md5Error
- disconnection
- remoteShutdown
- finalOp
- unimplemented
- shutdown
- remoteError
- internal
- stopped
- canceled
- warning
- unknown
- queryAlreadyFinished
- queryStillRunning
- unknownHost
- remotelyUnknown
- fileNotFound
- commandNotFound
- passThroughMode
required:
- serverName
- noSSL
- SSL
- date
- lastRun
- fromDate
- secondsRunning
- networkConnections
- nbThreads
- inBandwidth
- overall
- globalSteps
- runningSteps
- errors
description: >-
Renvoie le statut général du serveur sous forme d'un objet JSON
regroupant toutes les informations sur celui-ci.
operationId: Obtenir le statut du serveur
parameters:
- name: period
in: query
required: true
description: >-
La période de temps (en format ISO-8601) sur laquelle le statut du
serveur est étudié.
schema:
default: P1DT0H0M0S
pattern: P(\d)+DT(\d)+H(\d)+M(\d)+S
type: string
/v2/server/deactivate:
put:
responses:
'202':
description: Le serveur a été (dés)activé avec succès.
description: >-
Désactive ou active le serveur pour que celui-ci accepte ou refuse les
nouvelles requêtes de transfert.
operationId: (Dés)activer le serveur
/v2/server/shutdown:
put:
responses:
'202':
description: 'Le requête a été traitée avec succès, le serveur va s''éteindre.'
description: Stoppe tous les transferts en cours et arrête le serveur R66.
operationId: Arrêter le serveur
/v2/server/reboot:
put:
responses:
'202':
description: 'Le requête a été traitée avec succès, le serveur va redémarrer.'
description: Stoppe tous les transferts en cours et redémarre le serveur R66.
operationId: Redémarrer le serveur
/v2/server/logs:
get:
responses:
'200':
description: Les logs ont été exportés avec succès.
content:
application/json:
schema:
title: Résultats de l'export
type: object
properties:
filePath:
title: Destination
description: >-
Le chemin vers le fichier XML où les logs ont été
exportés.
example: /logs/log1.txt
type: string
exported:
title: Entrées exportées
minimum: 0
format: int64
description: Le nombre d'entrées de transferts ayant été exportées.
type: integer
purged:
title: Entrées purgées
minimum: 0
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.
type: integer
required:
- filePath
- exported
- purged
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
description: >-
Exporte les logs de transferts du serveur vers un fichier XML dans le
dossier de logs du serveur.
operationId: Exporter les logs du serveur
parameters:
- name: purge
in: query
description: >-
Spécifie si les transferts exportés doivent être purgés de la base
de données après l'export de log.
schema:
default: false
type: boolean
- name: clean
in: query
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.
schema:
default: false
type: boolean
- name: status
in: query
description: Filtre pour n'exporter que les transferts ayant ce statuts.
schema:
$ref: '#/components/schemas/TransferStatus'
- name: ruleName
in: query
description: >-
Filtre pour n'exporter que les transferts utilisant cette règle de
tranfert.
schema:
type: string
- name: start
in: query
description: Filtre pour n'exporter que les transferts ultérieurs à cette date.
schema:
type: string
format: date-time
- name: stop
in: query
description: Filtre pour n'exporter que les transferts antérieurs à cette date.
schema:
type: string
format: date-time
- name: startID
in: query
description: >-
Filtre pour n'exporter que les transferts ayant un ID plus grand que
celui-ci.
schema:
format: int64
type: integer
- name: stopID
in: query
description: >-
Filtre pour n'exporter que les transferts ayant un ID plus petit que
celui-ci.
schema:
format: int64
type: integer
- name: requested
in: query
description: Filtre pour n'exporter que les transferts demandés par cet hôte.
schema:
type: string
/v2/server/config:
get:
responses:
'200':
description: La configuration a été exportée avec succès.
content:
application/json:
schema:
title: Chemins d'export
type: object
properties:
fileHost:
title: Fichier des hôtes
description: Le chemin vers le fichier contenant la liste des hôtes.
example: /configs/host.conf
type: string
fileRule:
title: Fichier des règles
description: >-
Le chemin vers le fichier contenant la liste des règles de
transfert.
example: /configs/rules.conf
type: string
fileBusiness:
title: Fichier de business
description: >-
Le chemin vers le fichier contenant la liste des
partenaires de business.
example: /configs/business.conf
type: string
fileAlias:
title: Fichier des alias
description: >-
Le chemin vers le fichier contenant la liste des alias des
hôtes.
example: /configs/aliases.conf
type: string
fileRoles:
title: Fichier des roles
description: >-
Le chemin vers le fichier contenant la liste des rôles des
hôtes.
example: /configs/roles.conf
type: string
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
description: >-
Exporte divers éléments de la configuration du serveur R66 vers des
fichiers dans le dossier de configuration du serveur.
operationId: Exporter la configuration serveur
parameters:
- name: exportHosts
in: query
description: >-
Spécifie si la liste des hôtes connus du serveur doit être exportée
non.
schema:
default: false
type: boolean
- name: exportRules
in: query
description: Spécifie si les règles de transfert doivent être exportées ou non.
schema:
default: false
type: boolean
- name: exportBusiness
in: query
description: >-
Spécifie si la liste des hôtes autorisés à exécuter un business sur
le serveur doit être exportée ou non.
schema:
default: false
type: boolean
- name: exportAliases
in: query
description: >-
Spécifie si la liste des alias connus de chaque hôte doit être
exportée ou non.
schema:
default: false
type: boolean
- name: exportRoles
in: query
description: >-
Spécifie si la liste des rôles autorisés de chaque hôte doit être
exportée ou non.
schema:
default: false
type: boolean
put:
responses:
'202':
description: La configuration a été importée avec succès.
content:
application/json:
schema:
title: Résultat de l'importation
type: object
properties:
purgedHost:
title: Purge hôtes
description: >-
Indique si les anciens hôtes ont été supprimés avant
l'importation.
type: boolean
purgedRule:
title: Purge règles
description: >-
Indique si les anciennes règles ont été supprimées avant
l'importation.
type: boolean
purgedBusiness:
title: Purge business
description: >-
Indique si les anciens partenaire de business ont été
supprimés avant l'importation.
type: boolean
purgedAlias:
title: Purge alias
description: >-
Indique si les anciens alias ont été supprimés avant
l'importation.
type: boolean
purgedRoles:
title: Purge rôles
description: >-
Indique si les anciens rôles ont été supprimés avant
l'importation.
type: boolean
importedHost:
title: Importation hôtes
description: Indique si de nouveaux hôtes ont été importés ou non.
type: boolean
importedRule:
title: Importation règles
description: Indique si de nouvelles règles ont été importés ou non.
type: boolean
importedBusiness:
title: Importation business
description: >-
Indique si de nouveaux partenaire de business ont été
importés ou non.
type: boolean
importedAlias:
title: Importation alias
description: Indique si de nouveaux alias ont été importés ou non.
type: boolean
importedRoles:
title: Importation rôles
description: Indique si de nouveaux rôles ont été importés ou non.
type: boolean
required:
- purgedHost
- purgedRule
- purgedBusiness
- purgedAlias
- purgedRoles
- importedHost
- importedRule
- importedBusiness
- importedAlias
- importedRoles
'400':
$ref: '#/components/responses/trait_returnsBadRequest_400'
description: >-
Importe divers éléments de la configuration du serveur R66 depuis des
fichiers dans le dossier de configuration du serveur.
operationId: Importer la configuration serveur
parameters:
- name: purgeHosts
in: query
description: >-
Spécifie si l'ancienne base de données des hôtes doit être purgée
avant d'importer la nouvelle.
schema:
default: false
type: boolean
- name: purgeRules
in: query
description: >-
Spécifie si l'ancienne base de données des règles de transfert doit
être purgée avant d'importer la nouvelle.
schema:
default: false
type: boolean
- name: purgeBusiness
in: query
description: >-
Spécifie si l'ancienne base de données des partenaire de business
doit être purgée avant d'importer la nouvelle.
schema:
default: false
type: boolean
- name: purgeAliases
in: query
description: >-
Spécifie si l'ancienne base de données des alias doit être purgée
avant d'importer la nouvelle.
schema:
default: false
type: boolean
- name: purgeRoles
in: query
description: >-
Spécifie si l'ancienne base de données des rôles doit être purgée
avant d'importer la nouvelle.
schema:
default: false
type: boolean
- name: hostsFile
in: query
description: Le chemin du fichier contenant les hôtes à importer.
schema:
type: string
- name: rulesFile
in: query
description: Le chemin du fichier contenant les règles à importer.
schema:
type: string
- name: businessFile
in: query
description: Le chemin du fichier contenant les partenaire business à importer.
schema:
type: string
- name: aliasesFile
in: query
description: Le chemin du fichier contenant les alias à importer.
schema:
type: string
- name: rolesFile
in: query
description: Le chemin du fichier contenant les rôles à importer.
schema:
type: string
/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
components:
schemas:
ObjectTransfer:
title: Transfert
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
type: object
additionalProperties: false
properties:
id:
title: ID de transfert
format: int64
description: L'id unique donné au transfert par le serveur interrogé.
type: integer
globalStep:
title: Étape globale
description: >-
L'étape générale du transfert. Indique l'action que le serveur est
en train d'effectuer sur le transfert.
enum:
- NOTASK
- PRETASK
- POSTTASK
- ALLDONETASK
- ERRORTASK
- TRANSFERTASK
type: string
globalLastStep:
title: Dernière étape globale
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.
enum:
- NOTASK
- PRETASK
- POSTTASK
- ALLDONETASK
- ERRORTASK
- TRANSFERTASK
type: string
step:
title: Sous-étape
minimum: 0
format: int32
description: Donne l'état de l'étape générale en cours d'exécution.
type: integer
rank:
title: Rang
minimum: 0
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.
type: integer
status:
title: Statut de transfert
description: Donne l'état actuel du transfert.
$ref: '#/components/schemas/TransferStatus'
stepStatus:
title: Code d'erreur
description: >-
Donne le code d'erreur du transfert (sous forme d'un caractère)
lorsque le transfert se termine en erreur.
type: string
originalFilename:
title: Nom de fichier original
description: Chemin du fichier à transférer sur le disque de l'envoyeur.
type: string
filename:
title: Nom de fichier
description: >-
Chemin du fichier sur le disque du destinataire à l'issue du
transfert.
type: string
ruleName:
title: Nom de règle
description: Nom de la règle utilisée pour le transfert.
type: string
blockSize:
title: Taille de bloc
minimum: 0
format: int32
description: La taille (en octets) d'un bloc de données pour le transfert.
type: integer
fileInfo:
title: Informations fichier
description: Métadonnées du fichier traité au format JSON.
type: string
transferInfo:
title: Informations transfert
description: >-
Informations (commentaires) supplémentaires sur le transfert
renseignées par l'utilisateur.
type: string
start:
title: Date de lancement
description: Date de lancement du transfert (en format ISO 8601).
type: string
format: date-time
stop:
title: Date de fin
description: >-
Date de fin du transfert lorsque celui-ci est terminé (en format ISO
8601).
type: string
format: date-time
requester:
title: Émetteur de requête
description: Nom de l'hôte ayant émis la demande transfert.
type: string
requested:
title: Receveur de requête
description: Nom de l'hôte auquel la demande de transfert a été envoyée.
type: string
required:
- id
- globalStep
- globalLastStep
- step
- rank
- status
- stepStatus
- originalFilename
- filename
- ruleName
- blockSize
- fileInfo
- transferInfo
- start
- stop
- requester
- requested
ObjectHost:
title: 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.
example:
name: server1
address: 127.0.0.1
port: 8080
password: password
isSSL: false
isAdmin: false
isClient: false
isActive: true
isProxy: false
type: object
additionalProperties: false
properties:
name:
title: Nom
description: 'Le nom de l''hôte, doit être unique.'
type: string
address:
title: Adresse
description: >-
L'adresse de l'hôte, peut être une adresse IP ou bien une adresse
Web résolvable par DNS.
type: string
port:
title: Numéro de port
default: 0
minimum: 0
maximum: 65535
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.
type: integer
password:
title: Mot de passe
description: Le mot de passe d'authentification du nouvel hôte.
type: string
isSSL:
title: Utilisation de SSL
default: false
description: Spécifie si l'hôte accepte les transferts sécurisés avec SSL.
type: boolean
isAdmin:
title: Droits administrateur
default: false
description: Spécifie si l'hôte a les droits administrateur sur le serveur.
type: boolean
isClient:
title: Statut de client
default: false
description: Spécifie si l'hôte accepte les requêtes de transfert.
type: boolean
isActive:
title: Activation
default: false
description: Spécifie si l'hôte peut envoyer et recevoir des transferts ou non.
type: boolean
isProxy:
title: Utilisation de proxy
default: false
description: Spécifie si l'hôte utilise un proxy pour les connections entrantes.
type: boolean
required:
- name
- address
- password
ObjectHostConfig:
title: Configuration serveur
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
type: object
additionalProperties: false
properties:
business:
default: []
uniqueItems: true
description: >-
La liste des hôtes autorisés à émettre une requête de business vers
ce serveur.
type: array
items:
type: string
roles:
default: []
uniqueItems: true
description: >-
La liste associant chaque hôte a l'ensemble de ses droits sur le
serveur.
type: array
items:
type: object
additionalProperties: false
properties:
hostName:
description: Le nom de l'hôte.
type: string
roleList:
uniqueItems: true
minItems: 1
description: La liste des droits de l'hôte sur le serveur.
type: array
items:
title: Rôles utilisateur
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
type: string
required:
- hostName
- roleList
aliases:
default: []
uniqueItems: true
description: La liste associant chaque hôte à l'ensemble de ses alias.
type: array
items:
type: object
additionalProperties: false
properties:
hostName:
description: Le nom de l'hôte.
type: string
aliasList:
uniqueItems: true
minItems: 1
description: La liste des alias de l'hôte.
type: array
items:
type: string
required:
- hostName
- aliasList
others:
pattern: .*
description: >-
La version de la base de données. Permet de comparer la version de
la base donnée avec celle du serveur R66.
type: string
ObjectLimit:
title: Limites de bande passante
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
type: object
additionalProperties: false
properties:
upGlobalLimit:
minimum: 0
format: int64
description: >-
La limite globale de bande passante montante du serveur. Une valeur
de *0* signifie que aucune limite n'est imposée.
type: integer
downGlobalLimit:
minimum: 0
format: int64
description: >-
La limite globale de bande passante descendante du serveur. Une
valeur de *0* signifie que aucune limite n'est imposée.
type: integer
upSessionLimit:
minimum: 0
format: int64
description: >-
La limite de bande passante montante par transfert. Une valeur de
*0* signifie que aucune limite n'est imposée.
type: integer
downSessionLimit:
minimum: 0
format: int64
description: >-
La limite de bande passante descendante par transfert. Une valeur de
*0* signifie que aucune limite n'est imposée.
type: integer
delayLimit:
minimum: 0
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.
type: integer
ObjectRule:
title: Règle de transfert
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
type: object
additionalProperties: false
properties:
name:
title: Nom de la règle
description: Le nom unique de la nouvelle règle de transfert.
type: string
hostIds:
title: Noms des hôtes autorisés
uniqueItems: true
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.
type: array
items:
type: string
modeTrans:
title: Mode de transfert
description: >-
Définit le sens de transmission du fichier, ainsi que l'utilisation
d'un checksum MD5 du fichier.
enum:
- send
- receive
- sendMD5
- receiveMD5
type: string
recvPath:
title: Dossier destination
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.
type: string
sendPath:
title: Dossier source
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.
type: string
archivePath:
title: Dossier d'archive
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.
type: string
workPath:
title: Dossier de travail
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.
type: string
rPreTasks:
title: Pré-traitements destinataire
description: >-
Traitements effectués par le destinataire avant le transfert du
fichier.
type: array
items:
$ref: '#/components/schemas/RuleTask'
rPostTask:
title: Post-traitements destinataire
description: >-
Traitements effectués par le destinataire après le transfert du
fichier.
type: array
items:
$ref: '#/components/schemas/RuleTask'
rErrorTasks:
title: Traitements d'erreur destinataire
description: Traitements effectués par le destinataire en cas d'erreur.
type: array
items:
$ref: '#/components/schemas/RuleTask'
sPreTasks:
title: Pré-traitements expéditeur
description: >-
Traitements effectués par l'expéditeur avant le transfert du
fichier.
type: array
items:
$ref: '#/components/schemas/RuleTask'
sPostTasks:
title: Post-traitements expéditeur
description: >-
Traitements effectués par l'expéditeur après le transfert du
fichier.
type: array
items:
$ref: '#/components/schemas/RuleTask'
sErrorTasks:
title: Traitements d'erreur expéditeur
description: Traitements effectués par l'expéditeur en cas d'erreur.
type: array
items:
$ref: '#/components/schemas/RuleTask'
required:
- name
- modeTrans
RuleTask:
title: Traitement
description: Un objet représentant un traitement effectué lors d'un transfert.
example:
type: ZIP
arguments: '#TRUEFULLPATH# unzip/output/'
delay: 1
type: object
additionalProperties: false
properties:
type:
title: Type de traitement
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
type: string
arguments:
title: Arguments
description: >-
Les arguments du traitement (si pertinent). Des substitutions
peuvent être effectuées en utilisant les noms de variables
appropriés (*#TRUEFULLPATH#*, *#DATE#*, ...).
type: string
delay:
title: Type d'opération
default: 0
minimum: 0
format: int32
description: >-
Donne le type d'opération à effectuer (quand pertinent) pour le
traitement.
type: integer
required:
- type
TransferStatus:
title: Statut de transfert
description: Une énumération des différents états possibles d'un transfert.
enum:
- TOSUBMIT
- NOTUPDATED
- RUNNING
- INTERRUPTED
- DONE
- INERROR
- UNKNOWN
type: string
HttpError:
title: Erreurs utilisateur
description: >-
Un objet listant les causes de l'échec d'une requête REST lorsque cet
échec est dû à des entrées utilisateur invalides.
type: object
properties:
errors:
title: Liste d'erreurs
minItems: 1
description: >-
Un tableau de toutes les erreurs utilisateurs rencontrées lors du
traitement de la requête.
type: array
items:
description: Un objet représentant une erreur utilisateur.
type: object
properties:
message:
description: Un message décrivant l'erreur rencontrée.
type: string
errorCode:
format: int32
description: Le code d'erreur REST correspondant à l'erreur rencontrée.
type: integer
required:
- message
- errorCode
required:
- errors
ObjectFileMonitorFile:
title: FileMonitorFile
description: >-
Un objet regroupant les informations sur un File issue d'un FileMonitor
telles qu'elles sont stockées dans WaarpR66.
example:
FILE: (1)/testTaskBig_34.txt
HASH: c902a17556796a9f97afa23bad130b04
LASTTIME: 1599821375000
USEDTIME: 1599821387208
USED: true
ID: -9223372036854775773
type: object
additionalProperties: false
properties:
FILE:
title: Nom du Fichier
description: Nom du Fichier
type: string
HASH:
title: Empreinte du Fichier
description: Empreinte du Fichier
type: string
LASTTIME:
title: Date (Timestamp) du dernier check du fichier
description: Date (Timestamp) du dernier check du fichier
format: int64
type: integer
USEDTIME:
title: Date (Timestamp) du dernier usage du fichier
description: Date (Timestamp) du dernier usage du fichier
format: int64
type: integer
USED:
title: Indique si le fichier a été transmis
description: Indique si le fichier a été transmis
type: boolean
ID:
title: Identifiant du transfert
description: Identifiant du transfert
type: string
required:
- FILE
- HASH
- LASTTIME
- USEDTIME
- USED
- ID
ObjectFileMonitor:
title: FileMonitor
description: >-
Un objet regroupant les informations sur un FileMonitor telles qu'elles
sont stockées dans WaarpR66.
example:
NAME: SpooledClient
HOST: hostas
LAST_UPDATE: 1599821388296
GLOBALOK: 87
GLOBALERROR: 0
TODAYOK: 87
TODAYERROR: 0
INTERVAL: 500
STOPFILE: /tmp/R66/test/stopout.txt
STATUSFILE: /tmp/R66/test/statusoutdirect1.json
SUBDIRS: false
DIRECTORIES: /tmp/R66/test/out/example(1)
FILES:
- FILE: (1)/testTaskBig_34.txt
- HASH: c902a17556796a9f97afa23bad130b04
- LASTTIME: 1599821375000
- USEDTIME: 1599821387208
- USED: true
- ID: -9223372036854775773
type: object
additionalProperties: false
properties:
NAME:
title: Nom du FileMonitor
description: Nom du FileMonitor
type: string
HOST:
title: Nom du Serveur WaarpR66 cible
description: Nom du Serveur WaarpR66 ciblé par le transfert
type: string
LAST_UPDATE:
title: Date (Timestamp) du dernier update du fichier
description: Date (Timestamp) du dernier update du fichier
format: int64
type: integer
GLOBALOK:
title: Nombre de transferts OK
description: Nombre de transferts OK au sein du FileMonitor depuis son lancement
format: int32
type: integer
GLOBALERROR:
title: Nombre de transferts KO
description: Nombre de transferts KO au sein du FileMonitor depuis son lancement
format: int32
type: integer
TODAYOK:
title: Nombre de transferts OK du jour
description: Nombre de transferts OK au sein du FileMonitor ce jour
format: int32
type: integer
TODAYERROR:
title: Nombre de transferts KO
description: Nombre de transferts KO au sein du FileMonitor ce jour
format: int32
type: integer
INTERVAL:
title: Délai entre chaque analyse des fichiers à transmettre du FileMonitor
description: Délai entre chaque analyse des fichiers à transmettre du FileMonitor
format: int32
type: integer
STOPFILE:
title: Fichier d'arrêt du FileMonitor
description: Fichier d'arrêt du FileMonitor
type: string
STATUSFILE:
title: Fichier de status du FileMonitor
description: Fichier de status du FileMonitor
type: string
SUBDIRS:
title: Analyse des sousrépertoires par le FileMonitor
description: Indique si les sousrépertoires sont scannés par le FileMonitor
type: boolean
DIRECTORIES:
title: Répertoires associés au FileMonitor
description: Répertoires associés au FileMonitor
type: string
FILES:
title: Fichiers associés (transférrés ou non) avec le FileMonitor
description: Fichiers associés (transférrés ou non) avec le FileMonitor
type: ObjectFileMonitorFile
required:
- NAME
- HOST
- LAST_UPDATE
- GLOBALOK
- GLOBALERROR
- TODAYOK
- TODAYERROR
- INTERVAL
- STOPFILE
- STATUSFILE
- SUBDIRS
- DIRECTORIES
- FILES
responses:
trait_returnsNotFound_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.
trait_returnsBadRequest_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.
content:
application/json:
example:
errors:
- message: 'Query parameter ''startTrans'' : illegal value ''not_a_date''.'
errorCode: 4
- message: 'Query parameter ''status'' : illegal value ''not_a_status''.'
errorCode: 4
schema:
$ref: '#/components/schemas/HttpError'
trait_checksContentType_415:
description: Le type de contenu de la requête n'est pas valide pour cette requête.
parameters: {}
examples: {}
requestBodies: {}
headers: {}
securitySchemes:
BasicAuthentication:
description: Authentification HTTP basique au moyen d'identifiants encodés en base64.
type: http
scheme: basic
BasicAuthentication+Signature:
description: >-
Authentification HTTP basique au moyen d'identifiants encodés en base64,
avec vérification de signature des requêtes.
type: http
scheme: basic
HmacKey:
description: Authentification par le biais d'un hash des identifiants utilisateur.
type: apiKey
in: header
name: Authorization
HmacKey+Signature:
description: >-
Authentification par le biais d'un hash des identifiants utilisateur,
avec vérification de signature des requêtes.
type: apiKey
in: header
name: Authorization
links: {}
callbacks: {}