Copyright | (c) 2013-2023 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Creates an IPSet, which you use to identify web requests that originate from specific IP addresses or ranges of IP addresses. For example, if you're receiving a lot of requests from a ranges of IP addresses, you can configure WAF to block them using an IPSet that lists those IP addresses.
Synopsis
- data CreateIPSet = CreateIPSet' {
- description :: Maybe Text
- tags :: Maybe (NonEmpty Tag)
- name :: Text
- scope :: Scope
- iPAddressVersion :: IPAddressVersion
- addresses :: [Text]
- newCreateIPSet :: Text -> Scope -> IPAddressVersion -> CreateIPSet
- createIPSet_description :: Lens' CreateIPSet (Maybe Text)
- createIPSet_tags :: Lens' CreateIPSet (Maybe (NonEmpty Tag))
- createIPSet_name :: Lens' CreateIPSet Text
- createIPSet_scope :: Lens' CreateIPSet Scope
- createIPSet_iPAddressVersion :: Lens' CreateIPSet IPAddressVersion
- createIPSet_addresses :: Lens' CreateIPSet [Text]
- data CreateIPSetResponse = CreateIPSetResponse' {}
- newCreateIPSetResponse :: Int -> CreateIPSetResponse
- createIPSetResponse_summary :: Lens' CreateIPSetResponse (Maybe IPSetSummary)
- createIPSetResponse_httpStatus :: Lens' CreateIPSetResponse Int
Creating a Request
data CreateIPSet Source #
See: newCreateIPSet
smart constructor.
CreateIPSet' | |
|
Instances
Create a value of CreateIPSet
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
CreateIPSet
, createIPSet_description
- A description of the IP set that helps with identification.
CreateIPSet
, createIPSet_tags
- An array of key:value pairs to associate with the resource.
CreateIPSet
, createIPSet_name
- The name of the IP set. You cannot change the name of an IPSet
after
you create it.
CreateIPSet
, createIPSet_scope
- Specifies whether this is for an Amazon CloudFront distribution or for a
regional application. A regional application can be an Application Load
Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API,
or an Amazon Cognito user pool.
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:
- CLI - Specify the Region when you use the CloudFront scope:
--scope=CLOUDFRONT --region=us-east-1
. - API and SDKs - For all calls, use the Region endpoint us-east-1.
CreateIPSet
, createIPSet_iPAddressVersion
- The version of the IP addresses, either IPV4
or IPV6
.
CreateIPSet
, createIPSet_addresses
- Contains an array of strings that specifies zero or more IP addresses or
blocks of IP addresses. All addresses must be specified using Classless
Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6
CIDR ranges except for /0
.
Example address strings:
- To configure WAF to allow, block, or count requests that originated
from the IP address 192.0.2.44, specify
192.0.2.44/32
. - To configure WAF to allow, block, or count requests that originated
from IP addresses from 192.0.2.0 to 192.0.2.255, specify
192.0.2.0/24
. - To configure WAF to allow, block, or count requests that originated
from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify
1111:0000:0000:0000:0000:0000:0000:0111/128
. - To configure WAF to allow, block, or count requests that originated
from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to
1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
1111:0000:0000:0000:0000:0000:0000:0000/64
.
For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.
Example JSON Addresses
specifications:
- Empty array:
"Addresses": []
- Array with one address:
"Addresses": ["192.0.2.44/32"]
- Array with three addresses:
"Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"]
- INVALID specification:
"Addresses": [""]
INVALID
Request Lenses
createIPSet_description :: Lens' CreateIPSet (Maybe Text) Source #
A description of the IP set that helps with identification.
createIPSet_tags :: Lens' CreateIPSet (Maybe (NonEmpty Tag)) Source #
An array of key:value pairs to associate with the resource.
createIPSet_name :: Lens' CreateIPSet Text Source #
The name of the IP set. You cannot change the name of an IPSet
after
you create it.
createIPSet_scope :: Lens' CreateIPSet Scope Source #
Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, or an Amazon Cognito user pool.
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:
- CLI - Specify the Region when you use the CloudFront scope:
--scope=CLOUDFRONT --region=us-east-1
. - API and SDKs - For all calls, use the Region endpoint us-east-1.
createIPSet_iPAddressVersion :: Lens' CreateIPSet IPAddressVersion Source #
The version of the IP addresses, either IPV4
or IPV6
.
createIPSet_addresses :: Lens' CreateIPSet [Text] Source #
Contains an array of strings that specifies zero or more IP addresses or
blocks of IP addresses. All addresses must be specified using Classless
Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6
CIDR ranges except for /0
.
Example address strings:
- To configure WAF to allow, block, or count requests that originated
from the IP address 192.0.2.44, specify
192.0.2.44/32
. - To configure WAF to allow, block, or count requests that originated
from IP addresses from 192.0.2.0 to 192.0.2.255, specify
192.0.2.0/24
. - To configure WAF to allow, block, or count requests that originated
from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify
1111:0000:0000:0000:0000:0000:0000:0111/128
. - To configure WAF to allow, block, or count requests that originated
from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to
1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
1111:0000:0000:0000:0000:0000:0000:0000/64
.
For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.
Example JSON Addresses
specifications:
- Empty array:
"Addresses": []
- Array with one address:
"Addresses": ["192.0.2.44/32"]
- Array with three addresses:
"Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"]
- INVALID specification:
"Addresses": [""]
INVALID
Destructuring the Response
data CreateIPSetResponse Source #
See: newCreateIPSetResponse
smart constructor.
CreateIPSetResponse' | |
|
Instances
newCreateIPSetResponse Source #
Create a value of CreateIPSetResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:summary:CreateIPSetResponse'
, createIPSetResponse_summary
- High-level information about an IPSet, returned by operations like
create and list. This provides information like the ID, that you can use
to retrieve and manage an IPSet
, and the ARN, that you provide to the
IPSetReferenceStatement to use the address set in a Rule.
$sel:httpStatus:CreateIPSetResponse'
, createIPSetResponse_httpStatus
- The response's http status code.
Response Lenses
createIPSetResponse_summary :: Lens' CreateIPSetResponse (Maybe IPSetSummary) Source #
High-level information about an IPSet, returned by operations like
create and list. This provides information like the ID, that you can use
to retrieve and manage an IPSet
, and the ARN, that you provide to the
IPSetReferenceStatement to use the address set in a Rule.
createIPSetResponse_httpStatus :: Lens' CreateIPSetResponse Int Source #
The response's http status code.