Struct buildsrs_storage::S3
source · pub struct S3 { /* private fields */ }
Expand description
S3-backed artifact storage.
This storage implementation keeps artifacts in an S3 bucket using the aws_sdk
crate. The
artifacts are named similar to how they are named in the filesystem.
For example, a artifact named myartifact
with version 0.1.5
would be stored as
myartifact_0.1.5.tar.gz
in the bucket.
Implementations§
Trait Implementations§
source§impl Storage for S3
impl Storage for S3
source§fn artifact_put<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
version: &'life1 ArtifactId,
data: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn artifact_put<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
version: &'life1 ArtifactId,
data: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Put an artifact into storage.
source§fn artifact_get<'life0, 'life1, 'async_trait>(
&'life0 self,
version: &'life1 ArtifactId
) -> Pin<Box<dyn Future<Output = Result<ArtifactData, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn artifact_get<'life0, 'life1, 'async_trait>(
&'life0 self,
version: &'life1 ArtifactId
) -> Pin<Box<dyn Future<Output = Result<ArtifactData, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get an artifact from storage.
Auto Trait Implementations§
impl !RefUnwindSafe for S3
impl Send for S3
impl Sync for S3
impl Unpin for S3
impl !UnwindSafe for S3
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
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Creates a shared type from an unshared type.