pub enum RcloneAction {
Copy {
source_bucket: Option<String>,
destination_bucket: Option<String>,
local_output: Option<PathBuf>,
report_bucket: Option<String>,
transfers: Option<usize>,
checkers: Option<usize>,
tpslimit: Option<usize>,
non_interactive: bool,
},
Delete {
source_bucket: Option<String>,
local_output: Option<PathBuf>,
report_bucket: Option<String>,
checkers: Option<usize>,
non_interactive: bool,
},
}Variants§
Copy
Copies data from one configured bucket-config to another by
shelling out to rclone copy, against a config file pigeon itself
generates from the keyring (ADR-0136, reversing ADR-0101’s original
raw-passthrough design). --transfers/--checkers/--tpslimit are
overridable per-destination (ADR-0108); every other rclone
performance/retry flag stays fixed.
Fields
source_bucket: Option<String>Where to pull from: a configured bucket-config alias, optionally
composed with a prefix inside it – media is the whole bucket,
media:mp4/ its mp4/ directory (ADR-0138). Unlike
transform, an omitted prefix stays the bucket root (this job
has no file-type concept to derive one from). Interactively
selected when omitted and stdin is a terminal; required
otherwise.
destination_bucket: Option<String>Where to push to, same alias[:prefix/] form as
--source-bucket (ADR-0138). Interactively selected when
omitted and stdin is a terminal; required otherwise.
local_output: Option<PathBuf>Local directory this run’s rclone log (also serving as this job’s report) and transcript are written under. Defaults to a directory under the OS temp directory when omitted. Unlike every other job, this is not a staging area for transferred data – rclone transfers directly source -> destination with no pigeon-side staging.
report_bucket: Option<String>Alias of a configured bucket-config this run’s report (the
rclone log itself, for this job), the shared observability log,
and a transcript of its printed output are uploaded to, always
unencrypted, under a YYYY-MM-DD-job-name-{run-id}/ prefix
(ADR-0100). Mandatory – interactively selected when omitted
and stdin is a terminal; required otherwise.
transfers: Option<usize>rclone –transfers (concurrent file transfers). Defaults to 8 (ADR-0106) when omitted.
checkers: Option<usize>rclone –checkers (concurrent list/compare operations). Defaults to 16 (ADR-0106) when omitted.
Delete
Recursively and permanently deletes everything in a configured
bucket-config by shelling out to rclone purge (ADR-0110).
Irreversible – there is no --dry-run and no undo beyond the
existing --non-interactive/interactive confirmation. Unlike
copy, there is no destination and no per-file transfer-rate
tuning, since purge transfers no file content.
Fields
source_bucket: Option<String>What to recursively and permanently delete the contents of: a
configured bucket-config alias, optionally composed with a
prefix to scope the purge to one directory inside it
(media:mp4/, ADR-0138). An omitted prefix purges the whole
bucket. Interactively selected when omitted and stdin is a
terminal; required otherwise.
local_output: Option<PathBuf>Local directory this run’s rclone log (also serving as this job’s report) and transcript are written under. Defaults to a directory under the OS temp directory when omitted.
report_bucket: Option<String>Alias of a configured bucket-config this run’s report, the
shared observability log, and a transcript of its printed
output are uploaded to, always unencrypted, under a
YYYY-MM-DD-job-name-{run-id}/ prefix (ADR-0100). Mandatory –
interactively selected when omitted and stdin is a terminal;
required otherwise.
Trait Implementations§
Source§impl Debug for RcloneAction
impl Debug for RcloneAction
Source§impl FromArgMatches for RcloneAction
impl FromArgMatches for RcloneAction
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for RcloneAction
impl Subcommand for RcloneAction
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for RcloneAction
impl RefUnwindSafe for RcloneAction
impl Send for RcloneAction
impl Sync for RcloneAction
impl Unpin for RcloneAction
impl UnsafeUnpin for RcloneAction
impl UnwindSafe for RcloneAction
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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