@@ -17,16 +17,6 @@ pub enum GRPCFilterType {
1717 ExtensionRef ,
1818}
1919#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
20- pub enum GatewayDefaultScope {
21- All ,
22- None ,
23- }
24- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
25- pub enum GatewayTlsFrontendDefaultValidationMode {
26- AllowValidOnly ,
27- AllowInsecureFallback ,
28- }
29- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
3020pub enum HTTPFilterType {
3121 RequestHeaderModifier ,
3222 ResponseHeaderModifier ,
@@ -35,16 +25,6 @@ pub enum HTTPFilterType {
3525 #[ serde( rename = "URLRewrite" ) ]
3626 UrlRewrite ,
3727 ExtensionRef ,
38- #[ serde( rename = "CORS" ) ]
39- Cors ,
40- ExternalAuth ,
41- }
42- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
43- pub enum HTTPRouteRulesBackendRefsFiltersExternalAuthProtocol {
44- #[ serde( rename = "HTTP" ) ]
45- Http ,
46- #[ serde( rename = "GRPC" ) ]
47- Grpc ,
4828}
4929#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , PartialEq ) ]
5030pub enum HeaderMatchType {
@@ -105,11 +85,10 @@ pub struct BackendTlsClientCertificateReference {
10585 pub namespace : Option < String > ,
10686}
10787#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
108- pub struct GatewayAllowedListenersNamespacesSelectorMatchExpressions {
109- pub key : String ,
110- pub operator : String ,
111- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
112- pub values : Option < Vec < String > > ,
88+ pub struct GatewayAddress {
89+ #[ serde( default , skip_serializing_if = "Option::is_none" , rename = "type" ) ]
90+ pub r#type : Option < String > ,
91+ pub value : String ,
11392}
11493#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
11594pub struct GatewayInfrastructureParametersReference {
@@ -123,49 +102,6 @@ pub struct HTTPHeader {
123102 pub value : String ,
124103}
125104#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
126- pub struct HTTPRouteRulesBackendRefsFiltersExternalAuthBackendRef {
127- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
128- pub group : Option < String > ,
129- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
130- pub kind : Option < String > ,
131- pub name : String ,
132- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
133- pub namespace : Option < String > ,
134- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
135- pub port : Option < i32 > ,
136- }
137- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
138- pub struct HTTPRouteRulesBackendRefsFiltersExternalAuthForwardBody {
139- #[ serde( default , skip_serializing_if = "Option::is_none" , rename = "maxSize" ) ]
140- pub max_size : Option < i64 > ,
141- }
142- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
143- pub struct HTTPRouteRulesBackendRefsFiltersExternalAuthGrpc {
144- #[ serde(
145- default ,
146- skip_serializing_if = "Option::is_none" ,
147- rename = "allowedHeaders"
148- ) ]
149- pub allowed_headers : Option < Vec < String > > ,
150- }
151- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
152- pub struct HTTPRouteRulesBackendRefsFiltersExternalAuthHttp {
153- #[ serde(
154- default ,
155- skip_serializing_if = "Option::is_none" ,
156- rename = "allowedHeaders"
157- ) ]
158- pub allowed_headers : Option < Vec < String > > ,
159- #[ serde(
160- default ,
161- skip_serializing_if = "Option::is_none" ,
162- rename = "allowedResponseHeaders"
163- ) ]
164- pub allowed_response_headers : Option < Vec < String > > ,
165- #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
166- pub path : Option < String > ,
167- }
168- #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
169105pub struct Kind {
170106 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
171107 pub group : Option < String > ,
@@ -204,9 +140,25 @@ pub struct RequestMirrorFraction {
204140 pub numerator : i32 ,
205141}
206142#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
143+ pub struct RequestMirrorReference {
144+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
145+ pub group : Option < String > ,
146+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
147+ pub kind : Option < String > ,
148+ pub name : String ,
149+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
150+ pub namespace : Option < String > ,
151+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
152+ pub port : Option < i32 > ,
153+ }
154+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
207155pub struct CommonRouteRule {
208- #[ serde( rename = "backendRefs" ) ]
209- pub backend_refs : Vec < BackendReference > ,
156+ #[ serde(
157+ default ,
158+ skip_serializing_if = "Option::is_none" ,
159+ rename = "backendRefs"
160+ ) ]
161+ pub backend_refs : Option < Vec < BackendReference > > ,
210162 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
211163 pub name : Option < String > ,
212164}
@@ -228,13 +180,23 @@ pub struct HeaderModifier {
228180}
229181#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
230182pub struct ParentRouteStatus {
231- pub conditions : Vec < Condition > ,
183+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
184+ pub conditions : Option < Vec < Condition > > ,
232185 #[ serde( rename = "controllerName" ) ]
233186 pub controller_name : String ,
234187 #[ serde( rename = "parentRef" ) ]
235188 pub parent_ref : ParentReference ,
236189}
237190#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
191+ pub struct RequestMirror {
192+ #[ serde( rename = "backendRef" ) ]
193+ pub backend_ref : RequestMirrorReference ,
194+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
195+ pub fraction : Option < RequestMirrorFraction > ,
196+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
197+ pub percent : Option < i32 > ,
198+ }
199+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
238200pub struct RequestRedirectPath {
239201 #[ serde(
240202 default ,
@@ -261,6 +223,35 @@ pub struct SessionPersistenceCookieConfig {
261223 pub lifetime_type : Option < PersistenceCookieConfigLifetime > ,
262224}
263225#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
226+ pub struct GRPCRouteFilter {
227+ #[ serde(
228+ default ,
229+ skip_serializing_if = "Option::is_none" ,
230+ rename = "extensionRef"
231+ ) ]
232+ pub extension_ref : Option < GatewayInfrastructureParametersReference > ,
233+ #[ serde(
234+ default ,
235+ skip_serializing_if = "Option::is_none" ,
236+ rename = "requestHeaderModifier"
237+ ) ]
238+ pub request_header_modifier : Option < HeaderModifier > ,
239+ #[ serde(
240+ default ,
241+ skip_serializing_if = "Option::is_none" ,
242+ rename = "requestMirror"
243+ ) ]
244+ pub request_mirror : Option < RequestMirror > ,
245+ #[ serde(
246+ default ,
247+ skip_serializing_if = "Option::is_none" ,
248+ rename = "responseHeaderModifier"
249+ ) ]
250+ pub response_header_modifier : Option < HeaderModifier > ,
251+ #[ serde( rename = "type" ) ]
252+ pub r#type : GRPCFilterType ,
253+ }
254+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
264255pub struct RequestRedirect {
265256 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
266257 pub hostname : Option < String > ,
@@ -317,3 +308,44 @@ pub struct SessionPersistence {
317308 #[ serde( default , skip_serializing_if = "Option::is_none" , rename = "type" ) ]
318309 pub r#type : Option < SessionPersistenceType > ,
319310}
311+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
312+ pub struct HTTPRouteBackendFilters {
313+ #[ serde(
314+ default ,
315+ skip_serializing_if = "Option::is_none" ,
316+ rename = "extensionRef"
317+ ) ]
318+ pub extension_ref : Option < GatewayInfrastructureParametersReference > ,
319+ #[ serde(
320+ default ,
321+ skip_serializing_if = "Option::is_none" ,
322+ rename = "requestHeaderModifier"
323+ ) ]
324+ pub request_header_modifier : Option < HeaderModifier > ,
325+ #[ serde(
326+ default ,
327+ skip_serializing_if = "Option::is_none" ,
328+ rename = "requestMirror"
329+ ) ]
330+ pub request_mirror : Option < RequestMirror > ,
331+ #[ serde(
332+ default ,
333+ skip_serializing_if = "Option::is_none" ,
334+ rename = "requestRedirect"
335+ ) ]
336+ pub request_redirect : Option < RequestRedirect > ,
337+ #[ serde(
338+ default ,
339+ skip_serializing_if = "Option::is_none" ,
340+ rename = "responseHeaderModifier"
341+ ) ]
342+ pub response_header_modifier : Option < HeaderModifier > ,
343+ #[ serde( rename = "type" ) ]
344+ pub r#type : HTTPFilterType ,
345+ #[ serde(
346+ default ,
347+ skip_serializing_if = "Option::is_none" ,
348+ rename = "urlRewrite"
349+ ) ]
350+ pub url_rewrite : Option < HTTPRouteUrlRewrite > ,
351+ }
0 commit comments