CreateIPSet
Note
Amazon WAF Classic support will end on September 30, 2025.
This is Amazon WAF Classic documentation. For more information, see Amazon WAF Classic in the developer guide.
For the latest version of Amazon WAF , use the Amazon WAFV2 API and see the Amazon WAF Developer Guide. With the latest version, Amazon WAF has a single set of endpoints for regional and global use.
Creates an IPSet, which you use to specify which web requests
         that
         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 Amazon WAF to block the requests. 
To create and configure an IPSet, perform the following steps:
- 
         
Use GetChangeToken to get the change token that you provide in the
ChangeTokenparameter of aCreateIPSetrequest. - 
         
Submit a
CreateIPSetrequest. - 
         
Use
GetChangeTokento get the change token that you provide in theChangeTokenparameter of an UpdateIPSet request. - 
         
Submit an
UpdateIPSetrequest to specify the IP addresses that you want Amazon WAF to watch for. 
For more information about how to use the Amazon WAF API to allow or block HTTP requests, see the Amazon WAF Developer Guide.
Request Syntax
{
   "ChangeToken": "string",
   "Name": "string"
}
    
      Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- ChangeToken
 - 
               
The value returned by the most recent call to GetChangeToken.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
.*\S.*Required: Yes
 - Name
 - 
               
A friendly name or description of the IPSet. You can't change
Nameafter you create theIPSet.Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
.*\S.*Required: Yes
 
Response Syntax
{
   "ChangeToken": "string",
   "IPSet": { 
      "IPSetDescriptors": [ 
         { 
            "Type": "string",
            "Value": "string"
         }
      ],
      "IPSetId": "string",
      "Name": "string"
   }
}
    
      Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- ChangeToken
 - 
               
The
ChangeTokenthat you used to submit theCreateIPSetrequest. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
.*\S.* - IPSet
 - 
               
The IPSet returned in the
CreateIPSetresponse.Type: IPSet object
 
Errors
For information about the errors that are common to all actions, see Common Errors.
- WAFDisallowedNameException
 - 
               
The name specified is invalid.
HTTP Status Code: 400
 - WAFInternalErrorException
 - 
               
The operation failed because of a system problem, even though the request was valid. Retry your request.
HTTP Status Code: 500
 - WAFInvalidAccountException
 - 
               
The operation failed because you tried to create, update, or delete an object by using an invalid account identifier.
HTTP Status Code: 400
 - WAFInvalidParameterException
 - 
               
The operation failed because Amazon 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, orWebACL) using an action other thanINSERTorDELETE. - 
                     
You tried to create a
WebACLwith aDefaultActionTypeother thanALLOW,BLOCK, orCOUNT. - 
                     
You tried to create a
RateBasedRulewith aRateKeyvalue other thanIP. - 
                     
You tried to update a
WebACLwith aWafActionTypeother thanALLOW,BLOCK, orCOUNT. - 
                     
You tried to update a
ByteMatchSetwith aFieldToMatchTypeother than HEADER, METHOD, QUERY_STRING, URI, or BODY. - 
                     
You tried to update a
ByteMatchSetwith aFieldofHEADERbut no value forData. - 
                     
Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.
 
HTTP Status Code: 400
 - 
                     
 - WAFLimitsExceededException
 - 
               
The operation exceeds a resource limit, for example, the maximum number of
WebACLobjects that you can create for an Amazon Web Services account. For more information, see Amazon WAF Classic quotas in the Amazon WAF Developer Guide.HTTP Status Code: 400
 - WAFStaleDataException
 - 
               
The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.
HTTP Status Code: 400
 
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: