#[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 ==
.