UpdateFirewallDomains
Updates the firewall domain list from an array of domain specifications.
DNS Firewall throttles UpdateFirewallDomains requests based on both the request rate and the total number of domains across your requests.
Best Practice for Updating Domain Lists
If you only need to modify a subset of domains, use the ADD or REMOVE operations instead of REPLACE. With REPLACE, you send the complete list you want to end up with, and throttling counts every domain in that request, including domains that aren't changing, which can use up your available throttling capacity.
Request Syntax
{
"Domains": [ "string" ],
"FirewallDomainListId": "string",
"Operation": "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.
- Domains
-
A list of domains to use in the update operation.
Important
There is a limit of 1000 domains per request.
Each domain specification in your domain list must satisfy the following requirements:
-
It can optionally start with
*(asterisk). -
With the exception of the optional starting asterisk, it must only contain the following characters:
A-Z,a-z,0-9,-(hyphen). -
It must be from 1-255 characters in length.
Type: Array of strings
Length Constraints: Minimum length of 1. Maximum length of 255.
Required: Yes
-
- FirewallDomainListId
-
The ID of the domain list whose domains you want to update.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Required: Yes
- Operation
-
What you want DNS Firewall to do with the domains that you are providing:
-
ADD- Add the domains to the ones that are already in the domain list. -
REMOVE- Search the domain list for the domains and remove them from the list. -
REPLACE- Update the domain list to exactly match the list that you are providing.
Type: String
Valid Values:
ADD | REMOVE | REPLACERequired: Yes
-
Response Syntax
{
"Id": "string",
"Name": "string",
"Status": "string",
"StatusMessage": "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.
- Id
-
The ID of the firewall domain list that DNS Firewall just updated.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
- Name
-
The name of the domain list.
Type: String
Length Constraints: Maximum length of 64.
Pattern:
(?!^[0-9]+$)([a-zA-Z0-9\-_' ']+) - Status
-
Status of the
UpdateFirewallDomainsrequest.Type: String
Valid Values:
COMPLETE | COMPLETE_IMPORT_FAILED | IMPORTING | DELETING | UPDATING - StatusMessage
-
Additional information about the status of the list, if available.
Type: String
Length Constraints: Maximum length of 255.
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
The current account doesn't have the IAM permissions required to perform the specified Resolver operation.
This error can also be thrown when a customer has reached the 5120 character limit for a resource policy for CloudWatch Logs.
HTTP Status Code: 400
- ConflictException
-
The requested state transition isn't valid. For example, you can't delete a firewall domain list if it is in the process of being deleted, or you can't import domains into a domain list that is in the process of being deleted.
HTTP Status Code: 400
- InternalServiceErrorException
-
We encountered an unknown error. Try again in a few minutes.
HTTP Status Code: 400
- LimitExceededException
-
The request caused one or more limits to be exceeded.
- ResourceType
-
For a
LimitExceededExceptionerror, the type of resource that exceeded the current limit.
HTTP Status Code: 400
- ResourceNotFoundException
-
The specified resource doesn't exist.
- ResourceType
-
For a
ResourceNotFoundExceptionerror, the type of resource that doesn't exist.
HTTP Status Code: 400
- ThrottlingException
-
The request was throttled. Try again in a few minutes.
HTTP Status Code: 400
- ValidationException
-
You have provided an invalid command. If you ran the
UpdateFirewallDomainsrequest. supported values areADD,REMOVE, orREPLACEa domain.HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: