Struct aws_sdk_wafv2::types::builders::FieldToMatchBuilder
source · #[non_exhaustive]pub struct FieldToMatchBuilder { /* private fields */ }
Expand description
A builder for FieldToMatch
.
Implementations§
source§impl FieldToMatchBuilder
impl FieldToMatchBuilder
sourcepub fn single_header(self, input: SingleHeader) -> Self
pub fn single_header(self, input: SingleHeader) -> Self
Inspect a single header. Provide the name of the header to inspect, for example, User-Agent
or Referer
. This setting isn't case sensitive.
Example JSON: "SingleHeader": { "Name": "haystack" }
Alternately, you can filter and inspect all headers with the Headers
FieldToMatch
setting.
sourcepub fn set_single_header(self, input: Option<SingleHeader>) -> Self
pub fn set_single_header(self, input: Option<SingleHeader>) -> Self
Inspect a single header. Provide the name of the header to inspect, for example, User-Agent
or Referer
. This setting isn't case sensitive.
Example JSON: "SingleHeader": { "Name": "haystack" }
Alternately, you can filter and inspect all headers with the Headers
FieldToMatch
setting.
sourcepub fn get_single_header(&self) -> &Option<SingleHeader>
pub fn get_single_header(&self) -> &Option<SingleHeader>
Inspect a single header. Provide the name of the header to inspect, for example, User-Agent
or Referer
. This setting isn't case sensitive.
Example JSON: "SingleHeader": { "Name": "haystack" }
Alternately, you can filter and inspect all headers with the Headers
FieldToMatch
setting.
sourcepub fn single_query_argument(self, input: SingleQueryArgument) -> Self
pub fn single_query_argument(self, input: SingleQueryArgument) -> Self
Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.
Example JSON: "SingleQueryArgument": { "Name": "myArgument" }
sourcepub fn set_single_query_argument(
self,
input: Option<SingleQueryArgument>
) -> Self
pub fn set_single_query_argument( self, input: Option<SingleQueryArgument> ) -> Self
Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.
Example JSON: "SingleQueryArgument": { "Name": "myArgument" }
sourcepub fn get_single_query_argument(&self) -> &Option<SingleQueryArgument>
pub fn get_single_query_argument(&self) -> &Option<SingleQueryArgument>
Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.
Example JSON: "SingleQueryArgument": { "Name": "myArgument" }
sourcepub fn all_query_arguments(self, input: AllQueryArguments) -> Self
pub fn all_query_arguments(self, input: AllQueryArguments) -> Self
Inspect all query arguments.
sourcepub fn set_all_query_arguments(self, input: Option<AllQueryArguments>) -> Self
pub fn set_all_query_arguments(self, input: Option<AllQueryArguments>) -> Self
Inspect all query arguments.
sourcepub fn get_all_query_arguments(&self) -> &Option<AllQueryArguments>
pub fn get_all_query_arguments(&self) -> &Option<AllQueryArguments>
Inspect all query arguments.
sourcepub fn uri_path(self, input: UriPath) -> Self
pub fn uri_path(self, input: UriPath) -> Self
Inspect the request URI path. This is the part of the web request that identifies a resource, for example, /images/daily-ad.jpg
.
sourcepub fn set_uri_path(self, input: Option<UriPath>) -> Self
pub fn set_uri_path(self, input: Option<UriPath>) -> Self
Inspect the request URI path. This is the part of the web request that identifies a resource, for example, /images/daily-ad.jpg
.
sourcepub fn get_uri_path(&self) -> &Option<UriPath>
pub fn get_uri_path(&self) -> &Option<UriPath>
Inspect the request URI path. This is the part of the web request that identifies a resource, for example, /images/daily-ad.jpg
.
sourcepub fn query_string(self, input: QueryString) -> Self
pub fn query_string(self, input: QueryString) -> Self
Inspect the query string. This is the part of a URL that appears after a ?
character, if any.
sourcepub fn set_query_string(self, input: Option<QueryString>) -> Self
pub fn set_query_string(self, input: Option<QueryString>) -> Self
Inspect the query string. This is the part of a URL that appears after a ?
character, if any.
sourcepub fn get_query_string(&self) -> &Option<QueryString>
pub fn get_query_string(&self) -> &Option<QueryString>
Inspect the query string. This is the part of a URL that appears after a ?
character, if any.
sourcepub fn body(self, input: Body) -> Self
pub fn body(self, input: Body) -> Self
Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.
WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to WAF for inspection.
-
For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).
-
For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL
AssociationConfig
, for additional processing fees.
For information about how to handle oversized request bodies, see the Body
object configuration.
sourcepub fn set_body(self, input: Option<Body>) -> Self
pub fn set_body(self, input: Option<Body>) -> Self
Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.
WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to WAF for inspection.
-
For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).
-
For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL
AssociationConfig
, for additional processing fees.
For information about how to handle oversized request bodies, see the Body
object configuration.
sourcepub fn get_body(&self) -> &Option<Body>
pub fn get_body(&self) -> &Option<Body>
Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.
WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to WAF for inspection.
-
For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).
-
For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL
AssociationConfig
, for additional processing fees.
For information about how to handle oversized request bodies, see the Body
object configuration.
sourcepub fn method(self, input: Method) -> Self
pub fn method(self, input: Method) -> Self
Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.
sourcepub fn set_method(self, input: Option<Method>) -> Self
pub fn set_method(self, input: Option<Method>) -> Self
Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.
sourcepub fn get_method(&self) -> &Option<Method>
pub fn get_method(&self) -> &Option<Method>
Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.
sourcepub fn json_body(self, input: JsonBody) -> Self
pub fn json_body(self, input: JsonBody) -> Self
Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.
WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to WAF for inspection.
-
For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).
-
For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL
AssociationConfig
, for additional processing fees.
For information about how to handle oversized request bodies, see the JsonBody
object configuration.
sourcepub fn set_json_body(self, input: Option<JsonBody>) -> Self
pub fn set_json_body(self, input: Option<JsonBody>) -> Self
Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.
WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to WAF for inspection.
-
For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).
-
For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL
AssociationConfig
, for additional processing fees.
For information about how to handle oversized request bodies, see the JsonBody
object configuration.
sourcepub fn get_json_body(&self) -> &Option<JsonBody>
pub fn get_json_body(&self) -> &Option<JsonBody>
Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.
WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to WAF for inspection.
-
For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).
-
For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL
AssociationConfig
, for additional processing fees.
For information about how to handle oversized request bodies, see the JsonBody
object configuration.
sourcepub fn headers(self, input: Headers) -> Self
pub fn headers(self, input: Headers) -> Self
Inspect the request headers. You must configure scope and pattern matching filters in the Headers
object, to define the set of headers to and the parts of the headers that WAF inspects.
Only the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the Headers
object. WAF applies the pattern matching filters to the headers that it receives from the underlying host service.
sourcepub fn set_headers(self, input: Option<Headers>) -> Self
pub fn set_headers(self, input: Option<Headers>) -> Self
Inspect the request headers. You must configure scope and pattern matching filters in the Headers
object, to define the set of headers to and the parts of the headers that WAF inspects.
Only the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the Headers
object. WAF applies the pattern matching filters to the headers that it receives from the underlying host service.
sourcepub fn get_headers(&self) -> &Option<Headers>
pub fn get_headers(&self) -> &Option<Headers>
Inspect the request headers. You must configure scope and pattern matching filters in the Headers
object, to define the set of headers to and the parts of the headers that WAF inspects.
Only the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the Headers
object. WAF applies the pattern matching filters to the headers that it receives from the underlying host service.
Inspect the request cookies. You must configure scope and pattern matching filters in the Cookies
object, to define the set of cookies and the parts of the cookies that WAF inspects.
Only the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the Cookies
object. WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
Inspect the request cookies. You must configure scope and pattern matching filters in the Cookies
object, to define the set of cookies and the parts of the cookies that WAF inspects.
Only the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the Cookies
object. WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
Inspect the request cookies. You must configure scope and pattern matching filters in the Cookies
object, to define the set of cookies and the parts of the cookies that WAF inspects.
Only the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the Cookies
object. WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
sourcepub fn header_order(self, input: HeaderOrder) -> Self
pub fn header_order(self, input: HeaderOrder) -> Self
Inspect a string containing the list of the request's header names, ordered as they appear in the web request that WAF receives for inspection. WAF generates the string and then uses that as the field to match component in its inspection. WAF separates the header names in the string using colons and no added spaces, for example host:user-agent:accept:authorization:referer
.
sourcepub fn set_header_order(self, input: Option<HeaderOrder>) -> Self
pub fn set_header_order(self, input: Option<HeaderOrder>) -> Self
Inspect a string containing the list of the request's header names, ordered as they appear in the web request that WAF receives for inspection. WAF generates the string and then uses that as the field to match component in its inspection. WAF separates the header names in the string using colons and no added spaces, for example host:user-agent:accept:authorization:referer
.
sourcepub fn get_header_order(&self) -> &Option<HeaderOrder>
pub fn get_header_order(&self) -> &Option<HeaderOrder>
Inspect a string containing the list of the request's header names, ordered as they appear in the web request that WAF receives for inspection. WAF generates the string and then uses that as the field to match component in its inspection. WAF separates the header names in the string using colons and no added spaces, for example host:user-agent:accept:authorization:referer
.
sourcepub fn ja3_fingerprint(self, input: Ja3Fingerprint) -> Self
pub fn ja3_fingerprint(self, input: Ja3Fingerprint) -> Self
Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information.
You can use this choice only with a string match ByteMatchStatement
with the PositionalConstraint
set to EXACTLY
.
You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide.
Provide the JA3 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.
sourcepub fn set_ja3_fingerprint(self, input: Option<Ja3Fingerprint>) -> Self
pub fn set_ja3_fingerprint(self, input: Option<Ja3Fingerprint>) -> Self
Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information.
You can use this choice only with a string match ByteMatchStatement
with the PositionalConstraint
set to EXACTLY
.
You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide.
Provide the JA3 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.
sourcepub fn get_ja3_fingerprint(&self) -> &Option<Ja3Fingerprint>
pub fn get_ja3_fingerprint(&self) -> &Option<Ja3Fingerprint>
Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information.
You can use this choice only with a string match ByteMatchStatement
with the PositionalConstraint
set to EXACTLY
.
You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide.
Provide the JA3 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.
sourcepub fn build(self) -> FieldToMatch
pub fn build(self) -> FieldToMatch
Consumes the builder and constructs a FieldToMatch
.
Trait Implementations§
source§impl Clone for FieldToMatchBuilder
impl Clone for FieldToMatchBuilder
source§fn clone(&self) -> FieldToMatchBuilder
fn clone(&self) -> FieldToMatchBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FieldToMatchBuilder
impl Debug for FieldToMatchBuilder
source§impl Default for FieldToMatchBuilder
impl Default for FieldToMatchBuilder
source§fn default() -> FieldToMatchBuilder
fn default() -> FieldToMatchBuilder
source§impl PartialEq for FieldToMatchBuilder
impl PartialEq for FieldToMatchBuilder
source§fn eq(&self, other: &FieldToMatchBuilder) -> bool
fn eq(&self, other: &FieldToMatchBuilder) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for FieldToMatchBuilder
Auto Trait Implementations§
impl Freeze for FieldToMatchBuilder
impl RefUnwindSafe for FieldToMatchBuilder
impl Send for FieldToMatchBuilder
impl Sync for FieldToMatchBuilder
impl Unpin for FieldToMatchBuilder
impl UnwindSafe for FieldToMatchBuilder
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