amazonka-waf-1.4.5: Amazon WAF SDK.

Copyright(c) 2013-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.WAF

Contents

Description

This is the AWS WAF API Reference . This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide .

Synopsis

Service Configuration

waf :: Service #

API version 2015-08-24 of the Amazon WAF SDK configuration.

Errors

Error matchers are designed for use with the functions provided by Control.Exception.Lens. This allows catching (and rethrowing) service specific errors returned by WAF.

WAFInvalidAccountException

_WAFInvalidAccountException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation failed because you tried to create, update, or delete an object by using an invalid account identifier.

WAFReferencedItemException

_WAFReferencedItemException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation failed because you tried to delete an object that is still in use. For example:

  • You tried to delete a ByteMatchSet that is still referenced by a Rule .
  • You tried to delete a Rule that is still referenced by a WebACL .

WAFInvalidOperationException

_WAFInvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation failed because there was nothing to do. For example:

  • You tried to remove a Rule from a WebACL , but the Rule isn't in the specified WebACL .
  • You tried to remove an IP address from an IPSet , but the IP address isn't in the specified IPSet .
  • You tried to remove a ByteMatchTuple from a ByteMatchSet , but the ByteMatchTuple isn't in the specified WebACL .
  • You tried to add a Rule to a WebACL , but the Rule already exists in the specified WebACL .
  • You tried to add an IP address to an IPSet , but the IP address already exists in the specified IPSet .
  • You tried to add a ByteMatchTuple to a ByteMatchSet , but the ByteMatchTuple already exists in the specified WebACL .

WAFNonexistentItemException

_WAFNonexistentItemException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation failed because the referenced object doesn't exist.

WAFInvalidParameterException

_WAFInvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation failed because AWS 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 , or WebACL ) using an action other than INSERT or DELETE .
  • You tried to create a WebACL with a DefaultAction Type other than ALLOW , BLOCK , or COUNT .
  • You tried to update a WebACL with a WafAction Type other than ALLOW , BLOCK , or COUNT .
  • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, QUERY_STRING, or URI.
  • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data .

WAFLimitsExceededException

_WAFLimitsExceededException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide .

WAFStaleDataException

_WAFStaleDataException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.

WAFInternalErrorException

_WAFInternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation failed because of a system problem, even though the request was valid. Retry your request.

WAFNonexistentContainerException

_WAFNonexistentContainerException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation failed because you tried to add an object to or delete an object from another object that doesn't exist. For example:

  • You tried to add a Rule to or delete a Rule from a WebACL that doesn't exist.
  • You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule that doesn't exist.
  • You tried to add an IP address to or delete an IP address from an IPSet that doesn't exist.
  • You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a ByteMatchSet that doesn't exist.

WAFDisallowedNameException

_WAFDisallowedNameException :: AsError a => Getting (First ServiceError) a ServiceError #

The name specified is invalid.

WAFNonEmptyEntityException

_WAFNonEmptyEntityException :: AsError a => Getting (First ServiceError) a ServiceError #

The operation failed because you tried to delete an object that isn't empty. For example:

  • You tried to delete a WebACL that still contains one or more Rule objects.
  • You tried to delete a Rule that still contains one or more ByteMatchSet objects or other predicates.
  • You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple objects.
  • You tried to delete an IPSet that references one or more IP addresses.

Waiters

Waiters poll by repeatedly sending a request until some remote success condition configured by the Wait specification is fulfilled. The Wait specification determines how many attempts should be made, in addition to delay and retry strategies.

Operations

Some AWS operations return results that are incomplete and require subsequent requests in order to obtain the entire result set. The process of sending subsequent requests to continue where a previous request left off is called pagination. For example, the ListObjects operation of Amazon S3 returns up to 1000 objects at a time, and you must send subsequent requests with the appropriate Marker in order to retrieve the next page of results.

Operations that have an AWSPager instance can transparently perform subsequent requests, correctly setting Markers and other request facets to iterate through the entire result set of a truncated API operation. Operations which support this have an additional note in the documentation.

Many operations have the ability to filter results on the server side. See the individual operation parameters for details.

GetSizeConstraintSet

UpdateRule

DeleteRule

CreateIPSet

GetChangeTokenStatus

DeleteWebACL

UpdateWebACL

ListWebACLs (Paginated)

ListRules (Paginated)

CreateRule

CreateWebACL

ListByteMatchSets (Paginated)

GetIPSet

GetWebACL

GetRule

DeleteXSSMatchSet

UpdateXSSMatchSet

ListXSSMatchSets (Paginated)

GetChangeToken

ListSizeConstraintSets (Paginated)

GetSampledRequests

GetSqlInjectionMatchSet

CreateSqlInjectionMatchSet

GetXSSMatchSet

CreateByteMatchSet

UpdateByteMatchSet

DeleteByteMatchSet

DeleteIPSet

UpdateIPSet

ListIPSets (Paginated)

CreateXSSMatchSet

GetByteMatchSet

DeleteSizeConstraintSet

UpdateSizeConstraintSet

CreateSizeConstraintSet

ListSqlInjectionMatchSets (Paginated)

DeleteSqlInjectionMatchSet

UpdateSqlInjectionMatchSet

Types

ChangeAction

data ChangeAction #

Constructors

Delete 
Insert 

Instances

Bounded ChangeAction # 
Enum ChangeAction # 
Eq ChangeAction # 
Data ChangeAction # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChangeAction -> c ChangeAction #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChangeAction #

toConstr :: ChangeAction -> Constr #

dataTypeOf :: ChangeAction -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ChangeAction) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChangeAction) #

gmapT :: (forall b. Data b => b -> b) -> ChangeAction -> ChangeAction #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChangeAction -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChangeAction -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChangeAction -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChangeAction -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChangeAction -> m ChangeAction #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeAction -> m ChangeAction #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeAction -> m ChangeAction #

Ord ChangeAction # 
Read ChangeAction # 
Show ChangeAction # 
Generic ChangeAction # 

Associated Types

type Rep ChangeAction :: * -> * #

Hashable ChangeAction # 
ToJSON ChangeAction # 
NFData ChangeAction # 

Methods

rnf :: ChangeAction -> () #

ToQuery ChangeAction # 
ToHeader ChangeAction # 
ToByteString ChangeAction # 
FromText ChangeAction # 
ToText ChangeAction # 

Methods

toText :: ChangeAction -> Text #

type Rep ChangeAction # 
type Rep ChangeAction = D1 (MetaData "ChangeAction" "Network.AWS.WAF.Types.Sum" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) ((:+:) (C1 (MetaCons "Delete" PrefixI False) U1) (C1 (MetaCons "Insert" PrefixI False) U1))

ChangeTokenStatus

data ChangeTokenStatus #

Constructors

Insync 
Pending 
Provisioned 

Instances

Bounded ChangeTokenStatus # 
Enum ChangeTokenStatus # 
Eq ChangeTokenStatus # 
Data ChangeTokenStatus # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChangeTokenStatus -> c ChangeTokenStatus #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChangeTokenStatus #

toConstr :: ChangeTokenStatus -> Constr #

dataTypeOf :: ChangeTokenStatus -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ChangeTokenStatus) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChangeTokenStatus) #

gmapT :: (forall b. Data b => b -> b) -> ChangeTokenStatus -> ChangeTokenStatus #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChangeTokenStatus -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChangeTokenStatus -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChangeTokenStatus -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChangeTokenStatus -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChangeTokenStatus -> m ChangeTokenStatus #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeTokenStatus -> m ChangeTokenStatus #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeTokenStatus -> m ChangeTokenStatus #

Ord ChangeTokenStatus # 
Read ChangeTokenStatus # 
Show ChangeTokenStatus # 
Generic ChangeTokenStatus # 
Hashable ChangeTokenStatus # 
FromJSON ChangeTokenStatus # 
NFData ChangeTokenStatus # 

Methods

rnf :: ChangeTokenStatus -> () #

ToQuery ChangeTokenStatus # 
ToHeader ChangeTokenStatus # 
ToByteString ChangeTokenStatus # 
FromText ChangeTokenStatus # 
ToText ChangeTokenStatus # 
type Rep ChangeTokenStatus # 
type Rep ChangeTokenStatus = D1 (MetaData "ChangeTokenStatus" "Network.AWS.WAF.Types.Sum" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) ((:+:) (C1 (MetaCons "Insync" PrefixI False) U1) ((:+:) (C1 (MetaCons "Pending" PrefixI False) U1) (C1 (MetaCons "Provisioned" PrefixI False) U1)))

ComparisonOperator

data ComparisonOperator #

Constructors

EQ' 
GE 
GT' 
LE 
LT' 
NE 

Instances

Bounded ComparisonOperator # 
Enum ComparisonOperator # 
Eq ComparisonOperator # 
Data ComparisonOperator # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ComparisonOperator -> c ComparisonOperator #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ComparisonOperator #

toConstr :: ComparisonOperator -> Constr #

dataTypeOf :: ComparisonOperator -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ComparisonOperator) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ComparisonOperator) #

gmapT :: (forall b. Data b => b -> b) -> ComparisonOperator -> ComparisonOperator #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ComparisonOperator -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ComparisonOperator -> r #

gmapQ :: (forall d. Data d => d -> u) -> ComparisonOperator -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ComparisonOperator -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ComparisonOperator -> m ComparisonOperator #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ComparisonOperator -> m ComparisonOperator #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ComparisonOperator -> m ComparisonOperator #

Ord ComparisonOperator # 
Read ComparisonOperator # 
Show ComparisonOperator # 
Generic ComparisonOperator # 
Hashable ComparisonOperator # 
ToJSON ComparisonOperator # 
FromJSON ComparisonOperator # 
NFData ComparisonOperator # 

Methods

rnf :: ComparisonOperator -> () #

ToQuery ComparisonOperator # 
ToHeader ComparisonOperator # 
ToByteString ComparisonOperator # 
FromText ComparisonOperator # 
ToText ComparisonOperator # 
type Rep ComparisonOperator # 
type Rep ComparisonOperator = D1 (MetaData "ComparisonOperator" "Network.AWS.WAF.Types.Sum" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) ((:+:) ((:+:) (C1 (MetaCons "EQ'" PrefixI False) U1) ((:+:) (C1 (MetaCons "GE" PrefixI False) U1) (C1 (MetaCons "GT'" PrefixI False) U1))) ((:+:) (C1 (MetaCons "LE" PrefixI False) U1) ((:+:) (C1 (MetaCons "LT'" PrefixI False) U1) (C1 (MetaCons "NE" PrefixI False) U1))))

IPSetDescriptorType

data IPSetDescriptorType #

Constructors

IPV4 
IPV6 

Instances

Bounded IPSetDescriptorType # 
Enum IPSetDescriptorType # 
Eq IPSetDescriptorType # 
Data IPSetDescriptorType # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPSetDescriptorType -> c IPSetDescriptorType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IPSetDescriptorType #

toConstr :: IPSetDescriptorType -> Constr #

dataTypeOf :: IPSetDescriptorType -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c IPSetDescriptorType) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IPSetDescriptorType) #

gmapT :: (forall b. Data b => b -> b) -> IPSetDescriptorType -> IPSetDescriptorType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPSetDescriptorType -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPSetDescriptorType -> r #

gmapQ :: (forall d. Data d => d -> u) -> IPSetDescriptorType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IPSetDescriptorType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPSetDescriptorType -> m IPSetDescriptorType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSetDescriptorType -> m IPSetDescriptorType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSetDescriptorType -> m IPSetDescriptorType #

Ord IPSetDescriptorType # 
Read IPSetDescriptorType # 
Show IPSetDescriptorType # 
Generic IPSetDescriptorType # 
Hashable IPSetDescriptorType # 
ToJSON IPSetDescriptorType # 
FromJSON IPSetDescriptorType # 
NFData IPSetDescriptorType # 

Methods

rnf :: IPSetDescriptorType -> () #

ToQuery IPSetDescriptorType # 
ToHeader IPSetDescriptorType # 
ToByteString IPSetDescriptorType # 
FromText IPSetDescriptorType # 
ToText IPSetDescriptorType # 
type Rep IPSetDescriptorType # 
type Rep IPSetDescriptorType = D1 (MetaData "IPSetDescriptorType" "Network.AWS.WAF.Types.Sum" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) ((:+:) (C1 (MetaCons "IPV4" PrefixI False) U1) (C1 (MetaCons "IPV6" PrefixI False) U1))

MatchFieldType

data MatchFieldType #

Constructors

Body 
Header 
Method 
QueryString 
URI 

Instances

Bounded MatchFieldType # 
Enum MatchFieldType # 
Eq MatchFieldType # 
Data MatchFieldType # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MatchFieldType -> c MatchFieldType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MatchFieldType #

toConstr :: MatchFieldType -> Constr #

dataTypeOf :: MatchFieldType -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c MatchFieldType) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MatchFieldType) #

gmapT :: (forall b. Data b => b -> b) -> MatchFieldType -> MatchFieldType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MatchFieldType -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MatchFieldType -> r #

gmapQ :: (forall d. Data d => d -> u) -> MatchFieldType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MatchFieldType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MatchFieldType -> m MatchFieldType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MatchFieldType -> m MatchFieldType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MatchFieldType -> m MatchFieldType #

Ord MatchFieldType # 
Read MatchFieldType # 
Show MatchFieldType # 
Generic MatchFieldType # 

Associated Types

type Rep MatchFieldType :: * -> * #

Hashable MatchFieldType # 
ToJSON MatchFieldType # 
FromJSON MatchFieldType # 
NFData MatchFieldType # 

Methods

rnf :: MatchFieldType -> () #

ToQuery MatchFieldType # 
ToHeader MatchFieldType # 
ToByteString MatchFieldType # 
FromText MatchFieldType # 
ToText MatchFieldType # 
type Rep MatchFieldType # 
type Rep MatchFieldType = D1 (MetaData "MatchFieldType" "Network.AWS.WAF.Types.Sum" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) ((:+:) ((:+:) (C1 (MetaCons "Body" PrefixI False) U1) (C1 (MetaCons "Header" PrefixI False) U1)) ((:+:) (C1 (MetaCons "Method" PrefixI False) U1) ((:+:) (C1 (MetaCons "QueryString" PrefixI False) U1) (C1 (MetaCons "URI" PrefixI False) U1))))

