Skip to main content

PathRule

Struct PathRule 

Source
#[non_exhaustive]
pub struct PathRule { pub custom_error_response_policy: Option<CustomErrorResponsePolicy>, pub paths: Vec<String>, pub route_action: Option<HttpRouteAction>, pub service: Option<String>, pub url_redirect: Option<HttpRedirectAction>, /* private fields */ }
Available on crate features region-url-maps or url-maps only.
Expand description

A path-matching rule for a URL. If matched, will use the specifiedBackendService to handle the traffic arriving at this URL.

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.
§custom_error_response_policy: Option<CustomErrorResponsePolicy>

customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceorBackendBucket responds with an error.

If a policy for an error code is not configured for the PathRule, a policy for the error code configured inpathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified inpathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect.

For example, consider a UrlMap with the following configuration:

 - UrlMap.defaultCustomErrorResponsePolicy are configured
 with policies for 5xx and 4xx errors
 - A PathRule for /coming_soon/ is configured for the error
 code 404.

If the request is for www.myotherdomain.com and a404 is encountered, the policy underUrlMap.defaultCustomErrorResponsePolicy takes effect. If a404 response is encountered for the requestwww.example.com/current_events/, the pathMatcher’s policy takes effect. If however, the request forwww.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy atUrlMap.defaultCustomErrorResponsePolicy takes effect.

customErrorResponsePolicy is supported only for global external Application Load Balancers.

§paths: Vec<String>

The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.

§route_action: Option<HttpRouteAction>

In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend.

Only one of urlRedirect, service orrouteAction.weightedBackendService can be set.

URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule’srouteAction.

§service: Option<String>

The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend.

Only one of urlRedirect, service orrouteAction.weightedBackendService can be set.

§url_redirect: Option<HttpRedirectAction>

When a path pattern is matched, the request is redirected to a URL specified by urlRedirect.

Only one of urlRedirect, service orrouteAction.weightedBackendService can be set.

Not supported when the URL map is bound to a target gRPC proxy.

Implementations§

Source§

impl PathRule

Source

pub fn new() -> Self

Source

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

Sets the value of custom_error_response_policy.

§Example
use google_cloud_compute_v1::model::CustomErrorResponsePolicy;
let x = PathRule::new().set_custom_error_response_policy(CustomErrorResponsePolicy::default()/* use setters */);
Source

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

Sets or clears the value of custom_error_response_policy.

§Example
use google_cloud_compute_v1::model::CustomErrorResponsePolicy;
let x = PathRule::new().set_or_clear_custom_error_response_policy(Some(CustomErrorResponsePolicy::default()/* use setters */));
let x = PathRule::new().set_or_clear_custom_error_response_policy(None::<CustomErrorResponsePolicy>);
Source

pub fn set_paths<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of paths.

§Example
let x = PathRule::new().set_paths(["a", "b", "c"]);
Source

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

Sets the value of route_action.

§Example
use google_cloud_compute_v1::model::HttpRouteAction;
let x = PathRule::new().set_route_action(HttpRouteAction::default()/* use setters */);
Source

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

Sets or clears the value of route_action.

§Example
use google_cloud_compute_v1::model::HttpRouteAction;
let x = PathRule::new().set_or_clear_route_action(Some(HttpRouteAction::default()/* use setters */));
let x = PathRule::new().set_or_clear_route_action(None::<HttpRouteAction>);
Source

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

Sets the value of service.

§Example
let x = PathRule::new().set_service("example");
Source

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

Sets or clears the value of service.

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

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

Sets the value of url_redirect.

§Example
use google_cloud_compute_v1::model::HttpRedirectAction;
let x = PathRule::new().set_url_redirect(HttpRedirectAction::default()/* use setters */);
Source

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

Sets or clears the value of url_redirect.

§Example
use google_cloud_compute_v1::model::HttpRedirectAction;
let x = PathRule::new().set_or_clear_url_redirect(Some(HttpRedirectAction::default()/* use setters */));
let x = PathRule::new().set_or_clear_url_redirect(None::<HttpRedirectAction>);

Trait Implementations§

Source§

impl Clone for PathRule

Source§

fn clone(&self) -> PathRule

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 PathRule

Source§

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

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

impl Default for PathRule

Source§

fn default() -> PathRule

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

impl Message for PathRule

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for PathRule

Source§

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

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