Struct google_api_proto::google::storagetransfer::v1::Schedule
source · pub struct Schedule {
pub schedule_start_date: Option<Date>,
pub schedule_end_date: Option<Date>,
pub start_time_of_day: Option<TimeOfDay>,
pub end_time_of_day: Option<TimeOfDay>,
pub repeat_interval: Option<Duration>,
}
Expand description
Transfers can be scheduled to recur or to run just once.
Fields§
§schedule_start_date: Option<Date>
Required. The start date of a transfer. Date boundaries are determined
relative to UTC time. If schedule_start_date
and
[start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day]
are in the past relative to the job’s creation time, the transfer starts
the day after you schedule the transfer request.
Note: When starting jobs at or near midnight UTC it is possible that
a job starts later than expected. For example, if you send an outbound
request on June 1 one millisecond prior to midnight UTC and the Storage
Transfer Service server receives the request on June 2, then it creates
a TransferJob with schedule_start_date
set to June 2 and a
start_time_of_day
set to midnight UTC. The first scheduled
[TransferOperation][google.storagetransfer.v1.TransferOperation] takes
place on June 3 at midnight UTC.
schedule_end_date: Option<Date>
The last day a transfer runs. Date boundaries are determined relative to UTC time. A job runs once per 24 hours within the following guidelines:
- If
schedule_end_date
and [schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date] are the same and in the future relative to UTC, the transfer is executed only one time. - If
schedule_end_date
is later thanschedule_start_date
andschedule_end_date
is in the future relative to UTC, the job runs each day at [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day] throughschedule_end_date
.
start_time_of_day: Option<TimeOfDay>
The time in UTC that a transfer job is scheduled to run. Transfers may start later than this time.
If start_time_of_day
is not specified:
- One-time transfers run immediately.
- Recurring transfers run immediately, and each day at midnight UTC, through [schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date].
If start_time_of_day
is specified:
- One-time transfers run at the specified time.
- Recurring transfers run at the specified time each day, through
schedule_end_date
.
end_time_of_day: Option<TimeOfDay>
The time in UTC that no further transfer operations are scheduled. Combined
with
[schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date],
end_time_of_day
specifies the end date and time for starting new transfer
operations. This field must be greater than or equal to the timestamp
corresponding to the combintation of
[schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date]
and
[start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day],
and is subject to the following:
-
If
end_time_of_day
is not set andschedule_end_date
is set, then a default value of23:59:59
is used forend_time_of_day
. -
If
end_time_of_day
is set andschedule_end_date
is not set, then [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] is returned.
repeat_interval: Option<Duration>
Interval between the start of each scheduled TransferOperation. If unspecified, the default value is 24 hours. This value may not be less than 1 hour.
Trait Implementations§
source§impl Message for Schedule
impl Message for Schedule
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Schedule
impl PartialEq for Schedule
impl Copy for Schedule
impl StructuralPartialEq for Schedule
Auto Trait Implementations§
impl Freeze for Schedule
impl RefUnwindSafe for Schedule
impl Send for Schedule
impl Sync for Schedule
impl Unpin for Schedule
impl UnwindSafe for Schedule
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<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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request