PositionalConstraint

data PositionalConstraint #

Instances

Bounded PositionalConstraint # 
Enum PositionalConstraint # 
Eq PositionalConstraint # 
Data PositionalConstraint # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PositionalConstraint -> c PositionalConstraint #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PositionalConstraint #

toConstr :: PositionalConstraint -> Constr #

dataTypeOf :: PositionalConstraint -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c PositionalConstraint) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PositionalConstraint) #

gmapT :: (forall b. Data b => b -> b) -> PositionalConstraint -> PositionalConstraint #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PositionalConstraint -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PositionalConstraint -> r #

gmapQ :: (forall d. Data d => d -> u) -> PositionalConstraint -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PositionalConstraint -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PositionalConstraint -> m PositionalConstraint #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PositionalConstraint -> m PositionalConstraint #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PositionalConstraint -> m PositionalConstraint #

Ord PositionalConstraint # 
Read PositionalConstraint # 
Show PositionalConstraint # 
Generic PositionalConstraint # 
Hashable PositionalConstraint # 
ToJSON PositionalConstraint # 
FromJSON PositionalConstraint # 
NFData PositionalConstraint # 

Methods

rnf :: PositionalConstraint -> () #

ToQuery PositionalConstraint # 
ToHeader PositionalConstraint # 
ToByteString PositionalConstraint # 
FromText PositionalConstraint # 
ToText PositionalConstraint # 
type Rep PositionalConstraint # 
type Rep PositionalConstraint = D1 (MetaData "PositionalConstraint" "Network.AWS.WAF.Types.Sum" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) ((:+:) ((:+:) (C1 (MetaCons "Contains" PrefixI False) U1) (C1 (MetaCons "ContainsWord" PrefixI False) U1)) ((:+:) (C1 (MetaCons "EndsWith" PrefixI False) U1) ((:+:) (C1 (MetaCons "Exactly" PrefixI False) U1) (C1 (MetaCons "StartsWith" PrefixI False) U1))))

PredicateType

data PredicateType #

Instances

Bounded PredicateType # 
Enum PredicateType # 
Eq PredicateType # 
Data PredicateType # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PredicateType -> c PredicateType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PredicateType #

toConstr :: PredicateType -> Constr #

dataTypeOf :: PredicateType -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c PredicateType) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PredicateType) #

gmapT :: (forall b. Data b => b -> b) -> PredicateType -> PredicateType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PredicateType -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PredicateType -> r #

gmapQ :: (forall d. Data d => d -> u) -> PredicateType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PredicateType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PredicateType -> m PredicateType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PredicateType -> m PredicateType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PredicateType -> m PredicateType #

Ord PredicateType # 
Read PredicateType # 
Show PredicateType # 
Generic PredicateType # 

Associated Types

type Rep PredicateType :: * -> * #

Hashable PredicateType # 
ToJSON PredicateType # 
FromJSON PredicateType # 
NFData PredicateType # 

Methods

rnf :: PredicateType -> () #

ToQuery PredicateType # 
ToHeader PredicateType # 
ToByteString PredicateType # 
FromText PredicateType # 
ToText PredicateType # 

Methods

toText :: PredicateType -> Text #

type Rep PredicateType # 
type Rep PredicateType = D1 (MetaData "PredicateType" "Network.AWS.WAF.Types.Sum" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) ((:+:) ((:+:) (C1 (MetaCons "ByteMatch" PrefixI False) U1) (C1 (MetaCons "IPMatch" PrefixI False) U1)) ((:+:) (C1 (MetaCons "SizeConstraint" PrefixI False) U1) ((:+:) (C1 (MetaCons "SqlInjectionMatch" PrefixI False) U1) (C1 (MetaCons "XSSMatch" PrefixI False) U1))))

TextTransformation

data TextTransformation #

Instances

Bounded TextTransformation # 
Enum TextTransformation # 
Eq TextTransformation # 
Data TextTransformation # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TextTransformation -> c TextTransformation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TextTransformation #

toConstr :: TextTransformation -> Constr #

dataTypeOf :: TextTransformation -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c TextTransformation) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TextTransformation) #

gmapT :: (forall b. Data b => b -> b) -> TextTransformation -> TextTransformation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TextTransformation -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TextTransformation -> r #

gmapQ :: (forall d. Data d => d -> u) -> TextTransformation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TextTransformation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TextTransformation -> m TextTransformation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TextTransformation -> m TextTransformation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TextTransformation -> m TextTransformation #

Ord TextTransformation # 
Read TextTransformation # 
Show TextTransformation # 
Generic TextTransformation # 
Hashable TextTransformation # 
ToJSON TextTransformation # 
FromJSON TextTransformation # 
NFData TextTransformation # 

Methods

rnf :: TextTransformation -> () #

ToQuery TextTransformation # 
ToHeader TextTransformation # 
ToByteString TextTransformation # 
FromText TextTransformation # 
ToText TextTransformation # 
type Rep TextTransformation # 
type Rep TextTransformation = D1 (MetaData "TextTransformation" "Network.AWS.WAF.Types.Sum" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) ((:+:) ((:+:) (C1 (MetaCons "CmdLine" PrefixI False) U1) ((:+:) (C1 (MetaCons "CompressWhiteSpace" PrefixI False) U1) (C1 (MetaCons "HTMLEntityDecode" PrefixI False) U1))) ((:+:) (C1 (MetaCons "Lowercase" PrefixI False) U1) ((:+:) (C1 (MetaCons "None" PrefixI False) U1) (C1 (MetaCons "URLDecode" PrefixI False) U1))))

WafActionType

data WafActionType #

Constructors

Allow 
Block 
Count 

Instances

Bounded WafActionType # 
Enum WafActionType # 
Eq WafActionType # 
Data WafActionType # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WafActionType -> c WafActionType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WafActionType #

toConstr :: WafActionType -> Constr #

dataTypeOf :: WafActionType -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c WafActionType) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WafActionType) #

gmapT :: (forall b. Data b => b -> b) -> WafActionType -> WafActionType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WafActionType -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WafActionType -> r #

gmapQ :: (forall d. Data d => d -> u) -> WafActionType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WafActionType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WafActionType -> m WafActionType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WafActionType -> m WafActionType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WafActionType -> m WafActionType #

Ord WafActionType # 
Read WafActionType # 
Show WafActionType # 
Generic WafActionType # 

Associated Types

type Rep WafActionType :: * -> * #

Hashable WafActionType # 
ToJSON WafActionType # 
FromJSON WafActionType # 
NFData WafActionType # 

Methods

rnf :: WafActionType -> () #

ToQuery WafActionType # 
ToHeader WafActionType # 
ToByteString WafActionType # 
FromText WafActionType # 
ToText WafActionType # 

Methods

toText :: WafActionType -> Text #

type Rep WafActionType # 
type Rep WafActionType = D1 (MetaData "WafActionType" "Network.AWS.WAF.Types.Sum" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) ((:+:) (C1 (MetaCons "Allow" PrefixI False) U1) ((:+:) (C1 (MetaCons "Block" PrefixI False) U1) (C1 (MetaCons "Count" PrefixI False) U1)))

ActivatedRule

data ActivatedRule #

The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL , and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW , BLOCK , or COUNT ).

To specify whether to insert or delete a Rule , use the Action parameter in the WebACLUpdate data type.

See: activatedRule smart constructor.

Instances

Eq ActivatedRule # 
Data ActivatedRule # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ActivatedRule -> c ActivatedRule #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ActivatedRule #

toConstr :: ActivatedRule -> Constr #

dataTypeOf :: ActivatedRule -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ActivatedRule) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ActivatedRule) #

gmapT :: (forall b. Data b => b -> b) -> ActivatedRule -> ActivatedRule #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ActivatedRule -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ActivatedRule -> r #

gmapQ :: (forall d. Data d => d -> u) -> ActivatedRule -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ActivatedRule -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ActivatedRule -> m ActivatedRule #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ActivatedRule -> m ActivatedRule #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ActivatedRule -> m ActivatedRule #

Read ActivatedRule # 
Show ActivatedRule # 
Generic ActivatedRule # 

Associated Types

type Rep ActivatedRule :: * -> * #

Hashable ActivatedRule # 
ToJSON ActivatedRule # 
FromJSON ActivatedRule # 
NFData ActivatedRule # 

Methods

rnf :: ActivatedRule -> () #

type Rep ActivatedRule # 
type Rep ActivatedRule = D1 (MetaData "ActivatedRule" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "ActivatedRule'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_arPriority") NoSourceUnpackedness SourceStrict DecidedUnpack) (Rec0 Int)) ((:*:) (S1 (MetaSel (Just Symbol "_arRuleId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_arAction") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 WafAction)))))

activatedRule #

Creates a value of ActivatedRule with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • arPriority - Specifies the order in which the Rules in a WebACL are evaluated. Rules with a lower value for Priority are evaluated before Rules with a higher value. The value must be a unique integer. If you add multiple Rules to a WebACL , the values don't need to be consecutive.
  • arRuleId - The RuleId for a Rule . You use RuleId to get more information about a Rule (see GetRule ), update a Rule (see UpdateRule ), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL ), or delete a Rule from AWS WAF (see DeleteRule ). RuleId is returned by CreateRule and by ListRules .
  • arAction - Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule . Valid values for Action include the following: * ALLOW : CloudFront responds with the requested object. * BLOCK : CloudFront responds with an HTTP 403 (Forbidden) status code. * COUNT : AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

arPriority :: Lens' ActivatedRule Int #

Specifies the order in which the Rules in a WebACL are evaluated. Rules with a lower value for Priority are evaluated before Rules with a higher value. The value must be a unique integer. If you add multiple Rules to a WebACL , the values don't need to be consecutive.

arRuleId :: Lens' ActivatedRule Text #

The RuleId for a Rule . You use RuleId to get more information about a Rule (see GetRule ), update a Rule (see UpdateRule ), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL ), or delete a Rule from AWS WAF (see DeleteRule ). RuleId is returned by CreateRule and by ListRules .

arAction :: Lens' ActivatedRule WafAction #

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule . Valid values for Action include the following: * ALLOW : CloudFront responds with the requested object. * BLOCK : CloudFront responds with an HTTP 403 (Forbidden) status code. * COUNT : AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

ByteMatchSet

data ByteMatchSet #

In a GetByteMatchSet request, ByteMatchSet is a complex type that contains the ByteMatchSetId and Name of a ByteMatchSet , and the values that you specified when you updated the ByteMatchSet .

A complex type that contains ByteMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a ByteMatchSet contains more than one ByteMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

See: byteMatchSet smart constructor.

Instances

Eq ByteMatchSet # 
Data ByteMatchSet # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteMatchSet -> c ByteMatchSet #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteMatchSet #

toConstr :: ByteMatchSet -> Constr #

dataTypeOf :: ByteMatchSet -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ByteMatchSet) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteMatchSet) #

gmapT :: (forall b. Data b => b -> b) -> ByteMatchSet -> ByteMatchSet #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteMatchSet -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteMatchSet -> r #

gmapQ :: (forall d. Data d => d -> u) -> ByteMatchSet -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteMatchSet -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteMatchSet -> m ByteMatchSet #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteMatchSet -> m ByteMatchSet #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteMatchSet -> m ByteMatchSet #

Read ByteMatchSet # 
Show ByteMatchSet # 
Generic ByteMatchSet # 

Associated Types

type Rep ByteMatchSet :: * -> * #

Hashable ByteMatchSet # 
FromJSON ByteMatchSet # 
NFData ByteMatchSet # 

Methods

rnf :: ByteMatchSet -> () #

type Rep ByteMatchSet # 
type Rep ByteMatchSet = D1 (MetaData "ByteMatchSet" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "ByteMatchSet'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_bmsName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_bmsByteMatchSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_bmsByteMatchTuples") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [ByteMatchTuple])))))

byteMatchSet #

Creates a value of ByteMatchSet with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • bmsName - A friendly name or description of the ByteMatchSet . You can't change Name after you create a ByteMatchSet .
  • bmsByteMatchSetId - The ByteMatchSetId for a ByteMatchSet . You use ByteMatchSetId to get information about a ByteMatchSet (see GetByteMatchSet ), update a ByteMatchSet (see UpdateByteMatchSet ), insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet ). ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets .
  • bmsByteMatchTuples - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

bmsName :: Lens' ByteMatchSet (Maybe Text) #

A friendly name or description of the ByteMatchSet . You can't change Name after you create a ByteMatchSet .

bmsByteMatchSetId :: Lens' ByteMatchSet Text #

The ByteMatchSetId for a ByteMatchSet . You use ByteMatchSetId to get information about a ByteMatchSet (see GetByteMatchSet ), update a ByteMatchSet (see UpdateByteMatchSet ), insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet ). ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets .

bmsByteMatchTuples :: Lens' ByteMatchSet [ByteMatchTuple] #

Specifies the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

ByteMatchSetSummary

data ByteMatchSetSummary #

Returned by ListByteMatchSets . Each ByteMatchSetSummary object includes the Name and ByteMatchSetId for one ByteMatchSet .

See: byteMatchSetSummary smart constructor.

Instances

Eq ByteMatchSetSummary # 
Data ByteMatchSetSummary # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteMatchSetSummary -> c ByteMatchSetSummary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteMatchSetSummary #

toConstr :: ByteMatchSetSummary -> Constr #

dataTypeOf :: ByteMatchSetSummary -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ByteMatchSetSummary) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteMatchSetSummary) #

gmapT :: (forall b. Data b => b -> b) -> ByteMatchSetSummary -> ByteMatchSetSummary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteMatchSetSummary -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteMatchSetSummary -> r #

gmapQ :: (forall d. Data d => d -> u) -> ByteMatchSetSummary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteMatchSetSummary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteMatchSetSummary -> m ByteMatchSetSummary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteMatchSetSummary -> m ByteMatchSetSummary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteMatchSetSummary -> m ByteMatchSetSummary #

Read ByteMatchSetSummary # 
Show ByteMatchSetSummary # 
Generic ByteMatchSetSummary # 
Hashable ByteMatchSetSummary # 
FromJSON ByteMatchSetSummary # 
NFData ByteMatchSetSummary # 

