amazonka-wafv2-2.0: Amazon WAFV2 SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.WAFV2.Types

Contents

Description

 
Synopsis

Service Configuration

defaultService :: Service Source #

API version 2019-07-29 of the Amazon WAFV2 SDK configuration.

Errors

_WAFAssociatedItemException :: AsError a => Fold a ServiceError Source #

WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.

_WAFConfigurationWarningException :: AsError a => Fold a ServiceError Source #

The operation failed because you are inspecting the web request body, headers, or cookies without specifying how to handle oversize components. Rules that inspect the body must either provide an OversizeHandling configuration or they must be preceded by a SizeConstraintStatement that blocks the body content from being too large. Rules that inspect the headers or cookies must provide an OversizeHandling configuration.

Provide the handling configuration and retry your operation.

Alternately, you can suppress this warning by adding the following tag to the resource that you provide to this operation: Tag (key:WAF:OversizeFieldsHandlingConstraintOptOut, value:true).

_WAFDuplicateItemException :: AsError a => Fold a ServiceError Source #

WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

_WAFExpiredManagedRuleGroupVersionException :: AsError a => Fold a ServiceError Source #

The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling ListAvailableManagedRuleGroupVersions.

_WAFInternalErrorException :: AsError a => Fold a ServiceError Source #

Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

_WAFInvalidOperationException :: AsError a => Fold a ServiceError Source #

The operation isn't valid.

_WAFInvalidParameterException :: AsError a => Fold a ServiceError Source #

The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.
  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.
  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.
  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

_WAFInvalidPermissionPolicyException :: AsError a => Fold a ServiceError Source #

The operation failed because the specified policy isn't in the proper format.

The policy specifications must conform to the following:

  • The policy must be composed using IAM Policy version 2012-10-17 or version 2015-01-01.
  • The policy must include specifications for Effect, Action, and Principal.
  • Effect must specify Allow.
  • Action must specify wafv2:CreateWebACL, wafv2:UpdateWebACL, and wafv2:PutFirewallManagerRuleGroups and may optionally specify wafv2:GetRuleGroup. WAF rejects any extra actions or wildcard actions in the policy.
  • The policy must not include a Resource parameter.

For more information, see IAM Policies.

_WAFInvalidResourceException :: AsError a => Fold a ServiceError Source #

WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

_WAFLimitsExceededException :: AsError a => Fold a ServiceError Source #

WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas in the WAF Developer Guide.

_WAFLogDestinationPermissionIssueException :: AsError a => Fold a ServiceError Source #

The operation failed because you don't have the permissions that your logging configuration requires. For information, see Logging web ACL traffic information in the WAF Developer Guide.

_WAFNonexistentItemException :: AsError a => Fold a ServiceError Source #

WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

_WAFOptimisticLockException :: AsError a => Fold a ServiceError Source #

WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

_WAFServiceLinkedRoleErrorException :: AsError a => Fold a ServiceError Source #

WAF is not able to access the service linked role. This can be caused by a previous PutLoggingConfiguration request, which can lock the service linked role for about 20 seconds. Please try your request again. The service linked role can also be locked by a previous DeleteServiceLinkedRole request, which can lock the role for 15 minutes or more. If you recently made a call to DeleteServiceLinkedRole, wait at least 15 minutes and try the request again. If you receive this same exception again, you will have to wait additional time until the role is unlocked.

_WAFSubscriptionNotFoundException :: AsError a => Fold a ServiceError Source #

You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.

_WAFTagOperationException :: AsError a => Fold a ServiceError Source #

An error occurred during the tagging operation. Retry your request.

_WAFTagOperationInternalErrorException :: AsError a => Fold a ServiceError Source #

WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

_WAFUnavailableEntityException :: AsError a => Fold a ServiceError Source #

WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resources that you are specifying in your request parameters and then retry the operation.

ActionValue

newtype ActionValue Source #

Constructors

ActionValue' 

Instances

Instances details
FromJSON ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

FromJSONKey ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

ToJSON ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

ToJSONKey ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

ToByteString ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

ToHeader ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

ToLog ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

ToQuery ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

FromText ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

ToText ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

Methods

toText :: ActionValue -> Text #

FromXML ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

ToXML ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

Methods

toXML :: ActionValue -> XML #

Generic ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

Associated Types

type Rep ActionValue :: Type -> Type #

Read ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

Show ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

NFData ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

Methods

rnf :: ActionValue -> () #

Eq ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

Ord ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

Hashable ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

type Rep ActionValue Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionValue

type Rep ActionValue = D1 ('MetaData "ActionValue" "Amazonka.WAFV2.Types.ActionValue" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "ActionValue'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromActionValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

BodyParsingFallbackBehavior

newtype BodyParsingFallbackBehavior Source #

Instances

Instances details
FromJSON BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

FromJSONKey BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

ToJSON BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

ToJSONKey BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

ToByteString BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

ToHeader BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

ToLog BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

ToQuery BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

FromText BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

ToText BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

FromXML BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

ToXML BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

Generic BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

Associated Types

type Rep BodyParsingFallbackBehavior :: Type -> Type #

Read BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

Show BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

NFData BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

Eq BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

Ord BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

Hashable BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

type Rep BodyParsingFallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BodyParsingFallbackBehavior

type Rep BodyParsingFallbackBehavior = D1 ('MetaData "BodyParsingFallbackBehavior" "Amazonka.WAFV2.Types.BodyParsingFallbackBehavior" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "BodyParsingFallbackBehavior'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromBodyParsingFallbackBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

ComparisonOperator

newtype ComparisonOperator Source #

Instances

Instances details
FromJSON ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

FromJSONKey ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

ToJSON ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

ToJSONKey ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

ToByteString ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

ToHeader ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

ToLog ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

ToQuery ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

FromText ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

ToText ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

FromXML ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

ToXML ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

Generic ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

Associated Types

type Rep ComparisonOperator :: Type -> Type #

Read ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

Show ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

NFData ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

Methods

rnf :: ComparisonOperator -> () #

Eq ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

Ord ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

Hashable ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

type Rep ComparisonOperator Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ComparisonOperator

type Rep ComparisonOperator = D1 ('MetaData "ComparisonOperator" "Amazonka.WAFV2.Types.ComparisonOperator" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "ComparisonOperator'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromComparisonOperator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

CountryCode

newtype CountryCode Source #

Constructors

CountryCode' 

Bundled Patterns

pattern CountryCode_AD :: CountryCode 
pattern CountryCode_AE :: CountryCode 
pattern CountryCode_AF :: CountryCode 
pattern CountryCode_AG :: CountryCode 
pattern CountryCode_AI :: CountryCode 
pattern CountryCode_AL :: CountryCode 
pattern CountryCode_AM :: CountryCode 
pattern CountryCode_AO :: CountryCode 
pattern CountryCode_AQ :: CountryCode 
pattern CountryCode_AR :: CountryCode 
pattern CountryCode_AS :: CountryCode 
pattern CountryCode_AT :: CountryCode 
pattern CountryCode_AU :: CountryCode 
pattern CountryCode_AW :: CountryCode 
pattern CountryCode_AX :: CountryCode 
pattern CountryCode_AZ :: CountryCode 
pattern CountryCode_BA :: CountryCode 
pattern CountryCode_BB :: CountryCode 
pattern CountryCode_BD :: CountryCode 
pattern CountryCode_BE :: CountryCode 
pattern CountryCode_BF :: CountryCode 
pattern CountryCode_BG :: CountryCode 
pattern CountryCode_BH :: CountryCode 
pattern CountryCode_BI :: CountryCode 
pattern CountryCode_BJ :: CountryCode 
pattern CountryCode_BL :: CountryCode 
pattern CountryCode_BM :: CountryCode 
pattern CountryCode_BN :: CountryCode 
pattern CountryCode_BO :: CountryCode 
pattern CountryCode_BQ :: CountryCode 
pattern CountryCode_BR :: CountryCode 
pattern CountryCode_BS :: CountryCode 
pattern CountryCode_BT :: CountryCode 
pattern CountryCode_BV :: CountryCode 
pattern CountryCode_BW :: CountryCode 
pattern CountryCode_BY :: CountryCode 
pattern CountryCode_BZ :: CountryCode 
pattern CountryCode_CA :: CountryCode 
pattern CountryCode_CC :: CountryCode 
pattern CountryCode_CD :: CountryCode 
pattern CountryCode_CF :: CountryCode 
pattern CountryCode_CG :: CountryCode 
pattern CountryCode_CH :: CountryCode 
pattern CountryCode_CI :: CountryCode 
pattern CountryCode_CK :: CountryCode 
pattern CountryCode_CL :: CountryCode 
pattern CountryCode_CM :: CountryCode 
pattern CountryCode_CN :: CountryCode 
pattern CountryCode_CO :: CountryCode 
pattern CountryCode_CR :: CountryCode 
pattern CountryCode_CU :: CountryCode 
pattern CountryCode_CV :: CountryCode 
pattern CountryCode_CW :: CountryCode 
pattern CountryCode_CX :: CountryCode 
pattern CountryCode_CY :: CountryCode 
pattern CountryCode_CZ :: CountryCode 
pattern CountryCode_DE :: CountryCode 
pattern CountryCode_DJ :: CountryCode 
pattern CountryCode_DK :: CountryCode 
pattern CountryCode_DM :: CountryCode 
pattern CountryCode_DO :: CountryCode 
pattern CountryCode_DZ :: CountryCode 
pattern CountryCode_EC :: CountryCode 
pattern CountryCode_EE :: CountryCode 
pattern CountryCode_EG :: CountryCode 
pattern CountryCode_EH :: CountryCode 
pattern CountryCode_ER :: CountryCode 
pattern CountryCode_ES :: CountryCode 
pattern CountryCode_ET :: CountryCode 
pattern CountryCode_FI :: CountryCode 
pattern CountryCode_FJ :: CountryCode 
pattern CountryCode_FK :: CountryCode 
pattern CountryCode_FM :: CountryCode 
pattern CountryCode_FO :: CountryCode 
pattern CountryCode_FR :: CountryCode 
pattern CountryCode_GA :: CountryCode 
pattern CountryCode_GB :: CountryCode 
pattern CountryCode_GD :: CountryCode 
pattern CountryCode_GE :: CountryCode 
pattern CountryCode_GF :: CountryCode 
pattern CountryCode_GG :: CountryCode 
pattern CountryCode_GH :: CountryCode 
pattern CountryCode_GI :: CountryCode 
pattern CountryCode_GL :: CountryCode 
pattern CountryCode_GM :: CountryCode 
pattern CountryCode_GN :: CountryCode 
pattern CountryCode_GP :: CountryCode 
pattern CountryCode_GQ :: CountryCode 
pattern CountryCode_GR :: CountryCode 
pattern CountryCode_GS :: CountryCode 
pattern CountryCode_GT :: CountryCode 
pattern CountryCode_GU :: CountryCode 
pattern CountryCode_GW :: CountryCode 
pattern CountryCode_GY :: CountryCode 
pattern CountryCode_HK :: CountryCode 
pattern CountryCode_HM :: CountryCode 
pattern CountryCode_HN :: CountryCode 
pattern CountryCode_HR :: CountryCode 
pattern CountryCode_HT :: CountryCode 
pattern CountryCode_HU :: CountryCode 
pattern CountryCode_ID :: CountryCode 
pattern CountryCode_IE :: CountryCode 
pattern CountryCode_IL :: CountryCode 
pattern CountryCode_IM :: CountryCode 
pattern CountryCode_IN :: CountryCode 
pattern CountryCode_IO :: CountryCode 
pattern CountryCode_IQ :: CountryCode 
pattern CountryCode_IR :: CountryCode 
pattern CountryCode_IS :: CountryCode 
pattern CountryCode_IT :: CountryCode 
pattern CountryCode_JE :: CountryCode 
pattern CountryCode_JM :: CountryCode 
pattern CountryCode_JO :: CountryCode 
pattern CountryCode_JP :: CountryCode 
pattern CountryCode_KE :: CountryCode 
pattern CountryCode_KG :: CountryCode 
pattern CountryCode_KH :: CountryCode 
pattern CountryCode_KI :: CountryCode 
pattern CountryCode_KM :: CountryCode 
pattern CountryCode_KN :: CountryCode 
pattern CountryCode_KP :: CountryCode 
pattern CountryCode_KR :: CountryCode 
pattern CountryCode_KW :: CountryCode 
pattern CountryCode_KY :: CountryCode 
pattern CountryCode_KZ :: CountryCode 
pattern CountryCode_LA :: CountryCode 
pattern CountryCode_LB :: CountryCode 
pattern CountryCode_LC :: CountryCode 
pattern CountryCode_LI :: CountryCode 
pattern CountryCode_LK :: CountryCode 
pattern CountryCode_LR :: CountryCode 
pattern CountryCode_LS :: CountryCode 
pattern CountryCode_LT :: CountryCode 
pattern CountryCode_LU :: CountryCode 
pattern CountryCode_LV :: CountryCode 
pattern CountryCode_LY :: CountryCode 
pattern CountryCode_MA :: CountryCode 
pattern CountryCode_MC :: CountryCode 
pattern CountryCode_MD :: CountryCode 
pattern CountryCode_ME :: CountryCode 
pattern CountryCode_MF :: CountryCode 
pattern CountryCode_MG :: CountryCode 
pattern CountryCode_MH :: CountryCode 
pattern CountryCode_MK :: CountryCode 
pattern CountryCode_ML :: CountryCode 
pattern CountryCode_MM :: CountryCode 
pattern CountryCode_MN :: CountryCode 
pattern CountryCode_MO :: CountryCode 
pattern CountryCode_MP :: CountryCode 
pattern CountryCode_MQ :: CountryCode 
pattern CountryCode_MR :: CountryCode 
pattern CountryCode_MS :: CountryCode 
pattern CountryCode_MT :: CountryCode 
pattern CountryCode_MU :: CountryCode 
pattern CountryCode_MV :: CountryCode 
pattern CountryCode_MW :: CountryCode 
pattern CountryCode_MX :: CountryCode 
pattern CountryCode_MY :: CountryCode 
pattern CountryCode_MZ :: CountryCode 
pattern CountryCode_NA :: CountryCode 
pattern CountryCode_NC :: CountryCode 
pattern CountryCode_NE :: CountryCode 
pattern CountryCode_NF :: CountryCode 
pattern CountryCode_NG :: CountryCode 
pattern CountryCode_NI :: CountryCode 
pattern CountryCode_NL :: CountryCode 
pattern CountryCode_NO :: CountryCode 
pattern CountryCode_NP :: CountryCode 
pattern CountryCode_NR :: CountryCode 
pattern CountryCode_NU :: CountryCode 
pattern CountryCode_NZ :: CountryCode 
pattern CountryCode_OM :: CountryCode 
pattern CountryCode_PA :: CountryCode 
pattern CountryCode_PE :: CountryCode 
pattern CountryCode_PF :: CountryCode 
pattern CountryCode_PG :: CountryCode 
pattern CountryCode_PH :: CountryCode 
pattern CountryCode_PK :: CountryCode 
pattern CountryCode_PL :: CountryCode 
pattern CountryCode_PM :: CountryCode 
pattern CountryCode_PN :: CountryCode 
pattern CountryCode_PR :: CountryCode 
pattern CountryCode_PS :: CountryCode 
pattern CountryCode_PT :: CountryCode 
pattern CountryCode_PW :: CountryCode 
pattern CountryCode_PY :: CountryCode 
pattern CountryCode_QA :: CountryCode 
pattern CountryCode_RE :: CountryCode 
pattern CountryCode_RO :: CountryCode 
pattern CountryCode_RS :: CountryCode 
pattern CountryCode_RU :: CountryCode 
pattern CountryCode_RW :: CountryCode 
pattern CountryCode_SA :: CountryCode 
pattern CountryCode_SB :: CountryCode 
pattern CountryCode_SC :: CountryCode 
pattern CountryCode_SD :: CountryCode 
pattern CountryCode_SE :: CountryCode 
pattern CountryCode_SG :: CountryCode 
pattern CountryCode_SH :: CountryCode 
pattern CountryCode_SI :: CountryCode 
pattern CountryCode_SJ :: CountryCode 
pattern CountryCode_SK :: CountryCode 
pattern CountryCode_SL :: CountryCode 
pattern CountryCode_SM :: CountryCode 
pattern CountryCode_SN :: CountryCode 
pattern CountryCode_SO :: CountryCode 
pattern CountryCode_SR :: CountryCode 
pattern CountryCode_SS :: CountryCode 
pattern CountryCode_ST :: CountryCode 
pattern CountryCode_SV :: CountryCode 
pattern CountryCode_SX :: CountryCode 
pattern CountryCode_SY :: CountryCode 
pattern CountryCode_SZ :: CountryCode 
pattern CountryCode_TC :: CountryCode 
pattern CountryCode_TD :: CountryCode 
pattern CountryCode_TF :: CountryCode 
pattern CountryCode_TG :: CountryCode 
pattern CountryCode_TH :: CountryCode 
pattern CountryCode_TJ :: CountryCode 
pattern CountryCode_TK :: CountryCode 
pattern CountryCode_TL :: CountryCode 
pattern CountryCode_TM :: CountryCode 
pattern CountryCode_TN :: CountryCode 
pattern CountryCode_TO :: CountryCode 
pattern CountryCode_TR :: CountryCode 
pattern CountryCode_TT :: CountryCode 
pattern CountryCode_TV :: CountryCode 
pattern CountryCode_TW :: CountryCode 
pattern CountryCode_TZ :: CountryCode 
pattern CountryCode_UA :: CountryCode 
pattern CountryCode_UG :: CountryCode 
pattern CountryCode_UM :: CountryCode 
pattern CountryCode_US :: CountryCode 
pattern CountryCode_UY :: CountryCode 
pattern CountryCode_UZ :: CountryCode 
pattern CountryCode_VA :: CountryCode 
pattern CountryCode_VC :: CountryCode 
pattern CountryCode_VE :: CountryCode 
pattern CountryCode_VG :: CountryCode 
pattern CountryCode_VI :: CountryCode 
pattern CountryCode_VN :: CountryCode 
pattern CountryCode_VU :: CountryCode 
pattern CountryCode_WF :: CountryCode 
pattern CountryCode_WS :: CountryCode 
pattern CountryCode_XK :: CountryCode 
pattern CountryCode_YE :: CountryCode 
pattern CountryCode_YT :: CountryCode 
pattern CountryCode_ZA :: CountryCode 
pattern CountryCode_ZM :: CountryCode 
pattern CountryCode_ZW :: CountryCode 

Instances

Instances details
FromJSON CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

FromJSONKey CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

ToJSON CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

ToJSONKey CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

ToByteString CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

ToHeader CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

ToLog CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

ToQuery CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

FromText CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

ToText CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

Methods

toText :: CountryCode -> Text #

FromXML CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

ToXML CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

Methods

toXML :: CountryCode -> XML #

Generic CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

Associated Types

type Rep CountryCode :: Type -> Type #

Read CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

Show CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

NFData CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

Methods

rnf :: CountryCode -> () #

Eq CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

Ord CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

Hashable CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

type Rep CountryCode Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountryCode

type Rep CountryCode = D1 ('MetaData "CountryCode" "Amazonka.WAFV2.Types.CountryCode" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "CountryCode'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromCountryCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

FailureReason

newtype FailureReason Source #

Constructors

FailureReason' 

Instances

Instances details
FromJSON FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

FromJSONKey FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

ToJSON FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

ToJSONKey FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

ToByteString FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

ToHeader FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

ToLog FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

ToQuery FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

FromText FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

ToText FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

Methods

toText :: FailureReason -> Text #

FromXML FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

ToXML FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

Methods

toXML :: FailureReason -> XML #

Generic FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

Associated Types

type Rep FailureReason :: Type -> Type #

Read FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

Show FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

NFData FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

Methods

rnf :: FailureReason -> () #

Eq FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

Ord FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

Hashable FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

type Rep FailureReason Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FailureReason

type Rep FailureReason = D1 ('MetaData "FailureReason" "Amazonka.WAFV2.Types.FailureReason" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "FailureReason'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromFailureReason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

FallbackBehavior

newtype FallbackBehavior Source #

Instances

Instances details
FromJSON FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

FromJSONKey FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

ToJSON FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

ToJSONKey FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

ToByteString FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

ToHeader FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

ToLog FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

ToQuery FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

FromText FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

ToText FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

FromXML FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

ToXML FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

Generic FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

Associated Types

type Rep FallbackBehavior :: Type -> Type #

Read FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

Show FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

NFData FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

Methods

rnf :: FallbackBehavior -> () #

Eq FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

Ord FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

Hashable FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

type Rep FallbackBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FallbackBehavior

type Rep FallbackBehavior = D1 ('MetaData "FallbackBehavior" "Amazonka.WAFV2.Types.FallbackBehavior" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "FallbackBehavior'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromFallbackBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

FilterBehavior

newtype FilterBehavior Source #

Constructors

FilterBehavior' 

Bundled Patterns

pattern FilterBehavior_DROP :: FilterBehavior 
pattern FilterBehavior_KEEP :: FilterBehavior 

Instances

Instances details
FromJSON FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

FromJSONKey FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

ToJSON FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

ToJSONKey FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

ToByteString FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

ToHeader FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

ToLog FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

ToQuery FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

FromText FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

ToText FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

FromXML FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

ToXML FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

Methods

toXML :: FilterBehavior -> XML #

Generic FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

Associated Types

type Rep FilterBehavior :: Type -> Type #

Read FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

Show FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

NFData FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

Methods

rnf :: FilterBehavior -> () #

Eq FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

Ord FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

Hashable FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

type Rep FilterBehavior Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterBehavior

type Rep FilterBehavior = D1 ('MetaData "FilterBehavior" "Amazonka.WAFV2.Types.FilterBehavior" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "FilterBehavior'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromFilterBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

FilterRequirement

newtype FilterRequirement Source #

Instances

Instances details
FromJSON FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

FromJSONKey FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

ToJSON FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

ToJSONKey FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

ToByteString FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

ToHeader FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

ToLog FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

ToQuery FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

FromText FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

ToText FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

FromXML FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

ToXML FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

Generic FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

Associated Types

type Rep FilterRequirement :: Type -> Type #

Read FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

Show FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

NFData FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

Methods

rnf :: FilterRequirement -> () #

Eq FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

Ord FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

Hashable FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

type Rep FilterRequirement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FilterRequirement

type Rep FilterRequirement = D1 ('MetaData "FilterRequirement" "Amazonka.WAFV2.Types.FilterRequirement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "FilterRequirement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromFilterRequirement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

ForwardedIPPosition

newtype ForwardedIPPosition Source #

Instances

Instances details
FromJSON ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

FromJSONKey ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

ToJSON ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

ToJSONKey ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

ToByteString ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

ToHeader ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

ToLog ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

ToQuery ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

FromText ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

ToText ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

FromXML ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

ToXML ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

Generic ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

Associated Types

type Rep ForwardedIPPosition :: Type -> Type #

Read ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

Show ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

NFData ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

Methods

rnf :: ForwardedIPPosition -> () #

Eq ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

Ord ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

Hashable ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

type Rep ForwardedIPPosition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPPosition

type Rep ForwardedIPPosition = D1 ('MetaData "ForwardedIPPosition" "Amazonka.WAFV2.Types.ForwardedIPPosition" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "ForwardedIPPosition'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromForwardedIPPosition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

IPAddressVersion

newtype IPAddressVersion Source #

Instances

Instances details
FromJSON IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

FromJSONKey IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

ToJSON IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

ToJSONKey IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

ToByteString IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

ToHeader IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

ToLog IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

ToQuery IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

FromText IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

ToText IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

FromXML IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

ToXML IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

Generic IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

Associated Types

type Rep IPAddressVersion :: Type -> Type #

Read IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

Show IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

NFData IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

Methods

rnf :: IPAddressVersion -> () #

Eq IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

Ord IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

Hashable IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

type Rep IPAddressVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPAddressVersion

type Rep IPAddressVersion = D1 ('MetaData "IPAddressVersion" "Amazonka.WAFV2.Types.IPAddressVersion" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "IPAddressVersion'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromIPAddressVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

InspectionLevel

newtype InspectionLevel Source #

Constructors

InspectionLevel' 

Instances

Instances details
FromJSON InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

FromJSONKey InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

ToJSON InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

ToJSONKey InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

ToByteString InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

ToHeader InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

ToLog InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

ToQuery InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

FromText InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

ToText InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

FromXML InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

ToXML InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

Methods

toXML :: InspectionLevel -> XML #

Generic InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

Associated Types

type Rep InspectionLevel :: Type -> Type #

Read InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

Show InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

NFData InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

Methods

rnf :: InspectionLevel -> () #

Eq InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

Ord InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

Hashable InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

type Rep InspectionLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.InspectionLevel

type Rep InspectionLevel = D1 ('MetaData "InspectionLevel" "Amazonka.WAFV2.Types.InspectionLevel" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "InspectionLevel'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromInspectionLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

JsonMatchScope

newtype JsonMatchScope Source #

Constructors

JsonMatchScope' 

Instances

Instances details
FromJSON JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

FromJSONKey JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

ToJSON JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

ToJSONKey JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

ToByteString JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

ToHeader JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

ToLog JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

ToQuery JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

FromText JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

ToText JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

FromXML JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

ToXML JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

Methods

toXML :: JsonMatchScope -> XML #

Generic JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

Associated Types

type Rep JsonMatchScope :: Type -> Type #

Read JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

Show JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

NFData JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

Methods

rnf :: JsonMatchScope -> () #

Eq JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

Ord JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

Hashable JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

type Rep JsonMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchScope

type Rep JsonMatchScope = D1 ('MetaData "JsonMatchScope" "Amazonka.WAFV2.Types.JsonMatchScope" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "JsonMatchScope'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromJsonMatchScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

LabelMatchScope

newtype LabelMatchScope Source #

Constructors

LabelMatchScope' 

Instances

Instances details
FromJSON LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

FromJSONKey LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

ToJSON LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

ToJSONKey LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

ToByteString LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

ToHeader LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

ToLog LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

ToQuery LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

FromText LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

ToText LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

FromXML LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

ToXML LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

Methods

toXML :: LabelMatchScope -> XML #

Generic LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

Associated Types

type Rep LabelMatchScope :: Type -> Type #

Read LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

Show LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

NFData LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

Methods

rnf :: LabelMatchScope -> () #

Eq LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

Ord LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

Hashable LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

type Rep LabelMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchScope

type Rep LabelMatchScope = D1 ('MetaData "LabelMatchScope" "Amazonka.WAFV2.Types.LabelMatchScope" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "LabelMatchScope'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromLabelMatchScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

MapMatchScope

newtype MapMatchScope Source #

Constructors

MapMatchScope' 

Instances

Instances details
FromJSON MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

FromJSONKey MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

ToJSON MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

ToJSONKey MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

ToByteString MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

ToHeader MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

ToLog MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

ToQuery MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

FromText MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

ToText MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

Methods

toText :: MapMatchScope -> Text #

FromXML MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

ToXML MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

Methods

toXML :: MapMatchScope -> XML #

Generic MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

Associated Types

type Rep MapMatchScope :: Type -> Type #

Read MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

Show MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

NFData MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

Methods

rnf :: MapMatchScope -> () #

Eq MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

Ord MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

Hashable MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

type Rep MapMatchScope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MapMatchScope

type Rep MapMatchScope = D1 ('MetaData "MapMatchScope" "Amazonka.WAFV2.Types.MapMatchScope" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "MapMatchScope'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromMapMatchScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

OversizeHandling

newtype OversizeHandling Source #

Instances

Instances details
FromJSON OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

FromJSONKey OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

ToJSON OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

ToJSONKey OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

ToByteString OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

ToHeader OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

ToLog OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

ToQuery OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

FromText OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

ToText OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

FromXML OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

ToXML OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

Generic OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

Associated Types

type Rep OversizeHandling :: Type -> Type #

Read OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

Show OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

NFData OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

Methods

rnf :: OversizeHandling -> () #

Eq OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

Ord OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

Hashable OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

type Rep OversizeHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OversizeHandling

type Rep OversizeHandling = D1 ('MetaData "OversizeHandling" "Amazonka.WAFV2.Types.OversizeHandling" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "OversizeHandling'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromOversizeHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

PayloadType

newtype PayloadType Source #

Constructors

PayloadType' 

Bundled Patterns

pattern PayloadType_FORM_ENCODED :: PayloadType 
pattern PayloadType_JSON :: PayloadType 

Instances

Instances details
FromJSON PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

FromJSONKey PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

ToJSON PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

ToJSONKey PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

ToByteString PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

ToHeader PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

ToLog PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

ToQuery PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

FromText PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

ToText PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

Methods

toText :: PayloadType -> Text #

FromXML PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

ToXML PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

Methods

toXML :: PayloadType -> XML #

Generic PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

Associated Types

type Rep PayloadType :: Type -> Type #

Read PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

Show PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

NFData PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

Methods

rnf :: PayloadType -> () #

Eq PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

Ord PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

Hashable PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

type Rep PayloadType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PayloadType

type Rep PayloadType = D1 ('MetaData "PayloadType" "Amazonka.WAFV2.Types.PayloadType" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "PayloadType'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromPayloadType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Platform

newtype Platform Source #

Constructors

Platform' 

Fields

Bundled Patterns

pattern Platform_ANDROID :: Platform 
pattern Platform_IOS :: Platform 

Instances

Instances details
FromJSON Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

FromJSONKey Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

ToJSON Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

ToJSONKey Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

ToByteString Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Methods

toBS :: Platform -> ByteString #

ToHeader Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Methods

toHeader :: HeaderName -> Platform -> [Header] #

ToLog Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

ToQuery Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

FromText Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

ToText Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Methods

toText :: Platform -> Text #

FromXML Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

ToXML Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Methods

toXML :: Platform -> XML #

Generic Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Associated Types

type Rep Platform :: Type -> Type #

Methods

from :: Platform -> Rep Platform x #

to :: Rep Platform x -> Platform #

Read Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Show Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

NFData Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Methods

rnf :: Platform -> () #

Eq Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Ord Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Hashable Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

Methods

hashWithSalt :: Int -> Platform -> Int #

hash :: Platform -> Int #

type Rep Platform Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Platform

type Rep Platform = D1 ('MetaData "Platform" "Amazonka.WAFV2.Types.Platform" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "Platform'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromPlatform") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

PositionalConstraint

newtype PositionalConstraint Source #

Instances

Instances details
FromJSON PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

FromJSONKey PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

ToJSON PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

ToJSONKey PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

ToByteString PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

ToHeader PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

ToLog PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

ToQuery PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

FromText PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

ToText PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

FromXML PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

ToXML PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

Generic PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

Associated Types

type Rep PositionalConstraint :: Type -> Type #

Read PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

Show PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

NFData PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

Methods

rnf :: PositionalConstraint -> () #

Eq PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

Ord PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

Hashable PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

type Rep PositionalConstraint Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PositionalConstraint

type Rep PositionalConstraint = D1 ('MetaData "PositionalConstraint" "Amazonka.WAFV2.Types.PositionalConstraint" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "PositionalConstraint'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromPositionalConstraint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

RateBasedStatementAggregateKeyType

newtype RateBasedStatementAggregateKeyType Source #

Instances

Instances details
FromJSON RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

FromJSONKey RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

ToJSON RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

ToJSONKey RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

ToByteString RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

ToHeader RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

ToLog RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

ToQuery RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

FromText RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

ToText RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

FromXML RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

ToXML RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

Generic RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

Associated Types

type Rep RateBasedStatementAggregateKeyType :: Type -> Type #

Read RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

Show RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

NFData RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

Eq RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

Ord RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

Hashable RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

type Rep RateBasedStatementAggregateKeyType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType

type Rep RateBasedStatementAggregateKeyType = D1 ('MetaData "RateBasedStatementAggregateKeyType" "Amazonka.WAFV2.Types.RateBasedStatementAggregateKeyType" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "RateBasedStatementAggregateKeyType'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromRateBasedStatementAggregateKeyType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

ResourceType

newtype ResourceType Source #

Constructors

ResourceType' 

Instances

Instances details
FromJSON ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

FromJSONKey ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

ToJSON ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

ToJSONKey ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

ToByteString ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

ToHeader ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

ToLog ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

ToQuery ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

FromText ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

ToText ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

Methods

toText :: ResourceType -> Text #

FromXML ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

ToXML ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

Methods

toXML :: ResourceType -> XML #

Generic ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

Associated Types

type Rep ResourceType :: Type -> Type #

Read ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

Show ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

NFData ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

Methods

rnf :: ResourceType -> () #

Eq ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

Ord ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

Hashable ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

type Rep ResourceType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResourceType

type Rep ResourceType = D1 ('MetaData "ResourceType" "Amazonka.WAFV2.Types.ResourceType" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "ResourceType'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromResourceType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

ResponseContentType

newtype ResponseContentType Source #

Instances

Instances details
FromJSON ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

FromJSONKey ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

ToJSON ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

ToJSONKey ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

ToByteString ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

ToHeader ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

ToLog ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

ToQuery ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

FromText ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

ToText ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

FromXML ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

ToXML ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

Generic ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

Associated Types

type Rep ResponseContentType :: Type -> Type #

Read ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

Show ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

NFData ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

Methods

rnf :: ResponseContentType -> () #

Eq ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

Ord ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

Hashable ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

type Rep ResponseContentType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ResponseContentType

type Rep ResponseContentType = D1 ('MetaData "ResponseContentType" "Amazonka.WAFV2.Types.ResponseContentType" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "ResponseContentType'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromResponseContentType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Scope

newtype Scope Source #

Constructors

Scope' 

Fields

Bundled Patterns

pattern Scope_CLOUDFRONT :: Scope 
pattern Scope_REGIONAL :: Scope 

Instances

Instances details
FromJSON Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

FromJSONKey Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

ToJSON Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

ToJSONKey Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

ToByteString Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

toBS :: Scope -> ByteString #

ToHeader Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

toHeader :: HeaderName -> Scope -> [Header] #

ToLog Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

ToQuery Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

toQuery :: Scope -> QueryString #

FromText Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

ToText Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

toText :: Scope -> Text #

FromXML Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

parseXML :: [Node] -> Either String Scope #

ToXML Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

toXML :: Scope -> XML #

Generic Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Associated Types

type Rep Scope :: Type -> Type #

Methods

from :: Scope -> Rep Scope x #

to :: Rep Scope x -> Scope #

Read Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Show Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

showsPrec :: Int -> Scope -> ShowS #

show :: Scope -> String #

showList :: [Scope] -> ShowS #

NFData Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

rnf :: Scope -> () #

Eq Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

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

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

Ord Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

compare :: Scope -> Scope -> Ordering #

(<) :: Scope -> Scope -> Bool #

(<=) :: Scope -> Scope -> Bool #

(>) :: Scope -> Scope -> Bool #

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

max :: Scope -> Scope -> Scope #

min :: Scope -> Scope -> Scope #

Hashable Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

Methods

hashWithSalt :: Int -> Scope -> Int #

hash :: Scope -> Int #

type Rep Scope Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Scope

type Rep Scope = D1 ('MetaData "Scope" "Amazonka.WAFV2.Types.Scope" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "Scope'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

SensitivityLevel

newtype SensitivityLevel Source #

Instances

Instances details
FromJSON SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

FromJSONKey SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

ToJSON SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

ToJSONKey SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

ToByteString SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

ToHeader SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

ToLog SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

ToQuery SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

FromText SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

ToText SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

FromXML SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

ToXML SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

Generic SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

Associated Types

type Rep SensitivityLevel :: Type -> Type #

Read SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

Show SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

NFData SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

Methods

rnf :: SensitivityLevel -> () #

Eq SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

Ord SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

Hashable SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

type Rep SensitivityLevel Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SensitivityLevel

type Rep SensitivityLevel = D1 ('MetaData "SensitivityLevel" "Amazonka.WAFV2.Types.SensitivityLevel" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "SensitivityLevel'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromSensitivityLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

TextTransformationType

newtype TextTransformationType Source #

Bundled Patterns

pattern TextTransformationType_BASE64_DECODE :: TextTransformationType 
pattern TextTransformationType_BASE64_DECODE_EXT :: TextTransformationType 
pattern TextTransformationType_CMD_LINE :: TextTransformationType 
pattern TextTransformationType_COMPRESS_WHITE_SPACE :: TextTransformationType 
pattern TextTransformationType_CSS_DECODE :: TextTransformationType 
pattern TextTransformationType_ESCAPE_SEQ_DECODE :: TextTransformationType 
pattern TextTransformationType_HEX_DECODE :: TextTransformationType 
pattern TextTransformationType_HTML_ENTITY_DECODE :: TextTransformationType 
pattern TextTransformationType_JS_DECODE :: TextTransformationType 
pattern TextTransformationType_LOWERCASE :: TextTransformationType 
pattern TextTransformationType_MD5 :: TextTransformationType 
pattern TextTransformationType_NONE :: TextTransformationType 
pattern TextTransformationType_NORMALIZE_PATH :: TextTransformationType 
pattern TextTransformationType_NORMALIZE_PATH_WIN :: TextTransformationType 
pattern TextTransformationType_REMOVE_NULLS :: TextTransformationType 
pattern TextTransformationType_REPLACE_COMMENTS :: TextTransformationType 
pattern TextTransformationType_REPLACE_NULLS :: TextTransformationType 
pattern TextTransformationType_SQL_HEX_DECODE :: TextTransformationType 
pattern TextTransformationType_URL_DECODE :: TextTransformationType 
pattern TextTransformationType_URL_DECODE_UNI :: TextTransformationType 
pattern TextTransformationType_UTF8_TO_UNICODE :: TextTransformationType 

Instances

Instances details
FromJSON TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

FromJSONKey TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

ToJSON TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

ToJSONKey TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

ToByteString TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

ToHeader TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

ToLog TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

ToQuery TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

FromText TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

ToText TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

FromXML TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

ToXML TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

Generic TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

Associated Types

type Rep TextTransformationType :: Type -> Type #

Read TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

Show TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

NFData TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

Methods

rnf :: TextTransformationType -> () #

Eq TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

Ord TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

Hashable TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

type Rep TextTransformationType Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformationType

type Rep TextTransformationType = D1 ('MetaData "TextTransformationType" "Amazonka.WAFV2.Types.TextTransformationType" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'True) (C1 ('MetaCons "TextTransformationType'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromTextTransformationType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

AWSManagedRulesBotControlRuleSet

data AWSManagedRulesBotControlRuleSet Source #

Details for your use of the Bot Control managed rule group, used in ManagedRuleGroupConfig.

See: newAWSManagedRulesBotControlRuleSet smart constructor.

Constructors

AWSManagedRulesBotControlRuleSet' 

Fields

  • inspectionLevel :: InspectionLevel

    The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see WAF Bot Control rule group.

Instances

Instances details
FromJSON AWSManagedRulesBotControlRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet

ToJSON AWSManagedRulesBotControlRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet

Generic AWSManagedRulesBotControlRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet

Associated Types

type Rep AWSManagedRulesBotControlRuleSet :: Type -> Type #

Read AWSManagedRulesBotControlRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet

Show AWSManagedRulesBotControlRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet

NFData AWSManagedRulesBotControlRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet

Eq AWSManagedRulesBotControlRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet

Hashable AWSManagedRulesBotControlRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet

type Rep AWSManagedRulesBotControlRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet

type Rep AWSManagedRulesBotControlRuleSet = D1 ('MetaData "AWSManagedRulesBotControlRuleSet" "Amazonka.WAFV2.Types.AWSManagedRulesBotControlRuleSet" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "AWSManagedRulesBotControlRuleSet'" 'PrefixI 'True) (S1 ('MetaSel ('Just "inspectionLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 InspectionLevel)))

newAWSManagedRulesBotControlRuleSet Source #

Create a value of AWSManagedRulesBotControlRuleSet with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:inspectionLevel:AWSManagedRulesBotControlRuleSet', aWSManagedRulesBotControlRuleSet_inspectionLevel - The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see WAF Bot Control rule group.

aWSManagedRulesBotControlRuleSet_inspectionLevel :: Lens' AWSManagedRulesBotControlRuleSet InspectionLevel Source #

The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see WAF Bot Control rule group.

ActionCondition

data ActionCondition Source #

A single action condition for a Condition in a logging filter.

See: newActionCondition smart constructor.

Constructors

ActionCondition' 

Fields

  • action :: ActionValue

    The action setting that a log record must contain in order to meet the condition. This is the action that WAF applied to the web request.

    For rule groups, this is either the configured rule action setting, or if you've applied a rule action override to the rule, it's the override action. The value EXCLUDED_AS_COUNT matches on excluded rules and also on rules that have a rule action override of Count.

Instances

Instances details
FromJSON ActionCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionCondition

ToJSON ActionCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionCondition

Generic ActionCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionCondition

Associated Types

type Rep ActionCondition :: Type -> Type #

Read ActionCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionCondition

Show ActionCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionCondition

NFData ActionCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionCondition

Methods

rnf :: ActionCondition -> () #

Eq ActionCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionCondition

Hashable ActionCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionCondition

type Rep ActionCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ActionCondition

type Rep ActionCondition = D1 ('MetaData "ActionCondition" "Amazonka.WAFV2.Types.ActionCondition" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ActionCondition'" 'PrefixI 'True) (S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ActionValue)))

newActionCondition Source #

Create a value of ActionCondition with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:action:ActionCondition', actionCondition_action - The action setting that a log record must contain in order to meet the condition. This is the action that WAF applied to the web request.

For rule groups, this is either the configured rule action setting, or if you've applied a rule action override to the rule, it's the override action. The value EXCLUDED_AS_COUNT matches on excluded rules and also on rules that have a rule action override of Count.

actionCondition_action :: Lens' ActionCondition ActionValue Source #

The action setting that a log record must contain in order to meet the condition. This is the action that WAF applied to the web request.

For rule groups, this is either the configured rule action setting, or if you've applied a rule action override to the rule, it's the override action. The value EXCLUDED_AS_COUNT matches on excluded rules and also on rules that have a rule action override of Count.

All

data All Source #

Inspect all of the elements that WAF has parsed and extracted from the web request component that you've identified in your FieldToMatch specifications.

This is used only in the FieldToMatch specification for some web request component types.

JSON specification: "All": {}

See: newAll smart constructor.

Constructors

All' 

Instances

Instances details
FromJSON All Source # 
Instance details

Defined in Amazonka.WAFV2.Types.All

ToJSON All Source # 
Instance details

Defined in Amazonka.WAFV2.Types.All

Generic All Source # 
Instance details

Defined in Amazonka.WAFV2.Types.All

Associated Types

type Rep All :: Type -> Type #

Methods

from :: All -> Rep All x #

to :: Rep All x -> All #

Read All Source # 
Instance details

Defined in Amazonka.WAFV2.Types.All

Show All Source # 
Instance details

Defined in Amazonka.WAFV2.Types.All

Methods

showsPrec :: Int -> All -> ShowS #

show :: All -> String #

showList :: [All] -> ShowS #

NFData All Source # 
Instance details

Defined in Amazonka.WAFV2.Types.All

Methods

rnf :: All -> () #

Eq All Source # 
Instance details

Defined in Amazonka.WAFV2.Types.All

Methods

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

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

Hashable All Source # 
Instance details

Defined in Amazonka.WAFV2.Types.All

Methods

hashWithSalt :: Int -> All -> Int #

hash :: All -> Int #

type Rep All Source # 
Instance details

Defined in Amazonka.WAFV2.Types.All

type Rep All = D1 ('MetaData "All" "Amazonka.WAFV2.Types.All" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "All'" 'PrefixI 'False) (U1 :: Type -> Type))

newAll :: All Source #

Create a value of All with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

AllQueryArguments

data AllQueryArguments Source #

Inspect all query arguments of the web request.

This is used only in the FieldToMatch specification for some web request component types.

JSON specification: "AllQueryArguments": {}

See: newAllQueryArguments smart constructor.

Constructors

AllQueryArguments' 

Instances

Instances details
FromJSON AllQueryArguments Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllQueryArguments

ToJSON AllQueryArguments Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllQueryArguments

Generic AllQueryArguments Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllQueryArguments

Associated Types

type Rep AllQueryArguments :: Type -> Type #

Read AllQueryArguments Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllQueryArguments

Show AllQueryArguments Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllQueryArguments

NFData AllQueryArguments Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllQueryArguments

Methods

rnf :: AllQueryArguments -> () #

Eq AllQueryArguments Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllQueryArguments

Hashable AllQueryArguments Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllQueryArguments

type Rep AllQueryArguments Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllQueryArguments

type Rep AllQueryArguments = D1 ('MetaData "AllQueryArguments" "Amazonka.WAFV2.Types.AllQueryArguments" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "AllQueryArguments'" 'PrefixI 'False) (U1 :: Type -> Type))

newAllQueryArguments :: AllQueryArguments Source #

Create a value of AllQueryArguments with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

AllowAction

data AllowAction Source #

Specifies that WAF should allow the request and optionally defines additional custom handling for the request.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

See: newAllowAction smart constructor.

Constructors

AllowAction' 

Fields

Instances

Instances details
FromJSON AllowAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllowAction

ToJSON AllowAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllowAction

Generic AllowAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllowAction

Associated Types

type Rep AllowAction :: Type -> Type #

Read AllowAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllowAction

Show AllowAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllowAction

NFData AllowAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllowAction

Methods

rnf :: AllowAction -> () #

Eq AllowAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllowAction

Hashable AllowAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllowAction

type Rep AllowAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AllowAction

type Rep AllowAction = D1 ('MetaData "AllowAction" "Amazonka.WAFV2.Types.AllowAction" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "AllowAction'" 'PrefixI 'True) (S1 ('MetaSel ('Just "customRequestHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CustomRequestHandling))))

newAllowAction :: AllowAction Source #

Create a value of AllowAction with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:customRequestHandling:AllowAction', allowAction_customRequestHandling - Defines custom handling for the web request.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

allowAction_customRequestHandling :: Lens' AllowAction (Maybe CustomRequestHandling) Source #

Defines custom handling for the web request.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

AndStatement

data AndStatement Source #

A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

See: newAndStatement smart constructor.

Constructors

AndStatement' 

Fields

  • statements :: [Statement]

    The statements to combine with AND logic. You can use any statements that can be nested.

Instances

Instances details
FromJSON AndStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AndStatement

ToJSON AndStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AndStatement

Generic AndStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AndStatement

Associated Types

type Rep AndStatement :: Type -> Type #

Read AndStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AndStatement

Show AndStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AndStatement

NFData AndStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AndStatement

Methods

rnf :: AndStatement -> () #

Eq AndStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AndStatement

Hashable AndStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AndStatement

type Rep AndStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.AndStatement

type Rep AndStatement = D1 ('MetaData "AndStatement" "Amazonka.WAFV2.Types.AndStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "AndStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "statements") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Statement])))

newAndStatement :: AndStatement Source #

Create a value of AndStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:statements:AndStatement', andStatement_statements - The statements to combine with AND logic. You can use any statements that can be nested.

andStatement_statements :: Lens' AndStatement [Statement] Source #

The statements to combine with AND logic. You can use any statements that can be nested.

BlockAction

data BlockAction Source #

Specifies that WAF should block the request and optionally defines additional custom handling for the response to the web request.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

See: newBlockAction smart constructor.

Constructors

BlockAction' 

Fields

Instances

Instances details
FromJSON BlockAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BlockAction

ToJSON BlockAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BlockAction

Generic BlockAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BlockAction

Associated Types

type Rep BlockAction :: Type -> Type #

Read BlockAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BlockAction

Show BlockAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BlockAction

NFData BlockAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BlockAction

Methods

rnf :: BlockAction -> () #

Eq BlockAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BlockAction

Hashable BlockAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BlockAction

type Rep BlockAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.BlockAction

type Rep BlockAction = D1 ('MetaData "BlockAction" "Amazonka.WAFV2.Types.BlockAction" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "BlockAction'" 'PrefixI 'True) (S1 ('MetaSel ('Just "customResponse") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CustomResponse))))

newBlockAction :: BlockAction Source #

Create a value of BlockAction with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:customResponse:BlockAction', blockAction_customResponse - Defines a custom response for the web request.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

blockAction_customResponse :: Lens' BlockAction (Maybe CustomResponse) Source #

Defines a custom response for the web request.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

Body

data Body Source #

Inspect the body of the web request. The body immediately follows the request headers.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

See: newBody smart constructor.

Constructors

Body' 

Fields

  • oversizeHandling :: Maybe OversizeHandling

    What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service.

    The options for oversize handling are the following:

    • CONTINUE - Inspect the body normally, according to the rule inspection criteria.
    • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
    • NO_MATCH - Treat the web request as not matching the rule statement.

    You can combine the MATCH or NO_MATCH settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.

    Default: CONTINUE

Instances

Instances details
FromJSON Body Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Body

ToJSON Body Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Body

Generic Body Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Body

Associated Types

type Rep Body :: Type -> Type #

Methods

from :: Body -> Rep Body x #

to :: Rep Body x -> Body #

Read Body Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Body

Show Body Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Body

Methods

showsPrec :: Int -> Body -> ShowS #

show :: Body -> String #

showList :: [Body] -> ShowS #

NFData Body Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Body

Methods

rnf :: Body -> () #

Eq Body Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Body

Methods

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

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

Hashable Body Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Body

Methods

hashWithSalt :: Int -> Body -> Int #

hash :: Body -> Int #

type Rep Body Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Body

type Rep Body = D1 ('MetaData "Body" "Amazonka.WAFV2.Types.Body" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Body'" 'PrefixI 'True) (S1 ('MetaSel ('Just "oversizeHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe OversizeHandling))))

newBody :: Body Source #

Create a value of Body with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:oversizeHandling:Body', body_oversizeHandling - What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service.

The options for oversize handling are the following:

  • CONTINUE - Inspect the body normally, according to the rule inspection criteria.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

You can combine the MATCH or NO_MATCH settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.

Default: CONTINUE

body_oversizeHandling :: Lens' Body (Maybe OversizeHandling) Source #

What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service.

The options for oversize handling are the following:

  • CONTINUE - Inspect the body normally, according to the rule inspection criteria.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

You can combine the MATCH or NO_MATCH settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.

Default: CONTINUE

ByteMatchStatement

data ByteMatchStatement Source #

A rule statement that defines a string match search for WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the WAF console and the developer guide, this is called a string match statement.

See: newByteMatchStatement smart constructor.

Constructors

ByteMatchStatement' 

Fields

  • searchString :: Base64

    A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 50 bytes.

    Valid values depend on the component that you specify for inspection in FieldToMatch:

    • Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request.
    • UriPath: The value that you want WAF to search for in the URI path, for example, /images/daily-ad.jpg.

    If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

    If you're using the 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 SearchString.

    If you're using the CLI or one of the Amazon Web Services SDKs

    The value that you want WAF to search for. The SDK automatically base64 encodes the value.

  • fieldToMatch :: FieldToMatch

    The part of the web request that you want WAF to inspect.

  • textTransformations :: NonEmpty TextTransformation

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

  • positionalConstraint :: PositionalConstraint

    The area within the portion of the web request that you want WAF to search for SearchString. Valid values include the following:

    CONTAINS

    The specified part of the web request must include the value of SearchString, but the location doesn't matter.

    CONTAINS_WORD

    The specified part of the web request must include the value of SearchString, and SearchString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, SearchString must be a word, which means that both of the following are true:

    • SearchString is at the beginning of the specified part of the web request or is preceded by a character other than an alphanumeric character or underscore (_). Examples include the value of a header and ;BadBot.
    • SearchString is at the end of the specified part of the web request or is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot; and -BadBot;.

    EXACTLY

    The value of the specified part of the web request must exactly match the value of SearchString.

    STARTS_WITH

    The value of SearchString must appear at the beginning of the specified part of the web request.

    ENDS_WITH

    The value of SearchString must appear at the end of the specified part of the web request.

Instances

Instances details
FromJSON ByteMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ByteMatchStatement

ToJSON ByteMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ByteMatchStatement

Generic ByteMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ByteMatchStatement

Associated Types

type Rep ByteMatchStatement :: Type -> Type #

Read ByteMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ByteMatchStatement

Show ByteMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ByteMatchStatement

NFData ByteMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ByteMatchStatement

Methods

rnf :: ByteMatchStatement -> () #

Eq ByteMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ByteMatchStatement

Hashable ByteMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ByteMatchStatement

type Rep ByteMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ByteMatchStatement

type Rep ByteMatchStatement = D1 ('MetaData "ByteMatchStatement" "Amazonka.WAFV2.Types.ByteMatchStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ByteMatchStatement'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "searchString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Base64) :*: S1 ('MetaSel ('Just "fieldToMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FieldToMatch)) :*: (S1 ('MetaSel ('Just "textTransformations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty TextTransformation)) :*: S1 ('MetaSel ('Just "positionalConstraint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 PositionalConstraint))))

newByteMatchStatement Source #

Create a value of ByteMatchStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:searchString:ByteMatchStatement', byteMatchStatement_searchString - A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the component that you specify for inspection in FieldToMatch:

  • Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request.
  • UriPath: The value that you want WAF to search for in the URI path, for example, /images/daily-ad.jpg.

If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the 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 SearchString.

If you're using the CLI or one of the Amazon Web Services SDKs

The value that you want 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.

$sel:fieldToMatch:ByteMatchStatement', byteMatchStatement_fieldToMatch - The part of the web request that you want WAF to inspect.

$sel:textTransformations:ByteMatchStatement', byteMatchStatement_textTransformations - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

$sel:positionalConstraint:ByteMatchStatement', byteMatchStatement_positionalConstraint - The area within the portion of the web request that you want WAF to search for SearchString. Valid values include the following:

CONTAINS

The specified part of the web request must include the value of SearchString, but the location doesn't matter.

CONTAINS_WORD

The specified part of the web request must include the value of SearchString, and SearchString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, SearchString must be a word, which means that both of the following are true:

  • SearchString is at the beginning of the specified part of the web request or is preceded by a character other than an alphanumeric character or underscore (_). Examples include the value of a header and ;BadBot.
  • SearchString is at the end of the specified part of the web request or is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot; and -BadBot;.

EXACTLY

The value of the specified part of the web request must exactly match the value of SearchString.

STARTS_WITH

The value of SearchString must appear at the beginning of the specified part of the web request.

ENDS_WITH

The value of SearchString must appear at the end of the specified part of the web request.

byteMatchStatement_searchString :: Lens' ByteMatchStatement ByteString Source #

A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the component that you specify for inspection in FieldToMatch:

  • Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request.
  • UriPath: The value that you want WAF to search for in the URI path, for example, /images/daily-ad.jpg.

If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the 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 SearchString.

If you're using the CLI or one of the Amazon Web Services SDKs

The value that you want 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.

byteMatchStatement_fieldToMatch :: Lens' ByteMatchStatement FieldToMatch Source #

The part of the web request that you want WAF to inspect.

byteMatchStatement_textTransformations :: Lens' ByteMatchStatement (NonEmpty TextTransformation) Source #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

byteMatchStatement_positionalConstraint :: Lens' ByteMatchStatement PositionalConstraint Source #

The area within the portion of the web request that you want WAF to search for SearchString. Valid values include the following:

CONTAINS

The specified part of the web request must include the value of SearchString, but the location doesn't matter.

CONTAINS_WORD

The specified part of the web request must include the value of SearchString, and SearchString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, SearchString must be a word, which means that both of the following are true:

  • SearchString is at the beginning of the specified part of the web request or is preceded by a character other than an alphanumeric character or underscore (_). Examples include the value of a header and ;BadBot.
  • SearchString is at the end of the specified part of the web request or is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot; and -BadBot;.

EXACTLY

The value of the specified part of the web request must exactly match the value of SearchString.

STARTS_WITH

The value of SearchString must appear at the beginning of the specified part of the web request.

ENDS_WITH

The value of SearchString must appear at the end of the specified part of the web request.

CaptchaAction

data CaptchaAction Source #

Specifies that WAF should run a CAPTCHA check against the request:

  • If the request includes a valid, unexpired CAPTCHA token, WAF applies any custom request handling and labels that you've configured and then allows the web request inspection to proceed to the next rule, similar to a CountAction.
  • If the request doesn't include a valid, unexpired token, WAF discontinues the web ACL evaluation of the request and blocks it from going to its intended destination.

    WAF generates a response that it sends back to the client, which includes the following:

    • The header x-amzn-waf-action with a value of captcha.
    • The HTTP status code 405 Method Not Allowed.
    • If the request contains an Accept header with a value of text/html, the response includes a CAPTCHA JavaScript page interstitial.

You can configure the expiration time in the CaptchaConfig ImmunityTimeProperty setting at the rule and web ACL level. The rule setting overrides the web ACL setting.

This action option is available for rules. It isn't available for web ACL default actions.

See: newCaptchaAction smart constructor.

Constructors

CaptchaAction' 

Fields

Instances

Instances details
FromJSON CaptchaAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaAction

ToJSON CaptchaAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaAction

Generic CaptchaAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaAction

Associated Types

type Rep CaptchaAction :: Type -> Type #

Read CaptchaAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaAction

Show CaptchaAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaAction

NFData CaptchaAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaAction

Methods

rnf :: CaptchaAction -> () #

Eq CaptchaAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaAction

Hashable CaptchaAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaAction

type Rep CaptchaAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaAction

type Rep CaptchaAction = D1 ('MetaData "CaptchaAction" "Amazonka.WAFV2.Types.CaptchaAction" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "CaptchaAction'" 'PrefixI 'True) (S1 ('MetaSel ('Just "customRequestHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CustomRequestHandling))))

newCaptchaAction :: CaptchaAction Source #

Create a value of CaptchaAction with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:customRequestHandling:CaptchaAction', captchaAction_customRequestHandling - Defines custom handling for the web request, used when the CAPTCHA inspection determines that the request's token is valid and unexpired.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

captchaAction_customRequestHandling :: Lens' CaptchaAction (Maybe CustomRequestHandling) Source #

Defines custom handling for the web request, used when the CAPTCHA inspection determines that the request's token is valid and unexpired.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

CaptchaConfig

data CaptchaConfig Source #

Specifies how WAF should handle CAPTCHA evaluations. This is available at the web ACL level and in each rule.

See: newCaptchaConfig smart constructor.

Constructors

CaptchaConfig' 

Fields

Instances

Instances details
FromJSON CaptchaConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaConfig

ToJSON CaptchaConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaConfig

Generic CaptchaConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaConfig

Associated Types

type Rep CaptchaConfig :: Type -> Type #

Read CaptchaConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaConfig

Show CaptchaConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaConfig

NFData CaptchaConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaConfig

Methods

rnf :: CaptchaConfig -> () #

Eq CaptchaConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaConfig

Hashable CaptchaConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaConfig

type Rep CaptchaConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaConfig

type Rep CaptchaConfig = D1 ('MetaData "CaptchaConfig" "Amazonka.WAFV2.Types.CaptchaConfig" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "CaptchaConfig'" 'PrefixI 'True) (S1 ('MetaSel ('Just "immunityTimeProperty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ImmunityTimeProperty))))

newCaptchaConfig :: CaptchaConfig Source #

Create a value of CaptchaConfig with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:immunityTimeProperty:CaptchaConfig', captchaConfig_immunityTimeProperty - Determines how long a CAPTCHA timestamp in the token remains valid after the client successfully solves a CAPTCHA puzzle.

captchaConfig_immunityTimeProperty :: Lens' CaptchaConfig (Maybe ImmunityTimeProperty) Source #

Determines how long a CAPTCHA timestamp in the token remains valid after the client successfully solves a CAPTCHA puzzle.

CaptchaResponse

data CaptchaResponse Source #

The result from the inspection of the web request for a valid CAPTCHA token.

See: newCaptchaResponse smart constructor.

Constructors

CaptchaResponse' 

Fields

  • failureReason :: Maybe FailureReason

    The reason for failure, populated when the evaluation of the token fails.

  • responseCode :: Maybe Int

    The HTTP response code indicating the status of the CAPTCHA token in the web request. If the token is missing, invalid, or expired, this code is 405 Method Not Allowed.

  • solveTimestamp :: Maybe Integer

    The time that the CAPTCHA was last solved for the supplied token.

Instances

Instances details
FromJSON CaptchaResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaResponse

Generic CaptchaResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaResponse

Associated Types

type Rep CaptchaResponse :: Type -> Type #

Read CaptchaResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaResponse

Show CaptchaResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaResponse

NFData CaptchaResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaResponse

Methods

rnf :: CaptchaResponse -> () #

Eq CaptchaResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaResponse

Hashable CaptchaResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaResponse

type Rep CaptchaResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CaptchaResponse

type Rep CaptchaResponse = D1 ('MetaData "CaptchaResponse" "Amazonka.WAFV2.Types.CaptchaResponse" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "CaptchaResponse'" 'PrefixI 'True) (S1 ('MetaSel ('Just "failureReason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FailureReason)) :*: (S1 ('MetaSel ('Just "responseCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "solveTimestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer)))))

newCaptchaResponse :: CaptchaResponse Source #

Create a value of CaptchaResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:failureReason:CaptchaResponse', captchaResponse_failureReason - The reason for failure, populated when the evaluation of the token fails.

$sel:responseCode:CaptchaResponse', captchaResponse_responseCode - The HTTP response code indicating the status of the CAPTCHA token in the web request. If the token is missing, invalid, or expired, this code is 405 Method Not Allowed.

$sel:solveTimestamp:CaptchaResponse', captchaResponse_solveTimestamp - The time that the CAPTCHA was last solved for the supplied token.

captchaResponse_failureReason :: Lens' CaptchaResponse (Maybe FailureReason) Source #

The reason for failure, populated when the evaluation of the token fails.

captchaResponse_responseCode :: Lens' CaptchaResponse (Maybe Int) Source #

The HTTP response code indicating the status of the CAPTCHA token in the web request. If the token is missing, invalid, or expired, this code is 405 Method Not Allowed.

captchaResponse_solveTimestamp :: Lens' CaptchaResponse (Maybe Integer) Source #

The time that the CAPTCHA was last solved for the supplied token.

ChallengeAction

data ChallengeAction Source #

Specifies that WAF should run a Challenge check against the request to verify that the request is coming from a legitimate client session:

  • If the request includes a valid, unexpired challenge token, WAF applies any custom request handling and labels that you've configured and then allows the web request inspection to proceed to the next rule, similar to a CountAction.
  • If the request doesn't include a valid, unexpired challenge token, WAF discontinues the web ACL evaluation of the request and blocks it from going to its intended destination.

    WAF then generates a challenge response that it sends back to the client, which includes the following:

    • The header x-amzn-waf-action with a value of challenge.
    • The HTTP status code 202 Request Accepted.
    • If the request contains an Accept header with a value of text/html, the response includes a JavaScript page interstitial with a challenge script.

    Challenges run silent browser interrogations in the background, and don't generally affect the end user experience.

    A challenge enforces token acquisition using an interstitial JavaScript challenge that inspects the client session for legitimate behavior. The challenge blocks bots or at least increases the cost of operating sophisticated bots.

    After the client session successfully responds to the challenge, it receives a new token from WAF, which the challenge script uses to resubmit the original request.

You can configure the expiration time in the ChallengeConfig ImmunityTimeProperty setting at the rule and web ACL level. The rule setting overrides the web ACL setting.

This action option is available for rules. It isn't available for web ACL default actions.

See: newChallengeAction smart constructor.

Constructors

ChallengeAction' 

Fields

Instances

Instances details
FromJSON ChallengeAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeAction

ToJSON ChallengeAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeAction

Generic ChallengeAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeAction

Associated Types

type Rep ChallengeAction :: Type -> Type #

Read ChallengeAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeAction

Show ChallengeAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeAction

NFData ChallengeAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeAction

Methods

rnf :: ChallengeAction -> () #

Eq ChallengeAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeAction

Hashable ChallengeAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeAction

type Rep ChallengeAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeAction

type Rep ChallengeAction = D1 ('MetaData "ChallengeAction" "Amazonka.WAFV2.Types.ChallengeAction" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ChallengeAction'" 'PrefixI 'True) (S1 ('MetaSel ('Just "customRequestHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CustomRequestHandling))))

newChallengeAction :: ChallengeAction Source #

Create a value of ChallengeAction with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:customRequestHandling:ChallengeAction', challengeAction_customRequestHandling - Defines custom handling for the web request, used when the challenge inspection determines that the request's token is valid and unexpired.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

challengeAction_customRequestHandling :: Lens' ChallengeAction (Maybe CustomRequestHandling) Source #

Defines custom handling for the web request, used when the challenge inspection determines that the request's token is valid and unexpired.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

ChallengeConfig

data ChallengeConfig Source #

Specifies how WAF should handle Challenge evaluations. This is available at the web ACL level and in each rule.

See: newChallengeConfig smart constructor.

Constructors

ChallengeConfig' 

Fields

Instances

Instances details
FromJSON ChallengeConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeConfig

ToJSON ChallengeConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeConfig

Generic ChallengeConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeConfig

Associated Types

type Rep ChallengeConfig :: Type -> Type #

Read ChallengeConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeConfig

Show ChallengeConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeConfig

NFData ChallengeConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeConfig

Methods

rnf :: ChallengeConfig -> () #

Eq ChallengeConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeConfig

Hashable ChallengeConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeConfig

type Rep ChallengeConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeConfig

type Rep ChallengeConfig = D1 ('MetaData "ChallengeConfig" "Amazonka.WAFV2.Types.ChallengeConfig" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ChallengeConfig'" 'PrefixI 'True) (S1 ('MetaSel ('Just "immunityTimeProperty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ImmunityTimeProperty))))

newChallengeConfig :: ChallengeConfig Source #

Create a value of ChallengeConfig with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:immunityTimeProperty:ChallengeConfig', challengeConfig_immunityTimeProperty - Determines how long a challenge timestamp in the token remains valid after the client successfully responds to a challenge.

challengeConfig_immunityTimeProperty :: Lens' ChallengeConfig (Maybe ImmunityTimeProperty) Source #

Determines how long a challenge timestamp in the token remains valid after the client successfully responds to a challenge.

ChallengeResponse

data ChallengeResponse Source #

The result from the inspection of the web request for a valid challenge token.

See: newChallengeResponse smart constructor.

Constructors

ChallengeResponse' 

Fields

  • failureReason :: Maybe FailureReason

    The reason for failure, populated when the evaluation of the token fails.

  • responseCode :: Maybe Int

    The HTTP response code indicating the status of the challenge token in the web request. If the token is missing, invalid, or expired, this code is 202 Request Accepted.

  • solveTimestamp :: Maybe Integer

    The time that the challenge was last solved for the supplied token.

Instances

Instances details
FromJSON ChallengeResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeResponse

Generic ChallengeResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeResponse

Associated Types

type Rep ChallengeResponse :: Type -> Type #

Read ChallengeResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeResponse

Show ChallengeResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeResponse

NFData ChallengeResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeResponse

Methods

rnf :: ChallengeResponse -> () #

Eq ChallengeResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeResponse

Hashable ChallengeResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeResponse

type Rep ChallengeResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ChallengeResponse

type Rep ChallengeResponse = D1 ('MetaData "ChallengeResponse" "Amazonka.WAFV2.Types.ChallengeResponse" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ChallengeResponse'" 'PrefixI 'True) (S1 ('MetaSel ('Just "failureReason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FailureReason)) :*: (S1 ('MetaSel ('Just "responseCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "solveTimestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer)))))

