Struct CopyFileBuilder

Source
pub struct CopyFileBuilder<'a> { /* private fields */ }
Expand description

A builder to create a CopyFile request.

See https://www.backblaze.com/b2/docs/b2_copy_file.html for further information.

Implementations§

Source§

impl<'a> CopyFileBuilder<'a>

Source

pub fn source_file(self, file: &File) -> Self

Obtain the source file ID and encryption settings for the copy operation.

Source

pub fn source_file_id(self, file: impl Into<String>) -> Self

Set the source file ID of the file to copy.

Source

pub fn destination_bucket_id(self, bucket: impl Into<String>) -> Self

Set the destination bucket for the new file.

If not provided, the same bucket ID as the source file is used.

Both buckets must belong to the same account.

Source

pub fn destination_file_name( self, name: &'a str, ) -> Result<Self, FileNameValidationError>

Set the filename to use for the new file.

Source

pub fn range(self, range: ByteRange) -> Self

If provided, only copy the specified byte range of the source file.

Source

pub fn metadata_directive(self, directive: MetadataDirective) -> Self

Determine whether to copy the source metadata to the new file.

If MetadataDirective::Copy (the default), the source metadata will be copied to the new file.

If MetadataDirective::Replace, the new file’s metadata will be empty or determined by the information provided via content_type and file_info.

Source

pub fn content_type(self, content_type: impl Into<String>) -> Self

Set the content-type of the file.

The content-type can only be set if metadata_directive is MetadataDirective::Replace.

Source

pub fn file_info(self, info: Value) -> Result<Self, ValidationError>

Set user-specified file metadata.

The file information can only be set if metadata_directive is MetadataDirective::Replace.

For the following headers, use their corresponding methods instead of setting the values here:

If any of the above are set here and via their methods, the value from the method will override the value specified here.

Source

pub fn file_retention(self, retention: FileRetentionPolicy) -> Self

Set the file-retention settings for the new file.

Setting this requires Capability::WriteFileRetentions.

Enable legal hold status for the new file.

Do not enable legal hold status for the new file.

Source

pub fn source_encryption_settings(self, settings: ServerSideEncryption) -> Self

Specify the server-side encryption settings on the source file.

Calling source_file will set this from the file object.

Source

pub fn destination_encryption_settings( self, settings: ServerSideEncryption, ) -> Self

Specify the server-side encryption settings for the destination file.

If not provided, the bucket’s default settings will be used.

Source

pub fn last_modified(self, time: DateTime<Utc>) -> Self

The time of the file’s last modification.

Source

pub fn sha1_checksum(self, checksum: &'a str) -> Self

The SHA1 checksum of the file’s contents.

B2 will use this to verify the accuracy of the file upload, and it will be returned in the header X-Bz-Content-Sha1 when downloading the file.

Source

pub fn content_disposition( self, disposition: ContentDisposition, ) -> Result<Self, ValidationError>

The value to use for the Content-Disposition header when downloading the file.

Note that the download request can override this value.

Source

pub fn content_language(self, language: impl Into<String>) -> Self

The value to use for the Content-Language header when downloading the file.

Note that the download request can override this value.

Source

pub fn expiration(self, expiration: Expires) -> Self

The value to use for the Expires header when the file is downloaded.

Note that the download request can override this value.

Source

pub fn cache_control(self, cache_control: CacheControl) -> Self

The value to use for the Cache-Control header when the file is downloaded.

This would override the value set at the bucket level, and can be overriden by a download request.

Source

pub fn content_encoding(self, encoding: ContentEncoding) -> Self

The value to use for the Content-Encoding header when the file is downloaded.

Note that this can be overriden by a download request.

Source

pub fn build(self) -> Result<CopyFile<'a>, ValidationError>

Create a CopyFile object.

§Returns

Returns ValidationError::MissingData if the source file or destination filename are not set.

Returns ValidationError::Incompatible if the metadata_directive is MetadataDirective::Copy or was not provided AND content_type or file_info were set.

Trait Implementations§

Source§

impl<'a> Default for CopyFileBuilder<'a>

Source§

fn default() -> CopyFileBuilder<'a>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for CopyFileBuilder<'a>

§

impl<'a> RefUnwindSafe for CopyFileBuilder<'a>

§

impl<'a> Send for CopyFileBuilder<'a>

§

impl<'a> Sync for CopyFileBuilder<'a>

§

impl<'a> Unpin for CopyFileBuilder<'a>

§

impl<'a> UnwindSafe for CopyFileBuilder<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,