/**
* Synapse REST API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: v1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import type { ProjectStorageLocationUsage } from './ProjectStorageLocationUsage';
/**
* This upload destination contains information to start an upload to an external external S3 bucket connected with Synapse. The destination is mapped from an ExternalS3StorageLocationSetting.
* @export
* @interface ExternalS3UploadDestination
*/
export interface ExternalS3UploadDestination {
/**
* Indicates which implementation this object represents.
* @type {string}
* @memberof ExternalS3UploadDestination
*/
concreteType: ExternalS3UploadDestinationConcreteTypeEnum;
/**
* the unique id for the storage location, that points to the StorageLocationSetting
* @type {number}
* @memberof ExternalS3UploadDestination
*/
storageLocationId?: number;
/**
* The enumeration of possible upload types.
* @type {string}
* @memberof ExternalS3UploadDestination
*/
uploadType?: ExternalS3UploadDestinationUploadTypeEnum;
/**
* If set, the client should show this banner every time an upload is initiated
* @type {string}
* @memberof ExternalS3UploadDestination
*/
banner?: string;
/**
* The ID of the project where this file will be uploaded.
* @type {string}
* @memberof ExternalS3UploadDestination
*/
destinationProjectId?: string;
/**
*
* @type {ProjectStorageLocationUsage}
* @memberof ExternalS3UploadDestination
*/
projectStorageLocationUsage?: ProjectStorageLocationUsage;
/**
* the optional base key, which acts as a prefix or a base folder
* @type {string}
* @memberof ExternalS3UploadDestination
*/
baseKey?: string;
/**
* Enables STS on this Storage Location
* @type {boolean}
* @memberof ExternalS3UploadDestination
*/
stsEnabled?: boolean;
/**
* the s3 endpoint url (default: https://s3.amazonaws.com)
* @type {string}
* @memberof ExternalS3UploadDestination
*/
endpointUrl?: string;
/**
* the bucket to use
* @type {string}
* @memberof ExternalS3UploadDestination
*/
bucket?: string;
}
/**
* @export
*/
export declare const ExternalS3UploadDestinationConcreteTypeEnum: {
readonly org_sagebionetworks_repo_model_file_ExternalS3UploadDestination: "org.sagebionetworks.repo.model.file.ExternalS3UploadDestination";
};
export type ExternalS3UploadDestinationConcreteTypeEnum = typeof ExternalS3UploadDestinationConcreteTypeEnum[keyof typeof ExternalS3UploadDestinationConcreteTypeEnum];
/**
* @export
*/
export declare const ExternalS3UploadDestinationUploadTypeEnum: {
readonly S3: "S3";
readonly GOOGLECLOUDSTORAGE: "GOOGLECLOUDSTORAGE";
readonly SFTP: "SFTP";
readonly HTTPS: "HTTPS";
readonly PROXYLOCAL: "PROXYLOCAL";
readonly NONE: "NONE";
};
export type ExternalS3UploadDestinationUploadTypeEnum = typeof ExternalS3UploadDestinationUploadTypeEnum[keyof typeof ExternalS3UploadDestinationUploadTypeEnum];
/**
* Check if a given object implements the ExternalS3UploadDestination interface.
*/
export declare function instanceOfExternalS3UploadDestination(value: object): value is ExternalS3UploadDestination;
export declare function ExternalS3UploadDestinationFromJSON(json: any): ExternalS3UploadDestination;
export declare function ExternalS3UploadDestinationFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExternalS3UploadDestination;
export declare function ExternalS3UploadDestinationToJSON(json: any): ExternalS3UploadDestination;
export declare function ExternalS3UploadDestinationToJSONTyped(value?: ExternalS3UploadDestination | null, ignoreDiscriminator?: boolean): any;