newChallengeResponse :: ChallengeResponse Source #

Create a value of ChallengeResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:failureReason:ChallengeResponse', challengeResponse_failureReason - The reason for failure, populated when the evaluation of the token fails.

$sel:responseCode:ChallengeResponse', challengeResponse_responseCode - The HTTP response code indicating the status of the challenge token in the web request. If the token is missing, invalid, or expired, this code is 202 Request Accepted.

$sel:solveTimestamp:ChallengeResponse', challengeResponse_solveTimestamp - The time that the challenge was last solved for the supplied token.

challengeResponse_failureReason :: Lens' ChallengeResponse (Maybe FailureReason) Source #

The reason for failure, populated when the evaluation of the token fails.

challengeResponse_responseCode :: Lens' ChallengeResponse (Maybe Int) Source #

The HTTP response code indicating the status of the challenge token in the web request. If the token is missing, invalid, or expired, this code is 202 Request Accepted.

challengeResponse_solveTimestamp :: Lens' ChallengeResponse (Maybe Integer) Source #

The time that the challenge was last solved for the supplied token.

Condition

data Condition Source #

A single match condition for a Filter.

See: newCondition smart constructor.

Constructors

Condition' 

Fields

  • actionCondition :: Maybe ActionCondition

    A single action condition. This is the action setting that a log record must contain in order to meet the condition.

  • labelNameCondition :: Maybe LabelNameCondition

    A single label name condition. This is the fully qualified label name that a log record must contain in order to meet the condition. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

Instances

Instances details
FromJSON Condition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Condition

ToJSON Condition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Condition

Generic Condition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Condition

Associated Types

type Rep Condition :: Type -> Type #

Read Condition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Condition

Show Condition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Condition

NFData Condition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Condition

Methods

rnf :: Condition -> () #

Eq Condition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Condition

Hashable Condition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Condition

type Rep Condition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Condition

