#[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. Note that the value for a condition cannot be empty.
For more information, see Quotas for your Application Load Balancers.
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§
source§impl 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) -> &[String]
pub fn values(&self) -> &[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)
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .values.is_none().
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.
source§impl RuleCondition
impl RuleCondition
sourcepub fn builder() -> RuleConditionBuilder
pub fn builder() -> RuleConditionBuilder
Creates a new builder-style object to manufacture RuleCondition.
Trait Implementations§
source§impl Clone for RuleCondition
impl Clone for RuleCondition
source§fn clone(&self) -> RuleCondition
fn clone(&self) -> RuleCondition
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for RuleCondition
impl Debug for RuleCondition
source§impl PartialEq for RuleCondition
impl PartialEq for RuleCondition
source§fn eq(&self, other: &RuleCondition) -> bool
fn eq(&self, other: &RuleCondition) -> bool
self and other values to be equal, and is used
by ==.impl StructuralPartialEq for RuleCondition
Auto Trait Implementations§
impl Freeze for RuleCondition
impl RefUnwindSafe for RuleCondition
impl Send for RuleCondition
impl Sync for RuleCondition
impl Unpin for RuleCondition
impl UnwindSafe for RuleCondition
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more