use serde::{Deserialize, Serialize};
use super::Reference;
use crate::Oid;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CasUpdate {
pub old: Oid,
pub new: Oid,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum Output {
ToPath {
to_path: String,
#[serde(skip_serializing_if = "Option::is_none", default)]
message: Option<String>,
},
Ref {
#[serde(rename = "ref")]
ref_: Reference,
},
Cas { cas: CasUpdate },
ToRef { to_ref: Reference },
Snapshot { snapshot: bool },
Flush { flush: bool },
}