type Rep Condition = D1 ('MetaData "Condition" "Amazonka.WAFV2.Types.Condition" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Condition'" 'PrefixI 'True) (S1 ('MetaSel ('Just "actionCondition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ActionCondition)) :*: S1 ('MetaSel ('Just "labelNameCondition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LabelNameCondition))))

newCondition :: Condition Source #

Create a value of Condition with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:actionCondition:Condition', condition_actionCondition - A single action condition. This is the action setting that a log record must contain in order to meet the condition.

$sel:labelNameCondition:Condition', condition_labelNameCondition - A single label name condition. This is the fully qualified label name that a log record must contain in order to meet the condition. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

condition_actionCondition :: Lens' Condition (Maybe ActionCondition) Source #

A single action condition. This is the action setting that a log record must contain in order to meet the condition.

condition_labelNameCondition :: Lens' Condition (Maybe LabelNameCondition) Source #

A single label name condition. This is the fully qualified label name that a log record must contain in order to meet the condition. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

CookieMatchPattern

data CookieMatchPattern Source #

The filter to use to identify the subset of cookies to inspect in a web request.

You must specify exactly one setting: either All, IncludedCookies, or ExcludedCookies.

Example JSON: "MatchPattern": { "IncludedCookies": {"KeyToInclude1", "KeyToInclude2", "KeyToInclude3"} }

See: newCookieMatchPattern smart constructor.

Constructors

CookieMatchPattern' 

Fields

Instances

Instances details
FromJSON CookieMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CookieMatchPattern

ToJSON CookieMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CookieMatchPattern

Generic CookieMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CookieMatchPattern

Associated Types

type Rep CookieMatchPattern :: Type -> Type #

Read CookieMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CookieMatchPattern

Show CookieMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CookieMatchPattern

NFData CookieMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CookieMatchPattern

Methods

rnf :: CookieMatchPattern -> () #

Eq CookieMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CookieMatchPattern

Hashable CookieMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CookieMatchPattern

type Rep CookieMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CookieMatchPattern

type Rep CookieMatchPattern = D1 ('MetaData "CookieMatchPattern" "Amazonka.WAFV2.Types.CookieMatchPattern" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "CookieMatchPattern'" 'PrefixI 'True) (S1 ('MetaSel ('Just "all") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe All)) :*: (S1 ('MetaSel ('Just "excludedCookies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty Text))) :*: S1 ('MetaSel ('Just "includedCookies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty Text))))))

newCookieMatchPattern :: CookieMatchPattern Source #

Create a value of CookieMatchPattern with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:all:CookieMatchPattern', cookieMatchPattern_all - Inspect all cookies.

$sel:excludedCookies:CookieMatchPattern', cookieMatchPattern_excludedCookies - Inspect only the cookies whose keys don't match any of the strings specified here.

$sel:includedCookies:CookieMatchPattern', cookieMatchPattern_includedCookies - Inspect only the cookies that have a key that matches one of the strings specified here.

cookieMatchPattern_excludedCookies :: Lens' CookieMatchPattern (Maybe (NonEmpty Text)) Source #

Inspect only the cookies whose keys don't match any of the strings specified here.

cookieMatchPattern_includedCookies :: Lens' CookieMatchPattern (Maybe (NonEmpty Text)) Source #

Inspect only the cookies that have a key that matches one of the strings specified here.

Cookies

data Cookies Source #

Inspect the cookies in the web request. You can specify the parts of the cookies to inspect and you can narrow the set of cookies to inspect by including or excluding specific keys.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

Example JSON: "Cookies": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" }

See: newCookies smart constructor.

Constructors

Cookies' 

Fields

  • matchPattern :: CookieMatchPattern

    The filter to use to identify the subset of cookies to inspect in a web request.

    You must specify exactly one setting: either All, IncludedCookies, or ExcludedCookies.

    Example JSON: "MatchPattern": { "IncludedCookies": {"KeyToInclude1", "KeyToInclude2", "KeyToInclude3"} }

  • matchScope :: MapMatchScope

    The parts of the cookies to inspect with the rule inspection criteria. If you specify All, WAF inspects both keys and values.

  • oversizeHandling :: OversizeHandling

    What WAF should do if the cookies of the request are larger than WAF can inspect. WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to WAF.

    The options for oversize handling are the following:

    • CONTINUE - Inspect the cookies normally, according to the rule inspection criteria.
    • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
    • NO_MATCH - Treat the web request as not matching the rule statement.

Instances

Instances details
FromJSON Cookies Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Cookies

ToJSON Cookies Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Cookies

Generic Cookies Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Cookies

Associated Types

type Rep Cookies :: Type -> Type #

Methods

from :: Cookies -> Rep Cookies x #

to :: Rep Cookies x -> Cookies #

Read Cookies Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Cookies

Show Cookies Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Cookies

NFData Cookies Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Cookies

Methods

rnf :: Cookies -> () #

Eq Cookies Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Cookies

Methods

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

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

Hashable Cookies Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Cookies

Methods

hashWithSalt :: Int -> Cookies -> Int #

hash :: Cookies -> Int #

type Rep Cookies Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Cookies

type Rep Cookies = D1 ('MetaData "Cookies" "Amazonka.WAFV2.Types.Cookies" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Cookies'" 'PrefixI 'True) (S1 ('MetaSel ('Just "matchPattern") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CookieMatchPattern) :*: (S1 ('MetaSel ('Just "matchScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MapMatchScope) :*: S1 ('MetaSel ('Just "oversizeHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 OversizeHandling))))

newCookies Source #

Create a value of Cookies with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:matchPattern:Cookies', cookies_matchPattern - The filter to use to identify the subset of cookies to inspect in a web request.

You must specify exactly one setting: either All, IncludedCookies, or ExcludedCookies.

Example JSON: "MatchPattern": { "IncludedCookies": {"KeyToInclude1", "KeyToInclude2", "KeyToInclude3"} }

$sel:matchScope:Cookies', cookies_matchScope - The parts of the cookies to inspect with the rule inspection criteria. If you specify All, WAF inspects both keys and values.

$sel:oversizeHandling:Cookies', cookies_oversizeHandling - What WAF should do if the cookies of the request are larger than WAF can inspect. WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to WAF.

The options for oversize handling are the following:

  • CONTINUE - Inspect the cookies normally, according to the rule inspection criteria.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

cookies_matchPattern :: Lens' Cookies CookieMatchPattern Source #

The filter to use to identify the subset of cookies to inspect in a web request.

You must specify exactly one setting: either All, IncludedCookies, or ExcludedCookies.

Example JSON: "MatchPattern": { "IncludedCookies": {"KeyToInclude1", "KeyToInclude2", "KeyToInclude3"} }

cookies_matchScope :: Lens' Cookies MapMatchScope Source #

The parts of the cookies to inspect with the rule inspection criteria. If you specify All, WAF inspects both keys and values.

cookies_oversizeHandling :: Lens' Cookies OversizeHandling Source #

What WAF should do if the cookies of the request are larger than WAF can inspect. WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to WAF.

The options for oversize handling are the following:

  • CONTINUE - Inspect the cookies normally, according to the rule inspection criteria.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

CountAction

data CountAction Source #

Specifies that WAF should count the request. Optionally defines additional custom handling for the request.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

See: newCountAction smart constructor.

Constructors

CountAction' 

Fields

Instances

Instances details
FromJSON CountAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountAction

ToJSON CountAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountAction

Generic CountAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountAction

Associated Types

type Rep CountAction :: Type -> Type #

Read CountAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountAction

Show CountAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountAction

NFData CountAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountAction

Methods

rnf :: CountAction -> () #

Eq CountAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountAction

Hashable CountAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountAction

type Rep CountAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CountAction

type Rep CountAction = D1 ('MetaData "CountAction" "Amazonka.WAFV2.Types.CountAction" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "CountAction'" 'PrefixI 'True) (S1 ('MetaSel ('Just "customRequestHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CustomRequestHandling))))

newCountAction :: CountAction Source #

Create a value of CountAction with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:customRequestHandling:CountAction', countAction_customRequestHandling - Defines custom handling for the web request.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

countAction_customRequestHandling :: Lens' CountAction (Maybe CustomRequestHandling) Source #

Defines custom handling for the web request.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

CustomHTTPHeader

data CustomHTTPHeader Source #

A custom header for custom request and response handling. This is used in CustomResponse and CustomRequestHandling.

See: newCustomHTTPHeader smart constructor.

Constructors

CustomHTTPHeader' 

Fields

  • name :: Text

    The name of the custom header.

    For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf-, to avoid confusion with the headers that are already in the request. For example, for the header name sample, WAF inserts the header x-amzn-waf-sample.

  • value :: Text

    The value of the custom header.

Instances

Instances details
FromJSON CustomHTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomHTTPHeader

ToJSON CustomHTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomHTTPHeader

Generic CustomHTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomHTTPHeader

Associated Types

type Rep CustomHTTPHeader :: Type -> Type #

Read CustomHTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomHTTPHeader

Show CustomHTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomHTTPHeader

NFData CustomHTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomHTTPHeader

Methods

rnf :: CustomHTTPHeader -> () #

Eq CustomHTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomHTTPHeader

Hashable CustomHTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomHTTPHeader

type Rep CustomHTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomHTTPHeader

type Rep CustomHTTPHeader = D1 ('MetaData "CustomHTTPHeader" "Amazonka.WAFV2.Types.CustomHTTPHeader" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "CustomHTTPHeader'" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newCustomHTTPHeader Source #

Create a value of CustomHTTPHeader with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:name:CustomHTTPHeader', customHTTPHeader_name - The name of the custom header.

For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf-, to avoid confusion with the headers that are already in the request. For example, for the header name sample, WAF inserts the header x-amzn-waf-sample.

$sel:value:CustomHTTPHeader', customHTTPHeader_value - The value of the custom header.

customHTTPHeader_name :: Lens' CustomHTTPHeader Text Source #

The name of the custom header.

For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf-, to avoid confusion with the headers that are already in the request. For example, for the header name sample, WAF inserts the header x-amzn-waf-sample.

customHTTPHeader_value :: Lens' CustomHTTPHeader Text Source #

The value of the custom header.

CustomRequestHandling

data CustomRequestHandling Source #

Custom request handling behavior that inserts custom headers into a web request. You can add custom request handling for WAF to use when the rule action doesn't block the request. For example, CaptchaAction for requests with valid t okens, and AllowAction.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

See: newCustomRequestHandling smart constructor.

Constructors

CustomRequestHandling' 

Fields

Instances

Instances details
FromJSON CustomRequestHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomRequestHandling

ToJSON CustomRequestHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomRequestHandling

Generic CustomRequestHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomRequestHandling

Associated Types

type Rep CustomRequestHandling :: Type -> Type #

Read CustomRequestHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomRequestHandling

Show CustomRequestHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomRequestHandling

NFData CustomRequestHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomRequestHandling

Methods

rnf :: CustomRequestHandling -> () #

Eq CustomRequestHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomRequestHandling

Hashable CustomRequestHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomRequestHandling

type Rep CustomRequestHandling Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomRequestHandling

type Rep CustomRequestHandling = D1 ('MetaData "CustomRequestHandling" "Amazonka.WAFV2.Types.CustomRequestHandling" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "CustomRequestHandling'" 'PrefixI 'True) (S1 ('MetaSel ('Just "insertHeaders") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty CustomHTTPHeader))))

newCustomRequestHandling Source #

Create a value of CustomRequestHandling with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:insertHeaders:CustomRequestHandling', customRequestHandling_insertHeaders - The HTTP headers to insert into the request. Duplicate header names are not allowed.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

customRequestHandling_insertHeaders :: Lens' CustomRequestHandling (NonEmpty CustomHTTPHeader) Source #

The HTTP headers to insert into the request. Duplicate header names are not allowed.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

CustomResponse

data CustomResponse Source #

A custom response to send to the client. You can define a custom response for rule actions and default web ACL actions that are set to BlockAction.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

See: newCustomResponse smart constructor.

Constructors

CustomResponse' 

Fields

  • customResponseBodyKey :: Maybe Text

    References the response body that you want WAF to return to the web request client. You can define a custom response for a rule action or a default web ACL action that is set to block. To do this, you first define the response body key and value in the CustomResponseBodies setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL default action BlockAction setting, you reference the response body using this key.

  • responseHeaders :: Maybe (NonEmpty CustomHTTPHeader)

    The HTTP headers to use in the response. Duplicate header names are not allowed.

    For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

  • responseCode :: Natural

    The HTTP status code to return to the client.

    For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide.

Instances

Instances details
FromJSON CustomResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponse

ToJSON CustomResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponse

Generic CustomResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponse

Associated Types

type Rep CustomResponse :: Type -> Type #

Read CustomResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponse

Show CustomResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponse

NFData CustomResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponse

Methods

rnf :: CustomResponse -> () #

Eq CustomResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponse

Hashable CustomResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponse

type Rep CustomResponse Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponse

type Rep CustomResponse = D1 ('MetaData "CustomResponse" "Amazonka.WAFV2.Types.CustomResponse" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "CustomResponse'" 'PrefixI 'True) (S1 ('MetaSel ('Just "customResponseBodyKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "responseHeaders") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty CustomHTTPHeader))) :*: S1 ('MetaSel ('Just "responseCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural))))

newCustomResponse Source #

Create a value of CustomResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:customResponseBodyKey:CustomResponse', customResponse_customResponseBodyKey - References the response body that you want WAF to return to the web request client. You can define a custom response for a rule action or a default web ACL action that is set to block. To do this, you first define the response body key and value in the CustomResponseBodies setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL default action BlockAction setting, you reference the response body using this key.

$sel:responseHeaders:CustomResponse', customResponse_responseHeaders - The HTTP headers to use in the response. Duplicate header names are not allowed.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

$sel:responseCode:CustomResponse', customResponse_responseCode - The HTTP status code to return to the client.

For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide.

customResponse_customResponseBodyKey :: Lens' CustomResponse (Maybe Text) Source #

References the response body that you want WAF to return to the web request client. You can define a custom response for a rule action or a default web ACL action that is set to block. To do this, you first define the response body key and value in the CustomResponseBodies setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL default action BlockAction setting, you reference the response body using this key.

customResponse_responseHeaders :: Lens' CustomResponse (Maybe (NonEmpty CustomHTTPHeader)) Source #

The HTTP headers to use in the response. Duplicate header names are not allowed.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

customResponse_responseCode :: Lens' CustomResponse Natural Source #

The HTTP status code to return to the client.

For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide.

CustomResponseBody

data CustomResponseBody Source #

The response body to use in a custom response to a web request. This is referenced by key from CustomResponse CustomResponseBodyKey.

See: newCustomResponseBody smart constructor.

Constructors

CustomResponseBody' 

Fields

  • contentType :: ResponseContentType

    The type of content in the payload that you are defining in the Content string.

  • content :: Text

    The payload of the custom response.

    You can use JSON escape strings in JSON content. To do this, you must specify JSON content in the ContentType setting.

    For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

Instances

Instances details
FromJSON CustomResponseBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponseBody

ToJSON CustomResponseBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponseBody

Generic CustomResponseBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponseBody

Associated Types

type Rep CustomResponseBody :: Type -> Type #

Read CustomResponseBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponseBody

Show CustomResponseBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponseBody

NFData CustomResponseBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponseBody

Methods

rnf :: CustomResponseBody -> () #

Eq CustomResponseBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponseBody

Hashable CustomResponseBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponseBody

type Rep CustomResponseBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.CustomResponseBody

type Rep CustomResponseBody = D1 ('MetaData "CustomResponseBody" "Amazonka.WAFV2.Types.CustomResponseBody" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "CustomResponseBody'" 'PrefixI 'True) (S1 ('MetaSel ('Just "contentType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ResponseContentType) :*: S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newCustomResponseBody Source #

Create a value of CustomResponseBody with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:contentType:CustomResponseBody', customResponseBody_contentType - The type of content in the payload that you are defining in the Content string.

$sel:content:CustomResponseBody', customResponseBody_content - The payload of the custom response.

You can use JSON escape strings in JSON content. To do this, you must specify JSON content in the ContentType setting.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

customResponseBody_contentType :: Lens' CustomResponseBody ResponseContentType Source #

The type of content in the payload that you are defining in the Content string.

customResponseBody_content :: Lens' CustomResponseBody Text Source #

The payload of the custom response.

You can use JSON escape strings in JSON content. To do this, you must specify JSON content in the ContentType setting.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

DefaultAction

data DefaultAction Source #

In a WebACL, this is the action that you want WAF to perform when a web request doesn't match any of the rules in the WebACL. The default action must be a terminating action.

See: newDefaultAction smart constructor.

Constructors

DefaultAction' 

Fields

Instances

Instances details
FromJSON DefaultAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.DefaultAction

ToJSON DefaultAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.DefaultAction

Generic DefaultAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.DefaultAction

Associated Types

type Rep DefaultAction :: Type -> Type #

Read DefaultAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.DefaultAction

Show DefaultAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.DefaultAction

NFData DefaultAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.DefaultAction

Methods

rnf :: DefaultAction -> () #

Eq DefaultAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.DefaultAction

Hashable DefaultAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.DefaultAction

type Rep DefaultAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.DefaultAction

type Rep DefaultAction = D1 ('MetaData "DefaultAction" "Amazonka.WAFV2.Types.DefaultAction" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "DefaultAction'" 'PrefixI 'True) (S1 ('MetaSel ('Just "allow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AllowAction)) :*: S1 ('MetaSel ('Just "block") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe BlockAction))))

newDefaultAction :: DefaultAction Source #

Create a value of DefaultAction with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:allow:DefaultAction', defaultAction_allow - Specifies that WAF should allow requests by default.

$sel:block:DefaultAction', defaultAction_block - Specifies that WAF should block requests by default.

defaultAction_allow :: Lens' DefaultAction (Maybe AllowAction) Source #

Specifies that WAF should allow requests by default.

defaultAction_block :: Lens' DefaultAction (Maybe BlockAction) Source #

Specifies that WAF should block requests by default.

ExcludedRule

data ExcludedRule Source #

Specifies a single rule in a rule group whose action you want to override to Count.

Instead of this option, use RuleActionOverrides. It accepts any valid action setting, including Count.

See: newExcludedRule smart constructor.

Constructors

ExcludedRule' 

Fields

  • name :: Text

    The name of the rule whose action you want to override to Count.

Instances

Instances details
FromJSON ExcludedRule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ExcludedRule

ToJSON ExcludedRule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ExcludedRule

Generic ExcludedRule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ExcludedRule

Associated Types

type Rep ExcludedRule :: Type -> Type #

Read ExcludedRule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ExcludedRule

Show ExcludedRule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ExcludedRule

NFData ExcludedRule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ExcludedRule

Methods

rnf :: ExcludedRule -> () #

Eq ExcludedRule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ExcludedRule

Hashable ExcludedRule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ExcludedRule

type Rep ExcludedRule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ExcludedRule

type Rep ExcludedRule = D1 ('MetaData "ExcludedRule" "Amazonka.WAFV2.Types.ExcludedRule" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ExcludedRule'" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newExcludedRule Source #

Create a value of ExcludedRule with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:name:ExcludedRule', excludedRule_name - The name of the rule whose action you want to override to Count.

excludedRule_name :: Lens' ExcludedRule Text Source #

The name of the rule whose action you want to override to Count.

FieldToMatch

data FieldToMatch Source #

The part of the web request that you want WAF to inspect. Include the single FieldToMatch type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component in FieldToMatch for each rule statement that requires it. To inspect more than one component of the web request, create a separate rule statement for each component.

Example JSON for a QueryString field to match:

 "FieldToMatch": { "QueryString": {} }

Example JSON for a Method field to match specification:

 "FieldToMatch": { "Method": { "Name": "DELETE" } }

See: newFieldToMatch smart constructor.

Constructors

FieldToMatch' 

Fields

  • allQueryArguments :: Maybe AllQueryArguments

    Inspect all query arguments.

  • body :: Maybe Body

    Inspect the request body as plain text. The request body immediately follows the request headers. This is 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.

    Only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the Body object configuration.

  • cookies :: Maybe Cookies

    Inspect the request cookies. You must configure scope and pattern matching filters in the Cookies object, to define the set of cookies and the parts of the cookies that WAF inspects.

    Only the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the Cookies object. WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.

  • headers :: Maybe Headers

    Inspect the request headers. You must configure scope and pattern matching filters in the Headers object, to define the set of headers to and the parts of the headers that WAF inspects.

    Only the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the Headers object. WAF applies the pattern matching filters to the headers that it receives from the underlying host service.

  • jsonBody :: Maybe JsonBody

    Inspect the request body as JSON. The request body immediately follows the request headers. This is 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.

    Only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the JsonBody object configuration.

  • method :: Maybe Method

    Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.

  • queryString :: Maybe QueryString

    Inspect the query string. This is the part of a URL that appears after a ? character, if any.

  • singleHeader :: Maybe SingleHeader

    Inspect a single header. Provide the name of the header to inspect, for example, User-Agent or Referer. This setting isn't case sensitive.

    Example JSON: "SingleHeader": { "Name": "haystack" }

    Alternately, you can filter and inspect all headers with the Headers FieldToMatch setting.

  • singleQueryArgument :: Maybe SingleQueryArgument

    Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

    Example JSON: "SingleQueryArgument": { "Name": "myArgument" }

  • uriPath :: Maybe UriPath

    Inspect the request URI path. This is the part of the web request that identifies a resource, for example, /images/daily-ad.jpg.

Instances

Instances details
FromJSON FieldToMatch Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FieldToMatch

ToJSON FieldToMatch Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FieldToMatch

Generic FieldToMatch Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FieldToMatch

Associated Types

type Rep FieldToMatch :: Type -> Type #

Read FieldToMatch Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FieldToMatch

Show FieldToMatch Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FieldToMatch

NFData FieldToMatch Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FieldToMatch

Methods

rnf :: FieldToMatch -> () #

Eq FieldToMatch Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FieldToMatch

Hashable FieldToMatch Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FieldToMatch

type Rep FieldToMatch Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FieldToMatch

newFieldToMatch :: FieldToMatch Source #

Create a value of FieldToMatch with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:allQueryArguments:FieldToMatch', fieldToMatch_allQueryArguments - Inspect all query arguments.

$sel:body:FieldToMatch', fieldToMatch_body - Inspect the request body as plain text. The request body immediately follows the request headers. This is 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.

Only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the Body object configuration.

$sel:cookies:FieldToMatch', fieldToMatch_cookies - Inspect the request cookies. You must configure scope and pattern matching filters in the Cookies object, to define the set of cookies and the parts of the cookies that WAF inspects.

Only the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the Cookies object. WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.

$sel:headers:FieldToMatch', fieldToMatch_headers - Inspect the request headers. You must configure scope and pattern matching filters in the Headers object, to define the set of headers to and the parts of the headers that WAF inspects.

Only the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the Headers object. WAF applies the pattern matching filters to the headers that it receives from the underlying host service.

$sel:jsonBody:FieldToMatch', fieldToMatch_jsonBody - Inspect the request body as JSON. The request body immediately follows the request headers. This is 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.

Only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the JsonBody object configuration.

$sel:method:FieldToMatch', fieldToMatch_method - Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.

$sel:queryString:FieldToMatch', fieldToMatch_queryString - Inspect the query string. This is the part of a URL that appears after a ? character, if any.

$sel:singleHeader:FieldToMatch', fieldToMatch_singleHeader - Inspect a single header. Provide the name of the header to inspect, for example, User-Agent or Referer. This setting isn't case sensitive.

Example JSON: "SingleHeader": { "Name": "haystack" }

Alternately, you can filter and inspect all headers with the Headers FieldToMatch setting.

$sel:singleQueryArgument:FieldToMatch', fieldToMatch_singleQueryArgument - Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

Example JSON: "SingleQueryArgument": { "Name": "myArgument" }

$sel:uriPath:FieldToMatch', fieldToMatch_uriPath - Inspect the request URI path. This is the part of the web request that identifies a resource, for example, /images/daily-ad.jpg.

fieldToMatch_body :: Lens' FieldToMatch (Maybe Body) Source #

Inspect the request body as plain text. The request body immediately follows the request headers. This is 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.

Only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the Body object configuration.

fieldToMatch_cookies :: Lens' FieldToMatch (Maybe Cookies) Source #

Inspect the request cookies. You must configure scope and pattern matching filters in the Cookies object, to define the set of cookies and the parts of the cookies that WAF inspects.

Only the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the Cookies object. WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.

fieldToMatch_headers :: Lens' FieldToMatch (Maybe Headers) Source #

Inspect the request headers. You must configure scope and pattern matching filters in the Headers object, to define the set of headers to and the parts of the headers that WAF inspects.

Only the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the Headers object. WAF applies the pattern matching filters to the headers that it receives from the underlying host service.

fieldToMatch_jsonBody :: Lens' FieldToMatch (Maybe JsonBody) Source #

Inspect the request body as JSON. The request body immediately follows the request headers. This is 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.

Only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the JsonBody object configuration.

fieldToMatch_method :: Lens' FieldToMatch (Maybe Method) Source #

Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.

fieldToMatch_queryString :: Lens' FieldToMatch (Maybe QueryString) Source #

Inspect the query string. This is the part of a URL that appears after a ? character, if any.

fieldToMatch_singleHeader :: Lens' FieldToMatch (Maybe SingleHeader) Source #

Inspect a single header. Provide the name of the header to inspect, for example, User-Agent or Referer. This setting isn't case sensitive.

Example JSON: "SingleHeader": { "Name": "haystack" }

Alternately, you can filter and inspect all headers with the Headers FieldToMatch setting.

fieldToMatch_singleQueryArgument :: Lens' FieldToMatch (Maybe SingleQueryArgument) Source #

Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

Example JSON: "SingleQueryArgument": { "Name": "myArgument" }

fieldToMatch_uriPath :: Lens' FieldToMatch (Maybe UriPath) Source #

Inspect the request URI path. This is the part of the web request that identifies a resource, for example, /images/daily-ad.jpg.

Filter

data Filter Source #

A single logging filter, used in LoggingFilter.

See: newFilter smart constructor.

Constructors

Filter' 

Fields

Instances

Instances details
FromJSON Filter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Filter

ToJSON Filter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Filter

Generic Filter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Filter

Associated Types

type Rep Filter :: Type -> Type #

Methods

from :: Filter -> Rep Filter x #

to :: Rep Filter x -> Filter #

Read Filter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Filter

Show Filter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Filter

NFData Filter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Filter

Methods

rnf :: Filter -> () #

Eq Filter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Filter

Methods

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

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

Hashable Filter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Filter

Methods

hashWithSalt :: Int -> Filter -> Int #

hash :: Filter -> Int #

type Rep Filter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Filter

type Rep Filter = D1 ('MetaData "Filter" "Amazonka.WAFV2.Types.Filter" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Filter'" 'PrefixI 'True) (S1 ('MetaSel ('Just "behavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FilterBehavior) :*: (S1 ('MetaSel ('Just "requirement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FilterRequirement) :*: S1 ('MetaSel ('Just "conditions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty Condition)))))

newFilter Source #

Create a value of Filter with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:behavior:Filter', filter_behavior - How to handle logs that satisfy the filter's conditions and requirement.

$sel:requirement:Filter', filter_requirement - Logic to apply to the filtering conditions. You can specify that, in order to satisfy the filter, a log must match all conditions or must match at least one condition.

$sel:conditions:Filter', filter_conditions - Match conditions for the filter.

filter_behavior :: Lens' Filter FilterBehavior Source #

How to handle logs that satisfy the filter's conditions and requirement.

filter_requirement :: Lens' Filter FilterRequirement Source #

Logic to apply to the filtering conditions. You can specify that, in order to satisfy the filter, a log must match all conditions or must match at least one condition.

filter_conditions :: Lens' Filter (NonEmpty Condition) Source #

Match conditions for the filter.

FirewallManagerRuleGroup

data FirewallManagerRuleGroup Source #

A rule group that's defined for an Firewall Manager WAF policy.

See: newFirewallManagerRuleGroup smart constructor.

Constructors

FirewallManagerRuleGroup' 

Fields

  • name :: Text

    The name of the rule group. You cannot change the name of a rule group after you create it.

  • priority :: Natural

    If you define more than one rule group in the first or last Firewall Manager rule groups, WAF evaluates each request against the rule groups in order, starting from the lowest priority setting. The priorities don't need to be consecutive, but they must all be different.

  • firewallManagerStatement :: FirewallManagerStatement

    The processing guidance for an Firewall Manager rule. This is like a regular rule Statement, but it can only contain a rule group reference.

  • overrideAction :: OverrideAction

    The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

    You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

    This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

  • visibilityConfig :: VisibilityConfig

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

Instances

Instances details
FromJSON FirewallManagerRuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerRuleGroup

Generic FirewallManagerRuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerRuleGroup

Associated Types

type Rep FirewallManagerRuleGroup :: Type -> Type #

Read FirewallManagerRuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerRuleGroup

Show FirewallManagerRuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerRuleGroup

NFData FirewallManagerRuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerRuleGroup

Eq FirewallManagerRuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerRuleGroup

Hashable FirewallManagerRuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerRuleGroup

type Rep FirewallManagerRuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerRuleGroup

type Rep FirewallManagerRuleGroup = D1 ('MetaData "FirewallManagerRuleGroup" "Amazonka.WAFV2.Types.FirewallManagerRuleGroup" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "FirewallManagerRuleGroup'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "priority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural)) :*: (S1 ('MetaSel ('Just "firewallManagerStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FirewallManagerStatement) :*: (S1 ('MetaSel ('Just "overrideAction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 OverrideAction) :*: S1 ('MetaSel ('Just "visibilityConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 VisibilityConfig)))))

newFirewallManagerRuleGroup Source #

Create a value of FirewallManagerRuleGroup with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:name:FirewallManagerRuleGroup', firewallManagerRuleGroup_name - The name of the rule group. You cannot change the name of a rule group after you create it.

$sel:priority:FirewallManagerRuleGroup', firewallManagerRuleGroup_priority - If you define more than one rule group in the first or last Firewall Manager rule groups, WAF evaluates each request against the rule groups in order, starting from the lowest priority setting. The priorities don't need to be consecutive, but they must all be different.

$sel:firewallManagerStatement:FirewallManagerRuleGroup', firewallManagerRuleGroup_firewallManagerStatement - The processing guidance for an Firewall Manager rule. This is like a regular rule Statement, but it can only contain a rule group reference.

$sel:overrideAction:FirewallManagerRuleGroup', firewallManagerRuleGroup_overrideAction - The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

$sel:visibilityConfig:FirewallManagerRuleGroup', firewallManagerRuleGroup_visibilityConfig - Defines and enables Amazon CloudWatch metrics and web request sample collection.

firewallManagerRuleGroup_name :: Lens' FirewallManagerRuleGroup Text Source #

The name of the rule group. You cannot change the name of a rule group after you create it.

firewallManagerRuleGroup_priority :: Lens' FirewallManagerRuleGroup Natural Source #

If you define more than one rule group in the first or last Firewall Manager rule groups, WAF evaluates each request against the rule groups in order, starting from the lowest priority setting. The priorities don't need to be consecutive, but they must all be different.

firewallManagerRuleGroup_firewallManagerStatement :: Lens' FirewallManagerRuleGroup FirewallManagerStatement Source #

The processing guidance for an Firewall Manager rule. This is like a regular rule Statement, but it can only contain a rule group reference.

firewallManagerRuleGroup_overrideAction :: Lens' FirewallManagerRuleGroup OverrideAction Source #

The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

firewallManagerRuleGroup_visibilityConfig :: Lens' FirewallManagerRuleGroup VisibilityConfig Source #

Defines and enables Amazon CloudWatch metrics and web request sample collection.

FirewallManagerStatement

data FirewallManagerStatement Source #

The processing guidance for an Firewall Manager rule. This is like a regular rule Statement, but it can only contain a rule group reference.

See: newFirewallManagerStatement smart constructor.

Constructors

FirewallManagerStatement' 

Fields

  • managedRuleGroupStatement :: Maybe ManagedRuleGroupStatement

    A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

    You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

    You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet or the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet. For more information, see WAF Pricing.

  • ruleGroupReferenceStatement :: Maybe RuleGroupReferenceStatement

    A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

    You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You can only use a rule group reference statement at the top level inside a web ACL.

Instances

Instances details
FromJSON FirewallManagerStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerStatement

Generic FirewallManagerStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerStatement

Associated Types

type Rep FirewallManagerStatement :: Type -> Type #

Read FirewallManagerStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerStatement

Show FirewallManagerStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerStatement

NFData FirewallManagerStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerStatement

Eq FirewallManagerStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerStatement

Hashable FirewallManagerStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerStatement

type Rep FirewallManagerStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.FirewallManagerStatement

