Struct k8s_gateway_api::v1alpha2::HttpRouteSpec
source · [−]pub struct HttpRouteSpec {
pub inner: CommonRouteSpec,
pub hostnames: Option<Vec<Hostname>>,
pub rules: Option<Vec<HttpRouteRule>>,
}Expand description
HTTPRoute provides a way to route HTTP requests. This includes the capability to match requests by hostname, path, header, or query param. Filters can be used to specify additional processing steps. Backends specify where matching requests should be routed.
Fields
inner: CommonRouteSpecCommon route information.
hostnames: Option<Vec<Hostname>>Hostnames defines a set of hostname that should match against the HTTP Host header to select a HTTPRoute to process the request. This matches the RFC 1123 definition of a hostname with 2 notable exceptions:
- IPs are not allowed.
- A hostname may be prefixed with a wildcard label (
*.). The wildcard label must appear by itself as the first label.
If a hostname is specified by both the Listener and HTTPRoute, there must be at least one intersecting hostname for the HTTPRoute to be attached to the Listener. For example:
- A Listener with
test.example.comas the hostname matches HTTPRoutes that have either not specified any hostnames, or have specified at least one oftest.example.comor*.example.com. - A Listener with
*.example.comas the hostname matches HTTPRoutes that have either not specified any hostnames or have specified at least one hostname that matches the Listener hostname. For example,test.example.comand*.example.comwould both match. On the other hand,example.comandtest.example.netwould not match.
If both the Listener and HTTPRoute have specified hostnames, any
HTTPRoute hostnames that do not match the Listener hostname MUST be
ignored. For example, if a Listener specified *.example.com, and the
HTTPRoute specified test.example.com and test.example.net,
test.example.net must not be considered for a match.
If both the Listener and HTTPRoute have specified hostnames, and none
match with the criteria above, then the HTTPRoute is not accepted. The
implementation must raise an ‘Accepted’ Condition with a status of
False in the corresponding RouteParentStatus.
Support: Core
rules: Option<Vec<HttpRouteRule>>Rules are a list of HTTP matchers, filters and actions.
Trait Implementations
sourceimpl Clone for HttpRouteSpec
impl Clone for HttpRouteSpec
sourcefn clone(&self) -> HttpRouteSpec
fn clone(&self) -> HttpRouteSpec
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for HttpRouteSpec
impl Debug for HttpRouteSpec
sourceimpl<'de> Deserialize<'de> for HttpRouteSpec
impl<'de> Deserialize<'de> for HttpRouteSpec
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl JsonSchema for HttpRouteSpec
impl JsonSchema for HttpRouteSpec
sourcefn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
sourcefn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
sourcefn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
sourceimpl Serialize for HttpRouteSpec
impl Serialize for HttpRouteSpec
Auto Trait Implementations
impl RefUnwindSafe for HttpRouteSpec
impl Send for HttpRouteSpec
impl Sync for HttpRouteSpec
impl Unpin for HttpRouteSpec
impl UnwindSafe for HttpRouteSpec
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more