/*
* Hanzo Cloud API
*
* The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
*
* The version of the OpenAPI document: v1
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ControlResult {
/// Command is the verb that was recorded: pause, resume, stop or message.
#[serde(rename = "command", skip_serializing_if = "Option::is_none")]
pub command: Option<String>,
/// Event is the durable control event the command became. The intent is recorded whether or not it reached an engine, which is what makes a stream-consuming surface able to act on it.
#[serde(rename = "event", skip_serializing_if = "Option::is_none")]
pub event: Option<Box<models::EventView>>,
/// Forwarded is whether the command also reached the durable-execution engine. FALSE IS NOT A FAILURE: a session with no workflow link, or a deployment with no tasks backend, is record-only by design. A forward that was attempted and failed is a 502, never a false here.
#[serde(rename = "forwarded", skip_serializing_if = "Option::is_none")]
pub forwarded: Option<bool>,
}
impl ControlResult {
pub fn new() -> ControlResult {
ControlResult {
command: None,
event: None,
forwarded: None,
}
}
}