AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
This is AWS WAF Classic documentation. For more information, see AWS
WAF Classic in the developer guide.
For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints
for regional and global use.
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:
Create and update the ByteMatchSet
objects and other predicates that you want
to include in Rules
. For more information, see CreateByteMatchSet, UpdateByteMatchSet,
CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
Create and update the Rules
that you want to include in the WebACL
.
For more information, see CreateRule and UpdateRule.
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a CreateWebACL
request.
Submit a CreateWebACL
request.
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an UpdateWebACL request.
Submit an 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, see the AWS WAF Developer Guide.
For .NET Core this operation is only available in asynchronous form. Please refer to CreateWebACLAsync.
Namespace: Amazon.WAF
Assembly: AWSSDK.WAF.dll
Version: 3.x.y.z
public virtual CreateWebACLResponse CreateWebACL( CreateWebACLRequest request )
Container for the necessary parameters to execute the CreateWebACL service method.
Exception | Condition |
---|---|
WAFBadRequestException | |
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: You specified an invalid parameter name. You specified an invalid value. You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE. You tried to create a WebACL with a DefaultActionType other than ALLOW, BLOCK, or COUNT. You tried to create a RateBasedRule with a RateKey value other than IP. You tried to update a WebACL with a WafActionType other than ALLOW, BLOCK, or COUNT. You tried to update a ByteMatchSet with a FieldToMatchType other than HEADER, METHOD, QUERY_STRING, URI, or BODY. You tried to update a ByteMatchSet with a Field of HEADER but no value for Data. Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated. |
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. |
WAFStaleDataException | The operation failed because you tried to create, update, or delete an object by using a change token that has already been used. |
WAFTagOperationException | |
WAFTagOperationInternalErrorException |
The following example creates a web ACL named CreateExample.
var client = new AmazonWAFClient(); var response = client.CreateWebACL(new CreateWebACLRequest { ChangeToken = "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", DefaultAction = new WafAction { Type = "ALLOW" }, MetricName = "CreateExample", Name = "CreateExample" }); string changeToken = response.ChangeToken; WebACL webACL = response.WebACL;
.NET Framework:
Supported in: 4.5 and newer, 3.5