pub struct SyncOptions {
pub parallel: Option<u32>,
pub delete_extra: bool,
pub must_exist: Option<bool>,
pub times: Option<bool>,
pub update: Option<bool>,
pub max_download_speed_bytes_per_second: Option<i64>,
pub max_upload_speed_bytes_per_second: Option<i64>,
}Expand description
Tuning knobs for kopia repository sync-to (issue #216): copy parallelism,
destination pruning, and the blob-sync tri-states/throughput caps kopia
exposes on the command. Every field’s None/false reproduces kopia’s own
default, so an absent sync block is exactly today’s behavior. Pure scalars
(no k8s-openapi embeds), so this derives Eq unlike its parent spec.
Fields§
§parallel: Option<u32>--parallel: number of concurrent blob-copy workers (kopia default 1 —
sequential, the root cause of #216’s multi-week seed times to R2).
delete_extra: bool--delete: prune destination-only blobs so the mirror is an exact copy
(kopia default false — additive sync, never removes destination
content). Named deleteExtra, not kopia’s bare delete: a delete: true
key on backup-adjacent YAML is dangerously ambiguous at a glance.
CAUTION: with this true, blobs present at the destination but absent
from the source are deleted on every run.
must_exist: Option<bool>--[no-]must-exist: fail the sync instead of initializing the
destination’s repository-format blob (kopia default false — sync-to may
create the destination layout on first run).
times: Option<bool>--[no-]times: synchronize blob modification times to the destination,
when the destination backend supports it (kopia default true).
update: Option<bool>--[no-]update: update blobs already present at the destination when the
source copy is newer (kopia default true).
max_download_speed_bytes_per_second: Option<i64>--max-download-speed: cap read throughput from the source, in
bytes/sec (kopia default: unlimited).
max_upload_speed_bytes_per_second: Option<i64>--max-upload-speed: cap write throughput to the destination, in
bytes/sec (kopia default: unlimited).
Trait Implementations§
Source§impl Clone for SyncOptions
impl Clone for SyncOptions
Source§fn clone(&self) -> SyncOptions
fn clone(&self) -> SyncOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SyncOptions
impl Debug for SyncOptions
Source§impl Default for SyncOptions
impl Default for SyncOptions
Source§fn default() -> SyncOptions
fn default() -> SyncOptions
Source§impl<'de> Deserialize<'de> for SyncOptions
impl<'de> Deserialize<'de> for SyncOptions
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for SyncOptions
impl JsonSchema for SyncOptions
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for SyncOptions
impl PartialEq for SyncOptions
Source§fn eq(&self, other: &SyncOptions) -> bool
fn eq(&self, other: &SyncOptions) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for SyncOptions
impl Serialize for SyncOptions
impl Copy for SyncOptions
impl Eq for SyncOptions
impl StructuralPartialEq for SyncOptions
Auto Trait Implementations§
impl Freeze for SyncOptions
impl RefUnwindSafe for SyncOptions
impl Send for SyncOptions
impl Sync for SyncOptions
impl Unpin for SyncOptions
impl UnsafeUnpin for SyncOptions
impl UnwindSafe for SyncOptions
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§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>
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