#[non_exhaustive]pub struct RuleCondition {
pub field: Option<String>,
pub values: Option<Vec<String>>,
pub host_header_config: Option<HostHeaderConditionConfig>,
pub path_pattern_config: Option<PathPatternConditionConfig>,
pub http_header_config: Option<HttpHeaderConditionConfig>,
pub query_string_config: Option<QueryStringConditionConfig>,
pub http_request_method_config: Option<HttpRequestMethodConditionConfig>,
pub source_ip_config: Option<SourceIpConditionConfig>,
}Expand description
Information about a condition for a rule.
Each rule can optionally include up to one of each of the following conditions: http-request-method, host-header, path-pattern, and source-ip. Each rule can also optionally include one or more of each of the following conditions: http-header and query-string.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.field: Option<String>The field in the HTTP request. The following are the possible values:
-
http-header -
http-request-method -
host-header -
path-pattern -
query-string -
source-ip
values: Option<Vec<String>>The condition value. Specify only when Field is host-header or path-pattern. Alternatively, to specify multiple host names or multiple path patterns, use HostHeaderConfig or PathPatternConfig.
If Field is host-header and you are not using HostHeaderConfig, you can specify a single host name (for example, my.example.com) in Values. A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters.
-
A-Z, a-z, 0-9
-
- .
-
* (matches 0 or more characters)
-
? (matches exactly 1 character)
If Field is path-pattern and you are not using PathPatternConfig, you can specify a single path pattern (for example, /img/*) in Values. A path pattern is case-sensitive, can be up to 128 characters in length, and can contain any of the following characters.
-
A-Z, a-z, 0-9
-
_ - . $ / ~ " ' @ : +
-
& (using &)
-
* (matches 0 or more characters)
-
? (matches exactly 1 character)
host_header_config: Option<HostHeaderConditionConfig>Information for a host header condition. Specify only when Field is host-header.
path_pattern_config: Option<PathPatternConditionConfig>Information for a path pattern condition. Specify only when Field is path-pattern.
http_header_config: Option<HttpHeaderConditionConfig>Information for an HTTP header condition. Specify only when Field is http-header.
query_string_config: Option<QueryStringConditionConfig>Information for a query string condition. Specify only when Field is query-string.
http_request_method_config: Option<HttpRequestMethodConditionConfig>Information for an HTTP method condition. Specify only when Field is http-request-method.
source_ip_config: Option<SourceIpConditionConfig>Information for a source IP condition. Specify only when Field is source-ip.
Implementations
sourceimpl RuleCondition
impl RuleCondition
sourcepub fn field(&self) -> Option<&str>
pub fn field(&self) -> Option<&str>
The field in the HTTP request. The following are the possible values:
-
http-header -
http-request-method -
host-header -
path-pattern -
query-string -
source-ip
sourcepub fn values(&self) -> Option<&[String]>
pub fn values(&self) -> Option<&[String]>
The condition value. Specify only when Field is host-header or path-pattern. Alternatively, to specify multiple host names or multiple path patterns, use HostHeaderConfig or PathPatternConfig.
If Field is host-header and you are not using HostHeaderConfig, you can specify a single host name (for example, my.example.com) in Values. A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters.
-
A-Z, a-z, 0-9
-
- .
-
* (matches 0 or more characters)
-
? (matches exactly 1 character)
If Field is path-pattern and you are not using PathPatternConfig, you can specify a single path pattern (for example, /img/*) in Values. A path pattern is case-sensitive, can be up to 128 characters in length, and can contain any of the following characters.
-
A-Z, a-z, 0-9
-
_ - . $ / ~ " ' @ : +
-
& (using &)
-
* (matches 0 or more characters)
-
? (matches exactly 1 character)
sourcepub fn host_header_config(&self) -> Option<&HostHeaderConditionConfig>
pub fn host_header_config(&self) -> Option<&HostHeaderConditionConfig>
Information for a host header condition. Specify only when Field is host-header.
sourcepub fn path_pattern_config(&self) -> Option<&PathPatternConditionConfig>
pub fn path_pattern_config(&self) -> Option<&PathPatternConditionConfig>
Information for a path pattern condition. Specify only when Field is path-pattern.
sourcepub fn http_header_config(&self) -> Option<&HttpHeaderConditionConfig>
pub fn http_header_config(&self) -> Option<&HttpHeaderConditionConfig>
Information for an HTTP header condition. Specify only when Field is http-header.
sourcepub fn query_string_config(&self) -> Option<&QueryStringConditionConfig>
pub fn query_string_config(&self) -> Option<&QueryStringConditionConfig>
Information for a query string condition. Specify only when Field is query-string.
sourcepub fn http_request_method_config(
&self
) -> Option<&HttpRequestMethodConditionConfig>
pub fn http_request_method_config(
&self
) -> Option<&HttpRequestMethodConditionConfig>
Information for an HTTP method condition. Specify only when Field is http-request-method.
sourcepub fn source_ip_config(&self) -> Option<&SourceIpConditionConfig>
pub fn source_ip_config(&self) -> Option<&SourceIpConditionConfig>
Information for a source IP condition. Specify only when Field is source-ip.
sourceimpl RuleCondition
impl RuleCondition
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a new builder-style object to manufacture RuleCondition.
Trait Implementations
sourceimpl Clone for RuleCondition
impl Clone for RuleCondition
sourcefn clone(&self) -> RuleCondition
fn clone(&self) -> RuleCondition
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 RuleCondition
impl Debug for RuleCondition
sourceimpl PartialEq<RuleCondition> for RuleCondition
impl PartialEq<RuleCondition> for RuleCondition
sourcefn eq(&self, other: &RuleCondition) -> bool
fn eq(&self, other: &RuleCondition) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
sourcefn ne(&self, other: &RuleCondition) -> bool
fn ne(&self, other: &RuleCondition) -> bool
This method tests for !=.
impl StructuralPartialEq for RuleCondition
Auto Trait Implementations
impl RefUnwindSafe for RuleCondition
impl Send for RuleCondition
impl Sync for RuleCondition
impl Unpin for RuleCondition
impl UnwindSafe for RuleCondition
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> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more