pub struct BridgeManifest {
pub manifest_version: u32,
pub name: String,
pub replication_factor: u32,
pub topics: Vec<TopicSpec>,
}Expand description
The Bridge manifest.
Fields§
§manifest_version: u32Manifest format version.
name: StringDeployment name (region/enclave label).
replication_factor: u32Broker replication factor for managed Kafka/NATS deployments.
topics: Vec<TopicSpec>Topic declarations.
Implementations§
Source§impl BridgeManifest
impl BridgeManifest
Sourcepub fn default_for(name: &str) -> Self
pub fn default_for(name: &str) -> Self
The default manifest covering every OCSF event class topic.
Sourcepub fn from_yaml(yaml: &str) -> Result<Self, ManifestError>
pub fn from_yaml(yaml: &str) -> Result<Self, ManifestError>
Parse from YAML.
Enforces a 256 KiB input cap and rejects any document containing
YAML anchors (&) or aliases (*). Together these close the
billion-laughs attack surface: serde_yaml 0.9 expands aliases
eagerly with no depth or expansion cap, so a maliciously crafted
manifest of a few KiB would OOM the process at parse time.
Legitimate bridge manifests never need aliases — reject rather
than trying to bound expansion, which would require a fork.
Sourcepub fn to_yaml(&self) -> Result<String, ManifestError>
pub fn to_yaml(&self) -> Result<String, ManifestError>
Serialize to YAML.
Sourcepub fn validate(&self) -> Result<(), ManifestError>
pub fn validate(&self) -> Result<(), ManifestError>
Validate structural invariants.
Trait Implementations§
Source§impl Clone for BridgeManifest
impl Clone for BridgeManifest
Source§fn clone(&self) -> BridgeManifest
fn clone(&self) -> BridgeManifest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BridgeManifest
impl Debug for BridgeManifest
Source§impl<'de> Deserialize<'de> for BridgeManifest
impl<'de> Deserialize<'de> for BridgeManifest
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
Source§impl PartialEq for BridgeManifest
impl PartialEq for BridgeManifest
Source§fn eq(&self, other: &BridgeManifest) -> bool
fn eq(&self, other: &BridgeManifest) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for BridgeManifest
impl Serialize for BridgeManifest
impl Eq for BridgeManifest
impl StructuralPartialEq for BridgeManifest
Auto Trait Implementations§
impl Freeze for BridgeManifest
impl RefUnwindSafe for BridgeManifest
impl Send for BridgeManifest
impl Sync for BridgeManifest
impl Unpin for BridgeManifest
impl UnsafeUnpin for BridgeManifest
impl UnwindSafe for BridgeManifest
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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