Struct google_api_proto::google::devtools::remoteworkers::v1test2::Lease
source · pub struct Lease {
pub id: String,
pub payload: Option<Any>,
pub result: Option<Any>,
pub state: i32,
pub status: Option<Status>,
pub requirements: Option<Worker>,
pub expire_time: Option<Timestamp>,
pub assignment: String,
pub inline_assignment: Option<Any>,
}
Expand description
A Lease is a lease that the scheduler has assigned to this bot. If the bot notices (by UpdateBotSession) that it has any leases in the PENDING state, it should call UpdateBotSession to put the leases into the ACTIVE state and start executing their assignments.
All fields in this message are output-only, except the state
and status
fields. Note that repeated fields can only be updated as a unit, so on every
update the bot must provide an update for all the leases the server expects
it to report on.
The scheduler should ensure that all leases scheduled to a bot can actually be accepted, but race conditions may occur. In such cases, the bot should attempt to accept the leases in the order they are listed by the server, to allow the server to control priorities.
The server will remove COMPLETED leases from time to time, after which the bot shouldn’t report on them any more (the server will ignore superfluous COMPLETED records).
Fields§
§id: String
A short string uniquely identifing the lease within this bot session.
payload: Option<Any>
The actual work to be performed, if any. May be omitted by the server if
the lease is not in the PENDING
state. The message must be meaningful to
the bot. Output only (must only be set by the server).
result: Option<Any>
Any result the bot wishes to provide about the lease. Must not be changed
after the first call with the lease in the COMPLETED
or CANCELLED
state. Input only (must only be set by the bot, will not be echoed by the
server).
state: i32
The state of the lease. See LeaseState for more information.
status: Option<Status>
The final status of the lease (should be populated by the bot if the state
is completed). This is the status of the lease, not of any task represented
by the lease. For example, if the bot could not accept the lease because it
asked for some resource the bot didn’t have, this status will be
FAILED_PRECONDITION. But if the assignment in the lease didn’t execute
correctly, this field will be OK
while the failure of the assignment must
communicated via the result
field.
requirements: Option<Worker>
The requirements that are being claimed by this lease. This field may be omitted by the server if the lease is not pending.
expire_time: Option<Timestamp>
The time at which this lease expires. The server may extend this over time, but due to race conditions, the bot is not required to respect any expiry date except the first one.
assignment: String
DEPRECATED. The assignment should be provided to the bot via the payload
field. Clients that wish to use a simple name (such as a queue of work
provided elsewhere) should define a custom message type and encode it into
payload
.
inline_assignment: Option<Any>
DEPRECATED. Use payload
instead.
Implementations§
source§impl Lease
impl Lease
sourcepub fn state(&self) -> LeaseState
pub fn state(&self) -> LeaseState
Returns the enum value of state
, or the default if the field is set to an invalid enum value.
sourcepub fn set_state(&mut self, value: LeaseState)
pub fn set_state(&mut self, value: LeaseState)
Sets state
to the provided enum value.
Trait Implementations§
source§impl Message for Lease
impl Message for Lease
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 Lease
impl PartialEq for Lease
impl StructuralPartialEq for Lease
Auto Trait Implementations§
impl Freeze for Lease
impl RefUnwindSafe for Lease
impl Send for Lease
impl Sync for Lease
impl Unpin for Lease
impl UnwindSafe for Lease
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