using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading; namespace Amazon.Runtime.SharedInterfaces { /// /// ICoreAmazonS3 is not meant to use directly. It defines S3 with basic .NET types /// and allows other services to be able to use S3 as a runtime dependency. This interface /// is implemented by the AmazonS3Client defined in the S3 assembly. /// public partial interface ICoreAmazonS3 { /// /// Generate a presigned URL. /// /// /// /// /// /// string GeneratePreSignedURL(string bucketName, string objectKey, DateTime expiration, IDictionary additionalProperties); #if AWS_APM_API /// /// Start a delete object. /// /// /// /// /// /// /// IAsyncResult BeginDelete(string bucketName, string objectKey, IDictionary additionalProperties, AsyncCallback callback, object state); /// /// Get the results of a delete object. /// /// void EndDelete(IAsyncResult result); /// /// Start an upload object from stream. /// /// /// /// /// /// /// /// IAsyncResult BeginUploadObjectFromStream(string bucketName, string objectKey, Stream stream, IDictionary additionalProperties, AsyncCallback callback, object state); /// /// Get the results of an upload from stream. /// /// void EndUploadObjectFromStream(IAsyncResult result); /// /// Start an upload object from file path. /// /// /// /// /// /// /// /// IAsyncResult BeginUploadObjectFromFilePath(string bucketName, string objectKey, string filepath, IDictionary additionalProperties, AsyncCallback callback, object state); /// /// Get the results of an upload from file path. /// /// void EndUploadObjectFromFilePath(IAsyncResult result); /// /// Start a download to a file path. /// /// /// /// /// /// /// /// IAsyncResult BeginDownloadToFilePath(string bucketName, string objectKey, string filepath, IDictionary additionalProperties, AsyncCallback callback, object state); /// /// Get results of downloading an object to a file path. /// /// void EndDownloadToFilePath(IAsyncResult result); /// /// Start opening a stream to an object in S3. /// /// /// /// /// /// /// IAsyncResult BeginGetObjectStream(string bucketName, string objectKey, IDictionary additionalProperties, AsyncCallback callback, object state); /// /// Get results of opening a stream to an object in S3. /// /// /// Stream EndGetObjectStream(IAsyncResult result); #endif } }