type Rep FirewallManagerStatement = D1 ('MetaData "FirewallManagerStatement" "Amazonka.WAFV2.Types.FirewallManagerStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "FirewallManagerStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "managedRuleGroupStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ManagedRuleGroupStatement)) :*: S1 ('MetaSel ('Just "ruleGroupReferenceStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RuleGroupReferenceStatement))))

newFirewallManagerStatement :: FirewallManagerStatement Source #

Create a value of FirewallManagerStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:managedRuleGroupStatement:FirewallManagerStatement', firewallManagerStatement_managedRuleGroupStatement - A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet or the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet. For more information, see WAF Pricing.

$sel:ruleGroupReferenceStatement:FirewallManagerStatement', firewallManagerStatement_ruleGroupReferenceStatement - A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You can only use a rule group reference statement at the top level inside a web ACL.

firewallManagerStatement_managedRuleGroupStatement :: Lens' FirewallManagerStatement (Maybe ManagedRuleGroupStatement) Source #

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet or the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet. For more information, see WAF Pricing.

firewallManagerStatement_ruleGroupReferenceStatement :: Lens' FirewallManagerStatement (Maybe RuleGroupReferenceStatement) Source #

A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You can only use a rule group reference statement at the top level inside a web ACL.

ForwardedIPConfig

data ForwardedIPConfig Source #

The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

This configuration is used for GeoMatchStatement and RateBasedStatement. For IPSetReferenceStatement, use IPSetForwardedIPConfig instead.

WAF only evaluates the first IP address found in the specified HTTP header.

See: newForwardedIPConfig smart constructor.

Constructors

ForwardedIPConfig' 

Fields

  • headerName :: Text

    The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

    If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

  • fallbackBehavior :: FallbackBehavior

    The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.

    If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

    You can specify the following fallback behaviors:

    • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
    • NO_MATCH - Treat the web request as not matching the rule statement.

Instances

Instances details
FromJSON ForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPConfig

ToJSON ForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPConfig

Generic ForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPConfig

Associated Types

type Rep ForwardedIPConfig :: Type -> Type #

Read ForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPConfig

Show ForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPConfig

NFData ForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPConfig

Methods

rnf :: ForwardedIPConfig -> () #

Eq ForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPConfig

Hashable ForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPConfig

type Rep ForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ForwardedIPConfig

type Rep ForwardedIPConfig = D1 ('MetaData "ForwardedIPConfig" "Amazonka.WAFV2.Types.ForwardedIPConfig" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ForwardedIPConfig'" 'PrefixI 'True) (S1 ('MetaSel ('Just "headerName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "fallbackBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FallbackBehavior)))

newForwardedIPConfig Source #

Create a value of ForwardedIPConfig with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:headerName:ForwardedIPConfig', forwardedIPConfig_headerName - The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

$sel:fallbackBehavior:ForwardedIPConfig', forwardedIPConfig_fallbackBehavior - The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

You can specify the following fallback behaviors:

  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

forwardedIPConfig_headerName :: Lens' ForwardedIPConfig Text Source #

The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

forwardedIPConfig_fallbackBehavior :: Lens' ForwardedIPConfig FallbackBehavior Source #

The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

You can specify the following fallback behaviors:

  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

GeoMatchStatement

data GeoMatchStatement Source #

A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match.

  • To manage requests only by country, you can use this statement by itself and specify the countries that you want to match against in the CountryCodes array.
  • Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed.

WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ForwardedIPConfig.

If you use the web request origin, the label formats are awswaf:clientip:geo:region:<ISO country code>-<ISO region code> and awswaf:clientip:geo:country:<ISO country code>.

If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> and awswaf:forwardedip:geo:country:<ISO country code>.

For additional details, see Geographic match rule statement in the WAF Developer Guide.

See: newGeoMatchStatement smart constructor.

Constructors

GeoMatchStatement' 

Fields

  • countryCodes :: Maybe (NonEmpty CountryCode)

    An array of two-character country codes that you want to match against, for example, [ "US", "CN" ], from the alpha-2 country ISO codes of the ISO 3166 international standard.

    When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.

  • forwardedIPConfig :: Maybe ForwardedIPConfig

    The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

    If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

Instances

Instances details
FromJSON GeoMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.GeoMatchStatement

ToJSON GeoMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.GeoMatchStatement

Generic GeoMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.GeoMatchStatement

Associated Types

type Rep GeoMatchStatement :: Type -> Type #

Read GeoMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.GeoMatchStatement

Show GeoMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.GeoMatchStatement

NFData GeoMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.GeoMatchStatement

Methods

rnf :: GeoMatchStatement -> () #

Eq GeoMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.GeoMatchStatement

Hashable GeoMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.GeoMatchStatement

type Rep GeoMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.GeoMatchStatement

type Rep GeoMatchStatement = D1 ('MetaData "GeoMatchStatement" "Amazonka.WAFV2.Types.GeoMatchStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "GeoMatchStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "countryCodes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty CountryCode))) :*: S1 ('MetaSel ('Just "forwardedIPConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ForwardedIPConfig))))

newGeoMatchStatement :: GeoMatchStatement Source #

Create a value of GeoMatchStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:countryCodes:GeoMatchStatement', geoMatchStatement_countryCodes - An array of two-character country codes that you want to match against, for example, [ "US", "CN" ], from the alpha-2 country ISO codes of the ISO 3166 international standard.

When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.

$sel:forwardedIPConfig:GeoMatchStatement', geoMatchStatement_forwardedIPConfig - The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

geoMatchStatement_countryCodes :: Lens' GeoMatchStatement (Maybe (NonEmpty CountryCode)) Source #

An array of two-character country codes that you want to match against, for example, [ "US", "CN" ], from the alpha-2 country ISO codes of the ISO 3166 international standard.

When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.

geoMatchStatement_forwardedIPConfig :: Lens' GeoMatchStatement (Maybe ForwardedIPConfig) Source #

The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

HTTPHeader

data HTTPHeader Source #

Part of the response from GetSampledRequests. This is a 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.

See: newHTTPHeader smart constructor.

Constructors

HTTPHeader' 

Fields

Instances

Instances details
FromJSON HTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPHeader

Generic HTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPHeader

Associated Types

type Rep HTTPHeader :: Type -> Type #

Read HTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPHeader

Show HTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPHeader

NFData HTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPHeader

Methods

rnf :: HTTPHeader -> () #

Eq HTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPHeader

Hashable HTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPHeader

type Rep HTTPHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPHeader

type Rep HTTPHeader = D1 ('MetaData "HTTPHeader" "Amazonka.WAFV2.Types.HTTPHeader" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "HTTPHeader'" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))

newHTTPHeader :: HTTPHeader Source #

Create a value of HTTPHeader with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:name:HTTPHeader', hTTPHeader_name - The name of the HTTP header.

$sel:value:HTTPHeader', hTTPHeader_value - The value of the HTTP header.

hTTPHeader_name :: Lens' HTTPHeader (Maybe Text) Source #

The name of the HTTP header.

hTTPHeader_value :: Lens' HTTPHeader (Maybe Text) Source #

The value of the HTTP header.

HTTPRequest

data HTTPRequest Source #

Part of the response from GetSampledRequests. This is a complex type that appears as Request in the response syntax. HTTPRequest contains information about one of the web requests.

See: newHTTPRequest smart constructor.

Constructors

HTTPRequest' 

Fields

  • clientIP :: Maybe Text

    The IP address that the request originated from. If the web ACL 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
  • country :: 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.

  • hTTPVersion :: Maybe Text

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

  • headers :: Maybe [HTTPHeader]

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

  • method :: Maybe Text

    The HTTP method specified in the sampled web request.

  • uri :: Maybe Text

    The URI path of the request, which identifies the resource, for example, /images/daily-ad.jpg.

Instances

Instances details
FromJSON HTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPRequest

Generic HTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPRequest

Associated Types

type Rep HTTPRequest :: Type -> Type #

Read HTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPRequest

Show HTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPRequest

NFData HTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPRequest

Methods

rnf :: HTTPRequest -> () #

Eq HTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPRequest

Hashable HTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPRequest

type Rep HTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HTTPRequest

newHTTPRequest :: HTTPRequest Source #

Create a value of HTTPRequest with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:clientIP:HTTPRequest', hTTPRequest_clientIP - The IP address that the request originated from. If the web ACL 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

$sel:country:HTTPRequest', hTTPRequest_country - 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.

$sel:hTTPVersion:HTTPRequest', hTTPRequest_hTTPVersion - The HTTP version specified in the sampled web request, for example, HTTP/1.1.

$sel:headers:HTTPRequest', hTTPRequest_headers - A complex type that contains the name and value for each header in the sampled web request.

$sel:method:HTTPRequest', hTTPRequest_method - The HTTP method specified in the sampled web request.

$sel:uri:HTTPRequest', hTTPRequest_uri - The URI path of the request, which identifies the resource, for example, /images/daily-ad.jpg.

hTTPRequest_clientIP :: Lens' HTTPRequest (Maybe Text) Source #

The IP address that the request originated from. If the web ACL 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

hTTPRequest_country :: Lens' HTTPRequest (Maybe Text) Source #

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.

hTTPRequest_hTTPVersion :: Lens' HTTPRequest (Maybe Text) Source #

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

hTTPRequest_headers :: Lens' HTTPRequest (Maybe [HTTPHeader]) Source #

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

hTTPRequest_method :: Lens' HTTPRequest (Maybe Text) Source #

The HTTP method specified in the sampled web request.

hTTPRequest_uri :: Lens' HTTPRequest (Maybe Text) Source #

The URI path of the request, which identifies the resource, for example, /images/daily-ad.jpg.

HeaderMatchPattern

data HeaderMatchPattern Source #

The filter to use to identify the subset of headers to inspect in a web request.

You must specify exactly one setting: either All, IncludedHeaders, or ExcludedHeaders.

Example JSON: "MatchPattern": { "ExcludedHeaders": {"KeyToExclude1", "KeyToExclude2"} }

See: newHeaderMatchPattern smart constructor.

Constructors

HeaderMatchPattern' 

Fields

Instances

Instances details
FromJSON HeaderMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HeaderMatchPattern

ToJSON HeaderMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HeaderMatchPattern

Generic HeaderMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HeaderMatchPattern

Associated Types

type Rep HeaderMatchPattern :: Type -> Type #

Read HeaderMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HeaderMatchPattern

Show HeaderMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HeaderMatchPattern

NFData HeaderMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HeaderMatchPattern

Methods

rnf :: HeaderMatchPattern -> () #

Eq HeaderMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HeaderMatchPattern

Hashable HeaderMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HeaderMatchPattern

type Rep HeaderMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.HeaderMatchPattern

type Rep HeaderMatchPattern = D1 ('MetaData "HeaderMatchPattern" "Amazonka.WAFV2.Types.HeaderMatchPattern" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "HeaderMatchPattern'" 'PrefixI 'True) (S1 ('MetaSel ('Just "all") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe All)) :*: (S1 ('MetaSel ('Just "excludedHeaders") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty Text))) :*: S1 ('MetaSel ('Just "includedHeaders") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty Text))))))

newHeaderMatchPattern :: HeaderMatchPattern Source #

Create a value of HeaderMatchPattern with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:all:HeaderMatchPattern', headerMatchPattern_all - Inspect all headers.

$sel:excludedHeaders:HeaderMatchPattern', headerMatchPattern_excludedHeaders - Inspect only the headers whose keys don't match any of the strings specified here.

$sel:includedHeaders:HeaderMatchPattern', headerMatchPattern_includedHeaders - Inspect only the headers that have a key that matches one of the strings specified here.

headerMatchPattern_excludedHeaders :: Lens' HeaderMatchPattern (Maybe (NonEmpty Text)) Source #

Inspect only the headers whose keys don't match any of the strings specified here.

headerMatchPattern_includedHeaders :: Lens' HeaderMatchPattern (Maybe (NonEmpty Text)) Source #

Inspect only the headers that have a key that matches one of the strings specified here.

Headers

data Headers Source #

Inspect all headers in the web request. You can specify the parts of the headers to inspect and you can narrow the set of headers to inspect by including or excluding specific keys.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

If you want to inspect just the value of a single header, use the SingleHeader FieldToMatch setting instead.

Example JSON: "Headers": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" }

See: newHeaders smart constructor.

Constructors

Headers' 

Fields

  • matchPattern :: HeaderMatchPattern

    The filter to use to identify the subset of headers to inspect in a web request.

    You must specify exactly one setting: either All, IncludedHeaders, or ExcludedHeaders.

    Example JSON: "MatchPattern": { "ExcludedHeaders": {"KeyToExclude1", "KeyToExclude2"} }

  • matchScope :: MapMatchScope

    The parts of the headers to match with the rule inspection criteria. If you specify All, WAF inspects both keys and values.

  • oversizeHandling :: OversizeHandling

    What WAF should do if the headers of the request are larger than WAF can inspect. WAF does not support inspecting the entire contents of request headers when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers and at most 8 KB of header contents to WAF.

    The options for oversize handling are the following:

    • CONTINUE - Inspect the headers normally, according to the rule inspection criteria.
    • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
    • NO_MATCH - Treat the web request as not matching the rule statement.

Instances

Instances details
FromJSON Headers Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Headers

ToJSON Headers Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Headers

Generic Headers Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Headers

Associated Types

type Rep Headers :: Type -> Type #

Methods

from :: Headers -> Rep Headers x #

to :: Rep Headers x -> Headers #

Read Headers Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Headers

Show Headers Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Headers

NFData Headers Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Headers

Methods

rnf :: Headers -> () #

Eq Headers Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Headers

Methods

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

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

Hashable Headers Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Headers

Methods

hashWithSalt :: Int -> Headers -> Int #

hash :: Headers -> Int #

type Rep Headers Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Headers

type Rep Headers = D1 ('MetaData "Headers" "Amazonka.WAFV2.Types.Headers" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Headers'" 'PrefixI 'True) (S1 ('MetaSel ('Just "matchPattern") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 HeaderMatchPattern) :*: (S1 ('MetaSel ('Just "matchScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MapMatchScope) :*: S1 ('MetaSel ('Just "oversizeHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 OversizeHandling))))

newHeaders Source #

Create a value of Headers with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:matchPattern:Headers', headers_matchPattern - The filter to use to identify the subset of headers to inspect in a web request.

You must specify exactly one setting: either All, IncludedHeaders, or ExcludedHeaders.

Example JSON: "MatchPattern": { "ExcludedHeaders": {"KeyToExclude1", "KeyToExclude2"} }

$sel:matchScope:Headers', headers_matchScope - The parts of the headers to match with the rule inspection criteria. If you specify All, WAF inspects both keys and values.

$sel:oversizeHandling:Headers', headers_oversizeHandling - What WAF should do if the headers of the request are larger than WAF can inspect. WAF does not support inspecting the entire contents of request headers when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers and at most 8 KB of header contents to WAF.

The options for oversize handling are the following:

  • CONTINUE - Inspect the headers normally, according to the rule inspection criteria.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

headers_matchPattern :: Lens' Headers HeaderMatchPattern Source #

The filter to use to identify the subset of headers to inspect in a web request.

You must specify exactly one setting: either All, IncludedHeaders, or ExcludedHeaders.

Example JSON: "MatchPattern": { "ExcludedHeaders": {"KeyToExclude1", "KeyToExclude2"} }

headers_matchScope :: Lens' Headers MapMatchScope Source #

The parts of the headers to match with the rule inspection criteria. If you specify All, WAF inspects both keys and values.

headers_oversizeHandling :: Lens' Headers OversizeHandling Source #

What WAF should do if the headers of the request are larger than WAF can inspect. WAF does not support inspecting the entire contents of request headers when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers and at most 8 KB of header contents to WAF.

The options for oversize handling are the following:

  • CONTINUE - Inspect the headers normally, according to the rule inspection criteria.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

IPSet

data IPSet Source #

Contains zero or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0. For information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

WAF assigns an ARN to each IPSet that you create. To use an IP set in a rule, you provide the ARN to the Rule statement IPSetReferenceStatement.

See: newIPSet smart constructor.

Constructors

IPSet' 

Fields

  • description :: Maybe Text

    A description of the IP set that helps with identification.

  • name :: Text

    The name of the IP set. You cannot change the name of an IPSet after you create it.

  • id :: Text

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

  • arn :: Text

    The Amazon Resource Name (ARN) of the entity.

  • iPAddressVersion :: IPAddressVersion

    The version of the IP addresses, either IPV4 or IPV6.

  • addresses :: [Text]

    Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

    Example address strings:

    • To configure WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.
    • To configure WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.
    • To configure WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.
    • To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

    For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    Example JSON Addresses specifications:

    • Empty array: "Addresses": []
    • Array with one address: "Addresses": ["192.0.2.44/32"]
    • Array with three addresses: "Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"]
    • INVALID specification: "Addresses": [""] INVALID

Instances

Instances details
FromJSON IPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSet

Generic IPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSet

Associated Types

type Rep IPSet :: Type -> Type #

Methods

from :: IPSet -> Rep IPSet x #

to :: Rep IPSet x -> IPSet #

Read IPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSet

Show IPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSet

Methods

showsPrec :: Int -> IPSet -> ShowS #

show :: IPSet -> String #

showList :: [IPSet] -> ShowS #

NFData IPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSet

Methods

rnf :: IPSet -> () #

Eq IPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSet

Methods

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

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

Hashable IPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSet

Methods

hashWithSalt :: Int -> IPSet -> Int #

hash :: IPSet -> Int #

type Rep IPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSet

newIPSet Source #

Create a value of IPSet with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:description:IPSet', iPSet_description - A description of the IP set that helps with identification.

$sel:name:IPSet', iPSet_name - The name of the IP set. You cannot change the name of an IPSet after you create it.

$sel:id:IPSet', iPSet_id - A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

$sel:arn:IPSet', iPSet_arn - The Amazon Resource Name (ARN) of the entity.

$sel:iPAddressVersion:IPSet', iPSet_iPAddressVersion - The version of the IP addresses, either IPV4 or IPV6.

$sel:addresses:IPSet', iPSet_addresses - Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

Example address strings:

  • To configure WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.
  • To configure WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.
  • To configure WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.
  • To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

Example JSON Addresses specifications:

  • Empty array: "Addresses": []
  • Array with one address: "Addresses": ["192.0.2.44/32"]
  • Array with three addresses: "Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"]
  • INVALID specification: "Addresses": [""] INVALID

iPSet_description :: Lens' IPSet (Maybe Text) Source #

A description of the IP set that helps with identification.

iPSet_name :: Lens' IPSet Text Source #

The name of the IP set. You cannot change the name of an IPSet after you create it.

iPSet_id :: Lens' IPSet Text Source #

A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

iPSet_arn :: Lens' IPSet Text Source #

The Amazon Resource Name (ARN) of the entity.

iPSet_iPAddressVersion :: Lens' IPSet IPAddressVersion Source #

The version of the IP addresses, either IPV4 or IPV6.

iPSet_addresses :: Lens' IPSet [Text] Source #

Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

Example address strings:

  • To configure WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.
  • To configure WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.
  • To configure WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.
  • To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

Example JSON Addresses specifications:

  • Empty array: "Addresses": []
  • Array with one address: "Addresses": ["192.0.2.44/32"]
  • Array with three addresses: "Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"]
  • INVALID specification: "Addresses": [""] INVALID

IPSetForwardedIPConfig

data IPSetForwardedIPConfig Source #

The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement and RateBasedStatement, use ForwardedIPConfig instead.

See: newIPSetForwardedIPConfig smart constructor.

Constructors

IPSetForwardedIPConfig' 

Fields

  • headerName :: Text

    The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

    If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

  • fallbackBehavior :: FallbackBehavior

    The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.

    If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

    You can specify the following fallback behaviors:

    • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
    • NO_MATCH - Treat the web request as not matching the rule statement.
  • position :: ForwardedIPPosition

    The position in the header to search for the IP address. The header can contain IP addresses of the original client and also of proxies. For example, the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP address identifies the original client and the rest identify proxies that the request went through.

    The options for this setting are the following:

    • FIRST - Inspect the first IP address in the list of IP addresses in the header. This is usually the client's original IP.
    • LAST - Inspect the last IP address in the list of IP addresses in the header.
    • ANY - Inspect all IP addresses in the header for a match. If the header contains more than 10 IP addresses, WAF inspects the last 10.

Instances

Instances details
FromJSON IPSetForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetForwardedIPConfig

ToJSON IPSetForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetForwardedIPConfig

Generic IPSetForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetForwardedIPConfig

Associated Types

type Rep IPSetForwardedIPConfig :: Type -> Type #

Read IPSetForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetForwardedIPConfig

Show IPSetForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetForwardedIPConfig

NFData IPSetForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetForwardedIPConfig

Methods

rnf :: IPSetForwardedIPConfig -> () #

Eq IPSetForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetForwardedIPConfig

Hashable IPSetForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetForwardedIPConfig

type Rep IPSetForwardedIPConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetForwardedIPConfig

type Rep IPSetForwardedIPConfig = D1 ('MetaData "IPSetForwardedIPConfig" "Amazonka.WAFV2.Types.IPSetForwardedIPConfig" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "IPSetForwardedIPConfig'" 'PrefixI 'True) (S1 ('MetaSel ('Just "headerName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "fallbackBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FallbackBehavior) :*: S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ForwardedIPPosition))))

newIPSetForwardedIPConfig Source #

Create a value of IPSetForwardedIPConfig with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:headerName:IPSetForwardedIPConfig', iPSetForwardedIPConfig_headerName - The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

$sel:fallbackBehavior:IPSetForwardedIPConfig', iPSetForwardedIPConfig_fallbackBehavior - The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

You can specify the following fallback behaviors:

  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

$sel:position:IPSetForwardedIPConfig', iPSetForwardedIPConfig_position - The position in the header to search for the IP address. The header can contain IP addresses of the original client and also of proxies. For example, the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP address identifies the original client and the rest identify proxies that the request went through.

The options for this setting are the following:

  • FIRST - Inspect the first IP address in the list of IP addresses in the header. This is usually the client's original IP.
  • LAST - Inspect the last IP address in the list of IP addresses in the header.
  • ANY - Inspect all IP addresses in the header for a match. If the header contains more than 10 IP addresses, WAF inspects the last 10.

iPSetForwardedIPConfig_headerName :: Lens' IPSetForwardedIPConfig Text Source #

The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

iPSetForwardedIPConfig_fallbackBehavior :: Lens' IPSetForwardedIPConfig FallbackBehavior Source #

The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

You can specify the following fallback behaviors:

  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

iPSetForwardedIPConfig_position :: Lens' IPSetForwardedIPConfig ForwardedIPPosition Source #

The position in the header to search for the IP address. The header can contain IP addresses of the original client and also of proxies. For example, the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP address identifies the original client and the rest identify proxies that the request went through.

The options for this setting are the following:

  • FIRST - Inspect the first IP address in the list of IP addresses in the header. This is usually the client's original IP.
  • LAST - Inspect the last IP address in the list of IP addresses in the header.
  • ANY - Inspect all IP addresses in the header for a match. If the header contains more than 10 IP addresses, WAF inspects the last 10.

IPSetReferenceStatement

data IPSetReferenceStatement Source #

A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.

Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

See: newIPSetReferenceStatement smart constructor.

Constructors

IPSetReferenceStatement' 

Fields

  • iPSetForwardedIPConfig :: Maybe IPSetForwardedIPConfig

    The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

    If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

  • arn :: Text

    The Amazon Resource Name (ARN) of the IPSet that this statement references.

Instances

Instances details
FromJSON IPSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetReferenceStatement

ToJSON IPSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetReferenceStatement

Generic IPSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetReferenceStatement

Associated Types

type Rep IPSetReferenceStatement :: Type -> Type #

Read IPSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetReferenceStatement

Show IPSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetReferenceStatement

NFData IPSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetReferenceStatement

Methods

rnf :: IPSetReferenceStatement -> () #

Eq IPSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetReferenceStatement

Hashable IPSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetReferenceStatement

type Rep IPSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetReferenceStatement

type Rep IPSetReferenceStatement = D1 ('MetaData "IPSetReferenceStatement" "Amazonka.WAFV2.Types.IPSetReferenceStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "IPSetReferenceStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "iPSetForwardedIPConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe IPSetForwardedIPConfig)) :*: S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newIPSetReferenceStatement Source #

Create a value of IPSetReferenceStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:iPSetForwardedIPConfig:IPSetReferenceStatement', iPSetReferenceStatement_iPSetForwardedIPConfig - The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

$sel:arn:IPSetReferenceStatement', iPSetReferenceStatement_arn - The Amazon Resource Name (ARN) of the IPSet that this statement references.

iPSetReferenceStatement_iPSetForwardedIPConfig :: Lens' IPSetReferenceStatement (Maybe IPSetForwardedIPConfig) Source #

The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

iPSetReferenceStatement_arn :: Lens' IPSetReferenceStatement Text Source #

The Amazon Resource Name (ARN) of the IPSet that this statement references.

IPSetSummary

data IPSetSummary Source #

High-level information about an IPSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage an IPSet, and the ARN, that you provide to the IPSetReferenceStatement to use the address set in a Rule.

See: newIPSetSummary smart constructor.

Constructors

IPSetSummary' 

Fields

  • arn :: Maybe Text

    The Amazon Resource Name (ARN) of the entity.

  • description :: Maybe Text

    A description of the IP set that helps with identification.

  • id :: Maybe Text

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

  • lockToken :: Maybe Text

    A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

  • name :: Maybe Text

    The name of the IP set. You cannot change the name of an IPSet after you create it.

Instances

Instances details
FromJSON IPSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetSummary

Generic IPSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetSummary

Associated Types

type Rep IPSetSummary :: Type -> Type #

Read IPSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetSummary

Show IPSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetSummary

NFData IPSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetSummary

Methods

rnf :: IPSetSummary -> () #

Eq IPSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetSummary

Hashable IPSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetSummary

type Rep IPSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.IPSetSummary

type Rep IPSetSummary = D1 ('MetaData "IPSetSummary" "Amazonka.WAFV2.Types.IPSetSummary" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "IPSetSummary'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "lockToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))))

newIPSetSummary :: IPSetSummary Source #

Create a value of IPSetSummary with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:arn:IPSetSummary', iPSetSummary_arn - The Amazon Resource Name (ARN) of the entity.

$sel:description:IPSetSummary', iPSetSummary_description - A description of the IP set that helps with identification.

$sel:id:IPSetSummary', iPSetSummary_id - A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

$sel:lockToken:IPSetSummary', iPSetSummary_lockToken - A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

$sel:name:IPSetSummary', iPSetSummary_name - The name of the IP set. You cannot change the name of an IPSet after you create it.

iPSetSummary_arn :: Lens' IPSetSummary (Maybe Text) Source #

The Amazon Resource Name (ARN) of the entity.

iPSetSummary_description :: Lens' IPSetSummary (Maybe Text) Source #

A description of the IP set that helps with identification.

iPSetSummary_id :: Lens' IPSetSummary (Maybe Text) Source #

A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

iPSetSummary_lockToken :: Lens' IPSetSummary (Maybe Text) Source #

A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

iPSetSummary_name :: Lens' IPSetSummary (Maybe Text) Source #

The name of the IP set. You cannot change the name of an IPSet after you create it.

ImmunityTimeProperty

data ImmunityTimeProperty Source #

Used for CAPTCHA and challenge token settings. Determines how long a CAPTCHA or challenge timestamp remains valid after WAF updates it for a successful CAPTCHA or challenge response.

See: newImmunityTimeProperty smart constructor.

Constructors

ImmunityTimeProperty' 

Fields

  • immunityTime :: Natural

    The amount of time, in seconds, that a CAPTCHA or challenge timestamp is considered valid by WAF. The default setting is 300.

    For the Challenge action, the minimum setting is 300.

Instances

Instances details
FromJSON ImmunityTimeProperty Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ImmunityTimeProperty

ToJSON ImmunityTimeProperty Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ImmunityTimeProperty

Generic ImmunityTimeProperty Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ImmunityTimeProperty

Associated Types

type Rep ImmunityTimeProperty :: Type -> Type #

Read ImmunityTimeProperty Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ImmunityTimeProperty

Show ImmunityTimeProperty Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ImmunityTimeProperty

NFData ImmunityTimeProperty Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ImmunityTimeProperty

Methods

rnf :: ImmunityTimeProperty -> () #

Eq ImmunityTimeProperty Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ImmunityTimeProperty

Hashable ImmunityTimeProperty Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ImmunityTimeProperty

type Rep ImmunityTimeProperty Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ImmunityTimeProperty

type Rep ImmunityTimeProperty = D1 ('MetaData "ImmunityTimeProperty" "Amazonka.WAFV2.Types.ImmunityTimeProperty" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ImmunityTimeProperty'" 'PrefixI 'True) (S1 ('MetaSel ('Just "immunityTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural)))

newImmunityTimeProperty Source #

Create a value of ImmunityTimeProperty with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:immunityTime:ImmunityTimeProperty', immunityTimeProperty_immunityTime - The amount of time, in seconds, that a CAPTCHA or challenge timestamp is considered valid by WAF. The default setting is 300.

For the Challenge action, the minimum setting is 300.

immunityTimeProperty_immunityTime :: Lens' ImmunityTimeProperty Natural Source #

The amount of time, in seconds, that a CAPTCHA or challenge timestamp is considered valid by WAF. The default setting is 300.

For the Challenge action, the minimum setting is 300.

JsonBody

data JsonBody Source #

Inspect the body of the web request as JSON. The body immediately follows the request headers.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

Use the specifications in this object to indicate which parts of the JSON body to inspect using the rule's inspection criteria. WAF inspects only the parts of the JSON that result from the matches that you indicate.

Example JSON: "JsonBody": { "MatchPattern": { "All": {} }, "MatchScope": "ALL" }

See: newJsonBody smart constructor.

Constructors

JsonBody' 

Fields

  • invalidFallbackBehavior :: Maybe BodyParsingFallbackBehavior

    What WAF should do if it fails to completely parse the JSON body. The options are the following:

    • EVALUATE_AS_STRING - Inspect the body as plain text. WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string.
    • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
    • NO_MATCH - Treat the web request as not matching the rule statement.

    If you don't provide this setting, WAF parses and evaluates the content only up to the first parsing failure that it encounters.

    WAF does its best to parse the entire JSON body, but might be forced to stop for reasons such as invalid characters, duplicate keys, truncation, and any content whose root node isn't an object or an array.

    WAF parses the JSON in the following examples as two valid key, value pairs:

    • Missing comma: {"key1":"value1""key2":"value2"}
    • Missing colon: {"key1":"value1","key2""value2"}
    • Extra colons: {"key1"::"value1","key2""value2"}
  • oversizeHandling :: Maybe OversizeHandling

    What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service.

    The options for oversize handling are the following:

    • CONTINUE - Inspect the body normally, according to the rule inspection criteria.
    • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
    • NO_MATCH - Treat the web request as not matching the rule statement.

    You can combine the MATCH or NO_MATCH settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.

    Default: CONTINUE

  • matchPattern :: JsonMatchPattern

    The patterns to look for in the JSON body. WAF inspects the results of these pattern matches against the rule inspection criteria.

  • matchScope :: JsonMatchScope

    The parts of the JSON to match against using the MatchPattern. If you specify All, WAF matches against keys and values.

Instances

Instances details
FromJSON JsonBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonBody

ToJSON JsonBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonBody

Generic JsonBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonBody

Associated Types

type Rep JsonBody :: Type -> Type #

Methods

from :: JsonBody -> Rep JsonBody x #

to :: Rep JsonBody x -> JsonBody #

Read JsonBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonBody

Show JsonBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonBody

NFData JsonBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonBody

Methods

rnf :: JsonBody -> () #

Eq JsonBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonBody

Hashable JsonBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonBody

Methods

hashWithSalt :: Int -> JsonBody -> Int #

hash :: JsonBody -> Int #

type Rep JsonBody Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonBody

type Rep JsonBody = D1 ('MetaData "JsonBody" "Amazonka.WAFV2.Types.JsonBody" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "JsonBody'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "invalidFallbackBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe BodyParsingFallbackBehavior)) :*: S1 ('MetaSel ('Just "oversizeHandling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe OversizeHandling))) :*: (S1 ('MetaSel ('Just "matchPattern") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 JsonMatchPattern) :*: S1 ('MetaSel ('Just "matchScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 JsonMatchScope))))

newJsonBody Source #

Create a value of JsonBody with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:invalidFallbackBehavior:JsonBody', jsonBody_invalidFallbackBehavior - What WAF should do if it fails to completely parse the JSON body. The options are the following:

  • EVALUATE_AS_STRING - Inspect the body as plain text. WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

If you don't provide this setting, WAF parses and evaluates the content only up to the first parsing failure that it encounters.

WAF does its best to parse the entire JSON body, but might be forced to stop for reasons such as invalid characters, duplicate keys, truncation, and any content whose root node isn't an object or an array.

WAF parses the JSON in the following examples as two valid key, value pairs:

  • Missing comma: {"key1":"value1""key2":"value2"}
  • Missing colon: {"key1":"value1","key2""value2"}
  • Extra colons: {"key1"::"value1","key2""value2"}

$sel:oversizeHandling:JsonBody', jsonBody_oversizeHandling - What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service.

The options for oversize handling are the following:

  • CONTINUE - Inspect the body normally, according to the rule inspection criteria.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

You can combine the MATCH or NO_MATCH settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.

Default: CONTINUE

$sel:matchPattern:JsonBody', jsonBody_matchPattern - The patterns to look for in the JSON body. WAF inspects the results of these pattern matches against the rule inspection criteria.

$sel:matchScope:JsonBody', jsonBody_matchScope - The parts of the JSON to match against using the MatchPattern. If you specify All, WAF matches against keys and values.

jsonBody_invalidFallbackBehavior :: Lens' JsonBody (Maybe BodyParsingFallbackBehavior) Source #

What WAF should do if it fails to completely parse the JSON body. The options are the following:

  • EVALUATE_AS_STRING - Inspect the body as plain text. WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

If you don't provide this setting, WAF parses and evaluates the content only up to the first parsing failure that it encounters.

WAF does its best to parse the entire JSON body, but might be forced to stop for reasons such as invalid characters, duplicate keys, truncation, and any content whose root node isn't an object or an array.

WAF parses the JSON in the following examples as two valid key, value pairs:

  • Missing comma: {"key1":"value1""key2":"value2"}
  • Missing colon: {"key1":"value1","key2""value2"}
  • Extra colons: {"key1"::"value1","key2""value2"}

jsonBody_oversizeHandling :: Lens' JsonBody (Maybe OversizeHandling) Source #

What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service.

The options for oversize handling are the following:

  • CONTINUE - Inspect the body normally, according to the rule inspection criteria.
  • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.
  • NO_MATCH - Treat the web request as not matching the rule statement.

You can combine the MATCH or NO_MATCH settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.

Default: CONTINUE

jsonBody_matchPattern :: Lens' JsonBody JsonMatchPattern Source #

The patterns to look for in the JSON body. WAF inspects the results of these pattern matches against the rule inspection criteria.

jsonBody_matchScope :: Lens' JsonBody JsonMatchScope Source #

The parts of the JSON to match against using the MatchPattern. If you specify All, WAF matches against keys and values.

JsonMatchPattern

data JsonMatchPattern Source #

The patterns to look for in the JSON body. WAF inspects the results of these pattern matches against the rule inspection criteria. This is used with the FieldToMatch option JsonBody.

See: newJsonMatchPattern smart constructor.

Constructors

JsonMatchPattern' 

Fields

  • all :: Maybe All

    Match all of the elements. See also MatchScope in JsonBody.

    You must specify either this setting or the IncludedPaths setting, but not both.

  • includedPaths :: Maybe (NonEmpty Text)

    Match only the specified include paths. See also MatchScope in JsonBody.

    Provide the include paths using JSON Pointer syntax. For example, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. For information about this syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer.

    You must specify either this setting or the All setting, but not both.

    Don't use this option to include all paths. Instead, use the All setting.

Instances

Instances details
FromJSON JsonMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchPattern

ToJSON JsonMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchPattern

Generic JsonMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchPattern

Associated Types

type Rep JsonMatchPattern :: Type -> Type #

Read JsonMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchPattern

Show JsonMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchPattern

NFData JsonMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchPattern

Methods

rnf :: JsonMatchPattern -> () #

Eq JsonMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchPattern

Hashable JsonMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchPattern

type Rep JsonMatchPattern Source # 
Instance details

Defined in Amazonka.WAFV2.Types.JsonMatchPattern

type Rep JsonMatchPattern = D1 ('MetaData "JsonMatchPattern" "Amazonka.WAFV2.Types.JsonMatchPattern" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "JsonMatchPattern'" 'PrefixI 'True) (S1 ('MetaSel ('Just "all") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe All)) :*: S1 ('MetaSel ('Just "includedPaths") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty Text)))))

newJsonMatchPattern :: JsonMatchPattern Source #

Create a value of JsonMatchPattern with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:all:JsonMatchPattern', jsonMatchPattern_all - Match all of the elements. See also MatchScope in JsonBody.

You must specify either this setting or the IncludedPaths setting, but not both.

$sel:includedPaths:JsonMatchPattern', jsonMatchPattern_includedPaths - Match only the specified include paths. See also MatchScope in JsonBody.

Provide the include paths using JSON Pointer syntax. For example, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. For information about this syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer.

You must specify either this setting or the All setting, but not both.

Don't use this option to include all paths. Instead, use the All setting.

jsonMatchPattern_all :: Lens' JsonMatchPattern (Maybe All) Source #

Match all of the elements. See also MatchScope in JsonBody.

You must specify either this setting or the IncludedPaths setting, but not both.

jsonMatchPattern_includedPaths :: Lens' JsonMatchPattern (Maybe (NonEmpty Text)) Source #

Match only the specified include paths. See also MatchScope in JsonBody.

Provide the include paths using JSON Pointer syntax. For example, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. For information about this syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer.

You must specify either this setting or the All setting, but not both.

Don't use this option to include all paths. Instead, use the All setting.

Label

data Label Source #

A single label container. This is used as an element of a label array in multiple contexts, for example, in RuleLabels inside a Rule and in Labels inside a SampledHTTPRequest.

See: newLabel smart constructor.

Constructors

Label' 

Fields

Instances

Instances details
FromJSON Label Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Label

ToJSON Label Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Label

Generic Label Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Label

Associated Types

type Rep Label :: Type -> Type #

Methods

from :: Label -> Rep Label x #

to :: Rep Label x -> Label #

Read Label Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Label

Show Label Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Label

Methods

showsPrec :: Int -> Label -> ShowS #

show :: Label -> String #

showList :: [Label] -> ShowS #

NFData Label Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Label

Methods

rnf :: Label -> () #

Eq Label Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Label

Methods

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

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

Hashable Label Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Label

Methods

hashWithSalt :: Int -> Label -> Int #

hash :: Label -> Int #

type Rep Label Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Label

type Rep Label = D1 ('MetaData "Label" "Amazonka.WAFV2.Types.Label" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Label'" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newLabel Source #

Arguments

:: Text

$sel:name:Label'

-> Label 

Create a value of Label with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:name:Label', label_name - The label string.

label_name :: Lens' Label Text Source #

The label string.

LabelMatchStatement

data LabelMatchStatement Source #

A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

See: newLabelMatchStatement smart constructor.

Constructors

LabelMatchStatement' 

Fields

  • scope :: LabelMatchScope

    Specify whether you want to match using the label name or just the namespace.

  • key :: Text

    The string to match against. The setting you provide for this depends on the match statement's Scope setting:

    • If the Scope indicates LABEL, then this specification must include the name and can include any number of preceding namespace specifications and prefix up to providing the fully qualified label name.
    • If the Scope indicates NAMESPACE, then this specification can include any number of contiguous namespace strings, and can include the entire label namespace prefix from the rule group or web ACL where the label originates.

    Labels are case sensitive and components of a label must be separated by colon, for example NS1:NS2:name.

Instances

Instances details
FromJSON LabelMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchStatement

ToJSON LabelMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchStatement

Generic LabelMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchStatement

Associated Types

type Rep LabelMatchStatement :: Type -> Type #

Read LabelMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchStatement

Show LabelMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchStatement

NFData LabelMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchStatement

Methods

rnf :: LabelMatchStatement -> () #

Eq LabelMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchStatement

Hashable LabelMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchStatement

type Rep LabelMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelMatchStatement

type Rep LabelMatchStatement = D1 ('MetaData "LabelMatchStatement" "Amazonka.WAFV2.Types.LabelMatchStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "LabelMatchStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "scope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LabelMatchScope) :*: S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newLabelMatchStatement Source #

Create a value of LabelMatchStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:scope:LabelMatchStatement', labelMatchStatement_scope - Specify whether you want to match using the label name or just the namespace.

$sel:key:LabelMatchStatement', labelMatchStatement_key - The string to match against. The setting you provide for this depends on the match statement's Scope setting:

  • If the Scope indicates LABEL, then this specification must include the name and can include any number of preceding namespace specifications and prefix up to providing the fully qualified label name.
  • If the Scope indicates NAMESPACE, then this specification can include any number of contiguous namespace strings, and can include the entire label namespace prefix from the rule group or web ACL where the label originates.

Labels are case sensitive and components of a label must be separated by colon, for example NS1:NS2:name.

labelMatchStatement_scope :: Lens' LabelMatchStatement LabelMatchScope Source #

Specify whether you want to match using the label name or just the namespace.

labelMatchStatement_key :: Lens' LabelMatchStatement Text Source #

The string to match against. The setting you provide for this depends on the match statement's Scope setting:

  • If the Scope indicates LABEL, then this specification must include the name and can include any number of preceding namespace specifications and prefix up to providing the fully qualified label name.
  • If the Scope indicates NAMESPACE, then this specification can include any number of contiguous namespace strings, and can include the entire label namespace prefix from the rule group or web ACL where the label originates.

Labels are case sensitive and components of a label must be separated by colon, for example NS1:NS2:name.

LabelNameCondition

data LabelNameCondition Source #

A single label name condition for a Condition in a logging filter.

See: newLabelNameCondition smart constructor.

Constructors

LabelNameCondition' 

Fields

  • labelName :: Text

    The label name that a log record must contain in order to meet the condition. This must be a fully qualified label name. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

Instances

Instances details
FromJSON LabelNameCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelNameCondition

ToJSON LabelNameCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelNameCondition

Generic LabelNameCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelNameCondition

Associated Types

type Rep LabelNameCondition :: Type -> Type #

Read LabelNameCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelNameCondition

Show LabelNameCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelNameCondition

NFData LabelNameCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelNameCondition

Methods

rnf :: LabelNameCondition -> () #

Eq LabelNameCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelNameCondition

Hashable LabelNameCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelNameCondition

type Rep LabelNameCondition Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelNameCondition

type Rep LabelNameCondition = D1 ('MetaData "LabelNameCondition" "Amazonka.WAFV2.Types.LabelNameCondition" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "LabelNameCondition'" 'PrefixI 'True) (S1 ('MetaSel ('Just "labelName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newLabelNameCondition Source #

Create a value of LabelNameCondition with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:labelName:LabelNameCondition', labelNameCondition_labelName - The label name that a log record must contain in order to meet the condition. This must be a fully qualified label name. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

labelNameCondition_labelName :: Lens' LabelNameCondition Text Source #

The label name that a log record must contain in order to meet the condition. This must be a fully qualified label name. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

LabelSummary

data LabelSummary Source #

List of labels used by one or more of the rules of a RuleGroup. This summary object is used for the following rule group lists:

  • AvailableLabels - Labels that rules add to matching requests. These labels are defined in the RuleLabels for a Rule.
  • ConsumedLabels - Labels that rules match against. These labels are defined in a LabelMatchStatement specification, in the Statement definition of a rule.

See: newLabelSummary smart constructor.

Constructors

LabelSummary' 

Fields

Instances

Instances details
FromJSON LabelSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelSummary

Generic LabelSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelSummary

Associated Types

type Rep LabelSummary :: Type -> Type #

Read LabelSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelSummary

Show LabelSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelSummary

NFData LabelSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelSummary

Methods

rnf :: LabelSummary -> () #

Eq LabelSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelSummary

Hashable LabelSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelSummary

type Rep LabelSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LabelSummary

type Rep LabelSummary = D1 ('MetaData "LabelSummary" "Amazonka.WAFV2.Types.LabelSummary" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "LabelSummary'" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))

newLabelSummary :: LabelSummary Source #

Create a value of LabelSummary with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:name:LabelSummary', labelSummary_name - An individual label specification.

labelSummary_name :: Lens' LabelSummary (Maybe Text) Source #

An individual label specification.

LoggingConfiguration

data LoggingConfiguration Source #

Defines an association between logging destinations and a web ACL resource, for logging from WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs and you can specify filters so that you log only a subset of the logging records.

You can define one logging destination per web ACL.

You can access information about the traffic that WAF inspects using the following steps:

  1. Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose.

    The name that you give the destination must start with aws-waf-logs-. Depending on the type of destination, you might need to configure additional settings or permissions.

    For configuration requirements and pricing information for each destination type, see Logging web ACL traffic in the WAF Developer Guide.

  2. Associate your logging destination to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, WAF creates an additional role or policy that is required to write logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

For additional information about web ACL logging, see Logging web ACL traffic information in the WAF Developer Guide.

See: newLoggingConfiguration smart constructor.

Constructors

LoggingConfiguration' 

Fields

  • loggingFilter :: Maybe LoggingFilter

    Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

  • managedByFirewallManager :: Maybe Bool

    Indicates whether the logging configuration was created by Firewall Manager, as part of an WAF policy configuration. If true, only Firewall Manager can modify or delete the configuration.

  • redactedFields :: Maybe [FieldToMatch]

    The parts of the request that you want to keep out of the logs. For example, if you redact the SingleHeader field, the HEADER field in the logs will be xxx.

    You can specify only the following fields for redaction: UriPath, QueryString, SingleHeader, Method, and JsonBody.

  • resourceArn :: Text

    The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.

  • logDestinationConfigs :: NonEmpty Text

    The logging destination configuration that you want to associate with the web ACL.

    You can associate one logging destination to a web ACL.

Instances

Instances details
FromJSON LoggingConfiguration Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingConfiguration

ToJSON LoggingConfiguration Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingConfiguration

Generic LoggingConfiguration Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingConfiguration

Associated Types

type Rep LoggingConfiguration :: Type -> Type #

Read LoggingConfiguration Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingConfiguration

Show LoggingConfiguration Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingConfiguration

NFData LoggingConfiguration Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingConfiguration

Methods

rnf :: LoggingConfiguration -> () #

Eq LoggingConfiguration Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingConfiguration

Hashable LoggingConfiguration Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingConfiguration

type Rep LoggingConfiguration Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingConfiguration

type Rep LoggingConfiguration = D1 ('MetaData "LoggingConfiguration" "Amazonka.WAFV2.Types.LoggingConfiguration" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "LoggingConfiguration'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "loggingFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LoggingFilter)) :*: S1 ('MetaSel ('Just "managedByFirewallManager") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool))) :*: (S1 ('MetaSel ('Just "redactedFields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [FieldToMatch])) :*: (S1 ('MetaSel ('Just "resourceArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "logDestinationConfigs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty Text))))))

newLoggingConfiguration Source #

Create a value of LoggingConfiguration with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:loggingFilter:LoggingConfiguration', loggingConfiguration_loggingFilter - Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

$sel:managedByFirewallManager:LoggingConfiguration', loggingConfiguration_managedByFirewallManager - Indicates whether the logging configuration was created by Firewall Manager, as part of an WAF policy configuration. If true, only Firewall Manager can modify or delete the configuration.

$sel:redactedFields:LoggingConfiguration', loggingConfiguration_redactedFields - The parts of the request that you want to keep out of the logs. For example, if you redact the SingleHeader field, the HEADER field in the logs will be xxx.

You can specify only the following fields for redaction: UriPath, QueryString, SingleHeader, Method, and JsonBody.

$sel:resourceArn:LoggingConfiguration', loggingConfiguration_resourceArn - The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.

$sel:logDestinationConfigs:LoggingConfiguration', loggingConfiguration_logDestinationConfigs - The logging destination configuration that you want to associate with the web ACL.

You can associate one logging destination to a web ACL.

loggingConfiguration_loggingFilter :: Lens' LoggingConfiguration (Maybe LoggingFilter) Source #

Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

loggingConfiguration_managedByFirewallManager :: Lens' LoggingConfiguration (Maybe Bool) Source #

Indicates whether the logging configuration was created by Firewall Manager, as part of an WAF policy configuration. If true, only Firewall Manager can modify or delete the configuration.

loggingConfiguration_redactedFields :: Lens' LoggingConfiguration (Maybe [FieldToMatch]) Source #

The parts of the request that you want to keep out of the logs. For example, if you redact the SingleHeader field, the HEADER field in the logs will be xxx.

You can specify only the following fields for redaction: UriPath, QueryString, SingleHeader, Method, and JsonBody.

loggingConfiguration_resourceArn :: Lens' LoggingConfiguration Text Source #

The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.

loggingConfiguration_logDestinationConfigs :: Lens' LoggingConfiguration (NonEmpty Text) Source #

The logging destination configuration that you want to associate with the web ACL.

You can associate one logging destination to a web ACL.

LoggingFilter

data LoggingFilter Source #

Filtering that specifies which web requests are kept in the logs and which are dropped, defined for a web ACL's LoggingConfiguration.

You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

See: newLoggingFilter smart constructor.

Constructors

LoggingFilter' 

Fields

Instances

Instances details
FromJSON LoggingFilter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingFilter

ToJSON LoggingFilter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingFilter

Generic LoggingFilter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingFilter

Associated Types

type Rep LoggingFilter :: Type -> Type #

Read LoggingFilter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingFilter

Show LoggingFilter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingFilter

NFData LoggingFilter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingFilter

Methods

rnf :: LoggingFilter -> () #

Eq LoggingFilter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingFilter

Hashable LoggingFilter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingFilter

type Rep LoggingFilter Source # 
Instance details

Defined in Amazonka.WAFV2.Types.LoggingFilter

type Rep LoggingFilter = D1 ('MetaData "LoggingFilter" "Amazonka.WAFV2.Types.LoggingFilter" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "LoggingFilter'" 'PrefixI 'True) (S1 ('MetaSel ('Just "filters") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty Filter)) :*: S1 ('MetaSel ('Just "defaultBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FilterBehavior)))

newLoggingFilter Source #

Create a value of LoggingFilter with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:filters:LoggingFilter', loggingFilter_filters - The filters that you want to apply to the logs.

$sel:defaultBehavior:LoggingFilter', loggingFilter_defaultBehavior - Default handling for logs that don't match any of the specified filtering conditions.

loggingFilter_filters :: Lens' LoggingFilter (NonEmpty Filter) Source #

The filters that you want to apply to the logs.

loggingFilter_defaultBehavior :: Lens' LoggingFilter FilterBehavior Source #

Default handling for logs that don't match any of the specified filtering conditions.

ManagedRuleGroupConfig

data ManagedRuleGroupConfig Source #

Additional information that's used by a managed rule group. Many managed rule groups don't require this.

Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.

For example specifications, see the examples section of CreateWebACL.

See: newManagedRuleGroupConfig smart constructor.

Constructors

ManagedRuleGroupConfig' 

Fields

Instances

Instances details
FromJSON ManagedRuleGroupConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupConfig

ToJSON ManagedRuleGroupConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupConfig

Generic ManagedRuleGroupConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupConfig

Associated Types

type Rep ManagedRuleGroupConfig :: Type -> Type #

Read ManagedRuleGroupConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupConfig

Show ManagedRuleGroupConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupConfig

NFData ManagedRuleGroupConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupConfig

Methods

rnf :: ManagedRuleGroupConfig -> () #

Eq ManagedRuleGroupConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupConfig

Hashable ManagedRuleGroupConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupConfig

type Rep ManagedRuleGroupConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupConfig

type Rep ManagedRuleGroupConfig = D1 ('MetaData "ManagedRuleGroupConfig" "Amazonka.WAFV2.Types.ManagedRuleGroupConfig" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ManagedRuleGroupConfig'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "aWSManagedRulesBotControlRuleSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AWSManagedRulesBotControlRuleSet)) :*: S1 ('MetaSel ('Just "loginPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "passwordField") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PasswordField)) :*: (S1 ('MetaSel ('Just "payloadType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PayloadType)) :*: S1 ('MetaSel ('Just "usernameField") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UsernameField))))))

newManagedRuleGroupConfig :: ManagedRuleGroupConfig Source #

Create a value of ManagedRuleGroupConfig with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:aWSManagedRulesBotControlRuleSet:ManagedRuleGroupConfig', managedRuleGroupConfig_aWSManagedRulesBotControlRuleSet - Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see WAF Bot Control rule group and WAF Bot Control in the WAF Developer Guide.

$sel:loginPath:ManagedRuleGroupConfig', managedRuleGroupConfig_loginPath - The path of the login endpoint for your application. For example, for the URL https://example.com/web/login, you would provide the path /web/login.

$sel:passwordField:ManagedRuleGroupConfig', managedRuleGroupConfig_passwordField - Details about your login page password field.

$sel:payloadType:ManagedRuleGroupConfig', managedRuleGroupConfig_payloadType - The payload type for your login endpoint, either JSON or form encoded.

$sel:usernameField:ManagedRuleGroupConfig', managedRuleGroupConfig_usernameField - Details about your login page username field.

managedRuleGroupConfig_aWSManagedRulesBotControlRuleSet :: Lens' ManagedRuleGroupConfig (Maybe AWSManagedRulesBotControlRuleSet) Source #

Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see WAF Bot Control rule group and WAF Bot Control in the WAF Developer Guide.

managedRuleGroupConfig_loginPath :: Lens' ManagedRuleGroupConfig (Maybe Text) Source #

The path of the login endpoint for your application. For example, for the URL https://example.com/web/login, you would provide the path /web/login.

managedRuleGroupConfig_payloadType :: Lens' ManagedRuleGroupConfig (Maybe PayloadType) Source #

The payload type for your login endpoint, either JSON or form encoded.

ManagedRuleGroupStatement

data ManagedRuleGroupStatement Source #

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet or the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet. For more information, see WAF Pricing.

See: newManagedRuleGroupStatement smart constructor.

Constructors

ManagedRuleGroupStatement' 

Fields

  • excludedRules :: Maybe [ExcludedRule]

    Rules in the referenced rule group whose actions are set to Count.

    Instead of this option, use RuleActionOverrides. It accepts any valid action setting, including Count.

  • managedRuleGroupConfigs :: Maybe (NonEmpty ManagedRuleGroupConfig)

    Additional information that's used by a managed rule group. Many managed rule groups don't require this.

    Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.

  • ruleActionOverrides :: Maybe (NonEmpty RuleActionOverride)

    Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

    You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

  • scopeDownStatement :: Maybe Statement

    An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

  • version :: Maybe Text

    The version of the managed rule group to use. If you specify this, the version setting is fixed until you change it. If you don't specify this, WAF uses the vendor's default version, and then keeps the version at the vendor's default when the vendor updates the managed rule group settings.

  • vendorName :: Text

    The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

  • name :: Text

    The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

Instances

Instances details
FromJSON ManagedRuleGroupStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupStatement

ToJSON ManagedRuleGroupStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupStatement

Generic ManagedRuleGroupStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupStatement

Associated Types

type Rep ManagedRuleGroupStatement :: Type -> Type #

Read ManagedRuleGroupStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupStatement

Show ManagedRuleGroupStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupStatement

NFData ManagedRuleGroupStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupStatement

Eq ManagedRuleGroupStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupStatement

Hashable ManagedRuleGroupStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupStatement

type Rep ManagedRuleGroupStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupStatement

type Rep ManagedRuleGroupStatement = D1 ('MetaData "ManagedRuleGroupStatement" "Amazonka.WAFV2.Types.ManagedRuleGroupStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ManagedRuleGroupStatement'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "excludedRules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [ExcludedRule])) :*: (S1 ('MetaSel ('Just "managedRuleGroupConfigs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty ManagedRuleGroupConfig))) :*: S1 ('MetaSel ('Just "ruleActionOverrides") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty RuleActionOverride))))) :*: ((S1 ('MetaSel ('Just "scopeDownStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Statement)) :*: S1 ('MetaSel ('Just "version") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "vendorName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))))

