openapi: 3.2.0 info: title: FirecREST Filesystem API version: 2.5.6 servers: - url: https://api.cscs.ch/hpc/firecrest/v2 description: HPCp Environment tags: - name: filesystem paths: /filesystem/{system_name}/transfer/upload: post: tags: - filesystem summary: Post Upload description: Create asynchronous upload operation operationId: post_upload_filesystem__system_name__transfer_upload_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostFileUploadRequest' responses: '201': description: Upload operation created successfully content: application/json: schema: $ref: '#/components/schemas/UploadFileResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/transfer/download: post: tags: - filesystem summary: Post Download description: Create asynchronous download operation operationId: post_download_filesystem__system_name__transfer_download_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostFileDownloadRequest' responses: '201': description: Download operation created successfully content: application/json: schema: $ref: '#/components/schemas/DownloadFileResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/transfer/mv: post: tags: - filesystem summary: Move Mv description: Create move file or directory operation (`mv`) operationId: move_mv_filesystem__system_name__transfer_mv_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MoveRequest' responses: '201': description: Move file or directory operation created successfully content: application/json: schema: $ref: '#/components/schemas/MoveResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/transfer/cp: post: tags: - filesystem summary: Post Cp description: Create copy file or directory operation (`cp`) operationId: post_cp_filesystem__system_name__transfer_cp_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CopyRequest' responses: '201': description: Copy file or directory operation created successfully content: application/json: schema: $ref: '#/components/schemas/CopyResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/transfer/rm: delete: tags: - filesystem summary: Delete Rm description: Create remove file or directory operation (`rm`) operationId: delete_rm_filesystem__system_name__transfer_rm_delete security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: The path to delete title: Path description: The path to delete - name: account in: query required: false schema: anyOf: - type: string - type: 'null' title: Account responses: '200': description: Remove file or directory operation created successfully content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/transfer/compress: post: tags: - filesystem summary: Compress description: Create compress file or directory operation (`tar`) operationId: compress_filesystem__system_name__transfer_compress_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CompressRequest' responses: '201': description: Compress file or directory operation created successfully content: application/json: schema: $ref: '#/components/schemas/CompressResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/transfer/extract: post: tags: - filesystem summary: Extract description: Create extract file operation (`tar`) operationId: extract_filesystem__system_name__transfer_extract_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ExtractRequest' responses: '201': description: Extract file or directory operation created successfully content: application/json: schema: $ref: '#/components/schemas/ExtractResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/chmod: put: tags: - filesystem summary: Put Chmod description: Change the permission mode of a file(`chmod`) operationId: put_chmod_filesystem__system_name__ops_chmod_put security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PutFileChmodRequest' responses: '200': description: File permissions changed successfully content: application/json: schema: $ref: '#/components/schemas/PutFileChmodResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/chown: put: tags: - filesystem summary: Put Chown description: Change the ownership of a given file (`chown`) operationId: put_chown_filesystem__system_name__ops_chown_put security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PutFileChownRequest' responses: '200': description: File ownership changed successfully content: application/json: schema: $ref: '#/components/schemas/PutFileChownResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/ls: get: tags: - filesystem summary: Get Ls description: List the contents of the given directory (`ls`) operationId: get_ls_filesystem__system_name__ops_ls_get security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: The path to list title: Path description: The path to list - name: showHidden in: query required: false schema: type: boolean description: Show hidden files default: false title: Showhidden description: Show hidden files - name: numericUid in: query required: false schema: type: boolean description: List numeric user and group IDs default: false title: Numericuid description: List numeric user and group IDs - name: recursive in: query required: false schema: type: boolean description: Recursively list files and folders default: false title: Recursive description: Recursively list files and folders - name: dereference in: query required: false schema: type: boolean description: Show information for the file the link references. default: false title: Dereference description: Show information for the file the link references. responses: '200': description: Directory listed successfully content: application/json: schema: $ref: '#/components/schemas/GetDirectoryLsResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/head: get: tags: - filesystem summary: Get Head description: Output the first part of file/s (`head`) operationId: get_head_filesystem__system_name__ops_head_get security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: File path title: Path description: File path - name: bytes in: query required: false schema: anyOf: - type: integer - type: 'null' description: The output will be the first NUM bytes of each file. title: Bytes description: The output will be the first NUM bytes of each file. - name: lines in: query required: false schema: anyOf: - type: integer - type: 'null' description: The output will be the first NUM lines of each file. title: Lines description: The output will be the first NUM lines of each file. - name: skipTrailing in: query required: false schema: type: boolean description: The output will be the whole file, without the last NUM bytes/lines of each file. NUM should be specified in the respective argument through `bytes` or `lines`. default: false title: Skiptrailing description: The output will be the whole file, without the last NUM bytes/lines of each file. NUM should be specified in the respective argument through `bytes` or `lines`. responses: '200': description: Head operation finished successfully content: application/json: schema: $ref: '#/components/schemas/GetFileHeadResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/view: get: tags: - filesystem summary: Get View description: View file content operationId: get_view_filesystem__system_name__ops_view_get security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: File path title: Path description: File path - name: size in: query required: false schema: anyOf: - type: integer - type: 'null' description: Value, in bytes, of the size of data to be retrieved from the file. default: 5242880 title: Size description: Value, in bytes, of the size of data to be retrieved from the file. - name: offset in: query required: false schema: anyOf: - type: integer - type: 'null' description: Value in bytes of the offset. default: 0 title: Offset description: Value in bytes of the offset. responses: '200': description: View operation finished successfully content: application/json: schema: $ref: '#/components/schemas/GetViewFileResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/tail: get: tags: - filesystem summary: Get Tail description: Output the last part of a file (`tail`) operationId: get_tail_filesystem__system_name__ops_tail_get security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: File path title: Path description: File path - name: bytes in: query required: false schema: anyOf: - type: integer - type: 'null' description: The output will be the last NUM bytes of each file. title: Bytes description: The output will be the last NUM bytes of each file. - name: lines in: query required: false schema: anyOf: - type: integer - type: 'null' description: The output will be the last NUM lines of each file. title: Lines description: The output will be the last NUM lines of each file. - name: skipHeading in: query required: false schema: type: boolean description: The output will be the whole file, without the first NUM bytes/lines of each file. NUM should be specified in the respective argument through `bytes` or `lines`. default: false title: Skipheading description: The output will be the whole file, without the first NUM bytes/lines of each file. NUM should be specified in the respective argument through `bytes` or `lines`. responses: '200': description: '`tail` operation finished successfully' content: application/json: schema: $ref: '#/components/schemas/GetFileTailResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/checksum: get: tags: - filesystem summary: Get Checksum description: Output the checksum of a file (using SHA-256 algotithm) operationId: get_checksum_filesystem__system_name__ops_checksum_get security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: Target system title: Path description: Target system responses: '200': description: Checksum returned successfully content: application/json: schema: $ref: '#/components/schemas/GetFileChecksumResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/file: get: tags: - filesystem summary: Get File description: Output the type of a file or directory operationId: get_file_filesystem__system_name__ops_file_get security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: A file or folder path title: Path description: A file or folder path responses: '200': description: Type returned successfully content: application/json: schema: $ref: '#/components/schemas/GetFileTypeResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/stat: get: tags: - filesystem summary: Get Stat description: Output the `stat` of a file operationId: get_stat_filesystem__system_name__ops_stat_get security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: A file or folder path title: Path description: A file or folder path - name: dereference in: query required: false schema: type: boolean description: Follow symbolic links default: false title: Dereference description: Follow symbolic links responses: '200': description: Stat returned successfully content: application/json: schema: $ref: '#/components/schemas/GetFileStatResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/rm: delete: tags: - filesystem summary: Delete Rm description: Delete file or directory operation (`rm`) operationId: delete_rm_filesystem__system_name__ops_rm_delete security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: The path to delete title: Path description: The path to delete responses: '204': description: File or directory deleted successfully 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/mkdir: post: tags: - filesystem summary: Post Mkdir description: Create directory operation (`mkdir`) operationId: post_mkdir_filesystem__system_name__ops_mkdir_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostMakeDirRequest' responses: '201': description: Directory created successfully content: application/json: schema: $ref: '#/components/schemas/PostMkdirResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/symlink: post: tags: - filesystem summary: Post Symlink description: Create symlink operation (`ln`) operationId: post_symlink_filesystem__system_name__ops_symlink_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostFileSymlinkRequest' responses: '201': description: Symlink created successfully content: application/json: schema: $ref: '#/components/schemas/PostFileSymlinkResponse' 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/download: get: tags: - filesystem summary: Get Download description: Download a small file operationId: get_download_filesystem__system_name__ops_download_get security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: A file to download title: Path description: A file to download responses: '200': description: File downloaded successfully content: application/json: schema: {} 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/upload: post: tags: - filesystem summary: Post Upload description: Upload a small file operationId: post_upload_filesystem__system_name__ops_upload_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name - name: path in: query required: true schema: type: string description: Specify path where file should be uploaded. title: Path description: Specify path where file should be uploaded. requestBody: required: true content: multipart/form-data: schema: $ref: '#/components/schemas/Body_post_upload_filesystem__system_name__ops_upload_post' responses: '204': description: File uploaded successfully 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/compress: post: tags: - filesystem summary: Post Compress description: Compress files and directories using `tar` command operationId: post_compress_filesystem__system_name__ops_compress_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostCompressRequest' responses: '204': description: File and/or directories compressed successfully 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error /filesystem/{system_name}/ops/extract: post: tags: - filesystem summary: Post Extract description: Extract `tar` `gzip` archives operationId: post_extract_filesystem__system_name__ops_extract_post security: - APIAuthDependency: [] - HTTPBearer: [] parameters: - name: system_name in: path required: true schema: type: string title: System Name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostExtractRequest' responses: '204': description: File extracted successfully 4XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Client Error 5XX: content: application/json: schema: $ref: '#/components/schemas/ApiResponseError' description: Server Error components: schemas: ExtractResponse: properties: transferJob: $ref: '#/components/schemas/TransferJob' type: object required: - transferJob title: ExtractResponse GetViewFileResponse: properties: output: anyOf: - type: string - type: 'null' title: Output nullable: true type: object title: GetViewFileResponse File: properties: name: type: string title: Name type: type: string title: Type linkTarget: anyOf: - type: string - type: 'null' title: Linktarget nullable: true user: type: string title: User group: type: string title: Group permissions: type: string title: Permissions lastModified: type: string title: Lastmodified size: type: string title: Size type: object required: - name - type - user - group - permissions - lastModified - size title: File TransferJob: properties: jobId: type: string title: Jobid system: type: string title: System workingDirectory: type: string title: Workingdirectory logs: $ref: '#/components/schemas/TransferJobLogs' type: object required: - jobId - system - workingDirectory - logs title: TransferJob S3TransferResponse: properties: transferMethod: type: string const: s3 title: Transfermethod downloadUrl: anyOf: - type: string - type: 'null' title: Downloadurl nullable: true partsUploadUrls: anyOf: - items: type: string type: array - type: 'null' title: Partsuploadurls nullable: true completeUploadUrl: anyOf: - type: string - type: 'null' title: Completeuploadurl nullable: true maxPartSize: anyOf: - type: integer - type: 'null' title: Maxpartsize nullable: true type: object required: - transferMethod title: S3TransferResponse PostMkdirResponse: properties: output: anyOf: - $ref: '#/components/schemas/File' - type: 'null' nullable: true type: object title: PostMkdirResponse WormholeTransferRequest: properties: transferMethod: type: string const: wormhole title: Transfermethod type: object required: - transferMethod title: WormholeTransferRequest FileContent: properties: content: type: string title: Content contentType: $ref: '#/components/schemas/ContentUnit' startPosition: type: integer title: Startposition endPosition: type: integer title: Endposition type: object required: - content - contentType - startPosition - endPosition title: FileContent PostFileDownloadRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true transferDirectives: anyOf: - $ref: '#/components/schemas/WormholeTransferRequest' - $ref: '#/components/schemas/S3TransferRequest' - $ref: '#/components/schemas/StreamerTransferRequest' title: Transferdirectives description: Data transfer parameters specific to the transfer method account: anyOf: - type: string - type: 'null' title: Account description: Name of the account in the scheduler nullable: true type: object required: - sourcePath - transferDirectives title: PostFileDownloadRequest examples: - account: group sourcePath: /home/user/dir/file transferDirectives: transferMethod: s3 CopyResponse: properties: transferJob: $ref: '#/components/schemas/TransferJob' type: object required: - transferJob title: CopyResponse PutFileChownRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true owner: type: string title: Owner description: User name of the new user owner of the file default: '' nullable: false group: type: string title: Group description: Group name of the new group owner of the file default: '' nullable: false type: object required: - sourcePath title: PutFileChownRequest examples: - group: my-group owner: user path: /home/user/dir/file.out GetFileChecksumResponse: properties: output: anyOf: - $ref: '#/components/schemas/FileChecksum' - type: 'null' nullable: true type: object title: GetFileChecksumResponse MoveRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true targetPath: type: string title: Targetpath description: Target path of the move operation account: anyOf: - type: string - type: 'null' title: Account description: Name of the account in the scheduler nullable: true type: object required: - sourcePath - targetPath title: MoveRequest examples: - account: group sourcePath: /home/user/dir/file.orig targetPath: /home/user/dir/file.new WormholeTransferResponse: properties: transferMethod: type: string const: wormhole title: Transfermethod wormholeCode: anyOf: - type: string - type: 'null' title: Wormholecode nullable: true type: object required: - transferMethod title: WormholeTransferResponse ApiResponseError: properties: errorType: $ref: '#/components/schemas/ApResponseErrorType' default: error message: type: string title: Message causedBy: anyOf: - items: type: string type: array - type: 'null' title: Causedby nullable: true data: anyOf: - additionalProperties: true type: object - type: 'null' title: Data nullable: true user: anyOf: - type: string - type: 'null' title: User nullable: true type: object required: - message title: ApiResponseError FileStat: properties: mode: type: integer title: Mode ino: type: integer title: Ino dev: type: integer title: Dev nlink: type: integer title: Nlink uid: type: integer title: Uid gid: type: integer title: Gid size: type: integer title: Size atime: type: integer title: Atime ctime: type: integer title: Ctime mtime: type: integer title: Mtime type: object required: - mode - ino - dev - nlink - uid - gid - size - atime - ctime - mtime title: FileStat ExtractRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true targetPath: type: string title: Targetpath description: Path to the directory where to extract the compressed file account: anyOf: - type: string - type: 'null' title: Account description: Name of the account in the scheduler nullable: true compression: $ref: '#/components/schemas/CompressionType' description: Defines the type of compression to be used. By default gzip is used. default: gzip nullable: false type: object required: - sourcePath - targetPath title: ExtractRequest examples: - account: group compression: none sourcePath: /home/user/dir/file.tar.gz targetPath: /home/user/dir MoveResponse: properties: transferJob: $ref: '#/components/schemas/TransferJob' type: object required: - transferJob title: MoveResponse PostFileSymlinkResponse: properties: output: anyOf: - $ref: '#/components/schemas/File' - type: 'null' nullable: true type: object title: PostFileSymlinkResponse CompressRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true targetPath: type: string title: Targetpath description: Target path of the compress operation account: anyOf: - type: string - type: 'null' title: Account description: Name of the account in the scheduler nullable: true matchPattern: anyOf: - type: string - type: 'null' title: Matchpattern description: Regex pattern to filter files to compress nullable: true dereference: type: boolean title: Dereference description: If set to `true`, it follows symbolic links and archive the files they point to instead of the links themselves. default: false nullable: false compression: $ref: '#/components/schemas/CompressionType' description: Defines the type of compression to be used. By default gzip is used. default: gzip nullable: false type: object required: - sourcePath - targetPath title: CompressRequest examples: - account: group compression: none dereference: 'true' matchPattern: '*./[ab].*\.txt' sourcePath: /home/user/dir targetPath: /home/user/file.tar.gz StreamerTransferRequest: properties: transferMethod: type: string const: streamer title: Transfermethod type: object required: - transferMethod title: StreamerTransferRequest PutFileChmodRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true mode: type: string title: Mode description: Mode in octal permission format type: object required: - sourcePath - mode title: PutFileChmodRequest examples: - mode: '777' path: /home/user/dir/file.out PutFileChmodResponse: properties: output: anyOf: - $ref: '#/components/schemas/File' - type: 'null' nullable: true type: object title: PutFileChmodResponse GetFileTypeResponse: properties: output: anyOf: - type: string - type: 'null' title: Output example: directory nullable: true type: object title: GetFileTypeResponse DownloadFileResponse: properties: transferJob: $ref: '#/components/schemas/TransferJob' transferDirectives: anyOf: - $ref: '#/components/schemas/WormholeTransferResponse' - $ref: '#/components/schemas/S3TransferResponse' - $ref: '#/components/schemas/StreamerTransferResponse' title: Transferdirectives description: Data transfer parameters specific to the transfer method type: object required: - transferJob - transferDirectives title: DownloadFileResponse CompressResponse: properties: transferJob: $ref: '#/components/schemas/TransferJob' type: object required: - transferJob title: CompressResponse PutFileChownResponse: properties: output: anyOf: - $ref: '#/components/schemas/File' - type: 'null' nullable: true type: object title: PutFileChownResponse DeleteResponse: properties: transferJob: $ref: '#/components/schemas/TransferJob' type: object required: - transferJob title: DeleteResponse FileChecksum: properties: algorithm: type: string title: Algorithm default: SHA-256 checksum: type: string title: Checksum type: object required: - checksum title: FileChecksum ContentUnit: type: string enum: - lines - bytes title: ContentUnit PostExtractRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true targetPath: type: string title: Targetpath description: Path to the directory where to extract the compressed file compression: $ref: '#/components/schemas/CompressionType' description: Defines the type of compression to be used. By default gzip is used. default: gzip nullable: false type: object required: - sourcePath - targetPath title: PostExtractRequest examples: - compression: none sourcePath: /home/user/dir/file.tar.gz targetPath: /home/user/dir UploadFileResponse: properties: transferJob: $ref: '#/components/schemas/TransferJob' transferDirectives: anyOf: - $ref: '#/components/schemas/WormholeTransferResponse' - $ref: '#/components/schemas/S3TransferResponse' - $ref: '#/components/schemas/StreamerTransferResponse' title: Transferdirectives description: Data transfer parameters specific to the transfer method type: object required: - transferJob - transferDirectives title: UploadFileResponse WormholeTransferUploadRequest: properties: transferMethod: type: string const: wormhole title: Transfermethod wormholeCode: type: string title: Wormholecode description: Wormhole code to use for the transfer nullable: false type: object required: - transferMethod - wormholeCode title: WormholeTransferUploadRequest GetFileTailResponse: properties: output: anyOf: - $ref: '#/components/schemas/FileContent' - type: 'null' nullable: true type: object title: GetFileTailResponse CompressionType: type: string enum: - none - bzip2 - gzip - xz title: CompressionType PostFileUploadRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true transferDirectives: anyOf: - $ref: '#/components/schemas/WormholeTransferUploadRequest' - $ref: '#/components/schemas/S3TransferRequest' - $ref: '#/components/schemas/StreamerTransferRequest' title: Transferdirectives description: Data transfer parameters specific to the transfer method account: anyOf: - type: string - type: 'null' title: Account description: Name of the account in the scheduler nullable: true type: object required: - sourcePath - transferDirectives title: PostFileUploadRequest examples: - account: group sourcePath: /home/user/dir/file transferDirectives: fileSize: '7340032' transferMethod: s3 S3TransferRequest: properties: transferMethod: type: string const: s3 title: Transfermethod fileSize: anyOf: - type: integer - type: 'null' title: Filesize description: Size of the file to upload in bytes nullable: true type: object required: - transferMethod title: S3TransferRequest PostCompressRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true targetPath: type: string title: Targetpath description: Path to the compressed file matchPattern: anyOf: - type: string - type: 'null' title: Matchpattern description: Regex pattern to filter files to compress nullable: true dereference: type: boolean title: Dereference description: If set to `true`, it follows symbolic links and archive the files they point to instead of the links themselves. default: false nullable: false compression: $ref: '#/components/schemas/CompressionType' description: Defines the type of compression to be used. By default gzip is used. default: gzip nullable: false type: object required: - sourcePath - targetPath title: PostCompressRequest examples: - compression: none dereference: 'true' matchPattern: '*./[ab].*\.txt' sourcePath: /home/user/dir targetPath: /home/user/file.tar.gz ApResponseErrorType: type: string enum: - error - validation title: ApResponseErrorType StreamerTransferResponse: properties: transferMethod: type: string const: streamer title: Transfermethod coordinates: anyOf: - type: string - type: 'null' title: Coordinates nullable: true type: object required: - transferMethod title: StreamerTransferResponse TransferJobLogs: properties: outputLog: type: string title: Outputlog errorLog: type: string title: Errorlog type: object required: - outputLog - errorLog title: TransferJobLogs PostFileSymlinkRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true linkPath: type: string title: Linkpath description: Path to the new symlink type: object required: - sourcePath - linkPath title: PostFileSymlinkRequest examples: - link_path: /home/user/newlink path: /home/user/dir GetDirectoryLsResponse: properties: output: anyOf: - items: $ref: '#/components/schemas/File' type: array - type: 'null' title: Output nullable: true type: object title: GetDirectoryLsResponse GetFileHeadResponse: properties: output: anyOf: - $ref: '#/components/schemas/FileContent' - type: 'null' nullable: true type: object title: GetFileHeadResponse GetFileStatResponse: properties: output: anyOf: - $ref: '#/components/schemas/FileStat' - type: 'null' nullable: true type: object title: GetFileStatResponse Body_post_upload_filesystem__system_name__ops_upload_post: properties: file: type: string contentMediaType: application/octet-stream title: File description: File to be uploaded as `multipart/form-data` type: object required: - file title: Body_post_upload_filesystem__system_name__ops_upload_post PostMakeDirRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true parent: type: boolean title: Parent description: If set to `true` creates all its parent directories if they do not already exist default: false nullable: false type: object required: - sourcePath title: PostMakeDirRequest examples: - parent: 'true' path: /home/user/dir/newdir CopyRequest: properties: sourcePath: anyOf: - type: string - type: 'null' title: Sourcepath example: /home/user/dir nullable: true targetPath: type: string title: Targetpath description: Target path of the copy operation account: anyOf: - type: string - type: 'null' title: Account description: Name of the account in the scheduler nullable: true dereference: type: boolean title: Dereference description: If set to `true`, it follows symbolic links and copies the files they point to instead of the links themselves. default: false nullable: false type: object required: - sourcePath - targetPath title: CopyRequest examples: - account: group dereference: 'true' sourcePath: /home/user/dir/file.orig targetPath: /home/user/dir/file.new securitySchemes: APIAuthDependency: type: oauth2 flows: clientCredentials: scopes: {} tokenUrl: https://auth.cscs.ch/auth/realms/firecrest-clients/protocol/openid-connect/token HTTPBearer: type: http scheme: bearer