Methods

rnf :: ByteMatchSetSummary -> () #

type Rep ByteMatchSetSummary # 
type Rep ByteMatchSetSummary = D1 (MetaData "ByteMatchSetSummary" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "ByteMatchSetSummary'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_bmssByteMatchSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_bmssName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

byteMatchSetSummary #

Creates a value of ByteMatchSetSummary with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • bmssByteMatchSetId - The ByteMatchSetId for a ByteMatchSet . You use ByteMatchSetId to get information about a ByteMatchSet , update a ByteMatchSet , remove a ByteMatchSet from a Rule , and delete a ByteMatchSet from AWS WAF. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets .
  • bmssName - A friendly name or description of the ByteMatchSet . You can't change Name after you create a ByteMatchSet .

bmssByteMatchSetId :: Lens' ByteMatchSetSummary Text #

The ByteMatchSetId for a ByteMatchSet . You use ByteMatchSetId to get information about a ByteMatchSet , update a ByteMatchSet , remove a ByteMatchSet from a Rule , and delete a ByteMatchSet from AWS WAF. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets .

bmssName :: Lens' ByteMatchSetSummary Text #

A friendly name or description of the ByteMatchSet . You can't change Name after you create a ByteMatchSet .

ByteMatchSetUpdate

data ByteMatchSetUpdate #

In an UpdateByteMatchSet request, ByteMatchSetUpdate specifies whether to insert or delete a ByteMatchTuple and includes the settings for the ByteMatchTuple .

See: byteMatchSetUpdate smart constructor.

Instances

Eq ByteMatchSetUpdate # 
Data ByteMatchSetUpdate # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteMatchSetUpdate -> c ByteMatchSetUpdate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteMatchSetUpdate #

toConstr :: ByteMatchSetUpdate -> Constr #

dataTypeOf :: ByteMatchSetUpdate -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ByteMatchSetUpdate) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteMatchSetUpdate) #

gmapT :: (forall b. Data b => b -> b) -> ByteMatchSetUpdate -> ByteMatchSetUpdate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteMatchSetUpdate -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteMatchSetUpdate -> r #

gmapQ :: (forall d. Data d => d -> u) -> ByteMatchSetUpdate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteMatchSetUpdate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteMatchSetUpdate -> m ByteMatchSetUpdate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteMatchSetUpdate -> m ByteMatchSetUpdate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteMatchSetUpdate -> m ByteMatchSetUpdate #

Read ByteMatchSetUpdate # 
Show ByteMatchSetUpdate # 
Generic ByteMatchSetUpdate # 
Hashable ByteMatchSetUpdate # 
ToJSON ByteMatchSetUpdate # 
NFData ByteMatchSetUpdate # 

Methods

rnf :: ByteMatchSetUpdate -> () #

type Rep ByteMatchSetUpdate # 
type Rep ByteMatchSetUpdate = D1 (MetaData "ByteMatchSetUpdate" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "ByteMatchSetUpdate'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_bmsuAction") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ChangeAction)) (S1 (MetaSel (Just Symbol "_bmsuByteMatchTuple") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ByteMatchTuple))))

byteMatchSetUpdate #

Creates a value of ByteMatchSetUpdate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • bmsuAction - Specifies whether to insert or delete a ByteMatchTuple .
  • bmsuByteMatchTuple - Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. If you specify DELETE for the value of Action , the ByteMatchTuple values must exactly match the values in the ByteMatchTuple that you want to delete from the ByteMatchSet .

bmsuAction :: Lens' ByteMatchSetUpdate ChangeAction #

Specifies whether to insert or delete a ByteMatchTuple .

bmsuByteMatchTuple :: Lens' ByteMatchSetUpdate ByteMatchTuple #

Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. If you specify DELETE for the value of Action , the ByteMatchTuple values must exactly match the values in the ByteMatchTuple that you want to delete from the ByteMatchSet .

ByteMatchTuple

data ByteMatchTuple #

The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

See: byteMatchTuple smart constructor.

Instances

Eq ByteMatchTuple # 
Data ByteMatchTuple # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteMatchTuple -> c ByteMatchTuple #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteMatchTuple #

toConstr :: ByteMatchTuple -> Constr #

dataTypeOf :: ByteMatchTuple -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ByteMatchTuple) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteMatchTuple) #

gmapT :: (forall b. Data b => b -> b) -> ByteMatchTuple -> ByteMatchTuple #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteMatchTuple -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteMatchTuple -> r #

gmapQ :: (forall d. Data d => d -> u) -> ByteMatchTuple -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteMatchTuple -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteMatchTuple -> m ByteMatchTuple #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteMatchTuple -> m ByteMatchTuple #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteMatchTuple -> m ByteMatchTuple #

Read ByteMatchTuple # 
Show ByteMatchTuple # 
Generic ByteMatchTuple # 

Associated Types

type Rep ByteMatchTuple :: * -> * #

Hashable ByteMatchTuple # 
ToJSON ByteMatchTuple # 
FromJSON ByteMatchTuple # 
NFData ByteMatchTuple # 

Methods

rnf :: ByteMatchTuple -> () #

type Rep ByteMatchTuple # 
type Rep ByteMatchTuple = D1 (MetaData "ByteMatchTuple" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "ByteMatchTuple'" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_bmtFieldToMatch") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 FieldToMatch)) (S1 (MetaSel (Just Symbol "_bmtTargetString") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Base64))) ((:*:) (S1 (MetaSel (Just Symbol "_bmtTextTransformation") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 TextTransformation)) (S1 (MetaSel (Just Symbol "_bmtPositionalConstraint") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 PositionalConstraint)))))

byteMatchTuple #

Creates a value of ByteMatchTuple with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • bmtFieldToMatch - The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch .
  • bmtTargetString - The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch . The maximum length of the value is 50 bytes. Valid values depend on the values that you specified for FieldToMatch : * HEADER : The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch , for example, the value of the User-Agent or Referer header. * METHOD : The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE , GET , HEAD , OPTIONS , PATCH , POST , and PUT . * QUERY_STRING : The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character. * URI : The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, imagesdaily-ad.jpg . * BODY : The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet . If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive. If you're using the AWS WAF API Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes. For example, suppose the value of Type is HEADER and the value of Data is User-Agent . If you want to search the User-Agent header for the value BadBot , you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90 , in the value of TargetString . If you're using the AWS CLI or one of the AWS SDKs The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.-- Note: This Lens automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This Lens accepts and returns only raw unencoded data.
  • bmtTextTransformation - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on TargetString before inspecting a request for a match. CMD_LINE When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): * f, formfeed, decimal 12 * t, tab, decimal 9 * n, newline, decimal 10 * r, carriage return, decimal 13 * v, vertical tab, decimal 11 * non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: * Replaces (ampersand)quot; with " * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 * Replaces (ampersand)lt; with a "less than" symbol * Replaces (ampersand)gt; with > * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh; , with the corresponding characters * Replaces characters that are represented in decimal format, (ampersand)#nnnn; , with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value. NONE Specify NONE if you don't want to perform any text transformations.
  • bmtPositionalConstraint - Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following: CONTAINS The specified part of the web request must include the value of TargetString , but the location doesn't matter. CONTAINS_WORD The specified part of the web request must include the value of TargetString , and TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means one of the following: * TargetString exactly matches the value of the specified part of the web request, such as the value of a header. * TargetString is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot; . * TargetString is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example, ;BadBot . * TargetString is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example, -BadBot; . EXACTLY The value of the specified part of the web request must exactly match the value of TargetString . STARTS_WITH The value of TargetString must appear at the beginning of the specified part of the web request. ENDS_WITH The value of TargetString must appear at the end of the specified part of the web request.

bmtFieldToMatch :: Lens' ByteMatchTuple FieldToMatch #

The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch .

bmtTargetString :: Lens' ByteMatchTuple ByteString #

The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch . The maximum length of the value is 50 bytes. Valid values depend on the values that you specified for FieldToMatch : * HEADER : The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch , for example, the value of the User-Agent or Referer header. * METHOD : The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE , GET , HEAD , OPTIONS , PATCH , POST , and PUT . * QUERY_STRING : The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character. * URI : The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, imagesdaily-ad.jpg . * BODY : The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet . If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive. If you're using the AWS WAF API Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes. For example, suppose the value of Type is HEADER and the value of Data is User-Agent . If you want to search the User-Agent header for the value BadBot , you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90 , in the value of TargetString . If you're using the AWS CLI or one of the AWS SDKs The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.-- Note: This Lens automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This Lens accepts and returns only raw unencoded data.

bmtTextTransformation :: Lens' ByteMatchTuple TextTransformation #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on TargetString before inspecting a request for a match. CMD_LINE When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): * f, formfeed, decimal 12 * t, tab, decimal 9 * n, newline, decimal 10 * r, carriage return, decimal 13 * v, vertical tab, decimal 11 * non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: * Replaces (ampersand)quot; with " * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 * Replaces (ampersand)lt; with a "less than" symbol * Replaces (ampersand)gt; with > * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh; , with the corresponding characters * Replaces characters that are represented in decimal format, (ampersand)#nnnn; , with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value. NONE Specify NONE if you don't want to perform any text transformations.

bmtPositionalConstraint :: Lens' ByteMatchTuple PositionalConstraint #

Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following: CONTAINS The specified part of the web request must include the value of TargetString , but the location doesn't matter. CONTAINS_WORD The specified part of the web request must include the value of TargetString , and TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means one of the following: * TargetString exactly matches the value of the specified part of the web request, such as the value of a header. * TargetString is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot; . * TargetString is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example, ;BadBot . * TargetString is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example, -BadBot; . EXACTLY The value of the specified part of the web request must exactly match the value of TargetString . STARTS_WITH The value of TargetString must appear at the beginning of the specified part of the web request. ENDS_WITH The value of TargetString must appear at the end of the specified part of the web request.

FieldToMatch

data FieldToMatch #

Specifies where in a web request to look for TargetString .

See: fieldToMatch smart constructor.

Instances

Eq FieldToMatch # 
Data FieldToMatch # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldToMatch -> c FieldToMatch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FieldToMatch #

toConstr :: FieldToMatch -> Constr #

dataTypeOf :: FieldToMatch -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c FieldToMatch) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FieldToMatch) #

gmapT :: (forall b. Data b => b -> b) -> FieldToMatch -> FieldToMatch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldToMatch -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldToMatch -> r #

gmapQ :: (forall d. Data d => d -> u) -> FieldToMatch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldToMatch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldToMatch -> m FieldToMatch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldToMatch -> m FieldToMatch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldToMatch -> m FieldToMatch #

Read FieldToMatch # 
Show FieldToMatch # 
Generic FieldToMatch # 

Associated Types

type Rep FieldToMatch :: * -> * #

Hashable FieldToMatch # 
ToJSON FieldToMatch # 
FromJSON FieldToMatch # 
NFData FieldToMatch # 

Methods

rnf :: FieldToMatch -> () #

type Rep FieldToMatch # 
type Rep FieldToMatch = D1 (MetaData "FieldToMatch" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "FieldToMatch'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_ftmData") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_ftmType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 MatchFieldType))))

fieldToMatch #

Creates a value of FieldToMatch with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • ftmData - When the value of Type is HEADER , enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer . If the value of Type is any other value, omit Data . The name of the header is not case sensitive.
  • ftmType - The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following: * HEADER : A specified request header, for example, the value of the User-Agent or Referer header. If you choose HEADER for the type, specify the name of the header in Data . * METHOD : The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: DELETE , GET , HEAD , OPTIONS , PATCH , POST , and PUT . * QUERY_STRING : A query string, which is the part of a URL that appears after a ? character, if any. * URI : The part of a web request that identifies a resource, for example, imagesdaily-ad.jpg . * BODY : The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet .

ftmData :: Lens' FieldToMatch (Maybe Text) #

When the value of Type is HEADER , enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer . If the value of Type is any other value, omit Data . The name of the header is not case sensitive.

ftmType :: Lens' FieldToMatch MatchFieldType #

The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following: * HEADER : A specified request header, for example, the value of the User-Agent or Referer header. If you choose HEADER for the type, specify the name of the header in Data . * METHOD : The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: DELETE , GET , HEAD , OPTIONS , PATCH , POST , and PUT . * QUERY_STRING : A query string, which is the part of a URL that appears after a ? character, if any. * URI : The part of a web request that identifies a resource, for example, imagesdaily-ad.jpg . * BODY : The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet .

HTTPHeader

data HTTPHeader #

The response from a GetSampledRequests request includes an HTTPHeader complex type that appears as Headers in the response syntax. HTTPHeader contains the names and values of all of the headers that appear in one of the web requests that were returned by GetSampledRequests .

See: hTTPHeader smart constructor.

Instances

Eq HTTPHeader # 
Data HTTPHeader # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HTTPHeader -> c HTTPHeader #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HTTPHeader #

toConstr :: HTTPHeader -> Constr #

dataTypeOf :: HTTPHeader -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c HTTPHeader) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HTTPHeader) #

gmapT :: (forall b. Data b => b -> b) -> HTTPHeader -> HTTPHeader #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HTTPHeader -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HTTPHeader -> r #

gmapQ :: (forall d. Data d => d -> u) -> HTTPHeader -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> HTTPHeader -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> HTTPHeader -> m HTTPHeader #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HTTPHeader -> m HTTPHeader #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HTTPHeader -> m HTTPHeader #

Read HTTPHeader # 
Show HTTPHeader # 
Generic HTTPHeader # 

Associated Types

type Rep HTTPHeader :: * -> * #

Hashable HTTPHeader # 
FromJSON HTTPHeader # 
NFData HTTPHeader # 

Methods

rnf :: HTTPHeader -> () #

type Rep HTTPHeader # 
type Rep HTTPHeader = D1 (MetaData "HTTPHeader" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "HTTPHeader'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_httphValue") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_httphName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))))

hTTPHeader :: HTTPHeader #

Creates a value of HTTPHeader with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • httphValue - The value of one of the headers in the sampled web request.
  • httphName - The name of one of the headers in the sampled web request.

httphValue :: Lens' HTTPHeader (Maybe Text) #

