pub enum ConcurrencyPolicy {
Forbid,
Allow,
Replace,
}Expand description
What to do when a previous run is still in flight. Closed enum, default Forbid. ADR §4.1 (G5/G18).
use kopiur_api::ConcurrencyPolicy;
// The safe default: never let runs pile up.
assert_eq!(ConcurrencyPolicy::default(), ConcurrencyPolicy::Forbid);
// Serializes as the bare PascalCase string the CRD schema expects.
assert_eq!(
serde_json::to_value(ConcurrencyPolicy::Replace).unwrap(),
serde_json::json!("Replace"),
);Variants§
Forbid
Skip the new run; surface a condition rather than pile up (default).
Allow
Allow the new run to start alongside the in-flight one.
Replace
Cancel the in-flight run and start the new one in its place.
Trait Implementations§
Source§impl Clone for ConcurrencyPolicy
impl Clone for ConcurrencyPolicy
Source§fn clone(&self) -> ConcurrencyPolicy
fn clone(&self) -> ConcurrencyPolicy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConcurrencyPolicy
impl Debug for ConcurrencyPolicy
Source§impl Default for ConcurrencyPolicy
impl Default for ConcurrencyPolicy
Source§fn default() -> ConcurrencyPolicy
fn default() -> ConcurrencyPolicy
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ConcurrencyPolicy
impl<'de> Deserialize<'de> for ConcurrencyPolicy
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for ConcurrencyPolicy
impl JsonSchema for ConcurrencyPolicy
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for ConcurrencyPolicy
impl PartialEq for ConcurrencyPolicy
Source§impl Serialize for ConcurrencyPolicy
impl Serialize for ConcurrencyPolicy
impl Copy for ConcurrencyPolicy
impl Eq for ConcurrencyPolicy
impl StructuralPartialEq for ConcurrencyPolicy
Auto Trait Implementations§
impl Freeze for ConcurrencyPolicy
impl RefUnwindSafe for ConcurrencyPolicy
impl Send for ConcurrencyPolicy
impl Sync for ConcurrencyPolicy
impl Unpin for ConcurrencyPolicy
impl UnsafeUnpin for ConcurrencyPolicy
impl UnwindSafe for ConcurrencyPolicy
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§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> 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>
Converts
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>
Converts
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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ServiceExt for T
impl<T> ServiceExt for T
§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more