Module Object.Versions

module Delimiter : sig ... end
type options = {
  1. prefix : Object_key.Prefix.t option;
    (*

    Return versions whose keys begin with this prefix.

    *)
  2. delimiter : Delimiter.t option;
    (*

    Group keys using this delimiter, commonly "/".

    *)
  3. max_keys : int option;
    (*

    Maximum number of keys/markers S3 should return in one page.

    *)
  4. key_marker : Object_key.t option;
    (*

    Pagination marker for keys. Usually supplied from the previous page's next_key_marker.

    *)
  5. version_id_marker : Version_id.t option;
    (*

    Pagination marker for versions. Usually supplied with key_marker.

    *)
  6. expected_bucket_owner : Account_id.t option;
    (*

    x-amz-expected-bucket-owner.

    *)
}

ListObjectVersions request options.

type object_version = {
  1. key : Object_key.t;
    (*

    Object key.

    *)
  2. version_id : Version_id.t option;
    (*

    Object version id.

    *)
  3. is_latest : bool option;
    (*

    Whether this entry is the latest version for the key.

    *)
  4. last_modified : Ptime.t option;
    (*

    Last modified timestamp.

    *)
  5. etag : Etag.t option;
    (*

    Version ETag.

    *)
  6. size : int64 option;
    (*

    Object size in bytes.

    *)
  7. storage_class : Storage_class.t option;
    (*

    Storage class for this version.

    *)
  8. owner : Owner.t option;
    (*

    Owner metadata when returned by S3.

    *)
  9. checksum : Checksum.summary;
    (*

    Checksum summary metadata.

    *)
}

One object version entry from ListObjectVersions.

type delete_marker = {
  1. key : Object_key.t;
    (*

    Object key.

    *)
  2. version_id : Version_id.t option;
    (*

    Delete marker version id.

    *)
  3. is_latest : bool option;
    (*

    Whether this delete marker is latest for the key.

    *)
  4. last_modified : Ptime.t option;
    (*

    Delete marker timestamp.

    *)
  5. owner : Owner.t option;
    (*

    Owner metadata when returned by S3.

    *)
}

One delete marker entry from ListObjectVersions.

type page = {
  1. bucket : Bucket_name.t option;
    (*

    Bucket name echoed by S3.

    *)
  2. prefix : Object_key.Prefix.t option;
    (*

    Prefix applied to this page.

    *)
  3. delimiter : Delimiter.t option;
    (*

    Delimiter applied to this page.

    *)
  4. versions : object_version list;
    (*

    Object versions in this page.

    *)
  5. delete_markers : delete_marker list;
    (*

    Delete markers in this page.

    *)
  6. common_prefixes : Object_key.Prefix.t list;
    (*

    Grouped prefixes returned when delimiter is set.

    *)
  7. is_truncated : bool;
    (*

    Whether more pages are available.

    *)
  8. key_marker : Object_key.t option;
    (*

    Current page key marker.

    *)
  9. version_id_marker : Version_id.t option;
    (*

    Current page version marker.

    *)
  10. next_key_marker : Object_key.t option;
    (*

    Marker to use for the next page.

    *)
  11. next_version_id_marker : Version_id.t option;
    (*

    Version marker to use for the next page.

    *)
  12. response : Awskit.Response.t;
    (*

    Raw response metadata.

    *)
}

One ListObjectVersions page.

val default_options : options
val options : ?prefix:Object_key.Prefix.t -> ?delimiter:Delimiter.t -> ?max_keys:int -> ?key_marker:Object_key.t -> ?version_id_marker:Version_id.t -> ?expected_bucket_owner:Account_id.t -> unit -> (options, Awskit.Error.t) Stdlib.result

Build ListObjectVersions options.

val options_exn : ?prefix:Object_key.Prefix.t -> ?delimiter:Delimiter.t -> ?max_keys:int -> ?key_marker:Object_key.t -> ?version_id_marker:Version_id.t -> ?expected_bucket_owner:Account_id.t -> unit -> options

Like options, but raises on validation failure.