The value of one of the headers in the sampled web request.

httphName :: Lens' HTTPHeader (Maybe Text) #

The name of one of the headers in the sampled web request.

HTTPRequest

data HTTPRequest #

The response from a GetSampledRequests request includes an HTTPRequest complex type that appears as Request in the response syntax. HTTPRequest contains information about one of the web requests that were returned by GetSampledRequests .

See: hTTPRequest smart constructor.

Instances

Eq HTTPRequest # 
Data HTTPRequest # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HTTPRequest -> c HTTPRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HTTPRequest #

toConstr :: HTTPRequest -> Constr #

dataTypeOf :: HTTPRequest -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c HTTPRequest) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HTTPRequest) #

gmapT :: (forall b. Data b => b -> b) -> HTTPRequest -> HTTPRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HTTPRequest -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HTTPRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> HTTPRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> HTTPRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> HTTPRequest -> m HTTPRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HTTPRequest -> m HTTPRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HTTPRequest -> m HTTPRequest #

Read HTTPRequest # 
Show HTTPRequest # 
Generic HTTPRequest # 

Associated Types

type Rep HTTPRequest :: * -> * #

Hashable HTTPRequest # 
FromJSON HTTPRequest # 
NFData HTTPRequest # 

Methods

rnf :: HTTPRequest -> () #

type Rep HTTPRequest # 

hTTPRequest :: HTTPRequest #

Creates a value of HTTPRequest with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • httprHTTPVersion - The HTTP version specified in the sampled web request, for example, HTTP/1.1 .
  • httprCountry - The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2 .
  • httprURI - The part of a web request that identifies the resource, for example, imagesdaily-ad.jpg .
  • httprHeaders - A complex type that contains two values for each header in the sampled web request: the name of the header and the value of the header.
  • httprMethod - The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE , GET , HEAD , OPTIONS , PATCH , POST , and PUT .
  • httprClientIP - The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs: * c-ip , if the viewer did not use an HTTP proxy or a load balancer to send the request * x-forwarded-for , if the viewer did use an HTTP proxy or a load balancer to send the request

httprHTTPVersion :: Lens' HTTPRequest (Maybe Text) #

The HTTP version specified in the sampled web request, for example, HTTP/1.1 .

httprCountry :: Lens' HTTPRequest (Maybe Text) #

The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2 .

httprURI :: Lens' HTTPRequest (Maybe Text) #

The part of a web request that identifies the resource, for example, imagesdaily-ad.jpg .

httprHeaders :: Lens' HTTPRequest [HTTPHeader] #

A complex type that contains two values for each header in the sampled web request: the name of the header and the value of the header.

httprMethod :: Lens' HTTPRequest (Maybe Text) #

The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE , GET , HEAD , OPTIONS , PATCH , POST , and PUT .

httprClientIP :: Lens' HTTPRequest (Maybe Text) #

The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs: * c-ip , if the viewer did not use an HTTP proxy or a load balancer to send the request * x-forwarded-for , if the viewer did use an HTTP proxy or a load balancer to send the request

IPSet

data IPSet #

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. To specify an individual IP address, you specify the four-part IP address followed by a /32 , for example, 192.0.2.031. To block a range of IP addresses, you can specify a @24 , a 16 , or a 8 CIDR. For more information about CIDR notation, perform an Internet search on cidr notation@ .

See: ipSet smart constructor.

Instances

Eq IPSet # 

Methods

(==) :: IPSet -> IPSet -> Bool #

(/=) :: IPSet -> IPSet -> Bool #

Data IPSet # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPSet -> c IPSet #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IPSet #

toConstr :: IPSet -> Constr #

dataTypeOf :: IPSet -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c IPSet) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IPSet) #

gmapT :: (forall b. Data b => b -> b) -> IPSet -> IPSet #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPSet -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPSet -> r #

gmapQ :: (forall d. Data d => d -> u) -> IPSet -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IPSet -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPSet -> m IPSet #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSet -> m IPSet #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSet -> m IPSet #

Read IPSet # 
Show IPSet # 

Methods

showsPrec :: Int -> IPSet -> ShowS #

show :: IPSet -> String #

showList :: [IPSet] -> ShowS #

Generic IPSet # 

Associated Types

type Rep IPSet :: * -> * #

Methods

from :: IPSet -> Rep IPSet x #

to :: Rep IPSet x -> IPSet #

Hashable IPSet # 

Methods

hashWithSalt :: Int -> IPSet -> Int #

hash :: IPSet -> Int #

FromJSON IPSet # 
NFData IPSet # 

Methods

rnf :: IPSet -> () #

type Rep IPSet # 
type Rep IPSet = D1 (MetaData "IPSet" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "IPSet'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_isName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_isIPSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_isIPSetDescriptors") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [IPSetDescriptor])))))

ipSet #

Arguments

:: Text

isIPSetId

-> IPSet 

Creates a value of IPSet with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • isName - A friendly name or description of the IPSet . You can't change the name of an IPSet after you create it.
  • isIPSetId - The IPSetId for an IPSet . You use IPSetId to get information about an IPSet (see GetIPSet ), update an IPSet (see UpdateIPSet ), insert an IPSet into a Rule or delete one from a Rule (see UpdateRule ), and delete an IPSet from AWS WAF (see DeleteIPSet ). IPSetId is returned by CreateIPSet and by ListIPSets .
  • isIPSetDescriptors - The IP address type (IPV4 ) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs: * c-ip , if the viewer did not use an HTTP proxy or a load balancer to send the request * x-forwarded-for , if the viewer did use an HTTP proxy or a load balancer to send the request

isName :: Lens' IPSet (Maybe Text) #

A friendly name or description of the IPSet . You can't change the name of an IPSet after you create it.

isIPSetId :: Lens' IPSet Text #

The IPSetId for an IPSet . You use IPSetId to get information about an IPSet (see GetIPSet ), update an IPSet (see UpdateIPSet ), insert an IPSet into a Rule or delete one from a Rule (see UpdateRule ), and delete an IPSet from AWS WAF (see DeleteIPSet ). IPSetId is returned by CreateIPSet and by ListIPSets .

isIPSetDescriptors :: Lens' IPSet [IPSetDescriptor] #

The IP address type (IPV4 ) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs: * c-ip , if the viewer did not use an HTTP proxy or a load balancer to send the request * x-forwarded-for , if the viewer did use an HTTP proxy or a load balancer to send the request

IPSetDescriptor

data IPSetDescriptor #

Specifies the IP address type (IPV4 ) and the IP address range (in CIDR format) that web requests originate from.

See: ipSetDescriptor smart constructor.

Instances

Eq IPSetDescriptor # 
Data IPSetDescriptor # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPSetDescriptor -> c IPSetDescriptor #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IPSetDescriptor #

toConstr :: IPSetDescriptor -> Constr #

dataTypeOf :: IPSetDescriptor -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c IPSetDescriptor) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IPSetDescriptor) #

gmapT :: (forall b. Data b => b -> b) -> IPSetDescriptor -> IPSetDescriptor #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPSetDescriptor -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPSetDescriptor -> r #

gmapQ :: (forall d. Data d => d -> u) -> IPSetDescriptor -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IPSetDescriptor -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPSetDescriptor -> m IPSetDescriptor #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSetDescriptor -> m IPSetDescriptor #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSetDescriptor -> m IPSetDescriptor #

Read IPSetDescriptor # 
Show IPSetDescriptor # 
Generic IPSetDescriptor # 
Hashable IPSetDescriptor # 
ToJSON IPSetDescriptor # 
FromJSON IPSetDescriptor # 
NFData IPSetDescriptor # 

Methods

rnf :: IPSetDescriptor -> () #

type Rep IPSetDescriptor # 
type Rep IPSetDescriptor = D1 (MetaData "IPSetDescriptor" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "IPSetDescriptor'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_isdType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 IPSetDescriptorType)) (S1 (MetaSel (Just Symbol "_isdValue") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

ipSetDescriptor #

Creates a value of IPSetDescriptor with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • isdType - Specify IPV4 .
  • isdValue - Specify an IPv4 address by using CIDR notation. For example: * To configure AWS 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 AWS 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 . AWS WAF supports only 8, 16, 24, and 32 IP addresses. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing .

isdValue :: Lens' IPSetDescriptor Text #

Specify an IPv4 address by using CIDR notation. For example: * To configure AWS 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 AWS 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 . AWS WAF supports only 8, 16, 24, and 32 IP addresses. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing .

IPSetSummary

data IPSetSummary #

Contains the identifier and the name of the IPSet .

See: ipSetSummary smart constructor.

Instances

Eq IPSetSummary # 
Data IPSetSummary # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPSetSummary -> c IPSetSummary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IPSetSummary #

toConstr :: IPSetSummary -> Constr #

dataTypeOf :: IPSetSummary -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c IPSetSummary) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IPSetSummary) #

gmapT :: (forall b. Data b => b -> b) -> IPSetSummary -> IPSetSummary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPSetSummary -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPSetSummary -> r #

gmapQ :: (forall d. Data d => d -> u) -> IPSetSummary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IPSetSummary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPSetSummary -> m IPSetSummary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSetSummary -> m IPSetSummary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSetSummary -> m IPSetSummary #

Read IPSetSummary # 
Show IPSetSummary # 
Generic IPSetSummary # 

Associated Types

type Rep IPSetSummary :: * -> * #

Hashable IPSetSummary # 
FromJSON IPSetSummary # 
NFData IPSetSummary # 

Methods

rnf :: IPSetSummary -> () #

type Rep IPSetSummary # 
type Rep IPSetSummary = D1 (MetaData "IPSetSummary" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "IPSetSummary'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_issIPSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_issName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

ipSetSummary #

Creates a value of IPSetSummary with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • issIPSetId - The IPSetId for an IPSet . You can use IPSetId in a GetIPSet request to get detailed information about an IPSet .
  • issName - A friendly name or description of the IPSet . You can't change the name of an IPSet after you create it.

issIPSetId :: Lens' IPSetSummary Text #

The IPSetId for an IPSet . You can use IPSetId in a GetIPSet request to get detailed information about an IPSet .

issName :: Lens' IPSetSummary Text #

A friendly name or description of the IPSet . You can't change the name of an IPSet after you create it.

IPSetUpdate

data IPSetUpdate #

Specifies the type of update to perform to an IPSet with UpdateIPSet .

See: ipSetUpdate smart constructor.

Instances

Eq IPSetUpdate # 
Data IPSetUpdate # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPSetUpdate -> c IPSetUpdate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IPSetUpdate #

toConstr :: IPSetUpdate -> Constr #

dataTypeOf :: IPSetUpdate -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c IPSetUpdate) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IPSetUpdate) #

gmapT :: (forall b. Data b => b -> b) -> IPSetUpdate -> IPSetUpdate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPSetUpdate -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPSetUpdate -> r #

gmapQ :: (forall d. Data d => d -> u) -> IPSetUpdate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IPSetUpdate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPSetUpdate -> m IPSetUpdate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSetUpdate -> m IPSetUpdate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPSetUpdate -> m IPSetUpdate #

Read IPSetUpdate # 
Show IPSetUpdate # 
Generic IPSetUpdate # 

Associated Types

type Rep IPSetUpdate :: * -> * #

Hashable IPSetUpdate # 
ToJSON IPSetUpdate # 
NFData IPSetUpdate # 

Methods

rnf :: IPSetUpdate -> () #

type Rep IPSetUpdate # 
type Rep IPSetUpdate = D1 (MetaData "IPSetUpdate" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "IPSetUpdate'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_isuAction") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ChangeAction)) (S1 (MetaSel (Just Symbol "_isuIPSetDescriptor") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 IPSetDescriptor))))

ipSetUpdate #

Creates a value of IPSetUpdate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • isuAction - Specifies whether to insert or delete an IP address with UpdateIPSet .
  • isuIPSetDescriptor - The IP address type (IPV4 ) and the IP address range (in CIDR notation) that web requests originate from.

isuAction :: Lens' IPSetUpdate ChangeAction #

Specifies whether to insert or delete an IP address with UpdateIPSet .

isuIPSetDescriptor :: Lens' IPSetUpdate IPSetDescriptor #

The IP address type (IPV4 ) and the IP address range (in CIDR notation) that web requests originate from.

Predicate

data Predicate #

Specifies the ByteMatchSet , IPSet , SqlInjectionMatchSet , XssMatchSet , and SizeConstraintSet objects that you want to add to a Rule and, for each object, indicates whether you want to negate the settings, for example, requests that do NOT originate from the IP address 192.0.2.44.

See: predicate smart constructor.

Instances

Eq Predicate # 
Data Predicate # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Predicate -> c Predicate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Predicate #

toConstr :: Predicate -> Constr #

dataTypeOf :: Predicate -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Predicate) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Predicate) #

gmapT :: (forall b. Data b => b -> b) -> Predicate -> Predicate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Predicate -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Predicate -> r #

gmapQ :: (forall d. Data d => d -> u) -> Predicate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Predicate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Predicate -> m Predicate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Predicate -> m Predicate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Predicate -> m Predicate #

Read Predicate # 
Show Predicate # 
Generic Predicate # 

Associated Types

type Rep Predicate :: * -> * #

Hashable Predicate # 
ToJSON Predicate # 
FromJSON Predicate # 
NFData Predicate # 

Methods

rnf :: Predicate -> () #

type Rep Predicate # 
type Rep Predicate = D1 (MetaData "Predicate" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "Predicate'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_pNegated") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Bool)) ((:*:) (S1 (MetaSel (Just Symbol "_pType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 PredicateType)) (S1 (MetaSel (Just Symbol "_pDataId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)))))

predicate #

Creates a value of Predicate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • pNegated - Set Negated to False if you want AWS WAF to allow, block, or count requests based on the settings in the specified ByteMatchSet , IPSet , SqlInjectionMatchSet , XssMatchSet , or SizeConstraintSet . For example, if an IPSet includes the IP address 192.0.2.44 , AWS WAF will allow or block requests based on that IP address. Set Negated to True if you want AWS WAF to allow or block a request based on the negation of the settings in the ByteMatchSet , IPSet , SqlInjectionMatchSet , XssMatchSet , or SizeConstraintSet . For example, if an IPSet includes the IP address 192.0.2.44 , AWS WAF will allow, block, or count requests based on all IP addresses except 192.0.2.44 .
  • pType - The type of predicate in a Rule , such as ByteMatchSet or IPSet .
  • pDataId - A unique identifier for a predicate in a Rule , such as ByteMatchSetId or IPSetId . The ID is returned by the corresponding Create or List command.

pNegated :: Lens' Predicate Bool #

Set Negated to False if you want AWS WAF to allow, block, or count requests based on the settings in the specified ByteMatchSet , IPSet , SqlInjectionMatchSet , XssMatchSet , or SizeConstraintSet . For example, if an IPSet includes the IP address 192.0.2.44 , AWS WAF will allow or block requests based on that IP address. Set Negated to True if you want AWS WAF to allow or block a request based on the negation of the settings in the ByteMatchSet , IPSet , SqlInjectionMatchSet , XssMatchSet , or SizeConstraintSet . For example, if an IPSet includes the IP address 192.0.2.44 , AWS WAF will allow, block, or count requests based on all IP addresses except 192.0.2.44 .

pType :: Lens' Predicate PredicateType #

The type of predicate in a Rule , such as ByteMatchSet or IPSet .

pDataId :: Lens' Predicate Text #

A unique identifier for a predicate in a Rule , such as ByteMatchSetId or IPSetId . The ID is returned by the corresponding Create or List command.

Rule

data Rule #

A combination of ByteMatchSet , IPSet , and/or SqlInjectionMatchSet objects that identify the web requests that you want to allow, block, or count. For example, you might create a Rule that includes the following predicates:

  • An IPSet that causes AWS WAF to search for web requests that originate from the IP address 192.0.2.44
  • A ByteMatchSet that causes AWS WAF to search for web requests for which the value of the User-Agent header is BadBot .

To match the settings in this Rule , a request must originate from 192.0.2.44 AND include a User-Agent header for which the value is BadBot .

See: rule smart constructor.

Instances

Eq Rule # 

Methods

(==) :: Rule -> Rule -> Bool #

(/=) :: Rule -> Rule -> Bool #

Data Rule # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Rule -> c Rule #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Rule #

toConstr :: Rule -> Constr #

dataTypeOf :: Rule -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Rule) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Rule) #

gmapT :: (forall b. Data b => b -> b) -> Rule -> Rule #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Rule -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Rule -> r #

gmapQ :: (forall d. Data d => d -> u) -> Rule -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Rule -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Rule -> m Rule #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Rule -> m Rule #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Rule -> m Rule #

Read Rule # 
Show Rule # 

Methods

showsPrec :: Int -> Rule -> ShowS #

show :: Rule -> String #

showList :: [Rule] -> ShowS #

Generic Rule # 

Associated Types

type Rep Rule :: * -> * #

Methods

from :: Rule -> Rep Rule x #

to :: Rep Rule x -> Rule #

Hashable Rule # 

Methods

hashWithSalt :: Int -> Rule -> Int #

hash :: Rule -> Int #

FromJSON Rule # 
NFData Rule # 

Methods

rnf :: Rule -> () #

type Rep Rule # 
type Rep Rule = D1 (MetaData "Rule" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "Rule'" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_rMetricName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_rName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_rRuleId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_rPredicates") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [Predicate])))))

rule #

Arguments

:: Text

rRuleId

-> Rule 

Creates a value of Rule with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • rMetricName - Undocumented member.
  • rName - The friendly name or description for the Rule . You can't change the name of a Rule after you create it.
  • rRuleId - A unique identifier for a Rule . You use RuleId to get more information about a Rule (see GetRule ), update a Rule (see UpdateRule ), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL ), or delete a Rule from AWS WAF (see DeleteRule ). RuleId is returned by CreateRule and by ListRules .
  • rPredicates - The Predicates object contains one Predicate element for each ByteMatchSet , IPSet , or SqlInjectionMatchSet object that you want to include in a Rule .

rMetricName :: Lens' Rule (Maybe Text) #

Undocumented member.

rName :: Lens' Rule (Maybe Text) #

The friendly name or description for the Rule . You can't change the name of a Rule after you create it.

rRuleId :: Lens' Rule Text #

A unique identifier for a Rule . You use RuleId to get more information about a Rule (see GetRule ), update a Rule (see UpdateRule ), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL ), or delete a Rule from AWS WAF (see DeleteRule ). RuleId is returned by CreateRule and by ListRules .

rPredicates :: Lens' Rule [Predicate] #

The Predicates object contains one Predicate element for each ByteMatchSet , IPSet , or SqlInjectionMatchSet object that you want to include in a Rule .

RuleSummary

data RuleSummary #

Contains the identifier and the friendly name or description of the Rule .

See: ruleSummary smart constructor.

Instances

Eq RuleSummary # 
Data RuleSummary # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RuleSummary -> c RuleSummary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RuleSummary #

toConstr :: RuleSummary -> Constr #

dataTypeOf :: RuleSummary -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c RuleSummary) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RuleSummary) #

gmapT :: (forall b. Data b => b -> b) -> RuleSummary -> RuleSummary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RuleSummary -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RuleSummary -> r #

gmapQ :: (forall d. Data d => d -> u) -> RuleSummary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RuleSummary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RuleSummary -> m RuleSummary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleSummary -> m RuleSummary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleSummary -> m RuleSummary #

Read RuleSummary # 
Show RuleSummary # 
Generic RuleSummary # 

Associated Types

type Rep RuleSummary :: * -> * #

Hashable RuleSummary # 
FromJSON RuleSummary # 
NFData RuleSummary # 

Methods

rnf :: RuleSummary -> () #

type Rep RuleSummary # 
type Rep RuleSummary = D1 (MetaData "RuleSummary" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "RuleSummary'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_rsRuleId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_rsName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

ruleSummary #

Creates a value of RuleSummary with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • rsRuleId - A unique identifier for a Rule . You use RuleId to get more information about a Rule (see GetRule ), update a Rule (see UpdateRule ), insert a Rule into a WebACL or delete one from a WebACL (see UpdateWebACL ), or delete a Rule from AWS WAF (see DeleteRule ). RuleId is returned by CreateRule and by ListRules .
  • rsName - A friendly name or description of the Rule . You can't change the name of a Rule after you create it.

rsRuleId :: Lens' RuleSummary Text #

A unique identifier for a Rule . You use RuleId to get more information about a Rule (see GetRule ), update a Rule (see UpdateRule ), insert a Rule into a WebACL or delete one from a WebACL (see UpdateWebACL ), or delete a Rule from AWS WAF (see DeleteRule ). RuleId is returned by CreateRule and by ListRules .

rsName :: Lens' RuleSummary Text #

A friendly name or description of the Rule . You can't change the name of a Rule after you create it.

RuleUpdate

data RuleUpdate #

Specifies a Predicate (such as an IPSet ) and indicates whether you want to add it to a Rule or delete it from a Rule .

See: ruleUpdate smart constructor.

Instances

Eq RuleUpdate # 
Data RuleUpdate # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RuleUpdate -> c RuleUpdate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RuleUpdate #

toConstr :: RuleUpdate -> Constr #

dataTypeOf :: RuleUpdate -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c RuleUpdate) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RuleUpdate) #

gmapT :: (forall b. Data b => b -> b) -> RuleUpdate -> RuleUpdate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RuleUpdate -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RuleUpdate -> r #

gmapQ :: (forall d. Data d => d -> u) -> RuleUpdate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RuleUpdate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RuleUpdate -> m RuleUpdate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleUpdate -> m RuleUpdate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleUpdate -> m RuleUpdate #

Read RuleUpdate # 
Show RuleUpdate # 
Generic RuleUpdate # 

Associated Types

type Rep RuleUpdate :: * -> * #

Hashable RuleUpdate # 
ToJSON RuleUpdate # 
NFData RuleUpdate # 

Methods

rnf :: RuleUpdate -> () #

type Rep RuleUpdate # 
type Rep RuleUpdate = D1 (MetaData "RuleUpdate" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "RuleUpdate'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_ruAction") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ChangeAction)) (S1 (MetaSel (Just Symbol "_ruPredicate") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Predicate))))

ruleUpdate #

Creates a value of RuleUpdate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • ruAction - Specify INSERT to add a Predicate to a Rule . Use DELETE to remove a Predicate from a Rule .
  • ruPredicate - The ID of the Predicate (such as an IPSet ) that you want to add to a Rule .

ruAction :: Lens' RuleUpdate ChangeAction #

Specify INSERT to add a Predicate to a Rule . Use DELETE to remove a Predicate from a Rule .

ruPredicate :: Lens' RuleUpdate Predicate #

The ID of the Predicate (such as an IPSet ) that you want to add to a Rule .

SampledHTTPRequest

data SampledHTTPRequest #

The response from a GetSampledRequests request includes a SampledHTTPRequests complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests contains one SampledHTTPRequest object for each web request that is returned by GetSampledRequests .

See: sampledHTTPRequest smart constructor.

Instances

Eq SampledHTTPRequest # 
Data SampledHTTPRequest # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SampledHTTPRequest -> c SampledHTTPRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SampledHTTPRequest #

toConstr :: SampledHTTPRequest -> Constr #

dataTypeOf :: SampledHTTPRequest -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SampledHTTPRequest) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SampledHTTPRequest) #

gmapT :: (forall b. Data b => b -> b) -> SampledHTTPRequest -> SampledHTTPRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SampledHTTPRequest -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SampledHTTPRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> SampledHTTPRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SampledHTTPRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SampledHTTPRequest -> m SampledHTTPRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SampledHTTPRequest -> m SampledHTTPRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SampledHTTPRequest -> m SampledHTTPRequest #

Read SampledHTTPRequest # 
Show SampledHTTPRequest # 
Generic SampledHTTPRequest # 
Hashable SampledHTTPRequest # 
FromJSON SampledHTTPRequest # 
NFData SampledHTTPRequest # 

Methods

rnf :: SampledHTTPRequest -> () #

type Rep SampledHTTPRequest # 
type Rep SampledHTTPRequest = D1 (MetaData "SampledHTTPRequest" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "SampledHTTPRequest'" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_shttprAction") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_shttprTimestamp") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe POSIX)))) ((:*:) (S1 (MetaSel (Just Symbol "_shttprRequest") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 HTTPRequest)) (S1 (MetaSel (Just Symbol "_shttprWeight") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Nat)))))

sampledHTTPRequest #

Creates a value of SampledHTTPRequest with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • shttprAction - The action for the Rule that the request matched: ALLOW , BLOCK , or COUNT .
  • shttprTimestamp - The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).
  • shttprRequest - A complex type that contains detailed information about the request.
  • shttprWeight - A value that indicates how one result in the response relates proportionally to other results in the response. A result that has a weight of 2 represents roughly twice as many CloudFront web requests as a result that has a weight of 1 .

shttprAction :: Lens' SampledHTTPRequest (Maybe Text) #

The action for the Rule that the request matched: ALLOW , BLOCK , or COUNT .

shttprTimestamp :: Lens' SampledHTTPRequest (Maybe UTCTime) #

The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

shttprRequest :: Lens' SampledHTTPRequest HTTPRequest #

A complex type that contains detailed information about the request.

shttprWeight :: Lens' SampledHTTPRequest Natural #

A value that indicates how one result in the response relates proportionally to other results in the response. A result that has a weight of 2 represents roughly twice as many CloudFront web requests as a result that has a weight of 1 .

SizeConstraint

data SizeConstraint #

Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size , ComparisonOperator , and FieldToMatch to build an expression in the form of "Size ComparisonOperator size in bytes of FieldToMatch ". If that expression is true, the SizeConstraint is considered to match.

See: sizeConstraint smart constructor.

Instances

Eq SizeConstraint # 
Data SizeConstraint # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SizeConstraint -> c SizeConstraint #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SizeConstraint #

toConstr :: SizeConstraint -> Constr #

dataTypeOf :: SizeConstraint -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SizeConstraint) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SizeConstraint) #

gmapT :: (forall b. Data b => b -> b) -> SizeConstraint -> SizeConstraint #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SizeConstraint -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SizeConstraint -> r #

gmapQ :: (forall d. Data d => d -> u) -> SizeConstraint -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SizeConstraint -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SizeConstraint -> m SizeConstraint #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SizeConstraint -> m SizeConstraint #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SizeConstraint -> m SizeConstraint #

Read SizeConstraint # 
Show SizeConstraint # 
Generic SizeConstraint # 

Associated Types

type Rep SizeConstraint :: * -> * #

Hashable SizeConstraint # 
ToJSON SizeConstraint # 
FromJSON SizeConstraint # 
NFData SizeConstraint # 

Methods

rnf :: SizeConstraint -> () #

