#[repr(i32)]pub enum WebhookFailureReason {
Unspecified = 0,
ClientError = 1,
ServerErrorMaxRetriesExceeded = 2,
TimeoutMaxRetriesExceeded = 3,
OverallTimeoutExceeded = 4,
NetworkErrorMaxRetriesExceeded = 5,
PayloadError = 6,
RedirectLoop = 7,
IntegrationConfigError = 8,
}Expand description
Categorizes why a webhook success condition failed. This enum represents terminal failure states - failures that caused the condition to permanently fail.
Variants§
Unspecified = 0
Unspecified/unknown failure reason. Should not be used in normal operation.
ClientError = 1
External system returned 4XX client error (permanent failure, no retry attempted). Indicates misconfiguration or invalid request that won’t succeed on retry. Common causes: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found.
ServerErrorMaxRetriesExceeded = 2
External system returned 5XX server error and max retries were exhausted. Server errors are typically transient and retries were attempted. Common causes: 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable.
TimeoutMaxRetriesExceeded = 3
Individual HTTP request timed out and max retries were exhausted. The external system didn’t respond within the per-request timeout window.
OverallTimeoutExceeded = 4
Overall condition timeout exceeded before receiving successful 2xx response. The webhook delivery config’s timeout_seconds was reached. This can occur even if individual requests completed (returned responses) but took too long cumulatively between retry delays, without receiving 2xx.
NetworkErrorMaxRetriesExceeded = 5
Network-level failure prevented request delivery and max retries were exhausted. Common causes: DNS resolution failure, connection refused, TLS handshake failure.
PayloadError = 6
Template rendering or payload serialization failed (permanent failure). The payload_template could not be rendered to valid JSON. Common causes: Invalid Handlebars syntax, circular references, invalid JSON after rendering.
RedirectLoop = 7
Too many redirects encountered (typically indicates redirect loop). Follows HTTP standard - most clients limit to 20 redirects.
IntegrationConfigError = 8
Integration configuration is invalid or missing required fields. Common causes: Integration RID not found, missing URL, invalid HMAC config.
Implementations§
Source§impl WebhookFailureReason
impl WebhookFailureReason
Sourcepub fn is_valid(value: i32) -> bool
pub fn is_valid(value: i32) -> bool
Returns true if value is a variant of WebhookFailureReason.
Sourcepub fn from_i32(value: i32) -> Option<WebhookFailureReason>
👎Deprecated: Use the TryFrom<i32> implementation instead
pub fn from_i32(value: i32) -> Option<WebhookFailureReason>
Converts an i32 to a WebhookFailureReason, or None if value is not a valid variant.
Source§impl WebhookFailureReason
impl WebhookFailureReason
Sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
Sourcepub fn from_str_name(value: &str) -> Option<Self>
pub fn from_str_name(value: &str) -> Option<Self>
Creates an enum from field names used in the ProtoBuf definition.
Trait Implementations§
Source§impl Clone for WebhookFailureReason
impl Clone for WebhookFailureReason
Source§fn clone(&self) -> WebhookFailureReason
fn clone(&self) -> WebhookFailureReason
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WebhookFailureReason
impl Debug for WebhookFailureReason
Source§impl Default for WebhookFailureReason
impl Default for WebhookFailureReason
Source§fn default() -> WebhookFailureReason
fn default() -> WebhookFailureReason
Source§impl From<WebhookFailureReason> for i32
impl From<WebhookFailureReason> for i32
Source§fn from(value: WebhookFailureReason) -> i32
fn from(value: WebhookFailureReason) -> i32
Source§impl Hash for WebhookFailureReason
impl Hash for WebhookFailureReason
Source§impl Ord for WebhookFailureReason
impl Ord for WebhookFailureReason
Source§fn cmp(&self, other: &WebhookFailureReason) -> Ordering
fn cmp(&self, other: &WebhookFailureReason) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for WebhookFailureReason
impl PartialEq for WebhookFailureReason
Source§impl PartialOrd for WebhookFailureReason
impl PartialOrd for WebhookFailureReason
Source§impl TryFrom<i32> for WebhookFailureReason
impl TryFrom<i32> for WebhookFailureReason
Source§type Error = UnknownEnumValue
type Error = UnknownEnumValue
Source§fn try_from(value: i32) -> Result<WebhookFailureReason, UnknownEnumValue>
fn try_from(value: i32) -> Result<WebhookFailureReason, UnknownEnumValue>
impl Copy for WebhookFailureReason
impl Eq for WebhookFailureReason
impl StructuralPartialEq for WebhookFailureReason
Auto Trait Implementations§
impl Freeze for WebhookFailureReason
impl RefUnwindSafe for WebhookFailureReason
impl Send for WebhookFailureReason
impl Sync for WebhookFailureReason
impl Unpin for WebhookFailureReason
impl UnwindSafe for WebhookFailureReason
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,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request