@@ -10,6 +10,13 @@ mod prelude {
1010}
1111use self :: prelude:: * ;
1212#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
13+ pub enum GRPCFilterType {
14+ ResponseHeaderModifier ,
15+ RequestHeaderModifier ,
16+ RequestMirror ,
17+ ExtensionRef ,
18+ }
19+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
1320pub enum GatewayDefaultScope {
1421 All ,
1522 None ,
@@ -20,67 +27,74 @@ pub enum GatewayTlsFrontendDefaultValidationMode {
2027 AllowInsecureFallback ,
2128}
2229#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
23- pub enum GrpcRouteRulesBackendRefsFiltersType {
24- ResponseHeaderModifier ,
30+ pub enum HTTPFilterType {
2531 RequestHeaderModifier ,
32+ ResponseHeaderModifier ,
2633 RequestMirror ,
34+ RequestRedirect ,
35+ #[ serde( rename = "URLRewrite" ) ]
36+ UrlRewrite ,
2737 ExtensionRef ,
38+ #[ serde( rename = "CORS" ) ]
39+ Cors ,
40+ ExternalAuth ,
2841}
2942#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
30- pub enum HttpRouteRulesBackendRefsFiltersExternalAuthProtocol {
43+ pub enum HTTPRouteRulesBackendRefsFiltersExternalAuthProtocol {
3144 #[ serde( rename = "HTTP" ) ]
3245 Http ,
3346 #[ serde( rename = "GRPC" ) ]
3447 Grpc ,
3548}
3649#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
37- pub enum HttpRouteRulesBackendRefsFiltersRequestRedirectPathType {
38- ReplaceFullPath ,
39- ReplacePrefixMatch ,
50+ pub enum HeaderMatchType {
51+ Exact ,
52+ RegularExpression ,
4053}
4154#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
42- pub enum HttpRouteRulesBackendRefsFiltersRequestRedirectScheme {
43- #[ serde( rename = "http" ) ]
44- Http ,
45- #[ serde( rename = "https" ) ]
46- Https ,
55+ pub enum PersistenceCookieConfigLifetime {
56+ Permanent ,
57+ Session ,
4758}
4859#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
49- pub enum HttpRouteRulesBackendRefsFiltersRequestRedirectStatusCode {
60+ pub enum RedirectStatusCode {
5061 #[ serde( rename = "301" ) ]
5162 r#_301,
5263 #[ serde( rename = "302" ) ]
5364 r#_302,
5465}
5566#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
56- pub enum HttpRouteRulesBackendRefsFiltersType {
57- RequestHeaderModifier ,
58- ResponseHeaderModifier ,
59- RequestMirror ,
60- RequestRedirect ,
61- #[ serde( rename = "URLRewrite" ) ]
62- UrlRewrite ,
63- ExtensionRef ,
64- #[ serde( rename = "CORS" ) ]
65- Cors ,
66- ExternalAuth ,
67- }
68- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
69- pub enum HttpRouteRulesMatchesHeadersType {
70- Exact ,
71- RegularExpression ,
67+ pub enum RequestOperationType {
68+ ReplaceFullPath ,
69+ ReplacePrefixMatch ,
7270}
7371#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
74- pub enum HttpRouteRulesSessionPersistenceCookieConfigLifetimeType {
75- Permanent ,
76- Session ,
72+ pub enum RequestRedirectScheme {
73+ #[ serde( rename = "http" ) ]
74+ Http ,
75+ #[ serde( rename = "https" ) ]
76+ Https ,
7777}
7878#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
79- pub enum HttpRouteRulesSessionPersistenceType {
79+ pub enum SessionPersistenceType {
8080 Cookie ,
8181 Header ,
8282}
8383#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
84+ pub struct BackendReference {
85+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
86+ pub group : Option < String > ,
87+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
88+ pub kind : Option < String > ,
89+ pub name : String ,
90+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
91+ pub namespace : Option < String > ,
92+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
93+ pub port : Option < i32 > ,
94+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
95+ pub weight : Option < i32 > ,
96+ }
97+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
8498pub struct BackendTlsClientCertificateReference {
8599 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
86100 pub group : Option < String > ,
@@ -104,25 +118,12 @@ pub struct GatewayInfrastructureParametersReference {
104118 pub name : String ,
105119}
106120#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
107- pub struct HttpRouteParentRefs {
108- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
109- pub group : Option < String > ,
110- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
111- pub kind : Option < String > ,
121+ pub struct HTTPHeader {
112122 pub name : String ,
113- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
114- pub namespace : Option < String > ,
115- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
116- pub port : Option < i32 > ,
117- #[ serde(
118- default ,
119- skip_serializing_if = "Option::is_none" ,
120- rename = "sectionName"
121- ) ]
122- pub section_name : Option < String > ,
123+ pub value : String ,
123124}
124125#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
125- pub struct HttpRouteRulesBackendRefsFiltersExternalAuthBackendRef {
126+ pub struct HTTPRouteRulesBackendRefsFiltersExternalAuthBackendRef {
126127 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
127128 pub group : Option < String > ,
128129 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
@@ -134,12 +135,12 @@ pub struct HttpRouteRulesBackendRefsFiltersExternalAuthBackendRef {
134135 pub port : Option < i32 > ,
135136}
136137#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
137- pub struct HttpRouteRulesBackendRefsFiltersExternalAuthForwardBody {
138+ pub struct HTTPRouteRulesBackendRefsFiltersExternalAuthForwardBody {
138139 #[ serde( default , skip_serializing_if = "Option::is_none" , rename = "maxSize" ) ]
139140 pub max_size : Option < i64 > ,
140141}
141142#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
142- pub struct HttpRouteRulesBackendRefsFiltersExternalAuthGrpc {
143+ pub struct HTTPRouteRulesBackendRefsFiltersExternalAuthGrpc {
143144 #[ serde(
144145 default ,
145146 skip_serializing_if = "Option::is_none" ,
@@ -148,7 +149,7 @@ pub struct HttpRouteRulesBackendRefsFiltersExternalAuthGrpc {
148149 pub allowed_headers : Option < Vec < String > > ,
149150}
150151#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
151- pub struct HttpRouteRulesBackendRefsFiltersExternalAuthHttp {
152+ pub struct HTTPRouteRulesBackendRefsFiltersExternalAuthHttp {
152153 #[ serde(
153154 default ,
154155 skip_serializing_if = "Option::is_none" ,
@@ -165,17 +166,6 @@ pub struct HttpRouteRulesBackendRefsFiltersExternalAuthHttp {
165166 pub path : Option < String > ,
166167}
167168#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
168- pub struct HttpRouteRulesBackendRefsFiltersRequestHeaderModifierAdd {
169- pub name : String ,
170- pub value : String ,
171- }
172- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
173- pub struct HttpRouteRulesBackendRefsFiltersRequestMirrorFraction {
174- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
175- pub denominator : Option < i32 > ,
176- pub numerator : i32 ,
177- }
178- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
179169pub struct Kind {
180170 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
181171 pub group : Option < String > ,
@@ -190,7 +180,7 @@ pub struct ParametersReference {
190180 pub namespace : Option < String > ,
191181}
192182#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
193- pub struct TcpRouteRulesBackendRefs {
183+ pub struct ParentReference {
194184 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
195185 pub group : Option < String > ,
196186 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
@@ -200,6 +190,130 @@ pub struct TcpRouteRulesBackendRefs {
200190 pub namespace : Option < String > ,
201191 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
202192 pub port : Option < i32 > ,
193+ #[ serde(
194+ default ,
195+ skip_serializing_if = "Option::is_none" ,
196+ rename = "sectionName"
197+ ) ]
198+ pub section_name : Option < String > ,
199+ }
200+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
201+ pub struct RequestMirrorFraction {
203202 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
204- pub weight : Option < i32 > ,
203+ pub denominator : Option < i32 > ,
204+ pub numerator : i32 ,
205+ }
206+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
207+ pub struct CommonRouteRule {
208+ #[ serde( rename = "backendRefs" ) ]
209+ pub backend_refs : Vec < BackendReference > ,
210+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
211+ pub name : Option < String > ,
212+ }
213+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
214+ pub struct HeaderMatch {
215+ pub name : String ,
216+ #[ serde( default , skip_serializing_if = "Option::is_none" , rename = "type" ) ]
217+ pub r#type : Option < HeaderMatchType > ,
218+ pub value : String ,
219+ }
220+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
221+ pub struct HeaderModifier {
222+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
223+ pub add : Option < Vec < HTTPHeader > > ,
224+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
225+ pub remove : Option < Vec < String > > ,
226+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
227+ pub set : Option < Vec < HTTPHeader > > ,
228+ }
229+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
230+ pub struct ParentRouteStatus {
231+ pub conditions : Vec < Condition > ,
232+ #[ serde( rename = "controllerName" ) ]
233+ pub controller_name : String ,
234+ #[ serde( rename = "parentRef" ) ]
235+ pub parent_ref : ParentReference ,
236+ }
237+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
238+ pub struct RequestRedirectPath {
239+ #[ serde(
240+ default ,
241+ skip_serializing_if = "Option::is_none" ,
242+ rename = "replaceFullPath"
243+ ) ]
244+ pub replace_full_path : Option < String > ,
245+ #[ serde(
246+ default ,
247+ skip_serializing_if = "Option::is_none" ,
248+ rename = "replacePrefixMatch"
249+ ) ]
250+ pub replace_prefix_match : Option < String > ,
251+ #[ serde( rename = "type" ) ]
252+ pub r#type : RequestOperationType ,
253+ }
254+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
255+ pub struct SessionPersistenceCookieConfig {
256+ #[ serde(
257+ default ,
258+ skip_serializing_if = "Option::is_none" ,
259+ rename = "lifetimeType"
260+ ) ]
261+ pub lifetime_type : Option < PersistenceCookieConfigLifetime > ,
262+ }
263+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
264+ pub struct RequestRedirect {
265+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
266+ pub hostname : Option < String > ,
267+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
268+ pub path : Option < RequestRedirectPath > ,
269+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
270+ pub port : Option < i32 > ,
271+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
272+ pub scheme : Option < RequestRedirectScheme > ,
273+ #[ serde(
274+ default ,
275+ skip_serializing_if = "Option::is_none" ,
276+ rename = "statusCode"
277+ ) ]
278+ pub status_code : Option < i64 > ,
279+ }
280+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
281+ pub struct HTTPRouteUrlRewrite {
282+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
283+ pub hostname : Option < String > ,
284+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
285+ pub path : Option < RequestRedirectPath > ,
286+ }
287+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
288+ pub struct RouteStatus {
289+ pub parents : Vec < ParentRouteStatus > ,
290+ }
291+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
292+ pub struct SessionPersistence {
293+ #[ serde(
294+ default ,
295+ skip_serializing_if = "Option::is_none" ,
296+ rename = "absoluteTimeout"
297+ ) ]
298+ pub absolute_timeout : Option < String > ,
299+ #[ serde(
300+ default ,
301+ skip_serializing_if = "Option::is_none" ,
302+ rename = "cookieConfig"
303+ ) ]
304+ pub cookie_config : Option < SessionPersistenceCookieConfig > ,
305+ #[ serde(
306+ default ,
307+ skip_serializing_if = "Option::is_none" ,
308+ rename = "idleTimeout"
309+ ) ]
310+ pub idle_timeout : Option < String > ,
311+ #[ serde(
312+ default ,
313+ skip_serializing_if = "Option::is_none" ,
314+ rename = "sessionName"
315+ ) ]
316+ pub session_name : Option < String > ,
317+ #[ serde( default , skip_serializing_if = "Option::is_none" , rename = "type" ) ]
318+ pub r#type : Option < SessionPersistenceType > ,
205319}
0 commit comments