type Rep SizeConstraint # 
type Rep SizeConstraint = D1 (MetaData "SizeConstraint" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "SizeConstraint'" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_scFieldToMatch") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 FieldToMatch)) (S1 (MetaSel (Just Symbol "_scTextTransformation") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 TextTransformation))) ((:*:) (S1 (MetaSel (Just Symbol "_scComparisonOperator") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ComparisonOperator)) (S1 (MetaSel (Just Symbol "_scSize") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Nat)))))

sizeConstraint #

Creates a value of SizeConstraint with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • scFieldToMatch - Undocumented member.
  • scTextTransformation - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match. Note that if you choose BODY for the value of Type , you must choose NONE for TextTransformation because CloudFront forwards only the first 8192 bytes for inspection. NONE Specify NONE if you don't want to perform any text transformations. CMD_LINE When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): * f, formfeed, decimal 12 * t, tab, decimal 9 * n, newline, decimal 10 * r, carriage return, decimal 13 * v, vertical tab, decimal 11 * non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: * Replaces (ampersand)quot; with " * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 * Replaces (ampersand)lt; with a "less than" symbol * Replaces (ampersand)gt; with > * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh; , with the corresponding characters * Replaces characters that are represented in decimal format, (ampersand)#nnnn; , with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value.
  • scComparisonOperator - The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided Size and FieldToMatch to build an expression in the form of "Size ComparisonOperator size in bytes of FieldToMatch ". If that expression is true, the SizeConstraint is considered to match. EQ : Used to test if the Size is equal to the size of the FieldToMatch NE : Used to test if the Size is not equal to the size of the FieldToMatch LE : Used to test if the Size is less than or equal to the size of the FieldToMatch LT : Used to test if the Size is strictly less than the size of the FieldToMatch GE : Used to test if the Size is greater than or equal to the size of the FieldToMatch GT : Used to test if the Size is strictly greater than the size of the FieldToMatch
  • scSize - The size in bytes that you want AWS WAF to compare against the size of the specified FieldToMatch . AWS WAF uses this in combination with ComparisonOperator and FieldToMatch to build an expression in the form of "Size ComparisonOperator size in bytes of FieldToMatch ". If that expression is true, the SizeConstraint is considered to match. Valid values for size are 0 - 21474836480 bytes (0 - 20 GB). If you specify URI for the value of Type , the in the URI counts as one character. For example, the URI @logo.jpg@ is nine characters long.

scTextTransformation :: Lens' SizeConstraint TextTransformation #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match. Note that if you choose BODY for the value of Type , you must choose NONE for TextTransformation because CloudFront forwards only the first 8192 bytes for inspection. NONE Specify NONE if you don't want to perform any text transformations. CMD_LINE When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): * f, formfeed, decimal 12 * t, tab, decimal 9 * n, newline, decimal 10 * r, carriage return, decimal 13 * v, vertical tab, decimal 11 * non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: * Replaces (ampersand)quot; with " * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 * Replaces (ampersand)lt; with a "less than" symbol * Replaces (ampersand)gt; with > * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh; , with the corresponding characters * Replaces characters that are represented in decimal format, (ampersand)#nnnn; , with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value.

scComparisonOperator :: Lens' SizeConstraint ComparisonOperator #

The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided Size and FieldToMatch to build an expression in the form of "Size ComparisonOperator size in bytes of FieldToMatch ". If that expression is true, the SizeConstraint is considered to match. EQ : Used to test if the Size is equal to the size of the FieldToMatch NE : Used to test if the Size is not equal to the size of the FieldToMatch LE : Used to test if the Size is less than or equal to the size of the FieldToMatch LT : Used to test if the Size is strictly less than the size of the FieldToMatch GE : Used to test if the Size is greater than or equal to the size of the FieldToMatch GT : Used to test if the Size is strictly greater than the size of the FieldToMatch

scSize :: Lens' SizeConstraint Natural #

The size in bytes that you want AWS WAF to compare against the size of the specified FieldToMatch . AWS WAF uses this in combination with ComparisonOperator and FieldToMatch to build an expression in the form of "Size ComparisonOperator size in bytes of FieldToMatch ". If that expression is true, the SizeConstraint is considered to match. Valid values for size are 0 - 21474836480 bytes (0 - 20 GB). If you specify URI for the value of Type , the in the URI counts as one character. For example, the URI @logo.jpg@ is nine characters long.

SizeConstraintSet

data SizeConstraintSet #

A complex type that contains SizeConstraint objects, which specify the parts of web requests that you want AWS WAF to inspect the size of. If a SizeConstraintSet contains more than one SizeConstraint object, a request only needs to match one constraint to be considered a match.

See: sizeConstraintSet smart constructor.

Instances

Eq SizeConstraintSet # 
Data SizeConstraintSet # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SizeConstraintSet -> c SizeConstraintSet #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SizeConstraintSet #

toConstr :: SizeConstraintSet -> Constr #

dataTypeOf :: SizeConstraintSet -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SizeConstraintSet) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SizeConstraintSet) #

gmapT :: (forall b. Data b => b -> b) -> SizeConstraintSet -> SizeConstraintSet #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SizeConstraintSet -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SizeConstraintSet -> r #

gmapQ :: (forall d. Data d => d -> u) -> SizeConstraintSet -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SizeConstraintSet -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SizeConstraintSet -> m SizeConstraintSet #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SizeConstraintSet -> m SizeConstraintSet #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SizeConstraintSet -> m SizeConstraintSet #

Read SizeConstraintSet # 
Show SizeConstraintSet # 
Generic SizeConstraintSet # 
Hashable SizeConstraintSet # 
FromJSON SizeConstraintSet # 
NFData SizeConstraintSet # 

Methods

rnf :: SizeConstraintSet -> () #

type Rep SizeConstraintSet # 
type Rep SizeConstraintSet = D1 (MetaData "SizeConstraintSet" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "SizeConstraintSet'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_scsName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_scsSizeConstraintSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_scsSizeConstraints") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [SizeConstraint])))))

sizeConstraintSet #

Creates a value of SizeConstraintSet with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • scsName - The name, if any, of the SizeConstraintSet .
  • scsSizeConstraintSetId - A unique identifier for a SizeConstraintSet . You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet ), update a SizeConstraintSet (see UpdateSizeConstraintSet ), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet ). SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets .
  • scsSizeConstraints - Specifies the parts of web requests that you want to inspect the size of.

scsName :: Lens' SizeConstraintSet (Maybe Text) #

The name, if any, of the SizeConstraintSet .

scsSizeConstraintSetId :: Lens' SizeConstraintSet Text #

A unique identifier for a SizeConstraintSet . You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet ), update a SizeConstraintSet (see UpdateSizeConstraintSet ), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet ). SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets .

scsSizeConstraints :: Lens' SizeConstraintSet [SizeConstraint] #

Specifies the parts of web requests that you want to inspect the size of.

SizeConstraintSetSummary

data SizeConstraintSetSummary #

The Id and Name of a SizeConstraintSet .

See: sizeConstraintSetSummary smart constructor.

Instances

Eq SizeConstraintSetSummary # 
Data SizeConstraintSetSummary # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SizeConstraintSetSummary -> c SizeConstraintSetSummary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SizeConstraintSetSummary #

toConstr :: SizeConstraintSetSummary -> Constr #

dataTypeOf :: SizeConstraintSetSummary -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SizeConstraintSetSummary) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SizeConstraintSetSummary) #

gmapT :: (forall b. Data b => b -> b) -> SizeConstraintSetSummary -> SizeConstraintSetSummary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SizeConstraintSetSummary -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SizeConstraintSetSummary -> r #

gmapQ :: (forall d. Data d => d -> u) -> SizeConstraintSetSummary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SizeConstraintSetSummary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SizeConstraintSetSummary -> m SizeConstraintSetSummary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SizeConstraintSetSummary -> m SizeConstraintSetSummary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SizeConstraintSetSummary -> m SizeConstraintSetSummary #

Read SizeConstraintSetSummary # 
Show SizeConstraintSetSummary # 
Generic SizeConstraintSetSummary # 
Hashable SizeConstraintSetSummary # 
FromJSON SizeConstraintSetSummary # 
NFData SizeConstraintSetSummary # 
type Rep SizeConstraintSetSummary # 
type Rep SizeConstraintSetSummary = D1 (MetaData "SizeConstraintSetSummary" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "SizeConstraintSetSummary'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_scssSizeConstraintSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_scssName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

sizeConstraintSetSummary #

Creates a value of SizeConstraintSetSummary with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • scssSizeConstraintSetId - A unique identifier for a SizeConstraintSet . You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet ), update a SizeConstraintSet (see UpdateSizeConstraintSet ), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet ). SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets .
  • scssName - The name of the SizeConstraintSet , if any.

scssSizeConstraintSetId :: Lens' SizeConstraintSetSummary Text #

A unique identifier for a SizeConstraintSet . You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet ), update a SizeConstraintSet (see UpdateSizeConstraintSet ), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet ). SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets .

scssName :: Lens' SizeConstraintSetSummary Text #

The name of the SizeConstraintSet , if any.

SizeConstraintSetUpdate

data SizeConstraintSetUpdate #

Specifies the part of a web request that you want to inspect the size of and indicates whether you want to add the specification to a SizeConstraintSet or delete it from a SizeConstraintSet .

See: sizeConstraintSetUpdate smart constructor.

Instances

Eq SizeConstraintSetUpdate # 
Data SizeConstraintSetUpdate # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SizeConstraintSetUpdate -> c SizeConstraintSetUpdate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SizeConstraintSetUpdate #

toConstr :: SizeConstraintSetUpdate -> Constr #

dataTypeOf :: SizeConstraintSetUpdate -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SizeConstraintSetUpdate) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SizeConstraintSetUpdate) #

gmapT :: (forall b. Data b => b -> b) -> SizeConstraintSetUpdate -> SizeConstraintSetUpdate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SizeConstraintSetUpdate -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SizeConstraintSetUpdate -> r #

gmapQ :: (forall d. Data d => d -> u) -> SizeConstraintSetUpdate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SizeConstraintSetUpdate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SizeConstraintSetUpdate -> m SizeConstraintSetUpdate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SizeConstraintSetUpdate -> m SizeConstraintSetUpdate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SizeConstraintSetUpdate -> m SizeConstraintSetUpdate #

Read SizeConstraintSetUpdate # 
Show SizeConstraintSetUpdate # 
Generic SizeConstraintSetUpdate # 
Hashable SizeConstraintSetUpdate # 
ToJSON SizeConstraintSetUpdate # 
NFData SizeConstraintSetUpdate # 

Methods

rnf :: SizeConstraintSetUpdate -> () #

type Rep SizeConstraintSetUpdate # 
type Rep SizeConstraintSetUpdate = D1 (MetaData "SizeConstraintSetUpdate" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "SizeConstraintSetUpdate'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_scsuAction") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ChangeAction)) (S1 (MetaSel (Just Symbol "_scsuSizeConstraint") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 SizeConstraint))))

sizeConstraintSetUpdate #

Creates a value of SizeConstraintSetUpdate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • scsuAction - Specify INSERT to add a SizeConstraintSetUpdate to a SizeConstraintSet . Use DELETE to remove a SizeConstraintSetUpdate from a SizeConstraintSet .
  • scsuSizeConstraint - Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size , ComparisonOperator , and FieldToMatch to build an expression in the form of "Size ComparisonOperator size in bytes of FieldToMatch ". If that expression is true, the SizeConstraint is considered to match.

scsuAction :: Lens' SizeConstraintSetUpdate ChangeAction #

Specify INSERT to add a SizeConstraintSetUpdate to a SizeConstraintSet . Use DELETE to remove a SizeConstraintSetUpdate from a SizeConstraintSet .

scsuSizeConstraint :: Lens' SizeConstraintSetUpdate SizeConstraint #

Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size , ComparisonOperator , and FieldToMatch to build an expression in the form of "Size ComparisonOperator size in bytes of FieldToMatch ". If that expression is true, the SizeConstraint is considered to match.

SqlInjectionMatchSet

data SqlInjectionMatchSet #

A complex type that contains SqlInjectionMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header. If a SqlInjectionMatchSet contains more than one SqlInjectionMatchTuple object, a request needs to include snippets of SQL code in only one of the specified parts of the request to be considered a match.

See: sqlInjectionMatchSet smart constructor.

Instances

Eq SqlInjectionMatchSet # 
Data SqlInjectionMatchSet # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SqlInjectionMatchSet -> c SqlInjectionMatchSet #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SqlInjectionMatchSet #

toConstr :: SqlInjectionMatchSet -> Constr #

dataTypeOf :: SqlInjectionMatchSet -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SqlInjectionMatchSet) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SqlInjectionMatchSet) #

gmapT :: (forall b. Data b => b -> b) -> SqlInjectionMatchSet -> SqlInjectionMatchSet #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SqlInjectionMatchSet -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SqlInjectionMatchSet -> r #

gmapQ :: (forall d. Data d => d -> u) -> SqlInjectionMatchSet -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SqlInjectionMatchSet -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SqlInjectionMatchSet -> m SqlInjectionMatchSet #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SqlInjectionMatchSet -> m SqlInjectionMatchSet #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SqlInjectionMatchSet -> m SqlInjectionMatchSet #

Read SqlInjectionMatchSet # 
Show SqlInjectionMatchSet # 
Generic SqlInjectionMatchSet # 
Hashable SqlInjectionMatchSet # 
FromJSON SqlInjectionMatchSet # 
NFData SqlInjectionMatchSet # 

Methods

rnf :: SqlInjectionMatchSet -> () #

type Rep SqlInjectionMatchSet # 
type Rep SqlInjectionMatchSet = D1 (MetaData "SqlInjectionMatchSet" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "SqlInjectionMatchSet'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_simsName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_simsSqlInjectionMatchSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_simsSqlInjectionMatchTuples") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [SqlInjectionMatchTuple])))))

sqlInjectionMatchSet #

Creates a value of SqlInjectionMatchSet with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • simsName - The name, if any, of the SqlInjectionMatchSet .
  • simsSqlInjectionMatchSetId - A unique identifier for a SqlInjectionMatchSet . You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet ), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet ), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet ). SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets .
  • simsSqlInjectionMatchTuples - Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

simsName :: Lens' SqlInjectionMatchSet (Maybe Text) #

The name, if any, of the SqlInjectionMatchSet .

simsSqlInjectionMatchSetId :: Lens' SqlInjectionMatchSet Text #

A unique identifier for a SqlInjectionMatchSet . You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet ), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet ), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet ). SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets .

simsSqlInjectionMatchTuples :: Lens' SqlInjectionMatchSet [SqlInjectionMatchTuple] #

Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

SqlInjectionMatchSetSummary

data SqlInjectionMatchSetSummary #

The Id and Name of a SqlInjectionMatchSet .

See: sqlInjectionMatchSetSummary smart constructor.

Instances

Eq SqlInjectionMatchSetSummary # 
Data SqlInjectionMatchSetSummary # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SqlInjectionMatchSetSummary -> c SqlInjectionMatchSetSummary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SqlInjectionMatchSetSummary #

toConstr :: SqlInjectionMatchSetSummary -> Constr #

dataTypeOf :: SqlInjectionMatchSetSummary -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SqlInjectionMatchSetSummary) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SqlInjectionMatchSetSummary) #

gmapT :: (forall b. Data b => b -> b) -> SqlInjectionMatchSetSummary -> SqlInjectionMatchSetSummary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SqlInjectionMatchSetSummary -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SqlInjectionMatchSetSummary -> r #

