@Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class GeoMatchStatement extends Object implements Serializable, Cloneable, StructuredPojo
A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match.
To manage requests only by country, you can use this statement by itself and specify the countries that you want to
match against in the CountryCodes
array.
Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed.
WAF labels requests using the alpha-2 country and region codes from the International Organization for
Standardization (ISO) 3166 standard. WAF determines the codes using either the IP address in the web request origin
or, if you specify it, the address in the geo match ForwardedIPConfig
.
If you use the web request origin, the label formats are
awswaf:clientip:geo:region:<ISO country code>-<ISO region code>
and
awswaf:clientip:geo:country:<ISO country code>
.
If you use a forwarded IP address, the label formats are
awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code>
and
awswaf:forwardedip:geo:country:<ISO country code>
.
For additional details, see Geographic match rule statement in the WAF Developer Guide.
Constructor and Description |
---|
GeoMatchStatement() |
Modifier and Type | Method and Description |
---|---|
GeoMatchStatement |
clone() |
boolean |
equals(Object obj) |
List<String> |
getCountryCodes()
An array of two-character country codes that you want to match against, for example,
[ "US", "CN" ] ,
from the alpha-2 country ISO codes of the ISO 3166 international standard. |
ForwardedIPConfig |
getForwardedIPConfig()
The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address
that's reported by the web request origin.
|
int |
hashCode() |
void |
marshall(ProtocolMarshaller protocolMarshaller)
Marshalls this structured data using the given
ProtocolMarshaller . |
void |
setCountryCodes(Collection<String> countryCodes)
An array of two-character country codes that you want to match against, for example,
[ "US", "CN" ] ,
from the alpha-2 country ISO codes of the ISO 3166 international standard. |
void |
setForwardedIPConfig(ForwardedIPConfig forwardedIPConfig)
The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address
that's reported by the web request origin.
|
String |
toString()
Returns a string representation of this object.
|
GeoMatchStatement |
withCountryCodes(Collection<String> countryCodes)
An array of two-character country codes that you want to match against, for example,
[ "US", "CN" ] ,
from the alpha-2 country ISO codes of the ISO 3166 international standard. |
GeoMatchStatement |
withCountryCodes(CountryCode... countryCodes)
An array of two-character country codes that you want to match against, for example,
[ "US", "CN" ] ,
from the alpha-2 country ISO codes of the ISO 3166 international standard. |
GeoMatchStatement |
withCountryCodes(String... countryCodes)
An array of two-character country codes that you want to match against, for example,
[ "US", "CN" ] ,
from the alpha-2 country ISO codes of the ISO 3166 international standard. |
GeoMatchStatement |
withForwardedIPConfig(ForwardedIPConfig forwardedIPConfig)
The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address
that's reported by the web request origin.
|
public List<String> getCountryCodes()
An array of two-character country codes that you want to match against, for example, [ "US", "CN" ]
,
from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
[ "US", "CN" ]
, from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
CountryCode
public void setCountryCodes(Collection<String> countryCodes)
An array of two-character country codes that you want to match against, for example, [ "US", "CN" ]
,
from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
countryCodes
- An array of two-character country codes that you want to match against, for example,
[ "US", "CN" ]
, from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
CountryCode
public GeoMatchStatement withCountryCodes(String... countryCodes)
An array of two-character country codes that you want to match against, for example, [ "US", "CN" ]
,
from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
NOTE: This method appends the values to the existing list (if any). Use
setCountryCodes(java.util.Collection)
or withCountryCodes(java.util.Collection)
if you want to
override the existing values.
countryCodes
- An array of two-character country codes that you want to match against, for example,
[ "US", "CN" ]
, from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
CountryCode
public GeoMatchStatement withCountryCodes(Collection<String> countryCodes)
An array of two-character country codes that you want to match against, for example, [ "US", "CN" ]
,
from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
countryCodes
- An array of two-character country codes that you want to match against, for example,
[ "US", "CN" ]
, from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
CountryCode
public GeoMatchStatement withCountryCodes(CountryCode... countryCodes)
An array of two-character country codes that you want to match against, for example, [ "US", "CN" ]
,
from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
countryCodes
- An array of two-character country codes that you want to match against, for example,
[ "US", "CN" ]
, from the alpha-2 country ISO codes of the ISO 3166 international standard.
When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.
CountryCode
public void setForwardedIPConfig(ForwardedIPConfig forwardedIPConfig)
The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.
forwardedIPConfig
- The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP
address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but
you can specify any header name. If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.
public ForwardedIPConfig getForwardedIPConfig()
The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.
If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.
public GeoMatchStatement withForwardedIPConfig(ForwardedIPConfig forwardedIPConfig)
The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.
forwardedIPConfig
- The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP
address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but
you can specify any header name. If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.
public String toString()
toString
in class Object
Object.toString()
public GeoMatchStatement clone()
public void marshall(ProtocolMarshaller protocolMarshaller)
StructuredPojo
ProtocolMarshaller
.marshall
in interface StructuredPojo
protocolMarshaller
- Implementation of ProtocolMarshaller
used to marshall this object's data.