newManagedRuleGroupStatement Source #

Create a value of ManagedRuleGroupStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:excludedRules:ManagedRuleGroupStatement', managedRuleGroupStatement_excludedRules - Rules in the referenced rule group whose actions are set to Count.

Instead of this option, use RuleActionOverrides. It accepts any valid action setting, including Count.

$sel:managedRuleGroupConfigs:ManagedRuleGroupStatement', managedRuleGroupStatement_managedRuleGroupConfigs - Additional information that's used by a managed rule group. Many managed rule groups don't require this.

Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.

$sel:ruleActionOverrides:ManagedRuleGroupStatement', managedRuleGroupStatement_ruleActionOverrides - Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

$sel:scopeDownStatement:ManagedRuleGroupStatement', managedRuleGroupStatement_scopeDownStatement - An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

$sel:version:ManagedRuleGroupStatement', managedRuleGroupStatement_version - The version of the managed rule group to use. If you specify this, the version setting is fixed until you change it. If you don't specify this, WAF uses the vendor's default version, and then keeps the version at the vendor's default when the vendor updates the managed rule group settings.

$sel:vendorName:ManagedRuleGroupStatement', managedRuleGroupStatement_vendorName - The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

RuleActionOverride, managedRuleGroupStatement_name - The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

managedRuleGroupStatement_excludedRules :: Lens' ManagedRuleGroupStatement (Maybe [ExcludedRule]) Source #

Rules in the referenced rule group whose actions are set to Count.

Instead of this option, use RuleActionOverrides. It accepts any valid action setting, including Count.

managedRuleGroupStatement_managedRuleGroupConfigs :: Lens' ManagedRuleGroupStatement (Maybe (NonEmpty ManagedRuleGroupConfig)) Source #

Additional information that's used by a managed rule group. Many managed rule groups don't require this.

Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.

managedRuleGroupStatement_ruleActionOverrides :: Lens' ManagedRuleGroupStatement (Maybe (NonEmpty RuleActionOverride)) Source #

Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

managedRuleGroupStatement_scopeDownStatement :: Lens' ManagedRuleGroupStatement (Maybe Statement) Source #

An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

managedRuleGroupStatement_version :: Lens' ManagedRuleGroupStatement (Maybe Text) Source #

The version of the managed rule group to use. If you specify this, the version setting is fixed until you change it. If you don't specify this, WAF uses the vendor's default version, and then keeps the version at the vendor's default when the vendor updates the managed rule group settings.

managedRuleGroupStatement_vendorName :: Lens' ManagedRuleGroupStatement Text Source #

The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

managedRuleGroupStatement_name :: Lens' ManagedRuleGroupStatement Text Source #

The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

ManagedRuleGroupSummary

data ManagedRuleGroupSummary Source #

High-level information about a managed rule group, returned by ListAvailableManagedRuleGroups. This provides information like the name and vendor name, that you provide when you add a ManagedRuleGroupStatement to a web ACL. Managed rule groups include Amazon Web Services Managed Rules rule groups, which are free of charge to WAF customers, and Amazon Web Services Marketplace managed rule groups, which you can subscribe to through Amazon Web Services Marketplace.

See: newManagedRuleGroupSummary smart constructor.

Constructors

ManagedRuleGroupSummary' 

Fields

  • description :: Maybe Text

    The description of the managed rule group, provided by Amazon Web Services Managed Rules or the Amazon Web Services Marketplace seller who manages it.

  • name :: Maybe Text

    The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

  • vendorName :: Maybe Text

    The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

  • versioningSupported :: Maybe Bool

    Indicates whether the managed rule group is versioned. If it is, you can retrieve the versions list by calling ListAvailableManagedRuleGroupVersions.

Instances

Instances details
FromJSON ManagedRuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupSummary

Generic ManagedRuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupSummary

Associated Types

type Rep ManagedRuleGroupSummary :: Type -> Type #

Read ManagedRuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupSummary

Show ManagedRuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupSummary

NFData ManagedRuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupSummary

Methods

rnf :: ManagedRuleGroupSummary -> () #

Eq ManagedRuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupSummary

Hashable ManagedRuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupSummary

type Rep ManagedRuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupSummary

type Rep ManagedRuleGroupSummary = D1 ('MetaData "ManagedRuleGroupSummary" "Amazonka.WAFV2.Types.ManagedRuleGroupSummary" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ManagedRuleGroupSummary'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "vendorName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "versioningSupported") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)))))

newManagedRuleGroupSummary :: ManagedRuleGroupSummary Source #

Create a value of ManagedRuleGroupSummary with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:description:ManagedRuleGroupSummary', managedRuleGroupSummary_description - The description of the managed rule group, provided by Amazon Web Services Managed Rules or the Amazon Web Services Marketplace seller who manages it.

$sel:name:ManagedRuleGroupSummary', managedRuleGroupSummary_name - The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

$sel:vendorName:ManagedRuleGroupSummary', managedRuleGroupSummary_vendorName - The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

$sel:versioningSupported:ManagedRuleGroupSummary', managedRuleGroupSummary_versioningSupported - Indicates whether the managed rule group is versioned. If it is, you can retrieve the versions list by calling ListAvailableManagedRuleGroupVersions.

managedRuleGroupSummary_description :: Lens' ManagedRuleGroupSummary (Maybe Text) Source #

The description of the managed rule group, provided by Amazon Web Services Managed Rules or the Amazon Web Services Marketplace seller who manages it.

managedRuleGroupSummary_name :: Lens' ManagedRuleGroupSummary (Maybe Text) Source #

The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

managedRuleGroupSummary_vendorName :: Lens' ManagedRuleGroupSummary (Maybe Text) Source #

The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

managedRuleGroupSummary_versioningSupported :: Lens' ManagedRuleGroupSummary (Maybe Bool) Source #

Indicates whether the managed rule group is versioned. If it is, you can retrieve the versions list by calling ListAvailableManagedRuleGroupVersions.

ManagedRuleGroupVersion

data ManagedRuleGroupVersion Source #

Describes a single version of a managed rule group.

See: newManagedRuleGroupVersion smart constructor.

Constructors

ManagedRuleGroupVersion' 

Fields

Instances

Instances details
FromJSON ManagedRuleGroupVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupVersion

Generic ManagedRuleGroupVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupVersion

Associated Types

type Rep ManagedRuleGroupVersion :: Type -> Type #

Read ManagedRuleGroupVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupVersion

Show ManagedRuleGroupVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupVersion

NFData ManagedRuleGroupVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupVersion

Methods

rnf :: ManagedRuleGroupVersion -> () #

Eq ManagedRuleGroupVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupVersion

Hashable ManagedRuleGroupVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupVersion

type Rep ManagedRuleGroupVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleGroupVersion

type Rep ManagedRuleGroupVersion = D1 ('MetaData "ManagedRuleGroupVersion" "Amazonka.WAFV2.Types.ManagedRuleGroupVersion" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ManagedRuleGroupVersion'" 'PrefixI 'True) (S1 ('MetaSel ('Just "lastUpdateTimestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))

newManagedRuleGroupVersion :: ManagedRuleGroupVersion Source #

Create a value of ManagedRuleGroupVersion with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:lastUpdateTimestamp:ManagedRuleGroupVersion', managedRuleGroupVersion_lastUpdateTimestamp - The date and time that the managed rule group owner updated the rule group version information.

$sel:name:ManagedRuleGroupVersion', managedRuleGroupVersion_name - The version name.

managedRuleGroupVersion_lastUpdateTimestamp :: Lens' ManagedRuleGroupVersion (Maybe UTCTime) Source #

The date and time that the managed rule group owner updated the rule group version information.

ManagedRuleSet

data ManagedRuleSet Source #

A set of rules that is managed by Amazon Web Services and Amazon Web Services Marketplace sellers to provide versioned managed rule groups for customers of WAF.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

See: newManagedRuleSet smart constructor.

Constructors

ManagedRuleSet' 

Fields

  • description :: Maybe Text

    A description of the set that helps with identification.

  • labelNamespace :: Maybe Text

    The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix.

    • The syntax for the label namespace prefix for a managed rule group is the following:

      awswaf:managed:<vendor>:<rule group name>:

    • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

      <label namespace>:<label from rule>
  • publishedVersions :: Maybe (HashMap Text ManagedRuleSetVersion)

    The versions of this managed rule set that are available for use by customers.

  • recommendedVersion :: Maybe Text

    The version that you would like your customers to use.

  • name :: Text

    The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

    This name is assigned to the corresponding managed rule group, which your customers can access and use.

  • id :: Text

    A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

  • arn :: Text

    The Amazon Resource Name (ARN) of the entity.

Instances

Instances details
FromJSON ManagedRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSet

Generic ManagedRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSet

Associated Types

type Rep ManagedRuleSet :: Type -> Type #

Read ManagedRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSet

Show ManagedRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSet

NFData ManagedRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSet

Methods

rnf :: ManagedRuleSet -> () #

Eq ManagedRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSet

Hashable ManagedRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSet

type Rep ManagedRuleSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSet

newManagedRuleSet Source #

Create a value of ManagedRuleSet with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:description:ManagedRuleSet', managedRuleSet_description - A description of the set that helps with identification.

$sel:labelNamespace:ManagedRuleSet', managedRuleSet_labelNamespace - The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix.

  • The syntax for the label namespace prefix for a managed rule group is the following:

    awswaf:managed:<vendor>:<rule group name>:

  • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

    <label namespace>:<label from rule>

$sel:publishedVersions:ManagedRuleSet', managedRuleSet_publishedVersions - The versions of this managed rule set that are available for use by customers.

$sel:recommendedVersion:ManagedRuleSet', managedRuleSet_recommendedVersion - The version that you would like your customers to use.

$sel:name:ManagedRuleSet', managedRuleSet_name - The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

This name is assigned to the corresponding managed rule group, which your customers can access and use.

$sel:id:ManagedRuleSet', managedRuleSet_id - A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

$sel:arn:ManagedRuleSet', managedRuleSet_arn - The Amazon Resource Name (ARN) of the entity.

managedRuleSet_description :: Lens' ManagedRuleSet (Maybe Text) Source #

A description of the set that helps with identification.

managedRuleSet_labelNamespace :: Lens' ManagedRuleSet (Maybe Text) Source #

The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix.

  • The syntax for the label namespace prefix for a managed rule group is the following:

    awswaf:managed:<vendor>:<rule group name>:

  • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

    <label namespace>:<label from rule>

managedRuleSet_publishedVersions :: Lens' ManagedRuleSet (Maybe (HashMap Text ManagedRuleSetVersion)) Source #

The versions of this managed rule set that are available for use by customers.

managedRuleSet_recommendedVersion :: Lens' ManagedRuleSet (Maybe Text) Source #

The version that you would like your customers to use.

managedRuleSet_name :: Lens' ManagedRuleSet Text Source #

The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

This name is assigned to the corresponding managed rule group, which your customers can access and use.

managedRuleSet_id :: Lens' ManagedRuleSet Text Source #

A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

managedRuleSet_arn :: Lens' ManagedRuleSet Text Source #

The Amazon Resource Name (ARN) of the entity.

ManagedRuleSetSummary

data ManagedRuleSetSummary Source #

High-level information for a managed rule set.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

See: newManagedRuleSetSummary smart constructor.

Constructors

ManagedRuleSetSummary' 

Fields

  • arn :: Maybe Text

    The Amazon Resource Name (ARN) of the entity.

  • description :: Maybe Text

    A description of the set that helps with identification.

  • id :: Maybe Text

    A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

  • labelNamespace :: Maybe Text

    The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix.

    • The syntax for the label namespace prefix for a managed rule group is the following:

      awswaf:managed:<vendor>:<rule group name>:

    • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

      <label namespace>:<label from rule>
  • lockToken :: Maybe Text

    A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

  • name :: Maybe Text

    The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

    This name is assigned to the corresponding managed rule group, which your customers can access and use.

Instances

Instances details
FromJSON ManagedRuleSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetSummary

Generic ManagedRuleSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetSummary

Associated Types

type Rep ManagedRuleSetSummary :: Type -> Type #

Read ManagedRuleSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetSummary

Show ManagedRuleSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetSummary

NFData ManagedRuleSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetSummary

Methods

rnf :: ManagedRuleSetSummary -> () #

Eq ManagedRuleSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetSummary

Hashable ManagedRuleSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetSummary

type Rep ManagedRuleSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetSummary

type Rep ManagedRuleSetSummary = D1 ('MetaData "ManagedRuleSetSummary" "Amazonka.WAFV2.Types.ManagedRuleSetSummary" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ManagedRuleSetSummary'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "labelNamespace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "lockToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))))

newManagedRuleSetSummary :: ManagedRuleSetSummary Source #

Create a value of ManagedRuleSetSummary with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:arn:ManagedRuleSetSummary', managedRuleSetSummary_arn - The Amazon Resource Name (ARN) of the entity.

$sel:description:ManagedRuleSetSummary', managedRuleSetSummary_description - A description of the set that helps with identification.

$sel:id:ManagedRuleSetSummary', managedRuleSetSummary_id - A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

$sel:labelNamespace:ManagedRuleSetSummary', managedRuleSetSummary_labelNamespace - The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix.

  • The syntax for the label namespace prefix for a managed rule group is the following:

    awswaf:managed:<vendor>:<rule group name>:

  • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

    <label namespace>:<label from rule>

$sel:lockToken:ManagedRuleSetSummary', managedRuleSetSummary_lockToken - A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

$sel:name:ManagedRuleSetSummary', managedRuleSetSummary_name - The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

This name is assigned to the corresponding managed rule group, which your customers can access and use.

managedRuleSetSummary_arn :: Lens' ManagedRuleSetSummary (Maybe Text) Source #

The Amazon Resource Name (ARN) of the entity.

managedRuleSetSummary_description :: Lens' ManagedRuleSetSummary (Maybe Text) Source #

A description of the set that helps with identification.

managedRuleSetSummary_id :: Lens' ManagedRuleSetSummary (Maybe Text) Source #

A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

managedRuleSetSummary_labelNamespace :: Lens' ManagedRuleSetSummary (Maybe Text) Source #

The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix.

  • The syntax for the label namespace prefix for a managed rule group is the following:

    awswaf:managed:<vendor>:<rule group name>:

  • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

    <label namespace>:<label from rule>

managedRuleSetSummary_lockToken :: Lens' ManagedRuleSetSummary (Maybe Text) Source #

A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

managedRuleSetSummary_name :: Lens' ManagedRuleSetSummary (Maybe Text) Source #

The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

This name is assigned to the corresponding managed rule group, which your customers can access and use.

ManagedRuleSetVersion

data ManagedRuleSetVersion Source #

Information for a single version of a managed rule set.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

See: newManagedRuleSetVersion smart constructor.

Constructors

ManagedRuleSetVersion' 

Fields

  • associatedRuleGroupArn :: Maybe Text

    The Amazon Resource Name (ARN) of the vendor rule group that's used to define the published version of your managed rule group.

  • capacity :: Maybe Natural

    The web ACL capacity units (WCUs) required for this rule group.

    WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

  • expiryTimestamp :: Maybe POSIX

    The time that this version is set to expire.

    Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

  • forecastedLifetime :: Maybe Natural

    The amount of time you expect this version of your managed rule group to last, in days.

  • lastUpdateTimestamp :: Maybe POSIX

    The last time that you updated this version.

    Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

  • publishTimestamp :: Maybe POSIX

    The time that you first published this version.

    Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

Instances

Instances details
FromJSON ManagedRuleSetVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetVersion

Generic ManagedRuleSetVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetVersion

Associated Types

type Rep ManagedRuleSetVersion :: Type -> Type #

Read ManagedRuleSetVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetVersion

Show ManagedRuleSetVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetVersion

NFData ManagedRuleSetVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetVersion

Methods

rnf :: ManagedRuleSetVersion -> () #

Eq ManagedRuleSetVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetVersion

Hashable ManagedRuleSetVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetVersion

type Rep ManagedRuleSetVersion Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ManagedRuleSetVersion

type Rep ManagedRuleSetVersion = D1 ('MetaData "ManagedRuleSetVersion" "Amazonka.WAFV2.Types.ManagedRuleSetVersion" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ManagedRuleSetVersion'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "associatedRuleGroupArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "capacity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "expiryTimestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX)))) :*: (S1 ('MetaSel ('Just "forecastedLifetime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: (S1 ('MetaSel ('Just "lastUpdateTimestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX)) :*: S1 ('MetaSel ('Just "publishTimestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX))))))

newManagedRuleSetVersion :: ManagedRuleSetVersion Source #

Create a value of ManagedRuleSetVersion with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:associatedRuleGroupArn:ManagedRuleSetVersion', managedRuleSetVersion_associatedRuleGroupArn - The Amazon Resource Name (ARN) of the vendor rule group that's used to define the published version of your managed rule group.

$sel:capacity:ManagedRuleSetVersion', managedRuleSetVersion_capacity - The web ACL capacity units (WCUs) required for this rule group.

WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

$sel:expiryTimestamp:ManagedRuleSetVersion', managedRuleSetVersion_expiryTimestamp - The time that this version is set to expire.

Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

$sel:forecastedLifetime:ManagedRuleSetVersion', managedRuleSetVersion_forecastedLifetime - The amount of time you expect this version of your managed rule group to last, in days.

$sel:lastUpdateTimestamp:ManagedRuleSetVersion', managedRuleSetVersion_lastUpdateTimestamp - The last time that you updated this version.

Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

$sel:publishTimestamp:ManagedRuleSetVersion', managedRuleSetVersion_publishTimestamp - The time that you first published this version.

Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

managedRuleSetVersion_associatedRuleGroupArn :: Lens' ManagedRuleSetVersion (Maybe Text) Source #

The Amazon Resource Name (ARN) of the vendor rule group that's used to define the published version of your managed rule group.

managedRuleSetVersion_capacity :: Lens' ManagedRuleSetVersion (Maybe Natural) Source #

The web ACL capacity units (WCUs) required for this rule group.

WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

managedRuleSetVersion_expiryTimestamp :: Lens' ManagedRuleSetVersion (Maybe UTCTime) Source #

The time that this version is set to expire.

Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

managedRuleSetVersion_forecastedLifetime :: Lens' ManagedRuleSetVersion (Maybe Natural) Source #

The amount of time you expect this version of your managed rule group to last, in days.

managedRuleSetVersion_lastUpdateTimestamp :: Lens' ManagedRuleSetVersion (Maybe UTCTime) Source #

The last time that you updated this version.

Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

managedRuleSetVersion_publishTimestamp :: Lens' ManagedRuleSetVersion (Maybe UTCTime) Source #

The time that you first published this version.

Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

Method

data Method Source #

Inspect the HTTP method of the web request. The method indicates the type of operation that the request is asking the origin to perform.

This is used only in the FieldToMatch specification for some web request component types.

JSON specification: "Method": {}

See: newMethod smart constructor.

Constructors

Method' 

Instances

Instances details
FromJSON Method Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Method

ToJSON Method Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Method

Generic Method Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Method

Associated Types

type Rep Method :: Type -> Type #

Methods

from :: Method -> Rep Method x #

to :: Rep Method x -> Method #

Read Method Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Method

Show Method Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Method

NFData Method Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Method

Methods

rnf :: Method -> () #

Eq Method Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Method

Methods

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

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

Hashable Method Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Method

Methods

hashWithSalt :: Int -> Method -> Int #

hash :: Method -> Int #

type Rep Method Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Method

type Rep Method = D1 ('MetaData "Method" "Amazonka.WAFV2.Types.Method" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Method'" 'PrefixI 'False) (U1 :: Type -> Type))

newMethod :: Method Source #

Create a value of Method with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

MobileSdkRelease

data MobileSdkRelease Source #

Information for a release of the mobile SDK, including release notes and tags.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client application integration in the WAF Developer Guide.

See: newMobileSdkRelease smart constructor.

Constructors

MobileSdkRelease' 

Fields

Instances

Instances details
FromJSON MobileSdkRelease Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MobileSdkRelease

Generic MobileSdkRelease Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MobileSdkRelease

Associated Types

type Rep MobileSdkRelease :: Type -> Type #

Read MobileSdkRelease Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MobileSdkRelease

Show MobileSdkRelease Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MobileSdkRelease

NFData MobileSdkRelease Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MobileSdkRelease

Methods

rnf :: MobileSdkRelease -> () #

Eq MobileSdkRelease Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MobileSdkRelease

Hashable MobileSdkRelease Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MobileSdkRelease

type Rep MobileSdkRelease Source # 
Instance details

Defined in Amazonka.WAFV2.Types.MobileSdkRelease

type Rep MobileSdkRelease = D1 ('MetaData "MobileSdkRelease" "Amazonka.WAFV2.Types.MobileSdkRelease" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "MobileSdkRelease'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "releaseNotes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "releaseVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "tags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty Tag))) :*: S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX)))))

newMobileSdkRelease :: MobileSdkRelease Source #

Create a value of MobileSdkRelease with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:releaseNotes:MobileSdkRelease', mobileSdkRelease_releaseNotes - Notes describing the release.

$sel:releaseVersion:MobileSdkRelease', mobileSdkRelease_releaseVersion - The release version.

$sel:tags:MobileSdkRelease', mobileSdkRelease_tags - Tags that are associated with the release.

$sel:timestamp:MobileSdkRelease', mobileSdkRelease_timestamp - The timestamp of the release.

mobileSdkRelease_tags :: Lens' MobileSdkRelease (Maybe (NonEmpty Tag)) Source #

Tags that are associated with the release.

NoneAction

data NoneAction Source #

Specifies that WAF should do nothing. This is used for the OverrideAction setting on a Rule when the rule uses a rule group reference statement.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

JSON specification: "None": {}

See: newNoneAction smart constructor.

Constructors

NoneAction' 

Instances

Instances details
FromJSON NoneAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NoneAction

ToJSON NoneAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NoneAction

Generic NoneAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NoneAction

Associated Types

type Rep NoneAction :: Type -> Type #

Read NoneAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NoneAction

Show NoneAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NoneAction

NFData NoneAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NoneAction

Methods

rnf :: NoneAction -> () #

Eq NoneAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NoneAction

Hashable NoneAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NoneAction

type Rep NoneAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NoneAction

type Rep NoneAction = D1 ('MetaData "NoneAction" "Amazonka.WAFV2.Types.NoneAction" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "NoneAction'" 'PrefixI 'False) (U1 :: Type -> Type))

newNoneAction :: NoneAction Source #

Create a value of NoneAction with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

NotStatement

data NotStatement Source #

A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

See: newNotStatement smart constructor.

Constructors

NotStatement' 

Fields

  • statement :: Statement

    The statement to negate. You can use any statement that can be nested.

Instances

Instances details
FromJSON NotStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NotStatement

ToJSON NotStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NotStatement

Generic NotStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NotStatement

Associated Types

type Rep NotStatement :: Type -> Type #

Read NotStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NotStatement

Show NotStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NotStatement

NFData NotStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NotStatement

Methods

rnf :: NotStatement -> () #

Eq NotStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NotStatement

Hashable NotStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NotStatement

type Rep NotStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.NotStatement

type Rep NotStatement = D1 ('MetaData "NotStatement" "Amazonka.WAFV2.Types.NotStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "NotStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "statement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Statement)))

newNotStatement Source #

Create a value of NotStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:statement:NotStatement', notStatement_statement - The statement to negate. You can use any statement that can be nested.

notStatement_statement :: Lens' NotStatement Statement Source #

The statement to negate. You can use any statement that can be nested.

OrStatement

data OrStatement Source #

A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

See: newOrStatement smart constructor.

Constructors

OrStatement' 

Fields

  • statements :: [Statement]

    The statements to combine with OR logic. You can use any statements that can be nested.

Instances

Instances details
FromJSON OrStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OrStatement

ToJSON OrStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OrStatement

Generic OrStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OrStatement

Associated Types

type Rep OrStatement :: Type -> Type #

Read OrStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OrStatement

Show OrStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OrStatement

NFData OrStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OrStatement

Methods

rnf :: OrStatement -> () #

Eq OrStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OrStatement

Hashable OrStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OrStatement

type Rep OrStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OrStatement

type Rep OrStatement = D1 ('MetaData "OrStatement" "Amazonka.WAFV2.Types.OrStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "OrStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "statements") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Statement])))

newOrStatement :: OrStatement Source #

Create a value of OrStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:statements:OrStatement', orStatement_statements - The statements to combine with OR logic. You can use any statements that can be nested.

orStatement_statements :: Lens' OrStatement [Statement] Source #

The statements to combine with OR logic. You can use any statements that can be nested.

OverrideAction

data OverrideAction Source #

The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

See: newOverrideAction smart constructor.

Constructors

OverrideAction' 

Fields

  • count :: Maybe CountAction

    Override the rule group evaluation result to count only.

    This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

  • none :: Maybe NoneAction

    Don't override the rule group evaluation result. This is the most common setting.

Instances

Instances details
FromJSON OverrideAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OverrideAction

ToJSON OverrideAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OverrideAction

Generic OverrideAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OverrideAction

Associated Types

type Rep OverrideAction :: Type -> Type #

Read OverrideAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OverrideAction

Show OverrideAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OverrideAction

NFData OverrideAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OverrideAction

Methods

rnf :: OverrideAction -> () #

Eq OverrideAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OverrideAction

Hashable OverrideAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OverrideAction

type Rep OverrideAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.OverrideAction

type Rep OverrideAction = D1 ('MetaData "OverrideAction" "Amazonka.WAFV2.Types.OverrideAction" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "OverrideAction'" 'PrefixI 'True) (S1 ('MetaSel ('Just "count") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CountAction)) :*: S1 ('MetaSel ('Just "none") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe NoneAction))))

newOverrideAction :: OverrideAction Source #

Create a value of OverrideAction with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:count:OverrideAction', overrideAction_count - Override the rule group evaluation result to count only.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

$sel:none:OverrideAction', overrideAction_none - Don't override the rule group evaluation result. This is the most common setting.

overrideAction_count :: Lens' OverrideAction (Maybe CountAction) Source #

Override the rule group evaluation result to count only.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

overrideAction_none :: Lens' OverrideAction (Maybe NoneAction) Source #

Don't override the rule group evaluation result. This is the most common setting.

PasswordField

data PasswordField Source #

Details about your login page password field, used in a ManagedRuleGroupConfig.

See: newPasswordField smart constructor.

Constructors

PasswordField' 

Fields

  • identifier :: Text

    The name of the password field. For example /form/password.

Instances

Instances details
FromJSON PasswordField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PasswordField

ToJSON PasswordField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PasswordField

Generic PasswordField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PasswordField

Associated Types

type Rep PasswordField :: Type -> Type #

Read PasswordField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PasswordField

Show PasswordField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PasswordField

NFData PasswordField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PasswordField

Methods

rnf :: PasswordField -> () #

Eq PasswordField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PasswordField

Hashable PasswordField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PasswordField

type Rep PasswordField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.PasswordField

type Rep PasswordField = D1 ('MetaData "PasswordField" "Amazonka.WAFV2.Types.PasswordField" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "PasswordField'" 'PrefixI 'True) (S1 ('MetaSel ('Just "identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newPasswordField Source #

Create a value of PasswordField with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:identifier:PasswordField', passwordField_identifier - The name of the password field. For example /form/password.

passwordField_identifier :: Lens' PasswordField Text Source #

The name of the password field. For example /form/password.

QueryString

data QueryString Source #

Inspect the query string of the web request. This is the part of a URL that appears after a ? character, if any.

This is used only in the FieldToMatch specification for some web request component types.

JSON specification: "QueryString": {}

See: newQueryString smart constructor.

Constructors

QueryString' 

Instances

Instances details
FromJSON QueryString Source # 
Instance details

Defined in Amazonka.WAFV2.Types.QueryString

ToJSON QueryString Source # 
Instance details

Defined in Amazonka.WAFV2.Types.QueryString

Generic QueryString Source # 
Instance details

Defined in Amazonka.WAFV2.Types.QueryString

Associated Types

type Rep QueryString :: Type -> Type #

Read QueryString Source # 
Instance details

Defined in Amazonka.WAFV2.Types.QueryString

Show QueryString Source # 
Instance details

Defined in Amazonka.WAFV2.Types.QueryString

NFData QueryString Source # 
Instance details

Defined in Amazonka.WAFV2.Types.QueryString

Methods

rnf :: QueryString -> () #

Eq QueryString Source # 
Instance details

Defined in Amazonka.WAFV2.Types.QueryString

Hashable QueryString Source # 
Instance details

Defined in Amazonka.WAFV2.Types.QueryString

type Rep QueryString Source # 
Instance details

Defined in Amazonka.WAFV2.Types.QueryString

type Rep QueryString = D1 ('MetaData "QueryString" "Amazonka.WAFV2.Types.QueryString" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "QueryString'" 'PrefixI 'False) (U1 :: Type -> Type))

newQueryString :: QueryString Source #

Create a value of QueryString with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

RateBasedStatement

data RateBasedStatement Source #

A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests.

WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF.

When the rule action triggers, WAF blocks additional requests from the IP address until the request rate falls below the limit.

You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements:

  • An IP match statement with an IP set that specified the address 192.0.2.44.
  • A string match statement that searches in the User-Agent header for the string BadBot.

In this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet the criteria of both of the nested statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet the criteria of both of the nested statements are not counted towards the rate limit and are not affected by this rule.

You cannot nest a RateBasedStatement inside another statement, for example inside a NotStatement or OrStatement. You can define a RateBasedStatement inside a web ACL and inside a rule group.

See: newRateBasedStatement smart constructor.

Constructors

RateBasedStatement' 

Fields

  • forwardedIPConfig :: Maybe ForwardedIPConfig

    The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

    If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

    This is required if AggregateKeyType is set to FORWARDED_IP.

  • scopeDownStatement :: Maybe Statement

    An optional nested statement that narrows the scope of the web requests that are evaluated by the rate-based statement. Requests are only tracked by the rate-based statement if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

  • limit :: Natural

    The limit on requests per 5-minute period for a single originating IP address. If the statement includes a ScopeDownStatement, this limit is applied only to the requests that match the statement.

  • aggregateKeyType :: RateBasedStatementAggregateKeyType

    Setting that indicates how to aggregate the request counts. The options are the following:

    • IP - Aggregate the request counts on the IP address from the web request origin.
    • FORWARDED_IP - Aggregate the request counts on the first IP address in an HTTP header. If you use this, configure the ForwardedIPConfig, to specify the header to use.

Instances

Instances details
FromJSON RateBasedStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatement

ToJSON RateBasedStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatement

Generic RateBasedStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatement

Associated Types

type Rep RateBasedStatement :: Type -> Type #

Read RateBasedStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatement

Show RateBasedStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatement

NFData RateBasedStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatement

Methods

rnf :: RateBasedStatement -> () #

Eq RateBasedStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatement

Hashable RateBasedStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatement

type Rep RateBasedStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatement

type Rep RateBasedStatement = D1 ('MetaData "RateBasedStatement" "Amazonka.WAFV2.Types.RateBasedStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RateBasedStatement'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "forwardedIPConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ForwardedIPConfig)) :*: S1 ('MetaSel ('Just "scopeDownStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Statement))) :*: (S1 ('MetaSel ('Just "limit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "aggregateKeyType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RateBasedStatementAggregateKeyType))))

newRateBasedStatement Source #

Create a value of RateBasedStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:forwardedIPConfig:RateBasedStatement', rateBasedStatement_forwardedIPConfig - The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

This is required if AggregateKeyType is set to FORWARDED_IP.

$sel:scopeDownStatement:RateBasedStatement', rateBasedStatement_scopeDownStatement - An optional nested statement that narrows the scope of the web requests that are evaluated by the rate-based statement. Requests are only tracked by the rate-based statement if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

$sel:limit:RateBasedStatement', rateBasedStatement_limit - The limit on requests per 5-minute period for a single originating IP address. If the statement includes a ScopeDownStatement, this limit is applied only to the requests that match the statement.

$sel:aggregateKeyType:RateBasedStatement', rateBasedStatement_aggregateKeyType - Setting that indicates how to aggregate the request counts. The options are the following:

  • IP - Aggregate the request counts on the IP address from the web request origin.
  • FORWARDED_IP - Aggregate the request counts on the first IP address in an HTTP header. If you use this, configure the ForwardedIPConfig, to specify the header to use.

rateBasedStatement_forwardedIPConfig :: Lens' RateBasedStatement (Maybe ForwardedIPConfig) Source #

The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

This is required if AggregateKeyType is set to FORWARDED_IP.

rateBasedStatement_scopeDownStatement :: Lens' RateBasedStatement (Maybe Statement) Source #

An optional nested statement that narrows the scope of the web requests that are evaluated by the rate-based statement. Requests are only tracked by the rate-based statement if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

rateBasedStatement_limit :: Lens' RateBasedStatement Natural Source #

The limit on requests per 5-minute period for a single originating IP address. If the statement includes a ScopeDownStatement, this limit is applied only to the requests that match the statement.

rateBasedStatement_aggregateKeyType :: Lens' RateBasedStatement RateBasedStatementAggregateKeyType Source #

Setting that indicates how to aggregate the request counts. The options are the following:

  • IP - Aggregate the request counts on the IP address from the web request origin.
  • FORWARDED_IP - Aggregate the request counts on the first IP address in an HTTP header. If you use this, configure the ForwardedIPConfig, to specify the header to use.

RateBasedStatementManagedKeysIPSet

data RateBasedStatementManagedKeysIPSet Source #

The set of IP addresses that are currently blocked for a RateBasedStatement.

See: newRateBasedStatementManagedKeysIPSet smart constructor.

Constructors

RateBasedStatementManagedKeysIPSet' 

Fields

Instances

Instances details
FromJSON RateBasedStatementManagedKeysIPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementManagedKeysIPSet

Generic RateBasedStatementManagedKeysIPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementManagedKeysIPSet

Associated Types

type Rep RateBasedStatementManagedKeysIPSet :: Type -> Type #

Read RateBasedStatementManagedKeysIPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementManagedKeysIPSet

Show RateBasedStatementManagedKeysIPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementManagedKeysIPSet

NFData RateBasedStatementManagedKeysIPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementManagedKeysIPSet

Eq RateBasedStatementManagedKeysIPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementManagedKeysIPSet

Hashable RateBasedStatementManagedKeysIPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementManagedKeysIPSet

type Rep RateBasedStatementManagedKeysIPSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RateBasedStatementManagedKeysIPSet

type Rep RateBasedStatementManagedKeysIPSet = D1 ('MetaData "RateBasedStatementManagedKeysIPSet" "Amazonka.WAFV2.Types.RateBasedStatementManagedKeysIPSet" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RateBasedStatementManagedKeysIPSet'" 'PrefixI 'True) (S1 ('MetaSel ('Just "addresses") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])) :*: S1 ('MetaSel ('Just "iPAddressVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe IPAddressVersion))))

newRateBasedStatementManagedKeysIPSet :: RateBasedStatementManagedKeysIPSet Source #

Create a value of RateBasedStatementManagedKeysIPSet with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:addresses:RateBasedStatementManagedKeysIPSet', rateBasedStatementManagedKeysIPSet_addresses - The IP addresses that are currently blocked.

$sel:iPAddressVersion:RateBasedStatementManagedKeysIPSet', rateBasedStatementManagedKeysIPSet_iPAddressVersion - The version of the IP addresses, either IPV4 or IPV6.

Regex

data Regex Source #

A single regular expression. This is used in a RegexPatternSet.

See: newRegex smart constructor.

Constructors

Regex' 

Fields

Instances

Instances details
FromJSON Regex Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Regex

ToJSON Regex Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Regex

Generic Regex Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Regex

Associated Types

type Rep Regex :: Type -> Type #

Methods

from :: Regex -> Rep Regex x #

to :: Rep Regex x -> Regex #

Read Regex Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Regex

Show Regex Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Regex

Methods

showsPrec :: Int -> Regex -> ShowS #

show :: Regex -> String #

showList :: [Regex] -> ShowS #

NFData Regex Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Regex

Methods

rnf :: Regex -> () #

Eq Regex Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Regex

Methods

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

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

Hashable Regex Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Regex

Methods

hashWithSalt :: Int -> Regex -> Int #

hash :: Regex -> Int #

type Rep Regex Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Regex

type Rep Regex = D1 ('MetaData "Regex" "Amazonka.WAFV2.Types.Regex" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Regex'" 'PrefixI 'True) (S1 ('MetaSel ('Just "regexString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))

newRegex :: Regex Source #

Create a value of Regex with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:regexString:Regex', regex_regexString - The string representing the regular expression.

regex_regexString :: Lens' Regex (Maybe Text) Source #

The string representing the regular expression.

RegexMatchStatement

data RegexMatchStatement Source #

A rule statement used to search web request components for a match against a single regular expression.

See: newRegexMatchStatement smart constructor.

Constructors

RegexMatchStatement' 

Fields

  • regexString :: Text

    The string representing the regular expression.

  • fieldToMatch :: FieldToMatch

    The part of the web request that you want WAF to inspect.

  • textTransformations :: NonEmpty TextTransformation

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

Instances

Instances details
FromJSON RegexMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexMatchStatement

ToJSON RegexMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexMatchStatement

Generic RegexMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexMatchStatement

Associated Types

type Rep RegexMatchStatement :: Type -> Type #

Read RegexMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexMatchStatement

Show RegexMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexMatchStatement

NFData RegexMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexMatchStatement

Methods

rnf :: RegexMatchStatement -> () #

Eq RegexMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexMatchStatement

Hashable RegexMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexMatchStatement

type Rep RegexMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexMatchStatement

