import { Service } from '../Core/index'; import { CreatedFile, FileMetaUpdate, FileRemoval, FileStatRequest, FileStatResult, FileUploadComplete, FileUploadLocation, FileUploadRequest, FolderCreationRequest, FolderListing, FolderListingRequest, ListingEntryInfo, SnapshotCreationRequest, ZpfsDiskUsage, ZpfsRequest } from '../CommonTypes'; /** * Upload: S3 * * Upload service with S3 storage * */ export declare class Zpfs_s3 extends Service { /** * Get deployment type associated to Zpfs_s3 service * @return {string} */ static readonly DEPLOYMENT_TYPE: string; /** * Get default deployment id associated to Zpfs_s3 service * @return {string} */ static readonly DEFAULT_DEPLOYMENT_ID: string; /** * User API for file management * * User API for virtual file management and http file upload * This API contains all the verbs needed to browse, upload and remove files. * Files are stored on a per-user basis: each user has his or her own whole virtual filesystem. * Uploading a file is a 3-step process : request an upload URL, upload via HTTP, notify this service of completion. * @access public * */ /** * Copies a file * * Copies a file or folder (recursively) to a new location. * May fail if the target location is not empty. * @access public * */ cp(body: CreatedFile): Promise; /** * Returns disk usage * * Returns an recursively aggregated number of used bytes, starting at the given path. * @access public * */ du(body: ZpfsRequest): Promise; /** * Requests an upload URL without constraints. * * @access public * */ freeUploadUrl(body: FileUploadRequest): Promise; /** * Links a file * * Links a file or folder to another location. * May fail if the target location is not empty. * @access public * */ link(body: CreatedFile): Promise; /** * Lists a folder content * * Returns a paginated list of the folder's content. * @access public * */ ls(body: FolderListingRequest): Promise; /** * Creates a folder * * Creates a new folder. * May fail if the target location is not empty. * @access public * */ mkdir(body: FolderCreationRequest): Promise; /** * Moves a file * * Moves a file or folder (recursively) to a new location. * May fail if the target location is not empty. * @access public * */ mv(body: CreatedFile): Promise; /** * Notifies of upload completion * * The client application calls this verb to notify that it's done uploading to the cloud. * Calling that verb MAY trigger additional events such as thumbnail/metadata creation. * @access public * */ newFile(body: FileUploadComplete): Promise; /** * Requests an upload URL * * Requests an HTTP upload URL. * The URL contains temporary credentials (typically valid for a few minutes) and is meant for immediate use. * @access public * */ newUploadUrl(body: FileUploadRequest): Promise; /** * Removes a file * * Removes a file or folder (recursively). * @access public * */ rm(body: FileRemoval): Promise; /** * Creates a snapshot in a new folder * * Creates a new folder and then copies the given files inside * @access public * */ snapshot(body: SnapshotCreationRequest): Promise; /** * Returns information about a file * * Returns information about a single file. * The entry field will be null if the path does not exist * @access public * */ stat(body: FileStatRequest): Promise; /** * Updates a file's metadata * * @access public * */ updateMeta(body: FileMetaUpdate): Promise; }