public class AWSWAFClient extends AmazonWebServiceClient implements AWSWAF
This is the AWS WAF API Reference. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide.
Modifier and Type | Field and Description |
---|---|
protected List<com.amazonaws.transform.JsonErrorUnmarshallerV2> |
jsonErrorUnmarshallers
List of exception unmarshallers for all WAF exceptions.
|
client, clientConfiguration, endpoint, LOGGING_AWS_REQUEST_METRIC, requestHandler2s, timeOffset
Constructor and Description |
---|
AWSWAFClient()
Constructs a new client to invoke service methods on WAF.
|
AWSWAFClient(AWSCredentials awsCredentials)
Constructs a new client to invoke service methods on WAF using the
specified AWS account credentials.
|
AWSWAFClient(AWSCredentials awsCredentials,
ClientConfiguration clientConfiguration)
Constructs a new client to invoke service methods on WAF using the
specified AWS account credentials and client configuration options.
|
AWSWAFClient(AWSCredentialsProvider awsCredentialsProvider)
Constructs a new client to invoke service methods on WAF using the
specified AWS account credentials provider.
|
AWSWAFClient(AWSCredentialsProvider awsCredentialsProvider,
ClientConfiguration clientConfiguration)
Constructs a new client to invoke service methods on WAF using the
specified AWS account credentials provider and client configuration
options.
|
AWSWAFClient(AWSCredentialsProvider awsCredentialsProvider,
ClientConfiguration clientConfiguration,
RequestMetricCollector requestMetricCollector)
Constructs a new client to invoke service methods on WAF using the
specified AWS account credentials provider, client configuration options,
and request metric collector.
|
AWSWAFClient(ClientConfiguration clientConfiguration)
Constructs a new client to invoke service methods on WAF.
|
Modifier and Type | Method and Description |
---|---|
CreateByteMatchSetResult |
createByteMatchSet(CreateByteMatchSetRequest createByteMatchSetRequest)
Creates a
ByteMatchSet . |
CreateIPSetResult |
createIPSet(CreateIPSetRequest createIPSetRequest)
Creates an IPSet, which you use to specify which web requests you
want to allow or block based on the IP addresses that the requests
originate from.
|
CreateRuleResult |
createRule(CreateRuleRequest createRuleRequest)
Creates a
Rule , which contains the IPSet
objects, ByteMatchSet objects, and other predicates that
identify the requests that you want to block. |
CreateSqlInjectionMatchSetResult |
createSqlInjectionMatchSet(CreateSqlInjectionMatchSetRequest createSqlInjectionMatchSetRequest)
Creates a SqlInjectionMatchSet, which you use to allow, block, or
count requests that contain snippets of SQL code in a specified part of
web requests.
|
CreateWebACLResult |
createWebACL(CreateWebACLRequest createWebACLRequest)
Creates a
WebACL , which contains the Rules that
identify the CloudFront web requests that you want to allow, block, or
count. |
DeleteByteMatchSetResult |
deleteByteMatchSet(DeleteByteMatchSetRequest deleteByteMatchSetRequest)
Permanently deletes a ByteMatchSet.
|
DeleteIPSetResult |
deleteIPSet(DeleteIPSetRequest deleteIPSetRequest)
Permanently deletes an IPSet.
|
DeleteRuleResult |
deleteRule(DeleteRuleRequest deleteRuleRequest)
Permanently deletes a Rule.
|
DeleteSqlInjectionMatchSetResult |
deleteSqlInjectionMatchSet(DeleteSqlInjectionMatchSetRequest deleteSqlInjectionMatchSetRequest)
Permanently deletes a SqlInjectionMatchSet.
|
DeleteWebACLResult |
deleteWebACL(DeleteWebACLRequest deleteWebACLRequest)
Permanently deletes a WebACL.
|
GetByteMatchSetResult |
getByteMatchSet(GetByteMatchSetRequest getByteMatchSetRequest)
Returns the ByteMatchSet specified by
ByteMatchSetId . |
ResponseMetadata |
getCachedResponseMetadata(AmazonWebServiceRequest request)
Returns additional metadata for a previously executed successful,
request, typically used for debugging issues where a service isn't acting
as expected.
|
GetChangeTokenResult |
getChangeToken(GetChangeTokenRequest getChangeTokenRequest)
When you want to create, update, or delete AWS WAF objects, get a change
token and include the change token in the create, update, or delete
request.
|
GetChangeTokenStatusResult |
getChangeTokenStatus(GetChangeTokenStatusRequest getChangeTokenStatusRequest)
Returns the status of a
ChangeToken that you got by calling
GetChangeToken. |
GetIPSetResult |
getIPSet(GetIPSetRequest getIPSetRequest)
Returns the IPSet that is specified by
IPSetId . |
GetRuleResult |
getRule(GetRuleRequest getRuleRequest)
|
GetSampledRequestsResult |
getSampledRequests(GetSampledRequestsRequest getSampledRequestsRequest)
Gets detailed information about a specified number of requests--a
sample--that AWS WAF randomly selects from among the first 5,000 requests
that your AWS resource received during a time range that you choose.
|
GetSqlInjectionMatchSetResult |
getSqlInjectionMatchSet(GetSqlInjectionMatchSetRequest getSqlInjectionMatchSetRequest)
Returns the SqlInjectionMatchSet that is specified by
SqlInjectionMatchSetId . |
GetWebACLResult |
getWebACL(GetWebACLRequest getWebACLRequest)
Returns the WebACL that is specified by
WebACLId . |
ListByteMatchSetsResult |
listByteMatchSets(ListByteMatchSetsRequest listByteMatchSetsRequest)
Returns an array of ByteMatchSetSummary objects.
|
ListIPSetsResult |
listIPSets(ListIPSetsRequest listIPSetsRequest)
Returns an array of IPSetSummary objects in the response.
|
ListRulesResult |
listRules(ListRulesRequest listRulesRequest)
Returns an array of RuleSummary objects.
|
ListSqlInjectionMatchSetsResult |
listSqlInjectionMatchSets(ListSqlInjectionMatchSetsRequest listSqlInjectionMatchSetsRequest)
Returns an array of SqlInjectionMatchSet objects.
|
ListWebACLsResult |
listWebACLs(ListWebACLsRequest listWebACLsRequest)
Returns an array of WebACLSummary objects in the response.
|
UpdateByteMatchSetResult |
updateByteMatchSet(UpdateByteMatchSetRequest updateByteMatchSetRequest)
Inserts or deletes ByteMatchTuple objects (filters) in a
ByteMatchSet.
|
UpdateIPSetResult |
updateIPSet(UpdateIPSetRequest updateIPSetRequest)
Inserts or deletes IPSetDescriptor objects in an
IPSet . |
UpdateRuleResult |
updateRule(UpdateRuleRequest updateRuleRequest)
Inserts or deletes Predicate objects in a
Rule . |
UpdateSqlInjectionMatchSetResult |
updateSqlInjectionMatchSet(UpdateSqlInjectionMatchSetRequest updateSqlInjectionMatchSetRequest)
Inserts or deletes SqlInjectionMatchTuple objects (filters) in a
SqlInjectionMatchSet.
|
UpdateWebACLResult |
updateWebACL(UpdateWebACLRequest updateWebACLRequest)
Inserts or deletes ActivatedRule objects in a
WebACL . |
addRequestHandler, addRequestHandler, beforeMarshalling, configSigner, configSigner, configureRegion, createExecutionContext, createExecutionContext, createExecutionContext, endClientExecution, endClientExecution, findRequestMetricCollector, getRequestMetricsCollector, getServiceAbbreviation, getServiceName, getServiceNameIntern, getSigner, getSignerByURI, getSignerRegionOverride, getTimeOffset, isProfilingEnabled, isRequestMetricsEnabled, removeRequestHandler, removeRequestHandler, requestMetricCollector, setEndpoint, setEndpoint, setEndpointPrefix, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, shutdown, withEndpoint, withRegion, withRegion, withTimeOffset
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setEndpoint, setRegion, shutdown
protected List<com.amazonaws.transform.JsonErrorUnmarshallerV2> jsonErrorUnmarshallers
public AWSWAFClient()
All service calls made using this new client object are blocking, and will not return until the service call completes.
DefaultAWSCredentialsProviderChain
public AWSWAFClient(ClientConfiguration clientConfiguration)
All service calls made using this new client object are blocking, and will not return until the service call completes.
clientConfiguration
- The client configuration options controlling how this client
connects to WAF (ex: proxy settings, retry counts, etc.).DefaultAWSCredentialsProviderChain
public AWSWAFClient(AWSCredentials awsCredentials)
All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentials
- The AWS credentials (access key ID and secret key) to use when
authenticating with AWS services.public AWSWAFClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration)
All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentials
- The AWS credentials (access key ID and secret key) to use when
authenticating with AWS services.clientConfiguration
- The client configuration options controlling how this client
connects to WAF (ex: proxy settings, retry counts, etc.).public AWSWAFClient(AWSCredentialsProvider awsCredentialsProvider)
All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to
authenticate requests with AWS services.public AWSWAFClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)
All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to
authenticate requests with AWS services.clientConfiguration
- The client configuration options controlling how this client
connects to WAF (ex: proxy settings, retry counts, etc.).public AWSWAFClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector)
All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to
authenticate requests with AWS services.clientConfiguration
- The client configuration options controlling how this client
connects to WAF (ex: proxy settings, retry counts, etc.).requestMetricCollector
- optional request metric collectorpublic CreateByteMatchSetResult createByteMatchSet(CreateByteMatchSetRequest createByteMatchSetRequest)
Creates a ByteMatchSet
. You then use
UpdateByteMatchSet to identify the part of a web request that you
want AWS WAF to inspect, such as the values of the
User-Agent
header or the query string. For example, you can
create a ByteMatchSet
that matches any requests with
User-Agent
headers that contain the string
BadBot
. You can then configure AWS WAF to reject those
requests.
To create and configure a ByteMatchSet
, perform the
following steps:
ChangeToken
parameter of a
CreateByteMatchSet
request.CreateByteMatchSet
request.GetChangeToken
to get the change token that you
provide in the ChangeToken
parameter of an
UpdateByteMatchSet
request.For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
createByteMatchSet
in interface AWSWAF
createByteMatchSetRequest
- WAFDisallowedNameException
- The name specified is invalid.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public CreateIPSetResult createIPSet(CreateIPSetRequest createIPSetRequest)
Creates an IPSet, which you use to specify which web requests you
want to allow or block based on the IP addresses that the requests
originate from. For example, if you're receiving a lot of requests from
one or more individual IP addresses or one or more ranges of IP addresses
and you want to block the requests, you can create an IPSet
that contains those IP addresses and then configure AWS WAF to block the
requests.
To create and configure an IPSet
, perform the following
steps:
ChangeToken
parameter of a CreateIPSet
request.CreateIPSet
request.GetChangeToken
to get the change token that you
provide in the ChangeToken
parameter of an
UpdateIPSet request.UpdateIPSet
request to specify the IP
addresses that you want AWS WAF to watch for.For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
createIPSet
in interface AWSWAF
createIPSetRequest
- WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFDisallowedNameException
- The name specified is invalid.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public CreateRuleResult createRule(CreateRuleRequest createRuleRequest)
Creates a Rule
, which contains the IPSet
objects, ByteMatchSet
objects, and other predicates that
identify the requests that you want to block. If you add more than one
predicate to a Rule
, a request must match all of the
specifications to be allowed or blocked. For example, suppose you add the
following to a Rule
:
IPSet
that matches the IP address
192.0.2.44/32
ByteMatchSet
that matches BadBot
in the
User-Agent
header
You then add the Rule
to a WebACL
and specify
that you want to blocks requests that satisfy the Rule
. For
a request to be blocked, it must come from the IP address 192.0.2.44
and the User-Agent
header in the request must contain
the value BadBot
.
To create and configure a Rule
, perform the following steps:
Rule
. For more information, see CreateByteMatchSet,
CreateIPSet, and CreateSqlInjectionMatchSet.ChangeToken
parameter of a CreateRule
request.CreateRule
request.GetChangeToken
to get the change token that you
provide in the ChangeToken
parameter of an UpdateRule
request.UpdateRule
request to specify the predicates
that you want to include in the Rule
.WebACL
that contains the
Rule
. For more information, see CreateWebACL.For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
createRule
in interface AWSWAF
createRuleRequest
- WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFDisallowedNameException
- The name specified is invalid.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public CreateSqlInjectionMatchSetResult createSqlInjectionMatchSet(CreateSqlInjectionMatchSetRequest createSqlInjectionMatchSetRequest)
Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.
To create and configure a SqlInjectionMatchSet
, perform the
following steps:
ChangeToken
parameter of a
CreateSqlInjectionMatchSet
request.CreateSqlInjectionMatchSet
request.GetChangeToken
to get the change token that you
provide in the ChangeToken
parameter of an
UpdateSqlInjectionMatchSet request.For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
createSqlInjectionMatchSet
in interface AWSWAF
createSqlInjectionMatchSetRequest
- A request to create a SqlInjectionMatchSet.WAFDisallowedNameException
- The name specified is invalid.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public CreateWebACLResult createWebACL(CreateWebACLRequest createWebACLRequest)
Creates a WebACL
, which contains the Rules
that
identify the CloudFront web requests that you want to allow, block, or
count. AWS WAF evaluates Rules
in order based on the value
of Priority
for each Rule
.
You also specify a default action, either ALLOW
or
BLOCK
. If a web request doesn't match any of the
Rules
in a WebACL
, AWS WAF responds to the
request with the default action.
To create and configure a WebACL
, perform the following
steps:
ByteMatchSet
objects and other
predicates that you want to include in Rules
. For more
information, see CreateByteMatchSet, UpdateByteMatchSet,
CreateIPSet, UpdateIPSet,
CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
Rules
that you want to include in
the WebACL
. For more information, see CreateRule and
UpdateRule.ChangeToken
parameter of a CreateWebACL
request.CreateWebACL
request.GetChangeToken
to get the change token that you
provide in the ChangeToken
parameter of an
UpdateWebACL request.Rules
that you want to include in the WebACL
,
to specify the default action, and to associate the WebACL
with a CloudFront distribution.For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.
createWebACL
in interface AWSWAF
createWebACLRequest
- WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFDisallowedNameException
- The name specified is invalid.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public DeleteByteMatchSetResult deleteByteMatchSet(DeleteByteMatchSetRequest deleteByteMatchSetRequest)
Permanently deletes a ByteMatchSet. You can't delete a
ByteMatchSet
if it's still used in any Rules
or
if it still includes any ByteMatchTuple objects (any filters).
If you just want to remove a ByteMatchSet
from a
Rule
, use UpdateRule.
To permanently delete a ByteMatchSet
, perform the following
steps:
ByteMatchSet
to remove filters, if any. For
more information, see UpdateByteMatchSet.ChangeToken
parameter of a
DeleteByteMatchSet
request.DeleteByteMatchSet
request.deleteByteMatchSet
in interface AWSWAF
deleteByteMatchSetRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFReferencedItemException
- The operation failed because you tried to delete an object that
is still in use. For example:
ByteMatchSet
that is still
referenced by a Rule
.Rule
that is still
referenced by a WebACL
.WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFNonEmptyEntityException
- The operation failed because you tried to delete an object that
isn't empty. For example:
WebACL
that still contains
one or more Rule
objects.Rule
that still contains
one or more ByteMatchSet
objects or other
predicates.ByteMatchSet
that contains
one or more ByteMatchTuple
objects.IPSet
that references one
or more IP addresses.public DeleteIPSetResult deleteIPSet(DeleteIPSetRequest deleteIPSetRequest)
Permanently deletes an IPSet. You can't delete an
IPSet
if it's still used in any Rules
or if it
still includes any IP addresses.
If you just want to remove an IPSet
from a Rule
, use UpdateRule.
To permanently delete an IPSet
from AWS WAF, perform the
following steps:
IPSet
to remove IP address ranges, if any.
For more information, see UpdateIPSet.ChangeToken
parameter of a DeleteIPSet
request.DeleteIPSet
request.deleteIPSet
in interface AWSWAF
deleteIPSetRequest
- WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFReferencedItemException
- The operation failed because you tried to delete an object that
is still in use. For example:
ByteMatchSet
that is still
referenced by a Rule
.Rule
that is still
referenced by a WebACL
.WAFNonEmptyEntityException
- The operation failed because you tried to delete an object that
isn't empty. For example:
WebACL
that still contains
one or more Rule
objects.Rule
that still contains
one or more ByteMatchSet
objects or other
predicates.ByteMatchSet
that contains
one or more ByteMatchTuple
objects.IPSet
that references one
or more IP addresses.public DeleteRuleResult deleteRule(DeleteRuleRequest deleteRuleRequest)
Permanently deletes a Rule. You can't delete a Rule
if it's still used in any WebACL
objects or if it still
includes any predicates, such as ByteMatchSet
objects.
If you just want to remove a Rule
from a WebACL
, use UpdateWebACL.
To permanently delete a Rule
from AWS WAF, perform the
following steps:
Rule
to remove predicates, if any. For more
information, see UpdateRule.ChangeToken
parameter of a DeleteRule
request.DeleteRule
request.deleteRule
in interface AWSWAF
deleteRuleRequest
- WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFReferencedItemException
- The operation failed because you tried to delete an object that
is still in use. For example:
ByteMatchSet
that is still
referenced by a Rule
.Rule
that is still
referenced by a WebACL
.WAFNonEmptyEntityException
- The operation failed because you tried to delete an object that
isn't empty. For example:
WebACL
that still contains
one or more Rule
objects.Rule
that still contains
one or more ByteMatchSet
objects or other
predicates.ByteMatchSet
that contains
one or more ByteMatchTuple
objects.IPSet
that references one
or more IP addresses.public DeleteSqlInjectionMatchSetResult deleteSqlInjectionMatchSet(DeleteSqlInjectionMatchSetRequest deleteSqlInjectionMatchSetRequest)
Permanently deletes a SqlInjectionMatchSet. You can't delete a
SqlInjectionMatchSet
if it's still used in any
Rules
or if it still contains any
SqlInjectionMatchTuple objects.
If you just want to remove a SqlInjectionMatchSet
from a
Rule
, use UpdateRule.
To permanently delete a SqlInjectionMatchSet
from AWS WAF,
perform the following steps:
SqlInjectionMatchSet
to remove filters, if
any. For more information, see UpdateSqlInjectionMatchSet.ChangeToken
parameter of a
DeleteSqlInjectionMatchSet
request.DeleteSqlInjectionMatchSet
request.deleteSqlInjectionMatchSet
in interface AWSWAF
deleteSqlInjectionMatchSetRequest
- A request to delete a SqlInjectionMatchSet from AWS WAF.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFReferencedItemException
- The operation failed because you tried to delete an object that
is still in use. For example:
ByteMatchSet
that is still
referenced by a Rule
.Rule
that is still
referenced by a WebACL
.WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFNonEmptyEntityException
- The operation failed because you tried to delete an object that
isn't empty. For example:
WebACL
that still contains
one or more Rule
objects.Rule
that still contains
one or more ByteMatchSet
objects or other
predicates.ByteMatchSet
that contains
one or more ByteMatchTuple
objects.IPSet
that references one
or more IP addresses.public DeleteWebACLResult deleteWebACL(DeleteWebACLRequest deleteWebACLRequest)
Permanently deletes a WebACL. You can't delete a
WebACL
if it still contains any Rules
.
To delete a WebACL
, perform the following steps:
WebACL
to remove Rules
, if any.
For more information, see UpdateWebACL.ChangeToken
parameter of a DeleteWebACL
request.DeleteWebACL
request.deleteWebACL
in interface AWSWAF
deleteWebACLRequest
- WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFReferencedItemException
- The operation failed because you tried to delete an object that
is still in use. For example:
ByteMatchSet
that is still
referenced by a Rule
.Rule
that is still
referenced by a WebACL
.WAFNonEmptyEntityException
- The operation failed because you tried to delete an object that
isn't empty. For example:
WebACL
that still contains
one or more Rule
objects.Rule
that still contains
one or more ByteMatchSet
objects or other
predicates.ByteMatchSet
that contains
one or more ByteMatchTuple
objects.IPSet
that references one
or more IP addresses.public GetByteMatchSetResult getByteMatchSet(GetByteMatchSetRequest getByteMatchSetRequest)
Returns the ByteMatchSet specified by ByteMatchSetId
.
getByteMatchSet
in interface AWSWAF
getByteMatchSetRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.public GetChangeTokenResult getChangeToken(GetChangeTokenRequest getChangeTokenRequest)
When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF.
Each create, update, or delete request must use a unique change token. If
your application submits a GetChangeToken
request and then
submits a second GetChangeToken
request before submitting a
create, update, or delete request, the second GetChangeToken
request returns the same value as the first GetChangeToken
request.
When you use a change token in a create, update, or delete request, the
status of the change token changes to PENDING
, which
indicates that AWS WAF is propagating the change to all AWS WAF servers.
Use GetChangeTokenStatus
to determine the status of your
change token.
getChangeToken
in interface AWSWAF
getChangeTokenRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.public GetChangeTokenStatusResult getChangeTokenStatus(GetChangeTokenStatusRequest getChangeTokenStatusRequest)
Returns the status of a ChangeToken
that you got by calling
GetChangeToken. ChangeTokenStatus
is one of the
following values:
PROVISIONED
: You requested the change token by calling
GetChangeToken
, but you haven't used it yet in a call to
create, update, or delete an AWS WAF object.PENDING
: AWS WAF is propagating the create, update, or
delete request to all AWS WAF servers.IN_SYNC
: Propagation is complete.getChangeTokenStatus
in interface AWSWAF
getChangeTokenStatusRequest
- WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.public GetIPSetResult getIPSet(GetIPSetRequest getIPSetRequest)
Returns the IPSet that is specified by IPSetId
.
getIPSet
in interface AWSWAF
getIPSetRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.public GetRuleResult getRule(GetRuleRequest getRuleRequest)
Returns the Rule that is specified by the RuleId
that
you included in the GetRule
request.
getRule
in interface AWSWAF
getRuleRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.public GetSampledRequestsResult getSampledRequests(GetSampledRequestsRequest getSampledRequestsRequest)
Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 100 requests, and you can specify any time range in the previous three hours.
GetSampledRequests
returns a time range, which is usually
the time range that you specified. However, if your resource (such as a
CloudFront distribution) received 5,000 requests before the specified
time range elapsed, GetSampledRequests
returns an updated
time range. This new time range indicates the actual period during which
AWS WAF selected the requests in the sample.
getSampledRequests
in interface AWSWAF
getSampledRequestsRequest
- WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.public GetSqlInjectionMatchSetResult getSqlInjectionMatchSet(GetSqlInjectionMatchSetRequest getSqlInjectionMatchSetRequest)
Returns the SqlInjectionMatchSet that is specified by
SqlInjectionMatchSetId
.
getSqlInjectionMatchSet
in interface AWSWAF
getSqlInjectionMatchSetRequest
- A request to get a SqlInjectionMatchSet.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.public GetWebACLResult getWebACL(GetWebACLRequest getWebACLRequest)
Returns the WebACL that is specified by WebACLId
.
getWebACL
in interface AWSWAF
getWebACLRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.public ListByteMatchSetsResult listByteMatchSets(ListByteMatchSetsRequest listByteMatchSetsRequest)
Returns an array of ByteMatchSetSummary objects.
listByteMatchSets
in interface AWSWAF
listByteMatchSetsRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.public ListIPSetsResult listIPSets(ListIPSetsRequest listIPSetsRequest)
Returns an array of IPSetSummary objects in the response.
listIPSets
in interface AWSWAF
listIPSetsRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.public ListRulesResult listRules(ListRulesRequest listRulesRequest)
Returns an array of RuleSummary objects.
listRules
in interface AWSWAF
listRulesRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.public ListSqlInjectionMatchSetsResult listSqlInjectionMatchSets(ListSqlInjectionMatchSetsRequest listSqlInjectionMatchSetsRequest)
Returns an array of SqlInjectionMatchSet objects.
listSqlInjectionMatchSets
in interface AWSWAF
listSqlInjectionMatchSetsRequest
- A request to list the SqlInjectionMatchSet objects created
by the current AWS account.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.public ListWebACLsResult listWebACLs(ListWebACLsRequest listWebACLsRequest)
Returns an array of WebACLSummary objects in the response.
listWebACLs
in interface AWSWAF
listWebACLsRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.public UpdateByteMatchSetResult updateByteMatchSet(UpdateByteMatchSetRequest updateByteMatchSetRequest)
Inserts or deletes ByteMatchTuple objects (filters) in a
ByteMatchSet. For each ByteMatchTuple
object, you
specify the following values:
ByteMatchSetUpdate
object, you delete the existing
object and add a new one.User-Agent
header.TargetString
in the ByteMatchTuple data type.
For example, you can add a ByteMatchSetUpdate
object that
matches web requests in which User-Agent
headers contain the
string BadBot
. You can then configure AWS WAF to block those
requests.
To create and configure a ByteMatchSet
, perform the
following steps:
ByteMatchSet.
For more information, see
CreateByteMatchSet.ChangeToken
parameter of an
UpdateByteMatchSet
request.UpdateByteMatchSet
request to specify the part
of the request that you want AWS WAF to inspect (for example, the header
or the URI) and the value that you want AWS WAF to watch for.For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
updateByteMatchSet
in interface AWSWAF
updateByteMatchSetRequest
- WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFInvalidOperationException
- The operation failed because there was nothing to do. For
example:
Rule
from a
WebACL
, but the Rule
isn't in the
specified WebACL
.IPSet
,
but the IP address isn't in the specified IPSet
.ByteMatchTuple
from a
ByteMatchSet
, but the ByteMatchTuple
isn't in the specified WebACL
.Rule
to a WebACL
, but the Rule
already exists in the specified
WebACL
.IPSet
, but
the IP address already exists in the specified IPSet
.ByteMatchTuple
to a
ByteMatchSet
, but the ByteMatchTuple
already exists in the specified WebACL
.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFNonexistentContainerException
- The operation failed because you tried to add an object to or
delete an object from another object that doesn't exist. For
example:
Rule
to or delete a
Rule
from a WebACL
that doesn't exist.ByteMatchSet
to or delete a
ByteMatchSet
from a Rule
that doesn't
exist.IPSet
that doesn't exist.ByteMatchTuple
to or delete a
ByteMatchTuple
from a ByteMatchSet
that
doesn't exist.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public UpdateIPSetResult updateIPSet(UpdateIPSetRequest updateIPSetRequest)
Inserts or deletes IPSetDescriptor objects in an
IPSet
. For each IPSetDescriptor
object, you
specify the following values:
IPSetDescriptor
object, you delete the existing
object and add a new one.IPv4
.192.0.2.0/24
(for the range of IP addresses from
192.0.2.0
to 192.0.2.255
) or
192.0.2.44/32
(for the individual IP address
192.0.2.44
).AWS WAF supports /8, /16, /24, and /32 IP address ranges. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.
You use an IPSet
to specify which web requests you want to
allow or block based on the IP addresses that the requests originated
from. For example, if you're receiving a lot of requests from one or a
small number of IP addresses and you want to block the requests, you can
create an IPSet
that specifies those IP addresses, and then
configure AWS WAF to block the requests.
To create and configure an IPSet
, perform the following
steps:
ChangeToken
parameter of an UpdateIPSet request.UpdateIPSet
request to specify the IP
addresses that you want AWS WAF to watch for.
When you update an IPSet
, you specify the IP addresses that
you want to add and/or the IP addresses that you want to delete. If you
want to change an IP address, you delete the existing IP address and add
the new one.
For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
updateIPSet
in interface AWSWAF
updateIPSetRequest
- WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFInvalidOperationException
- The operation failed because there was nothing to do. For
example:
Rule
from a
WebACL
, but the Rule
isn't in the
specified WebACL
.IPSet
,
but the IP address isn't in the specified IPSet
.ByteMatchTuple
from a
ByteMatchSet
, but the ByteMatchTuple
isn't in the specified WebACL
.Rule
to a WebACL
, but the Rule
already exists in the specified
WebACL
.IPSet
, but
the IP address already exists in the specified IPSet
.ByteMatchTuple
to a
ByteMatchSet
, but the ByteMatchTuple
already exists in the specified WebACL
.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFNonexistentContainerException
- The operation failed because you tried to add an object to or
delete an object from another object that doesn't exist. For
example:
Rule
to or delete a
Rule
from a WebACL
that doesn't exist.ByteMatchSet
to or delete a
ByteMatchSet
from a Rule
that doesn't
exist.IPSet
that doesn't exist.ByteMatchTuple
to or delete a
ByteMatchTuple
from a ByteMatchSet
that
doesn't exist.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFReferencedItemException
- The operation failed because you tried to delete an object that
is still in use. For example:
ByteMatchSet
that is still
referenced by a Rule
.Rule
that is still
referenced by a WebACL
.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public UpdateRuleResult updateRule(UpdateRuleRequest updateRuleRequest)
Inserts or deletes Predicate objects in a Rule
. Each
Predicate
object identifies a predicate, such as a
ByteMatchSet or an IPSet, that specifies the web requests
that you want to allow, block, or count. If you add more than one
predicate to a Rule
, a request must match all of the
specifications to be allowed, blocked, or counted. For example, suppose
you add the following to a Rule
:
ByteMatchSet
that matches the value
BadBot
in the User-Agent
headerIPSet
that matches the IP address
192.0.2.44
You then add the Rule
to a WebACL
and specify
that you want to block requests that satisfy the Rule
. For a
request to be blocked, the User-Agent
header in the request
must contain the value BadBot
and the request must
originate from the IP address 192.0.2.44.
To create and configure a Rule
, perform the following steps:
Rule
.Rule
. See CreateRule.GetChangeToken
to get the change token that you
provide in the ChangeToken
parameter of an UpdateRule
request.UpdateRule
request to add predicates to the
Rule
.WebACL
that contains the
Rule
. See CreateWebACL.
If you want to replace one ByteMatchSet
or
IPSet
with another, you delete the existing one and add the
new one.
For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
updateRule
in interface AWSWAF
updateRuleRequest
- WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFInvalidOperationException
- The operation failed because there was nothing to do. For
example:
Rule
from a
WebACL
, but the Rule
isn't in the
specified WebACL
.IPSet
,
but the IP address isn't in the specified IPSet
.ByteMatchTuple
from a
ByteMatchSet
, but the ByteMatchTuple
isn't in the specified WebACL
.Rule
to a WebACL
, but the Rule
already exists in the specified
WebACL
.IPSet
, but
the IP address already exists in the specified IPSet
.ByteMatchTuple
to a
ByteMatchSet
, but the ByteMatchTuple
already exists in the specified WebACL
.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFNonexistentContainerException
- The operation failed because you tried to add an object to or
delete an object from another object that doesn't exist. For
example:
Rule
to or delete a
Rule
from a WebACL
that doesn't exist.ByteMatchSet
to or delete a
ByteMatchSet
from a Rule
that doesn't
exist.IPSet
that doesn't exist.ByteMatchTuple
to or delete a
ByteMatchTuple
from a ByteMatchSet
that
doesn't exist.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFReferencedItemException
- The operation failed because you tried to delete an object that
is still in use. For example:
ByteMatchSet
that is still
referenced by a Rule
.Rule
that is still
referenced by a WebACL
.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public UpdateSqlInjectionMatchSetResult updateSqlInjectionMatchSet(UpdateSqlInjectionMatchSetRequest updateSqlInjectionMatchSetRequest)
Inserts or deletes SqlInjectionMatchTuple objects (filters) in a
SqlInjectionMatchSet. For each SqlInjectionMatchTuple
object, you specify the following values:
Action
: Whether to insert the object into or delete the
object from the array. To change a SqlInjectionMatchTuple
,
you delete the existing object and add a new one.FieldToMatch
: The part of web requests that you want AWS
WAF to inspect and, if you want AWS WAF to inspect a header, the name of
the header.TextTransformation
: Which text transformation, if any,
to perform on the web request before inspecting the request for snippets
of malicious SQL code.
You use SqlInjectionMatchSet
objects to specify which
CloudFront requests you want to allow, block, or count. For example, if
you're receiving requests that contain snippets of SQL code in the query
string and you want to block the requests, you can create a
SqlInjectionMatchSet
with the applicable settings, and then
configure AWS WAF to block the requests.
To create and configure a SqlInjectionMatchSet
, perform the
following steps:
ChangeToken
parameter of an UpdateIPSet request.UpdateSqlInjectionMatchSet
request to specify
the parts of web requests that you want AWS WAF to inspect for snippets
of SQL code.For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
updateSqlInjectionMatchSet
in interface AWSWAF
updateSqlInjectionMatchSetRequest
- A request to update a SqlInjectionMatchSet.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFInvalidOperationException
- The operation failed because there was nothing to do. For
example:
Rule
from a
WebACL
, but the Rule
isn't in the
specified WebACL
.IPSet
,
but the IP address isn't in the specified IPSet
.ByteMatchTuple
from a
ByteMatchSet
, but the ByteMatchTuple
isn't in the specified WebACL
.Rule
to a WebACL
, but the Rule
already exists in the specified
WebACL
.IPSet
, but
the IP address already exists in the specified IPSet
.ByteMatchTuple
to a
ByteMatchSet
, but the ByteMatchTuple
already exists in the specified WebACL
.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFNonexistentContainerException
- The operation failed because you tried to add an object to or
delete an object from another object that doesn't exist. For
example:
Rule
to or delete a
Rule
from a WebACL
that doesn't exist.ByteMatchSet
to or delete a
ByteMatchSet
from a Rule
that doesn't
exist.IPSet
that doesn't exist.ByteMatchTuple
to or delete a
ByteMatchTuple
from a ByteMatchSet
that
doesn't exist.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public UpdateWebACLResult updateWebACL(UpdateWebACLRequest updateWebACLRequest)
Inserts or deletes ActivatedRule objects in a WebACL
.
Each Rule
identifies web requests that you want to allow,
block, or count. When you update a WebACL
, you specify the
following values:
WebACL
, either
ALLOW
or BLOCK
. AWS WAF performs the default
action if a request doesn't match the criteria in any of the
Rules
in a WebACL
.Rules
that you want to add and/or delete. If you
want to replace one Rule
with another, you delete the
existing Rule
and add the new one.Rule
, whether you want AWS WAF to allow
requests, block requests, or count requests that match the conditions in
the Rule
.Rules
in a WebACL
. If you add more than one
Rule
to a WebACL
, AWS WAF evaluates each
request against the Rules
in order based on the value of
Priority
. (The Rule
that has the lowest value
for Priority
is evaluated first.) When a web request matches
all of the predicates (such as ByteMatchSets
and
IPSets
) in a Rule
, AWS WAF immediately takes
the corresponding action, allow or block, and doesn't evaluate the
request against the remaining Rules
in the
WebACL
, if any.WebACL
.
To create and configure a WebACL
, perform the following
steps:
Rules
. For more information, see CreateByteMatchSet,
UpdateByteMatchSet, CreateIPSet, UpdateIPSet,
CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
Rules
that you want to include in
the WebACL
. For more information, see CreateRule and
UpdateRule.WebACL
. See CreateWebACL.GetChangeToken
to get the change token that you
provide in the ChangeToken
parameter of an
UpdateWebACL request.UpdateWebACL
request to specify the
Rules
that you want to include in the WebACL
,
to specify the default action, and to associate the WebACL
with a CloudFront distribution.For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
updateWebACL
in interface AWSWAF
updateWebACLRequest
- WAFStaleDataException
- The operation failed because you tried to create, update, or
delete an object by using a change token that has already been
used.WAFInternalErrorException
- The operation failed because of a system problem, even though the
request was valid. Retry your request.WAFInvalidAccountException
- The operation failed because you tried to create, update, or
delete an object by using an invalid account identifier.WAFInvalidOperationException
- The operation failed because there was nothing to do. For
example:
Rule
from a
WebACL
, but the Rule
isn't in the
specified WebACL
.IPSet
,
but the IP address isn't in the specified IPSet
.ByteMatchTuple
from a
ByteMatchSet
, but the ByteMatchTuple
isn't in the specified WebACL
.Rule
to a WebACL
, but the Rule
already exists in the specified
WebACL
.IPSet
, but
the IP address already exists in the specified IPSet
.ByteMatchTuple
to a
ByteMatchSet
, but the ByteMatchTuple
already exists in the specified WebACL
.WAFInvalidParameterException
- The operation failed because AWS WAF didn't recognize a parameter
in the request. For example:
ByteMatchSet
,
IPSet
, Rule
, or WebACL
)
using an action other than INSERT
or
DELETE
.WebACL
with a
DefaultAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.WebACL
with a
WafAction
Type
other than
ALLOW
, BLOCK
, or COUNT
.ByteMatchSet
with a
FieldToMatch
Type
other than HEADER,
QUERY_STRING, or URI.ByteMatchSet
with a
Field
of HEADER
but no value for
Data
.WAFNonexistentContainerException
- The operation failed because you tried to add an object to or
delete an object from another object that doesn't exist. For
example:
Rule
to or delete a
Rule
from a WebACL
that doesn't exist.ByteMatchSet
to or delete a
ByteMatchSet
from a Rule
that doesn't
exist.IPSet
that doesn't exist.ByteMatchTuple
to or delete a
ByteMatchTuple
from a ByteMatchSet
that
doesn't exist.WAFNonexistentItemException
- The operation failed because the referenced object doesn't exist.WAFReferencedItemException
- The operation failed because you tried to delete an object that
is still in use. For example:
ByteMatchSet
that is still
referenced by a Rule
.Rule
that is still
referenced by a WebACL
.WAFLimitsExceededException
- The operation exceeds a resource limit, for example, the maximum
number of WebACL
objects that you can create for an
AWS account. For more information, see Limits in the AWS WAF Developer Guide.public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing the request.
getCachedResponseMetadata
in interface AWSWAF
request
- The originally executed requestCopyright © 2015. All rights reserved.