pub struct PatchSyncIn {
pub actor: Option<String>,
pub direction: Option<String>,
pub id: Option<String>,
pub kind: Option<String>,
pub source: Option<Box<EndpointReq>>,
pub target: Option<Box<EndpointReq>>,
pub trigger: Option<String>,
}Fields§
§actor: Option<String>Actor is the loop-guard identity the sync writes as. Omitted, the stored actor stands.
direction: Option<String>Direction is both, pull, push or off. Omitted, the stored direction stands.
id: Option<String>ID is the sync to update, from the path.
kind: Option<String>Kind names a different kind of sync, and is refused, for the same reason.
source: Option<Box<EndpointReq>>Source, Target and Kind are DECLARED HERE IN ORDER TO BE REFUSED. They are immutable by design — re-pointing a sync is a delete and a create, so a link can never silently start syncing somewhere else — but an UNDECLARED field is dropped by the binder before the handler sees it, so a request asking to repoint answered 200, changed nothing, and said nothing. The operator then believes a moved repository has been repointed and it has not. Live: a sync still naming github.com/hanzoai/cloud after the repository moved to hanzo-inc/cloud failed every reconcile with "Repository not found", and the PATCH that appeared to fix it did nothing at all. Declaring the fields is what lets the documented immutability actually answer. Source names a new upstream, and is refused. Delete this sync and create the one you want.
target: Option<Box<EndpointReq>>Target names a new native repository, and is refused, for the same reason.
trigger: Option<String>Trigger is webhook, poll or manual. Omitted, the stored trigger stands.
Implementations§
Source§impl PatchSyncIn
impl PatchSyncIn
pub fn new() -> PatchSyncIn
Trait Implementations§
Source§impl Clone for PatchSyncIn
impl Clone for PatchSyncIn
Source§fn clone(&self) -> PatchSyncIn
fn clone(&self) -> PatchSyncIn
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more