type Rep RegexMatchStatement = D1 ('MetaData "RegexMatchStatement" "Amazonka.WAFV2.Types.RegexMatchStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RegexMatchStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "regexString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "fieldToMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FieldToMatch) :*: S1 ('MetaSel ('Just "textTransformations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty TextTransformation)))))

newRegexMatchStatement Source #

Create a value of RegexMatchStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:regexString:RegexMatchStatement', regexMatchStatement_regexString - The string representing the regular expression.

$sel:fieldToMatch:RegexMatchStatement', regexMatchStatement_fieldToMatch - The part of the web request that you want WAF to inspect.

$sel:textTransformations:RegexMatchStatement', regexMatchStatement_textTransformations - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

regexMatchStatement_regexString :: Lens' RegexMatchStatement Text Source #

The string representing the regular expression.

regexMatchStatement_fieldToMatch :: Lens' RegexMatchStatement FieldToMatch Source #

The part of the web request that you want WAF to inspect.

regexMatchStatement_textTransformations :: Lens' RegexMatchStatement (NonEmpty TextTransformation) Source #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

RegexPatternSet

data RegexPatternSet Source #

Contains one or more regular expressions.

WAF assigns an ARN to each RegexPatternSet that you create. To use a set in a rule, you provide the ARN to the Rule statement RegexPatternSetReferenceStatement.

See: newRegexPatternSet smart constructor.

Constructors

RegexPatternSet' 

Fields

  • arn :: Maybe Text

    The Amazon Resource Name (ARN) of the entity.

  • description :: Maybe Text

    A description of the set that helps with identification.

  • id :: Maybe Text

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

  • name :: Maybe Text

    The name of the set. You cannot change the name after you create the set.

  • regularExpressionList :: Maybe [Regex]

    The regular expression patterns in the set.

Instances

Instances details
FromJSON RegexPatternSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSet

Generic RegexPatternSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSet

Associated Types

type Rep RegexPatternSet :: Type -> Type #

Read RegexPatternSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSet

Show RegexPatternSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSet

NFData RegexPatternSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSet

Methods

rnf :: RegexPatternSet -> () #

Eq RegexPatternSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSet

Hashable RegexPatternSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSet

type Rep RegexPatternSet Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSet

type Rep RegexPatternSet = D1 ('MetaData "RegexPatternSet" "Amazonka.WAFV2.Types.RegexPatternSet" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RegexPatternSet'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "regularExpressionList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Regex]))))))

newRegexPatternSet :: RegexPatternSet Source #

Create a value of RegexPatternSet with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:arn:RegexPatternSet', regexPatternSet_arn - The Amazon Resource Name (ARN) of the entity.

$sel:description:RegexPatternSet', regexPatternSet_description - A description of the set that helps with identification.

$sel:id:RegexPatternSet', regexPatternSet_id - A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

$sel:name:RegexPatternSet', regexPatternSet_name - The name of the set. You cannot change the name after you create the set.

$sel:regularExpressionList:RegexPatternSet', regexPatternSet_regularExpressionList - The regular expression patterns in the set.

regexPatternSet_arn :: Lens' RegexPatternSet (Maybe Text) Source #

The Amazon Resource Name (ARN) of the entity.

regexPatternSet_description :: Lens' RegexPatternSet (Maybe Text) Source #

A description of the set that helps with identification.

regexPatternSet_id :: Lens' RegexPatternSet (Maybe Text) Source #

A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

regexPatternSet_name :: Lens' RegexPatternSet (Maybe Text) Source #

The name of the set. You cannot change the name after you create the set.

regexPatternSet_regularExpressionList :: Lens' RegexPatternSet (Maybe [Regex]) Source #

The regular expression patterns in the set.

RegexPatternSetReferenceStatement

data RegexPatternSetReferenceStatement Source #

A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

See: newRegexPatternSetReferenceStatement smart constructor.

Constructors

RegexPatternSetReferenceStatement' 

Fields

  • arn :: Text

    The Amazon Resource Name (ARN) of the RegexPatternSet that this statement references.

  • fieldToMatch :: FieldToMatch

    The part of the web request that you want WAF to inspect.

  • textTransformations :: NonEmpty TextTransformation

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

Instances

Instances details
FromJSON RegexPatternSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement

ToJSON RegexPatternSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement

Generic RegexPatternSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement

Associated Types

type Rep RegexPatternSetReferenceStatement :: Type -> Type #

Read RegexPatternSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement

Show RegexPatternSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement

NFData RegexPatternSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement

Eq RegexPatternSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement

Hashable RegexPatternSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement

type Rep RegexPatternSetReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement

type Rep RegexPatternSetReferenceStatement = D1 ('MetaData "RegexPatternSetReferenceStatement" "Amazonka.WAFV2.Types.RegexPatternSetReferenceStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RegexPatternSetReferenceStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "fieldToMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FieldToMatch) :*: S1 ('MetaSel ('Just "textTransformations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty TextTransformation)))))

newRegexPatternSetReferenceStatement Source #

Create a value of RegexPatternSetReferenceStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:arn:RegexPatternSetReferenceStatement', regexPatternSetReferenceStatement_arn - The Amazon Resource Name (ARN) of the RegexPatternSet that this statement references.

$sel:fieldToMatch:RegexPatternSetReferenceStatement', regexPatternSetReferenceStatement_fieldToMatch - The part of the web request that you want WAF to inspect.

$sel:textTransformations:RegexPatternSetReferenceStatement', regexPatternSetReferenceStatement_textTransformations - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

regexPatternSetReferenceStatement_arn :: Lens' RegexPatternSetReferenceStatement Text Source #

The Amazon Resource Name (ARN) of the RegexPatternSet that this statement references.

regexPatternSetReferenceStatement_textTransformations :: Lens' RegexPatternSetReferenceStatement (NonEmpty TextTransformation) Source #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

RegexPatternSetSummary

data RegexPatternSetSummary Source #

High-level information about a RegexPatternSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a RegexPatternSet, and the ARN, that you provide to the RegexPatternSetReferenceStatement to use the pattern set in a Rule.

See: newRegexPatternSetSummary smart constructor.

Constructors

RegexPatternSetSummary' 

Fields

  • arn :: Maybe Text

    The Amazon Resource Name (ARN) of the entity.

  • description :: Maybe Text

    A description of the set that helps with identification.

  • id :: Maybe Text

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

  • lockToken :: Maybe Text

    A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

  • name :: Maybe Text

    The name of the data type instance. You cannot change the name after you create the instance.

Instances

Instances details
FromJSON RegexPatternSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetSummary

Generic RegexPatternSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetSummary

Associated Types

type Rep RegexPatternSetSummary :: Type -> Type #

Read RegexPatternSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetSummary

Show RegexPatternSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetSummary

NFData RegexPatternSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetSummary

Methods

rnf :: RegexPatternSetSummary -> () #

Eq RegexPatternSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetSummary

Hashable RegexPatternSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetSummary

type Rep RegexPatternSetSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RegexPatternSetSummary

type Rep RegexPatternSetSummary = D1 ('MetaData "RegexPatternSetSummary" "Amazonka.WAFV2.Types.RegexPatternSetSummary" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RegexPatternSetSummary'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "lockToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))))

newRegexPatternSetSummary :: RegexPatternSetSummary Source #

Create a value of RegexPatternSetSummary with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:arn:RegexPatternSetSummary', regexPatternSetSummary_arn - The Amazon Resource Name (ARN) of the entity.

$sel:description:RegexPatternSetSummary', regexPatternSetSummary_description - A description of the set that helps with identification.

$sel:id:RegexPatternSetSummary', regexPatternSetSummary_id - A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

$sel:lockToken:RegexPatternSetSummary', regexPatternSetSummary_lockToken - A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

$sel:name:RegexPatternSetSummary', regexPatternSetSummary_name - The name of the data type instance. You cannot change the name after you create the instance.

regexPatternSetSummary_arn :: Lens' RegexPatternSetSummary (Maybe Text) Source #

The Amazon Resource Name (ARN) of the entity.

regexPatternSetSummary_description :: Lens' RegexPatternSetSummary (Maybe Text) Source #

A description of the set that helps with identification.

regexPatternSetSummary_id :: Lens' RegexPatternSetSummary (Maybe Text) Source #

A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

regexPatternSetSummary_lockToken :: Lens' RegexPatternSetSummary (Maybe Text) Source #

A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

regexPatternSetSummary_name :: Lens' RegexPatternSetSummary (Maybe Text) Source #

The name of the data type instance. You cannot change the name after you create the instance.

ReleaseSummary

data ReleaseSummary Source #

High level information for an SDK release.

See: newReleaseSummary smart constructor.

Constructors

ReleaseSummary' 

Fields

Instances

Instances details
FromJSON ReleaseSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ReleaseSummary

Generic ReleaseSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ReleaseSummary

Associated Types

type Rep ReleaseSummary :: Type -> Type #

Read ReleaseSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ReleaseSummary

Show ReleaseSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ReleaseSummary

NFData ReleaseSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ReleaseSummary

Methods

rnf :: ReleaseSummary -> () #

Eq ReleaseSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ReleaseSummary

Hashable ReleaseSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ReleaseSummary

type Rep ReleaseSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.ReleaseSummary

type Rep ReleaseSummary = D1 ('MetaData "ReleaseSummary" "Amazonka.WAFV2.Types.ReleaseSummary" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "ReleaseSummary'" 'PrefixI 'True) (S1 ('MetaSel ('Just "releaseVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX))))

newReleaseSummary :: ReleaseSummary Source #

Create a value of ReleaseSummary with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:releaseVersion:ReleaseSummary', releaseSummary_releaseVersion - The release version.

$sel:timestamp:ReleaseSummary', releaseSummary_timestamp - The timestamp of the release.

Rule

data Rule Source #

A single rule, which you can use in a WebACL or RuleGroup to identify web requests that you want to allow, block, or count. Each rule includes one top-level Statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

See: newRule smart constructor.

Constructors

Rule' 

Fields

  • action :: Maybe RuleAction

    The action that WAF should take on a web request when it matches the rule statement. Settings at the web ACL level can override the rule action setting.

    This is used only for rules whose statements do not reference a rule group. Rule statements that reference a rule group include RuleGroupReferenceStatement and ManagedRuleGroupStatement.

    You must specify either this Action setting or the rule OverrideAction setting, but not both:

    • If the rule statement does not reference a rule group, use this rule action setting and not the rule override action setting.
    • If the rule statement references a rule group, use the override action setting and not this action setting.
  • captchaConfig :: Maybe CaptchaConfig

    Specifies how WAF should handle CAPTCHA evaluations. If you don't specify this, WAF uses the CAPTCHA configuration that's defined for the web ACL.

  • challengeConfig :: Maybe ChallengeConfig

    Specifies how WAF should handle Challenge evaluations. If you don't specify this, WAF uses the challenge configuration that's defined for the web ACL.

  • overrideAction :: Maybe OverrideAction

    The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

    You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

    This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

  • ruleLabels :: Maybe [Label]

    Labels to apply to web requests that match the rule match statement. WAF applies fully qualified labels to matching web requests. A fully qualified label is the concatenation of a label namespace and a rule label. The rule's rule group or web ACL defines the label namespace.

    Rules that run after this rule in the web ACL can match against these labels using a LabelMatchStatement.

    For each label, provide a case-sensitive string containing optional namespaces and a label name, according to the following guidelines:

    • Separate each component of the label with a colon.
    • Each namespace or name can have up to 128 characters.
    • You can specify up to 5 namespaces in a label.
    • Don't use the following reserved words in your label specification: aws, waf, managed, rulegroup, webacl, regexpatternset, or ipset.

    For example, myLabelName or nameSpace1:nameSpace2:myLabelName.

  • name :: Text

    The name of the rule. You can't change the name of a Rule after you create it.

  • priority :: Natural

    If you define more than one Rule in a WebACL, WAF evaluates each request against the Rules in order based on the value of Priority. WAF processes rules with lower priority first. The priorities don't need to be consecutive, but they must all be different.

  • statement :: Statement

    The WAF processing statement for the rule, for example ByteMatchStatement or SizeConstraintStatement.

  • visibilityConfig :: VisibilityConfig

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

Instances

Instances details
FromJSON Rule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Rule

ToJSON Rule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Rule

Generic Rule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Rule

Associated Types

type Rep Rule :: Type -> Type #

Methods

from :: Rule -> Rep Rule x #

to :: Rep Rule x -> Rule #

Read Rule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Rule

Show Rule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Rule

Methods

showsPrec :: Int -> Rule -> ShowS #

show :: Rule -> String #

showList :: [Rule] -> ShowS #

NFData Rule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Rule

Methods

rnf :: Rule -> () #

Eq Rule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Rule

Methods

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

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

Hashable Rule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Rule

Methods

hashWithSalt :: Int -> Rule -> Int #

hash :: Rule -> Int #

type Rep Rule Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Rule

newRule Source #

Create a value of Rule with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:action:Rule', rule_action - The action that WAF should take on a web request when it matches the rule statement. Settings at the web ACL level can override the rule action setting.

This is used only for rules whose statements do not reference a rule group. Rule statements that reference a rule group include RuleGroupReferenceStatement and ManagedRuleGroupStatement.

You must specify either this Action setting or the rule OverrideAction setting, but not both:

  • If the rule statement does not reference a rule group, use this rule action setting and not the rule override action setting.
  • If the rule statement references a rule group, use the override action setting and not this action setting.

$sel:captchaConfig:Rule', rule_captchaConfig - Specifies how WAF should handle CAPTCHA evaluations. If you don't specify this, WAF uses the CAPTCHA configuration that's defined for the web ACL.

$sel:challengeConfig:Rule', rule_challengeConfig - Specifies how WAF should handle Challenge evaluations. If you don't specify this, WAF uses the challenge configuration that's defined for the web ACL.

$sel:overrideAction:Rule', rule_overrideAction - The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

$sel:ruleLabels:Rule', rule_ruleLabels - Labels to apply to web requests that match the rule match statement. WAF applies fully qualified labels to matching web requests. A fully qualified label is the concatenation of a label namespace and a rule label. The rule's rule group or web ACL defines the label namespace.

Rules that run after this rule in the web ACL can match against these labels using a LabelMatchStatement.

For each label, provide a case-sensitive string containing optional namespaces and a label name, according to the following guidelines:

  • Separate each component of the label with a colon.
  • Each namespace or name can have up to 128 characters.
  • You can specify up to 5 namespaces in a label.
  • Don't use the following reserved words in your label specification: aws, waf, managed, rulegroup, webacl, regexpatternset, or ipset.

For example, myLabelName or nameSpace1:nameSpace2:myLabelName.

Rule, rule_name - The name of the rule. You can't change the name of a Rule after you create it.

$sel:priority:Rule', rule_priority - If you define more than one Rule in a WebACL, WAF evaluates each request against the Rules in order based on the value of Priority. WAF processes rules with lower priority first. The priorities don't need to be consecutive, but they must all be different.

$sel:statement:Rule', rule_statement - The WAF processing statement for the rule, for example ByteMatchStatement or SizeConstraintStatement.

$sel:visibilityConfig:Rule', rule_visibilityConfig - Defines and enables Amazon CloudWatch metrics and web request sample collection.

rule_action :: Lens' Rule (Maybe RuleAction) Source #

The action that WAF should take on a web request when it matches the rule statement. Settings at the web ACL level can override the rule action setting.

This is used only for rules whose statements do not reference a rule group. Rule statements that reference a rule group include RuleGroupReferenceStatement and ManagedRuleGroupStatement.

You must specify either this Action setting or the rule OverrideAction setting, but not both:

  • If the rule statement does not reference a rule group, use this rule action setting and not the rule override action setting.
  • If the rule statement references a rule group, use the override action setting and not this action setting.

rule_captchaConfig :: Lens' Rule (Maybe CaptchaConfig) Source #

Specifies how WAF should handle CAPTCHA evaluations. If you don't specify this, WAF uses the CAPTCHA configuration that's defined for the web ACL.

rule_challengeConfig :: Lens' Rule (Maybe ChallengeConfig) Source #

Specifies how WAF should handle Challenge evaluations. If you don't specify this, WAF uses the challenge configuration that's defined for the web ACL.

rule_overrideAction :: Lens' Rule (Maybe OverrideAction) Source #

The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

rule_ruleLabels :: Lens' Rule (Maybe [Label]) Source #

Labels to apply to web requests that match the rule match statement. WAF applies fully qualified labels to matching web requests. A fully qualified label is the concatenation of a label namespace and a rule label. The rule's rule group or web ACL defines the label namespace.

Rules that run after this rule in the web ACL can match against these labels using a LabelMatchStatement.

For each label, provide a case-sensitive string containing optional namespaces and a label name, according to the following guidelines:

  • Separate each component of the label with a colon.
  • Each namespace or name can have up to 128 characters.
  • You can specify up to 5 namespaces in a label.
  • Don't use the following reserved words in your label specification: aws, waf, managed, rulegroup, webacl, regexpatternset, or ipset.

For example, myLabelName or nameSpace1:nameSpace2:myLabelName.

rule_name :: Lens' Rule Text Source #

The name of the rule. You can't change the name of a Rule after you create it.

rule_priority :: Lens' Rule Natural Source #

If you define more than one Rule in a WebACL, WAF evaluates each request against the Rules in order based on the value of Priority. WAF processes rules with lower priority first. The priorities don't need to be consecutive, but they must all be different.

rule_statement :: Lens' Rule Statement Source #

The WAF processing statement for the rule, for example ByteMatchStatement or SizeConstraintStatement.

rule_visibilityConfig :: Lens' Rule VisibilityConfig Source #

Defines and enables Amazon CloudWatch metrics and web request sample collection.

RuleAction

data RuleAction Source #

The action that WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

See: newRuleAction smart constructor.

Constructors

RuleAction' 

Fields

Instances

Instances details
FromJSON RuleAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleAction

ToJSON RuleAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleAction

Generic RuleAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleAction

Associated Types

type Rep RuleAction :: Type -> Type #

Read RuleAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleAction

Show RuleAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleAction

NFData RuleAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleAction

Methods

rnf :: RuleAction -> () #

Eq RuleAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleAction

Hashable RuleAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleAction

type Rep RuleAction Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleAction

newRuleAction :: RuleAction Source #

Create a value of RuleAction with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:allow:RuleAction', ruleAction_allow - Instructs WAF to allow the web request.

$sel:block:RuleAction', ruleAction_block - Instructs WAF to block the web request.

$sel:captcha:RuleAction', ruleAction_captcha - Instructs WAF to run a CAPTCHA check against the web request.

$sel:challenge:RuleAction', ruleAction_challenge - Instructs WAF to run a Challenge check against the web request.

$sel:count:RuleAction', ruleAction_count - Instructs WAF to count the web request and then continue evaluating the request using the remaining rules in the web ACL.

ruleAction_allow :: Lens' RuleAction (Maybe AllowAction) Source #

Instructs WAF to allow the web request.

ruleAction_block :: Lens' RuleAction (Maybe BlockAction) Source #

Instructs WAF to block the web request.

ruleAction_captcha :: Lens' RuleAction (Maybe CaptchaAction) Source #

Instructs WAF to run a CAPTCHA check against the web request.

ruleAction_challenge :: Lens' RuleAction (Maybe ChallengeAction) Source #

Instructs WAF to run a Challenge check against the web request.

ruleAction_count :: Lens' RuleAction (Maybe CountAction) Source #

Instructs WAF to count the web request and then continue evaluating the request using the remaining rules in the web ACL.

RuleActionOverride

data RuleActionOverride Source #

Action setting to use in the place of a rule action that is configured inside the rule group. You specify one override for each rule whose action you want to change.

You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

See: newRuleActionOverride smart constructor.

Constructors

RuleActionOverride' 

Fields

  • name :: Text

    The name of the rule to override.

  • actionToUse :: RuleAction

    The override action to use, in place of the configured action of the rule in the rule group.

Instances

Instances details
FromJSON RuleActionOverride Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleActionOverride

ToJSON RuleActionOverride Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleActionOverride

Generic RuleActionOverride Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleActionOverride

Associated Types

type Rep RuleActionOverride :: Type -> Type #

Read RuleActionOverride Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleActionOverride

Show RuleActionOverride Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleActionOverride

NFData RuleActionOverride Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleActionOverride

Methods

rnf :: RuleActionOverride -> () #

Eq RuleActionOverride Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleActionOverride

Hashable RuleActionOverride Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleActionOverride

type Rep RuleActionOverride Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleActionOverride

type Rep RuleActionOverride = D1 ('MetaData "RuleActionOverride" "Amazonka.WAFV2.Types.RuleActionOverride" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RuleActionOverride'" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "actionToUse") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RuleAction)))

newRuleActionOverride Source #

Create a value of RuleActionOverride with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:name:RuleActionOverride', ruleActionOverride_name - The name of the rule to override.

$sel:actionToUse:RuleActionOverride', ruleActionOverride_actionToUse - The override action to use, in place of the configured action of the rule in the rule group.

ruleActionOverride_name :: Lens' RuleActionOverride Text Source #

The name of the rule to override.

ruleActionOverride_actionToUse :: Lens' RuleActionOverride RuleAction Source #

The override action to use, in place of the configured action of the rule in the rule group.

RuleGroup

data RuleGroup Source #

A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.

See: newRuleGroup smart constructor.

Constructors

RuleGroup' 

Fields

  • availableLabels :: Maybe [LabelSummary]

    The labels that one or more rules in this rule group add to matching web requests. These labels are defined in the RuleLabels for a Rule.

  • consumedLabels :: Maybe [LabelSummary]

    The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a LabelMatchStatement specification, in the Statement definition of a rule.

  • customResponseBodies :: Maybe (HashMap Text CustomResponseBody)

    A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group.

    For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

    For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

  • description :: Maybe Text

    A description of the rule group that helps with identification.

  • labelNamespace :: Maybe Text

    The label namespace prefix for this rule group. All labels added by rules in this rule group have this prefix.

    • The syntax for the label namespace prefix for your rule groups is the following:

      awswaf:<account ID>:rulegroup:<rule group name>:
    • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

      <label namespace>:<label from rule>
  • rules :: Maybe [Rule]

    The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

  • name :: Text

    The name of the rule group. You cannot change the name of a rule group after you create it.

  • id :: Text

    A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

  • capacity :: Natural

    The web ACL capacity units (WCUs) required for this rule group.

    When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, WAF enforces this limit. You can check the capacity for a set of rules using CheckCapacity.

    WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

  • arn :: Text

    The Amazon Resource Name (ARN) of the entity.

  • visibilityConfig :: VisibilityConfig

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

Instances

Instances details
FromJSON RuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroup

Generic RuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroup

Associated Types

type Rep RuleGroup :: Type -> Type #

Read RuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroup

Show RuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroup

NFData RuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroup

Methods

rnf :: RuleGroup -> () #

Eq RuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroup

Hashable RuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroup

type Rep RuleGroup Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroup

newRuleGroup Source #

Create a value of RuleGroup with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:availableLabels:RuleGroup', ruleGroup_availableLabels - The labels that one or more rules in this rule group add to matching web requests. These labels are defined in the RuleLabels for a Rule.

$sel:consumedLabels:RuleGroup', ruleGroup_consumedLabels - The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a LabelMatchStatement specification, in the Statement definition of a rule.

$sel:customResponseBodies:RuleGroup', ruleGroup_customResponseBodies - A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

$sel:description:RuleGroup', ruleGroup_description - A description of the rule group that helps with identification.

$sel:labelNamespace:RuleGroup', ruleGroup_labelNamespace - The label namespace prefix for this rule group. All labels added by rules in this rule group have this prefix.

  • The syntax for the label namespace prefix for your rule groups is the following:

    awswaf:<account ID>:rulegroup:<rule group name>:
  • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

    <label namespace>:<label from rule>

$sel:rules:RuleGroup', ruleGroup_rules - The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

RuleGroup, ruleGroup_name - The name of the rule group. You cannot change the name of a rule group after you create it.

$sel:id:RuleGroup', ruleGroup_id - A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

$sel:capacity:RuleGroup', ruleGroup_capacity - The web ACL capacity units (WCUs) required for this rule group.

When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, WAF enforces this limit. You can check the capacity for a set of rules using CheckCapacity.

WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

$sel:arn:RuleGroup', ruleGroup_arn - The Amazon Resource Name (ARN) of the entity.

RuleGroup, ruleGroup_visibilityConfig - Defines and enables Amazon CloudWatch metrics and web request sample collection.

ruleGroup_availableLabels :: Lens' RuleGroup (Maybe [LabelSummary]) Source #

The labels that one or more rules in this rule group add to matching web requests. These labels are defined in the RuleLabels for a Rule.

ruleGroup_consumedLabels :: Lens' RuleGroup (Maybe [LabelSummary]) Source #

The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a LabelMatchStatement specification, in the Statement definition of a rule.

ruleGroup_customResponseBodies :: Lens' RuleGroup (Maybe (HashMap Text CustomResponseBody)) Source #

A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

ruleGroup_description :: Lens' RuleGroup (Maybe Text) Source #

A description of the rule group that helps with identification.

ruleGroup_labelNamespace :: Lens' RuleGroup (Maybe Text) Source #

The label namespace prefix for this rule group. All labels added by rules in this rule group have this prefix.

  • The syntax for the label namespace prefix for your rule groups is the following:

    awswaf:<account ID>:rulegroup:<rule group name>:
  • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

    <label namespace>:<label from rule>

ruleGroup_rules :: Lens' RuleGroup (Maybe [Rule]) Source #

The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

ruleGroup_name :: Lens' RuleGroup Text Source #

The name of the rule group. You cannot change the name of a rule group after you create it.

ruleGroup_id :: Lens' RuleGroup Text Source #

A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

ruleGroup_capacity :: Lens' RuleGroup Natural Source #

The web ACL capacity units (WCUs) required for this rule group.

When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, WAF enforces this limit. You can check the capacity for a set of rules using CheckCapacity.

WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

ruleGroup_arn :: Lens' RuleGroup Text Source #

The Amazon Resource Name (ARN) of the entity.

ruleGroup_visibilityConfig :: Lens' RuleGroup VisibilityConfig Source #

Defines and enables Amazon CloudWatch metrics and web request sample collection.

RuleGroupReferenceStatement

data RuleGroupReferenceStatement Source #

A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You can only use a rule group reference statement at the top level inside a web ACL.

See: newRuleGroupReferenceStatement smart constructor.

Constructors

RuleGroupReferenceStatement' 

Fields

  • excludedRules :: Maybe [ExcludedRule]

    Rules in the referenced rule group whose actions are set to Count.

    Instead of this option, use RuleActionOverrides. It accepts any valid action setting, including Count.

  • ruleActionOverrides :: Maybe (NonEmpty RuleActionOverride)

    Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

    You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

  • arn :: Text

    The Amazon Resource Name (ARN) of the entity.

Instances

Instances details
FromJSON RuleGroupReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupReferenceStatement

ToJSON RuleGroupReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupReferenceStatement

Generic RuleGroupReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupReferenceStatement

Associated Types

type Rep RuleGroupReferenceStatement :: Type -> Type #

Read RuleGroupReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupReferenceStatement

Show RuleGroupReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupReferenceStatement

NFData RuleGroupReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupReferenceStatement

Eq RuleGroupReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupReferenceStatement

Hashable RuleGroupReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupReferenceStatement

type Rep RuleGroupReferenceStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupReferenceStatement

type Rep RuleGroupReferenceStatement = D1 ('MetaData "RuleGroupReferenceStatement" "Amazonka.WAFV2.Types.RuleGroupReferenceStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RuleGroupReferenceStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "excludedRules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [ExcludedRule])) :*: (S1 ('MetaSel ('Just "ruleActionOverrides") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty RuleActionOverride))) :*: S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))))

newRuleGroupReferenceStatement Source #

Create a value of RuleGroupReferenceStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:excludedRules:RuleGroupReferenceStatement', ruleGroupReferenceStatement_excludedRules - Rules in the referenced rule group whose actions are set to Count.

Instead of this option, use RuleActionOverrides. It accepts any valid action setting, including Count.

$sel:ruleActionOverrides:RuleGroupReferenceStatement', ruleGroupReferenceStatement_ruleActionOverrides - Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

$sel:arn:RuleGroupReferenceStatement', ruleGroupReferenceStatement_arn - The Amazon Resource Name (ARN) of the entity.

ruleGroupReferenceStatement_excludedRules :: Lens' RuleGroupReferenceStatement (Maybe [ExcludedRule]) Source #

Rules in the referenced rule group whose actions are set to Count.

Instead of this option, use RuleActionOverrides. It accepts any valid action setting, including Count.

ruleGroupReferenceStatement_ruleActionOverrides :: Lens' RuleGroupReferenceStatement (Maybe (NonEmpty RuleActionOverride)) Source #

Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

ruleGroupReferenceStatement_arn :: Lens' RuleGroupReferenceStatement Text Source #

The Amazon Resource Name (ARN) of the entity.

RuleGroupSummary

data RuleGroupSummary Source #

High-level information about a RuleGroup, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a RuleGroup, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.

See: newRuleGroupSummary smart constructor.

Constructors

RuleGroupSummary' 

Fields

  • arn :: Maybe Text

    The Amazon Resource Name (ARN) of the entity.

  • description :: Maybe Text

    A description of the rule group that helps with identification.

  • id :: Maybe Text

    A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

  • lockToken :: Maybe Text

    A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

  • name :: Maybe Text

    The name of the data type instance. You cannot change the name after you create the instance.

Instances

Instances details
FromJSON RuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupSummary

Generic RuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupSummary

Associated Types

type Rep RuleGroupSummary :: Type -> Type #

Read RuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupSummary

Show RuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupSummary

NFData RuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupSummary

Methods

rnf :: RuleGroupSummary -> () #

Eq RuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupSummary

Hashable RuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupSummary

type Rep RuleGroupSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleGroupSummary

type Rep RuleGroupSummary = D1 ('MetaData "RuleGroupSummary" "Amazonka.WAFV2.Types.RuleGroupSummary" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RuleGroupSummary'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "lockToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))))

newRuleGroupSummary :: RuleGroupSummary Source #

Create a value of RuleGroupSummary with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:arn:RuleGroupSummary', ruleGroupSummary_arn - The Amazon Resource Name (ARN) of the entity.

$sel:description:RuleGroupSummary', ruleGroupSummary_description - A description of the rule group that helps with identification.

$sel:id:RuleGroupSummary', ruleGroupSummary_id - A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

$sel:lockToken:RuleGroupSummary', ruleGroupSummary_lockToken - A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

$sel:name:RuleGroupSummary', ruleGroupSummary_name - The name of the data type instance. You cannot change the name after you create the instance.

ruleGroupSummary_arn :: Lens' RuleGroupSummary (Maybe Text) Source #

The Amazon Resource Name (ARN) of the entity.

ruleGroupSummary_description :: Lens' RuleGroupSummary (Maybe Text) Source #

A description of the rule group that helps with identification.

ruleGroupSummary_id :: Lens' RuleGroupSummary (Maybe Text) Source #

A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

ruleGroupSummary_lockToken :: Lens' RuleGroupSummary (Maybe Text) Source #

A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

ruleGroupSummary_name :: Lens' RuleGroupSummary (Maybe Text) Source #

The name of the data type instance. You cannot change the name after you create the instance.

RuleSummary

data RuleSummary Source #

High-level information about a Rule, returned by operations like DescribeManagedRuleGroup. This provides information like the ID, that you can use to retrieve and manage a RuleGroup, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.

See: newRuleSummary smart constructor.

Constructors

RuleSummary' 

Fields

  • action :: Maybe RuleAction

    The action that WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

  • name :: Maybe Text

    The name of the rule.

Instances

Instances details
FromJSON RuleSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleSummary

Generic RuleSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleSummary

Associated Types

type Rep RuleSummary :: Type -> Type #

Read RuleSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleSummary

Show RuleSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleSummary

NFData RuleSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleSummary

Methods

rnf :: RuleSummary -> () #

Eq RuleSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleSummary

Hashable RuleSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleSummary

type Rep RuleSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.RuleSummary

type Rep RuleSummary = D1 ('MetaData "RuleSummary" "Amazonka.WAFV2.Types.RuleSummary" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "RuleSummary'" 'PrefixI 'True) (S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RuleAction)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))

newRuleSummary :: RuleSummary Source #

Create a value of RuleSummary with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:action:RuleSummary', ruleSummary_action - The action that WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

$sel:name:RuleSummary', ruleSummary_name - The name of the rule.

ruleSummary_action :: Lens' RuleSummary (Maybe RuleAction) Source #

The action that WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

ruleSummary_name :: Lens' RuleSummary (Maybe Text) Source #

The name of the rule.

SampledHTTPRequest

data SampledHTTPRequest Source #

Represents a single sampled web request. The response from GetSampledRequests includes a SampledHTTPRequests complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests contains an array of SampledHTTPRequest objects.

See: newSampledHTTPRequest smart constructor.

Constructors

SampledHTTPRequest' 

Fields

  • action :: Maybe Text

    The action that WAF applied to the request.

  • captchaResponse :: Maybe CaptchaResponse

    The CAPTCHA response for the request.

  • challengeResponse :: Maybe ChallengeResponse

    The Challenge response for the request.

  • labels :: Maybe [Label]

    Labels applied to the web request by matching rules. WAF applies fully qualified labels to matching web requests. A fully qualified label is the concatenation of a label namespace and a rule label. The rule's rule group or web ACL defines the label namespace.

    For example, awswaf:111122223333:myRuleGroup:testRules:testNS1:testNS2:labelNameA or awswaf:managed:aws:managed-rule-set:header:encoding:utf8.

  • overriddenAction :: Maybe Text

    Used only for rule group rules that have a rule action override in place in the web ACL. This is the action that the rule group rule is configured for, and not the action that was applied to the request. The action that WAF applied is the Action value.

  • requestHeadersInserted :: Maybe [HTTPHeader]

    Custom request headers inserted by WAF into the request, according to the custom request configuration for the matching rule action.

  • responseCodeSent :: Maybe Natural

    The response code that was sent for the request.

  • ruleNameWithinRuleGroup :: Maybe Text

    The name of the Rule that the request matched. For managed rule groups, the format for this name is <vendor name>#<managed rule group name>#<rule name>. For your own rule groups, the format for this name is <rule group name>#<rule name>. If the rule is not in a rule group, this field is absent.

  • timestamp :: Maybe POSIX

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

  • request :: HTTPRequest

    A complex type that contains detailed information about the request.

  • weight :: Natural

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

Instances

Instances details
FromJSON SampledHTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SampledHTTPRequest

Generic SampledHTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SampledHTTPRequest

Associated Types

type Rep SampledHTTPRequest :: Type -> Type #

Read SampledHTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SampledHTTPRequest

Show SampledHTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SampledHTTPRequest

NFData SampledHTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SampledHTTPRequest

Methods

rnf :: SampledHTTPRequest -> () #

Eq SampledHTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SampledHTTPRequest

Hashable SampledHTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SampledHTTPRequest

type Rep SampledHTTPRequest Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SampledHTTPRequest

type Rep SampledHTTPRequest = D1 ('MetaData "SampledHTTPRequest" "Amazonka.WAFV2.Types.SampledHTTPRequest" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "SampledHTTPRequest'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "captchaResponse") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CaptchaResponse))) :*: (S1 ('MetaSel ('Just "challengeResponse") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ChallengeResponse)) :*: (S1 ('MetaSel ('Just "labels") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Label])) :*: S1 ('MetaSel ('Just "overriddenAction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))) :*: ((S1 ('MetaSel ('Just "requestHeadersInserted") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [HTTPHeader])) :*: (S1 ('MetaSel ('Just "responseCodeSent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "ruleNameWithinRuleGroup") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX)) :*: (S1 ('MetaSel ('Just "request") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 HTTPRequest) :*: S1 ('MetaSel ('Just "weight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural))))))

newSampledHTTPRequest Source #

Create a value of SampledHTTPRequest with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:action:SampledHTTPRequest', sampledHTTPRequest_action - The action that WAF applied to the request.

$sel:captchaResponse:SampledHTTPRequest', sampledHTTPRequest_captchaResponse - The CAPTCHA response for the request.

$sel:challengeResponse:SampledHTTPRequest', sampledHTTPRequest_challengeResponse - The Challenge response for the request.

$sel:labels:SampledHTTPRequest', sampledHTTPRequest_labels - Labels applied to the web request by matching rules. WAF applies fully qualified labels to matching web requests. A fully qualified label is the concatenation of a label namespace and a rule label. The rule's rule group or web ACL defines the label namespace.

For example, awswaf:111122223333:myRuleGroup:testRules:testNS1:testNS2:labelNameA or awswaf:managed:aws:managed-rule-set:header:encoding:utf8.

$sel:overriddenAction:SampledHTTPRequest', sampledHTTPRequest_overriddenAction - Used only for rule group rules that have a rule action override in place in the web ACL. This is the action that the rule group rule is configured for, and not the action that was applied to the request. The action that WAF applied is the Action value.

$sel:requestHeadersInserted:SampledHTTPRequest', sampledHTTPRequest_requestHeadersInserted - Custom request headers inserted by WAF into the request, according to the custom request configuration for the matching rule action.

$sel:responseCodeSent:SampledHTTPRequest', sampledHTTPRequest_responseCodeSent - The response code that was sent for the request.

$sel:ruleNameWithinRuleGroup:SampledHTTPRequest', sampledHTTPRequest_ruleNameWithinRuleGroup - The name of the Rule that the request matched. For managed rule groups, the format for this name is <vendor name>#<managed rule group name>#<rule name>. For your own rule groups, the format for this name is <rule group name>#<rule name>. If the rule is not in a rule group, this field is absent.

$sel:timestamp:SampledHTTPRequest', sampledHTTPRequest_timestamp - The time at which WAF received the request from your Amazon Web Services resource, in Unix time format (in seconds).

$sel:request:SampledHTTPRequest', sampledHTTPRequest_request - A complex type that contains detailed information about the request.

$sel:weight:SampledHTTPRequest', sampledHTTPRequest_weight - A value that indicates how one result in the response relates proportionally to other results in the response. For example, a result that has a weight of 2 represents roughly twice as many web requests as a result that has a weight of 1.

sampledHTTPRequest_action :: Lens' SampledHTTPRequest (Maybe Text) Source #

The action that WAF applied to the request.

sampledHTTPRequest_labels :: Lens' SampledHTTPRequest (Maybe [Label]) Source #

Labels applied to the web request by matching rules. WAF applies fully qualified labels to matching web requests. A fully qualified label is the concatenation of a label namespace and a rule label. The rule's rule group or web ACL defines the label namespace.

For example, awswaf:111122223333:myRuleGroup:testRules:testNS1:testNS2:labelNameA or awswaf:managed:aws:managed-rule-set:header:encoding:utf8.

sampledHTTPRequest_overriddenAction :: Lens' SampledHTTPRequest (Maybe Text) Source #

Used only for rule group rules that have a rule action override in place in the web ACL. This is the action that the rule group rule is configured for, and not the action that was applied to the request. The action that WAF applied is the Action value.

sampledHTTPRequest_requestHeadersInserted :: Lens' SampledHTTPRequest (Maybe [HTTPHeader]) Source #

Custom request headers inserted by WAF into the request, according to the custom request configuration for the matching rule action.

sampledHTTPRequest_responseCodeSent :: Lens' SampledHTTPRequest (Maybe Natural) Source #

The response code that was sent for the request.

sampledHTTPRequest_ruleNameWithinRuleGroup :: Lens' SampledHTTPRequest (Maybe Text) Source #

The name of the Rule that the request matched. For managed rule groups, the format for this name is <vendor name>#<managed rule group name>#<rule name>. For your own rule groups, the format for this name is <rule group name>#<rule name>. If the rule is not in a rule group, this field is absent.

sampledHTTPRequest_timestamp :: Lens' SampledHTTPRequest (Maybe UTCTime) Source #

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

sampledHTTPRequest_request :: Lens' SampledHTTPRequest HTTPRequest Source #

A complex type that contains detailed information about the request.

sampledHTTPRequest_weight :: Lens' SampledHTTPRequest Natural Source #

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

SingleHeader

data SingleHeader Source #

Inspect one of the headers in the web request, identified by name, for example, User-Agent or Referer. The name isn't case sensitive.

You can filter and inspect all headers with the FieldToMatch setting Headers.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

Example JSON: "SingleHeader": { "Name": "haystack" }

See: newSingleHeader smart constructor.

Constructors

SingleHeader' 

Fields

  • name :: Text

    The name of the query header to inspect.

Instances

Instances details
FromJSON SingleHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleHeader

ToJSON SingleHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleHeader

Generic SingleHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleHeader

Associated Types

type Rep SingleHeader :: Type -> Type #

Read SingleHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleHeader

Show SingleHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleHeader

NFData SingleHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleHeader

Methods

rnf :: SingleHeader -> () #

Eq SingleHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleHeader

Hashable SingleHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleHeader

type Rep SingleHeader Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleHeader

type Rep SingleHeader = D1 ('MetaData "SingleHeader" "Amazonka.WAFV2.Types.SingleHeader" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "SingleHeader'" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newSingleHeader Source #

Create a value of SingleHeader with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:name:SingleHeader', singleHeader_name - The name of the query header to inspect.

singleHeader_name :: Lens' SingleHeader Text Source #

The name of the query header to inspect.

SingleQueryArgument

data SingleQueryArgument Source #

Inspect one query argument in the web request, identified by name, for example UserName or SalesRegion. The name isn't case sensitive.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

Example JSON: "SingleQueryArgument": { "Name": "myArgument" }

See: newSingleQueryArgument smart constructor.

Constructors

SingleQueryArgument' 

Fields

  • name :: Text

    The name of the query argument to inspect.

Instances

Instances details
FromJSON SingleQueryArgument Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleQueryArgument

ToJSON SingleQueryArgument Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleQueryArgument

Generic SingleQueryArgument Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleQueryArgument

Associated Types

type Rep SingleQueryArgument :: Type -> Type #

Read SingleQueryArgument Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleQueryArgument

Show SingleQueryArgument Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleQueryArgument

NFData SingleQueryArgument Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleQueryArgument

Methods

rnf :: SingleQueryArgument -> () #

Eq SingleQueryArgument Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleQueryArgument

Hashable SingleQueryArgument Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleQueryArgument

type Rep SingleQueryArgument Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SingleQueryArgument

type Rep SingleQueryArgument = D1 ('MetaData "SingleQueryArgument" "Amazonka.WAFV2.Types.SingleQueryArgument" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "SingleQueryArgument'" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newSingleQueryArgument Source #

Create a value of SingleQueryArgument with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:name:SingleQueryArgument', singleQueryArgument_name - The name of the query argument to inspect.

singleQueryArgument_name :: Lens' SingleQueryArgument Text Source #

The name of the query argument to inspect.

SizeConstraintStatement

data SizeConstraintStatement Source #

A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

If you configure WAF to inspect the request body, WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.

If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

See: newSizeConstraintStatement smart constructor.

Constructors

SizeConstraintStatement' 

Fields

  • fieldToMatch :: FieldToMatch

    The part of the web request that you want WAF to inspect.

  • comparisonOperator :: ComparisonOperator

    The operator to use to compare the request part to the size setting.

  • size :: Natural

    The size, in byte, to compare to the request part, after any transformations.

  • textTransformations :: NonEmpty TextTransformation

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

Instances

Instances details
FromJSON SizeConstraintStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SizeConstraintStatement

ToJSON SizeConstraintStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SizeConstraintStatement

Generic SizeConstraintStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SizeConstraintStatement

Associated Types

type Rep SizeConstraintStatement :: Type -> Type #

Read SizeConstraintStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SizeConstraintStatement

Show SizeConstraintStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SizeConstraintStatement

NFData SizeConstraintStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SizeConstraintStatement

Methods

rnf :: SizeConstraintStatement -> () #

Eq SizeConstraintStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SizeConstraintStatement

Hashable SizeConstraintStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SizeConstraintStatement

type Rep SizeConstraintStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SizeConstraintStatement

type Rep SizeConstraintStatement = D1 ('MetaData "SizeConstraintStatement" "Amazonka.WAFV2.Types.SizeConstraintStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "SizeConstraintStatement'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "fieldToMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FieldToMatch) :*: S1 ('MetaSel ('Just "comparisonOperator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ComparisonOperator)) :*: (S1 ('MetaSel ('Just "size") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "textTransformations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty TextTransformation)))))

newSizeConstraintStatement Source #

Create a value of SizeConstraintStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:fieldToMatch:SizeConstraintStatement', sizeConstraintStatement_fieldToMatch - The part of the web request that you want WAF to inspect.

$sel:comparisonOperator:SizeConstraintStatement', sizeConstraintStatement_comparisonOperator - The operator to use to compare the request part to the size setting.

$sel:size:SizeConstraintStatement', sizeConstraintStatement_size - The size, in byte, to compare to the request part, after any transformations.

$sel:textTransformations:SizeConstraintStatement', sizeConstraintStatement_textTransformations - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

sizeConstraintStatement_fieldToMatch :: Lens' SizeConstraintStatement FieldToMatch Source #

The part of the web request that you want WAF to inspect.

sizeConstraintStatement_comparisonOperator :: Lens' SizeConstraintStatement ComparisonOperator Source #

The operator to use to compare the request part to the size setting.

sizeConstraintStatement_size :: Lens' SizeConstraintStatement Natural Source #

The size, in byte, to compare to the request part, after any transformations.

sizeConstraintStatement_textTransformations :: Lens' SizeConstraintStatement (NonEmpty TextTransformation) Source #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

SqliMatchStatement

data SqliMatchStatement Source #

A rule statement that inspects for malicious SQL code. Attackers insert malicious SQL code into web requests to do things like modify your database or extract data from it.

See: newSqliMatchStatement smart constructor.

Constructors

SqliMatchStatement' 

Fields

  • sensitivityLevel :: Maybe SensitivityLevel

    The sensitivity that you want WAF to use to inspect for SQL injection attacks.

    HIGH detects more attacks, but might generate more false positives, especially if your web requests frequently contain unusual strings. For information about identifying and mitigating false positives, see Testing and tuning in the WAF Developer Guide.

    LOW is generally a better choice for resources that already have other protections against SQL injection attacks or that have a low tolerance for false positives.

    Default: LOW

  • fieldToMatch :: FieldToMatch

    The part of the web request that you want WAF to inspect.

  • textTransformations :: NonEmpty TextTransformation

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

Instances

Instances details
FromJSON SqliMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SqliMatchStatement

ToJSON SqliMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SqliMatchStatement

Generic SqliMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SqliMatchStatement

Associated Types

type Rep SqliMatchStatement :: Type -> Type #

Read SqliMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SqliMatchStatement

Show SqliMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SqliMatchStatement

NFData SqliMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SqliMatchStatement

Methods

rnf :: SqliMatchStatement -> () #

Eq SqliMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SqliMatchStatement

Hashable SqliMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SqliMatchStatement

type Rep SqliMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.SqliMatchStatement

type Rep SqliMatchStatement = D1 ('MetaData "SqliMatchStatement" "Amazonka.WAFV2.Types.SqliMatchStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "SqliMatchStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "sensitivityLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe SensitivityLevel)) :*: (S1 ('MetaSel ('Just "fieldToMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FieldToMatch) :*: S1 ('MetaSel ('Just "textTransformations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty TextTransformation)))))

newSqliMatchStatement Source #

Create a value of SqliMatchStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:sensitivityLevel:SqliMatchStatement', sqliMatchStatement_sensitivityLevel - The sensitivity that you want WAF to use to inspect for SQL injection attacks.

HIGH detects more attacks, but might generate more false positives, especially if your web requests frequently contain unusual strings. For information about identifying and mitigating false positives, see Testing and tuning in the WAF Developer Guide.

LOW is generally a better choice for resources that already have other protections against SQL injection attacks or that have a low tolerance for false positives.

Default: LOW

$sel:fieldToMatch:SqliMatchStatement', sqliMatchStatement_fieldToMatch - The part of the web request that you want WAF to inspect.

$sel:textTransformations:SqliMatchStatement', sqliMatchStatement_textTransformations - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

sqliMatchStatement_sensitivityLevel :: Lens' SqliMatchStatement (Maybe SensitivityLevel) Source #

The sensitivity that you want WAF to use to inspect for SQL injection attacks.

HIGH detects more attacks, but might generate more false positives, especially if your web requests frequently contain unusual strings. For information about identifying and mitigating false positives, see Testing and tuning in the WAF Developer Guide.

LOW is generally a better choice for resources that already have other protections against SQL injection attacks or that have a low tolerance for false positives.

Default: LOW

sqliMatchStatement_fieldToMatch :: Lens' SqliMatchStatement FieldToMatch Source #

The part of the web request that you want WAF to inspect.

sqliMatchStatement_textTransformations :: Lens' SqliMatchStatement (NonEmpty TextTransformation) Source #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

Statement

data Statement Source #

The processing guidance for a Rule, used by WAF to determine whether a web request matches the rule.

For example specifications, see the examples section of CreateWebACL.

See: newStatement smart constructor.

Constructors

Statement' 

Fields

  • andStatement :: Maybe AndStatement

    A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

  • byteMatchStatement :: Maybe ByteMatchStatement

    A rule statement that defines a string match search for WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the WAF console and the developer guide, this is called a string match statement.

  • geoMatchStatement :: Maybe GeoMatchStatement

    A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match.

    • To manage requests only by country, you can use this statement by itself and specify the countries that you want to match against in the CountryCodes array.
    • Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed.

    WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ForwardedIPConfig.

    If you use the web request origin, the label formats are awswaf:clientip:geo:region:<ISO country code>-<ISO region code> and awswaf:clientip:geo:country:<ISO country code>.

    If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> and awswaf:forwardedip:geo:country:<ISO country code>.

    For additional details, see Geographic match rule statement in the WAF Developer Guide.

  • iPSetReferenceStatement :: Maybe IPSetReferenceStatement

    A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.

    Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

  • labelMatchStatement :: Maybe LabelMatchStatement

    A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL.

    The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

  • managedRuleGroupStatement :: Maybe ManagedRuleGroupStatement

    A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

    You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

    You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet or the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet. For more information, see WAF Pricing.

  • notStatement :: Maybe NotStatement

    A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

  • orStatement :: Maybe OrStatement

    A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

  • rateBasedStatement :: Maybe RateBasedStatement

    A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests.

    WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF.

    When the rule action triggers, WAF blocks additional requests from the IP address until the request rate falls below the limit.

    You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements:

    • An IP match statement with an IP set that specified the address 192.0.2.44.
    • A string match statement that searches in the User-Agent header for the string BadBot.

    In this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet the criteria of both of the nested statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet the criteria of both of the nested statements are not counted towards the rate limit and are not affected by this rule.

    You cannot nest a RateBasedStatement inside another statement, for example inside a NotStatement or OrStatement. You can define a RateBasedStatement inside a web ACL and inside a rule group.

  • regexMatchStatement :: Maybe RegexMatchStatement

    A rule statement used to search web request components for a match against a single regular expression.

  • regexPatternSetReferenceStatement :: Maybe RegexPatternSetReferenceStatement

    A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

    Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

  • ruleGroupReferenceStatement :: Maybe RuleGroupReferenceStatement

    A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

    You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You can only use a rule group reference statement at the top level inside a web ACL.

  • sizeConstraintStatement :: Maybe SizeConstraintStatement

    A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

    If you configure WAF to inspect the request body, WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.

    If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

  • sqliMatchStatement :: Maybe SqliMatchStatement

    A rule statement that inspects for malicious SQL code. Attackers insert malicious SQL code into web requests to do things like modify your database or extract data from it.

  • xssMatchStatement :: Maybe XssMatchStatement

    A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers.

Instances

Instances details
FromJSON Statement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Statement

ToJSON Statement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Statement

Generic Statement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Statement

Associated Types

type Rep Statement :: Type -> Type #

Read Statement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Statement

Show Statement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Statement

NFData Statement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Statement

Methods

rnf :: Statement -> () #

Eq Statement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Statement

Hashable Statement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Statement

type Rep Statement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Statement

type Rep Statement = D1 ('MetaData "Statement" "Amazonka.WAFV2.Types.Statement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Statement'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "andStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AndStatement)) :*: (S1 ('MetaSel ('Just "byteMatchStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ByteMatchStatement)) :*: S1 ('MetaSel ('Just "geoMatchStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe GeoMatchStatement)))) :*: ((S1 ('MetaSel ('Just "iPSetReferenceStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe IPSetReferenceStatement)) :*: S1 ('MetaSel ('Just "labelMatchStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LabelMatchStatement))) :*: (S1 ('MetaSel ('Just "managedRuleGroupStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ManagedRuleGroupStatement)) :*: S1 ('MetaSel ('Just "notStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe NotStatement))))) :*: (((S1 ('MetaSel ('Just "orStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe OrStatement)) :*: S1 ('MetaSel ('Just "rateBasedStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RateBasedStatement))) :*: (S1 ('MetaSel ('Just "regexMatchStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RegexMatchStatement)) :*: S1 ('MetaSel ('Just "regexPatternSetReferenceStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RegexPatternSetReferenceStatement)))) :*: ((S1 ('MetaSel ('Just "ruleGroupReferenceStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RuleGroupReferenceStatement)) :*: S1 ('MetaSel ('Just "sizeConstraintStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe SizeConstraintStatement))) :*: (S1 ('MetaSel ('Just "sqliMatchStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe SqliMatchStatement)) :*: S1 ('MetaSel ('Just "xssMatchStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe XssMatchStatement)))))))

newStatement :: Statement Source #

Create a value of Statement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:andStatement:Statement', statement_andStatement - A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

$sel:byteMatchStatement:Statement', statement_byteMatchStatement - A rule statement that defines a string match search for WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the WAF console and the developer guide, this is called a string match statement.

$sel:geoMatchStatement:Statement', statement_geoMatchStatement - A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match.

  • To manage requests only by country, you can use this statement by itself and specify the countries that you want to match against in the CountryCodes array.
  • Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed.

WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ForwardedIPConfig.

If you use the web request origin, the label formats are awswaf:clientip:geo:region:<ISO country code>-<ISO region code> and awswaf:clientip:geo:country:<ISO country code>.

If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> and awswaf:forwardedip:geo:country:<ISO country code>.

For additional details, see Geographic match rule statement in the WAF Developer Guide.

$sel:iPSetReferenceStatement:Statement', statement_iPSetReferenceStatement - A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.

Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

$sel:labelMatchStatement:Statement', statement_labelMatchStatement - A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

$sel:managedRuleGroupStatement:Statement', statement_managedRuleGroupStatement - A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet or the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet. For more information, see WAF Pricing.

$sel:notStatement:Statement', statement_notStatement - A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

$sel:orStatement:Statement', statement_orStatement - A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

$sel:rateBasedStatement:Statement', statement_rateBasedStatement - A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests.

WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF.

When the rule action triggers, WAF blocks additional requests from the IP address until the request rate falls below the limit.

You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements:

  • An IP match statement with an IP set that specified the address 192.0.2.44.
  • A string match statement that searches in the User-Agent header for the string BadBot.

In this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet the criteria of both of the nested statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet the criteria of both of the nested statements are not counted towards the rate limit and are not affected by this rule.

You cannot nest a RateBasedStatement inside another statement, for example inside a NotStatement or OrStatement. You can define a RateBasedStatement inside a web ACL and inside a rule group.

$sel:regexMatchStatement:Statement', statement_regexMatchStatement - A rule statement used to search web request components for a match against a single regular expression.

$sel:regexPatternSetReferenceStatement:Statement', statement_regexPatternSetReferenceStatement - A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

$sel:ruleGroupReferenceStatement:Statement', statement_ruleGroupReferenceStatement - A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You can only use a rule group reference statement at the top level inside a web ACL.

$sel:sizeConstraintStatement:Statement', statement_sizeConstraintStatement - A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

If you configure WAF to inspect the request body, WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.

If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

$sel:sqliMatchStatement:Statement', statement_sqliMatchStatement - A rule statement that inspects for malicious SQL code. Attackers insert malicious SQL code into web requests to do things like modify your database or extract data from it.

$sel:xssMatchStatement:Statement', statement_xssMatchStatement - A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers.

statement_andStatement :: Lens' Statement (Maybe AndStatement) Source #

A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

statement_byteMatchStatement :: Lens' Statement (Maybe ByteMatchStatement) Source #

A rule statement that defines a string match search for WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the WAF console and the developer guide, this is called a string match statement.

statement_geoMatchStatement :: Lens' Statement (Maybe GeoMatchStatement) Source #

A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match.

  • To manage requests only by country, you can use this statement by itself and specify the countries that you want to match against in the CountryCodes array.
  • Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed.

WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ForwardedIPConfig.

If you use the web request origin, the label formats are awswaf:clientip:geo:region:<ISO country code>-<ISO region code> and awswaf:clientip:geo:country:<ISO country code>.

If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> and awswaf:forwardedip:geo:country:<ISO country code>.

For additional details, see Geographic match rule statement in the WAF Developer Guide.

statement_iPSetReferenceStatement :: Lens' Statement (Maybe IPSetReferenceStatement) Source #

A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.

Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

statement_labelMatchStatement :: Lens' Statement (Maybe LabelMatchStatement) Source #

A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

statement_managedRuleGroupStatement :: Lens' Statement (Maybe ManagedRuleGroupStatement) Source #

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet or the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet. For more information, see WAF Pricing.

statement_notStatement :: Lens' Statement (Maybe NotStatement) Source #

A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

statement_orStatement :: Lens' Statement (Maybe OrStatement) Source #

A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

statement_rateBasedStatement :: Lens' Statement (Maybe RateBasedStatement) Source #

A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests.

WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF.

When the rule action triggers, WAF blocks additional requests from the IP address until the request rate falls below the limit.

You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements:

  • An IP match statement with an IP set that specified the address 192.0.2.44.
  • A string match statement that searches in the User-Agent header for the string BadBot.

In this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet the criteria of both of the nested statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet the criteria of both of the nested statements are not counted towards the rate limit and are not affected by this rule.

You cannot nest a RateBasedStatement inside another statement, for example inside a NotStatement or OrStatement. You can define a RateBasedStatement inside a web ACL and inside a rule group.

statement_regexMatchStatement :: Lens' Statement (Maybe RegexMatchStatement) Source #

A rule statement used to search web request components for a match against a single regular expression.

statement_regexPatternSetReferenceStatement :: Lens' Statement (Maybe RegexPatternSetReferenceStatement) Source #

A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

statement_ruleGroupReferenceStatement :: Lens' Statement (Maybe RuleGroupReferenceStatement) Source #

A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You can only use a rule group reference statement at the top level inside a web ACL.

statement_sizeConstraintStatement :: Lens' Statement (Maybe SizeConstraintStatement) Source #

A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

If you configure WAF to inspect the request body, WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.

If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

statement_sqliMatchStatement :: Lens' Statement (Maybe SqliMatchStatement) Source #

A rule statement that inspects for malicious SQL code. Attackers insert malicious SQL code into web requests to do things like modify your database or extract data from it.

statement_xssMatchStatement :: Lens' Statement (Maybe XssMatchStatement) Source #

A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers.

Tag

data Tag Source #

A tag associated with an Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as "environment", and the tag value represents a specific value within that category, such as "test," "development," or "production". Or you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.

See: newTag smart constructor.

Constructors

Tag' 

Fields

  • key :: Text

    Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

  • value :: Text

    Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

Instances

Instances details
FromJSON Tag Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Tag

ToJSON Tag Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Tag

Generic Tag Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Tag

Associated Types

type Rep Tag :: Type -> Type #

Methods

from :: Tag -> Rep Tag x #

to :: Rep Tag x -> Tag #

Read Tag Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Tag

Show Tag Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Tag

Methods

showsPrec :: Int -> Tag -> ShowS #

show :: Tag -> String #

showList :: [Tag] -> ShowS #

NFData Tag Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Tag

Methods

rnf :: Tag -> () #

Eq Tag Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Tag

Methods

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

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

Hashable Tag Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Tag

Methods

hashWithSalt :: Int -> Tag -> Int #

hash :: Tag -> Int #

type Rep Tag Source # 
Instance details

Defined in Amazonka.WAFV2.Types.Tag

type Rep Tag = D1 ('MetaData "Tag" "Amazonka.WAFV2.Types.Tag" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "Tag'" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newTag Source #

Create a value of Tag with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:key:Tag', tag_key - Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

$sel:value:Tag', tag_value - Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

tag_key :: Lens' Tag Text Source #

Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

tag_value :: Lens' Tag Text Source #

Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

TagInfoForResource

data TagInfoForResource Source #

The collection of tagging definitions for an Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as "environment", and the tag value represents a specific value within that category, such as "test," "development," or "production". Or you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.

See: newTagInfoForResource smart constructor.

Constructors

TagInfoForResource' 

Fields

Instances

Instances details
FromJSON TagInfoForResource Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TagInfoForResource

Generic TagInfoForResource Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TagInfoForResource

Associated Types

type Rep TagInfoForResource :: Type -> Type #

Read TagInfoForResource Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TagInfoForResource

Show TagInfoForResource Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TagInfoForResource

NFData TagInfoForResource Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TagInfoForResource

Methods

rnf :: TagInfoForResource -> () #

Eq TagInfoForResource Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TagInfoForResource

Hashable TagInfoForResource Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TagInfoForResource

type Rep TagInfoForResource Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TagInfoForResource

type Rep TagInfoForResource = D1 ('MetaData "TagInfoForResource" "Amazonka.WAFV2.Types.TagInfoForResource" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "TagInfoForResource'" 'PrefixI 'True) (S1 ('MetaSel ('Just "resourceARN") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "tagList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty Tag)))))

