pub struct Handler {Show 13 fields
pub abort_timeout: Option<u64>,
pub documentation: Option<String>,
pub enable_lazy_state: Option<bool>,
pub idempotency_retention: Option<u64>,
pub inactivity_timeout: Option<u64>,
pub ingress_private: Option<bool>,
pub input: Option<InputPayload>,
pub journal_retention: Option<u64>,
pub metadata: HashMap<String, String>,
pub name: HandlerName,
pub output: Option<OutputPayload>,
pub ty: Option<HandlerType>,
pub workflow_completion_retention: Option<u64>,
}
Expand description
Handler
JSON schema
{
"title": "Handler",
"type": "object",
"required": [
"name"
],
"properties": {
"abortTimeout": {
"description": "Abort timeout duration, expressed in milliseconds.",
"type": "integer",
"minimum": 0.0
},
"documentation": {
"description": "Documentation for this handler definition. No format is enforced, but generally Markdown is assumed.",
"type": "string"
},
"enableLazyState": {
"description": "If true, lazy state is enabled.",
"type": "boolean"
},
"idempotencyRetention": {
"description": "Idempotency retention duration, expressed in milliseconds. This is NOT VALID when HandlerType == WORKFLOW",
"type": "integer",
"minimum": 0.0
},
"inactivityTimeout": {
"description": "Inactivity timeout duration, expressed in milliseconds.",
"type": "integer",
"minimum": 0.0
},
"ingressPrivate": {
"description": "If true, the service cannot be invoked from the HTTP nor Kafka ingress.",
"type": "boolean"
},
"input": {
"title": "InputPayload",
"description": "Description of an input payload. This will be used by Restate to validate incoming requests.",
"type": "object",
"properties": {
"contentType": {
"description": "Content type of the input. It can accept wildcards, in the same format as the 'Accept' header. When this field is unset, it implies emptiness, meaning no content-type/body is expected.",
"type": "string"
},
"jsonSchema": {},
"required": {
"description": "If true, a body MUST be sent with a content-type, even if the body length is zero.",
"type": "boolean"
}
},
"additionalProperties": false
},
"journalRetention": {
"description": "Journal retention duration, expressed in milliseconds.",
"type": "integer",
"minimum": 0.0
},
"metadata": {
"description": "Custom metadata of this handler definition. This metadata is shown on the Admin API when querying the service/handler definition.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string",
"pattern": "^([a-zA-Z]|_[a-zA-Z0-9])[a-zA-Z0-9_]*$"
},
"output": {
"title": "OutputPayload",
"description": "Description of an output payload.",
"type": "object",
"properties": {
"contentType": {
"description": "Content type set on output. This will be used by Restate to set the output content type at the ingress.",
"type": "string"
},
"jsonSchema": {},
"setContentTypeIfEmpty": {
"description": "If true, the specified content-type is set even if the output is empty.",
"type": "boolean"
}
},
"additionalProperties": false
},
"ty": {
"title": "HandlerType",
"description": "If unspecified, defaults to EXCLUSIVE for Virtual Object or WORKFLOW for Workflows. This should be unset for Services.",
"enum": [
"WORKFLOW",
"EXCLUSIVE",
"SHARED"
]
},
"workflowCompletionRetention": {
"description": "Workflow completion retention duration, expressed in milliseconds. This is valid ONLY when HandlerType == WORKFLOW",
"type": "integer",
"minimum": 0.0
}
},
"additionalProperties": false
}
Fields§
§abort_timeout: Option<u64>
Abort timeout duration, expressed in milliseconds.
documentation: Option<String>
Documentation for this handler definition. No format is enforced, but generally Markdown is assumed.
enable_lazy_state: Option<bool>
If true, lazy state is enabled.
idempotency_retention: Option<u64>
Idempotency retention duration, expressed in milliseconds. This is NOT VALID when HandlerType == WORKFLOW
inactivity_timeout: Option<u64>
Inactivity timeout duration, expressed in milliseconds.
ingress_private: Option<bool>
If true, the service cannot be invoked from the HTTP nor Kafka ingress.
input: Option<InputPayload>
§journal_retention: Option<u64>
Journal retention duration, expressed in milliseconds.
metadata: HashMap<String, String>
Custom metadata of this handler definition. This metadata is shown on the Admin API when querying the service/handler definition.
name: HandlerName
§output: Option<OutputPayload>
§ty: Option<HandlerType>
If unspecified, defaults to EXCLUSIVE for Virtual Object or WORKFLOW for Workflows. This should be unset for Services.
workflow_completion_retention: Option<u64>
Workflow completion retention duration, expressed in milliseconds. This is valid ONLY when HandlerType == WORKFLOW
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Handler
impl<'de> Deserialize<'de> for Handler
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>,
Auto Trait Implementations§
impl Freeze for Handler
impl RefUnwindSafe for Handler
impl Send for Handler
impl Sync for Handler
impl Unpin for Handler
impl UnwindSafe for Handler
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