gateway_api/apis/standard/
common.rs

1// WARNING: generated file - manual changes will be overriden
2
3#[allow(unused_imports)]
4mod prelude {
5    pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
6    pub use kube_derive::CustomResource;
7    pub use schemars::JsonSchema;
8    pub use serde::{Deserialize, Serialize};
9    pub use std::collections::BTreeMap;
10}
11use self::prelude::*;
12#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, PartialEq)]
13pub enum GRPCFilterType {
14    ResponseHeaderModifier,
15    RequestHeaderModifier,
16    RequestMirror,
17    ExtensionRef,
18}
19#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, PartialEq)]
20pub enum HTTPFilterType {
21    RequestHeaderModifier,
22    ResponseHeaderModifier,
23    RequestMirror,
24    RequestRedirect,
25    #[serde(rename = "URLRewrite")]
26    UrlRewrite,
27    ExtensionRef,
28}
29#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, PartialEq)]
30pub enum HeaderMatchType {
31    Exact,
32    RegularExpression,
33}
34#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, PartialEq)]
35pub enum RedirectStatusCode {
36    #[serde(rename = "301")]
37    r#_301,
38    #[serde(rename = "302")]
39    r#_302,
40}
41#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, PartialEq)]
42pub enum RequestOperationType {
43    ReplaceFullPath,
44    ReplacePrefixMatch,
45}
46#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, PartialEq)]
47pub enum RequestRedirectScheme {
48    #[serde(rename = "http")]
49    Http,
50    #[serde(rename = "https")]
51    Https,
52}
53#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
54pub struct GatewayAddress {
55    #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
56    pub r#type: Option<String>,
57    pub value: String,
58}
59#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
60pub struct GatewayInfrastructureParametersReference {
61    pub group: String,
62    pub kind: String,
63    pub name: String,
64}
65#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
66pub struct HTTPHeader {
67    pub name: String,
68    pub value: String,
69}
70#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
71pub struct Kind {
72    #[serde(default, skip_serializing_if = "Option::is_none")]
73    pub group: Option<String>,
74    pub kind: String,
75}
76#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
77pub struct ParentReference {
78    #[serde(default, skip_serializing_if = "Option::is_none")]
79    pub group: Option<String>,
80    #[serde(default, skip_serializing_if = "Option::is_none")]
81    pub kind: Option<String>,
82    pub name: String,
83    #[serde(default, skip_serializing_if = "Option::is_none")]
84    pub namespace: Option<String>,
85    #[serde(default, skip_serializing_if = "Option::is_none")]
86    pub port: Option<i32>,
87    #[serde(
88        default,
89        skip_serializing_if = "Option::is_none",
90        rename = "sectionName"
91    )]
92    pub section_name: Option<String>,
93}
94#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
95pub struct RequestMirrorReference {
96    #[serde(default, skip_serializing_if = "Option::is_none")]
97    pub group: Option<String>,
98    #[serde(default, skip_serializing_if = "Option::is_none")]
99    pub kind: Option<String>,
100    pub name: String,
101    #[serde(default, skip_serializing_if = "Option::is_none")]
102    pub namespace: Option<String>,
103    #[serde(default, skip_serializing_if = "Option::is_none")]
104    pub port: Option<i32>,
105}
106#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
107pub struct HeaderMatch {
108    pub name: String,
109    #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
110    pub r#type: Option<HeaderMatchType>,
111    pub value: String,
112}
113#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
114pub struct HeaderModifier {
115    #[serde(default, skip_serializing_if = "Option::is_none")]
116    pub add: Option<Vec<HTTPHeader>>,
117    #[serde(default, skip_serializing_if = "Option::is_none")]
118    pub remove: Option<Vec<String>>,
119    #[serde(default, skip_serializing_if = "Option::is_none")]
120    pub set: Option<Vec<HTTPHeader>>,
121}
122#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
123pub struct ParentRouteStatus {
124    #[serde(default, skip_serializing_if = "Option::is_none")]
125    pub conditions: Option<Vec<Condition>>,
126    #[serde(rename = "controllerName")]
127    pub controller_name: String,
128    #[serde(rename = "parentRef")]
129    pub parent_ref: ParentReference,
130}
131#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
132pub struct RequestMirror {
133    #[serde(rename = "backendRef")]
134    pub backend_ref: RequestMirrorReference,
135}
136#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
137pub struct RequestRedirectPath {
138    #[serde(
139        default,
140        skip_serializing_if = "Option::is_none",
141        rename = "replaceFullPath"
142    )]
143    pub replace_full_path: Option<String>,
144    #[serde(
145        default,
146        skip_serializing_if = "Option::is_none",
147        rename = "replacePrefixMatch"
148    )]
149    pub replace_prefix_match: Option<String>,
150    #[serde(rename = "type")]
151    pub r#type: RequestOperationType,
152}
153#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
154pub struct GRPCRouteFilter {
155    #[serde(
156        default,
157        skip_serializing_if = "Option::is_none",
158        rename = "extensionRef"
159    )]
160    pub extension_ref: Option<GatewayInfrastructureParametersReference>,
161    #[serde(
162        default,
163        skip_serializing_if = "Option::is_none",
164        rename = "requestHeaderModifier"
165    )]
166    pub request_header_modifier: Option<HeaderModifier>,
167    #[serde(
168        default,
169        skip_serializing_if = "Option::is_none",
170        rename = "requestMirror"
171    )]
172    pub request_mirror: Option<RequestMirror>,
173    #[serde(
174        default,
175        skip_serializing_if = "Option::is_none",
176        rename = "responseHeaderModifier"
177    )]
178    pub response_header_modifier: Option<HeaderModifier>,
179    #[serde(rename = "type")]
180    pub r#type: GRPCFilterType,
181}
182#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
183pub struct RequestRedirect {
184    #[serde(default, skip_serializing_if = "Option::is_none")]
185    pub hostname: Option<String>,
186    #[serde(default, skip_serializing_if = "Option::is_none")]
187    pub path: Option<RequestRedirectPath>,
188    #[serde(default, skip_serializing_if = "Option::is_none")]
189    pub port: Option<i32>,
190    #[serde(default, skip_serializing_if = "Option::is_none")]
191    pub scheme: Option<RequestRedirectScheme>,
192    #[serde(
193        default,
194        skip_serializing_if = "Option::is_none",
195        rename = "statusCode"
196    )]
197    pub status_code: Option<i64>,
198}
199#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
200pub struct HTTPRouteUrlRewrite {
201    #[serde(default, skip_serializing_if = "Option::is_none")]
202    pub hostname: Option<String>,
203    #[serde(default, skip_serializing_if = "Option::is_none")]
204    pub path: Option<RequestRedirectPath>,
205}
206#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq)]
207pub struct RouteStatus {
208    pub parents: Vec<ParentRouteStatus>,
209}