1#[allow(clippy::derive_partial_eq_without_eq)]
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct HostMatch {
5 #[prost(oneof = "host_match::Match", tags = "1, 2")]
6 pub r#match: ::core::option::Option<host_match::Match>,
7}
8pub mod host_match {
10 #[allow(clippy::derive_partial_eq_without_eq)]
12 #[derive(Clone, PartialEq, ::prost::Message)]
13 pub struct Suffix {
14 #[prost(string, repeated, tag = "1")]
15 pub reverse_labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
16 }
17 #[allow(clippy::derive_partial_eq_without_eq)]
18 #[derive(Clone, PartialEq, ::prost::Oneof)]
19 pub enum Match {
20 #[prost(string, tag = "1")]
22 Exact(::prost::alloc::string::String),
23 #[prost(message, tag = "2")]
25 Suffix(Suffix),
26 }
27}
28#[allow(clippy::derive_partial_eq_without_eq)]
30#[derive(Clone, PartialEq, ::prost::Message)]
31pub struct HttpRouteMatch {
32 #[prost(message, optional, tag = "1")]
34 pub path: ::core::option::Option<PathMatch>,
35 #[prost(message, repeated, tag = "2")]
39 pub headers: ::prost::alloc::vec::Vec<HeaderMatch>,
40 #[prost(message, repeated, tag = "3")]
44 pub query_params: ::prost::alloc::vec::Vec<QueryParamMatch>,
45 #[prost(message, optional, tag = "4")]
47 pub method: ::core::option::Option<super::http_types::HttpMethod>,
48}
49#[allow(clippy::derive_partial_eq_without_eq)]
51#[derive(Clone, PartialEq, ::prost::Message)]
52pub struct PathMatch {
53 #[prost(oneof = "path_match::Kind", tags = "1, 2, 3")]
54 pub kind: ::core::option::Option<path_match::Kind>,
55}
56pub mod path_match {
58 #[allow(clippy::derive_partial_eq_without_eq)]
59 #[derive(Clone, PartialEq, ::prost::Oneof)]
60 pub enum Kind {
61 #[prost(string, tag = "1")]
62 Exact(::prost::alloc::string::String),
63 #[prost(string, tag = "2")]
64 Prefix(::prost::alloc::string::String),
65 #[prost(string, tag = "3")]
66 Regex(::prost::alloc::string::String),
67 }
68}
69#[allow(clippy::derive_partial_eq_without_eq)]
71#[derive(Clone, PartialEq, ::prost::Message)]
72pub struct HeaderMatch {
73 #[prost(string, tag = "1")]
74 pub name: ::prost::alloc::string::String,
75 #[prost(oneof = "header_match::Value", tags = "2, 3")]
76 pub value: ::core::option::Option<header_match::Value>,
77}
78pub mod header_match {
80 #[allow(clippy::derive_partial_eq_without_eq)]
81 #[derive(Clone, PartialEq, ::prost::Oneof)]
82 pub enum Value {
83 #[prost(bytes, tag = "2")]
84 Exact(::prost::alloc::vec::Vec<u8>),
85 #[prost(string, tag = "3")]
86 Regex(::prost::alloc::string::String),
87 }
88}
89#[allow(clippy::derive_partial_eq_without_eq)]
91#[derive(Clone, PartialEq, ::prost::Message)]
92pub struct QueryParamMatch {
93 #[prost(string, tag = "1")]
94 pub name: ::prost::alloc::string::String,
95 #[prost(oneof = "query_param_match::Value", tags = "2, 3")]
96 pub value: ::core::option::Option<query_param_match::Value>,
97}
98pub mod query_param_match {
100 #[allow(clippy::derive_partial_eq_without_eq)]
101 #[derive(Clone, PartialEq, ::prost::Oneof)]
102 pub enum Value {
103 #[prost(string, tag = "2")]
104 Exact(::prost::alloc::string::String),
105 #[prost(string, tag = "3")]
106 Regex(::prost::alloc::string::String),
107 }
108}
109#[allow(clippy::derive_partial_eq_without_eq)]
114#[derive(Clone, PartialEq, ::prost::Message)]
115pub struct RequestHeaderModifier {
116 #[prost(message, optional, tag = "1")]
119 pub add: ::core::option::Option<super::http_types::Headers>,
120 #[prost(message, optional, tag = "2")]
123 pub set: ::core::option::Option<super::http_types::Headers>,
124 #[prost(string, repeated, tag = "3")]
126 pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
127}
128#[allow(clippy::derive_partial_eq_without_eq)]
133#[derive(Clone, PartialEq, ::prost::Message)]
134pub struct ResponseHeaderModifier {
135 #[prost(message, optional, tag = "1")]
138 pub add: ::core::option::Option<super::http_types::Headers>,
139 #[prost(message, optional, tag = "2")]
142 pub set: ::core::option::Option<super::http_types::Headers>,
143 #[prost(string, repeated, tag = "3")]
145 pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
146}
147#[allow(clippy::derive_partial_eq_without_eq)]
150#[derive(Clone, PartialEq, ::prost::Message)]
151pub struct RequestRedirect {
152 #[prost(message, optional, tag = "1")]
155 pub scheme: ::core::option::Option<super::http_types::Scheme>,
156 #[prost(string, tag = "2")]
159 pub host: ::prost::alloc::string::String,
160 #[prost(message, optional, tag = "3")]
164 pub path: ::core::option::Option<PathModifier>,
165 #[prost(uint32, tag = "4")]
167 pub port: u32,
168 #[prost(uint32, tag = "5")]
171 pub status: u32,
172}
173#[allow(clippy::derive_partial_eq_without_eq)]
175#[derive(Clone, PartialEq, ::prost::Message)]
176pub struct PathModifier {
177 #[prost(oneof = "path_modifier::Replace", tags = "1, 2")]
178 pub replace: ::core::option::Option<path_modifier::Replace>,
179}
180pub mod path_modifier {
182 #[allow(clippy::derive_partial_eq_without_eq)]
183 #[derive(Clone, PartialEq, ::prost::Oneof)]
184 pub enum Replace {
185 #[prost(string, tag = "1")]
187 Full(::prost::alloc::string::String),
188 #[prost(string, tag = "2")]
195 Prefix(::prost::alloc::string::String),
196 }
197}
198#[allow(clippy::derive_partial_eq_without_eq)]
200#[derive(Clone, PartialEq, ::prost::Message)]
201pub struct HttpFailureInjector {
202 #[prost(uint32, tag = "1")]
204 pub status: u32,
205 #[prost(string, tag = "2")]
207 pub message: ::prost::alloc::string::String,
208 #[prost(message, optional, tag = "3")]
211 pub ratio: ::core::option::Option<Ratio>,
212}
213#[allow(clippy::derive_partial_eq_without_eq)]
217#[derive(Clone, PartialEq, ::prost::Message)]
218pub struct Ratio {
219 #[prost(uint32, tag = "1")]
220 pub numerator: u32,
221 #[prost(uint32, tag = "2")]
223 pub denominator: u32,
224}
225#[allow(clippy::derive_partial_eq_without_eq)]
226#[derive(Clone, PartialEq, ::prost::Message)]
227pub struct Timeouts {
228 #[prost(message, optional, tag = "1")]
231 pub response: ::core::option::Option<::prost_types::Duration>,
232 #[prost(message, optional, tag = "2")]
235 pub request: ::core::option::Option<::prost_types::Duration>,
236 #[prost(message, optional, tag = "3")]
239 pub idle: ::core::option::Option<::prost_types::Duration>,
240}