newTagInfoForResource :: TagInfoForResource Source #

Create a value of TagInfoForResource with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:resourceARN:TagInfoForResource', tagInfoForResource_resourceARN - The Amazon Resource Name (ARN) of the resource.

$sel:tagList:TagInfoForResource', tagInfoForResource_tagList - The array of Tag objects defined for the resource.

tagInfoForResource_resourceARN :: Lens' TagInfoForResource (Maybe Text) Source #

The Amazon Resource Name (ARN) of the resource.

tagInfoForResource_tagList :: Lens' TagInfoForResource (Maybe (NonEmpty Tag)) Source #

The array of Tag objects defined for the resource.

TextTransformation

data TextTransformation Source #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.

See: newTextTransformation smart constructor.

Constructors

TextTransformation' 

Fields

  • priority :: Natural

    Sets the relative processing order for multiple transformations that are defined for a rule statement. WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. The priorities don't need to be consecutive, but they must all be different.

  • type' :: TextTransformationType

    You can specify the following transformation types:

    BASE64_DECODE - Decode a Base64-encoded string.

    BASE64_DECODE_EXT - Decode a Base64-encoded string, but use a forgiving implementation that ignores characters that aren't valid.

    CMD_LINE - Command-line transformations. These are helpful in reducing effectiveness of attackers who inject an operating system command-line command and use unusual formatting to disguise some or all of the command.

    • 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 - Replace these 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.

    CSS_DECODE - Decode characters that were encoded using CSS 2.x escape rules syndata.html#characters. This function uses up to two bytes in the decoding process, so it can help to uncover ASCII characters that were encoded using CSS encoding that wouldn’t typically be encoded. It's also useful in countering evasion, which is a combination of a backslash and non-hexadecimal characters. For example, ja\vascript for javascript.

    ESCAPE_SEQ_DECODE - Decode the following ANSI C escape sequences: \a, \b, \f, \n, \r, \t, \v, \\, \?, \', \", \xHH (hexadecimal), \0OOO (octal). Encodings that aren't valid remain in the output.

    HEX_DECODE - Decode a string of hexadecimal characters into a binary.

    HTML_ENTITY_DECODE - Replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs these 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

    JS_DECODE - Decode JavaScript escape sequences. If a \ u HHHH code is in the full-width ASCII code range of FF01-FF5E, then the higher byte is used to detect and adjust the lower byte. If not, only the lower byte is used and the higher byte is zeroed, causing a possible loss of information.

    LOWERCASE - Convert uppercase letters (A-Z) to lowercase (a-z).

    MD5 - Calculate an MD5 hash from the data in the input. The computed hash is in a raw binary form.

    NONE - Specify NONE if you don't want any text transformations.

    NORMALIZE_PATH - Remove multiple slashes, directory self-references, and directory back-references that are not at the beginning of the input from an input string.

    NORMALIZE_PATH_WIN - This is the same as NORMALIZE_PATH, but first converts backslash characters to forward slashes.

    REMOVE_NULLS - Remove all NULL bytes from the input.

    REPLACE_COMMENTS - Replace each occurrence of a C-style comment (/* ... */) with a single space. Multiple consecutive occurrences are not compressed. Unterminated comments are also replaced with a space (ASCII 0x20). However, a standalone termination of a comment (*/) is not acted upon.

    REPLACE_NULLS - Replace NULL bytes in the input with space characters (ASCII 0x20).

    SQL_HEX_DECODE - Decode SQL hex data. Example (0x414243) will be decoded to (ABC).

    URL_DECODE - Decode a URL-encoded value.

    URL_DECODE_UNI - Like URL_DECODE, but with support for Microsoft-specific %u encoding. If the code is in the full-width ASCII code range of FF01-FF5E, the higher byte is used to detect and adjust the lower byte. Otherwise, only the lower byte is used and the higher byte is zeroed.

    UTF8_TO_UNICODE - Convert all UTF-8 character sequences to Unicode. This helps input normalization, and minimizing false-positives and false-negatives for non-English languages.

Instances

Instances details
FromJSON TextTransformation Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformation

ToJSON TextTransformation Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformation

Generic TextTransformation Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformation

Associated Types

type Rep TextTransformation :: Type -> Type #

Read TextTransformation Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformation

Show TextTransformation Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformation

NFData TextTransformation Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformation

Methods

rnf :: TextTransformation -> () #

Eq TextTransformation Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformation

Hashable TextTransformation Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformation

type Rep TextTransformation Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TextTransformation

type Rep TextTransformation = D1 ('MetaData "TextTransformation" "Amazonka.WAFV2.Types.TextTransformation" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "TextTransformation'" 'PrefixI 'True) (S1 ('MetaSel ('Just "priority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "type'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TextTransformationType)))

newTextTransformation Source #

Create a value of TextTransformation with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:priority:TextTransformation', textTransformation_priority - Sets the relative processing order for multiple transformations that are defined for a rule statement. WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. The priorities don't need to be consecutive, but they must all be different.

$sel:type':TextTransformation', textTransformation_type - You can specify the following transformation types:

BASE64_DECODE - Decode a Base64-encoded string.

BASE64_DECODE_EXT - Decode a Base64-encoded string, but use a forgiving implementation that ignores characters that aren't valid.

CMD_LINE - Command-line transformations. These are helpful in reducing effectiveness of attackers who inject an operating system command-line command and use unusual formatting to disguise some or all of the command.

  • 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 - Replace these 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.

CSS_DECODE - Decode characters that were encoded using CSS 2.x escape rules syndata.html#characters. This function uses up to two bytes in the decoding process, so it can help to uncover ASCII characters that were encoded using CSS encoding that wouldn’t typically be encoded. It's also useful in countering evasion, which is a combination of a backslash and non-hexadecimal characters. For example, ja\vascript for javascript.

ESCAPE_SEQ_DECODE - Decode the following ANSI C escape sequences: \a, \b, \f, \n, \r, \t, \v, \\, \?, \', \", \xHH (hexadecimal), \0OOO (octal). Encodings that aren't valid remain in the output.

HEX_DECODE - Decode a string of hexadecimal characters into a binary.

HTML_ENTITY_DECODE - Replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs these 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

JS_DECODE - Decode JavaScript escape sequences. If a \ u HHHH code is in the full-width ASCII code range of FF01-FF5E, then the higher byte is used to detect and adjust the lower byte. If not, only the lower byte is used and the higher byte is zeroed, causing a possible loss of information.

LOWERCASE - Convert uppercase letters (A-Z) to lowercase (a-z).

MD5 - Calculate an MD5 hash from the data in the input. The computed hash is in a raw binary form.

NONE - Specify NONE if you don't want any text transformations.

NORMALIZE_PATH - Remove multiple slashes, directory self-references, and directory back-references that are not at the beginning of the input from an input string.

NORMALIZE_PATH_WIN - This is the same as NORMALIZE_PATH, but first converts backslash characters to forward slashes.

REMOVE_NULLS - Remove all NULL bytes from the input.

REPLACE_COMMENTS - Replace each occurrence of a C-style comment (/* ... */) with a single space. Multiple consecutive occurrences are not compressed. Unterminated comments are also replaced with a space (ASCII 0x20). However, a standalone termination of a comment (*/) is not acted upon.

REPLACE_NULLS - Replace NULL bytes in the input with space characters (ASCII 0x20).

SQL_HEX_DECODE - Decode SQL hex data. Example (0x414243) will be decoded to (ABC).

URL_DECODE - Decode a URL-encoded value.

URL_DECODE_UNI - Like URL_DECODE, but with support for Microsoft-specific %u encoding. If the code is in the full-width ASCII code range of FF01-FF5E, the higher byte is used to detect and adjust the lower byte. Otherwise, only the lower byte is used and the higher byte is zeroed.

UTF8_TO_UNICODE - Convert all UTF-8 character sequences to Unicode. This helps input normalization, and minimizing false-positives and false-negatives for non-English languages.

textTransformation_priority :: Lens' TextTransformation Natural Source #

Sets the relative processing order for multiple transformations that are defined for a rule statement. WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. The priorities don't need to be consecutive, but they must all be different.

textTransformation_type :: Lens' TextTransformation TextTransformationType Source #

You can specify the following transformation types:

BASE64_DECODE - Decode a Base64-encoded string.

BASE64_DECODE_EXT - Decode a Base64-encoded string, but use a forgiving implementation that ignores characters that aren't valid.

CMD_LINE - Command-line transformations. These are helpful in reducing effectiveness of attackers who inject an operating system command-line command and use unusual formatting to disguise some or all of the command.

  • 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 - Replace these 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.

CSS_DECODE - Decode characters that were encoded using CSS 2.x escape rules syndata.html#characters. This function uses up to two bytes in the decoding process, so it can help to uncover ASCII characters that were encoded using CSS encoding that wouldn’t typically be encoded. It's also useful in countering evasion, which is a combination of a backslash and non-hexadecimal characters. For example, ja\vascript for javascript.

ESCAPE_SEQ_DECODE - Decode the following ANSI C escape sequences: \a, \b, \f, \n, \r, \t, \v, \\, \?, \', \", \xHH (hexadecimal), \0OOO (octal). Encodings that aren't valid remain in the output.

HEX_DECODE - Decode a string of hexadecimal characters into a binary.

HTML_ENTITY_DECODE - Replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs these 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

JS_DECODE - Decode JavaScript escape sequences. If a \ u HHHH code is in the full-width ASCII code range of FF01-FF5E, then the higher byte is used to detect and adjust the lower byte. If not, only the lower byte is used and the higher byte is zeroed, causing a possible loss of information.

LOWERCASE - Convert uppercase letters (A-Z) to lowercase (a-z).

MD5 - Calculate an MD5 hash from the data in the input. The computed hash is in a raw binary form.

NONE - Specify NONE if you don't want any text transformations.

NORMALIZE_PATH - Remove multiple slashes, directory self-references, and directory back-references that are not at the beginning of the input from an input string.

NORMALIZE_PATH_WIN - This is the same as NORMALIZE_PATH, but first converts backslash characters to forward slashes.

REMOVE_NULLS - Remove all NULL bytes from the input.

REPLACE_COMMENTS - Replace each occurrence of a C-style comment (/* ... */) with a single space. Multiple consecutive occurrences are not compressed. Unterminated comments are also replaced with a space (ASCII 0x20). However, a standalone termination of a comment (*/) is not acted upon.

REPLACE_NULLS - Replace NULL bytes in the input with space characters (ASCII 0x20).

SQL_HEX_DECODE - Decode SQL hex data. Example (0x414243) will be decoded to (ABC).

URL_DECODE - Decode a URL-encoded value.

URL_DECODE_UNI - Like URL_DECODE, but with support for Microsoft-specific %u encoding. If the code is in the full-width ASCII code range of FF01-FF5E, the higher byte is used to detect and adjust the lower byte. Otherwise, only the lower byte is used and the higher byte is zeroed.

UTF8_TO_UNICODE - Convert all UTF-8 character sequences to Unicode. This helps input normalization, and minimizing false-positives and false-negatives for non-English languages.

TimeWindow

data TimeWindow Source #

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

You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

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

See: newTimeWindow smart constructor.

Constructors

TimeWindow' 

Fields

  • startTime :: POSIX

    The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your Amazon Web Services resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

  • endTime :: POSIX

    The end of the time range from which you want GetSampledRequests to return a sample of the requests that your Amazon Web Services resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

Instances

Instances details
FromJSON TimeWindow Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TimeWindow

ToJSON TimeWindow Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TimeWindow

Generic TimeWindow Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TimeWindow

Associated Types

type Rep TimeWindow :: Type -> Type #

Read TimeWindow Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TimeWindow

Show TimeWindow Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TimeWindow

NFData TimeWindow Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TimeWindow

Methods

rnf :: TimeWindow -> () #

Eq TimeWindow Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TimeWindow

Hashable TimeWindow Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TimeWindow

type Rep TimeWindow Source # 
Instance details

Defined in Amazonka.WAFV2.Types.TimeWindow

type Rep TimeWindow = D1 ('MetaData "TimeWindow" "Amazonka.WAFV2.Types.TimeWindow" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "TimeWindow'" 'PrefixI 'True) (S1 ('MetaSel ('Just "startTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 POSIX) :*: S1 ('MetaSel ('Just "endTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 POSIX)))

newTimeWindow Source #

Create a value of TimeWindow with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:startTime:TimeWindow', timeWindow_startTime - The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your Amazon Web Services resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

$sel:endTime:TimeWindow', timeWindow_endTime - The end of the time range from which you want GetSampledRequests to return a sample of the requests that your Amazon Web Services resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

timeWindow_startTime :: Lens' TimeWindow UTCTime Source #

The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your Amazon Web Services resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

timeWindow_endTime :: Lens' TimeWindow UTCTime Source #

The end of the time range from which you want GetSampledRequests to return a sample of the requests that your Amazon Web Services resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

UriPath

data UriPath Source #

Inspect the path component of the URI of the web request. This is the part of the web request that identifies a resource. For example, /images/daily-ad.jpg.

This is used only in the FieldToMatch specification for some web request component types.

JSON specification: "UriPath": {}

See: newUriPath smart constructor.

Constructors

UriPath' 

Instances

Instances details
FromJSON UriPath Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UriPath

ToJSON UriPath Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UriPath

Generic UriPath Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UriPath

Associated Types

type Rep UriPath :: Type -> Type #

Methods

from :: UriPath -> Rep UriPath x #

to :: Rep UriPath x -> UriPath #

Read UriPath Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UriPath

Show UriPath Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UriPath

NFData UriPath Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UriPath

Methods

rnf :: UriPath -> () #

Eq UriPath Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UriPath

Methods

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

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

Hashable UriPath Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UriPath

Methods

hashWithSalt :: Int -> UriPath -> Int #

hash :: UriPath -> Int #

type Rep UriPath Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UriPath

type Rep UriPath = D1 ('MetaData "UriPath" "Amazonka.WAFV2.Types.UriPath" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "UriPath'" 'PrefixI 'False) (U1 :: Type -> Type))

newUriPath :: UriPath Source #

Create a value of UriPath with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

UsernameField

data UsernameField Source #

Details about your login page username field, used in a ManagedRuleGroupConfig.

See: newUsernameField smart constructor.

Constructors

UsernameField' 

Fields

  • identifier :: Text

    The name of the username field. For example /form/username.

Instances

Instances details
FromJSON UsernameField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UsernameField

ToJSON UsernameField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UsernameField

Generic UsernameField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UsernameField

Associated Types

type Rep UsernameField :: Type -> Type #

Read UsernameField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UsernameField

Show UsernameField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UsernameField

NFData UsernameField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UsernameField

Methods

rnf :: UsernameField -> () #

Eq UsernameField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UsernameField

Hashable UsernameField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UsernameField

type Rep UsernameField Source # 
Instance details

Defined in Amazonka.WAFV2.Types.UsernameField

type Rep UsernameField = D1 ('MetaData "UsernameField" "Amazonka.WAFV2.Types.UsernameField" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "UsernameField'" 'PrefixI 'True) (S1 ('MetaSel ('Just "identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newUsernameField Source #

Create a value of UsernameField with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:identifier:UsernameField', usernameField_identifier - The name of the username field. For example /form/username.

usernameField_identifier :: Lens' UsernameField Text Source #

The name of the username field. For example /form/username.

VersionToPublish

data VersionToPublish Source #

A version of the named managed rule group, that the rule group's vendor publishes for use by customers.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

See: newVersionToPublish smart constructor.

Constructors

VersionToPublish' 

Fields

Instances

Instances details
ToJSON VersionToPublish Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VersionToPublish

Generic VersionToPublish Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VersionToPublish

Associated Types

type Rep VersionToPublish :: Type -> Type #

Read VersionToPublish Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VersionToPublish

Show VersionToPublish Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VersionToPublish

NFData VersionToPublish Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VersionToPublish

Methods

rnf :: VersionToPublish -> () #

Eq VersionToPublish Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VersionToPublish

Hashable VersionToPublish Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VersionToPublish

type Rep VersionToPublish Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VersionToPublish

type Rep VersionToPublish = D1 ('MetaData "VersionToPublish" "Amazonka.WAFV2.Types.VersionToPublish" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "VersionToPublish'" 'PrefixI 'True) (S1 ('MetaSel ('Just "associatedRuleGroupArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "forecastedLifetime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural))))

newVersionToPublish :: VersionToPublish Source #

Create a value of VersionToPublish with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:associatedRuleGroupArn:VersionToPublish', versionToPublish_associatedRuleGroupArn - The Amazon Resource Name (ARN) of the vendor's rule group that's used in the published managed rule group version.

$sel:forecastedLifetime:VersionToPublish', versionToPublish_forecastedLifetime - The amount of time the vendor expects this version of the managed rule group to last, in days.

versionToPublish_associatedRuleGroupArn :: Lens' VersionToPublish (Maybe Text) Source #

The Amazon Resource Name (ARN) of the vendor's rule group that's used in the published managed rule group version.

versionToPublish_forecastedLifetime :: Lens' VersionToPublish (Maybe Natural) Source #

The amount of time the vendor expects this version of the managed rule group to last, in days.

VisibilityConfig

data VisibilityConfig Source #

Defines and enables Amazon CloudWatch metrics and web request sample collection.

See: newVisibilityConfig smart constructor.

Constructors

VisibilityConfig' 

Fields

  • sampledRequestsEnabled :: Bool

    A boolean indicating whether WAF should store a sampling of the web requests that match the rules. You can view the sampled requests through the WAF console.

  • cloudWatchMetricsEnabled :: Bool

    A boolean indicating whether the associated resource sends metrics to Amazon CloudWatch. For the list of available metrics, see WAF Metrics.

  • metricName :: Text

    A name of the Amazon CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain whitespace or metric names reserved for WAF, for example All and Default_Action.

Instances

Instances details
FromJSON VisibilityConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VisibilityConfig

ToJSON VisibilityConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VisibilityConfig

Generic VisibilityConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VisibilityConfig

Associated Types

type Rep VisibilityConfig :: Type -> Type #

Read VisibilityConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VisibilityConfig

Show VisibilityConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VisibilityConfig

NFData VisibilityConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VisibilityConfig

Methods

rnf :: VisibilityConfig -> () #

Eq VisibilityConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VisibilityConfig

Hashable VisibilityConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VisibilityConfig

type Rep VisibilityConfig Source # 
Instance details

Defined in Amazonka.WAFV2.Types.VisibilityConfig

type Rep VisibilityConfig = D1 ('MetaData "VisibilityConfig" "Amazonka.WAFV2.Types.VisibilityConfig" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "VisibilityConfig'" 'PrefixI 'True) (S1 ('MetaSel ('Just "sampledRequestsEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "cloudWatchMetricsEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "metricName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))))

newVisibilityConfig Source #

Create a value of VisibilityConfig with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:sampledRequestsEnabled:VisibilityConfig', visibilityConfig_sampledRequestsEnabled - A boolean indicating whether WAF should store a sampling of the web requests that match the rules. You can view the sampled requests through the WAF console.

$sel:cloudWatchMetricsEnabled:VisibilityConfig', visibilityConfig_cloudWatchMetricsEnabled - A boolean indicating whether the associated resource sends metrics to Amazon CloudWatch. For the list of available metrics, see WAF Metrics.

$sel:metricName:VisibilityConfig', visibilityConfig_metricName - A name of the Amazon CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain whitespace or metric names reserved for WAF, for example All and Default_Action.

visibilityConfig_sampledRequestsEnabled :: Lens' VisibilityConfig Bool Source #

A boolean indicating whether WAF should store a sampling of the web requests that match the rules. You can view the sampled requests through the WAF console.

visibilityConfig_cloudWatchMetricsEnabled :: Lens' VisibilityConfig Bool Source #

A boolean indicating whether the associated resource sends metrics to Amazon CloudWatch. For the list of available metrics, see WAF Metrics.

visibilityConfig_metricName :: Lens' VisibilityConfig Text Source #

A name of the Amazon CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain whitespace or metric names reserved for WAF, for example All and Default_Action.

WebACL

data WebACL Source #

A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, or an Amazon Cognito user pool.

See: newWebACL smart constructor.

Constructors

WebACL' 

Fields

  • capacity :: Maybe Natural

    The web ACL capacity units (WCUs) currently being used by this web ACL.

    WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

  • captchaConfig :: Maybe CaptchaConfig

    Specifies how WAF should handle CAPTCHA evaluations for rules that don't have their own CaptchaConfig settings. If you don't specify this, WAF uses its default settings for CaptchaConfig.

  • challengeConfig :: Maybe ChallengeConfig

    Specifies how WAF should handle challenge evaluations for rules that don't have their own ChallengeConfig settings. If you don't specify this, WAF uses its default settings for ChallengeConfig.

  • customResponseBodies :: Maybe (HashMap Text CustomResponseBody)

    A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL.

    For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

    For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

  • description :: Maybe Text

    A description of the web ACL that helps with identification.

  • labelNamespace :: Maybe Text

    The label namespace prefix for this web ACL. All labels added by rules in this web ACL have this prefix.

    • The syntax for the label namespace prefix for a web ACL is the following:

      awswaf:<account ID>:webacl:<web ACL name>:
    • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

      <label namespace>:<label from rule>
  • managedByFirewallManager :: Maybe Bool

    Indicates whether this web ACL is managed by Firewall Manager. If true, then only Firewall Manager can delete the web ACL or any Firewall Manager rule groups in the web ACL.

  • postProcessFirewallManagerRuleGroups :: Maybe [FirewallManagerRuleGroup]

    The last set of rules for WAF to process in the web ACL. This is defined in an Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized before these.

    In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.

  • preProcessFirewallManagerRuleGroups :: Maybe [FirewallManagerRuleGroup]

    The first set of rules for WAF to process in the web ACL. This is defined in an Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized after these.

    In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.

  • rules :: Maybe [Rule]

    The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

  • tokenDomains :: Maybe (NonEmpty Text)

    Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.

  • name :: Text

    The name of the web ACL. You cannot change the name of a web ACL after you create it.

  • id :: Text

    A unique identifier for the WebACL. This ID is returned in the responses to create and list commands. You use this ID to do things like get, update, and delete a WebACL.

  • arn :: Text

    The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

  • defaultAction :: DefaultAction

    The action to perform if none of the Rules contained in the WebACL match.

  • visibilityConfig :: VisibilityConfig

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

Instances

Instances details
FromJSON WebACL Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACL

Generic WebACL Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACL

Associated Types

type Rep WebACL :: Type -> Type #

Methods

from :: WebACL -> Rep WebACL x #

to :: Rep WebACL x -> WebACL #

Read WebACL Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACL

Show WebACL Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACL

NFData WebACL Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACL

Methods

rnf :: WebACL -> () #

Eq WebACL Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACL

Methods

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

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

Hashable WebACL Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACL

Methods

hashWithSalt :: Int -> WebACL -> Int #

hash :: WebACL -> Int #

type Rep WebACL Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACL

type Rep WebACL = D1 ('MetaData "WebACL" "Amazonka.WAFV2.Types.WebACL" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "WebACL'" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "capacity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "captchaConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CaptchaConfig))) :*: (S1 ('MetaSel ('Just "challengeConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ChallengeConfig)) :*: S1 ('MetaSel ('Just "customResponseBodies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text CustomResponseBody))))) :*: ((S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "labelNamespace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "managedByFirewallManager") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "postProcessFirewallManagerRuleGroups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [FirewallManagerRuleGroup]))))) :*: (((S1 ('MetaSel ('Just "preProcessFirewallManagerRuleGroups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [FirewallManagerRuleGroup])) :*: S1 ('MetaSel ('Just "rules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Rule]))) :*: (S1 ('MetaSel ('Just "tokenDomains") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty Text))) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))) :*: ((S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "defaultAction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 DefaultAction) :*: S1 ('MetaSel ('Just "visibilityConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 VisibilityConfig))))))

newWebACL Source #

Create a value of WebACL with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:capacity:WebACL', webACL_capacity - The web ACL capacity units (WCUs) currently being used by this web ACL.

WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

WebACL, webACL_captchaConfig - Specifies how WAF should handle CAPTCHA evaluations for rules that don't have their own CaptchaConfig settings. If you don't specify this, WAF uses its default settings for CaptchaConfig.

WebACL, webACL_challengeConfig - Specifies how WAF should handle challenge evaluations for rules that don't have their own ChallengeConfig settings. If you don't specify this, WAF uses its default settings for ChallengeConfig.

$sel:customResponseBodies:WebACL', webACL_customResponseBodies - A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

$sel:description:WebACL', webACL_description - A description of the web ACL that helps with identification.

$sel:labelNamespace:WebACL', webACL_labelNamespace - The label namespace prefix for this web ACL. All labels added by rules in this web ACL have this prefix.

  • The syntax for the label namespace prefix for a web ACL is the following:

    awswaf:<account ID>:webacl:<web ACL name>:
  • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

    <label namespace>:<label from rule>

$sel:managedByFirewallManager:WebACL', webACL_managedByFirewallManager - Indicates whether this web ACL is managed by Firewall Manager. If true, then only Firewall Manager can delete the web ACL or any Firewall Manager rule groups in the web ACL.

$sel:postProcessFirewallManagerRuleGroups:WebACL', webACL_postProcessFirewallManagerRuleGroups - The last set of rules for WAF to process in the web ACL. This is defined in an Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized before these.

In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.

$sel:preProcessFirewallManagerRuleGroups:WebACL', webACL_preProcessFirewallManagerRuleGroups - The first set of rules for WAF to process in the web ACL. This is defined in an Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized after these.

In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.

$sel:rules:WebACL', webACL_rules - The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

$sel:tokenDomains:WebACL', webACL_tokenDomains - Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.

WebACL, webACL_name - The name of the web ACL. You cannot change the name of a web ACL after you create it.

$sel:id:WebACL', webACL_id - A unique identifier for the WebACL. This ID is returned in the responses to create and list commands. You use this ID to do things like get, update, and delete a WebACL.

$sel:arn:WebACL', webACL_arn - The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

$sel:defaultAction:WebACL', webACL_defaultAction - The action to perform if none of the Rules contained in the WebACL match.

WebACL, webACL_visibilityConfig - Defines and enables Amazon CloudWatch metrics and web request sample collection.

webACL_capacity :: Lens' WebACL (Maybe Natural) Source #

The web ACL capacity units (WCUs) currently being used by this web ACL.

WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

webACL_captchaConfig :: Lens' WebACL (Maybe CaptchaConfig) Source #

Specifies how WAF should handle CAPTCHA evaluations for rules that don't have their own CaptchaConfig settings. If you don't specify this, WAF uses its default settings for CaptchaConfig.

webACL_challengeConfig :: Lens' WebACL (Maybe ChallengeConfig) Source #

Specifies how WAF should handle challenge evaluations for rules that don't have their own ChallengeConfig settings. If you don't specify this, WAF uses its default settings for ChallengeConfig.

webACL_customResponseBodies :: Lens' WebACL (Maybe (HashMap Text CustomResponseBody)) Source #

A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

webACL_description :: Lens' WebACL (Maybe Text) Source #

A description of the web ACL that helps with identification.

webACL_labelNamespace :: Lens' WebACL (Maybe Text) Source #

The label namespace prefix for this web ACL. All labels added by rules in this web ACL have this prefix.

  • The syntax for the label namespace prefix for a web ACL is the following:

    awswaf:<account ID>:webacl:<web ACL name>:
  • When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

    <label namespace>:<label from rule>

webACL_managedByFirewallManager :: Lens' WebACL (Maybe Bool) Source #

Indicates whether this web ACL is managed by Firewall Manager. If true, then only Firewall Manager can delete the web ACL or any Firewall Manager rule groups in the web ACL.

webACL_postProcessFirewallManagerRuleGroups :: Lens' WebACL (Maybe [FirewallManagerRuleGroup]) Source #

The last set of rules for WAF to process in the web ACL. This is defined in an Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized before these.

In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.

webACL_preProcessFirewallManagerRuleGroups :: Lens' WebACL (Maybe [FirewallManagerRuleGroup]) Source #

The first set of rules for WAF to process in the web ACL. This is defined in an Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized after these.

In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.

webACL_rules :: Lens' WebACL (Maybe [Rule]) Source #

The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

webACL_tokenDomains :: Lens' WebACL (Maybe (NonEmpty Text)) Source #

Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.

webACL_name :: Lens' WebACL Text Source #

The name of the web ACL. You cannot change the name of a web ACL after you create it.

webACL_id :: Lens' WebACL Text Source #

A unique identifier for the WebACL. This ID is returned in the responses to create and list commands. You use this ID to do things like get, update, and delete a WebACL.

webACL_arn :: Lens' WebACL Text Source #

The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

webACL_defaultAction :: Lens' WebACL DefaultAction Source #

The action to perform if none of the Rules contained in the WebACL match.

webACL_visibilityConfig :: Lens' WebACL VisibilityConfig Source #

Defines and enables Amazon CloudWatch metrics and web request sample collection.

WebACLSummary

data WebACLSummary Source #

High-level information about a WebACL, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a WebACL, and the ARN, that you provide to operations like AssociateWebACL.

See: newWebACLSummary smart constructor.

Constructors

WebACLSummary' 

Fields

  • arn :: Maybe Text

    The Amazon Resource Name (ARN) of the entity.

  • description :: Maybe Text

    A description of the web ACL that helps with identification.

  • id :: Maybe Text

    The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

  • lockToken :: Maybe Text

    A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

  • name :: Maybe Text

    The name of the web ACL. You cannot change the name of a web ACL after you create it.

Instances

Instances details
FromJSON WebACLSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACLSummary

Generic WebACLSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACLSummary

Associated Types

type Rep WebACLSummary :: Type -> Type #

Read WebACLSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACLSummary

Show WebACLSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACLSummary

NFData WebACLSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACLSummary

Methods

rnf :: WebACLSummary -> () #

Eq WebACLSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACLSummary

Hashable WebACLSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACLSummary

type Rep WebACLSummary Source # 
Instance details

Defined in Amazonka.WAFV2.Types.WebACLSummary

type Rep WebACLSummary = D1 ('MetaData "WebACLSummary" "Amazonka.WAFV2.Types.WebACLSummary" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "WebACLSummary'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "lockToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))))

newWebACLSummary :: WebACLSummary Source #

Create a value of WebACLSummary with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:arn:WebACLSummary', webACLSummary_arn - The Amazon Resource Name (ARN) of the entity.

$sel:description:WebACLSummary', webACLSummary_description - A description of the web ACL that helps with identification.

$sel:id:WebACLSummary', webACLSummary_id - The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

$sel:lockToken:WebACLSummary', webACLSummary_lockToken - A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

$sel:name:WebACLSummary', webACLSummary_name - The name of the web ACL. You cannot change the name of a web ACL after you create it.

webACLSummary_arn :: Lens' WebACLSummary (Maybe Text) Source #

The Amazon Resource Name (ARN) of the entity.

webACLSummary_description :: Lens' WebACLSummary (Maybe Text) Source #

A description of the web ACL that helps with identification.

webACLSummary_id :: Lens' WebACLSummary (Maybe Text) Source #

The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

webACLSummary_lockToken :: Lens' WebACLSummary (Maybe Text) Source #

A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

webACLSummary_name :: Lens' WebACLSummary (Maybe Text) Source #

The name of the web ACL. You cannot change the name of a web ACL after you create it.

XssMatchStatement

data XssMatchStatement Source #

A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers.

See: newXssMatchStatement smart constructor.

Constructors

XssMatchStatement' 

Fields

  • fieldToMatch :: FieldToMatch

    The part of the web request that you want WAF to inspect.

  • textTransformations :: NonEmpty TextTransformation

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

Instances

Instances details
FromJSON XssMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.XssMatchStatement

ToJSON XssMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.XssMatchStatement

Generic XssMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.XssMatchStatement

Associated Types

type Rep XssMatchStatement :: Type -> Type #

Read XssMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.XssMatchStatement

Show XssMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.XssMatchStatement

NFData XssMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.XssMatchStatement

Methods

rnf :: XssMatchStatement -> () #

Eq XssMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.XssMatchStatement

Hashable XssMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.XssMatchStatement

type Rep XssMatchStatement Source # 
Instance details

Defined in Amazonka.WAFV2.Types.XssMatchStatement

type Rep XssMatchStatement = D1 ('MetaData "XssMatchStatement" "Amazonka.WAFV2.Types.XssMatchStatement" "amazonka-wafv2-2.0-3v3WgpYn7RT5hSd6MsT5dN" 'False) (C1 ('MetaCons "XssMatchStatement'" 'PrefixI 'True) (S1 ('MetaSel ('Just "fieldToMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FieldToMatch) :*: S1 ('MetaSel ('Just "textTransformations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty TextTransformation))))

newXssMatchStatement Source #

Create a value of XssMatchStatement with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:fieldToMatch:XssMatchStatement', xssMatchStatement_fieldToMatch - The part of the web request that you want WAF to inspect.

$sel:textTransformations:XssMatchStatement', xssMatchStatement_textTransformations - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

xssMatchStatement_fieldToMatch :: Lens' XssMatchStatement FieldToMatch Source #

The part of the web request that you want WAF to inspect.

xssMatchStatement_textTransformations :: Lens' XssMatchStatement (NonEmpty TextTransformation) Source #

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.