Skip to main content

WeightedBackendService

Struct WeightedBackendService 

Source
#[non_exhaustive]
pub struct WeightedBackendService { pub backend_service: Option<String>, pub header_action: Option<HttpHeaderAction>, pub weight: Option<u32>, /* private fields */ }
Available on crate features region-url-maps or url-maps only.
Expand description

In contrast to a single BackendService in HttpRouteAction to which all matching traffic is directed to,WeightedBackendService allows traffic to be split across multiple backend services. The volume of traffic for each backend service is proportional to the weight specified in each WeightedBackendService

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§backend_service: Option<String>

The full or partial URL to the default BackendService resource. Before forwarding the request to backendService, the load balancer applies any relevant headerActions specified as part of thisbackendServiceWeight.

§header_action: Option<HttpHeaderAction>

Specifies changes to request and response headers that need to take effect for the selected backendService.

headerAction specified here take effect beforeheaderAction in the enclosing HttpRouteRule,PathMatcher and UrlMap.

headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL.

Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.

§weight: Option<u32>

Specifies the fraction of traffic sent to a backend service, computed asweight / (sum of all weightedBackendService weights in routeAction).

The selection of a backend service is determined only for new traffic. Once a user’s request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service’s session affinity policy. Don’t configure session affinity if you’re using weighted traffic splitting. If you do, the weighted traffic splitting configuration takes precedence.

The value must be from 0 to 1000.

Implementations§

Source§

impl WeightedBackendService

Source

pub fn new() -> Self

Source

pub fn set_backend_service<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of backend_service.

§Example
let x = WeightedBackendService::new().set_backend_service("example");
Source

pub fn set_or_clear_backend_service<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of backend_service.

§Example
let x = WeightedBackendService::new().set_or_clear_backend_service(Some("example"));
let x = WeightedBackendService::new().set_or_clear_backend_service(None::<String>);
Source

pub fn set_header_action<T>(self, v: T) -> Self

Sets the value of header_action.

§Example
use google_cloud_compute_v1::model::HttpHeaderAction;
let x = WeightedBackendService::new().set_header_action(HttpHeaderAction::default()/* use setters */);
Source

pub fn set_or_clear_header_action<T>(self, v: Option<T>) -> Self

Sets or clears the value of header_action.

§Example
use google_cloud_compute_v1::model::HttpHeaderAction;
let x = WeightedBackendService::new().set_or_clear_header_action(Some(HttpHeaderAction::default()/* use setters */));
let x = WeightedBackendService::new().set_or_clear_header_action(None::<HttpHeaderAction>);
Source

pub fn set_weight<T>(self, v: T) -> Self
where T: Into<u32>,

Sets the value of weight.

§Example
let x = WeightedBackendService::new().set_weight(42_u32);
Source

pub fn set_or_clear_weight<T>(self, v: Option<T>) -> Self
where T: Into<u32>,

Sets or clears the value of weight.

§Example
let x = WeightedBackendService::new().set_or_clear_weight(Some(42_u32));
let x = WeightedBackendService::new().set_or_clear_weight(None::<u32>);

Trait Implementations§

Source§

impl Clone for WeightedBackendService

Source§

fn clone(&self) -> WeightedBackendService

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 WeightedBackendService

Source§

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

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

impl Default for WeightedBackendService

Source§

fn default() -> WeightedBackendService

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

impl Message for WeightedBackendService

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for WeightedBackendService

Source§

fn eq(&self, other: &WeightedBackendService) -> 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 StructuralPartialEq for WeightedBackendService

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> 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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>,