Struct google_api_proto::google::cloud::runtimeconfig::v1beta1::Waiter
source · pub struct Waiter {
pub name: String,
pub timeout: Option<Duration>,
pub failure: Option<EndCondition>,
pub success: Option<EndCondition>,
pub create_time: Option<Timestamp>,
pub done: bool,
pub error: Option<Status>,
}
Expand description
A Waiter resource waits for some end condition within a RuntimeConfig resource to be met before it returns. For example, assume you have a distributed system where each node writes to a Variable resource indidicating the node’s readiness as part of the startup process.
You then configure a Waiter resource with the success condition set to wait until some number of nodes have checked in. Afterwards, your application runs some arbitrary code after the condition has been met and the waiter returns successfully.
Once created, a Waiter resource is immutable.
To learn more about using waiters, read the Creating a Waiter documentation.
Fields§
§name: String
The name of the Waiter resource, in the format:
projects/\[PROJECT_ID\]/configs/\[CONFIG_NAME\]/waiters/\[WAITER_NAME\]
The \[PROJECT_ID\]
must be a valid Google Cloud project ID,
the \[CONFIG_NAME\]
must be a valid RuntimeConfig resource, the
\[WAITER_NAME\]
must match RFC 1035 segment specification, and the length
of \[WAITER_NAME\]
must be less than 64 bytes.
After you create a Waiter resource, you cannot change the resource name.
timeout: Option<Duration>
[Required] Specifies the timeout of the waiter in seconds, beginning from
the instant that waiters().create
method is called. If this time elapses
before the success or failure conditions are met, the waiter fails and sets
the error
code to DEADLINE_EXCEEDED
.
failure: Option<EndCondition>
[Optional] The failure condition of this waiter. If this condition is met,
done
will be set to true
and the error
code will be set to ABORTED
.
The failure condition takes precedence over the success condition. If both
conditions are met, a failure will be indicated. This value is optional; if
no failure condition is set, the only failure scenario will be a timeout.
success: Option<EndCondition>
[Required] The success condition. If this condition is met, done
will be
set to true
and the error
value will remain unset. The failure
condition takes precedence over the success condition. If both conditions
are met, a failure will be indicated.
create_time: Option<Timestamp>
[Output Only] The instant at which this Waiter resource was created. Adding
the value of timeout
to this instant yields the timeout deadline for the
waiter.
done: bool
[Output Only] If the value is false
, it means the waiter is still waiting
for one of its conditions to be met.
If true, the waiter has finished. If the waiter finished due to a timeout
or failure, error
will be set.
error: Option<Status>
[Output Only] If the waiter ended due to a failure or timeout, this value will be set.
Trait Implementations§
source§impl Message for Waiter
impl Message for Waiter
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 Waiter
impl PartialEq for Waiter
impl StructuralPartialEq for Waiter
Auto Trait Implementations§
impl Freeze for Waiter
impl RefUnwindSafe for Waiter
impl Send for Waiter
impl Sync for Waiter
impl Unpin for Waiter
impl UnwindSafe for Waiter
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