Package-level declarations

Types

Link copied to clipboard
interface S3

Docs: https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html

Link copied to clipboard
interface S3Action<R> : Action<Result<R, RemoteFailure>>
Link copied to clipboard
interface S3Bucket

Interface for bucket-specific S3 operations

Link copied to clipboard
interface S3BucketAction<R> : Action<Result<R, RemoteFailure>>

Functions

Link copied to clipboard
fun S3Bucket.copyObject(sourceBucket: BucketName, source: BucketKey, destination: BucketKey, storageClass: StorageClass? = null, tags: List<Tag>? = null, taggingDirective: TaggingDirective? = null, headers: List<Pair<String, String?>> = emptyList()): Result<Unit, RemoteFailure>
Link copied to clipboard
fun S3.createBucket(bucketName: BucketName, region: Region): Result<Unit, RemoteFailure>
Link copied to clipboard
fun S3Bucket.deleteBucket(): Result<Unit?, RemoteFailure>
Link copied to clipboard
fun S3Bucket.deleteObject(key: BucketKey): Result<Unit?, RemoteFailure>
Link copied to clipboard
fun S3Bucket.deleteObjectTagging(key: BucketKey): Result<Unit, RemoteFailure>
Link copied to clipboard
fun S3Bucket.getObject(key: BucketKey): Result<InputStream?, RemoteFailure>
Link copied to clipboard
fun S3Bucket.getObjectTagging(key: BucketKey): Result<List<Tag>, RemoteFailure>
Link copied to clipboard
fun S3Bucket.headBucket(expectedBucketOwner: String? = null): Result<Unit?, RemoteFailure>
Link copied to clipboard
fun S3Bucket.headObject(key: BucketKey): Result<ObjectDetails?, RemoteFailure>
Link copied to clipboard
fun S3.Companion.Http(env: Map<String, String> = getenv(), http: HttpHandler = JavaHttpClient(), clock: Clock = systemUTC(), credentialsProvider: CredentialsProvider = CredentialsProvider.Environment(env), overrideEndpoint: Uri? = null): S3

Convenience function to create a S3 from a System environment

fun S3.Companion.Http(env: Environment, http: HttpHandler = JavaHttpClient(), clock: Clock = systemUTC(), credentialsProvider: CredentialsProvider = CredentialsProvider.Environment(env), overrideEndpoint: Uri? = null): S3

Convenience function to create a S3 from an http4k Environment

fun S3.Companion.Http(credentialsProvider: CredentialsProvider, http: HttpHandler = JavaHttpClient(), clock: Clock = systemUTC(), payloadMode: Payload.Mode = Payload.Mode.Signed, overrideEndpoint: Uri? = null): S3

Standard HTTP implementation of S3

fun S3Bucket.Companion.Http(bucketName: BucketName, bucketRegion: Region, credentialsProvider: CredentialsProvider, http: HttpHandler = JavaHttpClient(), clock: Clock = Clock.systemUTC(), payloadMode: Payload.Mode = Payload.Mode.Signed, overrideEndpoint: Uri? = null, forcePathStyle: Boolean = false): S3Bucket

Standard HTTP implementation of S3Bucket

fun S3Bucket.Companion.Http(bucketName: BucketName, bucketRegion: Region, env: Map<String, String> = System.getenv(), http: HttpHandler = JavaHttpClient(), clock: Clock = Clock.systemUTC(), payloadMode: Payload.Mode = Payload.Mode.Signed, overrideEndpoint: Uri? = null, forcePathStyle: Boolean = false, credentialsProvider: CredentialsProvider = CredentialsProvider.Environment(env)): S3Bucket

Convenience function to create a S3Bucket from a System environment

fun S3Bucket.Companion.Http(bucketName: BucketName, bucketRegion: Region, env: Environment, http: HttpHandler = JavaHttpClient(), clock: Clock = Clock.systemUTC(), payloadMode: Payload.Mode = Payload.Mode.Signed, overrideEndpoint: Uri? = null, forcePathStyle: Boolean = false, credentialsProvider: CredentialsProvider = CredentialsProvider.Environment(env)): S3Bucket

Convenience function to create a S3Bucket from an http4k Environment

Link copied to clipboard
fun S3.listBuckets(): Result<BucketList, RemoteFailure>
Link copied to clipboard
fun S3Bucket.listObjectsV2(continuationToken: String? = null, maxKeys: Int? = null, prefix: String? = null, delimiter: String? = null, encodingType: String? = null, expectedBucketOwner: String? = null, requestPayer: String? = null): Result<ObjectList, RemoteFailure>
Link copied to clipboard
fun S3Bucket.listObjectsV2Paginated(continuationToken: String? = null, maxKeys: Int? = null, prefix: String? = null, delimiter: String? = null, encodingType: String? = null, expectedBucketOwner: String? = null, requestPayer: String? = null): Sequence<Result<List<ObjectSummary>, RemoteFailure>>
Link copied to clipboard
fun S3Bucket.putObject(key: BucketKey, content: InputStream, headers: List<Pair<String, String?>> = emptyList(), tags: List<Tag> = emptyList(), storageClass: StorageClass? = null): Result<Unit, RemoteFailure>
Link copied to clipboard
fun S3Bucket.putObjectTagging(key: BucketKey, tags: List<Tag>): Result<Unit, RemoteFailure>
Link copied to clipboard
fun S3Bucket.restoreObject(key: BucketKey, days: Int, description: String? = null, tier: RestoreTier? = null): Result<Unit, RemoteFailure>