#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HostMatch {
#[prost(oneof = "host_match::Match", tags = "1, 2")]
pub r#match: ::core::option::Option<host_match::Match>,
}
pub mod host_match {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Suffix {
#[prost(string, repeated, tag = "1")]
pub reverse_labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Match {
#[prost(string, tag = "1")]
Exact(::prost::alloc::string::String),
#[prost(message, tag = "2")]
Suffix(Suffix),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HttpRouteMatch {
#[prost(message, optional, tag = "1")]
pub path: ::core::option::Option<PathMatch>,
#[prost(message, repeated, tag = "2")]
pub headers: ::prost::alloc::vec::Vec<HeaderMatch>,
#[prost(message, repeated, tag = "3")]
pub query_params: ::prost::alloc::vec::Vec<QueryParamMatch>,
#[prost(message, optional, tag = "4")]
pub method: ::core::option::Option<super::http_types::HttpMethod>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PathMatch {
#[prost(oneof = "path_match::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<path_match::Kind>,
}
pub mod path_match {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
Exact(::prost::alloc::string::String),
#[prost(string, tag = "2")]
Prefix(::prost::alloc::string::String),
#[prost(string, tag = "3")]
Regex(::prost::alloc::string::String),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeaderMatch {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(oneof = "header_match::Value", tags = "2, 3")]
pub value: ::core::option::Option<header_match::Value>,
}
pub mod header_match {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(bytes, tag = "2")]
Exact(::prost::alloc::vec::Vec<u8>),
#[prost(string, tag = "3")]
Regex(::prost::alloc::string::String),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryParamMatch {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(oneof = "query_param_match::Value", tags = "2, 3")]
pub value: ::core::option::Option<query_param_match::Value>,
}
pub mod query_param_match {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(string, tag = "2")]
Exact(::prost::alloc::string::String),
#[prost(string, tag = "3")]
Regex(::prost::alloc::string::String),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RequestHeaderModifier {
#[prost(message, optional, tag = "1")]
pub add: ::core::option::Option<super::http_types::Headers>,
#[prost(message, optional, tag = "2")]
pub set: ::core::option::Option<super::http_types::Headers>,
#[prost(string, repeated, tag = "3")]
pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResponseHeaderModifier {
#[prost(message, optional, tag = "1")]
pub add: ::core::option::Option<super::http_types::Headers>,
#[prost(message, optional, tag = "2")]
pub set: ::core::option::Option<super::http_types::Headers>,
#[prost(string, repeated, tag = "3")]
pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RequestRedirect {
#[prost(message, optional, tag = "1")]
pub scheme: ::core::option::Option<super::http_types::Scheme>,
#[prost(string, tag = "2")]
pub host: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub path: ::core::option::Option<PathModifier>,
#[prost(uint32, tag = "4")]
pub port: u32,
#[prost(uint32, tag = "5")]
pub status: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PathModifier {
#[prost(oneof = "path_modifier::Replace", tags = "1, 2")]
pub replace: ::core::option::Option<path_modifier::Replace>,
}
pub mod path_modifier {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Replace {
#[prost(string, tag = "1")]
Full(::prost::alloc::string::String),
#[prost(string, tag = "2")]
Prefix(::prost::alloc::string::String),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HttpFailureInjector {
#[prost(uint32, tag = "1")]
pub status: u32,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub ratio: ::core::option::Option<Ratio>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ratio {
#[prost(uint32, tag = "1")]
pub numerator: u32,
#[prost(uint32, tag = "2")]
pub denominator: u32,
}