pub struct Waiter {
pub create_time: Option<DateTime<Utc>>,
pub done: Option<bool>,
pub error: Option<Status>,
pub failure: Option<EndCondition>,
pub name: Option<String>,
pub success: Option<EndCondition>,
pub timeout: Option<Duration>,
}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 indicating 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.
§Activities
This type is used in activities, which are methods you may call on this type or where this type is involved in. The list links the activity name, along with information about where it is used (one of request and response).
- configs waiters create projects (request)
- configs waiters get projects (response)
Fields§
§create_time: Option<DateTime<Utc>>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: Option<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.
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.
name: Option<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.
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.
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.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Waiter
impl<'de> Deserialize<'de> for Waiter
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>,
impl RequestValue for Waiter
impl ResponseResult 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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