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 |
Creates a Rule
, which contains the IPSet
objects, ByteMatchSet
objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule
, a request must match all of the specifications to be allowed or blocked. For example, suppose you add the following to a Rule
:
- An
IPSet
that matches the IP address192.0.2.44/32
- A
ByteMatchSet
that matchesBadBot
in theUser-Agent
header
You then add the Rule
to a WebACL
and specify that you want to blocks requests that satisfy the Rule
. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent
header in the request must contain the value BadBot
.
To create and configure a Rule
, perform the following steps:
- Create and update the predicates that you want to include in the
Rule
. For more information, seeCreateByteMatchSet
,CreateIPSet
, andCreateSqlInjectionMatchSet
. - Use
GetChangeToken
to get the change token that you provide in theChangeToken
parameter of aCreateRule
request. - Submit a
CreateRule
request. - Use
GetChangeToken
to get the change token that you provide in theChangeToken
parameter of anUpdateRule
request. - Submit an
UpdateRule
request to specify the predicates that you want to include in theRule
. - Create and update a
WebACL
that contains theRule
. For more information, seeCreateWebACL
.
For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide .
- createRule :: Text -> Text -> Text -> CreateRule
- data CreateRule
- crName :: Lens' CreateRule Text
- crMetricName :: Lens' CreateRule Text
- crChangeToken :: Lens' CreateRule Text
- createRuleResponse :: Int -> CreateRuleResponse
- data CreateRuleResponse
- crrsRule :: Lens' CreateRuleResponse (Maybe Rule)
- crrsChangeToken :: Lens' CreateRuleResponse (Maybe Text)
- crrsResponseStatus :: Lens' CreateRuleResponse Int
Creating a Request
Creates a value of CreateRule
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
crName
- A friendly name or description of theRule
. You can't change the name of aRule
after you create it.crMetricName
- A friendly name or description for the metrics for thisRule
. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create theRule
.crChangeToken
- The value returned by the most recent call toGetChangeToken
.
data CreateRule Source #
See: createRule
smart constructor.
Request Lenses
crName :: Lens' CreateRule Text Source #
A friendly name or description of the Rule
. You can't change the name of a Rule
after you create it.
crMetricName :: Lens' CreateRule Text Source #
A friendly name or description for the metrics for this Rule
. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the Rule
.
crChangeToken :: Lens' CreateRule Text Source #
The value returned by the most recent call to GetChangeToken
.
Destructuring the Response
Creates a value of CreateRuleResponse
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
crrsRule
- TheRule
returned in theCreateRule
response.crrsChangeToken
- TheChangeToken
that you used to submit theCreateRule
request. You can also use this value to query the status of the request. For more information, seeGetChangeTokenStatus
.crrsResponseStatus
- -- | The response status code.
data CreateRuleResponse Source #
See: createRuleResponse
smart constructor.
Response Lenses
crrsRule :: Lens' CreateRuleResponse (Maybe Rule) Source #
The Rule
returned in the CreateRule
response.
crrsChangeToken :: Lens' CreateRuleResponse (Maybe Text) Source #
The ChangeToken
that you used to submit the CreateRule
request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus
.
crrsResponseStatus :: Lens' CreateRuleResponse Int Source #
- - | The response status code.