Copyright | (c) 2013-2018 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Inserts or deletes IPSetDescriptor
objects in an IPSet
. For each IPSetDescriptor
object, you specify the following values:
- Whether to insert or delete the object from the array. If you want to change an
IPSetDescriptor
object, you delete the existing object and add a new one. - The IP address version,
IPv4
orIPv6
. - The IP address in CIDR notation, for example,
192.0.2.0/24
(for the range of IP addresses from192.0.2.0
to192.0.2.255
) or192.0.2.44/32
(for the individual IP address192.0.2.44
).
AWS WAF supports 8, 16, 24, and 32 IP address ranges for IPv4, and 24, 32, 48, 56, 64 and 128 for IPv6. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing .
IPv6 addresses can be represented using any of the following formats:
- 1111:0000:0000:0000:0000:0000:0000:0111/128
- 1111:0:0:0:0:0:0:0111/128
- 1111::0111/128
- 1111::111/128
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:
- Submit a
CreateIPSet
request. - Use
GetChangeToken
to get the change token that you provide in theChangeToken
parameter of anUpdateIPSet
request. - Submit an
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 :: Text -> Text -> NonEmpty IPSetUpdate -> UpdateIPSet
- data UpdateIPSet
- uisIPSetId :: Lens' UpdateIPSet Text
- uisChangeToken :: Lens' UpdateIPSet Text
- uisUpdates :: Lens' UpdateIPSet (NonEmpty IPSetUpdate)
- updateIPSetResponse :: Int -> UpdateIPSetResponse
- data UpdateIPSetResponse
- uisrsChangeToken :: Lens' UpdateIPSetResponse (Maybe Text)
- uisrsResponseStatus :: Lens' UpdateIPSetResponse Int
Creating a Request
Creates a value of UpdateIPSet
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
uisIPSetId
- TheIPSetId
of theIPSet
that you want to update.IPSetId
is returned byCreateIPSet
and byListIPSets
.uisChangeToken
- The value returned by the most recent call toGetChangeToken
.uisUpdates
- An array ofIPSetUpdate
objects that you want to insert into or delete from anIPSet
. For more information, see the applicable data types: *IPSetUpdate
: ContainsAction
andIPSetDescriptor
*IPSetDescriptor
: ContainsType
andValue
data UpdateIPSet Source #
See: updateIPSet
smart constructor.
Request Lenses
uisIPSetId :: Lens' UpdateIPSet Text Source #
The IPSetId
of the IPSet
that you want to update. IPSetId
is returned by CreateIPSet
and by ListIPSets
.
uisChangeToken :: Lens' UpdateIPSet Text Source #
The value returned by the most recent call to GetChangeToken
.
uisUpdates :: Lens' UpdateIPSet (NonEmpty IPSetUpdate) Source #
An array of IPSetUpdate
objects that you want to insert into or delete from an IPSet
. For more information, see the applicable data types: * IPSetUpdate
: Contains Action
and IPSetDescriptor
* IPSetDescriptor
: Contains Type
and Value
Destructuring the Response
Creates a value of UpdateIPSetResponse
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
uisrsChangeToken
- TheChangeToken
that you used to submit theUpdateIPSet
request. You can also use this value to query the status of the request. For more information, seeGetChangeTokenStatus
.uisrsResponseStatus
- -- | The response status code.
data UpdateIPSetResponse Source #
See: updateIPSetResponse
smart constructor.
Response Lenses
uisrsChangeToken :: Lens' UpdateIPSetResponse (Maybe Text) Source #
The ChangeToken
that you used to submit the UpdateIPSet
request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus
.
uisrsResponseStatus :: Lens' UpdateIPSetResponse Int Source #
- - | The response status code.