gmapQ :: (forall d. Data d => d -> u) -> SqlInjectionMatchSetSummary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SqlInjectionMatchSetSummary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SqlInjectionMatchSetSummary -> m SqlInjectionMatchSetSummary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SqlInjectionMatchSetSummary -> m SqlInjectionMatchSetSummary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SqlInjectionMatchSetSummary -> m SqlInjectionMatchSetSummary #

Read SqlInjectionMatchSetSummary # 
Show SqlInjectionMatchSetSummary # 
Generic SqlInjectionMatchSetSummary # 
Hashable SqlInjectionMatchSetSummary # 
FromJSON SqlInjectionMatchSetSummary # 
NFData SqlInjectionMatchSetSummary # 
type Rep SqlInjectionMatchSetSummary # 
type Rep SqlInjectionMatchSetSummary = D1 (MetaData "SqlInjectionMatchSetSummary" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "SqlInjectionMatchSetSummary'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_simssSqlInjectionMatchSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_simssName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

sqlInjectionMatchSetSummary #

Creates a value of SqlInjectionMatchSetSummary with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • simssSqlInjectionMatchSetId - A unique identifier for a SqlInjectionMatchSet . You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet ), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet ), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet ). SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets .
  • simssName - The name of the SqlInjectionMatchSet , if any, specified by Id .

simssSqlInjectionMatchSetId :: Lens' SqlInjectionMatchSetSummary Text #

A unique identifier for a SqlInjectionMatchSet . You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet ), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet ), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet ). SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets .

simssName :: Lens' SqlInjectionMatchSetSummary Text #

The name of the SqlInjectionMatchSet , if any, specified by Id .

SqlInjectionMatchSetUpdate

data SqlInjectionMatchSetUpdate #

Specifies the part of a web request that you want to inspect for snippets of malicious SQL code and indicates whether you want to add the specification to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet .

See: sqlInjectionMatchSetUpdate smart constructor.

Instances

Eq SqlInjectionMatchSetUpdate # 
Data SqlInjectionMatchSetUpdate # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SqlInjectionMatchSetUpdate -> c SqlInjectionMatchSetUpdate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SqlInjectionMatchSetUpdate #

toConstr :: SqlInjectionMatchSetUpdate -> Constr #

dataTypeOf :: SqlInjectionMatchSetUpdate -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SqlInjectionMatchSetUpdate) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SqlInjectionMatchSetUpdate) #

gmapT :: (forall b. Data b => b -> b) -> SqlInjectionMatchSetUpdate -> SqlInjectionMatchSetUpdate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SqlInjectionMatchSetUpdate -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SqlInjectionMatchSetUpdate -> r #

gmapQ :: (forall d. Data d => d -> u) -> SqlInjectionMatchSetUpdate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SqlInjectionMatchSetUpdate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SqlInjectionMatchSetUpdate -> m SqlInjectionMatchSetUpdate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SqlInjectionMatchSetUpdate -> m SqlInjectionMatchSetUpdate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SqlInjectionMatchSetUpdate -> m SqlInjectionMatchSetUpdate #

Read SqlInjectionMatchSetUpdate # 
Show SqlInjectionMatchSetUpdate # 
Generic SqlInjectionMatchSetUpdate # 
Hashable SqlInjectionMatchSetUpdate # 
ToJSON SqlInjectionMatchSetUpdate # 
NFData SqlInjectionMatchSetUpdate # 
type Rep SqlInjectionMatchSetUpdate # 
type Rep SqlInjectionMatchSetUpdate = D1 (MetaData "SqlInjectionMatchSetUpdate" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "SqlInjectionMatchSetUpdate'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_simsuAction") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ChangeAction)) (S1 (MetaSel (Just Symbol "_simsuSqlInjectionMatchTuple") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 SqlInjectionMatchTuple))))

sqlInjectionMatchSetUpdate #

Creates a value of SqlInjectionMatchSetUpdate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

simsuAction :: Lens' SqlInjectionMatchSetUpdate ChangeAction #

Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet . Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet .

simsuSqlInjectionMatchTuple :: Lens' SqlInjectionMatchSetUpdate SqlInjectionMatchTuple #

Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

SqlInjectionMatchTuple

data SqlInjectionMatchTuple #

Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

See: sqlInjectionMatchTuple smart constructor.

Instances

Eq SqlInjectionMatchTuple # 
Data SqlInjectionMatchTuple # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SqlInjectionMatchTuple -> c SqlInjectionMatchTuple #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SqlInjectionMatchTuple #

toConstr :: SqlInjectionMatchTuple -> Constr #

dataTypeOf :: SqlInjectionMatchTuple -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SqlInjectionMatchTuple) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SqlInjectionMatchTuple) #

gmapT :: (forall b. Data b => b -> b) -> SqlInjectionMatchTuple -> SqlInjectionMatchTuple #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SqlInjectionMatchTuple -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SqlInjectionMatchTuple -> r #

gmapQ :: (forall d. Data d => d -> u) -> SqlInjectionMatchTuple -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SqlInjectionMatchTuple -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SqlInjectionMatchTuple -> m SqlInjectionMatchTuple #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SqlInjectionMatchTuple -> m SqlInjectionMatchTuple #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SqlInjectionMatchTuple -> m SqlInjectionMatchTuple #

Read SqlInjectionMatchTuple # 
Show SqlInjectionMatchTuple # 
Generic SqlInjectionMatchTuple # 
Hashable SqlInjectionMatchTuple # 
ToJSON SqlInjectionMatchTuple # 
FromJSON SqlInjectionMatchTuple # 
NFData SqlInjectionMatchTuple # 

Methods

rnf :: SqlInjectionMatchTuple -> () #

type Rep SqlInjectionMatchTuple # 
type Rep SqlInjectionMatchTuple = D1 (MetaData "SqlInjectionMatchTuple" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "SqlInjectionMatchTuple'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_simtFieldToMatch") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 FieldToMatch)) (S1 (MetaSel (Just Symbol "_simtTextTransformation") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 TextTransformation))))

sqlInjectionMatchTuple #

Creates a value of SqlInjectionMatchTuple with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • simtFieldToMatch - Undocumented member.
  • simtTextTransformation - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match. CMD_LINE When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): * f, formfeed, decimal 12 * t, tab, decimal 9 * n, newline, decimal 10 * r, carriage return, decimal 13 * v, vertical tab, decimal 11 * non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: * Replaces (ampersand)quot; with " * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 * Replaces (ampersand)lt; with a "less than" symbol * Replaces (ampersand)gt; with > * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh; , with the corresponding characters * Replaces characters that are represented in decimal format, (ampersand)#nnnn; , with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value. NONE Specify NONE if you don't want to perform any text transformations.

simtTextTransformation :: Lens' SqlInjectionMatchTuple TextTransformation #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match. CMD_LINE When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): * f, formfeed, decimal 12 * t, tab, decimal 9 * n, newline, decimal 10 * r, carriage return, decimal 13 * v, vertical tab, decimal 11 * non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: * Replaces (ampersand)quot; with " * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 * Replaces (ampersand)lt; with a "less than" symbol * Replaces (ampersand)gt; with > * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh; , with the corresponding characters * Replaces characters that are represented in decimal format, (ampersand)#nnnn; , with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value. NONE Specify NONE if you don't want to perform any text transformations.

TimeWindow

data TimeWindow #

In a GetSampledRequests request, the StartTime and EndTime objects specify the time range for which you want AWS WAF to return a sample of web requests.

In a GetSampledRequests response, the StartTime and EndTime objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, EndTime is the time that AWS WAF received the 5,000th request.

See: timeWindow smart constructor.

Instances

Eq TimeWindow # 
Data TimeWindow # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TimeWindow -> c TimeWindow #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeWindow #

toConstr :: TimeWindow -> Constr #

dataTypeOf :: TimeWindow -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c TimeWindow) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeWindow) #

gmapT :: (forall b. Data b => b -> b) -> TimeWindow -> TimeWindow #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeWindow -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeWindow -> r #

gmapQ :: (forall d. Data d => d -> u) -> TimeWindow -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeWindow -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeWindow -> m TimeWindow #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeWindow -> m TimeWindow #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeWindow -> m TimeWindow #

Read TimeWindow # 
Show TimeWindow # 
Generic TimeWindow # 

Associated Types

type Rep TimeWindow :: * -> * #

Hashable TimeWindow # 
ToJSON TimeWindow # 
FromJSON TimeWindow # 
NFData TimeWindow # 

Methods

rnf :: TimeWindow -> () #

type Rep TimeWindow # 
type Rep TimeWindow = D1 (MetaData "TimeWindow" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "TimeWindow'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_twStartTime") NoSourceUnpackedness SourceStrict DecidedUnpack) (Rec0 POSIX)) (S1 (MetaSel (Just Symbol "_twEndTime") NoSourceUnpackedness SourceStrict DecidedUnpack) (Rec0 POSIX))))

timeWindow #

Creates a value of TimeWindow with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • twStartTime - The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You can specify any time range in the previous three hours.
  • twEndTime - The end of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You can specify any time range in the previous three hours.

twStartTime :: Lens' TimeWindow UTCTime #

The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You can specify any time range in the previous three hours.

twEndTime :: Lens' TimeWindow UTCTime #

The end of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You can specify any time range in the previous three hours.

WafAction

data WafAction #

For the action that is associated with a rule in a WebACL , specifies the action that you want AWS WAF to perform when a web request matches all of the conditions in a rule. For the default action in a WebACL , specifies the action that you want AWS WAF to take when a web request doesn't match all of the conditions in any of the rules in a WebACL .

See: wafAction smart constructor.

Instances

Eq WafAction # 
Data WafAction # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WafAction -> c WafAction #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WafAction #

toConstr :: WafAction -> Constr #

dataTypeOf :: WafAction -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c WafAction) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WafAction) #

gmapT :: (forall b. Data b => b -> b) -> WafAction -> WafAction #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WafAction -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WafAction -> r #

gmapQ :: (forall d. Data d => d -> u) -> WafAction -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WafAction -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WafAction -> m WafAction #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WafAction -> m WafAction #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WafAction -> m WafAction #

Read WafAction # 
Show WafAction # 
Generic WafAction # 

Associated Types

type Rep WafAction :: * -> * #

Hashable WafAction # 
ToJSON WafAction # 
FromJSON WafAction # 
NFData WafAction # 

Methods

rnf :: WafAction -> () #

type Rep WafAction # 
type Rep WafAction = D1 (MetaData "WafAction" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" True) (C1 (MetaCons "WafAction'" PrefixI True) (S1 (MetaSel (Just Symbol "_waType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 WafActionType)))

wafAction #

Creates a value of WafAction with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • waType - Specifies how you want AWS WAF to respond to requests that match the settings in a Rule . Valid settings include the following: * ALLOW : AWS WAF allows requests * BLOCK : AWS WAF blocks requests * COUNT : AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL .

waType :: Lens' WafAction WafActionType #

Specifies how you want AWS WAF to respond to requests that match the settings in a Rule . Valid settings include the following: * ALLOW : AWS WAF allows requests * BLOCK : AWS WAF blocks requests * COUNT : AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL .

WebACL

data WebACL #

Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL , you also specify a default action (ALLOW or BLOCK ), and the action for each Rule that you add to a WebACL , for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL , a request needs to match only one of the specifications to be allowed, blocked, or counted. For more information, see UpdateWebACL .

See: webACL smart constructor.

Instances

Eq WebACL # 

Methods

(==) :: WebACL -> WebACL -> Bool #

(/=) :: WebACL -> WebACL -> Bool #

Data WebACL # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WebACL -> c WebACL #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WebACL #

toConstr :: WebACL -> Constr #

dataTypeOf :: WebACL -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c WebACL) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WebACL) #

gmapT :: (forall b. Data b => b -> b) -> WebACL -> WebACL #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WebACL -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WebACL -> r #

gmapQ :: (forall d. Data d => d -> u) -> WebACL -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WebACL -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WebACL -> m WebACL #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WebACL -> m WebACL #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WebACL -> m WebACL #

Read WebACL # 
Show WebACL # 
Generic WebACL # 

Associated Types

type Rep WebACL :: * -> * #

Methods

from :: WebACL -> Rep WebACL x #

to :: Rep WebACL x -> WebACL #

Hashable WebACL # 

Methods

hashWithSalt :: Int -> WebACL -> Int #

hash :: WebACL -> Int #

FromJSON WebACL # 
NFData WebACL # 

Methods

rnf :: WebACL -> () #

type Rep WebACL # 

webACL #

Creates a value of WebACL with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • waMetricName - Undocumented member.
  • waName - A friendly name or description of the WebACL . You can't change the name of a WebACL after you create it.
  • waWebACLId - A unique identifier for a WebACL . You use WebACLId to get information about a WebACL (see GetWebACL ), update a WebACL (see UpdateWebACL ), and delete a WebACL from AWS WAF (see DeleteWebACL ). WebACLId is returned by CreateWebACL and by ListWebACLs .
  • waDefaultAction - The action to perform if none of the Rules contained in the WebACL match. The action is specified by the WafAction object.
  • waRules - An array that contains the action for each Rule in a WebACL , the priority of the Rule , and the ID of the Rule .

waMetricName :: Lens' WebACL (Maybe Text) #

Undocumented member.

waName :: Lens' WebACL (Maybe Text) #

A friendly name or description of the WebACL . You can't change the name of a WebACL after you create it.

waWebACLId :: Lens' WebACL Text #

A unique identifier for a WebACL . You use WebACLId to get information about a WebACL (see GetWebACL ), update a WebACL (see UpdateWebACL ), and delete a WebACL from AWS WAF (see DeleteWebACL ). WebACLId is returned by CreateWebACL and by ListWebACLs .

waDefaultAction :: Lens' WebACL WafAction #

The action to perform if none of the Rules contained in the WebACL match. The action is specified by the WafAction object.

waRules :: Lens' WebACL [ActivatedRule] #

An array that contains the action for each Rule in a WebACL , the priority of the Rule , and the ID of the Rule .

WebACLSummary

data WebACLSummary #

Contains the identifier and the name or description of the WebACL .

See: webACLSummary smart constructor.

Instances

Eq WebACLSummary # 
Data WebACLSummary # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WebACLSummary -> c WebACLSummary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WebACLSummary #

toConstr :: WebACLSummary -> Constr #

