Skip to main content

AppSpecIngressRulesItem

Struct AppSpecIngressRulesItem 

Source
pub struct AppSpecIngressRulesItem {
    pub component: Option<AppSpecIngressRulesItemComponent>,
    pub cors: Option<AppSpecIngressRulesItemCors>,
    pub match_: Option<AppSpecIngressRulesItemMatch>,
    pub redirect: Option<AppSpecIngressRulesItemRedirect>,
}
Expand description

AppSpecIngressRulesItem

JSON schema
{
 "type": "object",
 "properties": {
   "component": {
     "description": "The component to route to. Only one of `component` or `redirect` may be set.",
     "type": "object",
     "required": [
       "name"
     ],
     "properties": {
       "name": {
         "description": "The name of the component to route to.",
         "examples": [
           "web"
         ],
         "type": "string"
       },
       "preserve_path_prefix": {
         "description": "An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.",
         "examples": [
           "true"
         ],
         "type": "string"
       },
       "rewrite": {
         "description": "An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.",
         "examples": [
           "/api/v1/"
         ],
         "type": "string"
       }
     }
   },
   "cors": {
     "type": "object",
     "properties": {
       "allow_credentials": {
         "description": "Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header.",
         "examples": [
           false
         ],
         "type": "boolean"
       },
       "allow_headers": {
         "description": "The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header.",
         "examples": [
           [
             "Content-Type",
             "X-Custom-Header"
           ]
         ],
         "type": "array",
         "items": {
           "type": "string"
         }
       },
       "allow_methods": {
         "description": "The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header.",
         "examples": [
           [
             "GET",
             "OPTIONS",
             "POST",
             "PUT",
             "PATCH",
             "DELETE"
           ]
         ],
         "type": "array",
         "items": {
           "type": "string"
         }
       },
       "allow_origins": {
         "description": "The set of allowed CORS origins.",
         "examples": [
           [
             {
               "exact": "https://www.example.com"
             },
             {
               "regex": "^.*example.com"
             }
           ]
         ],
         "type": "array",
         "items": {
           "type": "object",
           "properties": {
             "exact": {
               "description": "Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. An empty string is a valid value and will be serialized explicitly rather than being omitted from the payload.",
               "examples": [
                 "https://www.example.com"
               ],
               "type": [
                 "string",
                 "null"
               ],
               "maxLength": 256
             },
             "prefix": {
               "description": "Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.",
               "deprecated": true,
               "examples": [
                 "https://www.example.com"
               ],
               "type": [
                 "string",
                 "null"
               ],
               "maxLength": 256
             },
             "regex": {
               "description": "RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: <https://github.com/google/re2/wiki/Syntax>",
               "examples": [
                 "^.*example.com"
               ],
               "type": "string",
               "maxLength": 256,
               "minLength": 1
             }
           }
         }
       },
       "expose_headers": {
         "description": "The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header.",
         "examples": [
           [
             "Content-Encoding",
             "X-Custom-Header"
           ]
         ],
         "type": "array",
         "items": {
           "type": "string"
         }
       },
       "max_age": {
         "description": "An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header.",
         "examples": [
           "5h30m"
         ],
         "type": "string"
       }
     }
   },
   "match": {
     "description": "The match configuration for the rule.",
     "type": "object",
     "properties": {
       "authority": {
         "description": "The authority to match on.",
         "type": "object",
         "required": [
           "exact"
         ],
         "properties": {
           "exact": {
             "description": "Exact string match. An empty string is a valid value and will be serialized explicitly rather than being omitted from the payload.",
             "examples": [
               "example.com"
             ],
             "type": [
               "string",
               "null"
             ],
             "maxLength": 256
           }
         }
       },
       "path": {
         "description": "The path to match on.",
         "type": "object",
         "required": [
           "prefix"
         ],
         "properties": {
           "prefix": {
             "description": "Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`.",
             "examples": [
               "/api"
             ],
             "type": [
               "string",
               "null"
             ],
             "maxLength": 256
           }
         }
       }
     }
   },
   "redirect": {
     "description": "The redirect configuration for the rule. Only one of `component` or `redirect` may be set.",
     "type": "object",
     "properties": {
       "authority": {
         "description": "The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.",
         "examples": [
           "example.com"
         ],
         "type": "string"
       },
       "port": {
         "description": "The port to redirect to.",
         "examples": [
           443
         ],
         "type": "integer",
         "format": "int64"
       },
       "redirect_code": {
         "description": "The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308.",
         "examples": [
           302
         ],
         "type": "integer",
         "format": "int64"
       },
       "scheme": {
         "description": "The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.",
         "examples": [
           "https"
         ],
         "type": "string"
       },
       "uri": {
         "description": "An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.",
         "examples": [
           "/about"
         ],
         "type": "string"
       }
     }
   }
 }
}

Fields§

§component: Option<AppSpecIngressRulesItemComponent>§cors: Option<AppSpecIngressRulesItemCors>§match_: Option<AppSpecIngressRulesItemMatch>§redirect: Option<AppSpecIngressRulesItemRedirect>

Trait Implementations§

Source§

impl Clone for AppSpecIngressRulesItem

Source§

fn clone(&self) -> AppSpecIngressRulesItem

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for AppSpecIngressRulesItem

Source§

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

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

impl Default for AppSpecIngressRulesItem

Source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for AppSpecIngressRulesItem

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 From<&AppSpecIngressRulesItem> for AppSpecIngressRulesItem

Source§

fn from(value: &AppSpecIngressRulesItem) -> Self

Converts to this type from the input type.
Source§

impl Serialize for AppSpecIngressRulesItem

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

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

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: Sized + 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: Sized + 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 = !

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