Enum object_store::aws::S3CopyIfNotExists
source · #[non_exhaustive]pub enum S3CopyIfNotExists {
Header(String, String),
HeaderWithStatus(String, String, StatusCode),
Dynamo(DynamoCommit),
}
Expand description
Configure how to provide ObjectStore::copy_if_not_exists
for AmazonS3
.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Header(String, String)
Some S3-compatible stores, such as Cloudflare R2, support copy if not exists semantics through custom headers.
If set, ObjectStore::copy_if_not_exists
will perform a normal copy operation
with the provided header pair, and expect the store to fail with 412 Precondition Failed
if the destination file already exists.
Encoded as header:<HEADER_NAME>:<HEADER_VALUE>
ignoring whitespace
For example header: cf-copy-destination-if-none-match: *
, would set
the header cf-copy-destination-if-none-match
to *
HeaderWithStatus(String, String, StatusCode)
The same as S3CopyIfNotExists::Header
but allows custom status code checking, for object stores that return values
other than 412.
Encoded as header-with-status:<HEADER_NAME>:<HEADER_VALUE>:<STATUS>
ignoring whitespace
Dynamo(DynamoCommit)
The name of a DynamoDB table to use for coordination
Encoded as either dynamo:<TABLE_NAME>
or dynamo:<TABLE_NAME>:<TIMEOUT_MILLIS>
ignoring whitespace. The default timeout is used if not specified
See DynamoCommit
for more information
This will use the same region, credentials and endpoint as configured for S3
Trait Implementations§
source§impl Clone for S3CopyIfNotExists
impl Clone for S3CopyIfNotExists
source§fn clone(&self) -> S3CopyIfNotExists
fn clone(&self) -> S3CopyIfNotExists
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for S3CopyIfNotExists
impl Debug for S3CopyIfNotExists
source§impl Display for S3CopyIfNotExists
impl Display for S3CopyIfNotExists
source§impl PartialEq for S3CopyIfNotExists
impl PartialEq for S3CopyIfNotExists
source§fn eq(&self, other: &S3CopyIfNotExists) -> bool
fn eq(&self, other: &S3CopyIfNotExists) -> bool
self
and other
values to be equal, and is used
by ==
.impl Eq for S3CopyIfNotExists
impl StructuralPartialEq for S3CopyIfNotExists
Auto Trait Implementations§
impl Freeze for S3CopyIfNotExists
impl RefUnwindSafe for S3CopyIfNotExists
impl Send for S3CopyIfNotExists
impl Sync for S3CopyIfNotExists
impl Unpin for S3CopyIfNotExists
impl UnwindSafe for S3CopyIfNotExists
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more