pub struct DoctorWebhookEndpoint {
pub name: String,
pub url: String,
pub format: DoctorWebhookFormat,
pub on_transitions: Vec<String>,
pub retry_max: u32,
pub retry_backoff_ms: u64,
pub timeout_ms: u64,
pub enabled: bool,
pub routing_key_env: Option<String>,
pub bearer_token_env: Option<String>,
pub signing_secret_env: Option<String>,
}Expand description
A single webhook destination for verdict transitions.
SECRETS ARE NEVER STORED HERE. Routing keys, bearer tokens, and signing
secrets are referenced by the name of an environment variable
(*_env fields) read at dispatch time. There is deliberately no
secret / routing_key / bearer_token / password field on this
struct (enforced by test_no_inline_secret_fields).
Fields§
§name: StringOperator-facing name (appears in logs and the audit trail).
url: StringDestination URL.
format: DoctorWebhookFormatPayload format.
on_transitions: Vec<String>Transition predicates that arm this endpoint. Empty = never fire.
Supported: healthy_to_degraded, degraded_to_failing,
any_to_failing, any_to_degraded, failing_to_healthy,
degraded_to_healthy, any_to_healthy, any_to_any.
retry_max: u32Maximum retry attempts after the first try fails.
retry_backoff_ms: u64Base backoff between retries (milliseconds); doubles each attempt.
timeout_ms: u64Per-attempt request timeout (milliseconds).
enabled: boolPer-endpoint kill switch.
routing_key_env: Option<String>Name of the env var holding the PagerDuty Events API routing key.
Required for format = "pagerduty". Read at runtime, never stored.
bearer_token_env: Option<String>Name of the env var holding a bearer token sent as
Authorization: Bearer <token>. Read at runtime, never stored.
signing_secret_env: Option<String>Name of the env var holding an HMAC-SHA256 signing secret. When set,
the body is signed and the signature sent as X-RCH-Signature: sha256=<hex>. Read at runtime, never stored.
Trait Implementations§
Source§impl Clone for DoctorWebhookEndpoint
impl Clone for DoctorWebhookEndpoint
Source§impl Debug for DoctorWebhookEndpoint
impl Debug for DoctorWebhookEndpoint
Source§impl<'de> Deserialize<'de> for DoctorWebhookEndpoint
impl<'de> Deserialize<'de> for DoctorWebhookEndpoint
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>,
impl Eq for DoctorWebhookEndpoint
Source§impl PartialEq for DoctorWebhookEndpoint
impl PartialEq for DoctorWebhookEndpoint
Source§impl Serialize for DoctorWebhookEndpoint
impl Serialize for DoctorWebhookEndpoint
impl StructuralPartialEq for DoctorWebhookEndpoint
Auto Trait Implementations§
impl Freeze for DoctorWebhookEndpoint
impl RefUnwindSafe for DoctorWebhookEndpoint
impl Send for DoctorWebhookEndpoint
impl Sync for DoctorWebhookEndpoint
impl Unpin for DoctorWebhookEndpoint
impl UnsafeUnpin for DoctorWebhookEndpoint
impl UnwindSafe for DoctorWebhookEndpoint
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.