relay_event_schema/protocol/
relay_info.rs

1use relay_protocol::{Annotated, Empty, FromValue, IntoValue, Object, Value};
2
3use crate::processor::ProcessValue;
4
5/// The Relay Interface describes a Sentry Relay and its configuration used to process an event during ingest.
6#[derive(Clone, Debug, Default, PartialEq, Empty, FromValue, IntoValue, ProcessValue)]
7pub struct RelayInfo {
8    /// Version of the Relay. Required.
9    #[metastructure(required = true, max_chars = 256, max_chars_allowance = 20)]
10    pub version: Annotated<String>,
11
12    /// Public key of the Relay.
13    #[metastructure(required = false, max_chars = 256, max_chars_allowance = 20)]
14    pub public_key: Annotated<String>,
15
16    /// Additional arbitrary fields for forwards compatibility.
17    #[metastructure(additional_properties)]
18    pub other: Object<Value>,
19}