k8s_traefik_api/
middlewaretcps.rs1#[allow(unused_imports)]
6mod prelude {
7 pub use kube::CustomResource;
8 pub use typed_builder::TypedBuilder;
9 pub use schemars::JsonSchema;
10 pub use serde::{Serialize, Deserialize};
11}
12use self::prelude::*;
13
14#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, TypedBuilder, Default, PartialEq, JsonSchema)]
16#[kube(group = "traefik.io", version = "v1alpha1", kind = "MiddlewareTCP", plural = "middlewaretcps")]
17#[kube(namespaced)]
18#[kube(derive="Default")]
19#[kube(derive="PartialEq")]
20pub struct MiddlewareTCPSpec {
21 #[serde(default, skip_serializing_if = "Option::is_none", rename = "inFlightConn")]
23 #[builder(default, setter(strip_option))]
24 pub in_flight_conn: Option<MiddlewareTCPInFlightConn>,
25 #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipAllowList")]
29 #[builder(default, setter(strip_option))]
30 pub ip_allow_list: Option<MiddlewareTCPIpAllowList>,
31 #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipWhiteList")]
36 #[builder(default, setter(strip_option))]
37 pub ip_white_list: Option<MiddlewareTCPIpWhiteList>,
38}
39
40#[derive(Serialize, Deserialize, Clone, Debug, TypedBuilder, Default, PartialEq, JsonSchema)]
42pub struct MiddlewareTCPInFlightConn {
43 #[serde(default, skip_serializing_if = "Option::is_none")]
46 #[builder(default, setter(strip_option))]
47 pub amount: Option<i64>,
48}
49
50#[derive(Serialize, Deserialize, Clone, Debug, TypedBuilder, Default, PartialEq, JsonSchema)]
54pub struct MiddlewareTCPIpAllowList {
55 #[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceRange")]
57 #[builder(default, setter(strip_option))]
58 pub source_range: Option<Vec<String>>,
59}
60
61#[derive(Serialize, Deserialize, Clone, Debug, TypedBuilder, Default, PartialEq, JsonSchema)]
66pub struct MiddlewareTCPIpWhiteList {
67 #[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceRange")]
69 #[builder(default, setter(strip_option))]
70 pub source_range: Option<Vec<String>>,
71}
72