/**
* 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';
/**
* The upload destination contains information necessary to start an upload to an S3 bucket not managed by Synapse. This destination is mapped from an ExternalObjectStorageLocationSetting.
* @export
* @interface ExternalObjectStoreUploadDestination
*/
export interface ExternalObjectStoreUploadDestination {
/**
* Indicates which implementation this object represents.
* @type {string}
* @memberof ExternalObjectStoreUploadDestination
*/
concreteType: ExternalObjectStoreUploadDestinationConcreteTypeEnum;
/**
* the unique id for the storage location, that points to the StorageLocationSetting
* @type {number}
* @memberof ExternalObjectStoreUploadDestination
*/
storageLocationId?: number;
/**
* The enumeration of possible upload types.
* @type {string}
* @memberof ExternalObjectStoreUploadDestination
*/
uploadType?: ExternalObjectStoreUploadDestinationUploadTypeEnum;
/**
* If set, the client should show this banner every time an upload is initiated
* @type {string}
* @memberof ExternalObjectStoreUploadDestination
*/
banner?: string;
/**
* The ID of the project where this file will be uploaded.
* @type {string}
* @memberof ExternalObjectStoreUploadDestination
*/
destinationProjectId?: string;
/**
*
* @type {ProjectStorageLocationUsage}
* @memberof ExternalObjectStoreUploadDestination
*/
projectStorageLocationUsage?: ProjectStorageLocationUsage;
/**
* endpoint URL of the S3 service (for example: 'https://s3.amazonaws.com')
* @type {string}
* @memberof ExternalObjectStoreUploadDestination
*/
endpointUrl?: string;
/**
* the bucket to use
* @type {string}
* @memberof ExternalObjectStoreUploadDestination
*/
bucket?: string;
/**
* A UUID prefix used to identify the file to be uploaded. This field will have a new, unique value every time a new UploadDestination is retrieved.
* @type {string}
* @memberof ExternalObjectStoreUploadDestination
*/
keyPrefixUUID?: string;
}
/**
* @export
*/
export declare const ExternalObjectStoreUploadDestinationConcreteTypeEnum: {
readonly org_sagebionetworks_repo_model_file_ExternalObjectStoreUploadDestination: "org.sagebionetworks.repo.model.file.ExternalObjectStoreUploadDestination";
};
export type ExternalObjectStoreUploadDestinationConcreteTypeEnum = typeof ExternalObjectStoreUploadDestinationConcreteTypeEnum[keyof typeof ExternalObjectStoreUploadDestinationConcreteTypeEnum];
/**
* @export
*/
export declare const ExternalObjectStoreUploadDestinationUploadTypeEnum: {
readonly S3: "S3";
readonly GOOGLECLOUDSTORAGE: "GOOGLECLOUDSTORAGE";
readonly SFTP: "SFTP";
readonly HTTPS: "HTTPS";
readonly PROXYLOCAL: "PROXYLOCAL";
readonly NONE: "NONE";
};
export type ExternalObjectStoreUploadDestinationUploadTypeEnum = typeof ExternalObjectStoreUploadDestinationUploadTypeEnum[keyof typeof ExternalObjectStoreUploadDestinationUploadTypeEnum];
/**
* Check if a given object implements the ExternalObjectStoreUploadDestination interface.
*/
export declare function instanceOfExternalObjectStoreUploadDestination(value: object): value is ExternalObjectStoreUploadDestination;
export declare function ExternalObjectStoreUploadDestinationFromJSON(json: any): ExternalObjectStoreUploadDestination;
export declare function ExternalObjectStoreUploadDestinationFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExternalObjectStoreUploadDestination;
export declare function ExternalObjectStoreUploadDestinationToJSON(json: any): ExternalObjectStoreUploadDestination;
export declare function ExternalObjectStoreUploadDestinationToJSONTyped(value?: ExternalObjectStoreUploadDestination | null, ignoreDiscriminator?: boolean): any;