Module Awskit_s3_lwt_unix

Ready-to-use Lwt + Unix S3 adapter.

Operations stream through Awskit_lwt_unix.Runtime. Local-path body and reader helpers live under Body and Reader; managed upload/download helpers live under Object.Transfer.

type t

Ready-to-use Lwt + Unix S3 client connection. Create with create.

module Runtime : Awskit_s3.RUNTIME with type 'a t = 'a Lwt.t and type connection = t

Lwt + Unix S3 runtime used by Awskit_s3.Make.

val create : ?ctx:Cohttp_lwt_unix.Client.ctx -> ?endpoint_config:Awskit_s3.Endpoint_config.t -> ?region:string -> ?credentials:Awskit.Credentials.t -> ?clock:(unit -> Ptime.t) -> ?retry_policy:Awskit.Retry.t -> ?random_float:(upper_bound:float -> float) -> ?timeout_policy:Awskit.Timeout.policy -> ?max_response_drain_bytes:int -> ?imdsv1_fallback:Awskit_lwt_unix.Credentials.imdsv1_fallback -> unit -> (t, Awskit_s3.Error.t) Stdlib.result

Create a ready-to-use Lwt + Unix S3 client.

If region or credentials are omitted, the underlying Awskit_lwt_unix runtime resolves them from standard AWS environment and profile sources. Use endpoint_config for AWS endpoint variants, local S3-compatible tests, or explicit endpoints that use S3-compatible signing/addressing rules. max_response_drain_bytes controls how much response body the runtime drains after successful consumers.

module Body : sig ... end
module Reader : sig ... end
module Object : sig ... end
module Bucket : Awskit_s3.BUCKET with type connection := t and type 'a io := 'a Lwt.t

Bucket operations returning Lwt.t.

module Multipart : Awskit_s3.MULTIPART with type connection := t and type 'a io := 'a Lwt.t and type request_body := Body.t

Multipart operations returning Lwt.t.

module Presigned : Awskit_s3.PRESIGNED with type connection := t and type 'a io := 'a Lwt.t

Presigned request artifact helpers using the client's resolved region, credentials, clock, and endpoint configuration.