dataTypeOf :: WebACLSummary -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c WebACLSummary) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WebACLSummary) #

gmapT :: (forall b. Data b => b -> b) -> WebACLSummary -> WebACLSummary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WebACLSummary -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WebACLSummary -> r #

gmapQ :: (forall d. Data d => d -> u) -> WebACLSummary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WebACLSummary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WebACLSummary -> m WebACLSummary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WebACLSummary -> m WebACLSummary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WebACLSummary -> m WebACLSummary #

Read WebACLSummary # 
Show WebACLSummary # 
Generic WebACLSummary # 

Associated Types

type Rep WebACLSummary :: * -> * #

Hashable WebACLSummary # 
FromJSON WebACLSummary # 
NFData WebACLSummary # 

Methods

rnf :: WebACLSummary -> () #

type Rep WebACLSummary # 
type Rep WebACLSummary = D1 (MetaData "WebACLSummary" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "WebACLSummary'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_wasWebACLId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_wasName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

webACLSummary #

Creates a value of WebACLSummary with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • wasWebACLId - A unique identifier for a WebACL . You use WebACLId to get information about a WebACL (see GetWebACL ), update a WebACL (see UpdateWebACL ), and delete a WebACL from AWS WAF (see DeleteWebACL ). WebACLId is returned by CreateWebACL and by ListWebACLs .
  • wasName - A friendly name or description of the WebACL . You can't change the name of a WebACL after you create it.

wasWebACLId :: Lens' WebACLSummary Text #

A unique identifier for a WebACL . You use WebACLId to get information about a WebACL (see GetWebACL ), update a WebACL (see UpdateWebACL ), and delete a WebACL from AWS WAF (see DeleteWebACL ). WebACLId is returned by CreateWebACL and by ListWebACLs .

wasName :: Lens' WebACLSummary Text #

A friendly name or description of the WebACL . You can't change the name of a WebACL after you create it.

WebACLUpdate

data WebACLUpdate #

Specifies whether to insert a Rule into or delete a Rule from a WebACL .

See: webACLUpdate smart constructor.

Instances

Eq WebACLUpdate # 
Data WebACLUpdate # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WebACLUpdate -> c WebACLUpdate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WebACLUpdate #

toConstr :: WebACLUpdate -> Constr #

dataTypeOf :: WebACLUpdate -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c WebACLUpdate) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WebACLUpdate) #

gmapT :: (forall b. Data b => b -> b) -> WebACLUpdate -> WebACLUpdate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WebACLUpdate -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WebACLUpdate -> r #

gmapQ :: (forall d. Data d => d -> u) -> WebACLUpdate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WebACLUpdate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WebACLUpdate -> m WebACLUpdate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WebACLUpdate -> m WebACLUpdate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WebACLUpdate -> m WebACLUpdate #

Read WebACLUpdate # 
Show WebACLUpdate # 
Generic WebACLUpdate # 

Associated Types

type Rep WebACLUpdate :: * -> * #

Hashable WebACLUpdate # 
ToJSON WebACLUpdate # 
NFData WebACLUpdate # 

Methods

rnf :: WebACLUpdate -> () #

type Rep WebACLUpdate # 
type Rep WebACLUpdate = D1 (MetaData "WebACLUpdate" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "WebACLUpdate'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_wauAction") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ChangeAction)) (S1 (MetaSel (Just Symbol "_wauActivatedRule") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ActivatedRule))))

webACLUpdate #

Creates a value of WebACLUpdate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

wauAction :: Lens' WebACLUpdate ChangeAction #

Specifies whether to insert a Rule into or delete a Rule from a WebACL .

XSSMatchSet

data XSSMatchSet #

A complex type that contains XssMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header. If a XssMatchSet contains more than one XssMatchTuple object, a request needs to include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.

See: xssMatchSet smart constructor.

Instances

Eq XSSMatchSet # 
Data XSSMatchSet # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> XSSMatchSet -> c XSSMatchSet #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c XSSMatchSet #

toConstr :: XSSMatchSet -> Constr #

dataTypeOf :: XSSMatchSet -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c XSSMatchSet) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c XSSMatchSet) #

gmapT :: (forall b. Data b => b -> b) -> XSSMatchSet -> XSSMatchSet #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> XSSMatchSet -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> XSSMatchSet -> r #

gmapQ :: (forall d. Data d => d -> u) -> XSSMatchSet -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> XSSMatchSet -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> XSSMatchSet -> m XSSMatchSet #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> XSSMatchSet -> m XSSMatchSet #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> XSSMatchSet -> m XSSMatchSet #

Read XSSMatchSet # 
Show XSSMatchSet # 
Generic XSSMatchSet # 

Associated Types

type Rep XSSMatchSet :: * -> * #

Hashable XSSMatchSet # 
FromJSON XSSMatchSet # 
NFData XSSMatchSet # 

Methods

rnf :: XSSMatchSet -> () #

type Rep XSSMatchSet # 
type Rep XSSMatchSet = D1 (MetaData "XSSMatchSet" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "XSSMatchSet'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_xmsName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_xmsXSSMatchSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_xmsXSSMatchTuples") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [XSSMatchTuple])))))

xssMatchSet #

Creates a value of XSSMatchSet with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • xmsName - The name, if any, of the XssMatchSet .
  • xmsXSSMatchSetId - A unique identifier for an XssMatchSet . You use XssMatchSetId to get information about an XssMatchSet (see GetXssMatchSet ), update an XssMatchSet (see UpdateXssMatchSet ), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet ). XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets .
  • xmsXSSMatchTuples - Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

xmsName :: Lens' XSSMatchSet (Maybe Text) #

The name, if any, of the XssMatchSet .

xmsXSSMatchSetId :: Lens' XSSMatchSet Text #

A unique identifier for an XssMatchSet . You use XssMatchSetId to get information about an XssMatchSet (see GetXssMatchSet ), update an XssMatchSet (see UpdateXssMatchSet ), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet ). XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets .

xmsXSSMatchTuples :: Lens' XSSMatchSet [XSSMatchTuple] #

Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

XSSMatchSetSummary

data XSSMatchSetSummary #

The Id and Name of an XssMatchSet .

See: xssMatchSetSummary smart constructor.

Instances

Eq XSSMatchSetSummary # 
Data XSSMatchSetSummary # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> XSSMatchSetSummary -> c XSSMatchSetSummary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c XSSMatchSetSummary #

toConstr :: XSSMatchSetSummary -> Constr #

dataTypeOf :: XSSMatchSetSummary -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c XSSMatchSetSummary) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c XSSMatchSetSummary) #

gmapT :: (forall b. Data b => b -> b) -> XSSMatchSetSummary -> XSSMatchSetSummary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> XSSMatchSetSummary -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> XSSMatchSetSummary -> r #

gmapQ :: (forall d. Data d => d -> u) -> XSSMatchSetSummary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> XSSMatchSetSummary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> XSSMatchSetSummary -> m XSSMatchSetSummary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> XSSMatchSetSummary -> m XSSMatchSetSummary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> XSSMatchSetSummary -> m XSSMatchSetSummary #

Read XSSMatchSetSummary # 
Show XSSMatchSetSummary # 
Generic XSSMatchSetSummary # 
Hashable XSSMatchSetSummary # 
FromJSON XSSMatchSetSummary # 
NFData XSSMatchSetSummary # 

Methods

rnf :: XSSMatchSetSummary -> () #

type Rep XSSMatchSetSummary # 
type Rep XSSMatchSetSummary = D1 (MetaData "XSSMatchSetSummary" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "XSSMatchSetSummary'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_xmssXSSMatchSetId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) (S1 (MetaSel (Just Symbol "_xmssName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))

xssMatchSetSummary #

Creates a value of XSSMatchSetSummary with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • xmssXSSMatchSetId - A unique identifier for an XssMatchSet . You use XssMatchSetId to get information about a XssMatchSet (see GetXssMatchSet ), update an XssMatchSet (see UpdateXssMatchSet ), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet ). XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets .
  • xmssName - The name of the XssMatchSet , if any, specified by Id .

xmssXSSMatchSetId :: Lens' XSSMatchSetSummary Text #

A unique identifier for an XssMatchSet . You use XssMatchSetId to get information about a XssMatchSet (see GetXssMatchSet ), update an XssMatchSet (see UpdateXssMatchSet ), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule ), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet ). XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets .

xmssName :: Lens' XSSMatchSetSummary Text #

The name of the XssMatchSet , if any, specified by Id .

XSSMatchSetUpdate

data XSSMatchSetUpdate #

Specifies the part of a web request that you want to inspect for cross-site scripting attacks and indicates whether you want to add the specification to an XssMatchSet or delete it from an XssMatchSet .

See: xssMatchSetUpdate smart constructor.

Instances

Eq XSSMatchSetUpdate # 
Data XSSMatchSetUpdate # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> XSSMatchSetUpdate -> c XSSMatchSetUpdate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c XSSMatchSetUpdate #

toConstr :: XSSMatchSetUpdate -> Constr #

dataTypeOf :: XSSMatchSetUpdate -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c XSSMatchSetUpdate) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c XSSMatchSetUpdate) #

gmapT :: (forall b. Data b => b -> b) -> XSSMatchSetUpdate -> XSSMatchSetUpdate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> XSSMatchSetUpdate -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> XSSMatchSetUpdate -> r #

gmapQ :: (forall d. Data d => d -> u) -> XSSMatchSetUpdate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> XSSMatchSetUpdate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> XSSMatchSetUpdate -> m XSSMatchSetUpdate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> XSSMatchSetUpdate -> m XSSMatchSetUpdate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> XSSMatchSetUpdate -> m XSSMatchSetUpdate #

Read XSSMatchSetUpdate # 
Show XSSMatchSetUpdate # 
Generic XSSMatchSetUpdate # 
Hashable XSSMatchSetUpdate # 
ToJSON XSSMatchSetUpdate # 
NFData XSSMatchSetUpdate # 

Methods

rnf :: XSSMatchSetUpdate -> () #

type Rep XSSMatchSetUpdate # 
type Rep XSSMatchSetUpdate = D1 (MetaData "XSSMatchSetUpdate" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "XSSMatchSetUpdate'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_xmsuAction") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ChangeAction)) (S1 (MetaSel (Just Symbol "_xmsuXSSMatchTuple") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 XSSMatchTuple))))

xssMatchSetUpdate #

Creates a value of XSSMatchSetUpdate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • xmsuAction - Specify INSERT to add a XssMatchSetUpdate to an XssMatchSet . Use DELETE to remove a XssMatchSetUpdate from an XssMatchSet .
  • xmsuXSSMatchTuple - Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

xmsuAction :: Lens' XSSMatchSetUpdate ChangeAction #

Specify INSERT to add a XssMatchSetUpdate to an XssMatchSet . Use DELETE to remove a XssMatchSetUpdate from an XssMatchSet .

xmsuXSSMatchTuple :: Lens' XSSMatchSetUpdate XSSMatchTuple #

Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

XSSMatchTuple

data XSSMatchTuple #

Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

See: xssMatchTuple smart constructor.

Instances

Eq XSSMatchTuple # 
Data XSSMatchTuple # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> XSSMatchTuple -> c XSSMatchTuple #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c XSSMatchTuple #

toConstr :: XSSMatchTuple -> Constr #

dataTypeOf :: XSSMatchTuple -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c XSSMatchTuple) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c XSSMatchTuple) #

gmapT :: (forall b. Data b => b -> b) -> XSSMatchTuple -> XSSMatchTuple #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> XSSMatchTuple -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> XSSMatchTuple -> r #

gmapQ :: (forall d. Data d => d -> u) -> XSSMatchTuple -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> XSSMatchTuple -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> XSSMatchTuple -> m XSSMatchTuple #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> XSSMatchTuple -> m XSSMatchTuple #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> XSSMatchTuple -> m XSSMatchTuple #

Read XSSMatchTuple # 
Show XSSMatchTuple # 
Generic XSSMatchTuple # 

Associated Types

type Rep XSSMatchTuple :: * -> * #

Hashable XSSMatchTuple # 
ToJSON XSSMatchTuple # 
FromJSON XSSMatchTuple # 
NFData XSSMatchTuple # 

Methods

rnf :: XSSMatchTuple -> () #

type Rep XSSMatchTuple # 
type Rep XSSMatchTuple = D1 (MetaData "XSSMatchTuple" "Network.AWS.WAF.Types.Product" "amazonka-waf-1.4.5-FqbkHngJH7OAVhvyuXSuC3" False) (C1 (MetaCons "XSSMatchTuple'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_xmtFieldToMatch") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 FieldToMatch)) (S1 (MetaSel (Just Symbol "_xmtTextTransformation") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 TextTransformation))))

xssMatchTuple #

Creates a value of XSSMatchTuple with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • xmtFieldToMatch - Undocumented member.
  • xmtTextTransformation - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match. CMD_LINE When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): * f, formfeed, decimal 12 * t, tab, decimal 9 * n, newline, decimal 10 * r, carriage return, decimal 13 * v, vertical tab, decimal 11 * non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: * Replaces (ampersand)quot; with " * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 * Replaces (ampersand)lt; with a "less than" symbol * Replaces (ampersand)gt; with > * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh; , with the corresponding characters * Replaces characters that are represented in decimal format, (ampersand)#nnnn; , with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value. NONE Specify NONE if you don't want to perform any text transformations.

xmtTextTransformation :: Lens' XSSMatchTuple TextTransformation #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match. CMD_LINE When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) COMPRESS_WHITE_SPACE Use this option to replace the following characters with a space character (decimal 32): * f, formfeed, decimal 12 * t, tab, decimal 9 * n, newline, decimal 10 * r, carriage return, decimal 13 * v, vertical tab, decimal 11 * non-breaking space, decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. HTML_ENTITY_DECODE Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations: * Replaces (ampersand)quot; with " * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 * Replaces (ampersand)lt; with a "less than" symbol * Replaces (ampersand)gt; with > * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh; , with the corresponding characters * Replaces characters that are represented in decimal format, (ampersand)#nnnn; , with the corresponding characters LOWERCASE Use this option to convert uppercase letters (A-Z) to lowercase (a-z). URL_DECODE Use this option to decode a URL-encoded value. NONE Specify NONE if you don't want to perform any text transformations.