pub struct FormationDocument {
pub name: String,
pub coordinator: String,
pub members: Vec<FormationMember>,
}Expand description
Subset of the formation-v1 document the admission gate cares about.
Additional fields are tolerated and preserved verbatim in
FormationRecord::document (via the captured serde_json::Value).
Wire shapes accepted. Operators may submit either:
- Flat (server-internal canonical form):
{ "name": "...", "coordinator": "...", "members": [ { "id": "...", "authorizedBy": "..." } ] } - Kubectl-style (matches
contracts/schemas/formation-v1.schema.json):{ "apiVersion": "cellos.dev/v1", "kind": "Formation", "metadata": { "name": "..." }, "spec": { "coordinator": "...", "members": [ { "name": "...", "authorizedBy": "..." } ] } }
normalize_formation_document runs first; everything below operates on
the canonical flat shape. See ADR-0010 §Enforcement for why admission
re-runs server-side regardless of client behaviour.
Fields§
§name: String§coordinator: String§members: Vec<FormationMember>Trait Implementations§
Source§impl Debug for FormationDocument
impl Debug for FormationDocument
Source§impl<'de> Deserialize<'de> for FormationDocument
impl<'de> Deserialize<'de> for FormationDocument
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
Auto Trait Implementations§
impl Freeze for FormationDocument
impl RefUnwindSafe for FormationDocument
impl Send for FormationDocument
impl Sync for FormationDocument
impl Unpin for FormationDocument
impl UnsafeUnpin for FormationDocument
impl UnwindSafe for FormationDocument
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