TraefikServiceMirroring

Struct TraefikServiceMirroring 

Source
pub struct TraefikServiceMirroring {
Show 17 fields pub health_check: Option<TraefikServiceMirroringHealthCheck>, pub kind: Option<TraefikServiceMirroringKind>, pub max_body_size: Option<i64>, pub mirror_body: Option<bool>, pub mirrors: Option<Vec<TraefikServiceMirroringMirrors>>, pub name: String, pub namespace: Option<String>, pub native_lb: Option<bool>, pub node_port_lb: Option<bool>, pub pass_host_header: Option<bool>, pub port: Option<IntOrString>, pub response_forwarding: Option<TraefikServiceMirroringResponseForwarding>, pub scheme: Option<String>, pub servers_transport: Option<String>, pub sticky: Option<TraefikServiceMirroringSticky>, pub strategy: Option<String>, pub weight: Option<i64>,
}
Expand description

Mirroring defines the Mirroring service configuration.

Fields§

§health_check: Option<TraefikServiceMirroringHealthCheck>

Healthcheck defines health checks for ExternalName services.

§kind: Option<TraefikServiceMirroringKind>

Kind defines the kind of the Service.

§max_body_size: Option<i64>

MaxBodySize defines the maximum size allowed for the body of the request. If the body is larger, the request is not mirrored. Default value is -1, which means unlimited size.

§mirror_body: Option<bool>

MirrorBody defines whether the body of the request should be mirrored. Default value is true.

§mirrors: Option<Vec<TraefikServiceMirroringMirrors>>

Mirrors defines the list of mirrors where Traefik will duplicate the traffic.

§name: String

Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field.

§namespace: Option<String>

Namespace defines the namespace of the referenced Kubernetes Service or TraefikService.

§native_lb: Option<bool>

NativeLB controls, when creating the load-balancer, whether the LB’s children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false.

§node_port_lb: Option<bool>

NodePortLB controls, when creating the load-balancer, whether the LB’s children are directly the nodes internal IPs using the nodePort when the service type is NodePort. It allows services to be reachable when Traefik runs externally from the Kubernetes cluster but within the same network of the nodes. By default, NodePortLB is false.

§pass_host_header: Option<bool>

PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true.

§port: Option<IntOrString>

Port defines the port of a Kubernetes Service. This can be a reference to a named port.

§response_forwarding: Option<TraefikServiceMirroringResponseForwarding>

ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client.

§scheme: Option<String>

Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise.

§servers_transport: Option<String>

ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service.

§sticky: Option<TraefikServiceMirroringSticky>

Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.3/routing/services/#sticky-sessions

§strategy: Option<String>

Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment.

§weight: Option<i64>

Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin).

Implementations§

Source§

impl TraefikServiceMirroring

Source

pub fn builder() -> TraefikServiceMirroringBuilder<((), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ())>

Create a builder for building TraefikServiceMirroring. On the builder, call .health_check(...)(optional), .kind(...)(optional), .max_body_size(...)(optional), .mirror_body(...)(optional), .mirrors(...)(optional), .name(...), .namespace(...)(optional), .native_lb(...)(optional), .node_port_lb(...)(optional), .pass_host_header(...)(optional), .port(...)(optional), .response_forwarding(...)(optional), .scheme(...)(optional), .servers_transport(...)(optional), .sticky(...)(optional), .strategy(...)(optional), .weight(...)(optional) to set the values of the fields. Finally, call .build() to create the instance of TraefikServiceMirroring.

Trait Implementations§

Source§

impl Clone for TraefikServiceMirroring

Source§

fn clone(&self) -> TraefikServiceMirroring

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TraefikServiceMirroring

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TraefikServiceMirroring

Source§

fn default() -> TraefikServiceMirroring

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for TraefikServiceMirroring

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl JsonSchema for TraefikServiceMirroring

Source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
Source§

impl PartialEq for TraefikServiceMirroring

Source§

fn eq(&self, other: &TraefikServiceMirroring) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for TraefikServiceMirroring

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for TraefikServiceMirroring

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,