amazonka-waf 1.6.1 → 2.0
raw patch · 303 files changed
+35306/−18221 lines, 303 filesdep +case-insensitivedep ~amazonka-coredep ~amazonka-testdep ~basesetup-changedPVP ok
version bump matches the API change (PVP)
Dependencies added: case-insensitive
Dependency ranges changed: amazonka-core, amazonka-test, base
API changes (from Hackage documentation)
- Network.AWS.WAF: Allow :: WafActionType
- Network.AWS.WAF: Block :: WafActionType
- Network.AWS.WAF: Body :: MatchFieldType
- Network.AWS.WAF: ByteMatch :: PredicateType
- Network.AWS.WAF: CmdLine :: TextTransformation
- Network.AWS.WAF: CompressWhiteSpace :: TextTransformation
- Network.AWS.WAF: Contains :: PositionalConstraint
- Network.AWS.WAF: ContainsWord :: PositionalConstraint
- Network.AWS.WAF: Count :: WafActionType
- Network.AWS.WAF: Country :: GeoMatchConstraintType
- Network.AWS.WAF: Delete :: ChangeAction
- Network.AWS.WAF: EQ' :: ComparisonOperator
- Network.AWS.WAF: EndsWith :: PositionalConstraint
- Network.AWS.WAF: Exactly :: PositionalConstraint
- Network.AWS.WAF: GE :: ComparisonOperator
- Network.AWS.WAF: GMCVAD :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAF :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAL :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAQ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAT :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAU :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAW :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAX :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVAZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBB :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBD :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBF :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBH :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBJ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBL :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBQ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBT :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBV :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBW :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBY :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVBZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCC :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCD :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCF :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCH :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCK :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCL :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCU :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCV :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCW :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCX :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCY :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVCZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVDE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVDJ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVDK :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVDM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVDO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVDZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVEC :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVEE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVEG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVEH :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVER :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVES :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVET :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVFI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVFJ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVFK :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVFM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVFO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVFR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGB :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGD :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGF :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGH :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGL :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGP :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGQ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGT' :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGU :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGW :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVGY :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVHK :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVHM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVHN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVHR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVHT :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVHU :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVIE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVIL :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVIM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVIN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVIO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVIQ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVIR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVIS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVIT :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVId :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVJE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVJM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVJO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVJP :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKH :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKP :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKW :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKY :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVKZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLB :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLC :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLK :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLT' :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLU :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLV :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVLY :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMC :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMD :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVME :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMF :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMH :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMK :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVML :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMP :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMQ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMT :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMU :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMV :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMW :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMX :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMY :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVMZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNC :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNF :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNL :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNP :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNU :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVNZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVOM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPF :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPH :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPK :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPL :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPT :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPW :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVPY :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVQA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVRE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVRO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVRS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVRU :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVRW :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSB :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSC :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSD :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSH :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSJ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSK :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSL :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVST :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSV :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSX :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSY :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVSZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTC :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTD :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTF :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTH :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTJ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTK :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTL :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTO :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTR :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTT :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTV :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTW :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVTZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVUA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVUG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVUM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVUS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVUY :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVUZ :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVVA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVVC :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVVE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVVG :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVVI :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVVN :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVVU :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVWF :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVWS :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVYE :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVYT :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVZA :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVZM :: GeoMatchConstraintValue
- Network.AWS.WAF: GMCVZW :: GeoMatchConstraintValue
- Network.AWS.WAF: GT' :: ComparisonOperator
- Network.AWS.WAF: GeoMatch :: PredicateType
- Network.AWS.WAF: Group :: WafRuleType
- Network.AWS.WAF: HTMLEntityDecode :: TextTransformation
- Network.AWS.WAF: Header :: MatchFieldType
- Network.AWS.WAF: IP :: RateKey
- Network.AWS.WAF: IPMatch :: PredicateType
- Network.AWS.WAF: IPV4 :: IPSetDescriptorType
- Network.AWS.WAF: IPV6 :: IPSetDescriptorType
- Network.AWS.WAF: Insert :: ChangeAction
- Network.AWS.WAF: Insync :: ChangeTokenStatus
- Network.AWS.WAF: LE :: ComparisonOperator
- Network.AWS.WAF: LT' :: ComparisonOperator
- Network.AWS.WAF: Lowercase :: TextTransformation
- Network.AWS.WAF: Method :: MatchFieldType
- Network.AWS.WAF: NE :: ComparisonOperator
- Network.AWS.WAF: None :: TextTransformation
- Network.AWS.WAF: Pending :: ChangeTokenStatus
- Network.AWS.WAF: Provisioned :: ChangeTokenStatus
- Network.AWS.WAF: QueryString :: MatchFieldType
- Network.AWS.WAF: RateBased :: WafRuleType
- Network.AWS.WAF: RegexMatch :: PredicateType
- Network.AWS.WAF: Regular :: WafRuleType
- Network.AWS.WAF: SizeConstraint :: PredicateType
- Network.AWS.WAF: SqlInjectionMatch :: PredicateType
- Network.AWS.WAF: StartsWith :: PositionalConstraint
- Network.AWS.WAF: URI :: MatchFieldType
- Network.AWS.WAF: URLDecode :: TextTransformation
- Network.AWS.WAF: WOATCount :: WafOverrideActionType
- Network.AWS.WAF: WOATNone :: WafOverrideActionType
- Network.AWS.WAF: XSSMatch :: PredicateType
- Network.AWS.WAF: _WAFDisallowedNameException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFInternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFInvalidAccountException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFInvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFInvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFInvalidPermissionPolicyException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFInvalidRegexPatternException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFLimitsExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFNonEmptyEntityException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFNonexistentContainerException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFNonexistentItemException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFReferencedItemException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFStaleDataException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: _WAFSubscriptionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF: activatedRule :: Int -> Text -> ActivatedRule
- Network.AWS.WAF: arAction :: Lens' ActivatedRule (Maybe WafAction)
- Network.AWS.WAF: arOverrideAction :: Lens' ActivatedRule (Maybe WafOverrideAction)
- Network.AWS.WAF: arPriority :: Lens' ActivatedRule Int
- Network.AWS.WAF: arRuleId :: Lens' ActivatedRule Text
- Network.AWS.WAF: arType :: Lens' ActivatedRule (Maybe WafRuleType)
- Network.AWS.WAF: bmsByteMatchSetId :: Lens' ByteMatchSet Text
- Network.AWS.WAF: bmsByteMatchTuples :: Lens' ByteMatchSet [ByteMatchTuple]
- Network.AWS.WAF: bmsName :: Lens' ByteMatchSet (Maybe Text)
- Network.AWS.WAF: bmssByteMatchSetId :: Lens' ByteMatchSetSummary Text
- Network.AWS.WAF: bmssName :: Lens' ByteMatchSetSummary Text
- Network.AWS.WAF: bmsuAction :: Lens' ByteMatchSetUpdate ChangeAction
- Network.AWS.WAF: bmsuByteMatchTuple :: Lens' ByteMatchSetUpdate ByteMatchTuple
- Network.AWS.WAF: bmtFieldToMatch :: Lens' ByteMatchTuple FieldToMatch
- Network.AWS.WAF: bmtPositionalConstraint :: Lens' ByteMatchTuple PositionalConstraint
- Network.AWS.WAF: bmtTargetString :: Lens' ByteMatchTuple ByteString
- Network.AWS.WAF: bmtTextTransformation :: Lens' ByteMatchTuple TextTransformation
- Network.AWS.WAF: byteMatchSet :: Text -> ByteMatchSet
- Network.AWS.WAF: byteMatchSetSummary :: Text -> Text -> ByteMatchSetSummary
- Network.AWS.WAF: byteMatchSetUpdate :: ChangeAction -> ByteMatchTuple -> ByteMatchSetUpdate
- Network.AWS.WAF: byteMatchTuple :: FieldToMatch -> ByteString -> TextTransformation -> PositionalConstraint -> ByteMatchTuple
- Network.AWS.WAF: data ActivatedRule
- Network.AWS.WAF: data ByteMatchSet
- Network.AWS.WAF: data ByteMatchSetSummary
- Network.AWS.WAF: data ByteMatchSetUpdate
- Network.AWS.WAF: data ByteMatchTuple
- Network.AWS.WAF: data ChangeAction
- Network.AWS.WAF: data ChangeTokenStatus
- Network.AWS.WAF: data ComparisonOperator
- Network.AWS.WAF: data FieldToMatch
- Network.AWS.WAF: data GeoMatchConstraint
- Network.AWS.WAF: data GeoMatchConstraintType
- Network.AWS.WAF: data GeoMatchConstraintValue
- Network.AWS.WAF: data GeoMatchSet
- Network.AWS.WAF: data GeoMatchSetSummary
- Network.AWS.WAF: data GeoMatchSetUpdate
- Network.AWS.WAF: data HTTPHeader
- Network.AWS.WAF: data HTTPRequest
- Network.AWS.WAF: data IPSet
- Network.AWS.WAF: data IPSetDescriptor
- Network.AWS.WAF: data IPSetDescriptorType
- Network.AWS.WAF: data IPSetSummary
- Network.AWS.WAF: data IPSetUpdate
- Network.AWS.WAF: data MatchFieldType
- Network.AWS.WAF: data PositionalConstraint
- Network.AWS.WAF: data Predicate
- Network.AWS.WAF: data PredicateType
- Network.AWS.WAF: data RateBasedRule
- Network.AWS.WAF: data RateKey
- Network.AWS.WAF: data RegexMatchSet
- Network.AWS.WAF: data RegexMatchSetSummary
- Network.AWS.WAF: data RegexMatchSetUpdate
- Network.AWS.WAF: data RegexMatchTuple
- Network.AWS.WAF: data RegexPatternSet
- Network.AWS.WAF: data RegexPatternSetSummary
- Network.AWS.WAF: data RegexPatternSetUpdate
- Network.AWS.WAF: data Rule
- Network.AWS.WAF: data RuleGroup
- Network.AWS.WAF: data RuleGroupSummary
- Network.AWS.WAF: data RuleGroupUpdate
- Network.AWS.WAF: data RuleSummary
- Network.AWS.WAF: data RuleUpdate
- Network.AWS.WAF: data SampledHTTPRequest
- Network.AWS.WAF: data SizeConstraint
- Network.AWS.WAF: data SizeConstraintSet
- Network.AWS.WAF: data SizeConstraintSetSummary
- Network.AWS.WAF: data SizeConstraintSetUpdate
- Network.AWS.WAF: data SqlInjectionMatchSet
- Network.AWS.WAF: data SqlInjectionMatchSetSummary
- Network.AWS.WAF: data SqlInjectionMatchSetUpdate
- Network.AWS.WAF: data SqlInjectionMatchTuple
- Network.AWS.WAF: data SubscribedRuleGroupSummary
- Network.AWS.WAF: data TextTransformation
- Network.AWS.WAF: data TimeWindow
- Network.AWS.WAF: data WafAction
- Network.AWS.WAF: data WafActionType
- Network.AWS.WAF: data WafOverrideAction
- Network.AWS.WAF: data WafOverrideActionType
- Network.AWS.WAF: data WafRuleType
- Network.AWS.WAF: data WebACL
- Network.AWS.WAF: data WebACLSummary
- Network.AWS.WAF: data WebACLUpdate
- Network.AWS.WAF: data XSSMatchSet
- Network.AWS.WAF: data XSSMatchSetSummary
- Network.AWS.WAF: data XSSMatchSetUpdate
- Network.AWS.WAF: data XSSMatchTuple
- Network.AWS.WAF: fieldToMatch :: MatchFieldType -> FieldToMatch
- Network.AWS.WAF: ftmData :: Lens' FieldToMatch (Maybe Text)
- Network.AWS.WAF: ftmType :: Lens' FieldToMatch MatchFieldType
- Network.AWS.WAF: geoMatchConstraint :: GeoMatchConstraintType -> GeoMatchConstraintValue -> GeoMatchConstraint
- Network.AWS.WAF: geoMatchSet :: Text -> GeoMatchSet
- Network.AWS.WAF: geoMatchSetSummary :: Text -> Text -> GeoMatchSetSummary
- Network.AWS.WAF: geoMatchSetUpdate :: ChangeAction -> GeoMatchConstraint -> GeoMatchSetUpdate
- Network.AWS.WAF: gmcType :: Lens' GeoMatchConstraint GeoMatchConstraintType
- Network.AWS.WAF: gmcValue :: Lens' GeoMatchConstraint GeoMatchConstraintValue
- Network.AWS.WAF: gmsGeoMatchConstraints :: Lens' GeoMatchSet [GeoMatchConstraint]
- Network.AWS.WAF: gmsGeoMatchSetId :: Lens' GeoMatchSet Text
- Network.AWS.WAF: gmsName :: Lens' GeoMatchSet (Maybe Text)
- Network.AWS.WAF: gmssGeoMatchSetId :: Lens' GeoMatchSetSummary Text
- Network.AWS.WAF: gmssName :: Lens' GeoMatchSetSummary Text
- Network.AWS.WAF: gmsuAction :: Lens' GeoMatchSetUpdate ChangeAction
- Network.AWS.WAF: gmsuGeoMatchConstraint :: Lens' GeoMatchSetUpdate GeoMatchConstraint
- Network.AWS.WAF: hTTPHeader :: HTTPHeader
- Network.AWS.WAF: hTTPRequest :: HTTPRequest
- Network.AWS.WAF: httphName :: Lens' HTTPHeader (Maybe Text)
- Network.AWS.WAF: httphValue :: Lens' HTTPHeader (Maybe Text)
- Network.AWS.WAF: httprClientIP :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF: httprCountry :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF: httprHTTPVersion :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF: httprHeaders :: Lens' HTTPRequest [HTTPHeader]
- Network.AWS.WAF: httprMethod :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF: httprURI :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF: ipSet :: Text -> IPSet
- Network.AWS.WAF: ipSetDescriptor :: IPSetDescriptorType -> Text -> IPSetDescriptor
- Network.AWS.WAF: ipSetSummary :: Text -> Text -> IPSetSummary
- Network.AWS.WAF: ipSetUpdate :: ChangeAction -> IPSetDescriptor -> IPSetUpdate
- Network.AWS.WAF: isIPSetDescriptors :: Lens' IPSet [IPSetDescriptor]
- Network.AWS.WAF: isIPSetId :: Lens' IPSet Text
- Network.AWS.WAF: isName :: Lens' IPSet (Maybe Text)
- Network.AWS.WAF: isdType :: Lens' IPSetDescriptor IPSetDescriptorType
- Network.AWS.WAF: isdValue :: Lens' IPSetDescriptor Text
- Network.AWS.WAF: issIPSetId :: Lens' IPSetSummary Text
- Network.AWS.WAF: issName :: Lens' IPSetSummary Text
- Network.AWS.WAF: isuAction :: Lens' IPSetUpdate ChangeAction
- Network.AWS.WAF: isuIPSetDescriptor :: Lens' IPSetUpdate IPSetDescriptor
- Network.AWS.WAF: pDataId :: Lens' Predicate Text
- Network.AWS.WAF: pNegated :: Lens' Predicate Bool
- Network.AWS.WAF: pType :: Lens' Predicate PredicateType
- Network.AWS.WAF: predicate :: Bool -> PredicateType -> Text -> Predicate
- Network.AWS.WAF: rMetricName :: Lens' Rule (Maybe Text)
- Network.AWS.WAF: rName :: Lens' Rule (Maybe Text)
- Network.AWS.WAF: rPredicates :: Lens' Rule [Predicate]
- Network.AWS.WAF: rRuleId :: Lens' Rule Text
- Network.AWS.WAF: rateBasedRule :: Text -> RateKey -> Natural -> RateBasedRule
- Network.AWS.WAF: rbrMatchPredicates :: Lens' RateBasedRule [Predicate]
- Network.AWS.WAF: rbrMetricName :: Lens' RateBasedRule (Maybe Text)
- Network.AWS.WAF: rbrName :: Lens' RateBasedRule (Maybe Text)
- Network.AWS.WAF: rbrRateKey :: Lens' RateBasedRule RateKey
- Network.AWS.WAF: rbrRateLimit :: Lens' RateBasedRule Natural
- Network.AWS.WAF: rbrRuleId :: Lens' RateBasedRule Text
- Network.AWS.WAF: regexMatchSet :: RegexMatchSet
- Network.AWS.WAF: regexMatchSetSummary :: Text -> Text -> RegexMatchSetSummary
- Network.AWS.WAF: regexMatchSetUpdate :: ChangeAction -> RegexMatchTuple -> RegexMatchSetUpdate
- Network.AWS.WAF: regexMatchTuple :: FieldToMatch -> TextTransformation -> Text -> RegexMatchTuple
- Network.AWS.WAF: regexPatternSet :: Text -> RegexPatternSet
- Network.AWS.WAF: regexPatternSetSummary :: Text -> Text -> RegexPatternSetSummary
- Network.AWS.WAF: regexPatternSetUpdate :: ChangeAction -> Text -> RegexPatternSetUpdate
- Network.AWS.WAF: rgMetricName :: Lens' RuleGroup (Maybe Text)
- Network.AWS.WAF: rgName :: Lens' RuleGroup (Maybe Text)
- Network.AWS.WAF: rgRuleGroupId :: Lens' RuleGroup Text
- Network.AWS.WAF: rgsName :: Lens' RuleGroupSummary Text
- Network.AWS.WAF: rgsRuleGroupId :: Lens' RuleGroupSummary Text
- Network.AWS.WAF: rguAction :: Lens' RuleGroupUpdate ChangeAction
- Network.AWS.WAF: rguActivatedRule :: Lens' RuleGroupUpdate ActivatedRule
- Network.AWS.WAF: rmsName :: Lens' RegexMatchSet (Maybe Text)
- Network.AWS.WAF: rmsRegexMatchSetId :: Lens' RegexMatchSet (Maybe Text)
- Network.AWS.WAF: rmsRegexMatchTuples :: Lens' RegexMatchSet [RegexMatchTuple]
- Network.AWS.WAF: rmssName :: Lens' RegexMatchSetSummary Text
- Network.AWS.WAF: rmssRegexMatchSetId :: Lens' RegexMatchSetSummary Text
- Network.AWS.WAF: rmsuAction :: Lens' RegexMatchSetUpdate ChangeAction
- Network.AWS.WAF: rmsuRegexMatchTuple :: Lens' RegexMatchSetUpdate RegexMatchTuple
- Network.AWS.WAF: rmtFieldToMatch :: Lens' RegexMatchTuple FieldToMatch
- Network.AWS.WAF: rmtRegexPatternSetId :: Lens' RegexMatchTuple Text
- Network.AWS.WAF: rmtTextTransformation :: Lens' RegexMatchTuple TextTransformation
- Network.AWS.WAF: rpsName :: Lens' RegexPatternSet (Maybe Text)
- Network.AWS.WAF: rpsRegexPatternSetId :: Lens' RegexPatternSet Text
- Network.AWS.WAF: rpsRegexPatternStrings :: Lens' RegexPatternSet [Text]
- Network.AWS.WAF: rpssName :: Lens' RegexPatternSetSummary Text
- Network.AWS.WAF: rpssRegexPatternSetId :: Lens' RegexPatternSetSummary Text
- Network.AWS.WAF: rpsuAction :: Lens' RegexPatternSetUpdate ChangeAction
- Network.AWS.WAF: rpsuRegexPatternString :: Lens' RegexPatternSetUpdate Text
- Network.AWS.WAF: rsName :: Lens' RuleSummary Text
- Network.AWS.WAF: rsRuleId :: Lens' RuleSummary Text
- Network.AWS.WAF: ruAction :: Lens' RuleUpdate ChangeAction
- Network.AWS.WAF: ruPredicate :: Lens' RuleUpdate Predicate
- Network.AWS.WAF: rule :: Text -> Rule
- Network.AWS.WAF: ruleGroup :: Text -> RuleGroup
- Network.AWS.WAF: ruleGroupSummary :: Text -> Text -> RuleGroupSummary
- Network.AWS.WAF: ruleGroupUpdate :: ChangeAction -> ActivatedRule -> RuleGroupUpdate
- Network.AWS.WAF: ruleSummary :: Text -> Text -> RuleSummary
- Network.AWS.WAF: ruleUpdate :: ChangeAction -> Predicate -> RuleUpdate
- Network.AWS.WAF: sampledHTTPRequest :: HTTPRequest -> Natural -> SampledHTTPRequest
- Network.AWS.WAF: scComparisonOperator :: Lens' SizeConstraint ComparisonOperator
- Network.AWS.WAF: scFieldToMatch :: Lens' SizeConstraint FieldToMatch
- Network.AWS.WAF: scSize :: Lens' SizeConstraint Natural
- Network.AWS.WAF: scTextTransformation :: Lens' SizeConstraint TextTransformation
- Network.AWS.WAF: scsName :: Lens' SizeConstraintSet (Maybe Text)
- Network.AWS.WAF: scsSizeConstraintSetId :: Lens' SizeConstraintSet Text
- Network.AWS.WAF: scsSizeConstraints :: Lens' SizeConstraintSet [SizeConstraint]
- Network.AWS.WAF: scssName :: Lens' SizeConstraintSetSummary Text
- Network.AWS.WAF: scssSizeConstraintSetId :: Lens' SizeConstraintSetSummary Text
- Network.AWS.WAF: scsuAction :: Lens' SizeConstraintSetUpdate ChangeAction
- Network.AWS.WAF: scsuSizeConstraint :: Lens' SizeConstraintSetUpdate SizeConstraint
- Network.AWS.WAF: shttprAction :: Lens' SampledHTTPRequest (Maybe Text)
- Network.AWS.WAF: shttprRequest :: Lens' SampledHTTPRequest HTTPRequest
- Network.AWS.WAF: shttprRuleWithinRuleGroup :: Lens' SampledHTTPRequest (Maybe Text)
- Network.AWS.WAF: shttprTimestamp :: Lens' SampledHTTPRequest (Maybe UTCTime)
- Network.AWS.WAF: shttprWeight :: Lens' SampledHTTPRequest Natural
- Network.AWS.WAF: simsName :: Lens' SqlInjectionMatchSet (Maybe Text)
- Network.AWS.WAF: simsSqlInjectionMatchSetId :: Lens' SqlInjectionMatchSet Text
- Network.AWS.WAF: simsSqlInjectionMatchTuples :: Lens' SqlInjectionMatchSet [SqlInjectionMatchTuple]
- Network.AWS.WAF: simssName :: Lens' SqlInjectionMatchSetSummary Text
- Network.AWS.WAF: simssSqlInjectionMatchSetId :: Lens' SqlInjectionMatchSetSummary Text
- Network.AWS.WAF: simsuAction :: Lens' SqlInjectionMatchSetUpdate ChangeAction
- Network.AWS.WAF: simsuSqlInjectionMatchTuple :: Lens' SqlInjectionMatchSetUpdate SqlInjectionMatchTuple
- Network.AWS.WAF: simtFieldToMatch :: Lens' SqlInjectionMatchTuple FieldToMatch
- Network.AWS.WAF: simtTextTransformation :: Lens' SqlInjectionMatchTuple TextTransformation
- Network.AWS.WAF: sizeConstraint :: FieldToMatch -> TextTransformation -> ComparisonOperator -> Natural -> SizeConstraint
- Network.AWS.WAF: sizeConstraintSet :: Text -> SizeConstraintSet
- Network.AWS.WAF: sizeConstraintSetSummary :: Text -> Text -> SizeConstraintSetSummary
- Network.AWS.WAF: sizeConstraintSetUpdate :: ChangeAction -> SizeConstraint -> SizeConstraintSetUpdate
- Network.AWS.WAF: sqlInjectionMatchSet :: Text -> SqlInjectionMatchSet
- Network.AWS.WAF: sqlInjectionMatchSetSummary :: Text -> Text -> SqlInjectionMatchSetSummary
- Network.AWS.WAF: sqlInjectionMatchSetUpdate :: ChangeAction -> SqlInjectionMatchTuple -> SqlInjectionMatchSetUpdate
- Network.AWS.WAF: sqlInjectionMatchTuple :: FieldToMatch -> TextTransformation -> SqlInjectionMatchTuple
- Network.AWS.WAF: srgsMetricName :: Lens' SubscribedRuleGroupSummary Text
- Network.AWS.WAF: srgsName :: Lens' SubscribedRuleGroupSummary Text
- Network.AWS.WAF: srgsRuleGroupId :: Lens' SubscribedRuleGroupSummary Text
- Network.AWS.WAF: subscribedRuleGroupSummary :: Text -> Text -> Text -> SubscribedRuleGroupSummary
- Network.AWS.WAF: timeWindow :: UTCTime -> UTCTime -> TimeWindow
- Network.AWS.WAF: twEndTime :: Lens' TimeWindow UTCTime
- Network.AWS.WAF: twStartTime :: Lens' TimeWindow UTCTime
- Network.AWS.WAF: waDefaultAction :: Lens' WebACL WafAction
- Network.AWS.WAF: waMetricName :: Lens' WebACL (Maybe Text)
- Network.AWS.WAF: waName :: Lens' WebACL (Maybe Text)
- Network.AWS.WAF: waRules :: Lens' WebACL [ActivatedRule]
- Network.AWS.WAF: waType :: Lens' WafAction WafActionType
- Network.AWS.WAF: waWebACLId :: Lens' WebACL Text
- Network.AWS.WAF: waf :: Service
- Network.AWS.WAF: wafAction :: WafActionType -> WafAction
- Network.AWS.WAF: wafOverrideAction :: WafOverrideActionType -> WafOverrideAction
- Network.AWS.WAF: wasName :: Lens' WebACLSummary Text
- Network.AWS.WAF: wasWebACLId :: Lens' WebACLSummary Text
- Network.AWS.WAF: wauAction :: Lens' WebACLUpdate ChangeAction
- Network.AWS.WAF: wauActivatedRule :: Lens' WebACLUpdate ActivatedRule
- Network.AWS.WAF: webACL :: Text -> WafAction -> WebACL
- Network.AWS.WAF: webACLSummary :: Text -> Text -> WebACLSummary
- Network.AWS.WAF: webACLUpdate :: ChangeAction -> ActivatedRule -> WebACLUpdate
- Network.AWS.WAF: woaType :: Lens' WafOverrideAction WafOverrideActionType
- Network.AWS.WAF: xmsName :: Lens' XSSMatchSet (Maybe Text)
- Network.AWS.WAF: xmsXSSMatchSetId :: Lens' XSSMatchSet Text
- Network.AWS.WAF: xmsXSSMatchTuples :: Lens' XSSMatchSet [XSSMatchTuple]
- Network.AWS.WAF: xmssName :: Lens' XSSMatchSetSummary Text
- Network.AWS.WAF: xmssXSSMatchSetId :: Lens' XSSMatchSetSummary Text
- Network.AWS.WAF: xmsuAction :: Lens' XSSMatchSetUpdate ChangeAction
- Network.AWS.WAF: xmsuXSSMatchTuple :: Lens' XSSMatchSetUpdate XSSMatchTuple
- Network.AWS.WAF: xmtFieldToMatch :: Lens' XSSMatchTuple FieldToMatch
- Network.AWS.WAF: xmtTextTransformation :: Lens' XSSMatchTuple TextTransformation
- Network.AWS.WAF: xssMatchSet :: Text -> XSSMatchSet
- Network.AWS.WAF: xssMatchSetSummary :: Text -> Text -> XSSMatchSetSummary
- Network.AWS.WAF: xssMatchSetUpdate :: ChangeAction -> XSSMatchTuple -> XSSMatchSetUpdate
- Network.AWS.WAF: xssMatchTuple :: FieldToMatch -> TextTransformation -> XSSMatchTuple
- Network.AWS.WAF.CreateByteMatchSet: cbmsChangeToken :: Lens' CreateByteMatchSet Text
- Network.AWS.WAF.CreateByteMatchSet: cbmsName :: Lens' CreateByteMatchSet Text
- Network.AWS.WAF.CreateByteMatchSet: cbmsrsByteMatchSet :: Lens' CreateByteMatchSetResponse (Maybe ByteMatchSet)
- Network.AWS.WAF.CreateByteMatchSet: cbmsrsChangeToken :: Lens' CreateByteMatchSetResponse (Maybe Text)
- Network.AWS.WAF.CreateByteMatchSet: cbmsrsResponseStatus :: Lens' CreateByteMatchSetResponse Int
- Network.AWS.WAF.CreateByteMatchSet: createByteMatchSet :: Text -> Text -> CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: createByteMatchSetResponse :: Int -> CreateByteMatchSetResponse
- Network.AWS.WAF.CreateByteMatchSet: data CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: data CreateByteMatchSetResponse
- Network.AWS.WAF.CreateByteMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
- Network.AWS.WAF.CreateByteMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
- Network.AWS.WAF.CreateByteMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
- Network.AWS.WAF.CreateByteMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
- Network.AWS.WAF.CreateByteMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
- Network.AWS.WAF.CreateByteMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
- Network.AWS.WAF.CreateByteMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateByteMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateByteMatchSet.CreateByteMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: cgmsChangeToken :: Lens' CreateGeoMatchSet Text
- Network.AWS.WAF.CreateGeoMatchSet: cgmsName :: Lens' CreateGeoMatchSet Text
- Network.AWS.WAF.CreateGeoMatchSet: cgmsrsChangeToken :: Lens' CreateGeoMatchSetResponse (Maybe Text)
- Network.AWS.WAF.CreateGeoMatchSet: cgmsrsGeoMatchSet :: Lens' CreateGeoMatchSetResponse (Maybe GeoMatchSet)
- Network.AWS.WAF.CreateGeoMatchSet: cgmsrsResponseStatus :: Lens' CreateGeoMatchSetResponse Int
- Network.AWS.WAF.CreateGeoMatchSet: createGeoMatchSet :: Text -> Text -> CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: createGeoMatchSetResponse :: Int -> CreateGeoMatchSetResponse
- Network.AWS.WAF.CreateGeoMatchSet: data CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: data CreateGeoMatchSetResponse
- Network.AWS.WAF.CreateGeoMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
- Network.AWS.WAF.CreateGeoMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
- Network.AWS.WAF.CreateGeoMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
- Network.AWS.WAF.CreateGeoMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
- Network.AWS.WAF.CreateGeoMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
- Network.AWS.WAF.CreateGeoMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
- Network.AWS.WAF.CreateGeoMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateGeoMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateGeoMatchSet.CreateGeoMatchSet
- Network.AWS.WAF.CreateIPSet: cisChangeToken :: Lens' CreateIPSet Text
- Network.AWS.WAF.CreateIPSet: cisName :: Lens' CreateIPSet Text
- Network.AWS.WAF.CreateIPSet: cisrsChangeToken :: Lens' CreateIPSetResponse (Maybe Text)
- Network.AWS.WAF.CreateIPSet: cisrsIPSet :: Lens' CreateIPSetResponse (Maybe IPSet)
- Network.AWS.WAF.CreateIPSet: cisrsResponseStatus :: Lens' CreateIPSetResponse Int
- Network.AWS.WAF.CreateIPSet: createIPSet :: Text -> Text -> CreateIPSet
- Network.AWS.WAF.CreateIPSet: createIPSetResponse :: Int -> CreateIPSetResponse
- Network.AWS.WAF.CreateIPSet: data CreateIPSet
- Network.AWS.WAF.CreateIPSet: data CreateIPSetResponse
- Network.AWS.WAF.CreateIPSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateIPSet.CreateIPSetResponse
- Network.AWS.WAF.CreateIPSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance Data.Data.Data Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance Data.Data.Data Network.AWS.WAF.CreateIPSet.CreateIPSetResponse
- Network.AWS.WAF.CreateIPSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateIPSet.CreateIPSetResponse
- Network.AWS.WAF.CreateIPSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateIPSet.CreateIPSetResponse
- Network.AWS.WAF.CreateIPSet: instance GHC.Read.Read Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance GHC.Read.Read Network.AWS.WAF.CreateIPSet.CreateIPSetResponse
- Network.AWS.WAF.CreateIPSet: instance GHC.Show.Show Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance GHC.Show.Show Network.AWS.WAF.CreateIPSet.CreateIPSetResponse
- Network.AWS.WAF.CreateIPSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateIPSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateIPSet.CreateIPSet
- Network.AWS.WAF.CreateRateBasedRule: crbrChangeToken :: Lens' CreateRateBasedRule Text
- Network.AWS.WAF.CreateRateBasedRule: crbrMetricName :: Lens' CreateRateBasedRule Text
- Network.AWS.WAF.CreateRateBasedRule: crbrName :: Lens' CreateRateBasedRule Text
- Network.AWS.WAF.CreateRateBasedRule: crbrRateKey :: Lens' CreateRateBasedRule RateKey
- Network.AWS.WAF.CreateRateBasedRule: crbrRateLimit :: Lens' CreateRateBasedRule Natural
- Network.AWS.WAF.CreateRateBasedRule: crbrrsChangeToken :: Lens' CreateRateBasedRuleResponse (Maybe Text)
- Network.AWS.WAF.CreateRateBasedRule: crbrrsResponseStatus :: Lens' CreateRateBasedRuleResponse Int
- Network.AWS.WAF.CreateRateBasedRule: crbrrsRule :: Lens' CreateRateBasedRuleResponse (Maybe RateBasedRule)
- Network.AWS.WAF.CreateRateBasedRule: createRateBasedRule :: Text -> Text -> RateKey -> Natural -> Text -> CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: createRateBasedRuleResponse :: Int -> CreateRateBasedRuleResponse
- Network.AWS.WAF.CreateRateBasedRule: data CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: data CreateRateBasedRuleResponse
- Network.AWS.WAF.CreateRateBasedRule: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
- Network.AWS.WAF.CreateRateBasedRule: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance Data.Data.Data Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance Data.Data.Data Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
- Network.AWS.WAF.CreateRateBasedRule: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance GHC.Classes.Eq Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance GHC.Classes.Eq Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
- Network.AWS.WAF.CreateRateBasedRule: instance GHC.Generics.Generic Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance GHC.Generics.Generic Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
- Network.AWS.WAF.CreateRateBasedRule: instance GHC.Read.Read Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance GHC.Read.Read Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
- Network.AWS.WAF.CreateRateBasedRule: instance GHC.Show.Show Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance GHC.Show.Show Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
- Network.AWS.WAF.CreateRateBasedRule: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRateBasedRule: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateRateBasedRule.CreateRateBasedRule
- Network.AWS.WAF.CreateRegexMatchSet: createRegexMatchSet :: Text -> Text -> CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: createRegexMatchSetResponse :: Int -> CreateRegexMatchSetResponse
- Network.AWS.WAF.CreateRegexMatchSet: crmsChangeToken :: Lens' CreateRegexMatchSet Text
- Network.AWS.WAF.CreateRegexMatchSet: crmsName :: Lens' CreateRegexMatchSet Text
- Network.AWS.WAF.CreateRegexMatchSet: crmsrsChangeToken :: Lens' CreateRegexMatchSetResponse (Maybe Text)
- Network.AWS.WAF.CreateRegexMatchSet: crmsrsRegexMatchSet :: Lens' CreateRegexMatchSetResponse (Maybe RegexMatchSet)
- Network.AWS.WAF.CreateRegexMatchSet: crmsrsResponseStatus :: Lens' CreateRegexMatchSetResponse Int
- Network.AWS.WAF.CreateRegexMatchSet: data CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: data CreateRegexMatchSetResponse
- Network.AWS.WAF.CreateRegexMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
- Network.AWS.WAF.CreateRegexMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
- Network.AWS.WAF.CreateRegexMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
- Network.AWS.WAF.CreateRegexMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
- Network.AWS.WAF.CreateRegexMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
- Network.AWS.WAF.CreateRegexMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
- Network.AWS.WAF.CreateRegexMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateRegexMatchSet.CreateRegexMatchSet
- Network.AWS.WAF.CreateRegexPatternSet: createRegexPatternSet :: Text -> Text -> CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: createRegexPatternSetResponse :: Int -> CreateRegexPatternSetResponse
- Network.AWS.WAF.CreateRegexPatternSet: crpsChangeToken :: Lens' CreateRegexPatternSet Text
- Network.AWS.WAF.CreateRegexPatternSet: crpsName :: Lens' CreateRegexPatternSet Text
- Network.AWS.WAF.CreateRegexPatternSet: crpsrsChangeToken :: Lens' CreateRegexPatternSetResponse (Maybe Text)
- Network.AWS.WAF.CreateRegexPatternSet: crpsrsRegexPatternSet :: Lens' CreateRegexPatternSetResponse (Maybe RegexPatternSet)
- Network.AWS.WAF.CreateRegexPatternSet: crpsrsResponseStatus :: Lens' CreateRegexPatternSetResponse Int
- Network.AWS.WAF.CreateRegexPatternSet: data CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: data CreateRegexPatternSetResponse
- Network.AWS.WAF.CreateRegexPatternSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
- Network.AWS.WAF.CreateRegexPatternSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance Data.Data.Data Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance Data.Data.Data Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
- Network.AWS.WAF.CreateRegexPatternSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
- Network.AWS.WAF.CreateRegexPatternSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
- Network.AWS.WAF.CreateRegexPatternSet: instance GHC.Read.Read Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance GHC.Read.Read Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
- Network.AWS.WAF.CreateRegexPatternSet: instance GHC.Show.Show Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance GHC.Show.Show Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
- Network.AWS.WAF.CreateRegexPatternSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRegexPatternSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateRegexPatternSet.CreateRegexPatternSet
- Network.AWS.WAF.CreateRule: crChangeToken :: Lens' CreateRule Text
- Network.AWS.WAF.CreateRule: crMetricName :: Lens' CreateRule Text
- Network.AWS.WAF.CreateRule: crName :: Lens' CreateRule Text
- Network.AWS.WAF.CreateRule: createRule :: Text -> Text -> Text -> CreateRule
- Network.AWS.WAF.CreateRule: createRuleResponse :: Int -> CreateRuleResponse
- Network.AWS.WAF.CreateRule: crrsChangeToken :: Lens' CreateRuleResponse (Maybe Text)
- Network.AWS.WAF.CreateRule: crrsResponseStatus :: Lens' CreateRuleResponse Int
- Network.AWS.WAF.CreateRule: crrsRule :: Lens' CreateRuleResponse (Maybe Rule)
- Network.AWS.WAF.CreateRule: data CreateRule
- Network.AWS.WAF.CreateRule: data CreateRuleResponse
- Network.AWS.WAF.CreateRule: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRule.CreateRuleResponse
- Network.AWS.WAF.CreateRule: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance Data.Data.Data Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance Data.Data.Data Network.AWS.WAF.CreateRule.CreateRuleResponse
- Network.AWS.WAF.CreateRule: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance GHC.Classes.Eq Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance GHC.Classes.Eq Network.AWS.WAF.CreateRule.CreateRuleResponse
- Network.AWS.WAF.CreateRule: instance GHC.Generics.Generic Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance GHC.Generics.Generic Network.AWS.WAF.CreateRule.CreateRuleResponse
- Network.AWS.WAF.CreateRule: instance GHC.Read.Read Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance GHC.Read.Read Network.AWS.WAF.CreateRule.CreateRuleResponse
- Network.AWS.WAF.CreateRule: instance GHC.Show.Show Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance GHC.Show.Show Network.AWS.WAF.CreateRule.CreateRuleResponse
- Network.AWS.WAF.CreateRule: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRule: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateRule.CreateRule
- Network.AWS.WAF.CreateRuleGroup: createRuleGroup :: Text -> Text -> Text -> CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: createRuleGroupResponse :: Int -> CreateRuleGroupResponse
- Network.AWS.WAF.CreateRuleGroup: crgChangeToken :: Lens' CreateRuleGroup Text
- Network.AWS.WAF.CreateRuleGroup: crgMetricName :: Lens' CreateRuleGroup Text
- Network.AWS.WAF.CreateRuleGroup: crgName :: Lens' CreateRuleGroup Text
- Network.AWS.WAF.CreateRuleGroup: crgrsChangeToken :: Lens' CreateRuleGroupResponse (Maybe Text)
- Network.AWS.WAF.CreateRuleGroup: crgrsResponseStatus :: Lens' CreateRuleGroupResponse Int
- Network.AWS.WAF.CreateRuleGroup: crgrsRuleGroup :: Lens' CreateRuleGroupResponse (Maybe RuleGroup)
- Network.AWS.WAF.CreateRuleGroup: data CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: data CreateRuleGroupResponse
- Network.AWS.WAF.CreateRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateRuleGroup.CreateRuleGroupResponse
- Network.AWS.WAF.CreateRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance Data.Data.Data Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance Data.Data.Data Network.AWS.WAF.CreateRuleGroup.CreateRuleGroupResponse
- Network.AWS.WAF.CreateRuleGroup: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.CreateRuleGroup.CreateRuleGroupResponse
- Network.AWS.WAF.CreateRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.CreateRuleGroup.CreateRuleGroupResponse
- Network.AWS.WAF.CreateRuleGroup: instance GHC.Read.Read Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance GHC.Read.Read Network.AWS.WAF.CreateRuleGroup.CreateRuleGroupResponse
- Network.AWS.WAF.CreateRuleGroup: instance GHC.Show.Show Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance GHC.Show.Show Network.AWS.WAF.CreateRuleGroup.CreateRuleGroupResponse
- Network.AWS.WAF.CreateRuleGroup: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateRuleGroup: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateRuleGroup.CreateRuleGroup
- Network.AWS.WAF.CreateSizeConstraintSet: createSizeConstraintSet :: Text -> Text -> CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: createSizeConstraintSetResponse :: Int -> CreateSizeConstraintSetResponse
- Network.AWS.WAF.CreateSizeConstraintSet: cscsChangeToken :: Lens' CreateSizeConstraintSet Text
- Network.AWS.WAF.CreateSizeConstraintSet: cscsName :: Lens' CreateSizeConstraintSet Text
- Network.AWS.WAF.CreateSizeConstraintSet: cscsrsChangeToken :: Lens' CreateSizeConstraintSetResponse (Maybe Text)
- Network.AWS.WAF.CreateSizeConstraintSet: cscsrsResponseStatus :: Lens' CreateSizeConstraintSetResponse Int
- Network.AWS.WAF.CreateSizeConstraintSet: cscsrsSizeConstraintSet :: Lens' CreateSizeConstraintSetResponse (Maybe SizeConstraintSet)
- Network.AWS.WAF.CreateSizeConstraintSet: data CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: data CreateSizeConstraintSetResponse
- Network.AWS.WAF.CreateSizeConstraintSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
- Network.AWS.WAF.CreateSizeConstraintSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance Data.Data.Data Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance Data.Data.Data Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
- Network.AWS.WAF.CreateSizeConstraintSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
- Network.AWS.WAF.CreateSizeConstraintSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
- Network.AWS.WAF.CreateSizeConstraintSet: instance GHC.Read.Read Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance GHC.Read.Read Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
- Network.AWS.WAF.CreateSizeConstraintSet: instance GHC.Show.Show Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance GHC.Show.Show Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
- Network.AWS.WAF.CreateSizeConstraintSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSizeConstraintSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: createSqlInjectionMatchSet :: Text -> Text -> CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: createSqlInjectionMatchSetResponse :: Int -> CreateSqlInjectionMatchSetResponse
- Network.AWS.WAF.CreateSqlInjectionMatchSet: csimsChangeToken :: Lens' CreateSqlInjectionMatchSet Text
- Network.AWS.WAF.CreateSqlInjectionMatchSet: csimsName :: Lens' CreateSqlInjectionMatchSet Text
- Network.AWS.WAF.CreateSqlInjectionMatchSet: csimsrsChangeToken :: Lens' CreateSqlInjectionMatchSetResponse (Maybe Text)
- Network.AWS.WAF.CreateSqlInjectionMatchSet: csimsrsResponseStatus :: Lens' CreateSqlInjectionMatchSetResponse Int
- Network.AWS.WAF.CreateSqlInjectionMatchSet: csimsrsSqlInjectionMatchSet :: Lens' CreateSqlInjectionMatchSetResponse (Maybe SqlInjectionMatchSet)
- Network.AWS.WAF.CreateSqlInjectionMatchSet: data CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: data CreateSqlInjectionMatchSetResponse
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateSqlInjectionMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
- Network.AWS.WAF.CreateWebACL: createWebACL :: Text -> Text -> WafAction -> Text -> CreateWebACL
- Network.AWS.WAF.CreateWebACL: createWebACLResponse :: Int -> CreateWebACLResponse
- Network.AWS.WAF.CreateWebACL: cwaChangeToken :: Lens' CreateWebACL Text
- Network.AWS.WAF.CreateWebACL: cwaDefaultAction :: Lens' CreateWebACL WafAction
- Network.AWS.WAF.CreateWebACL: cwaMetricName :: Lens' CreateWebACL Text
- Network.AWS.WAF.CreateWebACL: cwaName :: Lens' CreateWebACL Text
- Network.AWS.WAF.CreateWebACL: cwarsChangeToken :: Lens' CreateWebACLResponse (Maybe Text)
- Network.AWS.WAF.CreateWebACL: cwarsResponseStatus :: Lens' CreateWebACLResponse Int
- Network.AWS.WAF.CreateWebACL: cwarsWebACL :: Lens' CreateWebACLResponse (Maybe WebACL)
- Network.AWS.WAF.CreateWebACL: data CreateWebACL
- Network.AWS.WAF.CreateWebACL: data CreateWebACLResponse
- Network.AWS.WAF.CreateWebACL: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateWebACL.CreateWebACLResponse
- Network.AWS.WAF.CreateWebACL: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance Data.Data.Data Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance Data.Data.Data Network.AWS.WAF.CreateWebACL.CreateWebACLResponse
- Network.AWS.WAF.CreateWebACL: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance GHC.Classes.Eq Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance GHC.Classes.Eq Network.AWS.WAF.CreateWebACL.CreateWebACLResponse
- Network.AWS.WAF.CreateWebACL: instance GHC.Generics.Generic Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance GHC.Generics.Generic Network.AWS.WAF.CreateWebACL.CreateWebACLResponse
- Network.AWS.WAF.CreateWebACL: instance GHC.Read.Read Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance GHC.Read.Read Network.AWS.WAF.CreateWebACL.CreateWebACLResponse
- Network.AWS.WAF.CreateWebACL: instance GHC.Show.Show Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance GHC.Show.Show Network.AWS.WAF.CreateWebACL.CreateWebACLResponse
- Network.AWS.WAF.CreateWebACL: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateWebACL: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateWebACL.CreateWebACL
- Network.AWS.WAF.CreateXSSMatchSet: createXSSMatchSet :: Text -> Text -> CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: createXSSMatchSetResponse :: Int -> CreateXSSMatchSetResponse
- Network.AWS.WAF.CreateXSSMatchSet: cxmsChangeToken :: Lens' CreateXSSMatchSet Text
- Network.AWS.WAF.CreateXSSMatchSet: cxmsName :: Lens' CreateXSSMatchSet Text
- Network.AWS.WAF.CreateXSSMatchSet: cxmsrsChangeToken :: Lens' CreateXSSMatchSetResponse (Maybe Text)
- Network.AWS.WAF.CreateXSSMatchSet: cxmsrsResponseStatus :: Lens' CreateXSSMatchSetResponse Int
- Network.AWS.WAF.CreateXSSMatchSet: cxmsrsXSSMatchSet :: Lens' CreateXSSMatchSetResponse (Maybe XSSMatchSet)
- Network.AWS.WAF.CreateXSSMatchSet: data CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: data CreateXSSMatchSetResponse
- Network.AWS.WAF.CreateXSSMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSetResponse
- Network.AWS.WAF.CreateXSSMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance Data.Data.Data Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSetResponse
- Network.AWS.WAF.CreateXSSMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSetResponse
- Network.AWS.WAF.CreateXSSMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSetResponse
- Network.AWS.WAF.CreateXSSMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance GHC.Read.Read Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSetResponse
- Network.AWS.WAF.CreateXSSMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance GHC.Show.Show Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSetResponse
- Network.AWS.WAF.CreateXSSMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.CreateXSSMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.CreateXSSMatchSet.CreateXSSMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: data DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: data DeleteByteMatchSetResponse
- Network.AWS.WAF.DeleteByteMatchSet: dbmsByteMatchSetId :: Lens' DeleteByteMatchSet Text
- Network.AWS.WAF.DeleteByteMatchSet: dbmsChangeToken :: Lens' DeleteByteMatchSet Text
- Network.AWS.WAF.DeleteByteMatchSet: dbmsrsChangeToken :: Lens' DeleteByteMatchSetResponse (Maybe Text)
- Network.AWS.WAF.DeleteByteMatchSet: dbmsrsResponseStatus :: Lens' DeleteByteMatchSetResponse Int
- Network.AWS.WAF.DeleteByteMatchSet: deleteByteMatchSet :: Text -> Text -> DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: deleteByteMatchSetResponse :: Int -> DeleteByteMatchSetResponse
- Network.AWS.WAF.DeleteByteMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
- Network.AWS.WAF.DeleteByteMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
- Network.AWS.WAF.DeleteByteMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
- Network.AWS.WAF.DeleteByteMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
- Network.AWS.WAF.DeleteByteMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
- Network.AWS.WAF.DeleteByteMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
- Network.AWS.WAF.DeleteByteMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteByteMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteByteMatchSet.DeleteByteMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: data DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: data DeleteGeoMatchSetResponse
- Network.AWS.WAF.DeleteGeoMatchSet: deleteGeoMatchSet :: Text -> Text -> DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: deleteGeoMatchSetResponse :: Int -> DeleteGeoMatchSetResponse
- Network.AWS.WAF.DeleteGeoMatchSet: dgmsChangeToken :: Lens' DeleteGeoMatchSet Text
- Network.AWS.WAF.DeleteGeoMatchSet: dgmsGeoMatchSetId :: Lens' DeleteGeoMatchSet Text
- Network.AWS.WAF.DeleteGeoMatchSet: dgmsrsChangeToken :: Lens' DeleteGeoMatchSetResponse (Maybe Text)
- Network.AWS.WAF.DeleteGeoMatchSet: dgmsrsResponseStatus :: Lens' DeleteGeoMatchSetResponse Int
- Network.AWS.WAF.DeleteGeoMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
- Network.AWS.WAF.DeleteGeoMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
- Network.AWS.WAF.DeleteGeoMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
- Network.AWS.WAF.DeleteGeoMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
- Network.AWS.WAF.DeleteGeoMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
- Network.AWS.WAF.DeleteGeoMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
- Network.AWS.WAF.DeleteGeoMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteGeoMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
- Network.AWS.WAF.DeleteIPSet: data DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: data DeleteIPSetResponse
- Network.AWS.WAF.DeleteIPSet: deleteIPSet :: Text -> Text -> DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: deleteIPSetResponse :: Int -> DeleteIPSetResponse
- Network.AWS.WAF.DeleteIPSet: disChangeToken :: Lens' DeleteIPSet Text
- Network.AWS.WAF.DeleteIPSet: disIPSetId :: Lens' DeleteIPSet Text
- Network.AWS.WAF.DeleteIPSet: disrsChangeToken :: Lens' DeleteIPSetResponse (Maybe Text)
- Network.AWS.WAF.DeleteIPSet: disrsResponseStatus :: Lens' DeleteIPSetResponse Int
- Network.AWS.WAF.DeleteIPSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteIPSet.DeleteIPSetResponse
- Network.AWS.WAF.DeleteIPSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance Data.Data.Data Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance Data.Data.Data Network.AWS.WAF.DeleteIPSet.DeleteIPSetResponse
- Network.AWS.WAF.DeleteIPSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteIPSet.DeleteIPSetResponse
- Network.AWS.WAF.DeleteIPSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteIPSet.DeleteIPSetResponse
- Network.AWS.WAF.DeleteIPSet: instance GHC.Read.Read Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance GHC.Read.Read Network.AWS.WAF.DeleteIPSet.DeleteIPSetResponse
- Network.AWS.WAF.DeleteIPSet: instance GHC.Show.Show Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance GHC.Show.Show Network.AWS.WAF.DeleteIPSet.DeleteIPSetResponse
- Network.AWS.WAF.DeleteIPSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeleteIPSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteIPSet.DeleteIPSet
- Network.AWS.WAF.DeletePermissionPolicy: data DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: data DeletePermissionPolicyResponse
- Network.AWS.WAF.DeletePermissionPolicy: deletePermissionPolicy :: Text -> DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: deletePermissionPolicyResponse :: Int -> DeletePermissionPolicyResponse
- Network.AWS.WAF.DeletePermissionPolicy: dppResourceARN :: Lens' DeletePermissionPolicy Text
- Network.AWS.WAF.DeletePermissionPolicy: dpprsResponseStatus :: Lens' DeletePermissionPolicyResponse Int
- Network.AWS.WAF.DeletePermissionPolicy: instance Control.DeepSeq.NFData Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance Control.DeepSeq.NFData Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
- Network.AWS.WAF.DeletePermissionPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance Data.Data.Data Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance Data.Data.Data Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
- Network.AWS.WAF.DeletePermissionPolicy: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance GHC.Classes.Eq Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance GHC.Classes.Eq Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
- Network.AWS.WAF.DeletePermissionPolicy: instance GHC.Generics.Generic Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance GHC.Generics.Generic Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
- Network.AWS.WAF.DeletePermissionPolicy: instance GHC.Read.Read Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance GHC.Read.Read Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
- Network.AWS.WAF.DeletePermissionPolicy: instance GHC.Show.Show Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance GHC.Show.Show Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
- Network.AWS.WAF.DeletePermissionPolicy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeletePermissionPolicy: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeletePermissionPolicy.DeletePermissionPolicy
- Network.AWS.WAF.DeleteRateBasedRule: data DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: data DeleteRateBasedRuleResponse
- Network.AWS.WAF.DeleteRateBasedRule: deleteRateBasedRule :: Text -> Text -> DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: deleteRateBasedRuleResponse :: Int -> DeleteRateBasedRuleResponse
- Network.AWS.WAF.DeleteRateBasedRule: drbrChangeToken :: Lens' DeleteRateBasedRule Text
- Network.AWS.WAF.DeleteRateBasedRule: drbrRuleId :: Lens' DeleteRateBasedRule Text
- Network.AWS.WAF.DeleteRateBasedRule: drbrrsChangeToken :: Lens' DeleteRateBasedRuleResponse (Maybe Text)
- Network.AWS.WAF.DeleteRateBasedRule: drbrrsResponseStatus :: Lens' DeleteRateBasedRuleResponse Int
- Network.AWS.WAF.DeleteRateBasedRule: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
- Network.AWS.WAF.DeleteRateBasedRule: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance Data.Data.Data Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance Data.Data.Data Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
- Network.AWS.WAF.DeleteRateBasedRule: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
- Network.AWS.WAF.DeleteRateBasedRule: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
- Network.AWS.WAF.DeleteRateBasedRule: instance GHC.Read.Read Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance GHC.Read.Read Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
- Network.AWS.WAF.DeleteRateBasedRule: instance GHC.Show.Show Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance GHC.Show.Show Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
- Network.AWS.WAF.DeleteRateBasedRule: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRateBasedRule: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteRateBasedRule.DeleteRateBasedRule
- Network.AWS.WAF.DeleteRegexMatchSet: data DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: data DeleteRegexMatchSetResponse
- Network.AWS.WAF.DeleteRegexMatchSet: deleteRegexMatchSet :: Text -> Text -> DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: deleteRegexMatchSetResponse :: Int -> DeleteRegexMatchSetResponse
- Network.AWS.WAF.DeleteRegexMatchSet: drmsChangeToken :: Lens' DeleteRegexMatchSet Text
- Network.AWS.WAF.DeleteRegexMatchSet: drmsRegexMatchSetId :: Lens' DeleteRegexMatchSet Text
- Network.AWS.WAF.DeleteRegexMatchSet: drmsrsChangeToken :: Lens' DeleteRegexMatchSetResponse (Maybe Text)
- Network.AWS.WAF.DeleteRegexMatchSet: drmsrsResponseStatus :: Lens' DeleteRegexMatchSetResponse Int
- Network.AWS.WAF.DeleteRegexMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
- Network.AWS.WAF.DeleteRegexMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
- Network.AWS.WAF.DeleteRegexMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
- Network.AWS.WAF.DeleteRegexMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
- Network.AWS.WAF.DeleteRegexMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
- Network.AWS.WAF.DeleteRegexMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
- Network.AWS.WAF.DeleteRegexMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
- Network.AWS.WAF.DeleteRegexPatternSet: data DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: data DeleteRegexPatternSetResponse
- Network.AWS.WAF.DeleteRegexPatternSet: deleteRegexPatternSet :: Text -> Text -> DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: deleteRegexPatternSetResponse :: Int -> DeleteRegexPatternSetResponse
- Network.AWS.WAF.DeleteRegexPatternSet: drpsChangeToken :: Lens' DeleteRegexPatternSet Text
- Network.AWS.WAF.DeleteRegexPatternSet: drpsRegexPatternSetId :: Lens' DeleteRegexPatternSet Text
- Network.AWS.WAF.DeleteRegexPatternSet: drpsrsChangeToken :: Lens' DeleteRegexPatternSetResponse (Maybe Text)
- Network.AWS.WAF.DeleteRegexPatternSet: drpsrsResponseStatus :: Lens' DeleteRegexPatternSetResponse Int
- Network.AWS.WAF.DeleteRegexPatternSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
- Network.AWS.WAF.DeleteRegexPatternSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance Data.Data.Data Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance Data.Data.Data Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
- Network.AWS.WAF.DeleteRegexPatternSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
- Network.AWS.WAF.DeleteRegexPatternSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
- Network.AWS.WAF.DeleteRegexPatternSet: instance GHC.Read.Read Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance GHC.Read.Read Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
- Network.AWS.WAF.DeleteRegexPatternSet: instance GHC.Show.Show Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance GHC.Show.Show Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
- Network.AWS.WAF.DeleteRegexPatternSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRegexPatternSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
- Network.AWS.WAF.DeleteRule: data DeleteRule
- Network.AWS.WAF.DeleteRule: data DeleteRuleResponse
- Network.AWS.WAF.DeleteRule: deleteRule :: Text -> Text -> DeleteRule
- Network.AWS.WAF.DeleteRule: deleteRuleResponse :: Int -> DeleteRuleResponse
- Network.AWS.WAF.DeleteRule: drChangeToken :: Lens' DeleteRule Text
- Network.AWS.WAF.DeleteRule: drRuleId :: Lens' DeleteRule Text
- Network.AWS.WAF.DeleteRule: drrsChangeToken :: Lens' DeleteRuleResponse (Maybe Text)
- Network.AWS.WAF.DeleteRule: drrsResponseStatus :: Lens' DeleteRuleResponse Int
- Network.AWS.WAF.DeleteRule: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRule.DeleteRuleResponse
- Network.AWS.WAF.DeleteRule: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance Data.Data.Data Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance Data.Data.Data Network.AWS.WAF.DeleteRule.DeleteRuleResponse
- Network.AWS.WAF.DeleteRule: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRule.DeleteRuleResponse
- Network.AWS.WAF.DeleteRule: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRule.DeleteRuleResponse
- Network.AWS.WAF.DeleteRule: instance GHC.Read.Read Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance GHC.Read.Read Network.AWS.WAF.DeleteRule.DeleteRuleResponse
- Network.AWS.WAF.DeleteRule: instance GHC.Show.Show Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance GHC.Show.Show Network.AWS.WAF.DeleteRule.DeleteRuleResponse
- Network.AWS.WAF.DeleteRule: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRule: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteRule.DeleteRule
- Network.AWS.WAF.DeleteRuleGroup: data DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: data DeleteRuleGroupResponse
- Network.AWS.WAF.DeleteRuleGroup: deleteRuleGroup :: Text -> Text -> DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: deleteRuleGroupResponse :: Int -> DeleteRuleGroupResponse
- Network.AWS.WAF.DeleteRuleGroup: drgChangeToken :: Lens' DeleteRuleGroup Text
- Network.AWS.WAF.DeleteRuleGroup: drgRuleGroupId :: Lens' DeleteRuleGroup Text
- Network.AWS.WAF.DeleteRuleGroup: drgrsChangeToken :: Lens' DeleteRuleGroupResponse (Maybe Text)
- Network.AWS.WAF.DeleteRuleGroup: drgrsResponseStatus :: Lens' DeleteRuleGroupResponse Int
- Network.AWS.WAF.DeleteRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
- Network.AWS.WAF.DeleteRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance Data.Data.Data Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance Data.Data.Data Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
- Network.AWS.WAF.DeleteRuleGroup: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
- Network.AWS.WAF.DeleteRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
- Network.AWS.WAF.DeleteRuleGroup: instance GHC.Read.Read Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance GHC.Read.Read Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
- Network.AWS.WAF.DeleteRuleGroup: instance GHC.Show.Show Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance GHC.Show.Show Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
- Network.AWS.WAF.DeleteRuleGroup: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteRuleGroup: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteRuleGroup.DeleteRuleGroup
- Network.AWS.WAF.DeleteSizeConstraintSet: data DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: data DeleteSizeConstraintSetResponse
- Network.AWS.WAF.DeleteSizeConstraintSet: deleteSizeConstraintSet :: Text -> Text -> DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: deleteSizeConstraintSetResponse :: Int -> DeleteSizeConstraintSetResponse
- Network.AWS.WAF.DeleteSizeConstraintSet: dscsChangeToken :: Lens' DeleteSizeConstraintSet Text
- Network.AWS.WAF.DeleteSizeConstraintSet: dscsSizeConstraintSetId :: Lens' DeleteSizeConstraintSet Text
- Network.AWS.WAF.DeleteSizeConstraintSet: dscsrsChangeToken :: Lens' DeleteSizeConstraintSetResponse (Maybe Text)
- Network.AWS.WAF.DeleteSizeConstraintSet: dscsrsResponseStatus :: Lens' DeleteSizeConstraintSetResponse Int
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Data.Data.Data Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Data.Data.Data Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
- Network.AWS.WAF.DeleteSizeConstraintSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
- Network.AWS.WAF.DeleteSizeConstraintSet: instance GHC.Read.Read Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance GHC.Read.Read Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
- Network.AWS.WAF.DeleteSizeConstraintSet: instance GHC.Show.Show Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance GHC.Show.Show Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSizeConstraintSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: data DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: data DeleteSqlInjectionMatchSetResponse
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: deleteSqlInjectionMatchSet :: Text -> Text -> DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: deleteSqlInjectionMatchSetResponse :: Int -> DeleteSqlInjectionMatchSetResponse
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: dsimsChangeToken :: Lens' DeleteSqlInjectionMatchSet Text
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: dsimsSqlInjectionMatchSetId :: Lens' DeleteSqlInjectionMatchSet Text
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: dsimsrsChangeToken :: Lens' DeleteSqlInjectionMatchSetResponse (Maybe Text)
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: dsimsrsResponseStatus :: Lens' DeleteSqlInjectionMatchSetResponse Int
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteSqlInjectionMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
- Network.AWS.WAF.DeleteWebACL: data DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: data DeleteWebACLResponse
- Network.AWS.WAF.DeleteWebACL: deleteWebACL :: Text -> Text -> DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: deleteWebACLResponse :: Int -> DeleteWebACLResponse
- Network.AWS.WAF.DeleteWebACL: dwaChangeToken :: Lens' DeleteWebACL Text
- Network.AWS.WAF.DeleteWebACL: dwaWebACLId :: Lens' DeleteWebACL Text
- Network.AWS.WAF.DeleteWebACL: dwarsChangeToken :: Lens' DeleteWebACLResponse (Maybe Text)
- Network.AWS.WAF.DeleteWebACL: dwarsResponseStatus :: Lens' DeleteWebACLResponse Int
- Network.AWS.WAF.DeleteWebACL: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteWebACL.DeleteWebACLResponse
- Network.AWS.WAF.DeleteWebACL: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance Data.Data.Data Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance Data.Data.Data Network.AWS.WAF.DeleteWebACL.DeleteWebACLResponse
- Network.AWS.WAF.DeleteWebACL: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance GHC.Classes.Eq Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance GHC.Classes.Eq Network.AWS.WAF.DeleteWebACL.DeleteWebACLResponse
- Network.AWS.WAF.DeleteWebACL: instance GHC.Generics.Generic Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance GHC.Generics.Generic Network.AWS.WAF.DeleteWebACL.DeleteWebACLResponse
- Network.AWS.WAF.DeleteWebACL: instance GHC.Read.Read Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance GHC.Read.Read Network.AWS.WAF.DeleteWebACL.DeleteWebACLResponse
- Network.AWS.WAF.DeleteWebACL: instance GHC.Show.Show Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance GHC.Show.Show Network.AWS.WAF.DeleteWebACL.DeleteWebACLResponse
- Network.AWS.WAF.DeleteWebACL: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteWebACL: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteWebACL.DeleteWebACL
- Network.AWS.WAF.DeleteXSSMatchSet: data DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: data DeleteXSSMatchSetResponse
- Network.AWS.WAF.DeleteXSSMatchSet: deleteXSSMatchSet :: Text -> Text -> DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: deleteXSSMatchSetResponse :: Int -> DeleteXSSMatchSetResponse
- Network.AWS.WAF.DeleteXSSMatchSet: dxmsChangeToken :: Lens' DeleteXSSMatchSet Text
- Network.AWS.WAF.DeleteXSSMatchSet: dxmsXSSMatchSetId :: Lens' DeleteXSSMatchSet Text
- Network.AWS.WAF.DeleteXSSMatchSet: dxmsrsChangeToken :: Lens' DeleteXSSMatchSetResponse (Maybe Text)
- Network.AWS.WAF.DeleteXSSMatchSet: dxmsrsResponseStatus :: Lens' DeleteXSSMatchSetResponse Int
- Network.AWS.WAF.DeleteXSSMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSetResponse
- Network.AWS.WAF.DeleteXSSMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance Data.Data.Data Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSetResponse
- Network.AWS.WAF.DeleteXSSMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSetResponse
- Network.AWS.WAF.DeleteXSSMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSetResponse
- Network.AWS.WAF.DeleteXSSMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance GHC.Read.Read Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSetResponse
- Network.AWS.WAF.DeleteXSSMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance GHC.Show.Show Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSetResponse
- Network.AWS.WAF.DeleteXSSMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.DeleteXSSMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.DeleteXSSMatchSet.DeleteXSSMatchSet
- Network.AWS.WAF.GetByteMatchSet: data GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: data GetByteMatchSetResponse
- Network.AWS.WAF.GetByteMatchSet: gbmsByteMatchSetId :: Lens' GetByteMatchSet Text
- Network.AWS.WAF.GetByteMatchSet: gbmsrsByteMatchSet :: Lens' GetByteMatchSetResponse (Maybe ByteMatchSet)
- Network.AWS.WAF.GetByteMatchSet: gbmsrsResponseStatus :: Lens' GetByteMatchSetResponse Int
- Network.AWS.WAF.GetByteMatchSet: getByteMatchSet :: Text -> GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: getByteMatchSetResponse :: Int -> GetByteMatchSetResponse
- Network.AWS.WAF.GetByteMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetByteMatchSet.GetByteMatchSetResponse
- Network.AWS.WAF.GetByteMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance Data.Data.Data Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance Data.Data.Data Network.AWS.WAF.GetByteMatchSet.GetByteMatchSetResponse
- Network.AWS.WAF.GetByteMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetByteMatchSet.GetByteMatchSetResponse
- Network.AWS.WAF.GetByteMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetByteMatchSet.GetByteMatchSetResponse
- Network.AWS.WAF.GetByteMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetByteMatchSet.GetByteMatchSetResponse
- Network.AWS.WAF.GetByteMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetByteMatchSet.GetByteMatchSetResponse
- Network.AWS.WAF.GetByteMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetByteMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetByteMatchSet.GetByteMatchSet
- Network.AWS.WAF.GetChangeToken: data GetChangeToken
- Network.AWS.WAF.GetChangeToken: data GetChangeTokenResponse
- Network.AWS.WAF.GetChangeToken: gctrsChangeToken :: Lens' GetChangeTokenResponse (Maybe Text)
- Network.AWS.WAF.GetChangeToken: gctrsResponseStatus :: Lens' GetChangeTokenResponse Int
- Network.AWS.WAF.GetChangeToken: getChangeToken :: GetChangeToken
- Network.AWS.WAF.GetChangeToken: getChangeTokenResponse :: Int -> GetChangeTokenResponse
- Network.AWS.WAF.GetChangeToken: instance Control.DeepSeq.NFData Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance Control.DeepSeq.NFData Network.AWS.WAF.GetChangeToken.GetChangeTokenResponse
- Network.AWS.WAF.GetChangeToken: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance Data.Data.Data Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance Data.Data.Data Network.AWS.WAF.GetChangeToken.GetChangeTokenResponse
- Network.AWS.WAF.GetChangeToken: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance GHC.Classes.Eq Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance GHC.Classes.Eq Network.AWS.WAF.GetChangeToken.GetChangeTokenResponse
- Network.AWS.WAF.GetChangeToken: instance GHC.Generics.Generic Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance GHC.Generics.Generic Network.AWS.WAF.GetChangeToken.GetChangeTokenResponse
- Network.AWS.WAF.GetChangeToken: instance GHC.Read.Read Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance GHC.Read.Read Network.AWS.WAF.GetChangeToken.GetChangeTokenResponse
- Network.AWS.WAF.GetChangeToken: instance GHC.Show.Show Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance GHC.Show.Show Network.AWS.WAF.GetChangeToken.GetChangeTokenResponse
- Network.AWS.WAF.GetChangeToken: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeToken: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetChangeToken.GetChangeToken
- Network.AWS.WAF.GetChangeTokenStatus: data GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: data GetChangeTokenStatusResponse
- Network.AWS.WAF.GetChangeTokenStatus: gctsChangeToken :: Lens' GetChangeTokenStatus Text
- Network.AWS.WAF.GetChangeTokenStatus: gctsrsChangeTokenStatus :: Lens' GetChangeTokenStatusResponse (Maybe ChangeTokenStatus)
- Network.AWS.WAF.GetChangeTokenStatus: gctsrsResponseStatus :: Lens' GetChangeTokenStatusResponse Int
- Network.AWS.WAF.GetChangeTokenStatus: getChangeTokenStatus :: Text -> GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: getChangeTokenStatusResponse :: Int -> GetChangeTokenStatusResponse
- Network.AWS.WAF.GetChangeTokenStatus: instance Control.DeepSeq.NFData Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance Control.DeepSeq.NFData Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
- Network.AWS.WAF.GetChangeTokenStatus: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance Data.Data.Data Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance Data.Data.Data Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
- Network.AWS.WAF.GetChangeTokenStatus: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance GHC.Classes.Eq Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance GHC.Classes.Eq Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
- Network.AWS.WAF.GetChangeTokenStatus: instance GHC.Generics.Generic Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance GHC.Generics.Generic Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
- Network.AWS.WAF.GetChangeTokenStatus: instance GHC.Read.Read Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance GHC.Read.Read Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
- Network.AWS.WAF.GetChangeTokenStatus: instance GHC.Show.Show Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance GHC.Show.Show Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
- Network.AWS.WAF.GetChangeTokenStatus: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetChangeTokenStatus: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetChangeTokenStatus.GetChangeTokenStatus
- Network.AWS.WAF.GetGeoMatchSet: data GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: data GetGeoMatchSetResponse
- Network.AWS.WAF.GetGeoMatchSet: getGeoMatchSet :: Text -> GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: getGeoMatchSetResponse :: Int -> GetGeoMatchSetResponse
- Network.AWS.WAF.GetGeoMatchSet: ggmsGeoMatchSetId :: Lens' GetGeoMatchSet Text
- Network.AWS.WAF.GetGeoMatchSet: ggmsrsGeoMatchSet :: Lens' GetGeoMatchSetResponse (Maybe GeoMatchSet)
- Network.AWS.WAF.GetGeoMatchSet: ggmsrsResponseStatus :: Lens' GetGeoMatchSetResponse Int
- Network.AWS.WAF.GetGeoMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
- Network.AWS.WAF.GetGeoMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance Data.Data.Data Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance Data.Data.Data Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
- Network.AWS.WAF.GetGeoMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
- Network.AWS.WAF.GetGeoMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
- Network.AWS.WAF.GetGeoMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
- Network.AWS.WAF.GetGeoMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
- Network.AWS.WAF.GetGeoMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetGeoMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetGeoMatchSet.GetGeoMatchSet
- Network.AWS.WAF.GetIPSet: data GetIPSet
- Network.AWS.WAF.GetIPSet: data GetIPSetResponse
- Network.AWS.WAF.GetIPSet: getIPSet :: Text -> GetIPSet
- Network.AWS.WAF.GetIPSet: getIPSetResponse :: Int -> GetIPSetResponse
- Network.AWS.WAF.GetIPSet: gisIPSetId :: Lens' GetIPSet Text
- Network.AWS.WAF.GetIPSet: gisrsIPSet :: Lens' GetIPSetResponse (Maybe IPSet)
- Network.AWS.WAF.GetIPSet: gisrsResponseStatus :: Lens' GetIPSetResponse Int
- Network.AWS.WAF.GetIPSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetIPSet.GetIPSetResponse
- Network.AWS.WAF.GetIPSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance Data.Data.Data Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance Data.Data.Data Network.AWS.WAF.GetIPSet.GetIPSetResponse
- Network.AWS.WAF.GetIPSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance GHC.Classes.Eq Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance GHC.Classes.Eq Network.AWS.WAF.GetIPSet.GetIPSetResponse
- Network.AWS.WAF.GetIPSet: instance GHC.Generics.Generic Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance GHC.Generics.Generic Network.AWS.WAF.GetIPSet.GetIPSetResponse
- Network.AWS.WAF.GetIPSet: instance GHC.Read.Read Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance GHC.Read.Read Network.AWS.WAF.GetIPSet.GetIPSetResponse
- Network.AWS.WAF.GetIPSet: instance GHC.Show.Show Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance GHC.Show.Show Network.AWS.WAF.GetIPSet.GetIPSetResponse
- Network.AWS.WAF.GetIPSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetIPSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetIPSet.GetIPSet
- Network.AWS.WAF.GetPermissionPolicy: data GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: data GetPermissionPolicyResponse
- Network.AWS.WAF.GetPermissionPolicy: getPermissionPolicy :: Text -> GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: getPermissionPolicyResponse :: Int -> GetPermissionPolicyResponse
- Network.AWS.WAF.GetPermissionPolicy: gppResourceARN :: Lens' GetPermissionPolicy Text
- Network.AWS.WAF.GetPermissionPolicy: gpprsPolicy :: Lens' GetPermissionPolicyResponse (Maybe Text)
- Network.AWS.WAF.GetPermissionPolicy: gpprsResponseStatus :: Lens' GetPermissionPolicyResponse Int
- Network.AWS.WAF.GetPermissionPolicy: instance Control.DeepSeq.NFData Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance Control.DeepSeq.NFData Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
- Network.AWS.WAF.GetPermissionPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance Data.Data.Data Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance Data.Data.Data Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
- Network.AWS.WAF.GetPermissionPolicy: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance GHC.Classes.Eq Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance GHC.Classes.Eq Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
- Network.AWS.WAF.GetPermissionPolicy: instance GHC.Generics.Generic Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance GHC.Generics.Generic Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
- Network.AWS.WAF.GetPermissionPolicy: instance GHC.Read.Read Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance GHC.Read.Read Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
- Network.AWS.WAF.GetPermissionPolicy: instance GHC.Show.Show Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance GHC.Show.Show Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
- Network.AWS.WAF.GetPermissionPolicy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetPermissionPolicy: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetPermissionPolicy.GetPermissionPolicy
- Network.AWS.WAF.GetRateBasedRule: data GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: data GetRateBasedRuleResponse
- Network.AWS.WAF.GetRateBasedRule: getRateBasedRule :: Text -> GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: getRateBasedRuleResponse :: Int -> GetRateBasedRuleResponse
- Network.AWS.WAF.GetRateBasedRule: grbrRuleId :: Lens' GetRateBasedRule Text
- Network.AWS.WAF.GetRateBasedRule: grbrrsResponseStatus :: Lens' GetRateBasedRuleResponse Int
- Network.AWS.WAF.GetRateBasedRule: grbrrsRule :: Lens' GetRateBasedRuleResponse (Maybe RateBasedRule)
- Network.AWS.WAF.GetRateBasedRule: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRateBasedRule.GetRateBasedRuleResponse
- Network.AWS.WAF.GetRateBasedRule: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance Data.Data.Data Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance Data.Data.Data Network.AWS.WAF.GetRateBasedRule.GetRateBasedRuleResponse
- Network.AWS.WAF.GetRateBasedRule: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance GHC.Classes.Eq Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance GHC.Classes.Eq Network.AWS.WAF.GetRateBasedRule.GetRateBasedRuleResponse
- Network.AWS.WAF.GetRateBasedRule: instance GHC.Generics.Generic Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance GHC.Generics.Generic Network.AWS.WAF.GetRateBasedRule.GetRateBasedRuleResponse
- Network.AWS.WAF.GetRateBasedRule: instance GHC.Read.Read Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance GHC.Read.Read Network.AWS.WAF.GetRateBasedRule.GetRateBasedRuleResponse
- Network.AWS.WAF.GetRateBasedRule: instance GHC.Show.Show Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance GHC.Show.Show Network.AWS.WAF.GetRateBasedRule.GetRateBasedRuleResponse
- Network.AWS.WAF.GetRateBasedRule: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRule: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetRateBasedRule.GetRateBasedRule
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: data GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: data GetRateBasedRuleManagedKeysResponse
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: getRateBasedRuleManagedKeys :: Text -> GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: getRateBasedRuleManagedKeysResponse :: Int -> GetRateBasedRuleManagedKeysResponse
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: grbrmkNextMarker :: Lens' GetRateBasedRuleManagedKeys (Maybe Text)
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: grbrmkRuleId :: Lens' GetRateBasedRuleManagedKeys Text
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: grbrmkrsManagedKeys :: Lens' GetRateBasedRuleManagedKeysResponse [Text]
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: grbrmkrsNextMarker :: Lens' GetRateBasedRuleManagedKeysResponse (Maybe Text)
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: grbrmkrsResponseStatus :: Lens' GetRateBasedRuleManagedKeysResponse Int
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Data.Data.Data Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Data.Data.Data Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance GHC.Classes.Eq Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance GHC.Classes.Eq Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance GHC.Generics.Generic Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance GHC.Generics.Generic Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance GHC.Read.Read Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance GHC.Read.Read Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance GHC.Show.Show Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance GHC.Show.Show Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRateBasedRuleManagedKeys: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
- Network.AWS.WAF.GetRegexMatchSet: data GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: data GetRegexMatchSetResponse
- Network.AWS.WAF.GetRegexMatchSet: getRegexMatchSet :: Text -> GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: getRegexMatchSetResponse :: Int -> GetRegexMatchSetResponse
- Network.AWS.WAF.GetRegexMatchSet: grmsRegexMatchSetId :: Lens' GetRegexMatchSet Text
- Network.AWS.WAF.GetRegexMatchSet: grmsrsRegexMatchSet :: Lens' GetRegexMatchSetResponse (Maybe RegexMatchSet)
- Network.AWS.WAF.GetRegexMatchSet: grmsrsResponseStatus :: Lens' GetRegexMatchSetResponse Int
- Network.AWS.WAF.GetRegexMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
- Network.AWS.WAF.GetRegexMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance Data.Data.Data Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance Data.Data.Data Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
- Network.AWS.WAF.GetRegexMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
- Network.AWS.WAF.GetRegexMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
- Network.AWS.WAF.GetRegexMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
- Network.AWS.WAF.GetRegexMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
- Network.AWS.WAF.GetRegexMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetRegexMatchSet.GetRegexMatchSet
- Network.AWS.WAF.GetRegexPatternSet: data GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: data GetRegexPatternSetResponse
- Network.AWS.WAF.GetRegexPatternSet: getRegexPatternSet :: Text -> GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: getRegexPatternSetResponse :: Int -> GetRegexPatternSetResponse
- Network.AWS.WAF.GetRegexPatternSet: grpsRegexPatternSetId :: Lens' GetRegexPatternSet Text
- Network.AWS.WAF.GetRegexPatternSet: grpsrsRegexPatternSet :: Lens' GetRegexPatternSetResponse (Maybe RegexPatternSet)
- Network.AWS.WAF.GetRegexPatternSet: grpsrsResponseStatus :: Lens' GetRegexPatternSetResponse Int
- Network.AWS.WAF.GetRegexPatternSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
- Network.AWS.WAF.GetRegexPatternSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance Data.Data.Data Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance Data.Data.Data Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
- Network.AWS.WAF.GetRegexPatternSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance GHC.Classes.Eq Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance GHC.Classes.Eq Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
- Network.AWS.WAF.GetRegexPatternSet: instance GHC.Generics.Generic Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance GHC.Generics.Generic Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
- Network.AWS.WAF.GetRegexPatternSet: instance GHC.Read.Read Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance GHC.Read.Read Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
- Network.AWS.WAF.GetRegexPatternSet: instance GHC.Show.Show Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance GHC.Show.Show Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
- Network.AWS.WAF.GetRegexPatternSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRegexPatternSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetRegexPatternSet.GetRegexPatternSet
- Network.AWS.WAF.GetRule: data GetRule
- Network.AWS.WAF.GetRule: data GetRuleResponse
- Network.AWS.WAF.GetRule: getRule :: Text -> GetRule
- Network.AWS.WAF.GetRule: getRuleResponse :: Int -> GetRuleResponse
- Network.AWS.WAF.GetRule: grRuleId :: Lens' GetRule Text
- Network.AWS.WAF.GetRule: grrsResponseStatus :: Lens' GetRuleResponse Int
- Network.AWS.WAF.GetRule: grrsRule :: Lens' GetRuleResponse (Maybe Rule)
- Network.AWS.WAF.GetRule: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRule.GetRuleResponse
- Network.AWS.WAF.GetRule: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance Data.Data.Data Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance Data.Data.Data Network.AWS.WAF.GetRule.GetRuleResponse
- Network.AWS.WAF.GetRule: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance GHC.Classes.Eq Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance GHC.Classes.Eq Network.AWS.WAF.GetRule.GetRuleResponse
- Network.AWS.WAF.GetRule: instance GHC.Generics.Generic Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance GHC.Generics.Generic Network.AWS.WAF.GetRule.GetRuleResponse
- Network.AWS.WAF.GetRule: instance GHC.Read.Read Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance GHC.Read.Read Network.AWS.WAF.GetRule.GetRuleResponse
- Network.AWS.WAF.GetRule: instance GHC.Show.Show Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance GHC.Show.Show Network.AWS.WAF.GetRule.GetRuleResponse
- Network.AWS.WAF.GetRule: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRule: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetRule.GetRule
- Network.AWS.WAF.GetRuleGroup: data GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: data GetRuleGroupResponse
- Network.AWS.WAF.GetRuleGroup: getRuleGroup :: Text -> GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: getRuleGroupResponse :: Int -> GetRuleGroupResponse
- Network.AWS.WAF.GetRuleGroup: grgRuleGroupId :: Lens' GetRuleGroup Text
- Network.AWS.WAF.GetRuleGroup: grgrsResponseStatus :: Lens' GetRuleGroupResponse Int
- Network.AWS.WAF.GetRuleGroup: grgrsRuleGroup :: Lens' GetRuleGroupResponse (Maybe RuleGroup)
- Network.AWS.WAF.GetRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.GetRuleGroup.GetRuleGroupResponse
- Network.AWS.WAF.GetRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance Data.Data.Data Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance Data.Data.Data Network.AWS.WAF.GetRuleGroup.GetRuleGroupResponse
- Network.AWS.WAF.GetRuleGroup: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.GetRuleGroup.GetRuleGroupResponse
- Network.AWS.WAF.GetRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.GetRuleGroup.GetRuleGroupResponse
- Network.AWS.WAF.GetRuleGroup: instance GHC.Read.Read Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance GHC.Read.Read Network.AWS.WAF.GetRuleGroup.GetRuleGroupResponse
- Network.AWS.WAF.GetRuleGroup: instance GHC.Show.Show Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance GHC.Show.Show Network.AWS.WAF.GetRuleGroup.GetRuleGroupResponse
- Network.AWS.WAF.GetRuleGroup: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetRuleGroup: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetRuleGroup.GetRuleGroup
- Network.AWS.WAF.GetSampledRequests: data GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: data GetSampledRequestsResponse
- Network.AWS.WAF.GetSampledRequests: getSampledRequests :: Text -> Text -> TimeWindow -> Natural -> GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: getSampledRequestsResponse :: Int -> GetSampledRequestsResponse
- Network.AWS.WAF.GetSampledRequests: gsrMaxItems :: Lens' GetSampledRequests Natural
- Network.AWS.WAF.GetSampledRequests: gsrRuleId :: Lens' GetSampledRequests Text
- Network.AWS.WAF.GetSampledRequests: gsrTimeWindow :: Lens' GetSampledRequests TimeWindow
- Network.AWS.WAF.GetSampledRequests: gsrWebACLId :: Lens' GetSampledRequests Text
- Network.AWS.WAF.GetSampledRequests: gsrrsPopulationSize :: Lens' GetSampledRequestsResponse (Maybe Integer)
- Network.AWS.WAF.GetSampledRequests: gsrrsResponseStatus :: Lens' GetSampledRequestsResponse Int
- Network.AWS.WAF.GetSampledRequests: gsrrsSampledRequests :: Lens' GetSampledRequestsResponse [SampledHTTPRequest]
- Network.AWS.WAF.GetSampledRequests: gsrrsTimeWindow :: Lens' GetSampledRequestsResponse (Maybe TimeWindow)
- Network.AWS.WAF.GetSampledRequests: instance Control.DeepSeq.NFData Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance Control.DeepSeq.NFData Network.AWS.WAF.GetSampledRequests.GetSampledRequestsResponse
- Network.AWS.WAF.GetSampledRequests: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance Data.Data.Data Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance Data.Data.Data Network.AWS.WAF.GetSampledRequests.GetSampledRequestsResponse
- Network.AWS.WAF.GetSampledRequests: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance GHC.Classes.Eq Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance GHC.Classes.Eq Network.AWS.WAF.GetSampledRequests.GetSampledRequestsResponse
- Network.AWS.WAF.GetSampledRequests: instance GHC.Generics.Generic Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance GHC.Generics.Generic Network.AWS.WAF.GetSampledRequests.GetSampledRequestsResponse
- Network.AWS.WAF.GetSampledRequests: instance GHC.Read.Read Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance GHC.Read.Read Network.AWS.WAF.GetSampledRequests.GetSampledRequestsResponse
- Network.AWS.WAF.GetSampledRequests: instance GHC.Show.Show Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance GHC.Show.Show Network.AWS.WAF.GetSampledRequests.GetSampledRequestsResponse
- Network.AWS.WAF.GetSampledRequests: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSampledRequests: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetSampledRequests.GetSampledRequests
- Network.AWS.WAF.GetSizeConstraintSet: data GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: data GetSizeConstraintSetResponse
- Network.AWS.WAF.GetSizeConstraintSet: getSizeConstraintSet :: Text -> GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: getSizeConstraintSetResponse :: Int -> GetSizeConstraintSetResponse
- Network.AWS.WAF.GetSizeConstraintSet: gscsSizeConstraintSetId :: Lens' GetSizeConstraintSet Text
- Network.AWS.WAF.GetSizeConstraintSet: gscsrsResponseStatus :: Lens' GetSizeConstraintSetResponse Int
- Network.AWS.WAF.GetSizeConstraintSet: gscsrsSizeConstraintSet :: Lens' GetSizeConstraintSetResponse (Maybe SizeConstraintSet)
- Network.AWS.WAF.GetSizeConstraintSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
- Network.AWS.WAF.GetSizeConstraintSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance Data.Data.Data Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance Data.Data.Data Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
- Network.AWS.WAF.GetSizeConstraintSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance GHC.Classes.Eq Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance GHC.Classes.Eq Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
- Network.AWS.WAF.GetSizeConstraintSet: instance GHC.Generics.Generic Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance GHC.Generics.Generic Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
- Network.AWS.WAF.GetSizeConstraintSet: instance GHC.Read.Read Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance GHC.Read.Read Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
- Network.AWS.WAF.GetSizeConstraintSet: instance GHC.Show.Show Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance GHC.Show.Show Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
- Network.AWS.WAF.GetSizeConstraintSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSizeConstraintSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetSizeConstraintSet.GetSizeConstraintSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: data GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: data GetSqlInjectionMatchSetResponse
- Network.AWS.WAF.GetSqlInjectionMatchSet: getSqlInjectionMatchSet :: Text -> GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: getSqlInjectionMatchSetResponse :: Int -> GetSqlInjectionMatchSetResponse
- Network.AWS.WAF.GetSqlInjectionMatchSet: gsimsSqlInjectionMatchSetId :: Lens' GetSqlInjectionMatchSet Text
- Network.AWS.WAF.GetSqlInjectionMatchSet: gsimsrsResponseStatus :: Lens' GetSqlInjectionMatchSetResponse Int
- Network.AWS.WAF.GetSqlInjectionMatchSet: gsimsrsSqlInjectionMatchSet :: Lens' GetSqlInjectionMatchSetResponse (Maybe SqlInjectionMatchSet)
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Data.Data.Data Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Data.Data.Data Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetSqlInjectionMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
- Network.AWS.WAF.GetWebACL: data GetWebACL
- Network.AWS.WAF.GetWebACL: data GetWebACLResponse
- Network.AWS.WAF.GetWebACL: getWebACL :: Text -> GetWebACL
- Network.AWS.WAF.GetWebACL: getWebACLResponse :: Int -> GetWebACLResponse
- Network.AWS.WAF.GetWebACL: gwaWebACLId :: Lens' GetWebACL Text
- Network.AWS.WAF.GetWebACL: gwarsResponseStatus :: Lens' GetWebACLResponse Int
- Network.AWS.WAF.GetWebACL: gwarsWebACL :: Lens' GetWebACLResponse (Maybe WebACL)
- Network.AWS.WAF.GetWebACL: instance Control.DeepSeq.NFData Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance Control.DeepSeq.NFData Network.AWS.WAF.GetWebACL.GetWebACLResponse
- Network.AWS.WAF.GetWebACL: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance Data.Data.Data Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance Data.Data.Data Network.AWS.WAF.GetWebACL.GetWebACLResponse
- Network.AWS.WAF.GetWebACL: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance GHC.Classes.Eq Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance GHC.Classes.Eq Network.AWS.WAF.GetWebACL.GetWebACLResponse
- Network.AWS.WAF.GetWebACL: instance GHC.Generics.Generic Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance GHC.Generics.Generic Network.AWS.WAF.GetWebACL.GetWebACLResponse
- Network.AWS.WAF.GetWebACL: instance GHC.Read.Read Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance GHC.Read.Read Network.AWS.WAF.GetWebACL.GetWebACLResponse
- Network.AWS.WAF.GetWebACL: instance GHC.Show.Show Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance GHC.Show.Show Network.AWS.WAF.GetWebACL.GetWebACLResponse
- Network.AWS.WAF.GetWebACL: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetWebACL: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetWebACL.GetWebACL
- Network.AWS.WAF.GetXSSMatchSet: data GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: data GetXSSMatchSetResponse
- Network.AWS.WAF.GetXSSMatchSet: getXSSMatchSet :: Text -> GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: getXSSMatchSetResponse :: Int -> GetXSSMatchSetResponse
- Network.AWS.WAF.GetXSSMatchSet: gxmsXSSMatchSetId :: Lens' GetXSSMatchSet Text
- Network.AWS.WAF.GetXSSMatchSet: gxmsrsResponseStatus :: Lens' GetXSSMatchSetResponse Int
- Network.AWS.WAF.GetXSSMatchSet: gxmsrsXSSMatchSet :: Lens' GetXSSMatchSetResponse (Maybe XSSMatchSet)
- Network.AWS.WAF.GetXSSMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSetResponse
- Network.AWS.WAF.GetXSSMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance Data.Data.Data Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance Data.Data.Data Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSetResponse
- Network.AWS.WAF.GetXSSMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSetResponse
- Network.AWS.WAF.GetXSSMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSetResponse
- Network.AWS.WAF.GetXSSMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance GHC.Read.Read Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSetResponse
- Network.AWS.WAF.GetXSSMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance GHC.Show.Show Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSetResponse
- Network.AWS.WAF.GetXSSMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.GetXSSMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.GetXSSMatchSet.GetXSSMatchSet
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: data ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: data ListActivatedRulesInRuleGroupResponse
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Data.Data.Data Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Data.Data.Data Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance GHC.Read.Read Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance GHC.Read.Read Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance GHC.Show.Show Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance GHC.Show.Show Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: larirgLimit :: Lens' ListActivatedRulesInRuleGroup (Maybe Natural)
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: larirgNextMarker :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: larirgRuleGroupId :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: larirgrsActivatedRules :: Lens' ListActivatedRulesInRuleGroupResponse [ActivatedRule]
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: larirgrsNextMarker :: Lens' ListActivatedRulesInRuleGroupResponse (Maybe Text)
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: larirgrsResponseStatus :: Lens' ListActivatedRulesInRuleGroupResponse Int
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: listActivatedRulesInRuleGroup :: ListActivatedRulesInRuleGroup
- Network.AWS.WAF.ListActivatedRulesInRuleGroup: listActivatedRulesInRuleGroupResponse :: Int -> ListActivatedRulesInRuleGroupResponse
- Network.AWS.WAF.ListByteMatchSets: data ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: data ListByteMatchSetsResponse
- Network.AWS.WAF.ListByteMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListByteMatchSets.ListByteMatchSetsResponse
- Network.AWS.WAF.ListByteMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance Data.Data.Data Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance Data.Data.Data Network.AWS.WAF.ListByteMatchSets.ListByteMatchSetsResponse
- Network.AWS.WAF.ListByteMatchSets: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListByteMatchSets.ListByteMatchSetsResponse
- Network.AWS.WAF.ListByteMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListByteMatchSets.ListByteMatchSetsResponse
- Network.AWS.WAF.ListByteMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListByteMatchSets.ListByteMatchSetsResponse
- Network.AWS.WAF.ListByteMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListByteMatchSets.ListByteMatchSetsResponse
- Network.AWS.WAF.ListByteMatchSets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance Network.AWS.Pager.AWSPager Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListByteMatchSets.ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: lbmsLimit :: Lens' ListByteMatchSets (Maybe Natural)
- Network.AWS.WAF.ListByteMatchSets: lbmsNextMarker :: Lens' ListByteMatchSets (Maybe Text)
- Network.AWS.WAF.ListByteMatchSets: lbmsrsByteMatchSets :: Lens' ListByteMatchSetsResponse [ByteMatchSetSummary]
- Network.AWS.WAF.ListByteMatchSets: lbmsrsNextMarker :: Lens' ListByteMatchSetsResponse (Maybe Text)
- Network.AWS.WAF.ListByteMatchSets: lbmsrsResponseStatus :: Lens' ListByteMatchSetsResponse Int
- Network.AWS.WAF.ListByteMatchSets: listByteMatchSets :: ListByteMatchSets
- Network.AWS.WAF.ListByteMatchSets: listByteMatchSetsResponse :: Int -> ListByteMatchSetsResponse
- Network.AWS.WAF.ListGeoMatchSets: data ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: data ListGeoMatchSetsResponse
- Network.AWS.WAF.ListGeoMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
- Network.AWS.WAF.ListGeoMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance Data.Data.Data Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance Data.Data.Data Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
- Network.AWS.WAF.ListGeoMatchSets: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
- Network.AWS.WAF.ListGeoMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
- Network.AWS.WAF.ListGeoMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
- Network.AWS.WAF.ListGeoMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
- Network.AWS.WAF.ListGeoMatchSets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListGeoMatchSets.ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: lgmsLimit :: Lens' ListGeoMatchSets (Maybe Natural)
- Network.AWS.WAF.ListGeoMatchSets: lgmsNextMarker :: Lens' ListGeoMatchSets (Maybe Text)
- Network.AWS.WAF.ListGeoMatchSets: lgmsrsGeoMatchSets :: Lens' ListGeoMatchSetsResponse [GeoMatchSetSummary]
- Network.AWS.WAF.ListGeoMatchSets: lgmsrsNextMarker :: Lens' ListGeoMatchSetsResponse (Maybe Text)
- Network.AWS.WAF.ListGeoMatchSets: lgmsrsResponseStatus :: Lens' ListGeoMatchSetsResponse Int
- Network.AWS.WAF.ListGeoMatchSets: listGeoMatchSets :: ListGeoMatchSets
- Network.AWS.WAF.ListGeoMatchSets: listGeoMatchSetsResponse :: Int -> ListGeoMatchSetsResponse
- Network.AWS.WAF.ListIPSets: data ListIPSets
- Network.AWS.WAF.ListIPSets: data ListIPSetsResponse
- Network.AWS.WAF.ListIPSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListIPSets.ListIPSetsResponse
- Network.AWS.WAF.ListIPSets: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance Data.Data.Data Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance Data.Data.Data Network.AWS.WAF.ListIPSets.ListIPSetsResponse
- Network.AWS.WAF.ListIPSets: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance GHC.Classes.Eq Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance GHC.Classes.Eq Network.AWS.WAF.ListIPSets.ListIPSetsResponse
- Network.AWS.WAF.ListIPSets: instance GHC.Generics.Generic Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance GHC.Generics.Generic Network.AWS.WAF.ListIPSets.ListIPSetsResponse
- Network.AWS.WAF.ListIPSets: instance GHC.Read.Read Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance GHC.Read.Read Network.AWS.WAF.ListIPSets.ListIPSetsResponse
- Network.AWS.WAF.ListIPSets: instance GHC.Show.Show Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance GHC.Show.Show Network.AWS.WAF.ListIPSets.ListIPSetsResponse
- Network.AWS.WAF.ListIPSets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance Network.AWS.Pager.AWSPager Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListIPSets.ListIPSets
- Network.AWS.WAF.ListIPSets: lisLimit :: Lens' ListIPSets (Maybe Natural)
- Network.AWS.WAF.ListIPSets: lisNextMarker :: Lens' ListIPSets (Maybe Text)
- Network.AWS.WAF.ListIPSets: lisrsIPSets :: Lens' ListIPSetsResponse [IPSetSummary]
- Network.AWS.WAF.ListIPSets: lisrsNextMarker :: Lens' ListIPSetsResponse (Maybe Text)
- Network.AWS.WAF.ListIPSets: lisrsResponseStatus :: Lens' ListIPSetsResponse Int
- Network.AWS.WAF.ListIPSets: listIPSets :: ListIPSets
- Network.AWS.WAF.ListIPSets: listIPSetsResponse :: Int -> ListIPSetsResponse
- Network.AWS.WAF.ListRateBasedRules: data ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: data ListRateBasedRulesResponse
- Network.AWS.WAF.ListRateBasedRules: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRateBasedRules.ListRateBasedRulesResponse
- Network.AWS.WAF.ListRateBasedRules: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance Data.Data.Data Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance Data.Data.Data Network.AWS.WAF.ListRateBasedRules.ListRateBasedRulesResponse
- Network.AWS.WAF.ListRateBasedRules: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance GHC.Classes.Eq Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance GHC.Classes.Eq Network.AWS.WAF.ListRateBasedRules.ListRateBasedRulesResponse
- Network.AWS.WAF.ListRateBasedRules: instance GHC.Generics.Generic Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance GHC.Generics.Generic Network.AWS.WAF.ListRateBasedRules.ListRateBasedRulesResponse
- Network.AWS.WAF.ListRateBasedRules: instance GHC.Read.Read Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance GHC.Read.Read Network.AWS.WAF.ListRateBasedRules.ListRateBasedRulesResponse
- Network.AWS.WAF.ListRateBasedRules: instance GHC.Show.Show Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance GHC.Show.Show Network.AWS.WAF.ListRateBasedRules.ListRateBasedRulesResponse
- Network.AWS.WAF.ListRateBasedRules: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListRateBasedRules.ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: listRateBasedRules :: ListRateBasedRules
- Network.AWS.WAF.ListRateBasedRules: listRateBasedRulesResponse :: Int -> ListRateBasedRulesResponse
- Network.AWS.WAF.ListRateBasedRules: lrbrLimit :: Lens' ListRateBasedRules (Maybe Natural)
- Network.AWS.WAF.ListRateBasedRules: lrbrNextMarker :: Lens' ListRateBasedRules (Maybe Text)
- Network.AWS.WAF.ListRateBasedRules: lrbrrsNextMarker :: Lens' ListRateBasedRulesResponse (Maybe Text)
- Network.AWS.WAF.ListRateBasedRules: lrbrrsResponseStatus :: Lens' ListRateBasedRulesResponse Int
- Network.AWS.WAF.ListRateBasedRules: lrbrrsRules :: Lens' ListRateBasedRulesResponse [RuleSummary]
- Network.AWS.WAF.ListRegexMatchSets: data ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: data ListRegexMatchSetsResponse
- Network.AWS.WAF.ListRegexMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
- Network.AWS.WAF.ListRegexMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance Data.Data.Data Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance Data.Data.Data Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
- Network.AWS.WAF.ListRegexMatchSets: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
- Network.AWS.WAF.ListRegexMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
- Network.AWS.WAF.ListRegexMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
- Network.AWS.WAF.ListRegexMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
- Network.AWS.WAF.ListRegexMatchSets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListRegexMatchSets.ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: listRegexMatchSets :: ListRegexMatchSets
- Network.AWS.WAF.ListRegexMatchSets: listRegexMatchSetsResponse :: Int -> ListRegexMatchSetsResponse
- Network.AWS.WAF.ListRegexMatchSets: lrmsLimit :: Lens' ListRegexMatchSets (Maybe Natural)
- Network.AWS.WAF.ListRegexMatchSets: lrmsNextMarker :: Lens' ListRegexMatchSets (Maybe Text)
- Network.AWS.WAF.ListRegexMatchSets: lrmsrsNextMarker :: Lens' ListRegexMatchSetsResponse (Maybe Text)
- Network.AWS.WAF.ListRegexMatchSets: lrmsrsRegexMatchSets :: Lens' ListRegexMatchSetsResponse [RegexMatchSetSummary]
- Network.AWS.WAF.ListRegexMatchSets: lrmsrsResponseStatus :: Lens' ListRegexMatchSetsResponse Int
- Network.AWS.WAF.ListRegexPatternSets: data ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: data ListRegexPatternSetsResponse
- Network.AWS.WAF.ListRegexPatternSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
- Network.AWS.WAF.ListRegexPatternSets: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance Data.Data.Data Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance Data.Data.Data Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
- Network.AWS.WAF.ListRegexPatternSets: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance GHC.Classes.Eq Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance GHC.Classes.Eq Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
- Network.AWS.WAF.ListRegexPatternSets: instance GHC.Generics.Generic Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance GHC.Generics.Generic Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
- Network.AWS.WAF.ListRegexPatternSets: instance GHC.Read.Read Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance GHC.Read.Read Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
- Network.AWS.WAF.ListRegexPatternSets: instance GHC.Show.Show Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance GHC.Show.Show Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
- Network.AWS.WAF.ListRegexPatternSets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListRegexPatternSets.ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: listRegexPatternSets :: ListRegexPatternSets
- Network.AWS.WAF.ListRegexPatternSets: listRegexPatternSetsResponse :: Int -> ListRegexPatternSetsResponse
- Network.AWS.WAF.ListRegexPatternSets: lrpsLimit :: Lens' ListRegexPatternSets (Maybe Natural)
- Network.AWS.WAF.ListRegexPatternSets: lrpsNextMarker :: Lens' ListRegexPatternSets (Maybe Text)
- Network.AWS.WAF.ListRegexPatternSets: lrpsrsNextMarker :: Lens' ListRegexPatternSetsResponse (Maybe Text)
- Network.AWS.WAF.ListRegexPatternSets: lrpsrsRegexPatternSets :: Lens' ListRegexPatternSetsResponse [RegexPatternSetSummary]
- Network.AWS.WAF.ListRegexPatternSets: lrpsrsResponseStatus :: Lens' ListRegexPatternSetsResponse Int
- Network.AWS.WAF.ListRuleGroups: data ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: data ListRuleGroupsResponse
- Network.AWS.WAF.ListRuleGroups: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRuleGroups.ListRuleGroupsResponse
- Network.AWS.WAF.ListRuleGroups: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance Data.Data.Data Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance Data.Data.Data Network.AWS.WAF.ListRuleGroups.ListRuleGroupsResponse
- Network.AWS.WAF.ListRuleGroups: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance GHC.Classes.Eq Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance GHC.Classes.Eq Network.AWS.WAF.ListRuleGroups.ListRuleGroupsResponse
- Network.AWS.WAF.ListRuleGroups: instance GHC.Generics.Generic Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance GHC.Generics.Generic Network.AWS.WAF.ListRuleGroups.ListRuleGroupsResponse
- Network.AWS.WAF.ListRuleGroups: instance GHC.Read.Read Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance GHC.Read.Read Network.AWS.WAF.ListRuleGroups.ListRuleGroupsResponse
- Network.AWS.WAF.ListRuleGroups: instance GHC.Show.Show Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance GHC.Show.Show Network.AWS.WAF.ListRuleGroups.ListRuleGroupsResponse
- Network.AWS.WAF.ListRuleGroups: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListRuleGroups.ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: listRuleGroups :: ListRuleGroups
- Network.AWS.WAF.ListRuleGroups: listRuleGroupsResponse :: Int -> ListRuleGroupsResponse
- Network.AWS.WAF.ListRuleGroups: lrgLimit :: Lens' ListRuleGroups (Maybe Natural)
- Network.AWS.WAF.ListRuleGroups: lrgNextMarker :: Lens' ListRuleGroups (Maybe Text)
- Network.AWS.WAF.ListRuleGroups: lrgrsNextMarker :: Lens' ListRuleGroupsResponse (Maybe Text)
- Network.AWS.WAF.ListRuleGroups: lrgrsResponseStatus :: Lens' ListRuleGroupsResponse Int
- Network.AWS.WAF.ListRuleGroups: lrgrsRuleGroups :: Lens' ListRuleGroupsResponse [RuleGroupSummary]
- Network.AWS.WAF.ListRules: data ListRules
- Network.AWS.WAF.ListRules: data ListRulesResponse
- Network.AWS.WAF.ListRules: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance Control.DeepSeq.NFData Network.AWS.WAF.ListRules.ListRulesResponse
- Network.AWS.WAF.ListRules: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance Data.Data.Data Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance Data.Data.Data Network.AWS.WAF.ListRules.ListRulesResponse
- Network.AWS.WAF.ListRules: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance GHC.Classes.Eq Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance GHC.Classes.Eq Network.AWS.WAF.ListRules.ListRulesResponse
- Network.AWS.WAF.ListRules: instance GHC.Generics.Generic Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance GHC.Generics.Generic Network.AWS.WAF.ListRules.ListRulesResponse
- Network.AWS.WAF.ListRules: instance GHC.Read.Read Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance GHC.Read.Read Network.AWS.WAF.ListRules.ListRulesResponse
- Network.AWS.WAF.ListRules: instance GHC.Show.Show Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance GHC.Show.Show Network.AWS.WAF.ListRules.ListRulesResponse
- Network.AWS.WAF.ListRules: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance Network.AWS.Pager.AWSPager Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListRules.ListRules
- Network.AWS.WAF.ListRules: listRules :: ListRules
- Network.AWS.WAF.ListRules: listRulesResponse :: Int -> ListRulesResponse
- Network.AWS.WAF.ListRules: lrLimit :: Lens' ListRules (Maybe Natural)
- Network.AWS.WAF.ListRules: lrNextMarker :: Lens' ListRules (Maybe Text)
- Network.AWS.WAF.ListRules: lrrsNextMarker :: Lens' ListRulesResponse (Maybe Text)
- Network.AWS.WAF.ListRules: lrrsResponseStatus :: Lens' ListRulesResponse Int
- Network.AWS.WAF.ListRules: lrrsRules :: Lens' ListRulesResponse [RuleSummary]
- Network.AWS.WAF.ListSizeConstraintSets: data ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: data ListSizeConstraintSetsResponse
- Network.AWS.WAF.ListSizeConstraintSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
- Network.AWS.WAF.ListSizeConstraintSets: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance Data.Data.Data Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance Data.Data.Data Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
- Network.AWS.WAF.ListSizeConstraintSets: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance GHC.Classes.Eq Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance GHC.Classes.Eq Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
- Network.AWS.WAF.ListSizeConstraintSets: instance GHC.Generics.Generic Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance GHC.Generics.Generic Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
- Network.AWS.WAF.ListSizeConstraintSets: instance GHC.Read.Read Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance GHC.Read.Read Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
- Network.AWS.WAF.ListSizeConstraintSets: instance GHC.Show.Show Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance GHC.Show.Show Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
- Network.AWS.WAF.ListSizeConstraintSets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance Network.AWS.Pager.AWSPager Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListSizeConstraintSets.ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: listSizeConstraintSets :: ListSizeConstraintSets
- Network.AWS.WAF.ListSizeConstraintSets: listSizeConstraintSetsResponse :: Int -> ListSizeConstraintSetsResponse
- Network.AWS.WAF.ListSizeConstraintSets: lscsLimit :: Lens' ListSizeConstraintSets (Maybe Natural)
- Network.AWS.WAF.ListSizeConstraintSets: lscsNextMarker :: Lens' ListSizeConstraintSets (Maybe Text)
- Network.AWS.WAF.ListSizeConstraintSets: lscsrsNextMarker :: Lens' ListSizeConstraintSetsResponse (Maybe Text)
- Network.AWS.WAF.ListSizeConstraintSets: lscsrsResponseStatus :: Lens' ListSizeConstraintSetsResponse Int
- Network.AWS.WAF.ListSizeConstraintSets: lscsrsSizeConstraintSets :: Lens' ListSizeConstraintSetsResponse [SizeConstraintSetSummary]
- Network.AWS.WAF.ListSqlInjectionMatchSets: data ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: data ListSqlInjectionMatchSetsResponse
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Data.Data.Data Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Data.Data.Data Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Network.AWS.Pager.AWSPager Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: listSqlInjectionMatchSets :: ListSqlInjectionMatchSets
- Network.AWS.WAF.ListSqlInjectionMatchSets: listSqlInjectionMatchSetsResponse :: Int -> ListSqlInjectionMatchSetsResponse
- Network.AWS.WAF.ListSqlInjectionMatchSets: lsimsLimit :: Lens' ListSqlInjectionMatchSets (Maybe Natural)
- Network.AWS.WAF.ListSqlInjectionMatchSets: lsimsNextMarker :: Lens' ListSqlInjectionMatchSets (Maybe Text)
- Network.AWS.WAF.ListSqlInjectionMatchSets: lsimsrsNextMarker :: Lens' ListSqlInjectionMatchSetsResponse (Maybe Text)
- Network.AWS.WAF.ListSqlInjectionMatchSets: lsimsrsResponseStatus :: Lens' ListSqlInjectionMatchSetsResponse Int
- Network.AWS.WAF.ListSqlInjectionMatchSets: lsimsrsSqlInjectionMatchSets :: Lens' ListSqlInjectionMatchSetsResponse [SqlInjectionMatchSetSummary]
- Network.AWS.WAF.ListSubscribedRuleGroups: data ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: data ListSubscribedRuleGroupsResponse
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Control.DeepSeq.NFData Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Control.DeepSeq.NFData Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Data.Data.Data Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Data.Data.Data Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance GHC.Classes.Eq Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance GHC.Classes.Eq Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
- Network.AWS.WAF.ListSubscribedRuleGroups: instance GHC.Generics.Generic Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance GHC.Generics.Generic Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
- Network.AWS.WAF.ListSubscribedRuleGroups: instance GHC.Read.Read Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance GHC.Read.Read Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
- Network.AWS.WAF.ListSubscribedRuleGroups: instance GHC.Show.Show Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance GHC.Show.Show Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: listSubscribedRuleGroups :: ListSubscribedRuleGroups
- Network.AWS.WAF.ListSubscribedRuleGroups: listSubscribedRuleGroupsResponse :: Int -> ListSubscribedRuleGroupsResponse
- Network.AWS.WAF.ListSubscribedRuleGroups: lsrgLimit :: Lens' ListSubscribedRuleGroups (Maybe Natural)
- Network.AWS.WAF.ListSubscribedRuleGroups: lsrgNextMarker :: Lens' ListSubscribedRuleGroups (Maybe Text)
- Network.AWS.WAF.ListSubscribedRuleGroups: lsrgrsNextMarker :: Lens' ListSubscribedRuleGroupsResponse (Maybe Text)
- Network.AWS.WAF.ListSubscribedRuleGroups: lsrgrsResponseStatus :: Lens' ListSubscribedRuleGroupsResponse Int
- Network.AWS.WAF.ListSubscribedRuleGroups: lsrgrsRuleGroups :: Lens' ListSubscribedRuleGroupsResponse [SubscribedRuleGroupSummary]
- Network.AWS.WAF.ListWebACLs: data ListWebACLs
- Network.AWS.WAF.ListWebACLs: data ListWebACLsResponse
- Network.AWS.WAF.ListWebACLs: instance Control.DeepSeq.NFData Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance Control.DeepSeq.NFData Network.AWS.WAF.ListWebACLs.ListWebACLsResponse
- Network.AWS.WAF.ListWebACLs: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance Data.Data.Data Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance Data.Data.Data Network.AWS.WAF.ListWebACLs.ListWebACLsResponse
- Network.AWS.WAF.ListWebACLs: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance GHC.Classes.Eq Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance GHC.Classes.Eq Network.AWS.WAF.ListWebACLs.ListWebACLsResponse
- Network.AWS.WAF.ListWebACLs: instance GHC.Generics.Generic Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance GHC.Generics.Generic Network.AWS.WAF.ListWebACLs.ListWebACLsResponse
- Network.AWS.WAF.ListWebACLs: instance GHC.Read.Read Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance GHC.Read.Read Network.AWS.WAF.ListWebACLs.ListWebACLsResponse
- Network.AWS.WAF.ListWebACLs: instance GHC.Show.Show Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance GHC.Show.Show Network.AWS.WAF.ListWebACLs.ListWebACLsResponse
- Network.AWS.WAF.ListWebACLs: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance Network.AWS.Pager.AWSPager Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListWebACLs.ListWebACLs
- Network.AWS.WAF.ListWebACLs: listWebACLs :: ListWebACLs
- Network.AWS.WAF.ListWebACLs: listWebACLsResponse :: Int -> ListWebACLsResponse
- Network.AWS.WAF.ListWebACLs: lwaLimit :: Lens' ListWebACLs (Maybe Natural)
- Network.AWS.WAF.ListWebACLs: lwaNextMarker :: Lens' ListWebACLs (Maybe Text)
- Network.AWS.WAF.ListWebACLs: lwarsNextMarker :: Lens' ListWebACLsResponse (Maybe Text)
- Network.AWS.WAF.ListWebACLs: lwarsResponseStatus :: Lens' ListWebACLsResponse Int
- Network.AWS.WAF.ListWebACLs: lwarsWebACLs :: Lens' ListWebACLsResponse [WebACLSummary]
- Network.AWS.WAF.ListXSSMatchSets: data ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: data ListXSSMatchSetsResponse
- Network.AWS.WAF.ListXSSMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance Control.DeepSeq.NFData Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSetsResponse
- Network.AWS.WAF.ListXSSMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance Data.Data.Data Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance Data.Data.Data Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSetsResponse
- Network.AWS.WAF.ListXSSMatchSets: instance Data.Hashable.Class.Hashable Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance GHC.Classes.Eq Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSetsResponse
- Network.AWS.WAF.ListXSSMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance GHC.Generics.Generic Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSetsResponse
- Network.AWS.WAF.ListXSSMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance GHC.Read.Read Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSetsResponse
- Network.AWS.WAF.ListXSSMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance GHC.Show.Show Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSetsResponse
- Network.AWS.WAF.ListXSSMatchSets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance Network.AWS.Pager.AWSPager Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.ListXSSMatchSets.ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: listXSSMatchSets :: ListXSSMatchSets
- Network.AWS.WAF.ListXSSMatchSets: listXSSMatchSetsResponse :: Int -> ListXSSMatchSetsResponse
- Network.AWS.WAF.ListXSSMatchSets: lxmsLimit :: Lens' ListXSSMatchSets (Maybe Natural)
- Network.AWS.WAF.ListXSSMatchSets: lxmsNextMarker :: Lens' ListXSSMatchSets (Maybe Text)
- Network.AWS.WAF.ListXSSMatchSets: lxmsrsNextMarker :: Lens' ListXSSMatchSetsResponse (Maybe Text)
- Network.AWS.WAF.ListXSSMatchSets: lxmsrsResponseStatus :: Lens' ListXSSMatchSetsResponse Int
- Network.AWS.WAF.ListXSSMatchSets: lxmsrsXSSMatchSets :: Lens' ListXSSMatchSetsResponse [XSSMatchSetSummary]
- Network.AWS.WAF.PutPermissionPolicy: data PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: data PutPermissionPolicyResponse
- Network.AWS.WAF.PutPermissionPolicy: instance Control.DeepSeq.NFData Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance Control.DeepSeq.NFData Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
- Network.AWS.WAF.PutPermissionPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance Data.Data.Data Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance Data.Data.Data Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
- Network.AWS.WAF.PutPermissionPolicy: instance Data.Hashable.Class.Hashable Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance GHC.Classes.Eq Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance GHC.Classes.Eq Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
- Network.AWS.WAF.PutPermissionPolicy: instance GHC.Generics.Generic Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance GHC.Generics.Generic Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
- Network.AWS.WAF.PutPermissionPolicy: instance GHC.Read.Read Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance GHC.Read.Read Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
- Network.AWS.WAF.PutPermissionPolicy: instance GHC.Show.Show Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance GHC.Show.Show Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
- Network.AWS.WAF.PutPermissionPolicy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.PutPermissionPolicy.PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: pppPolicy :: Lens' PutPermissionPolicy Text
- Network.AWS.WAF.PutPermissionPolicy: pppResourceARN :: Lens' PutPermissionPolicy Text
- Network.AWS.WAF.PutPermissionPolicy: ppprsResponseStatus :: Lens' PutPermissionPolicyResponse Int
- Network.AWS.WAF.PutPermissionPolicy: putPermissionPolicy :: Text -> Text -> PutPermissionPolicy
- Network.AWS.WAF.PutPermissionPolicy: putPermissionPolicyResponse :: Int -> PutPermissionPolicyResponse
- Network.AWS.WAF.Types: Allow :: WafActionType
- Network.AWS.WAF.Types: Block :: WafActionType
- Network.AWS.WAF.Types: Body :: MatchFieldType
- Network.AWS.WAF.Types: ByteMatch :: PredicateType
- Network.AWS.WAF.Types: CmdLine :: TextTransformation
- Network.AWS.WAF.Types: CompressWhiteSpace :: TextTransformation
- Network.AWS.WAF.Types: Contains :: PositionalConstraint
- Network.AWS.WAF.Types: ContainsWord :: PositionalConstraint
- Network.AWS.WAF.Types: Count :: WafActionType
- Network.AWS.WAF.Types: Country :: GeoMatchConstraintType
- Network.AWS.WAF.Types: Delete :: ChangeAction
- Network.AWS.WAF.Types: EQ' :: ComparisonOperator
- Network.AWS.WAF.Types: EndsWith :: PositionalConstraint
- Network.AWS.WAF.Types: Exactly :: PositionalConstraint
- Network.AWS.WAF.Types: GE :: ComparisonOperator
- Network.AWS.WAF.Types: GMCVAD :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAF :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAL :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAQ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAT :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAU :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAX :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVAZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBB :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBD :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBF :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBH :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBJ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBL :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBQ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBT :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBV :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBY :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVBZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCC :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCD :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCF :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCH :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCK :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCL :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCU :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCV :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCX :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCY :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVCZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVDE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVDJ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVDK :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVDM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVDO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVDZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVEC :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVEE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVEG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVEH :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVER :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVES :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVET :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVFI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVFJ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVFK :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVFM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVFO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVFR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGB :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGD :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGF :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGH :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGL :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGP :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGQ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGT' :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGU :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVGY :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVHK :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVHM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVHN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVHR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVHT :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVHU :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVIE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVIL :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVIM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVIN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVIO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVIQ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVIR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVIS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVIT :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVId :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVJE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVJM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVJO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVJP :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKH :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKP :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKY :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVKZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLB :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLC :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLK :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLT' :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLU :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLV :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVLY :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMC :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMD :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVME :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMF :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMH :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMK :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVML :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMP :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMQ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMT :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMU :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMV :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMX :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMY :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVMZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNC :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNF :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNL :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNP :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNU :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVNZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVOM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPF :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPH :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPK :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPL :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPT :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVPY :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVQA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVRE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVRO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVRS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVRU :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVRW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSB :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSC :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSD :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSH :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSJ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSK :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSL :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVST :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSV :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSX :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSY :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVSZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTC :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTD :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTF :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTH :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTJ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTK :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTL :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTO :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTR :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTT :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTV :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVTZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVUA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVUG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVUM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVUS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVUY :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVUZ :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVVA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVVC :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVVE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVVG :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVVI :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVVN :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVVU :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVWF :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVWS :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVYE :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVYT :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVZA :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVZM :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GMCVZW :: GeoMatchConstraintValue
- Network.AWS.WAF.Types: GT' :: ComparisonOperator
- Network.AWS.WAF.Types: GeoMatch :: PredicateType
- Network.AWS.WAF.Types: Group :: WafRuleType
- Network.AWS.WAF.Types: HTMLEntityDecode :: TextTransformation
- Network.AWS.WAF.Types: Header :: MatchFieldType
- Network.AWS.WAF.Types: IP :: RateKey
- Network.AWS.WAF.Types: IPMatch :: PredicateType
- Network.AWS.WAF.Types: IPV4 :: IPSetDescriptorType
- Network.AWS.WAF.Types: IPV6 :: IPSetDescriptorType
- Network.AWS.WAF.Types: Insert :: ChangeAction
- Network.AWS.WAF.Types: Insync :: ChangeTokenStatus
- Network.AWS.WAF.Types: LE :: ComparisonOperator
- Network.AWS.WAF.Types: LT' :: ComparisonOperator
- Network.AWS.WAF.Types: Lowercase :: TextTransformation
- Network.AWS.WAF.Types: Method :: MatchFieldType
- Network.AWS.WAF.Types: NE :: ComparisonOperator
- Network.AWS.WAF.Types: None :: TextTransformation
- Network.AWS.WAF.Types: Pending :: ChangeTokenStatus
- Network.AWS.WAF.Types: Provisioned :: ChangeTokenStatus
- Network.AWS.WAF.Types: QueryString :: MatchFieldType
- Network.AWS.WAF.Types: RateBased :: WafRuleType
- Network.AWS.WAF.Types: RegexMatch :: PredicateType
- Network.AWS.WAF.Types: Regular :: WafRuleType
- Network.AWS.WAF.Types: SizeConstraint :: PredicateType
- Network.AWS.WAF.Types: SqlInjectionMatch :: PredicateType
- Network.AWS.WAF.Types: StartsWith :: PositionalConstraint
- Network.AWS.WAF.Types: URI :: MatchFieldType
- Network.AWS.WAF.Types: URLDecode :: TextTransformation
- Network.AWS.WAF.Types: WOATCount :: WafOverrideActionType
- Network.AWS.WAF.Types: WOATNone :: WafOverrideActionType
- Network.AWS.WAF.Types: XSSMatch :: PredicateType
- Network.AWS.WAF.Types: _WAFDisallowedNameException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFInternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFInvalidAccountException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFInvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFInvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFInvalidPermissionPolicyException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFInvalidRegexPatternException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFLimitsExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFNonEmptyEntityException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFNonexistentContainerException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFNonexistentItemException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFReferencedItemException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFStaleDataException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: _WAFSubscriptionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.WAF.Types: activatedRule :: Int -> Text -> ActivatedRule
- Network.AWS.WAF.Types: arAction :: Lens' ActivatedRule (Maybe WafAction)
- Network.AWS.WAF.Types: arOverrideAction :: Lens' ActivatedRule (Maybe WafOverrideAction)
- Network.AWS.WAF.Types: arPriority :: Lens' ActivatedRule Int
- Network.AWS.WAF.Types: arRuleId :: Lens' ActivatedRule Text
- Network.AWS.WAF.Types: arType :: Lens' ActivatedRule (Maybe WafRuleType)
- Network.AWS.WAF.Types: bmsByteMatchSetId :: Lens' ByteMatchSet Text
- Network.AWS.WAF.Types: bmsByteMatchTuples :: Lens' ByteMatchSet [ByteMatchTuple]
- Network.AWS.WAF.Types: bmsName :: Lens' ByteMatchSet (Maybe Text)
- Network.AWS.WAF.Types: bmssByteMatchSetId :: Lens' ByteMatchSetSummary Text
- Network.AWS.WAF.Types: bmssName :: Lens' ByteMatchSetSummary Text
- Network.AWS.WAF.Types: bmsuAction :: Lens' ByteMatchSetUpdate ChangeAction
- Network.AWS.WAF.Types: bmsuByteMatchTuple :: Lens' ByteMatchSetUpdate ByteMatchTuple
- Network.AWS.WAF.Types: bmtFieldToMatch :: Lens' ByteMatchTuple FieldToMatch
- Network.AWS.WAF.Types: bmtPositionalConstraint :: Lens' ByteMatchTuple PositionalConstraint
- Network.AWS.WAF.Types: bmtTargetString :: Lens' ByteMatchTuple ByteString
- Network.AWS.WAF.Types: bmtTextTransformation :: Lens' ByteMatchTuple TextTransformation
- Network.AWS.WAF.Types: byteMatchSet :: Text -> ByteMatchSet
- Network.AWS.WAF.Types: byteMatchSetSummary :: Text -> Text -> ByteMatchSetSummary
- Network.AWS.WAF.Types: byteMatchSetUpdate :: ChangeAction -> ByteMatchTuple -> ByteMatchSetUpdate
- Network.AWS.WAF.Types: byteMatchTuple :: FieldToMatch -> ByteString -> TextTransformation -> PositionalConstraint -> ByteMatchTuple
- Network.AWS.WAF.Types: data ActivatedRule
- Network.AWS.WAF.Types: data ByteMatchSet
- Network.AWS.WAF.Types: data ByteMatchSetSummary
- Network.AWS.WAF.Types: data ByteMatchSetUpdate
- Network.AWS.WAF.Types: data ByteMatchTuple
- Network.AWS.WAF.Types: data ChangeAction
- Network.AWS.WAF.Types: data ChangeTokenStatus
- Network.AWS.WAF.Types: data ComparisonOperator
- Network.AWS.WAF.Types: data FieldToMatch
- Network.AWS.WAF.Types: data GeoMatchConstraint
- Network.AWS.WAF.Types: data GeoMatchConstraintType
- Network.AWS.WAF.Types: data GeoMatchConstraintValue
- Network.AWS.WAF.Types: data GeoMatchSet
- Network.AWS.WAF.Types: data GeoMatchSetSummary
- Network.AWS.WAF.Types: data GeoMatchSetUpdate
- Network.AWS.WAF.Types: data HTTPHeader
- Network.AWS.WAF.Types: data HTTPRequest
- Network.AWS.WAF.Types: data IPSet
- Network.AWS.WAF.Types: data IPSetDescriptor
- Network.AWS.WAF.Types: data IPSetDescriptorType
- Network.AWS.WAF.Types: data IPSetSummary
- Network.AWS.WAF.Types: data IPSetUpdate
- Network.AWS.WAF.Types: data MatchFieldType
- Network.AWS.WAF.Types: data PositionalConstraint
- Network.AWS.WAF.Types: data Predicate
- Network.AWS.WAF.Types: data PredicateType
- Network.AWS.WAF.Types: data RateBasedRule
- Network.AWS.WAF.Types: data RateKey
- Network.AWS.WAF.Types: data RegexMatchSet
- Network.AWS.WAF.Types: data RegexMatchSetSummary
- Network.AWS.WAF.Types: data RegexMatchSetUpdate
- Network.AWS.WAF.Types: data RegexMatchTuple
- Network.AWS.WAF.Types: data RegexPatternSet
- Network.AWS.WAF.Types: data RegexPatternSetSummary
- Network.AWS.WAF.Types: data RegexPatternSetUpdate
- Network.AWS.WAF.Types: data Rule
- Network.AWS.WAF.Types: data RuleGroup
- Network.AWS.WAF.Types: data RuleGroupSummary
- Network.AWS.WAF.Types: data RuleGroupUpdate
- Network.AWS.WAF.Types: data RuleSummary
- Network.AWS.WAF.Types: data RuleUpdate
- Network.AWS.WAF.Types: data SampledHTTPRequest
- Network.AWS.WAF.Types: data SizeConstraint
- Network.AWS.WAF.Types: data SizeConstraintSet
- Network.AWS.WAF.Types: data SizeConstraintSetSummary
- Network.AWS.WAF.Types: data SizeConstraintSetUpdate
- Network.AWS.WAF.Types: data SqlInjectionMatchSet
- Network.AWS.WAF.Types: data SqlInjectionMatchSetSummary
- Network.AWS.WAF.Types: data SqlInjectionMatchSetUpdate
- Network.AWS.WAF.Types: data SqlInjectionMatchTuple
- Network.AWS.WAF.Types: data SubscribedRuleGroupSummary
- Network.AWS.WAF.Types: data TextTransformation
- Network.AWS.WAF.Types: data TimeWindow
- Network.AWS.WAF.Types: data WafAction
- Network.AWS.WAF.Types: data WafActionType
- Network.AWS.WAF.Types: data WafOverrideAction
- Network.AWS.WAF.Types: data WafOverrideActionType
- Network.AWS.WAF.Types: data WafRuleType
- Network.AWS.WAF.Types: data WebACL
- Network.AWS.WAF.Types: data WebACLSummary
- Network.AWS.WAF.Types: data WebACLUpdate
- Network.AWS.WAF.Types: data XSSMatchSet
- Network.AWS.WAF.Types: data XSSMatchSetSummary
- Network.AWS.WAF.Types: data XSSMatchSetUpdate
- Network.AWS.WAF.Types: data XSSMatchTuple
- Network.AWS.WAF.Types: fieldToMatch :: MatchFieldType -> FieldToMatch
- Network.AWS.WAF.Types: ftmData :: Lens' FieldToMatch (Maybe Text)
- Network.AWS.WAF.Types: ftmType :: Lens' FieldToMatch MatchFieldType
- Network.AWS.WAF.Types: geoMatchConstraint :: GeoMatchConstraintType -> GeoMatchConstraintValue -> GeoMatchConstraint
- Network.AWS.WAF.Types: geoMatchSet :: Text -> GeoMatchSet
- Network.AWS.WAF.Types: geoMatchSetSummary :: Text -> Text -> GeoMatchSetSummary
- Network.AWS.WAF.Types: geoMatchSetUpdate :: ChangeAction -> GeoMatchConstraint -> GeoMatchSetUpdate
- Network.AWS.WAF.Types: gmcType :: Lens' GeoMatchConstraint GeoMatchConstraintType
- Network.AWS.WAF.Types: gmcValue :: Lens' GeoMatchConstraint GeoMatchConstraintValue
- Network.AWS.WAF.Types: gmsGeoMatchConstraints :: Lens' GeoMatchSet [GeoMatchConstraint]
- Network.AWS.WAF.Types: gmsGeoMatchSetId :: Lens' GeoMatchSet Text
- Network.AWS.WAF.Types: gmsName :: Lens' GeoMatchSet (Maybe Text)
- Network.AWS.WAF.Types: gmssGeoMatchSetId :: Lens' GeoMatchSetSummary Text
- Network.AWS.WAF.Types: gmssName :: Lens' GeoMatchSetSummary Text
- Network.AWS.WAF.Types: gmsuAction :: Lens' GeoMatchSetUpdate ChangeAction
- Network.AWS.WAF.Types: gmsuGeoMatchConstraint :: Lens' GeoMatchSetUpdate GeoMatchConstraint
- Network.AWS.WAF.Types: hTTPHeader :: HTTPHeader
- Network.AWS.WAF.Types: hTTPRequest :: HTTPRequest
- Network.AWS.WAF.Types: httphName :: Lens' HTTPHeader (Maybe Text)
- Network.AWS.WAF.Types: httphValue :: Lens' HTTPHeader (Maybe Text)
- Network.AWS.WAF.Types: httprClientIP :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF.Types: httprCountry :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF.Types: httprHTTPVersion :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF.Types: httprHeaders :: Lens' HTTPRequest [HTTPHeader]
- Network.AWS.WAF.Types: httprMethod :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF.Types: httprURI :: Lens' HTTPRequest (Maybe Text)
- Network.AWS.WAF.Types: ipSet :: Text -> IPSet
- Network.AWS.WAF.Types: ipSetDescriptor :: IPSetDescriptorType -> Text -> IPSetDescriptor
- Network.AWS.WAF.Types: ipSetSummary :: Text -> Text -> IPSetSummary
- Network.AWS.WAF.Types: ipSetUpdate :: ChangeAction -> IPSetDescriptor -> IPSetUpdate
- Network.AWS.WAF.Types: isIPSetDescriptors :: Lens' IPSet [IPSetDescriptor]
- Network.AWS.WAF.Types: isIPSetId :: Lens' IPSet Text
- Network.AWS.WAF.Types: isName :: Lens' IPSet (Maybe Text)
- Network.AWS.WAF.Types: isdType :: Lens' IPSetDescriptor IPSetDescriptorType
- Network.AWS.WAF.Types: isdValue :: Lens' IPSetDescriptor Text
- Network.AWS.WAF.Types: issIPSetId :: Lens' IPSetSummary Text
- Network.AWS.WAF.Types: issName :: Lens' IPSetSummary Text
- Network.AWS.WAF.Types: isuAction :: Lens' IPSetUpdate ChangeAction
- Network.AWS.WAF.Types: isuIPSetDescriptor :: Lens' IPSetUpdate IPSetDescriptor
- Network.AWS.WAF.Types: pDataId :: Lens' Predicate Text
- Network.AWS.WAF.Types: pNegated :: Lens' Predicate Bool
- Network.AWS.WAF.Types: pType :: Lens' Predicate PredicateType
- Network.AWS.WAF.Types: predicate :: Bool -> PredicateType -> Text -> Predicate
- Network.AWS.WAF.Types: rMetricName :: Lens' Rule (Maybe Text)
- Network.AWS.WAF.Types: rName :: Lens' Rule (Maybe Text)
- Network.AWS.WAF.Types: rPredicates :: Lens' Rule [Predicate]
- Network.AWS.WAF.Types: rRuleId :: Lens' Rule Text
- Network.AWS.WAF.Types: rateBasedRule :: Text -> RateKey -> Natural -> RateBasedRule
- Network.AWS.WAF.Types: rbrMatchPredicates :: Lens' RateBasedRule [Predicate]
- Network.AWS.WAF.Types: rbrMetricName :: Lens' RateBasedRule (Maybe Text)
- Network.AWS.WAF.Types: rbrName :: Lens' RateBasedRule (Maybe Text)
- Network.AWS.WAF.Types: rbrRateKey :: Lens' RateBasedRule RateKey
- Network.AWS.WAF.Types: rbrRateLimit :: Lens' RateBasedRule Natural
- Network.AWS.WAF.Types: rbrRuleId :: Lens' RateBasedRule Text
- Network.AWS.WAF.Types: regexMatchSet :: RegexMatchSet
- Network.AWS.WAF.Types: regexMatchSetSummary :: Text -> Text -> RegexMatchSetSummary
- Network.AWS.WAF.Types: regexMatchSetUpdate :: ChangeAction -> RegexMatchTuple -> RegexMatchSetUpdate
- Network.AWS.WAF.Types: regexMatchTuple :: FieldToMatch -> TextTransformation -> Text -> RegexMatchTuple
- Network.AWS.WAF.Types: regexPatternSet :: Text -> RegexPatternSet
- Network.AWS.WAF.Types: regexPatternSetSummary :: Text -> Text -> RegexPatternSetSummary
- Network.AWS.WAF.Types: regexPatternSetUpdate :: ChangeAction -> Text -> RegexPatternSetUpdate
- Network.AWS.WAF.Types: rgMetricName :: Lens' RuleGroup (Maybe Text)
- Network.AWS.WAF.Types: rgName :: Lens' RuleGroup (Maybe Text)
- Network.AWS.WAF.Types: rgRuleGroupId :: Lens' RuleGroup Text
- Network.AWS.WAF.Types: rgsName :: Lens' RuleGroupSummary Text
- Network.AWS.WAF.Types: rgsRuleGroupId :: Lens' RuleGroupSummary Text
- Network.AWS.WAF.Types: rguAction :: Lens' RuleGroupUpdate ChangeAction
- Network.AWS.WAF.Types: rguActivatedRule :: Lens' RuleGroupUpdate ActivatedRule
- Network.AWS.WAF.Types: rmsName :: Lens' RegexMatchSet (Maybe Text)
- Network.AWS.WAF.Types: rmsRegexMatchSetId :: Lens' RegexMatchSet (Maybe Text)
- Network.AWS.WAF.Types: rmsRegexMatchTuples :: Lens' RegexMatchSet [RegexMatchTuple]
- Network.AWS.WAF.Types: rmssName :: Lens' RegexMatchSetSummary Text
- Network.AWS.WAF.Types: rmssRegexMatchSetId :: Lens' RegexMatchSetSummary Text
- Network.AWS.WAF.Types: rmsuAction :: Lens' RegexMatchSetUpdate ChangeAction
- Network.AWS.WAF.Types: rmsuRegexMatchTuple :: Lens' RegexMatchSetUpdate RegexMatchTuple
- Network.AWS.WAF.Types: rmtFieldToMatch :: Lens' RegexMatchTuple FieldToMatch
- Network.AWS.WAF.Types: rmtRegexPatternSetId :: Lens' RegexMatchTuple Text
- Network.AWS.WAF.Types: rmtTextTransformation :: Lens' RegexMatchTuple TextTransformation
- Network.AWS.WAF.Types: rpsName :: Lens' RegexPatternSet (Maybe Text)
- Network.AWS.WAF.Types: rpsRegexPatternSetId :: Lens' RegexPatternSet Text
- Network.AWS.WAF.Types: rpsRegexPatternStrings :: Lens' RegexPatternSet [Text]
- Network.AWS.WAF.Types: rpssName :: Lens' RegexPatternSetSummary Text
- Network.AWS.WAF.Types: rpssRegexPatternSetId :: Lens' RegexPatternSetSummary Text
- Network.AWS.WAF.Types: rpsuAction :: Lens' RegexPatternSetUpdate ChangeAction
- Network.AWS.WAF.Types: rpsuRegexPatternString :: Lens' RegexPatternSetUpdate Text
- Network.AWS.WAF.Types: rsName :: Lens' RuleSummary Text
- Network.AWS.WAF.Types: rsRuleId :: Lens' RuleSummary Text
- Network.AWS.WAF.Types: ruAction :: Lens' RuleUpdate ChangeAction
- Network.AWS.WAF.Types: ruPredicate :: Lens' RuleUpdate Predicate
- Network.AWS.WAF.Types: rule :: Text -> Rule
- Network.AWS.WAF.Types: ruleGroup :: Text -> RuleGroup
- Network.AWS.WAF.Types: ruleGroupSummary :: Text -> Text -> RuleGroupSummary
- Network.AWS.WAF.Types: ruleGroupUpdate :: ChangeAction -> ActivatedRule -> RuleGroupUpdate
- Network.AWS.WAF.Types: ruleSummary :: Text -> Text -> RuleSummary
- Network.AWS.WAF.Types: ruleUpdate :: ChangeAction -> Predicate -> RuleUpdate
- Network.AWS.WAF.Types: sampledHTTPRequest :: HTTPRequest -> Natural -> SampledHTTPRequest
- Network.AWS.WAF.Types: scComparisonOperator :: Lens' SizeConstraint ComparisonOperator
- Network.AWS.WAF.Types: scFieldToMatch :: Lens' SizeConstraint FieldToMatch
- Network.AWS.WAF.Types: scSize :: Lens' SizeConstraint Natural
- Network.AWS.WAF.Types: scTextTransformation :: Lens' SizeConstraint TextTransformation
- Network.AWS.WAF.Types: scsName :: Lens' SizeConstraintSet (Maybe Text)
- Network.AWS.WAF.Types: scsSizeConstraintSetId :: Lens' SizeConstraintSet Text
- Network.AWS.WAF.Types: scsSizeConstraints :: Lens' SizeConstraintSet [SizeConstraint]
- Network.AWS.WAF.Types: scssName :: Lens' SizeConstraintSetSummary Text
- Network.AWS.WAF.Types: scssSizeConstraintSetId :: Lens' SizeConstraintSetSummary Text
- Network.AWS.WAF.Types: scsuAction :: Lens' SizeConstraintSetUpdate ChangeAction
- Network.AWS.WAF.Types: scsuSizeConstraint :: Lens' SizeConstraintSetUpdate SizeConstraint
- Network.AWS.WAF.Types: shttprAction :: Lens' SampledHTTPRequest (Maybe Text)
- Network.AWS.WAF.Types: shttprRequest :: Lens' SampledHTTPRequest HTTPRequest
- Network.AWS.WAF.Types: shttprRuleWithinRuleGroup :: Lens' SampledHTTPRequest (Maybe Text)
- Network.AWS.WAF.Types: shttprTimestamp :: Lens' SampledHTTPRequest (Maybe UTCTime)
- Network.AWS.WAF.Types: shttprWeight :: Lens' SampledHTTPRequest Natural
- Network.AWS.WAF.Types: simsName :: Lens' SqlInjectionMatchSet (Maybe Text)
- Network.AWS.WAF.Types: simsSqlInjectionMatchSetId :: Lens' SqlInjectionMatchSet Text
- Network.AWS.WAF.Types: simsSqlInjectionMatchTuples :: Lens' SqlInjectionMatchSet [SqlInjectionMatchTuple]
- Network.AWS.WAF.Types: simssName :: Lens' SqlInjectionMatchSetSummary Text
- Network.AWS.WAF.Types: simssSqlInjectionMatchSetId :: Lens' SqlInjectionMatchSetSummary Text
- Network.AWS.WAF.Types: simsuAction :: Lens' SqlInjectionMatchSetUpdate ChangeAction
- Network.AWS.WAF.Types: simsuSqlInjectionMatchTuple :: Lens' SqlInjectionMatchSetUpdate SqlInjectionMatchTuple
- Network.AWS.WAF.Types: simtFieldToMatch :: Lens' SqlInjectionMatchTuple FieldToMatch
- Network.AWS.WAF.Types: simtTextTransformation :: Lens' SqlInjectionMatchTuple TextTransformation
- Network.AWS.WAF.Types: sizeConstraint :: FieldToMatch -> TextTransformation -> ComparisonOperator -> Natural -> SizeConstraint
- Network.AWS.WAF.Types: sizeConstraintSet :: Text -> SizeConstraintSet
- Network.AWS.WAF.Types: sizeConstraintSetSummary :: Text -> Text -> SizeConstraintSetSummary
- Network.AWS.WAF.Types: sizeConstraintSetUpdate :: ChangeAction -> SizeConstraint -> SizeConstraintSetUpdate
- Network.AWS.WAF.Types: sqlInjectionMatchSet :: Text -> SqlInjectionMatchSet
- Network.AWS.WAF.Types: sqlInjectionMatchSetSummary :: Text -> Text -> SqlInjectionMatchSetSummary
- Network.AWS.WAF.Types: sqlInjectionMatchSetUpdate :: ChangeAction -> SqlInjectionMatchTuple -> SqlInjectionMatchSetUpdate
- Network.AWS.WAF.Types: sqlInjectionMatchTuple :: FieldToMatch -> TextTransformation -> SqlInjectionMatchTuple
- Network.AWS.WAF.Types: srgsMetricName :: Lens' SubscribedRuleGroupSummary Text
- Network.AWS.WAF.Types: srgsName :: Lens' SubscribedRuleGroupSummary Text
- Network.AWS.WAF.Types: srgsRuleGroupId :: Lens' SubscribedRuleGroupSummary Text
- Network.AWS.WAF.Types: subscribedRuleGroupSummary :: Text -> Text -> Text -> SubscribedRuleGroupSummary
- Network.AWS.WAF.Types: timeWindow :: UTCTime -> UTCTime -> TimeWindow
- Network.AWS.WAF.Types: twEndTime :: Lens' TimeWindow UTCTime
- Network.AWS.WAF.Types: twStartTime :: Lens' TimeWindow UTCTime
- Network.AWS.WAF.Types: waDefaultAction :: Lens' WebACL WafAction
- Network.AWS.WAF.Types: waMetricName :: Lens' WebACL (Maybe Text)
- Network.AWS.WAF.Types: waName :: Lens' WebACL (Maybe Text)
- Network.AWS.WAF.Types: waRules :: Lens' WebACL [ActivatedRule]
- Network.AWS.WAF.Types: waType :: Lens' WafAction WafActionType
- Network.AWS.WAF.Types: waWebACLId :: Lens' WebACL Text
- Network.AWS.WAF.Types: waf :: Service
- Network.AWS.WAF.Types: wafAction :: WafActionType -> WafAction
- Network.AWS.WAF.Types: wafOverrideAction :: WafOverrideActionType -> WafOverrideAction
- Network.AWS.WAF.Types: wasName :: Lens' WebACLSummary Text
- Network.AWS.WAF.Types: wasWebACLId :: Lens' WebACLSummary Text
- Network.AWS.WAF.Types: wauAction :: Lens' WebACLUpdate ChangeAction
- Network.AWS.WAF.Types: wauActivatedRule :: Lens' WebACLUpdate ActivatedRule
- Network.AWS.WAF.Types: webACL :: Text -> WafAction -> WebACL
- Network.AWS.WAF.Types: webACLSummary :: Text -> Text -> WebACLSummary
- Network.AWS.WAF.Types: webACLUpdate :: ChangeAction -> ActivatedRule -> WebACLUpdate
- Network.AWS.WAF.Types: woaType :: Lens' WafOverrideAction WafOverrideActionType
- Network.AWS.WAF.Types: xmsName :: Lens' XSSMatchSet (Maybe Text)
- Network.AWS.WAF.Types: xmsXSSMatchSetId :: Lens' XSSMatchSet Text
- Network.AWS.WAF.Types: xmsXSSMatchTuples :: Lens' XSSMatchSet [XSSMatchTuple]
- Network.AWS.WAF.Types: xmssName :: Lens' XSSMatchSetSummary Text
- Network.AWS.WAF.Types: xmssXSSMatchSetId :: Lens' XSSMatchSetSummary Text
- Network.AWS.WAF.Types: xmsuAction :: Lens' XSSMatchSetUpdate ChangeAction
- Network.AWS.WAF.Types: xmsuXSSMatchTuple :: Lens' XSSMatchSetUpdate XSSMatchTuple
- Network.AWS.WAF.Types: xmtFieldToMatch :: Lens' XSSMatchTuple FieldToMatch
- Network.AWS.WAF.Types: xmtTextTransformation :: Lens' XSSMatchTuple TextTransformation
- Network.AWS.WAF.Types: xssMatchSet :: Text -> XSSMatchSet
- Network.AWS.WAF.Types: xssMatchSetSummary :: Text -> Text -> XSSMatchSetSummary
- Network.AWS.WAF.Types: xssMatchSetUpdate :: ChangeAction -> XSSMatchTuple -> XSSMatchSetUpdate
- Network.AWS.WAF.Types: xssMatchTuple :: FieldToMatch -> TextTransformation -> XSSMatchTuple
- Network.AWS.WAF.UpdateByteMatchSet: data UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: data UpdateByteMatchSetResponse
- Network.AWS.WAF.UpdateByteMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
- Network.AWS.WAF.UpdateByteMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
- Network.AWS.WAF.UpdateByteMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
- Network.AWS.WAF.UpdateByteMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
- Network.AWS.WAF.UpdateByteMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
- Network.AWS.WAF.UpdateByteMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
- Network.AWS.WAF.UpdateByteMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateByteMatchSet.UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: ubmsByteMatchSetId :: Lens' UpdateByteMatchSet Text
- Network.AWS.WAF.UpdateByteMatchSet: ubmsChangeToken :: Lens' UpdateByteMatchSet Text
- Network.AWS.WAF.UpdateByteMatchSet: ubmsUpdates :: Lens' UpdateByteMatchSet (NonEmpty ByteMatchSetUpdate)
- Network.AWS.WAF.UpdateByteMatchSet: ubmsrsChangeToken :: Lens' UpdateByteMatchSetResponse (Maybe Text)
- Network.AWS.WAF.UpdateByteMatchSet: ubmsrsResponseStatus :: Lens' UpdateByteMatchSetResponse Int
- Network.AWS.WAF.UpdateByteMatchSet: updateByteMatchSet :: Text -> Text -> NonEmpty ByteMatchSetUpdate -> UpdateByteMatchSet
- Network.AWS.WAF.UpdateByteMatchSet: updateByteMatchSetResponse :: Int -> UpdateByteMatchSetResponse
- Network.AWS.WAF.UpdateGeoMatchSet: data UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: data UpdateGeoMatchSetResponse
- Network.AWS.WAF.UpdateGeoMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
- Network.AWS.WAF.UpdateGeoMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
- Network.AWS.WAF.UpdateGeoMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
- Network.AWS.WAF.UpdateGeoMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
- Network.AWS.WAF.UpdateGeoMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
- Network.AWS.WAF.UpdateGeoMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
- Network.AWS.WAF.UpdateGeoMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: ugmsChangeToken :: Lens' UpdateGeoMatchSet Text
- Network.AWS.WAF.UpdateGeoMatchSet: ugmsGeoMatchSetId :: Lens' UpdateGeoMatchSet Text
- Network.AWS.WAF.UpdateGeoMatchSet: ugmsUpdates :: Lens' UpdateGeoMatchSet (NonEmpty GeoMatchSetUpdate)
- Network.AWS.WAF.UpdateGeoMatchSet: ugmsrsChangeToken :: Lens' UpdateGeoMatchSetResponse (Maybe Text)
- Network.AWS.WAF.UpdateGeoMatchSet: ugmsrsResponseStatus :: Lens' UpdateGeoMatchSetResponse Int
- Network.AWS.WAF.UpdateGeoMatchSet: updateGeoMatchSet :: Text -> Text -> NonEmpty GeoMatchSetUpdate -> UpdateGeoMatchSet
- Network.AWS.WAF.UpdateGeoMatchSet: updateGeoMatchSetResponse :: Int -> UpdateGeoMatchSetResponse
- Network.AWS.WAF.UpdateIPSet: data UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: data UpdateIPSetResponse
- Network.AWS.WAF.UpdateIPSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateIPSet.UpdateIPSetResponse
- Network.AWS.WAF.UpdateIPSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance Data.Data.Data Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance Data.Data.Data Network.AWS.WAF.UpdateIPSet.UpdateIPSetResponse
- Network.AWS.WAF.UpdateIPSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateIPSet.UpdateIPSetResponse
- Network.AWS.WAF.UpdateIPSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateIPSet.UpdateIPSetResponse
- Network.AWS.WAF.UpdateIPSet: instance GHC.Read.Read Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance GHC.Read.Read Network.AWS.WAF.UpdateIPSet.UpdateIPSetResponse
- Network.AWS.WAF.UpdateIPSet: instance GHC.Show.Show Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance GHC.Show.Show Network.AWS.WAF.UpdateIPSet.UpdateIPSetResponse
- Network.AWS.WAF.UpdateIPSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateIPSet.UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: uisChangeToken :: Lens' UpdateIPSet Text
- Network.AWS.WAF.UpdateIPSet: uisIPSetId :: Lens' UpdateIPSet Text
- Network.AWS.WAF.UpdateIPSet: uisUpdates :: Lens' UpdateIPSet (NonEmpty IPSetUpdate)
- Network.AWS.WAF.UpdateIPSet: uisrsChangeToken :: Lens' UpdateIPSetResponse (Maybe Text)
- Network.AWS.WAF.UpdateIPSet: uisrsResponseStatus :: Lens' UpdateIPSetResponse Int
- Network.AWS.WAF.UpdateIPSet: updateIPSet :: Text -> Text -> NonEmpty IPSetUpdate -> UpdateIPSet
- Network.AWS.WAF.UpdateIPSet: updateIPSetResponse :: Int -> UpdateIPSetResponse
- Network.AWS.WAF.UpdateRateBasedRule: data UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: data UpdateRateBasedRuleResponse
- Network.AWS.WAF.UpdateRateBasedRule: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
- Network.AWS.WAF.UpdateRateBasedRule: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance Data.Data.Data Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance Data.Data.Data Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
- Network.AWS.WAF.UpdateRateBasedRule: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
- Network.AWS.WAF.UpdateRateBasedRule: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
- Network.AWS.WAF.UpdateRateBasedRule: instance GHC.Read.Read Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance GHC.Read.Read Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
- Network.AWS.WAF.UpdateRateBasedRule: instance GHC.Show.Show Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance GHC.Show.Show Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
- Network.AWS.WAF.UpdateRateBasedRule: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateRateBasedRule.UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: updateRateBasedRule :: Text -> Text -> Natural -> UpdateRateBasedRule
- Network.AWS.WAF.UpdateRateBasedRule: updateRateBasedRuleResponse :: Int -> UpdateRateBasedRuleResponse
- Network.AWS.WAF.UpdateRateBasedRule: urbrChangeToken :: Lens' UpdateRateBasedRule Text
- Network.AWS.WAF.UpdateRateBasedRule: urbrRateLimit :: Lens' UpdateRateBasedRule Natural
- Network.AWS.WAF.UpdateRateBasedRule: urbrRuleId :: Lens' UpdateRateBasedRule Text
- Network.AWS.WAF.UpdateRateBasedRule: urbrUpdates :: Lens' UpdateRateBasedRule [RuleUpdate]
- Network.AWS.WAF.UpdateRateBasedRule: urbrrsChangeToken :: Lens' UpdateRateBasedRuleResponse (Maybe Text)
- Network.AWS.WAF.UpdateRateBasedRule: urbrrsResponseStatus :: Lens' UpdateRateBasedRuleResponse Int
- Network.AWS.WAF.UpdateRegexMatchSet: data UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: data UpdateRegexMatchSetResponse
- Network.AWS.WAF.UpdateRegexMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
- Network.AWS.WAF.UpdateRegexMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
- Network.AWS.WAF.UpdateRegexMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
- Network.AWS.WAF.UpdateRegexMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
- Network.AWS.WAF.UpdateRegexMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
- Network.AWS.WAF.UpdateRegexMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
- Network.AWS.WAF.UpdateRegexMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: updateRegexMatchSet :: Text -> NonEmpty RegexMatchSetUpdate -> Text -> UpdateRegexMatchSet
- Network.AWS.WAF.UpdateRegexMatchSet: updateRegexMatchSetResponse :: Int -> UpdateRegexMatchSetResponse
- Network.AWS.WAF.UpdateRegexMatchSet: urmsChangeToken :: Lens' UpdateRegexMatchSet Text
- Network.AWS.WAF.UpdateRegexMatchSet: urmsRegexMatchSetId :: Lens' UpdateRegexMatchSet Text
- Network.AWS.WAF.UpdateRegexMatchSet: urmsUpdates :: Lens' UpdateRegexMatchSet (NonEmpty RegexMatchSetUpdate)
- Network.AWS.WAF.UpdateRegexMatchSet: urmsrsChangeToken :: Lens' UpdateRegexMatchSetResponse (Maybe Text)
- Network.AWS.WAF.UpdateRegexMatchSet: urmsrsResponseStatus :: Lens' UpdateRegexMatchSetResponse Int
- Network.AWS.WAF.UpdateRegexPatternSet: data UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: data UpdateRegexPatternSetResponse
- Network.AWS.WAF.UpdateRegexPatternSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
- Network.AWS.WAF.UpdateRegexPatternSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance Data.Data.Data Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance Data.Data.Data Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
- Network.AWS.WAF.UpdateRegexPatternSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
- Network.AWS.WAF.UpdateRegexPatternSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
- Network.AWS.WAF.UpdateRegexPatternSet: instance GHC.Read.Read Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance GHC.Read.Read Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
- Network.AWS.WAF.UpdateRegexPatternSet: instance GHC.Show.Show Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance GHC.Show.Show Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
- Network.AWS.WAF.UpdateRegexPatternSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: updateRegexPatternSet :: Text -> NonEmpty RegexPatternSetUpdate -> Text -> UpdateRegexPatternSet
- Network.AWS.WAF.UpdateRegexPatternSet: updateRegexPatternSetResponse :: Int -> UpdateRegexPatternSetResponse
- Network.AWS.WAF.UpdateRegexPatternSet: urpsChangeToken :: Lens' UpdateRegexPatternSet Text
- Network.AWS.WAF.UpdateRegexPatternSet: urpsRegexPatternSetId :: Lens' UpdateRegexPatternSet Text
- Network.AWS.WAF.UpdateRegexPatternSet: urpsUpdates :: Lens' UpdateRegexPatternSet (NonEmpty RegexPatternSetUpdate)
- Network.AWS.WAF.UpdateRegexPatternSet: urpsrsChangeToken :: Lens' UpdateRegexPatternSetResponse (Maybe Text)
- Network.AWS.WAF.UpdateRegexPatternSet: urpsrsResponseStatus :: Lens' UpdateRegexPatternSetResponse Int
- Network.AWS.WAF.UpdateRule: data UpdateRule
- Network.AWS.WAF.UpdateRule: data UpdateRuleResponse
- Network.AWS.WAF.UpdateRule: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRule.UpdateRuleResponse
- Network.AWS.WAF.UpdateRule: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance Data.Data.Data Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance Data.Data.Data Network.AWS.WAF.UpdateRule.UpdateRuleResponse
- Network.AWS.WAF.UpdateRule: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRule.UpdateRuleResponse
- Network.AWS.WAF.UpdateRule: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRule.UpdateRuleResponse
- Network.AWS.WAF.UpdateRule: instance GHC.Read.Read Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance GHC.Read.Read Network.AWS.WAF.UpdateRule.UpdateRuleResponse
- Network.AWS.WAF.UpdateRule: instance GHC.Show.Show Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance GHC.Show.Show Network.AWS.WAF.UpdateRule.UpdateRuleResponse
- Network.AWS.WAF.UpdateRule: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateRule.UpdateRule
- Network.AWS.WAF.UpdateRule: updateRule :: Text -> Text -> UpdateRule
- Network.AWS.WAF.UpdateRule: updateRuleResponse :: Int -> UpdateRuleResponse
- Network.AWS.WAF.UpdateRule: urChangeToken :: Lens' UpdateRule Text
- Network.AWS.WAF.UpdateRule: urRuleId :: Lens' UpdateRule Text
- Network.AWS.WAF.UpdateRule: urUpdates :: Lens' UpdateRule [RuleUpdate]
- Network.AWS.WAF.UpdateRule: urrsChangeToken :: Lens' UpdateRuleResponse (Maybe Text)
- Network.AWS.WAF.UpdateRule: urrsResponseStatus :: Lens' UpdateRuleResponse Int
- Network.AWS.WAF.UpdateRuleGroup: data UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: data UpdateRuleGroupResponse
- Network.AWS.WAF.UpdateRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
- Network.AWS.WAF.UpdateRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance Data.Data.Data Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance Data.Data.Data Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
- Network.AWS.WAF.UpdateRuleGroup: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance GHC.Classes.Eq Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
- Network.AWS.WAF.UpdateRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance GHC.Generics.Generic Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
- Network.AWS.WAF.UpdateRuleGroup: instance GHC.Read.Read Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance GHC.Read.Read Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
- Network.AWS.WAF.UpdateRuleGroup: instance GHC.Show.Show Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance GHC.Show.Show Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
- Network.AWS.WAF.UpdateRuleGroup: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateRuleGroup.UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: updateRuleGroup :: Text -> NonEmpty RuleGroupUpdate -> Text -> UpdateRuleGroup
- Network.AWS.WAF.UpdateRuleGroup: updateRuleGroupResponse :: Int -> UpdateRuleGroupResponse
- Network.AWS.WAF.UpdateRuleGroup: urgChangeToken :: Lens' UpdateRuleGroup Text
- Network.AWS.WAF.UpdateRuleGroup: urgRuleGroupId :: Lens' UpdateRuleGroup Text
- Network.AWS.WAF.UpdateRuleGroup: urgUpdates :: Lens' UpdateRuleGroup (NonEmpty RuleGroupUpdate)
- Network.AWS.WAF.UpdateRuleGroup: urgrsChangeToken :: Lens' UpdateRuleGroupResponse (Maybe Text)
- Network.AWS.WAF.UpdateRuleGroup: urgrsResponseStatus :: Lens' UpdateRuleGroupResponse Int
- Network.AWS.WAF.UpdateSizeConstraintSet: data UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: data UpdateSizeConstraintSetResponse
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Data.Data.Data Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Data.Data.Data Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
- Network.AWS.WAF.UpdateSizeConstraintSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
- Network.AWS.WAF.UpdateSizeConstraintSet: instance GHC.Read.Read Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance GHC.Read.Read Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
- Network.AWS.WAF.UpdateSizeConstraintSet: instance GHC.Show.Show Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance GHC.Show.Show Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: updateSizeConstraintSet :: Text -> Text -> NonEmpty SizeConstraintSetUpdate -> UpdateSizeConstraintSet
- Network.AWS.WAF.UpdateSizeConstraintSet: updateSizeConstraintSetResponse :: Int -> UpdateSizeConstraintSetResponse
- Network.AWS.WAF.UpdateSizeConstraintSet: uscsChangeToken :: Lens' UpdateSizeConstraintSet Text
- Network.AWS.WAF.UpdateSizeConstraintSet: uscsSizeConstraintSetId :: Lens' UpdateSizeConstraintSet Text
- Network.AWS.WAF.UpdateSizeConstraintSet: uscsUpdates :: Lens' UpdateSizeConstraintSet (NonEmpty SizeConstraintSetUpdate)
- Network.AWS.WAF.UpdateSizeConstraintSet: uscsrsChangeToken :: Lens' UpdateSizeConstraintSetResponse (Maybe Text)
- Network.AWS.WAF.UpdateSizeConstraintSet: uscsrsResponseStatus :: Lens' UpdateSizeConstraintSetResponse Int
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: data UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: data UpdateSqlInjectionMatchSetResponse
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: updateSqlInjectionMatchSet :: Text -> Text -> NonEmpty SqlInjectionMatchSetUpdate -> UpdateSqlInjectionMatchSet
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: updateSqlInjectionMatchSetResponse :: Int -> UpdateSqlInjectionMatchSetResponse
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: usimsChangeToken :: Lens' UpdateSqlInjectionMatchSet Text
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: usimsSqlInjectionMatchSetId :: Lens' UpdateSqlInjectionMatchSet Text
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: usimsUpdates :: Lens' UpdateSqlInjectionMatchSet (NonEmpty SqlInjectionMatchSetUpdate)
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: usimsrsChangeToken :: Lens' UpdateSqlInjectionMatchSetResponse (Maybe Text)
- Network.AWS.WAF.UpdateSqlInjectionMatchSet: usimsrsResponseStatus :: Lens' UpdateSqlInjectionMatchSetResponse Int
- Network.AWS.WAF.UpdateWebACL: data UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: data UpdateWebACLResponse
- Network.AWS.WAF.UpdateWebACL: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateWebACL.UpdateWebACLResponse
- Network.AWS.WAF.UpdateWebACL: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance Data.Data.Data Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance Data.Data.Data Network.AWS.WAF.UpdateWebACL.UpdateWebACLResponse
- Network.AWS.WAF.UpdateWebACL: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance GHC.Classes.Eq Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance GHC.Classes.Eq Network.AWS.WAF.UpdateWebACL.UpdateWebACLResponse
- Network.AWS.WAF.UpdateWebACL: instance GHC.Generics.Generic Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance GHC.Generics.Generic Network.AWS.WAF.UpdateWebACL.UpdateWebACLResponse
- Network.AWS.WAF.UpdateWebACL: instance GHC.Read.Read Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance GHC.Read.Read Network.AWS.WAF.UpdateWebACL.UpdateWebACLResponse
- Network.AWS.WAF.UpdateWebACL: instance GHC.Show.Show Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance GHC.Show.Show Network.AWS.WAF.UpdateWebACL.UpdateWebACLResponse
- Network.AWS.WAF.UpdateWebACL: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateWebACL.UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: updateWebACL :: Text -> Text -> UpdateWebACL
- Network.AWS.WAF.UpdateWebACL: updateWebACLResponse :: Int -> UpdateWebACLResponse
- Network.AWS.WAF.UpdateWebACL: uwaChangeToken :: Lens' UpdateWebACL Text
- Network.AWS.WAF.UpdateWebACL: uwaDefaultAction :: Lens' UpdateWebACL (Maybe WafAction)
- Network.AWS.WAF.UpdateWebACL: uwaUpdates :: Lens' UpdateWebACL [WebACLUpdate]
- Network.AWS.WAF.UpdateWebACL: uwaWebACLId :: Lens' UpdateWebACL Text
- Network.AWS.WAF.UpdateWebACL: uwarsChangeToken :: Lens' UpdateWebACLResponse (Maybe Text)
- Network.AWS.WAF.UpdateWebACL: uwarsResponseStatus :: Lens' UpdateWebACLResponse Int
- Network.AWS.WAF.UpdateXSSMatchSet: data UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: data UpdateXSSMatchSetResponse
- Network.AWS.WAF.UpdateXSSMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance Control.DeepSeq.NFData Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSetResponse
- Network.AWS.WAF.UpdateXSSMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance Data.Data.Data Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSetResponse
- Network.AWS.WAF.UpdateXSSMatchSet: instance Data.Hashable.Class.Hashable Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance GHC.Classes.Eq Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSetResponse
- Network.AWS.WAF.UpdateXSSMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance GHC.Generics.Generic Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSetResponse
- Network.AWS.WAF.UpdateXSSMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance GHC.Read.Read Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSetResponse
- Network.AWS.WAF.UpdateXSSMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance GHC.Show.Show Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSetResponse
- Network.AWS.WAF.UpdateXSSMatchSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance Network.AWS.Data.Path.ToPath Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: instance Network.AWS.Types.AWSRequest Network.AWS.WAF.UpdateXSSMatchSet.UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: updateXSSMatchSet :: Text -> Text -> NonEmpty XSSMatchSetUpdate -> UpdateXSSMatchSet
- Network.AWS.WAF.UpdateXSSMatchSet: updateXSSMatchSetResponse :: Int -> UpdateXSSMatchSetResponse
- Network.AWS.WAF.UpdateXSSMatchSet: uxmsChangeToken :: Lens' UpdateXSSMatchSet Text
- Network.AWS.WAF.UpdateXSSMatchSet: uxmsUpdates :: Lens' UpdateXSSMatchSet (NonEmpty XSSMatchSetUpdate)
- Network.AWS.WAF.UpdateXSSMatchSet: uxmsXSSMatchSetId :: Lens' UpdateXSSMatchSet Text
- Network.AWS.WAF.UpdateXSSMatchSet: uxmsrsChangeToken :: Lens' UpdateXSSMatchSetResponse (Maybe Text)
- Network.AWS.WAF.UpdateXSSMatchSet: uxmsrsResponseStatus :: Lens' UpdateXSSMatchSetResponse Int
+ Amazonka.WAF: ActivatedRule' :: Maybe WafAction -> Maybe [ExcludedRule] -> Maybe WafOverrideAction -> Maybe WafRuleType -> Int -> Text -> ActivatedRule
+ Amazonka.WAF: ByteMatchSet' :: Maybe Text -> Text -> [ByteMatchTuple] -> ByteMatchSet
+ Amazonka.WAF: ByteMatchSetSummary' :: Text -> Text -> ByteMatchSetSummary
+ Amazonka.WAF: ByteMatchSetUpdate' :: ChangeAction -> ByteMatchTuple -> ByteMatchSetUpdate
+ Amazonka.WAF: ByteMatchTuple' :: FieldToMatch -> Base64 -> TextTransformation -> PositionalConstraint -> ByteMatchTuple
+ Amazonka.WAF: ChangeAction' :: Text -> ChangeAction
+ Amazonka.WAF: ChangeTokenStatus' :: Text -> ChangeTokenStatus
+ Amazonka.WAF: ComparisonOperator' :: Text -> ComparisonOperator
+ Amazonka.WAF: CreateByteMatchSet' :: Text -> Text -> CreateByteMatchSet
+ Amazonka.WAF: CreateByteMatchSetResponse' :: Maybe ByteMatchSet -> Maybe Text -> Int -> CreateByteMatchSetResponse
+ Amazonka.WAF: CreateGeoMatchSet' :: Text -> Text -> CreateGeoMatchSet
+ Amazonka.WAF: CreateGeoMatchSetResponse' :: Maybe Text -> Maybe GeoMatchSet -> Int -> CreateGeoMatchSetResponse
+ Amazonka.WAF: CreateIPSet' :: Text -> Text -> CreateIPSet
+ Amazonka.WAF: CreateIPSetResponse' :: Maybe Text -> Maybe IPSet -> Int -> CreateIPSetResponse
+ Amazonka.WAF: CreateRateBasedRule' :: Maybe (NonEmpty Tag) -> Text -> Text -> RateKey -> Natural -> Text -> CreateRateBasedRule
+ Amazonka.WAF: CreateRateBasedRuleResponse' :: Maybe Text -> Maybe RateBasedRule -> Int -> CreateRateBasedRuleResponse
+ Amazonka.WAF: CreateRegexMatchSet' :: Text -> Text -> CreateRegexMatchSet
+ Amazonka.WAF: CreateRegexMatchSetResponse' :: Maybe Text -> Maybe RegexMatchSet -> Int -> CreateRegexMatchSetResponse
+ Amazonka.WAF: CreateRegexPatternSet' :: Text -> Text -> CreateRegexPatternSet
+ Amazonka.WAF: CreateRegexPatternSetResponse' :: Maybe Text -> Maybe RegexPatternSet -> Int -> CreateRegexPatternSetResponse
+ Amazonka.WAF: CreateRule' :: Maybe (NonEmpty Tag) -> Text -> Text -> Text -> CreateRule
+ Amazonka.WAF: CreateRuleGroup' :: Maybe (NonEmpty Tag) -> Text -> Text -> Text -> CreateRuleGroup
+ Amazonka.WAF: CreateRuleGroupResponse' :: Maybe Text -> Maybe RuleGroup -> Int -> CreateRuleGroupResponse
+ Amazonka.WAF: CreateRuleResponse' :: Maybe Text -> Maybe Rule -> Int -> CreateRuleResponse
+ Amazonka.WAF: CreateSizeConstraintSet' :: Text -> Text -> CreateSizeConstraintSet
+ Amazonka.WAF: CreateSizeConstraintSetResponse' :: Maybe Text -> Maybe SizeConstraintSet -> Int -> CreateSizeConstraintSetResponse
+ Amazonka.WAF: CreateSqlInjectionMatchSet' :: Text -> Text -> CreateSqlInjectionMatchSet
+ Amazonka.WAF: CreateSqlInjectionMatchSetResponse' :: Maybe Text -> Maybe SqlInjectionMatchSet -> Int -> CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF: CreateWebACL' :: Maybe (NonEmpty Tag) -> Text -> Text -> WafAction -> Text -> CreateWebACL
+ Amazonka.WAF: CreateWebACLMigrationStack' :: Text -> Text -> Bool -> CreateWebACLMigrationStack
+ Amazonka.WAF: CreateWebACLMigrationStackResponse' :: Int -> Text -> CreateWebACLMigrationStackResponse
+ Amazonka.WAF: CreateWebACLResponse' :: Maybe Text -> Maybe WebACL -> Int -> CreateWebACLResponse
+ Amazonka.WAF: CreateXssMatchSet' :: Text -> Text -> CreateXssMatchSet
+ Amazonka.WAF: CreateXssMatchSetResponse' :: Maybe Text -> Maybe XssMatchSet -> Int -> CreateXssMatchSetResponse
+ Amazonka.WAF: DeleteByteMatchSet' :: Text -> Text -> DeleteByteMatchSet
+ Amazonka.WAF: DeleteByteMatchSetResponse' :: Maybe Text -> Int -> DeleteByteMatchSetResponse
+ Amazonka.WAF: DeleteGeoMatchSet' :: Text -> Text -> DeleteGeoMatchSet
+ Amazonka.WAF: DeleteGeoMatchSetResponse' :: Maybe Text -> Int -> DeleteGeoMatchSetResponse
+ Amazonka.WAF: DeleteIPSet' :: Text -> Text -> DeleteIPSet
+ Amazonka.WAF: DeleteIPSetResponse' :: Maybe Text -> Int -> DeleteIPSetResponse
+ Amazonka.WAF: DeleteLoggingConfiguration' :: Text -> DeleteLoggingConfiguration
+ Amazonka.WAF: DeleteLoggingConfigurationResponse' :: Int -> DeleteLoggingConfigurationResponse
+ Amazonka.WAF: DeletePermissionPolicy' :: Text -> DeletePermissionPolicy
+ Amazonka.WAF: DeletePermissionPolicyResponse' :: Int -> DeletePermissionPolicyResponse
+ Amazonka.WAF: DeleteRateBasedRule' :: Text -> Text -> DeleteRateBasedRule
+ Amazonka.WAF: DeleteRateBasedRuleResponse' :: Maybe Text -> Int -> DeleteRateBasedRuleResponse
+ Amazonka.WAF: DeleteRegexMatchSet' :: Text -> Text -> DeleteRegexMatchSet
+ Amazonka.WAF: DeleteRegexMatchSetResponse' :: Maybe Text -> Int -> DeleteRegexMatchSetResponse
+ Amazonka.WAF: DeleteRegexPatternSet' :: Text -> Text -> DeleteRegexPatternSet
+ Amazonka.WAF: DeleteRegexPatternSetResponse' :: Maybe Text -> Int -> DeleteRegexPatternSetResponse
+ Amazonka.WAF: DeleteRule' :: Text -> Text -> DeleteRule
+ Amazonka.WAF: DeleteRuleGroup' :: Text -> Text -> DeleteRuleGroup
+ Amazonka.WAF: DeleteRuleGroupResponse' :: Maybe Text -> Int -> DeleteRuleGroupResponse
+ Amazonka.WAF: DeleteRuleResponse' :: Maybe Text -> Int -> DeleteRuleResponse
+ Amazonka.WAF: DeleteSizeConstraintSet' :: Text -> Text -> DeleteSizeConstraintSet
+ Amazonka.WAF: DeleteSizeConstraintSetResponse' :: Maybe Text -> Int -> DeleteSizeConstraintSetResponse
+ Amazonka.WAF: DeleteSqlInjectionMatchSet' :: Text -> Text -> DeleteSqlInjectionMatchSet
+ Amazonka.WAF: DeleteSqlInjectionMatchSetResponse' :: Maybe Text -> Int -> DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF: DeleteWebACL' :: Text -> Text -> DeleteWebACL
+ Amazonka.WAF: DeleteWebACLResponse' :: Maybe Text -> Int -> DeleteWebACLResponse
+ Amazonka.WAF: DeleteXssMatchSet' :: Text -> Text -> DeleteXssMatchSet
+ Amazonka.WAF: DeleteXssMatchSetResponse' :: Maybe Text -> Int -> DeleteXssMatchSetResponse
+ Amazonka.WAF: ExcludedRule' :: Text -> ExcludedRule
+ Amazonka.WAF: FieldToMatch' :: Maybe Text -> MatchFieldType -> FieldToMatch
+ Amazonka.WAF: GeoMatchConstraint' :: GeoMatchConstraintType -> GeoMatchConstraintValue -> GeoMatchConstraint
+ Amazonka.WAF: GeoMatchConstraintType' :: Text -> GeoMatchConstraintType
+ Amazonka.WAF: GeoMatchConstraintValue' :: Text -> GeoMatchConstraintValue
+ Amazonka.WAF: GeoMatchSet' :: Maybe Text -> Text -> [GeoMatchConstraint] -> GeoMatchSet
+ Amazonka.WAF: GeoMatchSetSummary' :: Text -> Text -> GeoMatchSetSummary
+ Amazonka.WAF: GeoMatchSetUpdate' :: ChangeAction -> GeoMatchConstraint -> GeoMatchSetUpdate
+ Amazonka.WAF: GetByteMatchSet' :: Text -> GetByteMatchSet
+ Amazonka.WAF: GetByteMatchSetResponse' :: Maybe ByteMatchSet -> Int -> GetByteMatchSetResponse
+ Amazonka.WAF: GetChangeToken' :: GetChangeToken
+ Amazonka.WAF: GetChangeTokenResponse' :: Maybe Text -> Int -> GetChangeTokenResponse
+ Amazonka.WAF: GetChangeTokenStatus' :: Text -> GetChangeTokenStatus
+ Amazonka.WAF: GetChangeTokenStatusResponse' :: Maybe ChangeTokenStatus -> Int -> GetChangeTokenStatusResponse
+ Amazonka.WAF: GetGeoMatchSet' :: Text -> GetGeoMatchSet
+ Amazonka.WAF: GetGeoMatchSetResponse' :: Maybe GeoMatchSet -> Int -> GetGeoMatchSetResponse
+ Amazonka.WAF: GetIPSet' :: Text -> GetIPSet
+ Amazonka.WAF: GetIPSetResponse' :: Maybe IPSet -> Int -> GetIPSetResponse
+ Amazonka.WAF: GetLoggingConfiguration' :: Text -> GetLoggingConfiguration
+ Amazonka.WAF: GetLoggingConfigurationResponse' :: Maybe LoggingConfiguration -> Int -> GetLoggingConfigurationResponse
+ Amazonka.WAF: GetPermissionPolicy' :: Text -> GetPermissionPolicy
+ Amazonka.WAF: GetPermissionPolicyResponse' :: Maybe Text -> Int -> GetPermissionPolicyResponse
+ Amazonka.WAF: GetRateBasedRule' :: Text -> GetRateBasedRule
+ Amazonka.WAF: GetRateBasedRuleManagedKeys' :: Maybe Text -> Text -> GetRateBasedRuleManagedKeys
+ Amazonka.WAF: GetRateBasedRuleManagedKeysResponse' :: Maybe [Text] -> Maybe Text -> Int -> GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF: GetRateBasedRuleResponse' :: Maybe RateBasedRule -> Int -> GetRateBasedRuleResponse
+ Amazonka.WAF: GetRegexMatchSet' :: Text -> GetRegexMatchSet
+ Amazonka.WAF: GetRegexMatchSetResponse' :: Maybe RegexMatchSet -> Int -> GetRegexMatchSetResponse
+ Amazonka.WAF: GetRegexPatternSet' :: Text -> GetRegexPatternSet
+ Amazonka.WAF: GetRegexPatternSetResponse' :: Maybe RegexPatternSet -> Int -> GetRegexPatternSetResponse
+ Amazonka.WAF: GetRule' :: Text -> GetRule
+ Amazonka.WAF: GetRuleGroup' :: Text -> GetRuleGroup
+ Amazonka.WAF: GetRuleGroupResponse' :: Maybe RuleGroup -> Int -> GetRuleGroupResponse
+ Amazonka.WAF: GetRuleResponse' :: Maybe Rule -> Int -> GetRuleResponse
+ Amazonka.WAF: GetSampledRequests' :: Text -> Text -> TimeWindow -> Natural -> GetSampledRequests
+ Amazonka.WAF: GetSampledRequestsResponse' :: Maybe Integer -> Maybe [SampledHTTPRequest] -> Maybe TimeWindow -> Int -> GetSampledRequestsResponse
+ Amazonka.WAF: GetSizeConstraintSet' :: Text -> GetSizeConstraintSet
+ Amazonka.WAF: GetSizeConstraintSetResponse' :: Maybe SizeConstraintSet -> Int -> GetSizeConstraintSetResponse
+ Amazonka.WAF: GetSqlInjectionMatchSet' :: Text -> GetSqlInjectionMatchSet
+ Amazonka.WAF: GetSqlInjectionMatchSetResponse' :: Maybe SqlInjectionMatchSet -> Int -> GetSqlInjectionMatchSetResponse
+ Amazonka.WAF: GetWebACL' :: Text -> GetWebACL
+ Amazonka.WAF: GetWebACLResponse' :: Maybe WebACL -> Int -> GetWebACLResponse
+ Amazonka.WAF: GetXssMatchSet' :: Text -> GetXssMatchSet
+ Amazonka.WAF: GetXssMatchSetResponse' :: Maybe XssMatchSet -> Int -> GetXssMatchSetResponse
+ Amazonka.WAF: HTTPHeader' :: Maybe Text -> Maybe Text -> HTTPHeader
+ Amazonka.WAF: HTTPRequest' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [HTTPHeader] -> Maybe Text -> Maybe Text -> HTTPRequest
+ Amazonka.WAF: IPSet' :: Maybe Text -> Text -> [IPSetDescriptor] -> IPSet
+ Amazonka.WAF: IPSetDescriptor' :: IPSetDescriptorType -> Text -> IPSetDescriptor
+ Amazonka.WAF: IPSetDescriptorType' :: Text -> IPSetDescriptorType
+ Amazonka.WAF: IPSetSummary' :: Text -> Text -> IPSetSummary
+ Amazonka.WAF: IPSetUpdate' :: ChangeAction -> IPSetDescriptor -> IPSetUpdate
+ Amazonka.WAF: ListActivatedRulesInRuleGroup' :: Maybe Natural -> Maybe Text -> Maybe Text -> ListActivatedRulesInRuleGroup
+ Amazonka.WAF: ListActivatedRulesInRuleGroupResponse' :: Maybe [ActivatedRule] -> Maybe Text -> Int -> ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF: ListByteMatchSets' :: Maybe Natural -> Maybe Text -> ListByteMatchSets
+ Amazonka.WAF: ListByteMatchSetsResponse' :: Maybe [ByteMatchSetSummary] -> Maybe Text -> Int -> ListByteMatchSetsResponse
+ Amazonka.WAF: ListGeoMatchSets' :: Maybe Natural -> Maybe Text -> ListGeoMatchSets
+ Amazonka.WAF: ListGeoMatchSetsResponse' :: Maybe [GeoMatchSetSummary] -> Maybe Text -> Int -> ListGeoMatchSetsResponse
+ Amazonka.WAF: ListIPSets' :: Maybe Natural -> Maybe Text -> ListIPSets
+ Amazonka.WAF: ListIPSetsResponse' :: Maybe [IPSetSummary] -> Maybe Text -> Int -> ListIPSetsResponse
+ Amazonka.WAF: ListLoggingConfigurations' :: Maybe Natural -> Maybe Text -> ListLoggingConfigurations
+ Amazonka.WAF: ListLoggingConfigurationsResponse' :: Maybe [LoggingConfiguration] -> Maybe Text -> Int -> ListLoggingConfigurationsResponse
+ Amazonka.WAF: ListRateBasedRules' :: Maybe Natural -> Maybe Text -> ListRateBasedRules
+ Amazonka.WAF: ListRateBasedRulesResponse' :: Maybe Text -> Maybe [RuleSummary] -> Int -> ListRateBasedRulesResponse
+ Amazonka.WAF: ListRegexMatchSets' :: Maybe Natural -> Maybe Text -> ListRegexMatchSets
+ Amazonka.WAF: ListRegexMatchSetsResponse' :: Maybe Text -> Maybe [RegexMatchSetSummary] -> Int -> ListRegexMatchSetsResponse
+ Amazonka.WAF: ListRegexPatternSets' :: Maybe Natural -> Maybe Text -> ListRegexPatternSets
+ Amazonka.WAF: ListRegexPatternSetsResponse' :: Maybe Text -> Maybe [RegexPatternSetSummary] -> Int -> ListRegexPatternSetsResponse
+ Amazonka.WAF: ListRuleGroups' :: Maybe Natural -> Maybe Text -> ListRuleGroups
+ Amazonka.WAF: ListRuleGroupsResponse' :: Maybe Text -> Maybe [RuleGroupSummary] -> Int -> ListRuleGroupsResponse
+ Amazonka.WAF: ListRules' :: Maybe Natural -> Maybe Text -> ListRules
+ Amazonka.WAF: ListRulesResponse' :: Maybe Text -> Maybe [RuleSummary] -> Int -> ListRulesResponse
+ Amazonka.WAF: ListSizeConstraintSets' :: Maybe Natural -> Maybe Text -> ListSizeConstraintSets
+ Amazonka.WAF: ListSizeConstraintSetsResponse' :: Maybe Text -> Maybe [SizeConstraintSetSummary] -> Int -> ListSizeConstraintSetsResponse
+ Amazonka.WAF: ListSqlInjectionMatchSets' :: Maybe Natural -> Maybe Text -> ListSqlInjectionMatchSets
+ Amazonka.WAF: ListSqlInjectionMatchSetsResponse' :: Maybe Text -> Maybe [SqlInjectionMatchSetSummary] -> Int -> ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF: ListSubscribedRuleGroups' :: Maybe Natural -> Maybe Text -> ListSubscribedRuleGroups
+ Amazonka.WAF: ListSubscribedRuleGroupsResponse' :: Maybe Text -> Maybe [SubscribedRuleGroupSummary] -> Int -> ListSubscribedRuleGroupsResponse
+ Amazonka.WAF: ListTagsForResource' :: Maybe Natural -> Maybe Text -> Text -> ListTagsForResource
+ Amazonka.WAF: ListTagsForResourceResponse' :: Maybe Text -> Maybe TagInfoForResource -> Int -> ListTagsForResourceResponse
+ Amazonka.WAF: ListWebACLs' :: Maybe Natural -> Maybe Text -> ListWebACLs
+ Amazonka.WAF: ListWebACLsResponse' :: Maybe Text -> Maybe [WebACLSummary] -> Int -> ListWebACLsResponse
+ Amazonka.WAF: ListXssMatchSets' :: Maybe Natural -> Maybe Text -> ListXssMatchSets
+ Amazonka.WAF: ListXssMatchSetsResponse' :: Maybe Text -> Maybe [XssMatchSetSummary] -> Int -> ListXssMatchSetsResponse
+ Amazonka.WAF: LoggingConfiguration' :: Maybe [FieldToMatch] -> Text -> NonEmpty Text -> LoggingConfiguration
+ Amazonka.WAF: MatchFieldType' :: Text -> MatchFieldType
+ Amazonka.WAF: PositionalConstraint' :: Text -> PositionalConstraint
+ Amazonka.WAF: Predicate' :: Bool -> PredicateType -> Text -> Predicate
+ Amazonka.WAF: PredicateType' :: Text -> PredicateType
+ Amazonka.WAF: PutLoggingConfiguration' :: LoggingConfiguration -> PutLoggingConfiguration
+ Amazonka.WAF: PutLoggingConfigurationResponse' :: Maybe LoggingConfiguration -> Int -> PutLoggingConfigurationResponse
+ Amazonka.WAF: PutPermissionPolicy' :: Text -> Text -> PutPermissionPolicy
+ Amazonka.WAF: PutPermissionPolicyResponse' :: Int -> PutPermissionPolicyResponse
+ Amazonka.WAF: RateBasedRule' :: Maybe Text -> Maybe Text -> Text -> [Predicate] -> RateKey -> Natural -> RateBasedRule
+ Amazonka.WAF: RateKey' :: Text -> RateKey
+ Amazonka.WAF: RegexMatchSet' :: Maybe Text -> Maybe Text -> Maybe [RegexMatchTuple] -> RegexMatchSet
+ Amazonka.WAF: RegexMatchSetSummary' :: Text -> Text -> RegexMatchSetSummary
+ Amazonka.WAF: RegexMatchSetUpdate' :: ChangeAction -> RegexMatchTuple -> RegexMatchSetUpdate
+ Amazonka.WAF: RegexMatchTuple' :: FieldToMatch -> TextTransformation -> Text -> RegexMatchTuple
+ Amazonka.WAF: RegexPatternSet' :: Maybe Text -> Text -> [Text] -> RegexPatternSet
+ Amazonka.WAF: RegexPatternSetSummary' :: Text -> Text -> RegexPatternSetSummary
+ Amazonka.WAF: RegexPatternSetUpdate' :: ChangeAction -> Text -> RegexPatternSetUpdate
+ Amazonka.WAF: Rule' :: Maybe Text -> Maybe Text -> Text -> [Predicate] -> Rule
+ Amazonka.WAF: RuleGroup' :: Maybe Text -> Maybe Text -> Text -> RuleGroup
+ Amazonka.WAF: RuleGroupSummary' :: Text -> Text -> RuleGroupSummary
+ Amazonka.WAF: RuleGroupUpdate' :: ChangeAction -> ActivatedRule -> RuleGroupUpdate
+ Amazonka.WAF: RuleSummary' :: Text -> Text -> RuleSummary
+ Amazonka.WAF: RuleUpdate' :: ChangeAction -> Predicate -> RuleUpdate
+ Amazonka.WAF: SampledHTTPRequest' :: Maybe Text -> Maybe Text -> Maybe POSIX -> HTTPRequest -> Natural -> SampledHTTPRequest
+ Amazonka.WAF: SizeConstraint' :: FieldToMatch -> TextTransformation -> ComparisonOperator -> Natural -> SizeConstraint
+ Amazonka.WAF: SizeConstraintSet' :: Maybe Text -> Text -> [SizeConstraint] -> SizeConstraintSet
+ Amazonka.WAF: SizeConstraintSetSummary' :: Text -> Text -> SizeConstraintSetSummary
+ Amazonka.WAF: SizeConstraintSetUpdate' :: ChangeAction -> SizeConstraint -> SizeConstraintSetUpdate
+ Amazonka.WAF: SqlInjectionMatchSet' :: Maybe Text -> Text -> [SqlInjectionMatchTuple] -> SqlInjectionMatchSet
+ Amazonka.WAF: SqlInjectionMatchSetSummary' :: Text -> Text -> SqlInjectionMatchSetSummary
+ Amazonka.WAF: SqlInjectionMatchSetUpdate' :: ChangeAction -> SqlInjectionMatchTuple -> SqlInjectionMatchSetUpdate
+ Amazonka.WAF: SqlInjectionMatchTuple' :: FieldToMatch -> TextTransformation -> SqlInjectionMatchTuple
+ Amazonka.WAF: SubscribedRuleGroupSummary' :: Text -> Text -> Text -> SubscribedRuleGroupSummary
+ Amazonka.WAF: Tag' :: Text -> Text -> Tag
+ Amazonka.WAF: TagInfoForResource' :: Maybe Text -> Maybe (NonEmpty Tag) -> TagInfoForResource
+ Amazonka.WAF: TagResource' :: Text -> NonEmpty Tag -> TagResource
+ Amazonka.WAF: TagResourceResponse' :: Int -> TagResourceResponse
+ Amazonka.WAF: TextTransformation' :: Text -> TextTransformation
+ Amazonka.WAF: TimeWindow' :: POSIX -> POSIX -> TimeWindow
+ Amazonka.WAF: UntagResource' :: Text -> NonEmpty Text -> UntagResource
+ Amazonka.WAF: UntagResourceResponse' :: Int -> UntagResourceResponse
+ Amazonka.WAF: UpdateByteMatchSet' :: Text -> Text -> NonEmpty ByteMatchSetUpdate -> UpdateByteMatchSet
+ Amazonka.WAF: UpdateByteMatchSetResponse' :: Maybe Text -> Int -> UpdateByteMatchSetResponse
+ Amazonka.WAF: UpdateGeoMatchSet' :: Text -> Text -> NonEmpty GeoMatchSetUpdate -> UpdateGeoMatchSet
+ Amazonka.WAF: UpdateGeoMatchSetResponse' :: Maybe Text -> Int -> UpdateGeoMatchSetResponse
+ Amazonka.WAF: UpdateIPSet' :: Text -> Text -> NonEmpty IPSetUpdate -> UpdateIPSet
+ Amazonka.WAF: UpdateIPSetResponse' :: Maybe Text -> Int -> UpdateIPSetResponse
+ Amazonka.WAF: UpdateRateBasedRule' :: Text -> Text -> [RuleUpdate] -> Natural -> UpdateRateBasedRule
+ Amazonka.WAF: UpdateRateBasedRuleResponse' :: Maybe Text -> Int -> UpdateRateBasedRuleResponse
+ Amazonka.WAF: UpdateRegexMatchSet' :: Text -> NonEmpty RegexMatchSetUpdate -> Text -> UpdateRegexMatchSet
+ Amazonka.WAF: UpdateRegexMatchSetResponse' :: Maybe Text -> Int -> UpdateRegexMatchSetResponse
+ Amazonka.WAF: UpdateRegexPatternSet' :: Text -> NonEmpty RegexPatternSetUpdate -> Text -> UpdateRegexPatternSet
+ Amazonka.WAF: UpdateRegexPatternSetResponse' :: Maybe Text -> Int -> UpdateRegexPatternSetResponse
+ Amazonka.WAF: UpdateRule' :: Text -> Text -> [RuleUpdate] -> UpdateRule
+ Amazonka.WAF: UpdateRuleGroup' :: Text -> NonEmpty RuleGroupUpdate -> Text -> UpdateRuleGroup
+ Amazonka.WAF: UpdateRuleGroupResponse' :: Maybe Text -> Int -> UpdateRuleGroupResponse
+ Amazonka.WAF: UpdateRuleResponse' :: Maybe Text -> Int -> UpdateRuleResponse
+ Amazonka.WAF: UpdateSizeConstraintSet' :: Text -> Text -> NonEmpty SizeConstraintSetUpdate -> UpdateSizeConstraintSet
+ Amazonka.WAF: UpdateSizeConstraintSetResponse' :: Maybe Text -> Int -> UpdateSizeConstraintSetResponse
+ Amazonka.WAF: UpdateSqlInjectionMatchSet' :: Text -> Text -> NonEmpty SqlInjectionMatchSetUpdate -> UpdateSqlInjectionMatchSet
+ Amazonka.WAF: UpdateSqlInjectionMatchSetResponse' :: Maybe Text -> Int -> UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF: UpdateWebACL' :: Maybe WafAction -> Maybe [WebACLUpdate] -> Text -> Text -> UpdateWebACL
+ Amazonka.WAF: UpdateWebACLResponse' :: Maybe Text -> Int -> UpdateWebACLResponse
+ Amazonka.WAF: UpdateXssMatchSet' :: Text -> Text -> NonEmpty XssMatchSetUpdate -> UpdateXssMatchSet
+ Amazonka.WAF: UpdateXssMatchSetResponse' :: Maybe Text -> Int -> UpdateXssMatchSetResponse
+ Amazonka.WAF: WafAction' :: WafActionType -> WafAction
+ Amazonka.WAF: WafActionType' :: Text -> WafActionType
+ Amazonka.WAF: WafOverrideAction' :: WafOverrideActionType -> WafOverrideAction
+ Amazonka.WAF: WafOverrideActionType' :: Text -> WafOverrideActionType
+ Amazonka.WAF: WafRuleType' :: Text -> WafRuleType
+ Amazonka.WAF: WebACL' :: Maybe Text -> Maybe Text -> Maybe Text -> Text -> WafAction -> [ActivatedRule] -> WebACL
+ Amazonka.WAF: WebACLSummary' :: Text -> Text -> WebACLSummary
+ Amazonka.WAF: WebACLUpdate' :: ChangeAction -> ActivatedRule -> WebACLUpdate
+ Amazonka.WAF: XssMatchSet' :: Maybe Text -> Text -> [XssMatchTuple] -> XssMatchSet
+ Amazonka.WAF: XssMatchSetSummary' :: Text -> Text -> XssMatchSetSummary
+ Amazonka.WAF: XssMatchSetUpdate' :: ChangeAction -> XssMatchTuple -> XssMatchSetUpdate
+ Amazonka.WAF: XssMatchTuple' :: FieldToMatch -> TextTransformation -> XssMatchTuple
+ Amazonka.WAF: [fromChangeAction] :: ChangeAction -> Text
+ Amazonka.WAF: [fromChangeTokenStatus] :: ChangeTokenStatus -> Text
+ Amazonka.WAF: [fromComparisonOperator] :: ComparisonOperator -> Text
+ Amazonka.WAF: [fromGeoMatchConstraintType] :: GeoMatchConstraintType -> Text
+ Amazonka.WAF: [fromGeoMatchConstraintValue] :: GeoMatchConstraintValue -> Text
+ Amazonka.WAF: [fromIPSetDescriptorType] :: IPSetDescriptorType -> Text
+ Amazonka.WAF: [fromMatchFieldType] :: MatchFieldType -> Text
+ Amazonka.WAF: [fromPositionalConstraint] :: PositionalConstraint -> Text
+ Amazonka.WAF: [fromPredicateType] :: PredicateType -> Text
+ Amazonka.WAF: [fromRateKey] :: RateKey -> Text
+ Amazonka.WAF: [fromTextTransformation] :: TextTransformation -> Text
+ Amazonka.WAF: [fromWafActionType] :: WafActionType -> Text
+ Amazonka.WAF: [fromWafOverrideActionType] :: WafOverrideActionType -> Text
+ Amazonka.WAF: [fromWafRuleType] :: WafRuleType -> Text
+ Amazonka.WAF: _WAFBadRequestException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFDisallowedNameException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFEntityMigrationException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFInternalErrorException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFInvalidAccountException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFInvalidOperationException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFInvalidParameterException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFInvalidPermissionPolicyException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFInvalidRegexPatternException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFLimitsExceededException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFNonEmptyEntityException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFNonexistentContainerException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFNonexistentItemException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFReferencedItemException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFServiceLinkedRoleErrorException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFStaleDataException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFSubscriptionNotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFTagOperationException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: _WAFTagOperationInternalErrorException :: AsError a => Fold a ServiceError
+ Amazonka.WAF: data ActivatedRule
+ Amazonka.WAF: data ByteMatchSet
+ Amazonka.WAF: data ByteMatchSetSummary
+ Amazonka.WAF: data ByteMatchSetUpdate
+ Amazonka.WAF: data ByteMatchTuple
+ Amazonka.WAF: data CreateByteMatchSet
+ Amazonka.WAF: data CreateByteMatchSetResponse
+ Amazonka.WAF: data CreateGeoMatchSet
+ Amazonka.WAF: data CreateGeoMatchSetResponse
+ Amazonka.WAF: data CreateIPSet
+ Amazonka.WAF: data CreateIPSetResponse
+ Amazonka.WAF: data CreateRateBasedRule
+ Amazonka.WAF: data CreateRateBasedRuleResponse
+ Amazonka.WAF: data CreateRegexMatchSet
+ Amazonka.WAF: data CreateRegexMatchSetResponse
+ Amazonka.WAF: data CreateRegexPatternSet
+ Amazonka.WAF: data CreateRegexPatternSetResponse
+ Amazonka.WAF: data CreateRule
+ Amazonka.WAF: data CreateRuleGroup
+ Amazonka.WAF: data CreateRuleGroupResponse
+ Amazonka.WAF: data CreateRuleResponse
+ Amazonka.WAF: data CreateSizeConstraintSet
+ Amazonka.WAF: data CreateSizeConstraintSetResponse
+ Amazonka.WAF: data CreateSqlInjectionMatchSet
+ Amazonka.WAF: data CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF: data CreateWebACL
+ Amazonka.WAF: data CreateWebACLMigrationStack
+ Amazonka.WAF: data CreateWebACLMigrationStackResponse
+ Amazonka.WAF: data CreateWebACLResponse
+ Amazonka.WAF: data CreateXssMatchSet
+ Amazonka.WAF: data CreateXssMatchSetResponse
+ Amazonka.WAF: data DeleteByteMatchSet
+ Amazonka.WAF: data DeleteByteMatchSetResponse
+ Amazonka.WAF: data DeleteGeoMatchSet
+ Amazonka.WAF: data DeleteGeoMatchSetResponse
+ Amazonka.WAF: data DeleteIPSet
+ Amazonka.WAF: data DeleteIPSetResponse
+ Amazonka.WAF: data DeleteLoggingConfiguration
+ Amazonka.WAF: data DeleteLoggingConfigurationResponse
+ Amazonka.WAF: data DeletePermissionPolicy
+ Amazonka.WAF: data DeletePermissionPolicyResponse
+ Amazonka.WAF: data DeleteRateBasedRule
+ Amazonka.WAF: data DeleteRateBasedRuleResponse
+ Amazonka.WAF: data DeleteRegexMatchSet
+ Amazonka.WAF: data DeleteRegexMatchSetResponse
+ Amazonka.WAF: data DeleteRegexPatternSet
+ Amazonka.WAF: data DeleteRegexPatternSetResponse
+ Amazonka.WAF: data DeleteRule
+ Amazonka.WAF: data DeleteRuleGroup
+ Amazonka.WAF: data DeleteRuleGroupResponse
+ Amazonka.WAF: data DeleteRuleResponse
+ Amazonka.WAF: data DeleteSizeConstraintSet
+ Amazonka.WAF: data DeleteSizeConstraintSetResponse
+ Amazonka.WAF: data DeleteSqlInjectionMatchSet
+ Amazonka.WAF: data DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF: data DeleteWebACL
+ Amazonka.WAF: data DeleteWebACLResponse
+ Amazonka.WAF: data DeleteXssMatchSet
+ Amazonka.WAF: data DeleteXssMatchSetResponse
+ Amazonka.WAF: data ExcludedRule
+ Amazonka.WAF: data FieldToMatch
+ Amazonka.WAF: data GeoMatchConstraint
+ Amazonka.WAF: data GeoMatchSet
+ Amazonka.WAF: data GeoMatchSetSummary
+ Amazonka.WAF: data GeoMatchSetUpdate
+ Amazonka.WAF: data GetByteMatchSet
+ Amazonka.WAF: data GetByteMatchSetResponse
+ Amazonka.WAF: data GetChangeToken
+ Amazonka.WAF: data GetChangeTokenResponse
+ Amazonka.WAF: data GetChangeTokenStatus
+ Amazonka.WAF: data GetChangeTokenStatusResponse
+ Amazonka.WAF: data GetGeoMatchSet
+ Amazonka.WAF: data GetGeoMatchSetResponse
+ Amazonka.WAF: data GetIPSet
+ Amazonka.WAF: data GetIPSetResponse
+ Amazonka.WAF: data GetLoggingConfiguration
+ Amazonka.WAF: data GetLoggingConfigurationResponse
+ Amazonka.WAF: data GetPermissionPolicy
+ Amazonka.WAF: data GetPermissionPolicyResponse
+ Amazonka.WAF: data GetRateBasedRule
+ Amazonka.WAF: data GetRateBasedRuleManagedKeys
+ Amazonka.WAF: data GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF: data GetRateBasedRuleResponse
+ Amazonka.WAF: data GetRegexMatchSet
+ Amazonka.WAF: data GetRegexMatchSetResponse
+ Amazonka.WAF: data GetRegexPatternSet
+ Amazonka.WAF: data GetRegexPatternSetResponse
+ Amazonka.WAF: data GetRule
+ Amazonka.WAF: data GetRuleGroup
+ Amazonka.WAF: data GetRuleGroupResponse
+ Amazonka.WAF: data GetRuleResponse
+ Amazonka.WAF: data GetSampledRequests
+ Amazonka.WAF: data GetSampledRequestsResponse
+ Amazonka.WAF: data GetSizeConstraintSet
+ Amazonka.WAF: data GetSizeConstraintSetResponse
+ Amazonka.WAF: data GetSqlInjectionMatchSet
+ Amazonka.WAF: data GetSqlInjectionMatchSetResponse
+ Amazonka.WAF: data GetWebACL
+ Amazonka.WAF: data GetWebACLResponse
+ Amazonka.WAF: data GetXssMatchSet
+ Amazonka.WAF: data GetXssMatchSetResponse
+ Amazonka.WAF: data HTTPHeader
+ Amazonka.WAF: data HTTPRequest
+ Amazonka.WAF: data IPSet
+ Amazonka.WAF: data IPSetDescriptor
+ Amazonka.WAF: data IPSetSummary
+ Amazonka.WAF: data IPSetUpdate
+ Amazonka.WAF: data ListActivatedRulesInRuleGroup
+ Amazonka.WAF: data ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF: data ListByteMatchSets
+ Amazonka.WAF: data ListByteMatchSetsResponse
+ Amazonka.WAF: data ListGeoMatchSets
+ Amazonka.WAF: data ListGeoMatchSetsResponse
+ Amazonka.WAF: data ListIPSets
+ Amazonka.WAF: data ListIPSetsResponse
+ Amazonka.WAF: data ListLoggingConfigurations
+ Amazonka.WAF: data ListLoggingConfigurationsResponse
+ Amazonka.WAF: data ListRateBasedRules
+ Amazonka.WAF: data ListRateBasedRulesResponse
+ Amazonka.WAF: data ListRegexMatchSets
+ Amazonka.WAF: data ListRegexMatchSetsResponse
+ Amazonka.WAF: data ListRegexPatternSets
+ Amazonka.WAF: data ListRegexPatternSetsResponse
+ Amazonka.WAF: data ListRuleGroups
+ Amazonka.WAF: data ListRuleGroupsResponse
+ Amazonka.WAF: data ListRules
+ Amazonka.WAF: data ListRulesResponse
+ Amazonka.WAF: data ListSizeConstraintSets
+ Amazonka.WAF: data ListSizeConstraintSetsResponse
+ Amazonka.WAF: data ListSqlInjectionMatchSets
+ Amazonka.WAF: data ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF: data ListSubscribedRuleGroups
+ Amazonka.WAF: data ListSubscribedRuleGroupsResponse
+ Amazonka.WAF: data ListTagsForResource
+ Amazonka.WAF: data ListTagsForResourceResponse
+ Amazonka.WAF: data ListWebACLs
+ Amazonka.WAF: data ListWebACLsResponse
+ Amazonka.WAF: data ListXssMatchSets
+ Amazonka.WAF: data ListXssMatchSetsResponse
+ Amazonka.WAF: data LoggingConfiguration
+ Amazonka.WAF: data Predicate
+ Amazonka.WAF: data PutLoggingConfiguration
+ Amazonka.WAF: data PutLoggingConfigurationResponse
+ Amazonka.WAF: data PutPermissionPolicy
+ Amazonka.WAF: data PutPermissionPolicyResponse
+ Amazonka.WAF: data RateBasedRule
+ Amazonka.WAF: data RegexMatchSet
+ Amazonka.WAF: data RegexMatchSetSummary
+ Amazonka.WAF: data RegexMatchSetUpdate
+ Amazonka.WAF: data RegexMatchTuple
+ Amazonka.WAF: data RegexPatternSet
+ Amazonka.WAF: data RegexPatternSetSummary
+ Amazonka.WAF: data RegexPatternSetUpdate
+ Amazonka.WAF: data Rule
+ Amazonka.WAF: data RuleGroup
+ Amazonka.WAF: data RuleGroupSummary
+ Amazonka.WAF: data RuleGroupUpdate
+ Amazonka.WAF: data RuleSummary
+ Amazonka.WAF: data RuleUpdate
+ Amazonka.WAF: data SampledHTTPRequest
+ Amazonka.WAF: data SizeConstraint
+ Amazonka.WAF: data SizeConstraintSet
+ Amazonka.WAF: data SizeConstraintSetSummary
+ Amazonka.WAF: data SizeConstraintSetUpdate
+ Amazonka.WAF: data SqlInjectionMatchSet
+ Amazonka.WAF: data SqlInjectionMatchSetSummary
+ Amazonka.WAF: data SqlInjectionMatchSetUpdate
+ Amazonka.WAF: data SqlInjectionMatchTuple
+ Amazonka.WAF: data SubscribedRuleGroupSummary
+ Amazonka.WAF: data Tag
+ Amazonka.WAF: data TagInfoForResource
+ Amazonka.WAF: data TagResource
+ Amazonka.WAF: data TagResourceResponse
+ Amazonka.WAF: data TimeWindow
+ Amazonka.WAF: data UntagResource
+ Amazonka.WAF: data UntagResourceResponse
+ Amazonka.WAF: data UpdateByteMatchSet
+ Amazonka.WAF: data UpdateByteMatchSetResponse
+ Amazonka.WAF: data UpdateGeoMatchSet
+ Amazonka.WAF: data UpdateGeoMatchSetResponse
+ Amazonka.WAF: data UpdateIPSet
+ Amazonka.WAF: data UpdateIPSetResponse
+ Amazonka.WAF: data UpdateRateBasedRule
+ Amazonka.WAF: data UpdateRateBasedRuleResponse
+ Amazonka.WAF: data UpdateRegexMatchSet
+ Amazonka.WAF: data UpdateRegexMatchSetResponse
+ Amazonka.WAF: data UpdateRegexPatternSet
+ Amazonka.WAF: data UpdateRegexPatternSetResponse
+ Amazonka.WAF: data UpdateRule
+ Amazonka.WAF: data UpdateRuleGroup
+ Amazonka.WAF: data UpdateRuleGroupResponse
+ Amazonka.WAF: data UpdateRuleResponse
+ Amazonka.WAF: data UpdateSizeConstraintSet
+ Amazonka.WAF: data UpdateSizeConstraintSetResponse
+ Amazonka.WAF: data UpdateSqlInjectionMatchSet
+ Amazonka.WAF: data UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF: data UpdateWebACL
+ Amazonka.WAF: data UpdateWebACLResponse
+ Amazonka.WAF: data UpdateXssMatchSet
+ Amazonka.WAF: data UpdateXssMatchSetResponse
+ Amazonka.WAF: data WafAction
+ Amazonka.WAF: data WafOverrideAction
+ Amazonka.WAF: data WebACL
+ Amazonka.WAF: data WebACLSummary
+ Amazonka.WAF: data WebACLUpdate
+ Amazonka.WAF: data XssMatchSet
+ Amazonka.WAF: data XssMatchSetSummary
+ Amazonka.WAF: data XssMatchSetUpdate
+ Amazonka.WAF: data XssMatchTuple
+ Amazonka.WAF: defaultService :: Service
+ Amazonka.WAF: newActivatedRule :: Int -> Text -> ActivatedRule
+ Amazonka.WAF: newByteMatchSet :: Text -> ByteMatchSet
+ Amazonka.WAF: newByteMatchSetSummary :: Text -> Text -> ByteMatchSetSummary
+ Amazonka.WAF: newByteMatchSetUpdate :: ChangeAction -> ByteMatchTuple -> ByteMatchSetUpdate
+ Amazonka.WAF: newByteMatchTuple :: FieldToMatch -> ByteString -> TextTransformation -> PositionalConstraint -> ByteMatchTuple
+ Amazonka.WAF: newCreateByteMatchSet :: Text -> Text -> CreateByteMatchSet
+ Amazonka.WAF: newCreateByteMatchSetResponse :: Int -> CreateByteMatchSetResponse
+ Amazonka.WAF: newCreateGeoMatchSet :: Text -> Text -> CreateGeoMatchSet
+ Amazonka.WAF: newCreateGeoMatchSetResponse :: Int -> CreateGeoMatchSetResponse
+ Amazonka.WAF: newCreateIPSet :: Text -> Text -> CreateIPSet
+ Amazonka.WAF: newCreateIPSetResponse :: Int -> CreateIPSetResponse
+ Amazonka.WAF: newCreateRateBasedRule :: Text -> Text -> RateKey -> Natural -> Text -> CreateRateBasedRule
+ Amazonka.WAF: newCreateRateBasedRuleResponse :: Int -> CreateRateBasedRuleResponse
+ Amazonka.WAF: newCreateRegexMatchSet :: Text -> Text -> CreateRegexMatchSet
+ Amazonka.WAF: newCreateRegexMatchSetResponse :: Int -> CreateRegexMatchSetResponse
+ Amazonka.WAF: newCreateRegexPatternSet :: Text -> Text -> CreateRegexPatternSet
+ Amazonka.WAF: newCreateRegexPatternSetResponse :: Int -> CreateRegexPatternSetResponse
+ Amazonka.WAF: newCreateRule :: Text -> Text -> Text -> CreateRule
+ Amazonka.WAF: newCreateRuleGroup :: Text -> Text -> Text -> CreateRuleGroup
+ Amazonka.WAF: newCreateRuleGroupResponse :: Int -> CreateRuleGroupResponse
+ Amazonka.WAF: newCreateRuleResponse :: Int -> CreateRuleResponse
+ Amazonka.WAF: newCreateSizeConstraintSet :: Text -> Text -> CreateSizeConstraintSet
+ Amazonka.WAF: newCreateSizeConstraintSetResponse :: Int -> CreateSizeConstraintSetResponse
+ Amazonka.WAF: newCreateSqlInjectionMatchSet :: Text -> Text -> CreateSqlInjectionMatchSet
+ Amazonka.WAF: newCreateSqlInjectionMatchSetResponse :: Int -> CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF: newCreateWebACL :: Text -> Text -> WafAction -> Text -> CreateWebACL
+ Amazonka.WAF: newCreateWebACLMigrationStack :: Text -> Text -> Bool -> CreateWebACLMigrationStack
+ Amazonka.WAF: newCreateWebACLMigrationStackResponse :: Int -> Text -> CreateWebACLMigrationStackResponse
+ Amazonka.WAF: newCreateWebACLResponse :: Int -> CreateWebACLResponse
+ Amazonka.WAF: newCreateXssMatchSet :: Text -> Text -> CreateXssMatchSet
+ Amazonka.WAF: newCreateXssMatchSetResponse :: Int -> CreateXssMatchSetResponse
+ Amazonka.WAF: newDeleteByteMatchSet :: Text -> Text -> DeleteByteMatchSet
+ Amazonka.WAF: newDeleteByteMatchSetResponse :: Int -> DeleteByteMatchSetResponse
+ Amazonka.WAF: newDeleteGeoMatchSet :: Text -> Text -> DeleteGeoMatchSet
+ Amazonka.WAF: newDeleteGeoMatchSetResponse :: Int -> DeleteGeoMatchSetResponse
+ Amazonka.WAF: newDeleteIPSet :: Text -> Text -> DeleteIPSet
+ Amazonka.WAF: newDeleteIPSetResponse :: Int -> DeleteIPSetResponse
+ Amazonka.WAF: newDeleteLoggingConfiguration :: Text -> DeleteLoggingConfiguration
+ Amazonka.WAF: newDeleteLoggingConfigurationResponse :: Int -> DeleteLoggingConfigurationResponse
+ Amazonka.WAF: newDeletePermissionPolicy :: Text -> DeletePermissionPolicy
+ Amazonka.WAF: newDeletePermissionPolicyResponse :: Int -> DeletePermissionPolicyResponse
+ Amazonka.WAF: newDeleteRateBasedRule :: Text -> Text -> DeleteRateBasedRule
+ Amazonka.WAF: newDeleteRateBasedRuleResponse :: Int -> DeleteRateBasedRuleResponse
+ Amazonka.WAF: newDeleteRegexMatchSet :: Text -> Text -> DeleteRegexMatchSet
+ Amazonka.WAF: newDeleteRegexMatchSetResponse :: Int -> DeleteRegexMatchSetResponse
+ Amazonka.WAF: newDeleteRegexPatternSet :: Text -> Text -> DeleteRegexPatternSet
+ Amazonka.WAF: newDeleteRegexPatternSetResponse :: Int -> DeleteRegexPatternSetResponse
+ Amazonka.WAF: newDeleteRule :: Text -> Text -> DeleteRule
+ Amazonka.WAF: newDeleteRuleGroup :: Text -> Text -> DeleteRuleGroup
+ Amazonka.WAF: newDeleteRuleGroupResponse :: Int -> DeleteRuleGroupResponse
+ Amazonka.WAF: newDeleteRuleResponse :: Int -> DeleteRuleResponse
+ Amazonka.WAF: newDeleteSizeConstraintSet :: Text -> Text -> DeleteSizeConstraintSet
+ Amazonka.WAF: newDeleteSizeConstraintSetResponse :: Int -> DeleteSizeConstraintSetResponse
+ Amazonka.WAF: newDeleteSqlInjectionMatchSet :: Text -> Text -> DeleteSqlInjectionMatchSet
+ Amazonka.WAF: newDeleteSqlInjectionMatchSetResponse :: Int -> DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF: newDeleteWebACL :: Text -> Text -> DeleteWebACL
+ Amazonka.WAF: newDeleteWebACLResponse :: Int -> DeleteWebACLResponse
+ Amazonka.WAF: newDeleteXssMatchSet :: Text -> Text -> DeleteXssMatchSet
+ Amazonka.WAF: newDeleteXssMatchSetResponse :: Int -> DeleteXssMatchSetResponse
+ Amazonka.WAF: newExcludedRule :: Text -> ExcludedRule
+ Amazonka.WAF: newFieldToMatch :: MatchFieldType -> FieldToMatch
+ Amazonka.WAF: newGeoMatchConstraint :: GeoMatchConstraintType -> GeoMatchConstraintValue -> GeoMatchConstraint
+ Amazonka.WAF: newGeoMatchSet :: Text -> GeoMatchSet
+ Amazonka.WAF: newGeoMatchSetSummary :: Text -> Text -> GeoMatchSetSummary
+ Amazonka.WAF: newGeoMatchSetUpdate :: ChangeAction -> GeoMatchConstraint -> GeoMatchSetUpdate
+ Amazonka.WAF: newGetByteMatchSet :: Text -> GetByteMatchSet
+ Amazonka.WAF: newGetByteMatchSetResponse :: Int -> GetByteMatchSetResponse
+ Amazonka.WAF: newGetChangeToken :: GetChangeToken
+ Amazonka.WAF: newGetChangeTokenResponse :: Int -> GetChangeTokenResponse
+ Amazonka.WAF: newGetChangeTokenStatus :: Text -> GetChangeTokenStatus
+ Amazonka.WAF: newGetChangeTokenStatusResponse :: Int -> GetChangeTokenStatusResponse
+ Amazonka.WAF: newGetGeoMatchSet :: Text -> GetGeoMatchSet
+ Amazonka.WAF: newGetGeoMatchSetResponse :: Int -> GetGeoMatchSetResponse
+ Amazonka.WAF: newGetIPSet :: Text -> GetIPSet
+ Amazonka.WAF: newGetIPSetResponse :: Int -> GetIPSetResponse
+ Amazonka.WAF: newGetLoggingConfiguration :: Text -> GetLoggingConfiguration
+ Amazonka.WAF: newGetLoggingConfigurationResponse :: Int -> GetLoggingConfigurationResponse
+ Amazonka.WAF: newGetPermissionPolicy :: Text -> GetPermissionPolicy
+ Amazonka.WAF: newGetPermissionPolicyResponse :: Int -> GetPermissionPolicyResponse
+ Amazonka.WAF: newGetRateBasedRule :: Text -> GetRateBasedRule
+ Amazonka.WAF: newGetRateBasedRuleManagedKeys :: Text -> GetRateBasedRuleManagedKeys
+ Amazonka.WAF: newGetRateBasedRuleManagedKeysResponse :: Int -> GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF: newGetRateBasedRuleResponse :: Int -> GetRateBasedRuleResponse
+ Amazonka.WAF: newGetRegexMatchSet :: Text -> GetRegexMatchSet
+ Amazonka.WAF: newGetRegexMatchSetResponse :: Int -> GetRegexMatchSetResponse
+ Amazonka.WAF: newGetRegexPatternSet :: Text -> GetRegexPatternSet
+ Amazonka.WAF: newGetRegexPatternSetResponse :: Int -> GetRegexPatternSetResponse
+ Amazonka.WAF: newGetRule :: Text -> GetRule
+ Amazonka.WAF: newGetRuleGroup :: Text -> GetRuleGroup
+ Amazonka.WAF: newGetRuleGroupResponse :: Int -> GetRuleGroupResponse
+ Amazonka.WAF: newGetRuleResponse :: Int -> GetRuleResponse
+ Amazonka.WAF: newGetSampledRequests :: Text -> Text -> TimeWindow -> Natural -> GetSampledRequests
+ Amazonka.WAF: newGetSampledRequestsResponse :: Int -> GetSampledRequestsResponse
+ Amazonka.WAF: newGetSizeConstraintSet :: Text -> GetSizeConstraintSet
+ Amazonka.WAF: newGetSizeConstraintSetResponse :: Int -> GetSizeConstraintSetResponse
+ Amazonka.WAF: newGetSqlInjectionMatchSet :: Text -> GetSqlInjectionMatchSet
+ Amazonka.WAF: newGetSqlInjectionMatchSetResponse :: Int -> GetSqlInjectionMatchSetResponse
+ Amazonka.WAF: newGetWebACL :: Text -> GetWebACL
+ Amazonka.WAF: newGetWebACLResponse :: Int -> GetWebACLResponse
+ Amazonka.WAF: newGetXssMatchSet :: Text -> GetXssMatchSet
+ Amazonka.WAF: newGetXssMatchSetResponse :: Int -> GetXssMatchSetResponse
+ Amazonka.WAF: newHTTPHeader :: HTTPHeader
+ Amazonka.WAF: newHTTPRequest :: HTTPRequest
+ Amazonka.WAF: newIPSet :: Text -> IPSet
+ Amazonka.WAF: newIPSetDescriptor :: IPSetDescriptorType -> Text -> IPSetDescriptor
+ Amazonka.WAF: newIPSetSummary :: Text -> Text -> IPSetSummary
+ Amazonka.WAF: newIPSetUpdate :: ChangeAction -> IPSetDescriptor -> IPSetUpdate
+ Amazonka.WAF: newListActivatedRulesInRuleGroup :: ListActivatedRulesInRuleGroup
+ Amazonka.WAF: newListActivatedRulesInRuleGroupResponse :: Int -> ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF: newListByteMatchSets :: ListByteMatchSets
+ Amazonka.WAF: newListByteMatchSetsResponse :: Int -> ListByteMatchSetsResponse
+ Amazonka.WAF: newListGeoMatchSets :: ListGeoMatchSets
+ Amazonka.WAF: newListGeoMatchSetsResponse :: Int -> ListGeoMatchSetsResponse
+ Amazonka.WAF: newListIPSets :: ListIPSets
+ Amazonka.WAF: newListIPSetsResponse :: Int -> ListIPSetsResponse
+ Amazonka.WAF: newListLoggingConfigurations :: ListLoggingConfigurations
+ Amazonka.WAF: newListLoggingConfigurationsResponse :: Int -> ListLoggingConfigurationsResponse
+ Amazonka.WAF: newListRateBasedRules :: ListRateBasedRules
+ Amazonka.WAF: newListRateBasedRulesResponse :: Int -> ListRateBasedRulesResponse
+ Amazonka.WAF: newListRegexMatchSets :: ListRegexMatchSets
+ Amazonka.WAF: newListRegexMatchSetsResponse :: Int -> ListRegexMatchSetsResponse
+ Amazonka.WAF: newListRegexPatternSets :: ListRegexPatternSets
+ Amazonka.WAF: newListRegexPatternSetsResponse :: Int -> ListRegexPatternSetsResponse
+ Amazonka.WAF: newListRuleGroups :: ListRuleGroups
+ Amazonka.WAF: newListRuleGroupsResponse :: Int -> ListRuleGroupsResponse
+ Amazonka.WAF: newListRules :: ListRules
+ Amazonka.WAF: newListRulesResponse :: Int -> ListRulesResponse
+ Amazonka.WAF: newListSizeConstraintSets :: ListSizeConstraintSets
+ Amazonka.WAF: newListSizeConstraintSetsResponse :: Int -> ListSizeConstraintSetsResponse
+ Amazonka.WAF: newListSqlInjectionMatchSets :: ListSqlInjectionMatchSets
+ Amazonka.WAF: newListSqlInjectionMatchSetsResponse :: Int -> ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF: newListSubscribedRuleGroups :: ListSubscribedRuleGroups
+ Amazonka.WAF: newListSubscribedRuleGroupsResponse :: Int -> ListSubscribedRuleGroupsResponse
+ Amazonka.WAF: newListTagsForResource :: Text -> ListTagsForResource
+ Amazonka.WAF: newListTagsForResourceResponse :: Int -> ListTagsForResourceResponse
+ Amazonka.WAF: newListWebACLs :: ListWebACLs
+ Amazonka.WAF: newListWebACLsResponse :: Int -> ListWebACLsResponse
+ Amazonka.WAF: newListXssMatchSets :: ListXssMatchSets
+ Amazonka.WAF: newListXssMatchSetsResponse :: Int -> ListXssMatchSetsResponse
+ Amazonka.WAF: newLoggingConfiguration :: Text -> NonEmpty Text -> LoggingConfiguration
+ Amazonka.WAF: newPredicate :: Bool -> PredicateType -> Text -> Predicate
+ Amazonka.WAF: newPutLoggingConfiguration :: LoggingConfiguration -> PutLoggingConfiguration
+ Amazonka.WAF: newPutLoggingConfigurationResponse :: Int -> PutLoggingConfigurationResponse
+ Amazonka.WAF: newPutPermissionPolicy :: Text -> Text -> PutPermissionPolicy
+ Amazonka.WAF: newPutPermissionPolicyResponse :: Int -> PutPermissionPolicyResponse
+ Amazonka.WAF: newRateBasedRule :: Text -> RateKey -> Natural -> RateBasedRule
+ Amazonka.WAF: newRegexMatchSet :: RegexMatchSet
+ Amazonka.WAF: newRegexMatchSetSummary :: Text -> Text -> RegexMatchSetSummary
+ Amazonka.WAF: newRegexMatchSetUpdate :: ChangeAction -> RegexMatchTuple -> RegexMatchSetUpdate
+ Amazonka.WAF: newRegexMatchTuple :: FieldToMatch -> TextTransformation -> Text -> RegexMatchTuple
+ Amazonka.WAF: newRegexPatternSet :: Text -> RegexPatternSet
+ Amazonka.WAF: newRegexPatternSetSummary :: Text -> Text -> RegexPatternSetSummary
+ Amazonka.WAF: newRegexPatternSetUpdate :: ChangeAction -> Text -> RegexPatternSetUpdate
+ Amazonka.WAF: newRule :: Text -> Rule
+ Amazonka.WAF: newRuleGroup :: Text -> RuleGroup
+ Amazonka.WAF: newRuleGroupSummary :: Text -> Text -> RuleGroupSummary
+ Amazonka.WAF: newRuleGroupUpdate :: ChangeAction -> ActivatedRule -> RuleGroupUpdate
+ Amazonka.WAF: newRuleSummary :: Text -> Text -> RuleSummary
+ Amazonka.WAF: newRuleUpdate :: ChangeAction -> Predicate -> RuleUpdate
+ Amazonka.WAF: newSampledHTTPRequest :: HTTPRequest -> Natural -> SampledHTTPRequest
+ Amazonka.WAF: newSizeConstraint :: FieldToMatch -> TextTransformation -> ComparisonOperator -> Natural -> SizeConstraint
+ Amazonka.WAF: newSizeConstraintSet :: Text -> SizeConstraintSet
+ Amazonka.WAF: newSizeConstraintSetSummary :: Text -> Text -> SizeConstraintSetSummary
+ Amazonka.WAF: newSizeConstraintSetUpdate :: ChangeAction -> SizeConstraint -> SizeConstraintSetUpdate
+ Amazonka.WAF: newSqlInjectionMatchSet :: Text -> SqlInjectionMatchSet
+ Amazonka.WAF: newSqlInjectionMatchSetSummary :: Text -> Text -> SqlInjectionMatchSetSummary
+ Amazonka.WAF: newSqlInjectionMatchSetUpdate :: ChangeAction -> SqlInjectionMatchTuple -> SqlInjectionMatchSetUpdate
+ Amazonka.WAF: newSqlInjectionMatchTuple :: FieldToMatch -> TextTransformation -> SqlInjectionMatchTuple
+ Amazonka.WAF: newSubscribedRuleGroupSummary :: Text -> Text -> Text -> SubscribedRuleGroupSummary
+ Amazonka.WAF: newTag :: Text -> Text -> Tag
+ Amazonka.WAF: newTagInfoForResource :: TagInfoForResource
+ Amazonka.WAF: newTagResource :: Text -> NonEmpty Tag -> TagResource
+ Amazonka.WAF: newTagResourceResponse :: Int -> TagResourceResponse
+ Amazonka.WAF: newTimeWindow :: UTCTime -> UTCTime -> TimeWindow
+ Amazonka.WAF: newUntagResource :: Text -> NonEmpty Text -> UntagResource
+ Amazonka.WAF: newUntagResourceResponse :: Int -> UntagResourceResponse
+ Amazonka.WAF: newUpdateByteMatchSet :: Text -> Text -> NonEmpty ByteMatchSetUpdate -> UpdateByteMatchSet
+ Amazonka.WAF: newUpdateByteMatchSetResponse :: Int -> UpdateByteMatchSetResponse
+ Amazonka.WAF: newUpdateGeoMatchSet :: Text -> Text -> NonEmpty GeoMatchSetUpdate -> UpdateGeoMatchSet
+ Amazonka.WAF: newUpdateGeoMatchSetResponse :: Int -> UpdateGeoMatchSetResponse
+ Amazonka.WAF: newUpdateIPSet :: Text -> Text -> NonEmpty IPSetUpdate -> UpdateIPSet
+ Amazonka.WAF: newUpdateIPSetResponse :: Int -> UpdateIPSetResponse
+ Amazonka.WAF: newUpdateRateBasedRule :: Text -> Text -> Natural -> UpdateRateBasedRule
+ Amazonka.WAF: newUpdateRateBasedRuleResponse :: Int -> UpdateRateBasedRuleResponse
+ Amazonka.WAF: newUpdateRegexMatchSet :: Text -> NonEmpty RegexMatchSetUpdate -> Text -> UpdateRegexMatchSet
+ Amazonka.WAF: newUpdateRegexMatchSetResponse :: Int -> UpdateRegexMatchSetResponse
+ Amazonka.WAF: newUpdateRegexPatternSet :: Text -> NonEmpty RegexPatternSetUpdate -> Text -> UpdateRegexPatternSet
+ Amazonka.WAF: newUpdateRegexPatternSetResponse :: Int -> UpdateRegexPatternSetResponse
+ Amazonka.WAF: newUpdateRule :: Text -> Text -> UpdateRule
+ Amazonka.WAF: newUpdateRuleGroup :: Text -> NonEmpty RuleGroupUpdate -> Text -> UpdateRuleGroup
+ Amazonka.WAF: newUpdateRuleGroupResponse :: Int -> UpdateRuleGroupResponse
+ Amazonka.WAF: newUpdateRuleResponse :: Int -> UpdateRuleResponse
+ Amazonka.WAF: newUpdateSizeConstraintSet :: Text -> Text -> NonEmpty SizeConstraintSetUpdate -> UpdateSizeConstraintSet
+ Amazonka.WAF: newUpdateSizeConstraintSetResponse :: Int -> UpdateSizeConstraintSetResponse
+ Amazonka.WAF: newUpdateSqlInjectionMatchSet :: Text -> Text -> NonEmpty SqlInjectionMatchSetUpdate -> UpdateSqlInjectionMatchSet
+ Amazonka.WAF: newUpdateSqlInjectionMatchSetResponse :: Int -> UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF: newUpdateWebACL :: Text -> Text -> UpdateWebACL
+ Amazonka.WAF: newUpdateWebACLResponse :: Int -> UpdateWebACLResponse
+ Amazonka.WAF: newUpdateXssMatchSet :: Text -> Text -> NonEmpty XssMatchSetUpdate -> UpdateXssMatchSet
+ Amazonka.WAF: newUpdateXssMatchSetResponse :: Int -> UpdateXssMatchSetResponse
+ Amazonka.WAF: newWafAction :: WafActionType -> WafAction
+ Amazonka.WAF: newWafOverrideAction :: WafOverrideActionType -> WafOverrideAction
+ Amazonka.WAF: newWebACL :: Text -> WafAction -> WebACL
+ Amazonka.WAF: newWebACLSummary :: Text -> Text -> WebACLSummary
+ Amazonka.WAF: newWebACLUpdate :: ChangeAction -> ActivatedRule -> WebACLUpdate
+ Amazonka.WAF: newXssMatchSet :: Text -> XssMatchSet
+ Amazonka.WAF: newXssMatchSetSummary :: Text -> Text -> XssMatchSetSummary
+ Amazonka.WAF: newXssMatchSetUpdate :: ChangeAction -> XssMatchTuple -> XssMatchSetUpdate
+ Amazonka.WAF: newXssMatchTuple :: FieldToMatch -> TextTransformation -> XssMatchTuple
+ Amazonka.WAF: newtype ChangeAction
+ Amazonka.WAF: newtype ChangeTokenStatus
+ Amazonka.WAF: newtype ComparisonOperator
+ Amazonka.WAF: newtype GeoMatchConstraintType
+ Amazonka.WAF: newtype GeoMatchConstraintValue
+ Amazonka.WAF: newtype IPSetDescriptorType
+ Amazonka.WAF: newtype MatchFieldType
+ Amazonka.WAF: newtype PositionalConstraint
+ Amazonka.WAF: newtype PredicateType
+ Amazonka.WAF: newtype RateKey
+ Amazonka.WAF: newtype TextTransformation
+ Amazonka.WAF: newtype WafActionType
+ Amazonka.WAF: newtype WafOverrideActionType
+ Amazonka.WAF: newtype WafRuleType
+ Amazonka.WAF: pattern ChangeAction_DELETE :: ChangeAction
+ Amazonka.WAF: pattern ChangeAction_INSERT :: ChangeAction
+ Amazonka.WAF: pattern ChangeTokenStatus_INSYNC :: ChangeTokenStatus
+ Amazonka.WAF: pattern ChangeTokenStatus_PENDING :: ChangeTokenStatus
+ Amazonka.WAF: pattern ChangeTokenStatus_PROVISIONED :: ChangeTokenStatus
+ Amazonka.WAF: pattern ComparisonOperator_EQ :: ComparisonOperator
+ Amazonka.WAF: pattern ComparisonOperator_GE :: ComparisonOperator
+ Amazonka.WAF: pattern ComparisonOperator_GT :: ComparisonOperator
+ Amazonka.WAF: pattern ComparisonOperator_LE :: ComparisonOperator
+ Amazonka.WAF: pattern ComparisonOperator_LT :: ComparisonOperator
+ Amazonka.WAF: pattern ComparisonOperator_NE :: ComparisonOperator
+ Amazonka.WAF: pattern GeoMatchConstraintType_Country :: GeoMatchConstraintType
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AD :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AF :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AL :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AQ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AU :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AX :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_AZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BB :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BD :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BF :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BH :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BJ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BL :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BQ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BV :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BY :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_BZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CC :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CD :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CF :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CH :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CK :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CL :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CU :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CV :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CX :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CY :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_CZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_DE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_DJ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_DK :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_DM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_DO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_DZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_EC :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_EE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_EG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_EH :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ER :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ES :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ET :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_FI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_FJ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_FK :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_FM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_FO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_FR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GB :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GD :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GF :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GH :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GL :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GP :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GQ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GU :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_GY :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_HK :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_HM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_HN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_HR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_HT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_HU :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ID :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_IE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_IL :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_IM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_IN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_IO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_IQ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_IR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_IS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_IT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_JE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_JM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_JO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_JP :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KH :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KP :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KY :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_KZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LB :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LC :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LK :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LU :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LV :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_LY :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MC :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MD :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ME :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MF :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MH :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MK :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ML :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MP :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MQ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MU :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MV :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MX :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MY :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_MZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NC :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NF :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NL :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NP :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NU :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_NZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_OM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PF :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PH :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PK :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PL :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_PY :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_QA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_RE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_RO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_RS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_RU :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_RW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SB :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SC :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SD :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SH :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SJ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SK :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SL :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ST :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SV :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SX :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SY :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_SZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TC :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TD :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TF :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TH :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TJ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TK :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TL :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TO :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TR :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TV :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_TZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_UA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_UG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_UM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_US :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_UY :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_UZ :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_VA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_VC :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_VE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_VG :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_VI :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_VN :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_VU :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_WF :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_WS :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_YE :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_YT :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ZA :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ZM :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern GeoMatchConstraintValue_ZW :: GeoMatchConstraintValue
+ Amazonka.WAF: pattern IPSetDescriptorType_IPV4 :: IPSetDescriptorType
+ Amazonka.WAF: pattern IPSetDescriptorType_IPV6 :: IPSetDescriptorType
+ Amazonka.WAF: pattern MatchFieldType_ALL_QUERY_ARGS :: MatchFieldType
+ Amazonka.WAF: pattern MatchFieldType_BODY :: MatchFieldType
+ Amazonka.WAF: pattern MatchFieldType_HEADER :: MatchFieldType
+ Amazonka.WAF: pattern MatchFieldType_METHOD :: MatchFieldType
+ Amazonka.WAF: pattern MatchFieldType_QUERY_STRING :: MatchFieldType
+ Amazonka.WAF: pattern MatchFieldType_SINGLE_QUERY_ARG :: MatchFieldType
+ Amazonka.WAF: pattern MatchFieldType_URI :: MatchFieldType
+ Amazonka.WAF: pattern PositionalConstraint_CONTAINS :: PositionalConstraint
+ Amazonka.WAF: pattern PositionalConstraint_CONTAINS_WORD :: PositionalConstraint
+ Amazonka.WAF: pattern PositionalConstraint_ENDS_WITH :: PositionalConstraint
+ Amazonka.WAF: pattern PositionalConstraint_EXACTLY :: PositionalConstraint
+ Amazonka.WAF: pattern PositionalConstraint_STARTS_WITH :: PositionalConstraint
+ Amazonka.WAF: pattern PredicateType_ByteMatch :: PredicateType
+ Amazonka.WAF: pattern PredicateType_GeoMatch :: PredicateType
+ Amazonka.WAF: pattern PredicateType_IPMatch :: PredicateType
+ Amazonka.WAF: pattern PredicateType_RegexMatch :: PredicateType
+ Amazonka.WAF: pattern PredicateType_SizeConstraint :: PredicateType
+ Amazonka.WAF: pattern PredicateType_SqlInjectionMatch :: PredicateType
+ Amazonka.WAF: pattern PredicateType_XssMatch :: PredicateType
+ Amazonka.WAF: pattern RateKey_IP :: RateKey
+ Amazonka.WAF: pattern TextTransformation_CMD_LINE :: TextTransformation
+ Amazonka.WAF: pattern TextTransformation_COMPRESS_WHITE_SPACE :: TextTransformation
+ Amazonka.WAF: pattern TextTransformation_HTML_ENTITY_DECODE :: TextTransformation
+ Amazonka.WAF: pattern TextTransformation_LOWERCASE :: TextTransformation
+ Amazonka.WAF: pattern TextTransformation_NONE :: TextTransformation
+ Amazonka.WAF: pattern TextTransformation_URL_DECODE :: TextTransformation
+ Amazonka.WAF: pattern WafActionType_ALLOW :: WafActionType
+ Amazonka.WAF: pattern WafActionType_BLOCK :: WafActionType
+ Amazonka.WAF: pattern WafActionType_COUNT :: WafActionType
+ Amazonka.WAF: pattern WafOverrideActionType_COUNT :: WafOverrideActionType
+ Amazonka.WAF: pattern WafOverrideActionType_NONE :: WafOverrideActionType
+ Amazonka.WAF: pattern WafRuleType_GROUP :: WafRuleType
+ Amazonka.WAF: pattern WafRuleType_RATE_BASED :: WafRuleType
+ Amazonka.WAF: pattern WafRuleType_REGULAR :: WafRuleType
+ Amazonka.WAF.CreateByteMatchSet: CreateByteMatchSet' :: Text -> Text -> CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: CreateByteMatchSetResponse' :: Maybe ByteMatchSet -> Maybe Text -> Int -> CreateByteMatchSetResponse
+ Amazonka.WAF.CreateByteMatchSet: [$sel:byteMatchSet:CreateByteMatchSetResponse'] :: CreateByteMatchSetResponse -> Maybe ByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: [$sel:changeToken:CreateByteMatchSet'] :: CreateByteMatchSet -> Text
+ Amazonka.WAF.CreateByteMatchSet: [$sel:changeToken:CreateByteMatchSetResponse'] :: CreateByteMatchSetResponse -> Maybe Text
+ Amazonka.WAF.CreateByteMatchSet: [$sel:httpStatus:CreateByteMatchSetResponse'] :: CreateByteMatchSetResponse -> Int
+ Amazonka.WAF.CreateByteMatchSet: [$sel:name:CreateByteMatchSet'] :: CreateByteMatchSet -> Text
+ Amazonka.WAF.CreateByteMatchSet: createByteMatchSetResponse_byteMatchSet :: Lens' CreateByteMatchSetResponse (Maybe ByteMatchSet)
+ Amazonka.WAF.CreateByteMatchSet: createByteMatchSetResponse_changeToken :: Lens' CreateByteMatchSetResponse (Maybe Text)
+ Amazonka.WAF.CreateByteMatchSet: createByteMatchSetResponse_httpStatus :: Lens' CreateByteMatchSetResponse Int
+ Amazonka.WAF.CreateByteMatchSet: createByteMatchSet_changeToken :: Lens' CreateByteMatchSet Text
+ Amazonka.WAF.CreateByteMatchSet: createByteMatchSet_name :: Lens' CreateByteMatchSet Text
+ Amazonka.WAF.CreateByteMatchSet: data CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: data CreateByteMatchSetResponse
+ Amazonka.WAF.CreateByteMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
+ Amazonka.WAF.CreateByteMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
+ Amazonka.WAF.CreateByteMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
+ Amazonka.WAF.CreateByteMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
+ Amazonka.WAF.CreateByteMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateByteMatchSet.CreateByteMatchSetResponse
+ Amazonka.WAF.CreateByteMatchSet: newCreateByteMatchSet :: Text -> Text -> CreateByteMatchSet
+ Amazonka.WAF.CreateByteMatchSet: newCreateByteMatchSetResponse :: Int -> CreateByteMatchSetResponse
+ Amazonka.WAF.CreateGeoMatchSet: CreateGeoMatchSet' :: Text -> Text -> CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: CreateGeoMatchSetResponse' :: Maybe Text -> Maybe GeoMatchSet -> Int -> CreateGeoMatchSetResponse
+ Amazonka.WAF.CreateGeoMatchSet: [$sel:changeToken:CreateGeoMatchSet'] :: CreateGeoMatchSet -> Text
+ Amazonka.WAF.CreateGeoMatchSet: [$sel:changeToken:CreateGeoMatchSetResponse'] :: CreateGeoMatchSetResponse -> Maybe Text
+ Amazonka.WAF.CreateGeoMatchSet: [$sel:geoMatchSet:CreateGeoMatchSetResponse'] :: CreateGeoMatchSetResponse -> Maybe GeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: [$sel:httpStatus:CreateGeoMatchSetResponse'] :: CreateGeoMatchSetResponse -> Int
+ Amazonka.WAF.CreateGeoMatchSet: [$sel:name:CreateGeoMatchSet'] :: CreateGeoMatchSet -> Text
+ Amazonka.WAF.CreateGeoMatchSet: createGeoMatchSetResponse_changeToken :: Lens' CreateGeoMatchSetResponse (Maybe Text)
+ Amazonka.WAF.CreateGeoMatchSet: createGeoMatchSetResponse_geoMatchSet :: Lens' CreateGeoMatchSetResponse (Maybe GeoMatchSet)
+ Amazonka.WAF.CreateGeoMatchSet: createGeoMatchSetResponse_httpStatus :: Lens' CreateGeoMatchSetResponse Int
+ Amazonka.WAF.CreateGeoMatchSet: createGeoMatchSet_changeToken :: Lens' CreateGeoMatchSet Text
+ Amazonka.WAF.CreateGeoMatchSet: createGeoMatchSet_name :: Lens' CreateGeoMatchSet Text
+ Amazonka.WAF.CreateGeoMatchSet: data CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: data CreateGeoMatchSetResponse
+ Amazonka.WAF.CreateGeoMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
+ Amazonka.WAF.CreateGeoMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
+ Amazonka.WAF.CreateGeoMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
+ Amazonka.WAF.CreateGeoMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
+ Amazonka.WAF.CreateGeoMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateGeoMatchSet.CreateGeoMatchSetResponse
+ Amazonka.WAF.CreateGeoMatchSet: newCreateGeoMatchSet :: Text -> Text -> CreateGeoMatchSet
+ Amazonka.WAF.CreateGeoMatchSet: newCreateGeoMatchSetResponse :: Int -> CreateGeoMatchSetResponse
+ Amazonka.WAF.CreateIPSet: CreateIPSet' :: Text -> Text -> CreateIPSet
+ Amazonka.WAF.CreateIPSet: CreateIPSetResponse' :: Maybe Text -> Maybe IPSet -> Int -> CreateIPSetResponse
+ Amazonka.WAF.CreateIPSet: [$sel:changeToken:CreateIPSet'] :: CreateIPSet -> Text
+ Amazonka.WAF.CreateIPSet: [$sel:changeToken:CreateIPSetResponse'] :: CreateIPSetResponse -> Maybe Text
+ Amazonka.WAF.CreateIPSet: [$sel:httpStatus:CreateIPSetResponse'] :: CreateIPSetResponse -> Int
+ Amazonka.WAF.CreateIPSet: [$sel:iPSet:CreateIPSetResponse'] :: CreateIPSetResponse -> Maybe IPSet
+ Amazonka.WAF.CreateIPSet: [$sel:name:CreateIPSet'] :: CreateIPSet -> Text
+ Amazonka.WAF.CreateIPSet: createIPSetResponse_changeToken :: Lens' CreateIPSetResponse (Maybe Text)
+ Amazonka.WAF.CreateIPSet: createIPSetResponse_httpStatus :: Lens' CreateIPSetResponse Int
+ Amazonka.WAF.CreateIPSet: createIPSetResponse_iPSet :: Lens' CreateIPSetResponse (Maybe IPSet)
+ Amazonka.WAF.CreateIPSet: createIPSet_changeToken :: Lens' CreateIPSet Text
+ Amazonka.WAF.CreateIPSet: createIPSet_name :: Lens' CreateIPSet Text
+ Amazonka.WAF.CreateIPSet: data CreateIPSet
+ Amazonka.WAF.CreateIPSet: data CreateIPSetResponse
+ Amazonka.WAF.CreateIPSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateIPSet.CreateIPSetResponse
+ Amazonka.WAF.CreateIPSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance GHC.Classes.Eq Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance GHC.Classes.Eq Amazonka.WAF.CreateIPSet.CreateIPSetResponse
+ Amazonka.WAF.CreateIPSet: instance GHC.Generics.Generic Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance GHC.Generics.Generic Amazonka.WAF.CreateIPSet.CreateIPSetResponse
+ Amazonka.WAF.CreateIPSet: instance GHC.Read.Read Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance GHC.Read.Read Amazonka.WAF.CreateIPSet.CreateIPSetResponse
+ Amazonka.WAF.CreateIPSet: instance GHC.Show.Show Amazonka.WAF.CreateIPSet.CreateIPSet
+ Amazonka.WAF.CreateIPSet: instance GHC.Show.Show Amazonka.WAF.CreateIPSet.CreateIPSetResponse
+ Amazonka.WAF.CreateIPSet: newCreateIPSet :: Text -> Text -> CreateIPSet
+ Amazonka.WAF.CreateIPSet: newCreateIPSetResponse :: Int -> CreateIPSetResponse
+ Amazonka.WAF.CreateRateBasedRule: CreateRateBasedRule' :: Maybe (NonEmpty Tag) -> Text -> Text -> RateKey -> Natural -> Text -> CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: CreateRateBasedRuleResponse' :: Maybe Text -> Maybe RateBasedRule -> Int -> CreateRateBasedRuleResponse
+ Amazonka.WAF.CreateRateBasedRule: [$sel:changeToken:CreateRateBasedRule'] :: CreateRateBasedRule -> Text
+ Amazonka.WAF.CreateRateBasedRule: [$sel:changeToken:CreateRateBasedRuleResponse'] :: CreateRateBasedRuleResponse -> Maybe Text
+ Amazonka.WAF.CreateRateBasedRule: [$sel:httpStatus:CreateRateBasedRuleResponse'] :: CreateRateBasedRuleResponse -> Int
+ Amazonka.WAF.CreateRateBasedRule: [$sel:metricName:CreateRateBasedRule'] :: CreateRateBasedRule -> Text
+ Amazonka.WAF.CreateRateBasedRule: [$sel:name:CreateRateBasedRule'] :: CreateRateBasedRule -> Text
+ Amazonka.WAF.CreateRateBasedRule: [$sel:rateKey:CreateRateBasedRule'] :: CreateRateBasedRule -> RateKey
+ Amazonka.WAF.CreateRateBasedRule: [$sel:rateLimit:CreateRateBasedRule'] :: CreateRateBasedRule -> Natural
+ Amazonka.WAF.CreateRateBasedRule: [$sel:rule:CreateRateBasedRuleResponse'] :: CreateRateBasedRuleResponse -> Maybe RateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: [$sel:tags:CreateRateBasedRule'] :: CreateRateBasedRule -> Maybe (NonEmpty Tag)
+ Amazonka.WAF.CreateRateBasedRule: createRateBasedRuleResponse_changeToken :: Lens' CreateRateBasedRuleResponse (Maybe Text)
+ Amazonka.WAF.CreateRateBasedRule: createRateBasedRuleResponse_httpStatus :: Lens' CreateRateBasedRuleResponse Int
+ Amazonka.WAF.CreateRateBasedRule: createRateBasedRuleResponse_rule :: Lens' CreateRateBasedRuleResponse (Maybe RateBasedRule)
+ Amazonka.WAF.CreateRateBasedRule: createRateBasedRule_changeToken :: Lens' CreateRateBasedRule Text
+ Amazonka.WAF.CreateRateBasedRule: createRateBasedRule_metricName :: Lens' CreateRateBasedRule Text
+ Amazonka.WAF.CreateRateBasedRule: createRateBasedRule_name :: Lens' CreateRateBasedRule Text
+ Amazonka.WAF.CreateRateBasedRule: createRateBasedRule_rateKey :: Lens' CreateRateBasedRule RateKey
+ Amazonka.WAF.CreateRateBasedRule: createRateBasedRule_rateLimit :: Lens' CreateRateBasedRule Natural
+ Amazonka.WAF.CreateRateBasedRule: createRateBasedRule_tags :: Lens' CreateRateBasedRule (Maybe (NonEmpty Tag))
+ Amazonka.WAF.CreateRateBasedRule: data CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: data CreateRateBasedRuleResponse
+ Amazonka.WAF.CreateRateBasedRule: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
+ Amazonka.WAF.CreateRateBasedRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance GHC.Classes.Eq Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance GHC.Classes.Eq Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
+ Amazonka.WAF.CreateRateBasedRule: instance GHC.Generics.Generic Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance GHC.Generics.Generic Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
+ Amazonka.WAF.CreateRateBasedRule: instance GHC.Read.Read Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance GHC.Read.Read Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
+ Amazonka.WAF.CreateRateBasedRule: instance GHC.Show.Show Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: instance GHC.Show.Show Amazonka.WAF.CreateRateBasedRule.CreateRateBasedRuleResponse
+ Amazonka.WAF.CreateRateBasedRule: newCreateRateBasedRule :: Text -> Text -> RateKey -> Natural -> Text -> CreateRateBasedRule
+ Amazonka.WAF.CreateRateBasedRule: newCreateRateBasedRuleResponse :: Int -> CreateRateBasedRuleResponse
+ Amazonka.WAF.CreateRegexMatchSet: CreateRegexMatchSet' :: Text -> Text -> CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: CreateRegexMatchSetResponse' :: Maybe Text -> Maybe RegexMatchSet -> Int -> CreateRegexMatchSetResponse
+ Amazonka.WAF.CreateRegexMatchSet: [$sel:changeToken:CreateRegexMatchSet'] :: CreateRegexMatchSet -> Text
+ Amazonka.WAF.CreateRegexMatchSet: [$sel:changeToken:CreateRegexMatchSetResponse'] :: CreateRegexMatchSetResponse -> Maybe Text
+ Amazonka.WAF.CreateRegexMatchSet: [$sel:httpStatus:CreateRegexMatchSetResponse'] :: CreateRegexMatchSetResponse -> Int
+ Amazonka.WAF.CreateRegexMatchSet: [$sel:name:CreateRegexMatchSet'] :: CreateRegexMatchSet -> Text
+ Amazonka.WAF.CreateRegexMatchSet: [$sel:regexMatchSet:CreateRegexMatchSetResponse'] :: CreateRegexMatchSetResponse -> Maybe RegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: createRegexMatchSetResponse_changeToken :: Lens' CreateRegexMatchSetResponse (Maybe Text)
+ Amazonka.WAF.CreateRegexMatchSet: createRegexMatchSetResponse_httpStatus :: Lens' CreateRegexMatchSetResponse Int
+ Amazonka.WAF.CreateRegexMatchSet: createRegexMatchSetResponse_regexMatchSet :: Lens' CreateRegexMatchSetResponse (Maybe RegexMatchSet)
+ Amazonka.WAF.CreateRegexMatchSet: createRegexMatchSet_changeToken :: Lens' CreateRegexMatchSet Text
+ Amazonka.WAF.CreateRegexMatchSet: createRegexMatchSet_name :: Lens' CreateRegexMatchSet Text
+ Amazonka.WAF.CreateRegexMatchSet: data CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: data CreateRegexMatchSetResponse
+ Amazonka.WAF.CreateRegexMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
+ Amazonka.WAF.CreateRegexMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
+ Amazonka.WAF.CreateRegexMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
+ Amazonka.WAF.CreateRegexMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
+ Amazonka.WAF.CreateRegexMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateRegexMatchSet.CreateRegexMatchSetResponse
+ Amazonka.WAF.CreateRegexMatchSet: newCreateRegexMatchSet :: Text -> Text -> CreateRegexMatchSet
+ Amazonka.WAF.CreateRegexMatchSet: newCreateRegexMatchSetResponse :: Int -> CreateRegexMatchSetResponse
+ Amazonka.WAF.CreateRegexPatternSet: CreateRegexPatternSet' :: Text -> Text -> CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: CreateRegexPatternSetResponse' :: Maybe Text -> Maybe RegexPatternSet -> Int -> CreateRegexPatternSetResponse
+ Amazonka.WAF.CreateRegexPatternSet: [$sel:changeToken:CreateRegexPatternSet'] :: CreateRegexPatternSet -> Text
+ Amazonka.WAF.CreateRegexPatternSet: [$sel:changeToken:CreateRegexPatternSetResponse'] :: CreateRegexPatternSetResponse -> Maybe Text
+ Amazonka.WAF.CreateRegexPatternSet: [$sel:httpStatus:CreateRegexPatternSetResponse'] :: CreateRegexPatternSetResponse -> Int
+ Amazonka.WAF.CreateRegexPatternSet: [$sel:name:CreateRegexPatternSet'] :: CreateRegexPatternSet -> Text
+ Amazonka.WAF.CreateRegexPatternSet: [$sel:regexPatternSet:CreateRegexPatternSetResponse'] :: CreateRegexPatternSetResponse -> Maybe RegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: createRegexPatternSetResponse_changeToken :: Lens' CreateRegexPatternSetResponse (Maybe Text)
+ Amazonka.WAF.CreateRegexPatternSet: createRegexPatternSetResponse_httpStatus :: Lens' CreateRegexPatternSetResponse Int
+ Amazonka.WAF.CreateRegexPatternSet: createRegexPatternSetResponse_regexPatternSet :: Lens' CreateRegexPatternSetResponse (Maybe RegexPatternSet)
+ Amazonka.WAF.CreateRegexPatternSet: createRegexPatternSet_changeToken :: Lens' CreateRegexPatternSet Text
+ Amazonka.WAF.CreateRegexPatternSet: createRegexPatternSet_name :: Lens' CreateRegexPatternSet Text
+ Amazonka.WAF.CreateRegexPatternSet: data CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: data CreateRegexPatternSetResponse
+ Amazonka.WAF.CreateRegexPatternSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
+ Amazonka.WAF.CreateRegexPatternSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance GHC.Classes.Eq Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance GHC.Classes.Eq Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
+ Amazonka.WAF.CreateRegexPatternSet: instance GHC.Generics.Generic Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance GHC.Generics.Generic Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
+ Amazonka.WAF.CreateRegexPatternSet: instance GHC.Read.Read Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance GHC.Read.Read Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
+ Amazonka.WAF.CreateRegexPatternSet: instance GHC.Show.Show Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: instance GHC.Show.Show Amazonka.WAF.CreateRegexPatternSet.CreateRegexPatternSetResponse
+ Amazonka.WAF.CreateRegexPatternSet: newCreateRegexPatternSet :: Text -> Text -> CreateRegexPatternSet
+ Amazonka.WAF.CreateRegexPatternSet: newCreateRegexPatternSetResponse :: Int -> CreateRegexPatternSetResponse
+ Amazonka.WAF.CreateRule: CreateRule' :: Maybe (NonEmpty Tag) -> Text -> Text -> Text -> CreateRule
+ Amazonka.WAF.CreateRule: CreateRuleResponse' :: Maybe Text -> Maybe Rule -> Int -> CreateRuleResponse
+ Amazonka.WAF.CreateRule: [$sel:changeToken:CreateRule'] :: CreateRule -> Text
+ Amazonka.WAF.CreateRule: [$sel:changeToken:CreateRuleResponse'] :: CreateRuleResponse -> Maybe Text
+ Amazonka.WAF.CreateRule: [$sel:httpStatus:CreateRuleResponse'] :: CreateRuleResponse -> Int
+ Amazonka.WAF.CreateRule: [$sel:metricName:CreateRule'] :: CreateRule -> Text
+ Amazonka.WAF.CreateRule: [$sel:name:CreateRule'] :: CreateRule -> Text
+ Amazonka.WAF.CreateRule: [$sel:rule:CreateRuleResponse'] :: CreateRuleResponse -> Maybe Rule
+ Amazonka.WAF.CreateRule: [$sel:tags:CreateRule'] :: CreateRule -> Maybe (NonEmpty Tag)
+ Amazonka.WAF.CreateRule: createRuleResponse_changeToken :: Lens' CreateRuleResponse (Maybe Text)
+ Amazonka.WAF.CreateRule: createRuleResponse_httpStatus :: Lens' CreateRuleResponse Int
+ Amazonka.WAF.CreateRule: createRuleResponse_rule :: Lens' CreateRuleResponse (Maybe Rule)
+ Amazonka.WAF.CreateRule: createRule_changeToken :: Lens' CreateRule Text
+ Amazonka.WAF.CreateRule: createRule_metricName :: Lens' CreateRule Text
+ Amazonka.WAF.CreateRule: createRule_name :: Lens' CreateRule Text
+ Amazonka.WAF.CreateRule: createRule_tags :: Lens' CreateRule (Maybe (NonEmpty Tag))
+ Amazonka.WAF.CreateRule: data CreateRule
+ Amazonka.WAF.CreateRule: data CreateRuleResponse
+ Amazonka.WAF.CreateRule: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRule.CreateRuleResponse
+ Amazonka.WAF.CreateRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance GHC.Classes.Eq Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance GHC.Classes.Eq Amazonka.WAF.CreateRule.CreateRuleResponse
+ Amazonka.WAF.CreateRule: instance GHC.Generics.Generic Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance GHC.Generics.Generic Amazonka.WAF.CreateRule.CreateRuleResponse
+ Amazonka.WAF.CreateRule: instance GHC.Read.Read Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance GHC.Read.Read Amazonka.WAF.CreateRule.CreateRuleResponse
+ Amazonka.WAF.CreateRule: instance GHC.Show.Show Amazonka.WAF.CreateRule.CreateRule
+ Amazonka.WAF.CreateRule: instance GHC.Show.Show Amazonka.WAF.CreateRule.CreateRuleResponse
+ Amazonka.WAF.CreateRule: newCreateRule :: Text -> Text -> Text -> CreateRule
+ Amazonka.WAF.CreateRule: newCreateRuleResponse :: Int -> CreateRuleResponse
+ Amazonka.WAF.CreateRuleGroup: CreateRuleGroup' :: Maybe (NonEmpty Tag) -> Text -> Text -> Text -> CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: CreateRuleGroupResponse' :: Maybe Text -> Maybe RuleGroup -> Int -> CreateRuleGroupResponse
+ Amazonka.WAF.CreateRuleGroup: [$sel:changeToken:CreateRuleGroup'] :: CreateRuleGroup -> Text
+ Amazonka.WAF.CreateRuleGroup: [$sel:changeToken:CreateRuleGroupResponse'] :: CreateRuleGroupResponse -> Maybe Text
+ Amazonka.WAF.CreateRuleGroup: [$sel:httpStatus:CreateRuleGroupResponse'] :: CreateRuleGroupResponse -> Int
+ Amazonka.WAF.CreateRuleGroup: [$sel:metricName:CreateRuleGroup'] :: CreateRuleGroup -> Text
+ Amazonka.WAF.CreateRuleGroup: [$sel:name:CreateRuleGroup'] :: CreateRuleGroup -> Text
+ Amazonka.WAF.CreateRuleGroup: [$sel:ruleGroup:CreateRuleGroupResponse'] :: CreateRuleGroupResponse -> Maybe RuleGroup
+ Amazonka.WAF.CreateRuleGroup: [$sel:tags:CreateRuleGroup'] :: CreateRuleGroup -> Maybe (NonEmpty Tag)
+ Amazonka.WAF.CreateRuleGroup: createRuleGroupResponse_changeToken :: Lens' CreateRuleGroupResponse (Maybe Text)
+ Amazonka.WAF.CreateRuleGroup: createRuleGroupResponse_httpStatus :: Lens' CreateRuleGroupResponse Int
+ Amazonka.WAF.CreateRuleGroup: createRuleGroupResponse_ruleGroup :: Lens' CreateRuleGroupResponse (Maybe RuleGroup)
+ Amazonka.WAF.CreateRuleGroup: createRuleGroup_changeToken :: Lens' CreateRuleGroup Text
+ Amazonka.WAF.CreateRuleGroup: createRuleGroup_metricName :: Lens' CreateRuleGroup Text
+ Amazonka.WAF.CreateRuleGroup: createRuleGroup_name :: Lens' CreateRuleGroup Text
+ Amazonka.WAF.CreateRuleGroup: createRuleGroup_tags :: Lens' CreateRuleGroup (Maybe (NonEmpty Tag))
+ Amazonka.WAF.CreateRuleGroup: data CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: data CreateRuleGroupResponse
+ Amazonka.WAF.CreateRuleGroup: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.CreateRuleGroup.CreateRuleGroupResponse
+ Amazonka.WAF.CreateRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.CreateRuleGroup.CreateRuleGroupResponse
+ Amazonka.WAF.CreateRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.CreateRuleGroup.CreateRuleGroupResponse
+ Amazonka.WAF.CreateRuleGroup: instance GHC.Read.Read Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance GHC.Read.Read Amazonka.WAF.CreateRuleGroup.CreateRuleGroupResponse
+ Amazonka.WAF.CreateRuleGroup: instance GHC.Show.Show Amazonka.WAF.CreateRuleGroup.CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: instance GHC.Show.Show Amazonka.WAF.CreateRuleGroup.CreateRuleGroupResponse
+ Amazonka.WAF.CreateRuleGroup: newCreateRuleGroup :: Text -> Text -> Text -> CreateRuleGroup
+ Amazonka.WAF.CreateRuleGroup: newCreateRuleGroupResponse :: Int -> CreateRuleGroupResponse
+ Amazonka.WAF.CreateSizeConstraintSet: CreateSizeConstraintSet' :: Text -> Text -> CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: CreateSizeConstraintSetResponse' :: Maybe Text -> Maybe SizeConstraintSet -> Int -> CreateSizeConstraintSetResponse
+ Amazonka.WAF.CreateSizeConstraintSet: [$sel:changeToken:CreateSizeConstraintSet'] :: CreateSizeConstraintSet -> Text
+ Amazonka.WAF.CreateSizeConstraintSet: [$sel:changeToken:CreateSizeConstraintSetResponse'] :: CreateSizeConstraintSetResponse -> Maybe Text
+ Amazonka.WAF.CreateSizeConstraintSet: [$sel:httpStatus:CreateSizeConstraintSetResponse'] :: CreateSizeConstraintSetResponse -> Int
+ Amazonka.WAF.CreateSizeConstraintSet: [$sel:name:CreateSizeConstraintSet'] :: CreateSizeConstraintSet -> Text
+ Amazonka.WAF.CreateSizeConstraintSet: [$sel:sizeConstraintSet:CreateSizeConstraintSetResponse'] :: CreateSizeConstraintSetResponse -> Maybe SizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: createSizeConstraintSetResponse_changeToken :: Lens' CreateSizeConstraintSetResponse (Maybe Text)
+ Amazonka.WAF.CreateSizeConstraintSet: createSizeConstraintSetResponse_httpStatus :: Lens' CreateSizeConstraintSetResponse Int
+ Amazonka.WAF.CreateSizeConstraintSet: createSizeConstraintSetResponse_sizeConstraintSet :: Lens' CreateSizeConstraintSetResponse (Maybe SizeConstraintSet)
+ Amazonka.WAF.CreateSizeConstraintSet: createSizeConstraintSet_changeToken :: Lens' CreateSizeConstraintSet Text
+ Amazonka.WAF.CreateSizeConstraintSet: createSizeConstraintSet_name :: Lens' CreateSizeConstraintSet Text
+ Amazonka.WAF.CreateSizeConstraintSet: data CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: data CreateSizeConstraintSetResponse
+ Amazonka.WAF.CreateSizeConstraintSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
+ Amazonka.WAF.CreateSizeConstraintSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance GHC.Classes.Eq Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance GHC.Classes.Eq Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
+ Amazonka.WAF.CreateSizeConstraintSet: instance GHC.Generics.Generic Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance GHC.Generics.Generic Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
+ Amazonka.WAF.CreateSizeConstraintSet: instance GHC.Read.Read Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance GHC.Read.Read Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
+ Amazonka.WAF.CreateSizeConstraintSet: instance GHC.Show.Show Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: instance GHC.Show.Show Amazonka.WAF.CreateSizeConstraintSet.CreateSizeConstraintSetResponse
+ Amazonka.WAF.CreateSizeConstraintSet: newCreateSizeConstraintSet :: Text -> Text -> CreateSizeConstraintSet
+ Amazonka.WAF.CreateSizeConstraintSet: newCreateSizeConstraintSetResponse :: Int -> CreateSizeConstraintSetResponse
+ Amazonka.WAF.CreateSqlInjectionMatchSet: CreateSqlInjectionMatchSet' :: Text -> Text -> CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: CreateSqlInjectionMatchSetResponse' :: Maybe Text -> Maybe SqlInjectionMatchSet -> Int -> CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF.CreateSqlInjectionMatchSet: [$sel:changeToken:CreateSqlInjectionMatchSet'] :: CreateSqlInjectionMatchSet -> Text
+ Amazonka.WAF.CreateSqlInjectionMatchSet: [$sel:changeToken:CreateSqlInjectionMatchSetResponse'] :: CreateSqlInjectionMatchSetResponse -> Maybe Text
+ Amazonka.WAF.CreateSqlInjectionMatchSet: [$sel:httpStatus:CreateSqlInjectionMatchSetResponse'] :: CreateSqlInjectionMatchSetResponse -> Int
+ Amazonka.WAF.CreateSqlInjectionMatchSet: [$sel:name:CreateSqlInjectionMatchSet'] :: CreateSqlInjectionMatchSet -> Text
+ Amazonka.WAF.CreateSqlInjectionMatchSet: [$sel:sqlInjectionMatchSet:CreateSqlInjectionMatchSetResponse'] :: CreateSqlInjectionMatchSetResponse -> Maybe SqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: createSqlInjectionMatchSetResponse_changeToken :: Lens' CreateSqlInjectionMatchSetResponse (Maybe Text)
+ Amazonka.WAF.CreateSqlInjectionMatchSet: createSqlInjectionMatchSetResponse_httpStatus :: Lens' CreateSqlInjectionMatchSetResponse Int
+ Amazonka.WAF.CreateSqlInjectionMatchSet: createSqlInjectionMatchSetResponse_sqlInjectionMatchSet :: Lens' CreateSqlInjectionMatchSetResponse (Maybe SqlInjectionMatchSet)
+ Amazonka.WAF.CreateSqlInjectionMatchSet: createSqlInjectionMatchSet_changeToken :: Lens' CreateSqlInjectionMatchSet Text
+ Amazonka.WAF.CreateSqlInjectionMatchSet: createSqlInjectionMatchSet_name :: Lens' CreateSqlInjectionMatchSet Text
+ Amazonka.WAF.CreateSqlInjectionMatchSet: data CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: data CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateSqlInjectionMatchSet.CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF.CreateSqlInjectionMatchSet: newCreateSqlInjectionMatchSet :: Text -> Text -> CreateSqlInjectionMatchSet
+ Amazonka.WAF.CreateSqlInjectionMatchSet: newCreateSqlInjectionMatchSetResponse :: Int -> CreateSqlInjectionMatchSetResponse
+ Amazonka.WAF.CreateWebACL: CreateWebACL' :: Maybe (NonEmpty Tag) -> Text -> Text -> WafAction -> Text -> CreateWebACL
+ Amazonka.WAF.CreateWebACL: CreateWebACLResponse' :: Maybe Text -> Maybe WebACL -> Int -> CreateWebACLResponse
+ Amazonka.WAF.CreateWebACL: [$sel:changeToken:CreateWebACL'] :: CreateWebACL -> Text
+ Amazonka.WAF.CreateWebACL: [$sel:changeToken:CreateWebACLResponse'] :: CreateWebACLResponse -> Maybe Text
+ Amazonka.WAF.CreateWebACL: [$sel:defaultAction:CreateWebACL'] :: CreateWebACL -> WafAction
+ Amazonka.WAF.CreateWebACL: [$sel:httpStatus:CreateWebACLResponse'] :: CreateWebACLResponse -> Int
+ Amazonka.WAF.CreateWebACL: [$sel:metricName:CreateWebACL'] :: CreateWebACL -> Text
+ Amazonka.WAF.CreateWebACL: [$sel:name:CreateWebACL'] :: CreateWebACL -> Text
+ Amazonka.WAF.CreateWebACL: [$sel:tags:CreateWebACL'] :: CreateWebACL -> Maybe (NonEmpty Tag)
+ Amazonka.WAF.CreateWebACL: [$sel:webACL:CreateWebACLResponse'] :: CreateWebACLResponse -> Maybe WebACL
+ Amazonka.WAF.CreateWebACL: createWebACLResponse_changeToken :: Lens' CreateWebACLResponse (Maybe Text)
+ Amazonka.WAF.CreateWebACL: createWebACLResponse_httpStatus :: Lens' CreateWebACLResponse Int
+ Amazonka.WAF.CreateWebACL: createWebACLResponse_webACL :: Lens' CreateWebACLResponse (Maybe WebACL)
+ Amazonka.WAF.CreateWebACL: createWebACL_changeToken :: Lens' CreateWebACL Text
+ Amazonka.WAF.CreateWebACL: createWebACL_defaultAction :: Lens' CreateWebACL WafAction
+ Amazonka.WAF.CreateWebACL: createWebACL_metricName :: Lens' CreateWebACL Text
+ Amazonka.WAF.CreateWebACL: createWebACL_name :: Lens' CreateWebACL Text
+ Amazonka.WAF.CreateWebACL: createWebACL_tags :: Lens' CreateWebACL (Maybe (NonEmpty Tag))
+ Amazonka.WAF.CreateWebACL: data CreateWebACL
+ Amazonka.WAF.CreateWebACL: data CreateWebACLResponse
+ Amazonka.WAF.CreateWebACL: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance Control.DeepSeq.NFData Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance Control.DeepSeq.NFData Amazonka.WAF.CreateWebACL.CreateWebACLResponse
+ Amazonka.WAF.CreateWebACL: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance GHC.Classes.Eq Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance GHC.Classes.Eq Amazonka.WAF.CreateWebACL.CreateWebACLResponse
+ Amazonka.WAF.CreateWebACL: instance GHC.Generics.Generic Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance GHC.Generics.Generic Amazonka.WAF.CreateWebACL.CreateWebACLResponse
+ Amazonka.WAF.CreateWebACL: instance GHC.Read.Read Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance GHC.Read.Read Amazonka.WAF.CreateWebACL.CreateWebACLResponse
+ Amazonka.WAF.CreateWebACL: instance GHC.Show.Show Amazonka.WAF.CreateWebACL.CreateWebACL
+ Amazonka.WAF.CreateWebACL: instance GHC.Show.Show Amazonka.WAF.CreateWebACL.CreateWebACLResponse
+ Amazonka.WAF.CreateWebACL: newCreateWebACL :: Text -> Text -> WafAction -> Text -> CreateWebACL
+ Amazonka.WAF.CreateWebACL: newCreateWebACLResponse :: Int -> CreateWebACLResponse
+ Amazonka.WAF.CreateWebACLMigrationStack: CreateWebACLMigrationStack' :: Text -> Text -> Bool -> CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: CreateWebACLMigrationStackResponse' :: Int -> Text -> CreateWebACLMigrationStackResponse
+ Amazonka.WAF.CreateWebACLMigrationStack: [$sel:httpStatus:CreateWebACLMigrationStackResponse'] :: CreateWebACLMigrationStackResponse -> Int
+ Amazonka.WAF.CreateWebACLMigrationStack: [$sel:ignoreUnsupportedType:CreateWebACLMigrationStack'] :: CreateWebACLMigrationStack -> Bool
+ Amazonka.WAF.CreateWebACLMigrationStack: [$sel:s3BucketName:CreateWebACLMigrationStack'] :: CreateWebACLMigrationStack -> Text
+ Amazonka.WAF.CreateWebACLMigrationStack: [$sel:s3ObjectUrl:CreateWebACLMigrationStackResponse'] :: CreateWebACLMigrationStackResponse -> Text
+ Amazonka.WAF.CreateWebACLMigrationStack: [$sel:webACLId:CreateWebACLMigrationStack'] :: CreateWebACLMigrationStack -> Text
+ Amazonka.WAF.CreateWebACLMigrationStack: createWebACLMigrationStackResponse_httpStatus :: Lens' CreateWebACLMigrationStackResponse Int
+ Amazonka.WAF.CreateWebACLMigrationStack: createWebACLMigrationStackResponse_s3ObjectUrl :: Lens' CreateWebACLMigrationStackResponse Text
+ Amazonka.WAF.CreateWebACLMigrationStack: createWebACLMigrationStack_ignoreUnsupportedType :: Lens' CreateWebACLMigrationStack Bool
+ Amazonka.WAF.CreateWebACLMigrationStack: createWebACLMigrationStack_s3BucketName :: Lens' CreateWebACLMigrationStack Text
+ Amazonka.WAF.CreateWebACLMigrationStack: createWebACLMigrationStack_webACLId :: Lens' CreateWebACLMigrationStack Text
+ Amazonka.WAF.CreateWebACLMigrationStack: data CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: data CreateWebACLMigrationStackResponse
+ Amazonka.WAF.CreateWebACLMigrationStack: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance Control.DeepSeq.NFData Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance Control.DeepSeq.NFData Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStackResponse
+ Amazonka.WAF.CreateWebACLMigrationStack: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance GHC.Classes.Eq Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance GHC.Classes.Eq Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStackResponse
+ Amazonka.WAF.CreateWebACLMigrationStack: instance GHC.Generics.Generic Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance GHC.Generics.Generic Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStackResponse
+ Amazonka.WAF.CreateWebACLMigrationStack: instance GHC.Read.Read Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance GHC.Read.Read Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStackResponse
+ Amazonka.WAF.CreateWebACLMigrationStack: instance GHC.Show.Show Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: instance GHC.Show.Show Amazonka.WAF.CreateWebACLMigrationStack.CreateWebACLMigrationStackResponse
+ Amazonka.WAF.CreateWebACLMigrationStack: newCreateWebACLMigrationStack :: Text -> Text -> Bool -> CreateWebACLMigrationStack
+ Amazonka.WAF.CreateWebACLMigrationStack: newCreateWebACLMigrationStackResponse :: Int -> Text -> CreateWebACLMigrationStackResponse
+ Amazonka.WAF.CreateXssMatchSet: CreateXssMatchSet' :: Text -> Text -> CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: CreateXssMatchSetResponse' :: Maybe Text -> Maybe XssMatchSet -> Int -> CreateXssMatchSetResponse
+ Amazonka.WAF.CreateXssMatchSet: [$sel:changeToken:CreateXssMatchSet'] :: CreateXssMatchSet -> Text
+ Amazonka.WAF.CreateXssMatchSet: [$sel:changeToken:CreateXssMatchSetResponse'] :: CreateXssMatchSetResponse -> Maybe Text
+ Amazonka.WAF.CreateXssMatchSet: [$sel:httpStatus:CreateXssMatchSetResponse'] :: CreateXssMatchSetResponse -> Int
+ Amazonka.WAF.CreateXssMatchSet: [$sel:name:CreateXssMatchSet'] :: CreateXssMatchSet -> Text
+ Amazonka.WAF.CreateXssMatchSet: [$sel:xssMatchSet:CreateXssMatchSetResponse'] :: CreateXssMatchSetResponse -> Maybe XssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: createXssMatchSetResponse_changeToken :: Lens' CreateXssMatchSetResponse (Maybe Text)
+ Amazonka.WAF.CreateXssMatchSet: createXssMatchSetResponse_httpStatus :: Lens' CreateXssMatchSetResponse Int
+ Amazonka.WAF.CreateXssMatchSet: createXssMatchSetResponse_xssMatchSet :: Lens' CreateXssMatchSetResponse (Maybe XssMatchSet)
+ Amazonka.WAF.CreateXssMatchSet: createXssMatchSet_changeToken :: Lens' CreateXssMatchSet Text
+ Amazonka.WAF.CreateXssMatchSet: createXssMatchSet_name :: Lens' CreateXssMatchSet Text
+ Amazonka.WAF.CreateXssMatchSet: data CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: data CreateXssMatchSetResponse
+ Amazonka.WAF.CreateXssMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSetResponse
+ Amazonka.WAF.CreateXssMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance GHC.Classes.Eq Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSetResponse
+ Amazonka.WAF.CreateXssMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance GHC.Generics.Generic Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSetResponse
+ Amazonka.WAF.CreateXssMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance GHC.Read.Read Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSetResponse
+ Amazonka.WAF.CreateXssMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: instance GHC.Show.Show Amazonka.WAF.CreateXssMatchSet.CreateXssMatchSetResponse
+ Amazonka.WAF.CreateXssMatchSet: newCreateXssMatchSet :: Text -> Text -> CreateXssMatchSet
+ Amazonka.WAF.CreateXssMatchSet: newCreateXssMatchSetResponse :: Int -> CreateXssMatchSetResponse
+ Amazonka.WAF.DeleteByteMatchSet: DeleteByteMatchSet' :: Text -> Text -> DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: DeleteByteMatchSetResponse' :: Maybe Text -> Int -> DeleteByteMatchSetResponse
+ Amazonka.WAF.DeleteByteMatchSet: [$sel:byteMatchSetId:DeleteByteMatchSet'] :: DeleteByteMatchSet -> Text
+ Amazonka.WAF.DeleteByteMatchSet: [$sel:changeToken:DeleteByteMatchSet'] :: DeleteByteMatchSet -> Text
+ Amazonka.WAF.DeleteByteMatchSet: [$sel:changeToken:DeleteByteMatchSetResponse'] :: DeleteByteMatchSetResponse -> Maybe Text
+ Amazonka.WAF.DeleteByteMatchSet: [$sel:httpStatus:DeleteByteMatchSetResponse'] :: DeleteByteMatchSetResponse -> Int
+ Amazonka.WAF.DeleteByteMatchSet: data DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: data DeleteByteMatchSetResponse
+ Amazonka.WAF.DeleteByteMatchSet: deleteByteMatchSetResponse_changeToken :: Lens' DeleteByteMatchSetResponse (Maybe Text)
+ Amazonka.WAF.DeleteByteMatchSet: deleteByteMatchSetResponse_httpStatus :: Lens' DeleteByteMatchSetResponse Int
+ Amazonka.WAF.DeleteByteMatchSet: deleteByteMatchSet_byteMatchSetId :: Lens' DeleteByteMatchSet Text
+ Amazonka.WAF.DeleteByteMatchSet: deleteByteMatchSet_changeToken :: Lens' DeleteByteMatchSet Text
+ Amazonka.WAF.DeleteByteMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
+ Amazonka.WAF.DeleteByteMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
+ Amazonka.WAF.DeleteByteMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
+ Amazonka.WAF.DeleteByteMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
+ Amazonka.WAF.DeleteByteMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteByteMatchSet.DeleteByteMatchSetResponse
+ Amazonka.WAF.DeleteByteMatchSet: newDeleteByteMatchSet :: Text -> Text -> DeleteByteMatchSet
+ Amazonka.WAF.DeleteByteMatchSet: newDeleteByteMatchSetResponse :: Int -> DeleteByteMatchSetResponse
+ Amazonka.WAF.DeleteGeoMatchSet: DeleteGeoMatchSet' :: Text -> Text -> DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: DeleteGeoMatchSetResponse' :: Maybe Text -> Int -> DeleteGeoMatchSetResponse
+ Amazonka.WAF.DeleteGeoMatchSet: [$sel:changeToken:DeleteGeoMatchSet'] :: DeleteGeoMatchSet -> Text
+ Amazonka.WAF.DeleteGeoMatchSet: [$sel:changeToken:DeleteGeoMatchSetResponse'] :: DeleteGeoMatchSetResponse -> Maybe Text
+ Amazonka.WAF.DeleteGeoMatchSet: [$sel:geoMatchSetId:DeleteGeoMatchSet'] :: DeleteGeoMatchSet -> Text
+ Amazonka.WAF.DeleteGeoMatchSet: [$sel:httpStatus:DeleteGeoMatchSetResponse'] :: DeleteGeoMatchSetResponse -> Int
+ Amazonka.WAF.DeleteGeoMatchSet: data DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: data DeleteGeoMatchSetResponse
+ Amazonka.WAF.DeleteGeoMatchSet: deleteGeoMatchSetResponse_changeToken :: Lens' DeleteGeoMatchSetResponse (Maybe Text)
+ Amazonka.WAF.DeleteGeoMatchSet: deleteGeoMatchSetResponse_httpStatus :: Lens' DeleteGeoMatchSetResponse Int
+ Amazonka.WAF.DeleteGeoMatchSet: deleteGeoMatchSet_changeToken :: Lens' DeleteGeoMatchSet Text
+ Amazonka.WAF.DeleteGeoMatchSet: deleteGeoMatchSet_geoMatchSetId :: Lens' DeleteGeoMatchSet Text
+ Amazonka.WAF.DeleteGeoMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
+ Amazonka.WAF.DeleteGeoMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
+ Amazonka.WAF.DeleteGeoMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
+ Amazonka.WAF.DeleteGeoMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
+ Amazonka.WAF.DeleteGeoMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteGeoMatchSet.DeleteGeoMatchSetResponse
+ Amazonka.WAF.DeleteGeoMatchSet: newDeleteGeoMatchSet :: Text -> Text -> DeleteGeoMatchSet
+ Amazonka.WAF.DeleteGeoMatchSet: newDeleteGeoMatchSetResponse :: Int -> DeleteGeoMatchSetResponse
+ Amazonka.WAF.DeleteIPSet: DeleteIPSet' :: Text -> Text -> DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: DeleteIPSetResponse' :: Maybe Text -> Int -> DeleteIPSetResponse
+ Amazonka.WAF.DeleteIPSet: [$sel:changeToken:DeleteIPSet'] :: DeleteIPSet -> Text
+ Amazonka.WAF.DeleteIPSet: [$sel:changeToken:DeleteIPSetResponse'] :: DeleteIPSetResponse -> Maybe Text
+ Amazonka.WAF.DeleteIPSet: [$sel:httpStatus:DeleteIPSetResponse'] :: DeleteIPSetResponse -> Int
+ Amazonka.WAF.DeleteIPSet: [$sel:iPSetId:DeleteIPSet'] :: DeleteIPSet -> Text
+ Amazonka.WAF.DeleteIPSet: data DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: data DeleteIPSetResponse
+ Amazonka.WAF.DeleteIPSet: deleteIPSetResponse_changeToken :: Lens' DeleteIPSetResponse (Maybe Text)
+ Amazonka.WAF.DeleteIPSet: deleteIPSetResponse_httpStatus :: Lens' DeleteIPSetResponse Int
+ Amazonka.WAF.DeleteIPSet: deleteIPSet_changeToken :: Lens' DeleteIPSet Text
+ Amazonka.WAF.DeleteIPSet: deleteIPSet_iPSetId :: Lens' DeleteIPSet Text
+ Amazonka.WAF.DeleteIPSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteIPSet.DeleteIPSetResponse
+ Amazonka.WAF.DeleteIPSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteIPSet.DeleteIPSetResponse
+ Amazonka.WAF.DeleteIPSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteIPSet.DeleteIPSetResponse
+ Amazonka.WAF.DeleteIPSet: instance GHC.Read.Read Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance GHC.Read.Read Amazonka.WAF.DeleteIPSet.DeleteIPSetResponse
+ Amazonka.WAF.DeleteIPSet: instance GHC.Show.Show Amazonka.WAF.DeleteIPSet.DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: instance GHC.Show.Show Amazonka.WAF.DeleteIPSet.DeleteIPSetResponse
+ Amazonka.WAF.DeleteIPSet: newDeleteIPSet :: Text -> Text -> DeleteIPSet
+ Amazonka.WAF.DeleteIPSet: newDeleteIPSetResponse :: Int -> DeleteIPSetResponse
+ Amazonka.WAF.DeleteLoggingConfiguration: DeleteLoggingConfiguration' :: Text -> DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: DeleteLoggingConfigurationResponse' :: Int -> DeleteLoggingConfigurationResponse
+ Amazonka.WAF.DeleteLoggingConfiguration: [$sel:httpStatus:DeleteLoggingConfigurationResponse'] :: DeleteLoggingConfigurationResponse -> Int
+ Amazonka.WAF.DeleteLoggingConfiguration: [$sel:resourceArn:DeleteLoggingConfiguration'] :: DeleteLoggingConfiguration -> Text
+ Amazonka.WAF.DeleteLoggingConfiguration: data DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: data DeleteLoggingConfigurationResponse
+ Amazonka.WAF.DeleteLoggingConfiguration: deleteLoggingConfigurationResponse_httpStatus :: Lens' DeleteLoggingConfigurationResponse Int
+ Amazonka.WAF.DeleteLoggingConfiguration: deleteLoggingConfiguration_resourceArn :: Lens' DeleteLoggingConfiguration Text
+ Amazonka.WAF.DeleteLoggingConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfigurationResponse
+ Amazonka.WAF.DeleteLoggingConfiguration: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance GHC.Classes.Eq Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance GHC.Classes.Eq Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfigurationResponse
+ Amazonka.WAF.DeleteLoggingConfiguration: instance GHC.Generics.Generic Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance GHC.Generics.Generic Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfigurationResponse
+ Amazonka.WAF.DeleteLoggingConfiguration: instance GHC.Read.Read Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance GHC.Read.Read Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfigurationResponse
+ Amazonka.WAF.DeleteLoggingConfiguration: instance GHC.Show.Show Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: instance GHC.Show.Show Amazonka.WAF.DeleteLoggingConfiguration.DeleteLoggingConfigurationResponse
+ Amazonka.WAF.DeleteLoggingConfiguration: newDeleteLoggingConfiguration :: Text -> DeleteLoggingConfiguration
+ Amazonka.WAF.DeleteLoggingConfiguration: newDeleteLoggingConfigurationResponse :: Int -> DeleteLoggingConfigurationResponse
+ Amazonka.WAF.DeletePermissionPolicy: DeletePermissionPolicy' :: Text -> DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: DeletePermissionPolicyResponse' :: Int -> DeletePermissionPolicyResponse
+ Amazonka.WAF.DeletePermissionPolicy: [$sel:httpStatus:DeletePermissionPolicyResponse'] :: DeletePermissionPolicyResponse -> Int
+ Amazonka.WAF.DeletePermissionPolicy: [$sel:resourceArn:DeletePermissionPolicy'] :: DeletePermissionPolicy -> Text
+ Amazonka.WAF.DeletePermissionPolicy: data DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: data DeletePermissionPolicyResponse
+ Amazonka.WAF.DeletePermissionPolicy: deletePermissionPolicyResponse_httpStatus :: Lens' DeletePermissionPolicyResponse Int
+ Amazonka.WAF.DeletePermissionPolicy: deletePermissionPolicy_resourceArn :: Lens' DeletePermissionPolicy Text
+ Amazonka.WAF.DeletePermissionPolicy: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance Control.DeepSeq.NFData Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance Control.DeepSeq.NFData Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
+ Amazonka.WAF.DeletePermissionPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance GHC.Classes.Eq Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance GHC.Classes.Eq Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
+ Amazonka.WAF.DeletePermissionPolicy: instance GHC.Generics.Generic Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance GHC.Generics.Generic Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
+ Amazonka.WAF.DeletePermissionPolicy: instance GHC.Read.Read Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance GHC.Read.Read Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
+ Amazonka.WAF.DeletePermissionPolicy: instance GHC.Show.Show Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: instance GHC.Show.Show Amazonka.WAF.DeletePermissionPolicy.DeletePermissionPolicyResponse
+ Amazonka.WAF.DeletePermissionPolicy: newDeletePermissionPolicy :: Text -> DeletePermissionPolicy
+ Amazonka.WAF.DeletePermissionPolicy: newDeletePermissionPolicyResponse :: Int -> DeletePermissionPolicyResponse
+ Amazonka.WAF.DeleteRateBasedRule: DeleteRateBasedRule' :: Text -> Text -> DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: DeleteRateBasedRuleResponse' :: Maybe Text -> Int -> DeleteRateBasedRuleResponse
+ Amazonka.WAF.DeleteRateBasedRule: [$sel:changeToken:DeleteRateBasedRule'] :: DeleteRateBasedRule -> Text
+ Amazonka.WAF.DeleteRateBasedRule: [$sel:changeToken:DeleteRateBasedRuleResponse'] :: DeleteRateBasedRuleResponse -> Maybe Text
+ Amazonka.WAF.DeleteRateBasedRule: [$sel:httpStatus:DeleteRateBasedRuleResponse'] :: DeleteRateBasedRuleResponse -> Int
+ Amazonka.WAF.DeleteRateBasedRule: [$sel:ruleId:DeleteRateBasedRule'] :: DeleteRateBasedRule -> Text
+ Amazonka.WAF.DeleteRateBasedRule: data DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: data DeleteRateBasedRuleResponse
+ Amazonka.WAF.DeleteRateBasedRule: deleteRateBasedRuleResponse_changeToken :: Lens' DeleteRateBasedRuleResponse (Maybe Text)
+ Amazonka.WAF.DeleteRateBasedRule: deleteRateBasedRuleResponse_httpStatus :: Lens' DeleteRateBasedRuleResponse Int
+ Amazonka.WAF.DeleteRateBasedRule: deleteRateBasedRule_changeToken :: Lens' DeleteRateBasedRule Text
+ Amazonka.WAF.DeleteRateBasedRule: deleteRateBasedRule_ruleId :: Lens' DeleteRateBasedRule Text
+ Amazonka.WAF.DeleteRateBasedRule: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
+ Amazonka.WAF.DeleteRateBasedRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance GHC.Classes.Eq Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance GHC.Classes.Eq Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
+ Amazonka.WAF.DeleteRateBasedRule: instance GHC.Generics.Generic Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance GHC.Generics.Generic Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
+ Amazonka.WAF.DeleteRateBasedRule: instance GHC.Read.Read Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance GHC.Read.Read Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
+ Amazonka.WAF.DeleteRateBasedRule: instance GHC.Show.Show Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: instance GHC.Show.Show Amazonka.WAF.DeleteRateBasedRule.DeleteRateBasedRuleResponse
+ Amazonka.WAF.DeleteRateBasedRule: newDeleteRateBasedRule :: Text -> Text -> DeleteRateBasedRule
+ Amazonka.WAF.DeleteRateBasedRule: newDeleteRateBasedRuleResponse :: Int -> DeleteRateBasedRuleResponse
+ Amazonka.WAF.DeleteRegexMatchSet: DeleteRegexMatchSet' :: Text -> Text -> DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: DeleteRegexMatchSetResponse' :: Maybe Text -> Int -> DeleteRegexMatchSetResponse
+ Amazonka.WAF.DeleteRegexMatchSet: [$sel:changeToken:DeleteRegexMatchSet'] :: DeleteRegexMatchSet -> Text
+ Amazonka.WAF.DeleteRegexMatchSet: [$sel:changeToken:DeleteRegexMatchSetResponse'] :: DeleteRegexMatchSetResponse -> Maybe Text
+ Amazonka.WAF.DeleteRegexMatchSet: [$sel:httpStatus:DeleteRegexMatchSetResponse'] :: DeleteRegexMatchSetResponse -> Int
+ Amazonka.WAF.DeleteRegexMatchSet: [$sel:regexMatchSetId:DeleteRegexMatchSet'] :: DeleteRegexMatchSet -> Text
+ Amazonka.WAF.DeleteRegexMatchSet: data DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: data DeleteRegexMatchSetResponse
+ Amazonka.WAF.DeleteRegexMatchSet: deleteRegexMatchSetResponse_changeToken :: Lens' DeleteRegexMatchSetResponse (Maybe Text)
+ Amazonka.WAF.DeleteRegexMatchSet: deleteRegexMatchSetResponse_httpStatus :: Lens' DeleteRegexMatchSetResponse Int
+ Amazonka.WAF.DeleteRegexMatchSet: deleteRegexMatchSet_changeToken :: Lens' DeleteRegexMatchSet Text
+ Amazonka.WAF.DeleteRegexMatchSet: deleteRegexMatchSet_regexMatchSetId :: Lens' DeleteRegexMatchSet Text
+ Amazonka.WAF.DeleteRegexMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
+ Amazonka.WAF.DeleteRegexMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
+ Amazonka.WAF.DeleteRegexMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
+ Amazonka.WAF.DeleteRegexMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
+ Amazonka.WAF.DeleteRegexMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteRegexMatchSet.DeleteRegexMatchSetResponse
+ Amazonka.WAF.DeleteRegexMatchSet: newDeleteRegexMatchSet :: Text -> Text -> DeleteRegexMatchSet
+ Amazonka.WAF.DeleteRegexMatchSet: newDeleteRegexMatchSetResponse :: Int -> DeleteRegexMatchSetResponse
+ Amazonka.WAF.DeleteRegexPatternSet: DeleteRegexPatternSet' :: Text -> Text -> DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: DeleteRegexPatternSetResponse' :: Maybe Text -> Int -> DeleteRegexPatternSetResponse
+ Amazonka.WAF.DeleteRegexPatternSet: [$sel:changeToken:DeleteRegexPatternSet'] :: DeleteRegexPatternSet -> Text
+ Amazonka.WAF.DeleteRegexPatternSet: [$sel:changeToken:DeleteRegexPatternSetResponse'] :: DeleteRegexPatternSetResponse -> Maybe Text
+ Amazonka.WAF.DeleteRegexPatternSet: [$sel:httpStatus:DeleteRegexPatternSetResponse'] :: DeleteRegexPatternSetResponse -> Int
+ Amazonka.WAF.DeleteRegexPatternSet: [$sel:regexPatternSetId:DeleteRegexPatternSet'] :: DeleteRegexPatternSet -> Text
+ Amazonka.WAF.DeleteRegexPatternSet: data DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: data DeleteRegexPatternSetResponse
+ Amazonka.WAF.DeleteRegexPatternSet: deleteRegexPatternSetResponse_changeToken :: Lens' DeleteRegexPatternSetResponse (Maybe Text)
+ Amazonka.WAF.DeleteRegexPatternSet: deleteRegexPatternSetResponse_httpStatus :: Lens' DeleteRegexPatternSetResponse Int
+ Amazonka.WAF.DeleteRegexPatternSet: deleteRegexPatternSet_changeToken :: Lens' DeleteRegexPatternSet Text
+ Amazonka.WAF.DeleteRegexPatternSet: deleteRegexPatternSet_regexPatternSetId :: Lens' DeleteRegexPatternSet Text
+ Amazonka.WAF.DeleteRegexPatternSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
+ Amazonka.WAF.DeleteRegexPatternSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
+ Amazonka.WAF.DeleteRegexPatternSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
+ Amazonka.WAF.DeleteRegexPatternSet: instance GHC.Read.Read Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance GHC.Read.Read Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
+ Amazonka.WAF.DeleteRegexPatternSet: instance GHC.Show.Show Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: instance GHC.Show.Show Amazonka.WAF.DeleteRegexPatternSet.DeleteRegexPatternSetResponse
+ Amazonka.WAF.DeleteRegexPatternSet: newDeleteRegexPatternSet :: Text -> Text -> DeleteRegexPatternSet
+ Amazonka.WAF.DeleteRegexPatternSet: newDeleteRegexPatternSetResponse :: Int -> DeleteRegexPatternSetResponse
+ Amazonka.WAF.DeleteRule: DeleteRule' :: Text -> Text -> DeleteRule
+ Amazonka.WAF.DeleteRule: DeleteRuleResponse' :: Maybe Text -> Int -> DeleteRuleResponse
+ Amazonka.WAF.DeleteRule: [$sel:changeToken:DeleteRule'] :: DeleteRule -> Text
+ Amazonka.WAF.DeleteRule: [$sel:changeToken:DeleteRuleResponse'] :: DeleteRuleResponse -> Maybe Text
+ Amazonka.WAF.DeleteRule: [$sel:httpStatus:DeleteRuleResponse'] :: DeleteRuleResponse -> Int
+ Amazonka.WAF.DeleteRule: [$sel:ruleId:DeleteRule'] :: DeleteRule -> Text
+ Amazonka.WAF.DeleteRule: data DeleteRule
+ Amazonka.WAF.DeleteRule: data DeleteRuleResponse
+ Amazonka.WAF.DeleteRule: deleteRuleResponse_changeToken :: Lens' DeleteRuleResponse (Maybe Text)
+ Amazonka.WAF.DeleteRule: deleteRuleResponse_httpStatus :: Lens' DeleteRuleResponse Int
+ Amazonka.WAF.DeleteRule: deleteRule_changeToken :: Lens' DeleteRule Text
+ Amazonka.WAF.DeleteRule: deleteRule_ruleId :: Lens' DeleteRule Text
+ Amazonka.WAF.DeleteRule: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRule.DeleteRuleResponse
+ Amazonka.WAF.DeleteRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance GHC.Classes.Eq Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance GHC.Classes.Eq Amazonka.WAF.DeleteRule.DeleteRuleResponse
+ Amazonka.WAF.DeleteRule: instance GHC.Generics.Generic Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance GHC.Generics.Generic Amazonka.WAF.DeleteRule.DeleteRuleResponse
+ Amazonka.WAF.DeleteRule: instance GHC.Read.Read Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance GHC.Read.Read Amazonka.WAF.DeleteRule.DeleteRuleResponse
+ Amazonka.WAF.DeleteRule: instance GHC.Show.Show Amazonka.WAF.DeleteRule.DeleteRule
+ Amazonka.WAF.DeleteRule: instance GHC.Show.Show Amazonka.WAF.DeleteRule.DeleteRuleResponse
+ Amazonka.WAF.DeleteRule: newDeleteRule :: Text -> Text -> DeleteRule
+ Amazonka.WAF.DeleteRule: newDeleteRuleResponse :: Int -> DeleteRuleResponse
+ Amazonka.WAF.DeleteRuleGroup: DeleteRuleGroup' :: Text -> Text -> DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: DeleteRuleGroupResponse' :: Maybe Text -> Int -> DeleteRuleGroupResponse
+ Amazonka.WAF.DeleteRuleGroup: [$sel:changeToken:DeleteRuleGroup'] :: DeleteRuleGroup -> Text
+ Amazonka.WAF.DeleteRuleGroup: [$sel:changeToken:DeleteRuleGroupResponse'] :: DeleteRuleGroupResponse -> Maybe Text
+ Amazonka.WAF.DeleteRuleGroup: [$sel:httpStatus:DeleteRuleGroupResponse'] :: DeleteRuleGroupResponse -> Int
+ Amazonka.WAF.DeleteRuleGroup: [$sel:ruleGroupId:DeleteRuleGroup'] :: DeleteRuleGroup -> Text
+ Amazonka.WAF.DeleteRuleGroup: data DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: data DeleteRuleGroupResponse
+ Amazonka.WAF.DeleteRuleGroup: deleteRuleGroupResponse_changeToken :: Lens' DeleteRuleGroupResponse (Maybe Text)
+ Amazonka.WAF.DeleteRuleGroup: deleteRuleGroupResponse_httpStatus :: Lens' DeleteRuleGroupResponse Int
+ Amazonka.WAF.DeleteRuleGroup: deleteRuleGroup_changeToken :: Lens' DeleteRuleGroup Text
+ Amazonka.WAF.DeleteRuleGroup: deleteRuleGroup_ruleGroupId :: Lens' DeleteRuleGroup Text
+ Amazonka.WAF.DeleteRuleGroup: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
+ Amazonka.WAF.DeleteRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
+ Amazonka.WAF.DeleteRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
+ Amazonka.WAF.DeleteRuleGroup: instance GHC.Read.Read Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance GHC.Read.Read Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
+ Amazonka.WAF.DeleteRuleGroup: instance GHC.Show.Show Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: instance GHC.Show.Show Amazonka.WAF.DeleteRuleGroup.DeleteRuleGroupResponse
+ Amazonka.WAF.DeleteRuleGroup: newDeleteRuleGroup :: Text -> Text -> DeleteRuleGroup
+ Amazonka.WAF.DeleteRuleGroup: newDeleteRuleGroupResponse :: Int -> DeleteRuleGroupResponse
+ Amazonka.WAF.DeleteSizeConstraintSet: DeleteSizeConstraintSet' :: Text -> Text -> DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: DeleteSizeConstraintSetResponse' :: Maybe Text -> Int -> DeleteSizeConstraintSetResponse
+ Amazonka.WAF.DeleteSizeConstraintSet: [$sel:changeToken:DeleteSizeConstraintSet'] :: DeleteSizeConstraintSet -> Text
+ Amazonka.WAF.DeleteSizeConstraintSet: [$sel:changeToken:DeleteSizeConstraintSetResponse'] :: DeleteSizeConstraintSetResponse -> Maybe Text
+ Amazonka.WAF.DeleteSizeConstraintSet: [$sel:httpStatus:DeleteSizeConstraintSetResponse'] :: DeleteSizeConstraintSetResponse -> Int
+ Amazonka.WAF.DeleteSizeConstraintSet: [$sel:sizeConstraintSetId:DeleteSizeConstraintSet'] :: DeleteSizeConstraintSet -> Text
+ Amazonka.WAF.DeleteSizeConstraintSet: data DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: data DeleteSizeConstraintSetResponse
+ Amazonka.WAF.DeleteSizeConstraintSet: deleteSizeConstraintSetResponse_changeToken :: Lens' DeleteSizeConstraintSetResponse (Maybe Text)
+ Amazonka.WAF.DeleteSizeConstraintSet: deleteSizeConstraintSetResponse_httpStatus :: Lens' DeleteSizeConstraintSetResponse Int
+ Amazonka.WAF.DeleteSizeConstraintSet: deleteSizeConstraintSet_changeToken :: Lens' DeleteSizeConstraintSet Text
+ Amazonka.WAF.DeleteSizeConstraintSet: deleteSizeConstraintSet_sizeConstraintSetId :: Lens' DeleteSizeConstraintSet Text
+ Amazonka.WAF.DeleteSizeConstraintSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
+ Amazonka.WAF.DeleteSizeConstraintSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
+ Amazonka.WAF.DeleteSizeConstraintSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
+ Amazonka.WAF.DeleteSizeConstraintSet: instance GHC.Read.Read Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance GHC.Read.Read Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
+ Amazonka.WAF.DeleteSizeConstraintSet: instance GHC.Show.Show Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: instance GHC.Show.Show Amazonka.WAF.DeleteSizeConstraintSet.DeleteSizeConstraintSetResponse
+ Amazonka.WAF.DeleteSizeConstraintSet: newDeleteSizeConstraintSet :: Text -> Text -> DeleteSizeConstraintSet
+ Amazonka.WAF.DeleteSizeConstraintSet: newDeleteSizeConstraintSetResponse :: Int -> DeleteSizeConstraintSetResponse
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: DeleteSqlInjectionMatchSet' :: Text -> Text -> DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: DeleteSqlInjectionMatchSetResponse' :: Maybe Text -> Int -> DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: [$sel:changeToken:DeleteSqlInjectionMatchSet'] :: DeleteSqlInjectionMatchSet -> Text
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: [$sel:changeToken:DeleteSqlInjectionMatchSetResponse'] :: DeleteSqlInjectionMatchSetResponse -> Maybe Text
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: [$sel:httpStatus:DeleteSqlInjectionMatchSetResponse'] :: DeleteSqlInjectionMatchSetResponse -> Int
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: [$sel:sqlInjectionMatchSetId:DeleteSqlInjectionMatchSet'] :: DeleteSqlInjectionMatchSet -> Text
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: data DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: data DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: deleteSqlInjectionMatchSetResponse_changeToken :: Lens' DeleteSqlInjectionMatchSetResponse (Maybe Text)
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: deleteSqlInjectionMatchSetResponse_httpStatus :: Lens' DeleteSqlInjectionMatchSetResponse Int
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: deleteSqlInjectionMatchSet_changeToken :: Lens' DeleteSqlInjectionMatchSet Text
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: deleteSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' DeleteSqlInjectionMatchSet Text
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteSqlInjectionMatchSet.DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: newDeleteSqlInjectionMatchSet :: Text -> Text -> DeleteSqlInjectionMatchSet
+ Amazonka.WAF.DeleteSqlInjectionMatchSet: newDeleteSqlInjectionMatchSetResponse :: Int -> DeleteSqlInjectionMatchSetResponse
+ Amazonka.WAF.DeleteWebACL: DeleteWebACL' :: Text -> Text -> DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: DeleteWebACLResponse' :: Maybe Text -> Int -> DeleteWebACLResponse
+ Amazonka.WAF.DeleteWebACL: [$sel:changeToken:DeleteWebACL'] :: DeleteWebACL -> Text
+ Amazonka.WAF.DeleteWebACL: [$sel:changeToken:DeleteWebACLResponse'] :: DeleteWebACLResponse -> Maybe Text
+ Amazonka.WAF.DeleteWebACL: [$sel:httpStatus:DeleteWebACLResponse'] :: DeleteWebACLResponse -> Int
+ Amazonka.WAF.DeleteWebACL: [$sel:webACLId:DeleteWebACL'] :: DeleteWebACL -> Text
+ Amazonka.WAF.DeleteWebACL: data DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: data DeleteWebACLResponse
+ Amazonka.WAF.DeleteWebACL: deleteWebACLResponse_changeToken :: Lens' DeleteWebACLResponse (Maybe Text)
+ Amazonka.WAF.DeleteWebACL: deleteWebACLResponse_httpStatus :: Lens' DeleteWebACLResponse Int
+ Amazonka.WAF.DeleteWebACL: deleteWebACL_changeToken :: Lens' DeleteWebACL Text
+ Amazonka.WAF.DeleteWebACL: deleteWebACL_webACLId :: Lens' DeleteWebACL Text
+ Amazonka.WAF.DeleteWebACL: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteWebACL.DeleteWebACLResponse
+ Amazonka.WAF.DeleteWebACL: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance GHC.Classes.Eq Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance GHC.Classes.Eq Amazonka.WAF.DeleteWebACL.DeleteWebACLResponse
+ Amazonka.WAF.DeleteWebACL: instance GHC.Generics.Generic Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance GHC.Generics.Generic Amazonka.WAF.DeleteWebACL.DeleteWebACLResponse
+ Amazonka.WAF.DeleteWebACL: instance GHC.Read.Read Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance GHC.Read.Read Amazonka.WAF.DeleteWebACL.DeleteWebACLResponse
+ Amazonka.WAF.DeleteWebACL: instance GHC.Show.Show Amazonka.WAF.DeleteWebACL.DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: instance GHC.Show.Show Amazonka.WAF.DeleteWebACL.DeleteWebACLResponse
+ Amazonka.WAF.DeleteWebACL: newDeleteWebACL :: Text -> Text -> DeleteWebACL
+ Amazonka.WAF.DeleteWebACL: newDeleteWebACLResponse :: Int -> DeleteWebACLResponse
+ Amazonka.WAF.DeleteXssMatchSet: DeleteXssMatchSet' :: Text -> Text -> DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: DeleteXssMatchSetResponse' :: Maybe Text -> Int -> DeleteXssMatchSetResponse
+ Amazonka.WAF.DeleteXssMatchSet: [$sel:changeToken:DeleteXssMatchSet'] :: DeleteXssMatchSet -> Text
+ Amazonka.WAF.DeleteXssMatchSet: [$sel:changeToken:DeleteXssMatchSetResponse'] :: DeleteXssMatchSetResponse -> Maybe Text
+ Amazonka.WAF.DeleteXssMatchSet: [$sel:httpStatus:DeleteXssMatchSetResponse'] :: DeleteXssMatchSetResponse -> Int
+ Amazonka.WAF.DeleteXssMatchSet: [$sel:xssMatchSetId:DeleteXssMatchSet'] :: DeleteXssMatchSet -> Text
+ Amazonka.WAF.DeleteXssMatchSet: data DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: data DeleteXssMatchSetResponse
+ Amazonka.WAF.DeleteXssMatchSet: deleteXssMatchSetResponse_changeToken :: Lens' DeleteXssMatchSetResponse (Maybe Text)
+ Amazonka.WAF.DeleteXssMatchSet: deleteXssMatchSetResponse_httpStatus :: Lens' DeleteXssMatchSetResponse Int
+ Amazonka.WAF.DeleteXssMatchSet: deleteXssMatchSet_changeToken :: Lens' DeleteXssMatchSet Text
+ Amazonka.WAF.DeleteXssMatchSet: deleteXssMatchSet_xssMatchSetId :: Lens' DeleteXssMatchSet Text
+ Amazonka.WAF.DeleteXssMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSetResponse
+ Amazonka.WAF.DeleteXssMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance GHC.Classes.Eq Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSetResponse
+ Amazonka.WAF.DeleteXssMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance GHC.Generics.Generic Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSetResponse
+ Amazonka.WAF.DeleteXssMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance GHC.Read.Read Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSetResponse
+ Amazonka.WAF.DeleteXssMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: instance GHC.Show.Show Amazonka.WAF.DeleteXssMatchSet.DeleteXssMatchSetResponse
+ Amazonka.WAF.DeleteXssMatchSet: newDeleteXssMatchSet :: Text -> Text -> DeleteXssMatchSet
+ Amazonka.WAF.DeleteXssMatchSet: newDeleteXssMatchSetResponse :: Int -> DeleteXssMatchSetResponse
+ Amazonka.WAF.GetByteMatchSet: GetByteMatchSet' :: Text -> GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: GetByteMatchSetResponse' :: Maybe ByteMatchSet -> Int -> GetByteMatchSetResponse
+ Amazonka.WAF.GetByteMatchSet: [$sel:byteMatchSet:GetByteMatchSetResponse'] :: GetByteMatchSetResponse -> Maybe ByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: [$sel:byteMatchSetId:GetByteMatchSet'] :: GetByteMatchSet -> Text
+ Amazonka.WAF.GetByteMatchSet: [$sel:httpStatus:GetByteMatchSetResponse'] :: GetByteMatchSetResponse -> Int
+ Amazonka.WAF.GetByteMatchSet: data GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: data GetByteMatchSetResponse
+ Amazonka.WAF.GetByteMatchSet: getByteMatchSetResponse_byteMatchSet :: Lens' GetByteMatchSetResponse (Maybe ByteMatchSet)
+ Amazonka.WAF.GetByteMatchSet: getByteMatchSetResponse_httpStatus :: Lens' GetByteMatchSetResponse Int
+ Amazonka.WAF.GetByteMatchSet: getByteMatchSet_byteMatchSetId :: Lens' GetByteMatchSet Text
+ Amazonka.WAF.GetByteMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetByteMatchSet.GetByteMatchSetResponse
+ Amazonka.WAF.GetByteMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetByteMatchSet.GetByteMatchSetResponse
+ Amazonka.WAF.GetByteMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetByteMatchSet.GetByteMatchSetResponse
+ Amazonka.WAF.GetByteMatchSet: instance GHC.Read.Read Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance GHC.Read.Read Amazonka.WAF.GetByteMatchSet.GetByteMatchSetResponse
+ Amazonka.WAF.GetByteMatchSet: instance GHC.Show.Show Amazonka.WAF.GetByteMatchSet.GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: instance GHC.Show.Show Amazonka.WAF.GetByteMatchSet.GetByteMatchSetResponse
+ Amazonka.WAF.GetByteMatchSet: newGetByteMatchSet :: Text -> GetByteMatchSet
+ Amazonka.WAF.GetByteMatchSet: newGetByteMatchSetResponse :: Int -> GetByteMatchSetResponse
+ Amazonka.WAF.GetChangeToken: GetChangeToken' :: GetChangeToken
+ Amazonka.WAF.GetChangeToken: GetChangeTokenResponse' :: Maybe Text -> Int -> GetChangeTokenResponse
+ Amazonka.WAF.GetChangeToken: [$sel:changeToken:GetChangeTokenResponse'] :: GetChangeTokenResponse -> Maybe Text
+ Amazonka.WAF.GetChangeToken: [$sel:httpStatus:GetChangeTokenResponse'] :: GetChangeTokenResponse -> Int
+ Amazonka.WAF.GetChangeToken: data GetChangeToken
+ Amazonka.WAF.GetChangeToken: data GetChangeTokenResponse
+ Amazonka.WAF.GetChangeToken: getChangeTokenResponse_changeToken :: Lens' GetChangeTokenResponse (Maybe Text)
+ Amazonka.WAF.GetChangeToken: getChangeTokenResponse_httpStatus :: Lens' GetChangeTokenResponse Int
+ Amazonka.WAF.GetChangeToken: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance Control.DeepSeq.NFData Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance Control.DeepSeq.NFData Amazonka.WAF.GetChangeToken.GetChangeTokenResponse
+ Amazonka.WAF.GetChangeToken: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance GHC.Classes.Eq Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance GHC.Classes.Eq Amazonka.WAF.GetChangeToken.GetChangeTokenResponse
+ Amazonka.WAF.GetChangeToken: instance GHC.Generics.Generic Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance GHC.Generics.Generic Amazonka.WAF.GetChangeToken.GetChangeTokenResponse
+ Amazonka.WAF.GetChangeToken: instance GHC.Read.Read Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance GHC.Read.Read Amazonka.WAF.GetChangeToken.GetChangeTokenResponse
+ Amazonka.WAF.GetChangeToken: instance GHC.Show.Show Amazonka.WAF.GetChangeToken.GetChangeToken
+ Amazonka.WAF.GetChangeToken: instance GHC.Show.Show Amazonka.WAF.GetChangeToken.GetChangeTokenResponse
+ Amazonka.WAF.GetChangeToken: newGetChangeToken :: GetChangeToken
+ Amazonka.WAF.GetChangeToken: newGetChangeTokenResponse :: Int -> GetChangeTokenResponse
+ Amazonka.WAF.GetChangeTokenStatus: GetChangeTokenStatus' :: Text -> GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: GetChangeTokenStatusResponse' :: Maybe ChangeTokenStatus -> Int -> GetChangeTokenStatusResponse
+ Amazonka.WAF.GetChangeTokenStatus: [$sel:changeToken:GetChangeTokenStatus'] :: GetChangeTokenStatus -> Text
+ Amazonka.WAF.GetChangeTokenStatus: [$sel:changeTokenStatus:GetChangeTokenStatusResponse'] :: GetChangeTokenStatusResponse -> Maybe ChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: [$sel:httpStatus:GetChangeTokenStatusResponse'] :: GetChangeTokenStatusResponse -> Int
+ Amazonka.WAF.GetChangeTokenStatus: data GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: data GetChangeTokenStatusResponse
+ Amazonka.WAF.GetChangeTokenStatus: getChangeTokenStatusResponse_changeTokenStatus :: Lens' GetChangeTokenStatusResponse (Maybe ChangeTokenStatus)
+ Amazonka.WAF.GetChangeTokenStatus: getChangeTokenStatusResponse_httpStatus :: Lens' GetChangeTokenStatusResponse Int
+ Amazonka.WAF.GetChangeTokenStatus: getChangeTokenStatus_changeToken :: Lens' GetChangeTokenStatus Text
+ Amazonka.WAF.GetChangeTokenStatus: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance Control.DeepSeq.NFData Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance Control.DeepSeq.NFData Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
+ Amazonka.WAF.GetChangeTokenStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance GHC.Classes.Eq Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance GHC.Classes.Eq Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
+ Amazonka.WAF.GetChangeTokenStatus: instance GHC.Generics.Generic Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance GHC.Generics.Generic Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
+ Amazonka.WAF.GetChangeTokenStatus: instance GHC.Read.Read Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance GHC.Read.Read Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
+ Amazonka.WAF.GetChangeTokenStatus: instance GHC.Show.Show Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: instance GHC.Show.Show Amazonka.WAF.GetChangeTokenStatus.GetChangeTokenStatusResponse
+ Amazonka.WAF.GetChangeTokenStatus: newGetChangeTokenStatus :: Text -> GetChangeTokenStatus
+ Amazonka.WAF.GetChangeTokenStatus: newGetChangeTokenStatusResponse :: Int -> GetChangeTokenStatusResponse
+ Amazonka.WAF.GetGeoMatchSet: GetGeoMatchSet' :: Text -> GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: GetGeoMatchSetResponse' :: Maybe GeoMatchSet -> Int -> GetGeoMatchSetResponse
+ Amazonka.WAF.GetGeoMatchSet: [$sel:geoMatchSet:GetGeoMatchSetResponse'] :: GetGeoMatchSetResponse -> Maybe GeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: [$sel:geoMatchSetId:GetGeoMatchSet'] :: GetGeoMatchSet -> Text
+ Amazonka.WAF.GetGeoMatchSet: [$sel:httpStatus:GetGeoMatchSetResponse'] :: GetGeoMatchSetResponse -> Int
+ Amazonka.WAF.GetGeoMatchSet: data GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: data GetGeoMatchSetResponse
+ Amazonka.WAF.GetGeoMatchSet: getGeoMatchSetResponse_geoMatchSet :: Lens' GetGeoMatchSetResponse (Maybe GeoMatchSet)
+ Amazonka.WAF.GetGeoMatchSet: getGeoMatchSetResponse_httpStatus :: Lens' GetGeoMatchSetResponse Int
+ Amazonka.WAF.GetGeoMatchSet: getGeoMatchSet_geoMatchSetId :: Lens' GetGeoMatchSet Text
+ Amazonka.WAF.GetGeoMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
+ Amazonka.WAF.GetGeoMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
+ Amazonka.WAF.GetGeoMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
+ Amazonka.WAF.GetGeoMatchSet: instance GHC.Read.Read Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance GHC.Read.Read Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
+ Amazonka.WAF.GetGeoMatchSet: instance GHC.Show.Show Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: instance GHC.Show.Show Amazonka.WAF.GetGeoMatchSet.GetGeoMatchSetResponse
+ Amazonka.WAF.GetGeoMatchSet: newGetGeoMatchSet :: Text -> GetGeoMatchSet
+ Amazonka.WAF.GetGeoMatchSet: newGetGeoMatchSetResponse :: Int -> GetGeoMatchSetResponse
+ Amazonka.WAF.GetIPSet: GetIPSet' :: Text -> GetIPSet
+ Amazonka.WAF.GetIPSet: GetIPSetResponse' :: Maybe IPSet -> Int -> GetIPSetResponse
+ Amazonka.WAF.GetIPSet: [$sel:httpStatus:GetIPSetResponse'] :: GetIPSetResponse -> Int
+ Amazonka.WAF.GetIPSet: [$sel:iPSet:GetIPSetResponse'] :: GetIPSetResponse -> Maybe IPSet
+ Amazonka.WAF.GetIPSet: [$sel:iPSetId:GetIPSet'] :: GetIPSet -> Text
+ Amazonka.WAF.GetIPSet: data GetIPSet
+ Amazonka.WAF.GetIPSet: data GetIPSetResponse
+ Amazonka.WAF.GetIPSet: getIPSetResponse_httpStatus :: Lens' GetIPSetResponse Int
+ Amazonka.WAF.GetIPSet: getIPSetResponse_iPSet :: Lens' GetIPSetResponse (Maybe IPSet)
+ Amazonka.WAF.GetIPSet: getIPSet_iPSetId :: Lens' GetIPSet Text
+ Amazonka.WAF.GetIPSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetIPSet.GetIPSetResponse
+ Amazonka.WAF.GetIPSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance GHC.Classes.Eq Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance GHC.Classes.Eq Amazonka.WAF.GetIPSet.GetIPSetResponse
+ Amazonka.WAF.GetIPSet: instance GHC.Generics.Generic Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance GHC.Generics.Generic Amazonka.WAF.GetIPSet.GetIPSetResponse
+ Amazonka.WAF.GetIPSet: instance GHC.Read.Read Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance GHC.Read.Read Amazonka.WAF.GetIPSet.GetIPSetResponse
+ Amazonka.WAF.GetIPSet: instance GHC.Show.Show Amazonka.WAF.GetIPSet.GetIPSet
+ Amazonka.WAF.GetIPSet: instance GHC.Show.Show Amazonka.WAF.GetIPSet.GetIPSetResponse
+ Amazonka.WAF.GetIPSet: newGetIPSet :: Text -> GetIPSet
+ Amazonka.WAF.GetIPSet: newGetIPSetResponse :: Int -> GetIPSetResponse
+ Amazonka.WAF.GetLoggingConfiguration: GetLoggingConfiguration' :: Text -> GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: GetLoggingConfigurationResponse' :: Maybe LoggingConfiguration -> Int -> GetLoggingConfigurationResponse
+ Amazonka.WAF.GetLoggingConfiguration: [$sel:httpStatus:GetLoggingConfigurationResponse'] :: GetLoggingConfigurationResponse -> Int
+ Amazonka.WAF.GetLoggingConfiguration: [$sel:loggingConfiguration:GetLoggingConfigurationResponse'] :: GetLoggingConfigurationResponse -> Maybe LoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: [$sel:resourceArn:GetLoggingConfiguration'] :: GetLoggingConfiguration -> Text
+ Amazonka.WAF.GetLoggingConfiguration: data GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: data GetLoggingConfigurationResponse
+ Amazonka.WAF.GetLoggingConfiguration: getLoggingConfigurationResponse_httpStatus :: Lens' GetLoggingConfigurationResponse Int
+ Amazonka.WAF.GetLoggingConfiguration: getLoggingConfigurationResponse_loggingConfiguration :: Lens' GetLoggingConfigurationResponse (Maybe LoggingConfiguration)
+ Amazonka.WAF.GetLoggingConfiguration: getLoggingConfiguration_resourceArn :: Lens' GetLoggingConfiguration Text
+ Amazonka.WAF.GetLoggingConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance Control.DeepSeq.NFData Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance Control.DeepSeq.NFData Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfigurationResponse
+ Amazonka.WAF.GetLoggingConfiguration: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance GHC.Classes.Eq Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance GHC.Classes.Eq Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfigurationResponse
+ Amazonka.WAF.GetLoggingConfiguration: instance GHC.Generics.Generic Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance GHC.Generics.Generic Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfigurationResponse
+ Amazonka.WAF.GetLoggingConfiguration: instance GHC.Read.Read Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance GHC.Read.Read Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfigurationResponse
+ Amazonka.WAF.GetLoggingConfiguration: instance GHC.Show.Show Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: instance GHC.Show.Show Amazonka.WAF.GetLoggingConfiguration.GetLoggingConfigurationResponse
+ Amazonka.WAF.GetLoggingConfiguration: newGetLoggingConfiguration :: Text -> GetLoggingConfiguration
+ Amazonka.WAF.GetLoggingConfiguration: newGetLoggingConfigurationResponse :: Int -> GetLoggingConfigurationResponse
+ Amazonka.WAF.GetPermissionPolicy: GetPermissionPolicy' :: Text -> GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: GetPermissionPolicyResponse' :: Maybe Text -> Int -> GetPermissionPolicyResponse
+ Amazonka.WAF.GetPermissionPolicy: [$sel:httpStatus:GetPermissionPolicyResponse'] :: GetPermissionPolicyResponse -> Int
+ Amazonka.WAF.GetPermissionPolicy: [$sel:policy:GetPermissionPolicyResponse'] :: GetPermissionPolicyResponse -> Maybe Text
+ Amazonka.WAF.GetPermissionPolicy: [$sel:resourceArn:GetPermissionPolicy'] :: GetPermissionPolicy -> Text
+ Amazonka.WAF.GetPermissionPolicy: data GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: data GetPermissionPolicyResponse
+ Amazonka.WAF.GetPermissionPolicy: getPermissionPolicyResponse_httpStatus :: Lens' GetPermissionPolicyResponse Int
+ Amazonka.WAF.GetPermissionPolicy: getPermissionPolicyResponse_policy :: Lens' GetPermissionPolicyResponse (Maybe Text)
+ Amazonka.WAF.GetPermissionPolicy: getPermissionPolicy_resourceArn :: Lens' GetPermissionPolicy Text
+ Amazonka.WAF.GetPermissionPolicy: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance Control.DeepSeq.NFData Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance Control.DeepSeq.NFData Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
+ Amazonka.WAF.GetPermissionPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance GHC.Classes.Eq Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance GHC.Classes.Eq Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
+ Amazonka.WAF.GetPermissionPolicy: instance GHC.Generics.Generic Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance GHC.Generics.Generic Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
+ Amazonka.WAF.GetPermissionPolicy: instance GHC.Read.Read Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance GHC.Read.Read Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
+ Amazonka.WAF.GetPermissionPolicy: instance GHC.Show.Show Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: instance GHC.Show.Show Amazonka.WAF.GetPermissionPolicy.GetPermissionPolicyResponse
+ Amazonka.WAF.GetPermissionPolicy: newGetPermissionPolicy :: Text -> GetPermissionPolicy
+ Amazonka.WAF.GetPermissionPolicy: newGetPermissionPolicyResponse :: Int -> GetPermissionPolicyResponse
+ Amazonka.WAF.GetRateBasedRule: GetRateBasedRule' :: Text -> GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: GetRateBasedRuleResponse' :: Maybe RateBasedRule -> Int -> GetRateBasedRuleResponse
+ Amazonka.WAF.GetRateBasedRule: [$sel:httpStatus:GetRateBasedRuleResponse'] :: GetRateBasedRuleResponse -> Int
+ Amazonka.WAF.GetRateBasedRule: [$sel:rule:GetRateBasedRuleResponse'] :: GetRateBasedRuleResponse -> Maybe RateBasedRule
+ Amazonka.WAF.GetRateBasedRule: [$sel:ruleId:GetRateBasedRule'] :: GetRateBasedRule -> Text
+ Amazonka.WAF.GetRateBasedRule: data GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: data GetRateBasedRuleResponse
+ Amazonka.WAF.GetRateBasedRule: getRateBasedRuleResponse_httpStatus :: Lens' GetRateBasedRuleResponse Int
+ Amazonka.WAF.GetRateBasedRule: getRateBasedRuleResponse_rule :: Lens' GetRateBasedRuleResponse (Maybe RateBasedRule)
+ Amazonka.WAF.GetRateBasedRule: getRateBasedRule_ruleId :: Lens' GetRateBasedRule Text
+ Amazonka.WAF.GetRateBasedRule: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance Control.DeepSeq.NFData Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance Control.DeepSeq.NFData Amazonka.WAF.GetRateBasedRule.GetRateBasedRuleResponse
+ Amazonka.WAF.GetRateBasedRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance GHC.Classes.Eq Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance GHC.Classes.Eq Amazonka.WAF.GetRateBasedRule.GetRateBasedRuleResponse
+ Amazonka.WAF.GetRateBasedRule: instance GHC.Generics.Generic Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance GHC.Generics.Generic Amazonka.WAF.GetRateBasedRule.GetRateBasedRuleResponse
+ Amazonka.WAF.GetRateBasedRule: instance GHC.Read.Read Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance GHC.Read.Read Amazonka.WAF.GetRateBasedRule.GetRateBasedRuleResponse
+ Amazonka.WAF.GetRateBasedRule: instance GHC.Show.Show Amazonka.WAF.GetRateBasedRule.GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: instance GHC.Show.Show Amazonka.WAF.GetRateBasedRule.GetRateBasedRuleResponse
+ Amazonka.WAF.GetRateBasedRule: newGetRateBasedRule :: Text -> GetRateBasedRule
+ Amazonka.WAF.GetRateBasedRule: newGetRateBasedRuleResponse :: Int -> GetRateBasedRuleResponse
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: GetRateBasedRuleManagedKeys' :: Maybe Text -> Text -> GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: GetRateBasedRuleManagedKeysResponse' :: Maybe [Text] -> Maybe Text -> Int -> GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: [$sel:httpStatus:GetRateBasedRuleManagedKeysResponse'] :: GetRateBasedRuleManagedKeysResponse -> Int
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: [$sel:managedKeys:GetRateBasedRuleManagedKeysResponse'] :: GetRateBasedRuleManagedKeysResponse -> Maybe [Text]
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: [$sel:nextMarker:GetRateBasedRuleManagedKeys'] :: GetRateBasedRuleManagedKeys -> Maybe Text
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: [$sel:nextMarker:GetRateBasedRuleManagedKeysResponse'] :: GetRateBasedRuleManagedKeysResponse -> Maybe Text
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: [$sel:ruleId:GetRateBasedRuleManagedKeys'] :: GetRateBasedRuleManagedKeys -> Text
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: data GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: data GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: getRateBasedRuleManagedKeysResponse_httpStatus :: Lens' GetRateBasedRuleManagedKeysResponse Int
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: getRateBasedRuleManagedKeysResponse_managedKeys :: Lens' GetRateBasedRuleManagedKeysResponse (Maybe [Text])
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: getRateBasedRuleManagedKeysResponse_nextMarker :: Lens' GetRateBasedRuleManagedKeysResponse (Maybe Text)
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: getRateBasedRuleManagedKeys_nextMarker :: Lens' GetRateBasedRuleManagedKeys (Maybe Text)
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: getRateBasedRuleManagedKeys_ruleId :: Lens' GetRateBasedRuleManagedKeys Text
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance Amazonka.Pager.AWSPager Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance Control.DeepSeq.NFData Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance Control.DeepSeq.NFData Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance GHC.Classes.Eq Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance GHC.Classes.Eq Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance GHC.Generics.Generic Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance GHC.Generics.Generic Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance GHC.Read.Read Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance GHC.Read.Read Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance GHC.Show.Show Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: instance GHC.Show.Show Amazonka.WAF.GetRateBasedRuleManagedKeys.GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: newGetRateBasedRuleManagedKeys :: Text -> GetRateBasedRuleManagedKeys
+ Amazonka.WAF.GetRateBasedRuleManagedKeys: newGetRateBasedRuleManagedKeysResponse :: Int -> GetRateBasedRuleManagedKeysResponse
+ Amazonka.WAF.GetRegexMatchSet: GetRegexMatchSet' :: Text -> GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: GetRegexMatchSetResponse' :: Maybe RegexMatchSet -> Int -> GetRegexMatchSetResponse
+ Amazonka.WAF.GetRegexMatchSet: [$sel:httpStatus:GetRegexMatchSetResponse'] :: GetRegexMatchSetResponse -> Int
+ Amazonka.WAF.GetRegexMatchSet: [$sel:regexMatchSet:GetRegexMatchSetResponse'] :: GetRegexMatchSetResponse -> Maybe RegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: [$sel:regexMatchSetId:GetRegexMatchSet'] :: GetRegexMatchSet -> Text
+ Amazonka.WAF.GetRegexMatchSet: data GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: data GetRegexMatchSetResponse
+ Amazonka.WAF.GetRegexMatchSet: getRegexMatchSetResponse_httpStatus :: Lens' GetRegexMatchSetResponse Int
+ Amazonka.WAF.GetRegexMatchSet: getRegexMatchSetResponse_regexMatchSet :: Lens' GetRegexMatchSetResponse (Maybe RegexMatchSet)
+ Amazonka.WAF.GetRegexMatchSet: getRegexMatchSet_regexMatchSetId :: Lens' GetRegexMatchSet Text
+ Amazonka.WAF.GetRegexMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
+ Amazonka.WAF.GetRegexMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
+ Amazonka.WAF.GetRegexMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
+ Amazonka.WAF.GetRegexMatchSet: instance GHC.Read.Read Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance GHC.Read.Read Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
+ Amazonka.WAF.GetRegexMatchSet: instance GHC.Show.Show Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: instance GHC.Show.Show Amazonka.WAF.GetRegexMatchSet.GetRegexMatchSetResponse
+ Amazonka.WAF.GetRegexMatchSet: newGetRegexMatchSet :: Text -> GetRegexMatchSet
+ Amazonka.WAF.GetRegexMatchSet: newGetRegexMatchSetResponse :: Int -> GetRegexMatchSetResponse
+ Amazonka.WAF.GetRegexPatternSet: GetRegexPatternSet' :: Text -> GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: GetRegexPatternSetResponse' :: Maybe RegexPatternSet -> Int -> GetRegexPatternSetResponse
+ Amazonka.WAF.GetRegexPatternSet: [$sel:httpStatus:GetRegexPatternSetResponse'] :: GetRegexPatternSetResponse -> Int
+ Amazonka.WAF.GetRegexPatternSet: [$sel:regexPatternSet:GetRegexPatternSetResponse'] :: GetRegexPatternSetResponse -> Maybe RegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: [$sel:regexPatternSetId:GetRegexPatternSet'] :: GetRegexPatternSet -> Text
+ Amazonka.WAF.GetRegexPatternSet: data GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: data GetRegexPatternSetResponse
+ Amazonka.WAF.GetRegexPatternSet: getRegexPatternSetResponse_httpStatus :: Lens' GetRegexPatternSetResponse Int
+ Amazonka.WAF.GetRegexPatternSet: getRegexPatternSetResponse_regexPatternSet :: Lens' GetRegexPatternSetResponse (Maybe RegexPatternSet)
+ Amazonka.WAF.GetRegexPatternSet: getRegexPatternSet_regexPatternSetId :: Lens' GetRegexPatternSet Text
+ Amazonka.WAF.GetRegexPatternSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
+ Amazonka.WAF.GetRegexPatternSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance GHC.Classes.Eq Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance GHC.Classes.Eq Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
+ Amazonka.WAF.GetRegexPatternSet: instance GHC.Generics.Generic Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance GHC.Generics.Generic Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
+ Amazonka.WAF.GetRegexPatternSet: instance GHC.Read.Read Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance GHC.Read.Read Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
+ Amazonka.WAF.GetRegexPatternSet: instance GHC.Show.Show Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: instance GHC.Show.Show Amazonka.WAF.GetRegexPatternSet.GetRegexPatternSetResponse
+ Amazonka.WAF.GetRegexPatternSet: newGetRegexPatternSet :: Text -> GetRegexPatternSet
+ Amazonka.WAF.GetRegexPatternSet: newGetRegexPatternSetResponse :: Int -> GetRegexPatternSetResponse
+ Amazonka.WAF.GetRule: GetRule' :: Text -> GetRule
+ Amazonka.WAF.GetRule: GetRuleResponse' :: Maybe Rule -> Int -> GetRuleResponse
+ Amazonka.WAF.GetRule: [$sel:httpStatus:GetRuleResponse'] :: GetRuleResponse -> Int
+ Amazonka.WAF.GetRule: [$sel:rule:GetRuleResponse'] :: GetRuleResponse -> Maybe Rule
+ Amazonka.WAF.GetRule: [$sel:ruleId:GetRule'] :: GetRule -> Text
+ Amazonka.WAF.GetRule: data GetRule
+ Amazonka.WAF.GetRule: data GetRuleResponse
+ Amazonka.WAF.GetRule: getRuleResponse_httpStatus :: Lens' GetRuleResponse Int
+ Amazonka.WAF.GetRule: getRuleResponse_rule :: Lens' GetRuleResponse (Maybe Rule)
+ Amazonka.WAF.GetRule: getRule_ruleId :: Lens' GetRule Text
+ Amazonka.WAF.GetRule: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance Control.DeepSeq.NFData Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance Control.DeepSeq.NFData Amazonka.WAF.GetRule.GetRuleResponse
+ Amazonka.WAF.GetRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance GHC.Classes.Eq Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance GHC.Classes.Eq Amazonka.WAF.GetRule.GetRuleResponse
+ Amazonka.WAF.GetRule: instance GHC.Generics.Generic Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance GHC.Generics.Generic Amazonka.WAF.GetRule.GetRuleResponse
+ Amazonka.WAF.GetRule: instance GHC.Read.Read Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance GHC.Read.Read Amazonka.WAF.GetRule.GetRuleResponse
+ Amazonka.WAF.GetRule: instance GHC.Show.Show Amazonka.WAF.GetRule.GetRule
+ Amazonka.WAF.GetRule: instance GHC.Show.Show Amazonka.WAF.GetRule.GetRuleResponse
+ Amazonka.WAF.GetRule: newGetRule :: Text -> GetRule
+ Amazonka.WAF.GetRule: newGetRuleResponse :: Int -> GetRuleResponse
+ Amazonka.WAF.GetRuleGroup: GetRuleGroup' :: Text -> GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: GetRuleGroupResponse' :: Maybe RuleGroup -> Int -> GetRuleGroupResponse
+ Amazonka.WAF.GetRuleGroup: [$sel:httpStatus:GetRuleGroupResponse'] :: GetRuleGroupResponse -> Int
+ Amazonka.WAF.GetRuleGroup: [$sel:ruleGroup:GetRuleGroupResponse'] :: GetRuleGroupResponse -> Maybe RuleGroup
+ Amazonka.WAF.GetRuleGroup: [$sel:ruleGroupId:GetRuleGroup'] :: GetRuleGroup -> Text
+ Amazonka.WAF.GetRuleGroup: data GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: data GetRuleGroupResponse
+ Amazonka.WAF.GetRuleGroup: getRuleGroupResponse_httpStatus :: Lens' GetRuleGroupResponse Int
+ Amazonka.WAF.GetRuleGroup: getRuleGroupResponse_ruleGroup :: Lens' GetRuleGroupResponse (Maybe RuleGroup)
+ Amazonka.WAF.GetRuleGroup: getRuleGroup_ruleGroupId :: Lens' GetRuleGroup Text
+ Amazonka.WAF.GetRuleGroup: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.GetRuleGroup.GetRuleGroupResponse
+ Amazonka.WAF.GetRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.GetRuleGroup.GetRuleGroupResponse
+ Amazonka.WAF.GetRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.GetRuleGroup.GetRuleGroupResponse
+ Amazonka.WAF.GetRuleGroup: instance GHC.Read.Read Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance GHC.Read.Read Amazonka.WAF.GetRuleGroup.GetRuleGroupResponse
+ Amazonka.WAF.GetRuleGroup: instance GHC.Show.Show Amazonka.WAF.GetRuleGroup.GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: instance GHC.Show.Show Amazonka.WAF.GetRuleGroup.GetRuleGroupResponse
+ Amazonka.WAF.GetRuleGroup: newGetRuleGroup :: Text -> GetRuleGroup
+ Amazonka.WAF.GetRuleGroup: newGetRuleGroupResponse :: Int -> GetRuleGroupResponse
+ Amazonka.WAF.GetSampledRequests: GetSampledRequests' :: Text -> Text -> TimeWindow -> Natural -> GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: GetSampledRequestsResponse' :: Maybe Integer -> Maybe [SampledHTTPRequest] -> Maybe TimeWindow -> Int -> GetSampledRequestsResponse
+ Amazonka.WAF.GetSampledRequests: [$sel:httpStatus:GetSampledRequestsResponse'] :: GetSampledRequestsResponse -> Int
+ Amazonka.WAF.GetSampledRequests: [$sel:maxItems:GetSampledRequests'] :: GetSampledRequests -> Natural
+ Amazonka.WAF.GetSampledRequests: [$sel:populationSize:GetSampledRequestsResponse'] :: GetSampledRequestsResponse -> Maybe Integer
+ Amazonka.WAF.GetSampledRequests: [$sel:ruleId:GetSampledRequests'] :: GetSampledRequests -> Text
+ Amazonka.WAF.GetSampledRequests: [$sel:sampledRequests:GetSampledRequestsResponse'] :: GetSampledRequestsResponse -> Maybe [SampledHTTPRequest]
+ Amazonka.WAF.GetSampledRequests: [$sel:timeWindow:GetSampledRequests'] :: GetSampledRequests -> TimeWindow
+ Amazonka.WAF.GetSampledRequests: [$sel:timeWindow:GetSampledRequestsResponse'] :: GetSampledRequestsResponse -> Maybe TimeWindow
+ Amazonka.WAF.GetSampledRequests: [$sel:webAclId:GetSampledRequests'] :: GetSampledRequests -> Text
+ Amazonka.WAF.GetSampledRequests: data GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: data GetSampledRequestsResponse
+ Amazonka.WAF.GetSampledRequests: getSampledRequestsResponse_httpStatus :: Lens' GetSampledRequestsResponse Int
+ Amazonka.WAF.GetSampledRequests: getSampledRequestsResponse_populationSize :: Lens' GetSampledRequestsResponse (Maybe Integer)
+ Amazonka.WAF.GetSampledRequests: getSampledRequestsResponse_sampledRequests :: Lens' GetSampledRequestsResponse (Maybe [SampledHTTPRequest])
+ Amazonka.WAF.GetSampledRequests: getSampledRequestsResponse_timeWindow :: Lens' GetSampledRequestsResponse (Maybe TimeWindow)
+ Amazonka.WAF.GetSampledRequests: getSampledRequests_maxItems :: Lens' GetSampledRequests Natural
+ Amazonka.WAF.GetSampledRequests: getSampledRequests_ruleId :: Lens' GetSampledRequests Text
+ Amazonka.WAF.GetSampledRequests: getSampledRequests_timeWindow :: Lens' GetSampledRequests TimeWindow
+ Amazonka.WAF.GetSampledRequests: getSampledRequests_webAclId :: Lens' GetSampledRequests Text
+ Amazonka.WAF.GetSampledRequests: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance Control.DeepSeq.NFData Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance Control.DeepSeq.NFData Amazonka.WAF.GetSampledRequests.GetSampledRequestsResponse
+ Amazonka.WAF.GetSampledRequests: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance GHC.Classes.Eq Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance GHC.Classes.Eq Amazonka.WAF.GetSampledRequests.GetSampledRequestsResponse
+ Amazonka.WAF.GetSampledRequests: instance GHC.Generics.Generic Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance GHC.Generics.Generic Amazonka.WAF.GetSampledRequests.GetSampledRequestsResponse
+ Amazonka.WAF.GetSampledRequests: instance GHC.Read.Read Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance GHC.Read.Read Amazonka.WAF.GetSampledRequests.GetSampledRequestsResponse
+ Amazonka.WAF.GetSampledRequests: instance GHC.Show.Show Amazonka.WAF.GetSampledRequests.GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: instance GHC.Show.Show Amazonka.WAF.GetSampledRequests.GetSampledRequestsResponse
+ Amazonka.WAF.GetSampledRequests: newGetSampledRequests :: Text -> Text -> TimeWindow -> Natural -> GetSampledRequests
+ Amazonka.WAF.GetSampledRequests: newGetSampledRequestsResponse :: Int -> GetSampledRequestsResponse
+ Amazonka.WAF.GetSizeConstraintSet: GetSizeConstraintSet' :: Text -> GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: GetSizeConstraintSetResponse' :: Maybe SizeConstraintSet -> Int -> GetSizeConstraintSetResponse
+ Amazonka.WAF.GetSizeConstraintSet: [$sel:httpStatus:GetSizeConstraintSetResponse'] :: GetSizeConstraintSetResponse -> Int
+ Amazonka.WAF.GetSizeConstraintSet: [$sel:sizeConstraintSet:GetSizeConstraintSetResponse'] :: GetSizeConstraintSetResponse -> Maybe SizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: [$sel:sizeConstraintSetId:GetSizeConstraintSet'] :: GetSizeConstraintSet -> Text
+ Amazonka.WAF.GetSizeConstraintSet: data GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: data GetSizeConstraintSetResponse
+ Amazonka.WAF.GetSizeConstraintSet: getSizeConstraintSetResponse_httpStatus :: Lens' GetSizeConstraintSetResponse Int
+ Amazonka.WAF.GetSizeConstraintSet: getSizeConstraintSetResponse_sizeConstraintSet :: Lens' GetSizeConstraintSetResponse (Maybe SizeConstraintSet)
+ Amazonka.WAF.GetSizeConstraintSet: getSizeConstraintSet_sizeConstraintSetId :: Lens' GetSizeConstraintSet Text
+ Amazonka.WAF.GetSizeConstraintSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
+ Amazonka.WAF.GetSizeConstraintSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance GHC.Classes.Eq Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance GHC.Classes.Eq Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
+ Amazonka.WAF.GetSizeConstraintSet: instance GHC.Generics.Generic Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance GHC.Generics.Generic Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
+ Amazonka.WAF.GetSizeConstraintSet: instance GHC.Read.Read Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance GHC.Read.Read Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
+ Amazonka.WAF.GetSizeConstraintSet: instance GHC.Show.Show Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: instance GHC.Show.Show Amazonka.WAF.GetSizeConstraintSet.GetSizeConstraintSetResponse
+ Amazonka.WAF.GetSizeConstraintSet: newGetSizeConstraintSet :: Text -> GetSizeConstraintSet
+ Amazonka.WAF.GetSizeConstraintSet: newGetSizeConstraintSetResponse :: Int -> GetSizeConstraintSetResponse
+ Amazonka.WAF.GetSqlInjectionMatchSet: GetSqlInjectionMatchSet' :: Text -> GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: GetSqlInjectionMatchSetResponse' :: Maybe SqlInjectionMatchSet -> Int -> GetSqlInjectionMatchSetResponse
+ Amazonka.WAF.GetSqlInjectionMatchSet: [$sel:httpStatus:GetSqlInjectionMatchSetResponse'] :: GetSqlInjectionMatchSetResponse -> Int
+ Amazonka.WAF.GetSqlInjectionMatchSet: [$sel:sqlInjectionMatchSet:GetSqlInjectionMatchSetResponse'] :: GetSqlInjectionMatchSetResponse -> Maybe SqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: [$sel:sqlInjectionMatchSetId:GetSqlInjectionMatchSet'] :: GetSqlInjectionMatchSet -> Text
+ Amazonka.WAF.GetSqlInjectionMatchSet: data GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: data GetSqlInjectionMatchSetResponse
+ Amazonka.WAF.GetSqlInjectionMatchSet: getSqlInjectionMatchSetResponse_httpStatus :: Lens' GetSqlInjectionMatchSetResponse Int
+ Amazonka.WAF.GetSqlInjectionMatchSet: getSqlInjectionMatchSetResponse_sqlInjectionMatchSet :: Lens' GetSqlInjectionMatchSetResponse (Maybe SqlInjectionMatchSet)
+ Amazonka.WAF.GetSqlInjectionMatchSet: getSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' GetSqlInjectionMatchSet Text
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance GHC.Read.Read Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance GHC.Read.Read Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance GHC.Show.Show Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: instance GHC.Show.Show Amazonka.WAF.GetSqlInjectionMatchSet.GetSqlInjectionMatchSetResponse
+ Amazonka.WAF.GetSqlInjectionMatchSet: newGetSqlInjectionMatchSet :: Text -> GetSqlInjectionMatchSet
+ Amazonka.WAF.GetSqlInjectionMatchSet: newGetSqlInjectionMatchSetResponse :: Int -> GetSqlInjectionMatchSetResponse
+ Amazonka.WAF.GetWebACL: GetWebACL' :: Text -> GetWebACL
+ Amazonka.WAF.GetWebACL: GetWebACLResponse' :: Maybe WebACL -> Int -> GetWebACLResponse
+ Amazonka.WAF.GetWebACL: [$sel:httpStatus:GetWebACLResponse'] :: GetWebACLResponse -> Int
+ Amazonka.WAF.GetWebACL: [$sel:webACL:GetWebACLResponse'] :: GetWebACLResponse -> Maybe WebACL
+ Amazonka.WAF.GetWebACL: [$sel:webACLId:GetWebACL'] :: GetWebACL -> Text
+ Amazonka.WAF.GetWebACL: data GetWebACL
+ Amazonka.WAF.GetWebACL: data GetWebACLResponse
+ Amazonka.WAF.GetWebACL: getWebACLResponse_httpStatus :: Lens' GetWebACLResponse Int
+ Amazonka.WAF.GetWebACL: getWebACLResponse_webACL :: Lens' GetWebACLResponse (Maybe WebACL)
+ Amazonka.WAF.GetWebACL: getWebACL_webACLId :: Lens' GetWebACL Text
+ Amazonka.WAF.GetWebACL: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance Control.DeepSeq.NFData Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance Control.DeepSeq.NFData Amazonka.WAF.GetWebACL.GetWebACLResponse
+ Amazonka.WAF.GetWebACL: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance GHC.Classes.Eq Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance GHC.Classes.Eq Amazonka.WAF.GetWebACL.GetWebACLResponse
+ Amazonka.WAF.GetWebACL: instance GHC.Generics.Generic Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance GHC.Generics.Generic Amazonka.WAF.GetWebACL.GetWebACLResponse
+ Amazonka.WAF.GetWebACL: instance GHC.Read.Read Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance GHC.Read.Read Amazonka.WAF.GetWebACL.GetWebACLResponse
+ Amazonka.WAF.GetWebACL: instance GHC.Show.Show Amazonka.WAF.GetWebACL.GetWebACL
+ Amazonka.WAF.GetWebACL: instance GHC.Show.Show Amazonka.WAF.GetWebACL.GetWebACLResponse
+ Amazonka.WAF.GetWebACL: newGetWebACL :: Text -> GetWebACL
+ Amazonka.WAF.GetWebACL: newGetWebACLResponse :: Int -> GetWebACLResponse
+ Amazonka.WAF.GetXssMatchSet: GetXssMatchSet' :: Text -> GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: GetXssMatchSetResponse' :: Maybe XssMatchSet -> Int -> GetXssMatchSetResponse
+ Amazonka.WAF.GetXssMatchSet: [$sel:httpStatus:GetXssMatchSetResponse'] :: GetXssMatchSetResponse -> Int
+ Amazonka.WAF.GetXssMatchSet: [$sel:xssMatchSet:GetXssMatchSetResponse'] :: GetXssMatchSetResponse -> Maybe XssMatchSet
+ Amazonka.WAF.GetXssMatchSet: [$sel:xssMatchSetId:GetXssMatchSet'] :: GetXssMatchSet -> Text
+ Amazonka.WAF.GetXssMatchSet: data GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: data GetXssMatchSetResponse
+ Amazonka.WAF.GetXssMatchSet: getXssMatchSetResponse_httpStatus :: Lens' GetXssMatchSetResponse Int
+ Amazonka.WAF.GetXssMatchSet: getXssMatchSetResponse_xssMatchSet :: Lens' GetXssMatchSetResponse (Maybe XssMatchSet)
+ Amazonka.WAF.GetXssMatchSet: getXssMatchSet_xssMatchSetId :: Lens' GetXssMatchSet Text
+ Amazonka.WAF.GetXssMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.GetXssMatchSet.GetXssMatchSetResponse
+ Amazonka.WAF.GetXssMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance GHC.Classes.Eq Amazonka.WAF.GetXssMatchSet.GetXssMatchSetResponse
+ Amazonka.WAF.GetXssMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance GHC.Generics.Generic Amazonka.WAF.GetXssMatchSet.GetXssMatchSetResponse
+ Amazonka.WAF.GetXssMatchSet: instance GHC.Read.Read Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance GHC.Read.Read Amazonka.WAF.GetXssMatchSet.GetXssMatchSetResponse
+ Amazonka.WAF.GetXssMatchSet: instance GHC.Show.Show Amazonka.WAF.GetXssMatchSet.GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: instance GHC.Show.Show Amazonka.WAF.GetXssMatchSet.GetXssMatchSetResponse
+ Amazonka.WAF.GetXssMatchSet: newGetXssMatchSet :: Text -> GetXssMatchSet
+ Amazonka.WAF.GetXssMatchSet: newGetXssMatchSetResponse :: Int -> GetXssMatchSetResponse
+ Amazonka.WAF.Lens: activatedRule_action :: Lens' ActivatedRule (Maybe WafAction)
+ Amazonka.WAF.Lens: activatedRule_excludedRules :: Lens' ActivatedRule (Maybe [ExcludedRule])
+ Amazonka.WAF.Lens: activatedRule_overrideAction :: Lens' ActivatedRule (Maybe WafOverrideAction)
+ Amazonka.WAF.Lens: activatedRule_priority :: Lens' ActivatedRule Int
+ Amazonka.WAF.Lens: activatedRule_ruleId :: Lens' ActivatedRule Text
+ Amazonka.WAF.Lens: activatedRule_type :: Lens' ActivatedRule (Maybe WafRuleType)
+ Amazonka.WAF.Lens: byteMatchSetSummary_byteMatchSetId :: Lens' ByteMatchSetSummary Text
+ Amazonka.WAF.Lens: byteMatchSetSummary_name :: Lens' ByteMatchSetSummary Text
+ Amazonka.WAF.Lens: byteMatchSetUpdate_action :: Lens' ByteMatchSetUpdate ChangeAction
+ Amazonka.WAF.Lens: byteMatchSetUpdate_byteMatchTuple :: Lens' ByteMatchSetUpdate ByteMatchTuple
+ Amazonka.WAF.Lens: byteMatchSet_byteMatchSetId :: Lens' ByteMatchSet Text
+ Amazonka.WAF.Lens: byteMatchSet_byteMatchTuples :: Lens' ByteMatchSet [ByteMatchTuple]
+ Amazonka.WAF.Lens: byteMatchSet_name :: Lens' ByteMatchSet (Maybe Text)
+ Amazonka.WAF.Lens: byteMatchTuple_fieldToMatch :: Lens' ByteMatchTuple FieldToMatch
+ Amazonka.WAF.Lens: byteMatchTuple_positionalConstraint :: Lens' ByteMatchTuple PositionalConstraint
+ Amazonka.WAF.Lens: byteMatchTuple_targetString :: Lens' ByteMatchTuple ByteString
+ Amazonka.WAF.Lens: byteMatchTuple_textTransformation :: Lens' ByteMatchTuple TextTransformation
+ Amazonka.WAF.Lens: createByteMatchSetResponse_byteMatchSet :: Lens' CreateByteMatchSetResponse (Maybe ByteMatchSet)
+ Amazonka.WAF.Lens: createByteMatchSetResponse_changeToken :: Lens' CreateByteMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: createByteMatchSetResponse_httpStatus :: Lens' CreateByteMatchSetResponse Int
+ Amazonka.WAF.Lens: createByteMatchSet_changeToken :: Lens' CreateByteMatchSet Text
+ Amazonka.WAF.Lens: createByteMatchSet_name :: Lens' CreateByteMatchSet Text
+ Amazonka.WAF.Lens: createGeoMatchSetResponse_changeToken :: Lens' CreateGeoMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: createGeoMatchSetResponse_geoMatchSet :: Lens' CreateGeoMatchSetResponse (Maybe GeoMatchSet)
+ Amazonka.WAF.Lens: createGeoMatchSetResponse_httpStatus :: Lens' CreateGeoMatchSetResponse Int
+ Amazonka.WAF.Lens: createGeoMatchSet_changeToken :: Lens' CreateGeoMatchSet Text
+ Amazonka.WAF.Lens: createGeoMatchSet_name :: Lens' CreateGeoMatchSet Text
+ Amazonka.WAF.Lens: createIPSetResponse_changeToken :: Lens' CreateIPSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: createIPSetResponse_httpStatus :: Lens' CreateIPSetResponse Int
+ Amazonka.WAF.Lens: createIPSetResponse_iPSet :: Lens' CreateIPSetResponse (Maybe IPSet)
+ Amazonka.WAF.Lens: createIPSet_changeToken :: Lens' CreateIPSet Text
+ Amazonka.WAF.Lens: createIPSet_name :: Lens' CreateIPSet Text
+ Amazonka.WAF.Lens: createRateBasedRuleResponse_changeToken :: Lens' CreateRateBasedRuleResponse (Maybe Text)
+ Amazonka.WAF.Lens: createRateBasedRuleResponse_httpStatus :: Lens' CreateRateBasedRuleResponse Int
+ Amazonka.WAF.Lens: createRateBasedRuleResponse_rule :: Lens' CreateRateBasedRuleResponse (Maybe RateBasedRule)
+ Amazonka.WAF.Lens: createRateBasedRule_changeToken :: Lens' CreateRateBasedRule Text
+ Amazonka.WAF.Lens: createRateBasedRule_metricName :: Lens' CreateRateBasedRule Text
+ Amazonka.WAF.Lens: createRateBasedRule_name :: Lens' CreateRateBasedRule Text
+ Amazonka.WAF.Lens: createRateBasedRule_rateKey :: Lens' CreateRateBasedRule RateKey
+ Amazonka.WAF.Lens: createRateBasedRule_rateLimit :: Lens' CreateRateBasedRule Natural
+ Amazonka.WAF.Lens: createRateBasedRule_tags :: Lens' CreateRateBasedRule (Maybe (NonEmpty Tag))
+ Amazonka.WAF.Lens: createRegexMatchSetResponse_changeToken :: Lens' CreateRegexMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: createRegexMatchSetResponse_httpStatus :: Lens' CreateRegexMatchSetResponse Int
+ Amazonka.WAF.Lens: createRegexMatchSetResponse_regexMatchSet :: Lens' CreateRegexMatchSetResponse (Maybe RegexMatchSet)
+ Amazonka.WAF.Lens: createRegexMatchSet_changeToken :: Lens' CreateRegexMatchSet Text
+ Amazonka.WAF.Lens: createRegexMatchSet_name :: Lens' CreateRegexMatchSet Text
+ Amazonka.WAF.Lens: createRegexPatternSetResponse_changeToken :: Lens' CreateRegexPatternSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: createRegexPatternSetResponse_httpStatus :: Lens' CreateRegexPatternSetResponse Int
+ Amazonka.WAF.Lens: createRegexPatternSetResponse_regexPatternSet :: Lens' CreateRegexPatternSetResponse (Maybe RegexPatternSet)
+ Amazonka.WAF.Lens: createRegexPatternSet_changeToken :: Lens' CreateRegexPatternSet Text
+ Amazonka.WAF.Lens: createRegexPatternSet_name :: Lens' CreateRegexPatternSet Text
+ Amazonka.WAF.Lens: createRuleGroupResponse_changeToken :: Lens' CreateRuleGroupResponse (Maybe Text)
+ Amazonka.WAF.Lens: createRuleGroupResponse_httpStatus :: Lens' CreateRuleGroupResponse Int
+ Amazonka.WAF.Lens: createRuleGroupResponse_ruleGroup :: Lens' CreateRuleGroupResponse (Maybe RuleGroup)
+ Amazonka.WAF.Lens: createRuleGroup_changeToken :: Lens' CreateRuleGroup Text
+ Amazonka.WAF.Lens: createRuleGroup_metricName :: Lens' CreateRuleGroup Text
+ Amazonka.WAF.Lens: createRuleGroup_name :: Lens' CreateRuleGroup Text
+ Amazonka.WAF.Lens: createRuleGroup_tags :: Lens' CreateRuleGroup (Maybe (NonEmpty Tag))
+ Amazonka.WAF.Lens: createRuleResponse_changeToken :: Lens' CreateRuleResponse (Maybe Text)
+ Amazonka.WAF.Lens: createRuleResponse_httpStatus :: Lens' CreateRuleResponse Int
+ Amazonka.WAF.Lens: createRuleResponse_rule :: Lens' CreateRuleResponse (Maybe Rule)
+ Amazonka.WAF.Lens: createRule_changeToken :: Lens' CreateRule Text
+ Amazonka.WAF.Lens: createRule_metricName :: Lens' CreateRule Text
+ Amazonka.WAF.Lens: createRule_name :: Lens' CreateRule Text
+ Amazonka.WAF.Lens: createRule_tags :: Lens' CreateRule (Maybe (NonEmpty Tag))
+ Amazonka.WAF.Lens: createSizeConstraintSetResponse_changeToken :: Lens' CreateSizeConstraintSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: createSizeConstraintSetResponse_httpStatus :: Lens' CreateSizeConstraintSetResponse Int
+ Amazonka.WAF.Lens: createSizeConstraintSetResponse_sizeConstraintSet :: Lens' CreateSizeConstraintSetResponse (Maybe SizeConstraintSet)
+ Amazonka.WAF.Lens: createSizeConstraintSet_changeToken :: Lens' CreateSizeConstraintSet Text
+ Amazonka.WAF.Lens: createSizeConstraintSet_name :: Lens' CreateSizeConstraintSet Text
+ Amazonka.WAF.Lens: createSqlInjectionMatchSetResponse_changeToken :: Lens' CreateSqlInjectionMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: createSqlInjectionMatchSetResponse_httpStatus :: Lens' CreateSqlInjectionMatchSetResponse Int
+ Amazonka.WAF.Lens: createSqlInjectionMatchSetResponse_sqlInjectionMatchSet :: Lens' CreateSqlInjectionMatchSetResponse (Maybe SqlInjectionMatchSet)
+ Amazonka.WAF.Lens: createSqlInjectionMatchSet_changeToken :: Lens' CreateSqlInjectionMatchSet Text
+ Amazonka.WAF.Lens: createSqlInjectionMatchSet_name :: Lens' CreateSqlInjectionMatchSet Text
+ Amazonka.WAF.Lens: createWebACLMigrationStackResponse_httpStatus :: Lens' CreateWebACLMigrationStackResponse Int
+ Amazonka.WAF.Lens: createWebACLMigrationStackResponse_s3ObjectUrl :: Lens' CreateWebACLMigrationStackResponse Text
+ Amazonka.WAF.Lens: createWebACLMigrationStack_ignoreUnsupportedType :: Lens' CreateWebACLMigrationStack Bool
+ Amazonka.WAF.Lens: createWebACLMigrationStack_s3BucketName :: Lens' CreateWebACLMigrationStack Text
+ Amazonka.WAF.Lens: createWebACLMigrationStack_webACLId :: Lens' CreateWebACLMigrationStack Text
+ Amazonka.WAF.Lens: createWebACLResponse_changeToken :: Lens' CreateWebACLResponse (Maybe Text)
+ Amazonka.WAF.Lens: createWebACLResponse_httpStatus :: Lens' CreateWebACLResponse Int
+ Amazonka.WAF.Lens: createWebACLResponse_webACL :: Lens' CreateWebACLResponse (Maybe WebACL)
+ Amazonka.WAF.Lens: createWebACL_changeToken :: Lens' CreateWebACL Text
+ Amazonka.WAF.Lens: createWebACL_defaultAction :: Lens' CreateWebACL WafAction
+ Amazonka.WAF.Lens: createWebACL_metricName :: Lens' CreateWebACL Text
+ Amazonka.WAF.Lens: createWebACL_name :: Lens' CreateWebACL Text
+ Amazonka.WAF.Lens: createWebACL_tags :: Lens' CreateWebACL (Maybe (NonEmpty Tag))
+ Amazonka.WAF.Lens: createXssMatchSetResponse_changeToken :: Lens' CreateXssMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: createXssMatchSetResponse_httpStatus :: Lens' CreateXssMatchSetResponse Int
+ Amazonka.WAF.Lens: createXssMatchSetResponse_xssMatchSet :: Lens' CreateXssMatchSetResponse (Maybe XssMatchSet)
+ Amazonka.WAF.Lens: createXssMatchSet_changeToken :: Lens' CreateXssMatchSet Text
+ Amazonka.WAF.Lens: createXssMatchSet_name :: Lens' CreateXssMatchSet Text
+ Amazonka.WAF.Lens: deleteByteMatchSetResponse_changeToken :: Lens' DeleteByteMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteByteMatchSetResponse_httpStatus :: Lens' DeleteByteMatchSetResponse Int
+ Amazonka.WAF.Lens: deleteByteMatchSet_byteMatchSetId :: Lens' DeleteByteMatchSet Text
+ Amazonka.WAF.Lens: deleteByteMatchSet_changeToken :: Lens' DeleteByteMatchSet Text
+ Amazonka.WAF.Lens: deleteGeoMatchSetResponse_changeToken :: Lens' DeleteGeoMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteGeoMatchSetResponse_httpStatus :: Lens' DeleteGeoMatchSetResponse Int
+ Amazonka.WAF.Lens: deleteGeoMatchSet_changeToken :: Lens' DeleteGeoMatchSet Text
+ Amazonka.WAF.Lens: deleteGeoMatchSet_geoMatchSetId :: Lens' DeleteGeoMatchSet Text
+ Amazonka.WAF.Lens: deleteIPSetResponse_changeToken :: Lens' DeleteIPSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteIPSetResponse_httpStatus :: Lens' DeleteIPSetResponse Int
+ Amazonka.WAF.Lens: deleteIPSet_changeToken :: Lens' DeleteIPSet Text
+ Amazonka.WAF.Lens: deleteIPSet_iPSetId :: Lens' DeleteIPSet Text
+ Amazonka.WAF.Lens: deleteLoggingConfigurationResponse_httpStatus :: Lens' DeleteLoggingConfigurationResponse Int
+ Amazonka.WAF.Lens: deleteLoggingConfiguration_resourceArn :: Lens' DeleteLoggingConfiguration Text
+ Amazonka.WAF.Lens: deletePermissionPolicyResponse_httpStatus :: Lens' DeletePermissionPolicyResponse Int
+ Amazonka.WAF.Lens: deletePermissionPolicy_resourceArn :: Lens' DeletePermissionPolicy Text
+ Amazonka.WAF.Lens: deleteRateBasedRuleResponse_changeToken :: Lens' DeleteRateBasedRuleResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteRateBasedRuleResponse_httpStatus :: Lens' DeleteRateBasedRuleResponse Int
+ Amazonka.WAF.Lens: deleteRateBasedRule_changeToken :: Lens' DeleteRateBasedRule Text
+ Amazonka.WAF.Lens: deleteRateBasedRule_ruleId :: Lens' DeleteRateBasedRule Text
+ Amazonka.WAF.Lens: deleteRegexMatchSetResponse_changeToken :: Lens' DeleteRegexMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteRegexMatchSetResponse_httpStatus :: Lens' DeleteRegexMatchSetResponse Int
+ Amazonka.WAF.Lens: deleteRegexMatchSet_changeToken :: Lens' DeleteRegexMatchSet Text
+ Amazonka.WAF.Lens: deleteRegexMatchSet_regexMatchSetId :: Lens' DeleteRegexMatchSet Text
+ Amazonka.WAF.Lens: deleteRegexPatternSetResponse_changeToken :: Lens' DeleteRegexPatternSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteRegexPatternSetResponse_httpStatus :: Lens' DeleteRegexPatternSetResponse Int
+ Amazonka.WAF.Lens: deleteRegexPatternSet_changeToken :: Lens' DeleteRegexPatternSet Text
+ Amazonka.WAF.Lens: deleteRegexPatternSet_regexPatternSetId :: Lens' DeleteRegexPatternSet Text
+ Amazonka.WAF.Lens: deleteRuleGroupResponse_changeToken :: Lens' DeleteRuleGroupResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteRuleGroupResponse_httpStatus :: Lens' DeleteRuleGroupResponse Int
+ Amazonka.WAF.Lens: deleteRuleGroup_changeToken :: Lens' DeleteRuleGroup Text
+ Amazonka.WAF.Lens: deleteRuleGroup_ruleGroupId :: Lens' DeleteRuleGroup Text
+ Amazonka.WAF.Lens: deleteRuleResponse_changeToken :: Lens' DeleteRuleResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteRuleResponse_httpStatus :: Lens' DeleteRuleResponse Int
+ Amazonka.WAF.Lens: deleteRule_changeToken :: Lens' DeleteRule Text
+ Amazonka.WAF.Lens: deleteRule_ruleId :: Lens' DeleteRule Text
+ Amazonka.WAF.Lens: deleteSizeConstraintSetResponse_changeToken :: Lens' DeleteSizeConstraintSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteSizeConstraintSetResponse_httpStatus :: Lens' DeleteSizeConstraintSetResponse Int
+ Amazonka.WAF.Lens: deleteSizeConstraintSet_changeToken :: Lens' DeleteSizeConstraintSet Text
+ Amazonka.WAF.Lens: deleteSizeConstraintSet_sizeConstraintSetId :: Lens' DeleteSizeConstraintSet Text
+ Amazonka.WAF.Lens: deleteSqlInjectionMatchSetResponse_changeToken :: Lens' DeleteSqlInjectionMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteSqlInjectionMatchSetResponse_httpStatus :: Lens' DeleteSqlInjectionMatchSetResponse Int
+ Amazonka.WAF.Lens: deleteSqlInjectionMatchSet_changeToken :: Lens' DeleteSqlInjectionMatchSet Text
+ Amazonka.WAF.Lens: deleteSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' DeleteSqlInjectionMatchSet Text
+ Amazonka.WAF.Lens: deleteWebACLResponse_changeToken :: Lens' DeleteWebACLResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteWebACLResponse_httpStatus :: Lens' DeleteWebACLResponse Int
+ Amazonka.WAF.Lens: deleteWebACL_changeToken :: Lens' DeleteWebACL Text
+ Amazonka.WAF.Lens: deleteWebACL_webACLId :: Lens' DeleteWebACL Text
+ Amazonka.WAF.Lens: deleteXssMatchSetResponse_changeToken :: Lens' DeleteXssMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: deleteXssMatchSetResponse_httpStatus :: Lens' DeleteXssMatchSetResponse Int
+ Amazonka.WAF.Lens: deleteXssMatchSet_changeToken :: Lens' DeleteXssMatchSet Text
+ Amazonka.WAF.Lens: deleteXssMatchSet_xssMatchSetId :: Lens' DeleteXssMatchSet Text
+ Amazonka.WAF.Lens: excludedRule_ruleId :: Lens' ExcludedRule Text
+ Amazonka.WAF.Lens: fieldToMatch_data :: Lens' FieldToMatch (Maybe Text)
+ Amazonka.WAF.Lens: fieldToMatch_type :: Lens' FieldToMatch MatchFieldType
+ Amazonka.WAF.Lens: geoMatchConstraint_type :: Lens' GeoMatchConstraint GeoMatchConstraintType
+ Amazonka.WAF.Lens: geoMatchConstraint_value :: Lens' GeoMatchConstraint GeoMatchConstraintValue
+ Amazonka.WAF.Lens: geoMatchSetSummary_geoMatchSetId :: Lens' GeoMatchSetSummary Text
+ Amazonka.WAF.Lens: geoMatchSetSummary_name :: Lens' GeoMatchSetSummary Text
+ Amazonka.WAF.Lens: geoMatchSetUpdate_action :: Lens' GeoMatchSetUpdate ChangeAction
+ Amazonka.WAF.Lens: geoMatchSetUpdate_geoMatchConstraint :: Lens' GeoMatchSetUpdate GeoMatchConstraint
+ Amazonka.WAF.Lens: geoMatchSet_geoMatchConstraints :: Lens' GeoMatchSet [GeoMatchConstraint]
+ Amazonka.WAF.Lens: geoMatchSet_geoMatchSetId :: Lens' GeoMatchSet Text
+ Amazonka.WAF.Lens: geoMatchSet_name :: Lens' GeoMatchSet (Maybe Text)
+ Amazonka.WAF.Lens: getByteMatchSetResponse_byteMatchSet :: Lens' GetByteMatchSetResponse (Maybe ByteMatchSet)
+ Amazonka.WAF.Lens: getByteMatchSetResponse_httpStatus :: Lens' GetByteMatchSetResponse Int
+ Amazonka.WAF.Lens: getByteMatchSet_byteMatchSetId :: Lens' GetByteMatchSet Text
+ Amazonka.WAF.Lens: getChangeTokenResponse_changeToken :: Lens' GetChangeTokenResponse (Maybe Text)
+ Amazonka.WAF.Lens: getChangeTokenResponse_httpStatus :: Lens' GetChangeTokenResponse Int
+ Amazonka.WAF.Lens: getChangeTokenStatusResponse_changeTokenStatus :: Lens' GetChangeTokenStatusResponse (Maybe ChangeTokenStatus)
+ Amazonka.WAF.Lens: getChangeTokenStatusResponse_httpStatus :: Lens' GetChangeTokenStatusResponse Int
+ Amazonka.WAF.Lens: getChangeTokenStatus_changeToken :: Lens' GetChangeTokenStatus Text
+ Amazonka.WAF.Lens: getGeoMatchSetResponse_geoMatchSet :: Lens' GetGeoMatchSetResponse (Maybe GeoMatchSet)
+ Amazonka.WAF.Lens: getGeoMatchSetResponse_httpStatus :: Lens' GetGeoMatchSetResponse Int
+ Amazonka.WAF.Lens: getGeoMatchSet_geoMatchSetId :: Lens' GetGeoMatchSet Text
+ Amazonka.WAF.Lens: getIPSetResponse_httpStatus :: Lens' GetIPSetResponse Int
+ Amazonka.WAF.Lens: getIPSetResponse_iPSet :: Lens' GetIPSetResponse (Maybe IPSet)
+ Amazonka.WAF.Lens: getIPSet_iPSetId :: Lens' GetIPSet Text
+ Amazonka.WAF.Lens: getLoggingConfigurationResponse_httpStatus :: Lens' GetLoggingConfigurationResponse Int
+ Amazonka.WAF.Lens: getLoggingConfigurationResponse_loggingConfiguration :: Lens' GetLoggingConfigurationResponse (Maybe LoggingConfiguration)
+ Amazonka.WAF.Lens: getLoggingConfiguration_resourceArn :: Lens' GetLoggingConfiguration Text
+ Amazonka.WAF.Lens: getPermissionPolicyResponse_httpStatus :: Lens' GetPermissionPolicyResponse Int
+ Amazonka.WAF.Lens: getPermissionPolicyResponse_policy :: Lens' GetPermissionPolicyResponse (Maybe Text)
+ Amazonka.WAF.Lens: getPermissionPolicy_resourceArn :: Lens' GetPermissionPolicy Text
+ Amazonka.WAF.Lens: getRateBasedRuleManagedKeysResponse_httpStatus :: Lens' GetRateBasedRuleManagedKeysResponse Int
+ Amazonka.WAF.Lens: getRateBasedRuleManagedKeysResponse_managedKeys :: Lens' GetRateBasedRuleManagedKeysResponse (Maybe [Text])
+ Amazonka.WAF.Lens: getRateBasedRuleManagedKeysResponse_nextMarker :: Lens' GetRateBasedRuleManagedKeysResponse (Maybe Text)
+ Amazonka.WAF.Lens: getRateBasedRuleManagedKeys_nextMarker :: Lens' GetRateBasedRuleManagedKeys (Maybe Text)
+ Amazonka.WAF.Lens: getRateBasedRuleManagedKeys_ruleId :: Lens' GetRateBasedRuleManagedKeys Text
+ Amazonka.WAF.Lens: getRateBasedRuleResponse_httpStatus :: Lens' GetRateBasedRuleResponse Int
+ Amazonka.WAF.Lens: getRateBasedRuleResponse_rule :: Lens' GetRateBasedRuleResponse (Maybe RateBasedRule)
+ Amazonka.WAF.Lens: getRateBasedRule_ruleId :: Lens' GetRateBasedRule Text
+ Amazonka.WAF.Lens: getRegexMatchSetResponse_httpStatus :: Lens' GetRegexMatchSetResponse Int
+ Amazonka.WAF.Lens: getRegexMatchSetResponse_regexMatchSet :: Lens' GetRegexMatchSetResponse (Maybe RegexMatchSet)
+ Amazonka.WAF.Lens: getRegexMatchSet_regexMatchSetId :: Lens' GetRegexMatchSet Text
+ Amazonka.WAF.Lens: getRegexPatternSetResponse_httpStatus :: Lens' GetRegexPatternSetResponse Int
+ Amazonka.WAF.Lens: getRegexPatternSetResponse_regexPatternSet :: Lens' GetRegexPatternSetResponse (Maybe RegexPatternSet)
+ Amazonka.WAF.Lens: getRegexPatternSet_regexPatternSetId :: Lens' GetRegexPatternSet Text
+ Amazonka.WAF.Lens: getRuleGroupResponse_httpStatus :: Lens' GetRuleGroupResponse Int
+ Amazonka.WAF.Lens: getRuleGroupResponse_ruleGroup :: Lens' GetRuleGroupResponse (Maybe RuleGroup)
+ Amazonka.WAF.Lens: getRuleGroup_ruleGroupId :: Lens' GetRuleGroup Text
+ Amazonka.WAF.Lens: getRuleResponse_httpStatus :: Lens' GetRuleResponse Int
+ Amazonka.WAF.Lens: getRuleResponse_rule :: Lens' GetRuleResponse (Maybe Rule)
+ Amazonka.WAF.Lens: getRule_ruleId :: Lens' GetRule Text
+ Amazonka.WAF.Lens: getSampledRequestsResponse_httpStatus :: Lens' GetSampledRequestsResponse Int
+ Amazonka.WAF.Lens: getSampledRequestsResponse_populationSize :: Lens' GetSampledRequestsResponse (Maybe Integer)
+ Amazonka.WAF.Lens: getSampledRequestsResponse_sampledRequests :: Lens' GetSampledRequestsResponse (Maybe [SampledHTTPRequest])
+ Amazonka.WAF.Lens: getSampledRequestsResponse_timeWindow :: Lens' GetSampledRequestsResponse (Maybe TimeWindow)
+ Amazonka.WAF.Lens: getSampledRequests_maxItems :: Lens' GetSampledRequests Natural
+ Amazonka.WAF.Lens: getSampledRequests_ruleId :: Lens' GetSampledRequests Text
+ Amazonka.WAF.Lens: getSampledRequests_timeWindow :: Lens' GetSampledRequests TimeWindow
+ Amazonka.WAF.Lens: getSampledRequests_webAclId :: Lens' GetSampledRequests Text
+ Amazonka.WAF.Lens: getSizeConstraintSetResponse_httpStatus :: Lens' GetSizeConstraintSetResponse Int
+ Amazonka.WAF.Lens: getSizeConstraintSetResponse_sizeConstraintSet :: Lens' GetSizeConstraintSetResponse (Maybe SizeConstraintSet)
+ Amazonka.WAF.Lens: getSizeConstraintSet_sizeConstraintSetId :: Lens' GetSizeConstraintSet Text
+ Amazonka.WAF.Lens: getSqlInjectionMatchSetResponse_httpStatus :: Lens' GetSqlInjectionMatchSetResponse Int
+ Amazonka.WAF.Lens: getSqlInjectionMatchSetResponse_sqlInjectionMatchSet :: Lens' GetSqlInjectionMatchSetResponse (Maybe SqlInjectionMatchSet)
+ Amazonka.WAF.Lens: getSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' GetSqlInjectionMatchSet Text
+ Amazonka.WAF.Lens: getWebACLResponse_httpStatus :: Lens' GetWebACLResponse Int
+ Amazonka.WAF.Lens: getWebACLResponse_webACL :: Lens' GetWebACLResponse (Maybe WebACL)
+ Amazonka.WAF.Lens: getWebACL_webACLId :: Lens' GetWebACL Text
+ Amazonka.WAF.Lens: getXssMatchSetResponse_httpStatus :: Lens' GetXssMatchSetResponse Int
+ Amazonka.WAF.Lens: getXssMatchSetResponse_xssMatchSet :: Lens' GetXssMatchSetResponse (Maybe XssMatchSet)
+ Amazonka.WAF.Lens: getXssMatchSet_xssMatchSetId :: Lens' GetXssMatchSet Text
+ Amazonka.WAF.Lens: hTTPHeader_name :: Lens' HTTPHeader (Maybe Text)
+ Amazonka.WAF.Lens: hTTPHeader_value :: Lens' HTTPHeader (Maybe Text)
+ Amazonka.WAF.Lens: hTTPRequest_clientIP :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Lens: hTTPRequest_country :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Lens: hTTPRequest_hTTPVersion :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Lens: hTTPRequest_headers :: Lens' HTTPRequest (Maybe [HTTPHeader])
+ Amazonka.WAF.Lens: hTTPRequest_method :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Lens: hTTPRequest_uri :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Lens: iPSetDescriptor_type :: Lens' IPSetDescriptor IPSetDescriptorType
+ Amazonka.WAF.Lens: iPSetDescriptor_value :: Lens' IPSetDescriptor Text
+ Amazonka.WAF.Lens: iPSetSummary_iPSetId :: Lens' IPSetSummary Text
+ Amazonka.WAF.Lens: iPSetSummary_name :: Lens' IPSetSummary Text
+ Amazonka.WAF.Lens: iPSetUpdate_action :: Lens' IPSetUpdate ChangeAction
+ Amazonka.WAF.Lens: iPSetUpdate_iPSetDescriptor :: Lens' IPSetUpdate IPSetDescriptor
+ Amazonka.WAF.Lens: iPSet_iPSetDescriptors :: Lens' IPSet [IPSetDescriptor]
+ Amazonka.WAF.Lens: iPSet_iPSetId :: Lens' IPSet Text
+ Amazonka.WAF.Lens: iPSet_name :: Lens' IPSet (Maybe Text)
+ Amazonka.WAF.Lens: listActivatedRulesInRuleGroupResponse_activatedRules :: Lens' ListActivatedRulesInRuleGroupResponse (Maybe [ActivatedRule])
+ Amazonka.WAF.Lens: listActivatedRulesInRuleGroupResponse_httpStatus :: Lens' ListActivatedRulesInRuleGroupResponse Int
+ Amazonka.WAF.Lens: listActivatedRulesInRuleGroupResponse_nextMarker :: Lens' ListActivatedRulesInRuleGroupResponse (Maybe Text)
+ Amazonka.WAF.Lens: listActivatedRulesInRuleGroup_limit :: Lens' ListActivatedRulesInRuleGroup (Maybe Natural)
+ Amazonka.WAF.Lens: listActivatedRulesInRuleGroup_nextMarker :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)
+ Amazonka.WAF.Lens: listActivatedRulesInRuleGroup_ruleGroupId :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)
+ Amazonka.WAF.Lens: listByteMatchSetsResponse_byteMatchSets :: Lens' ListByteMatchSetsResponse (Maybe [ByteMatchSetSummary])
+ Amazonka.WAF.Lens: listByteMatchSetsResponse_httpStatus :: Lens' ListByteMatchSetsResponse Int
+ Amazonka.WAF.Lens: listByteMatchSetsResponse_nextMarker :: Lens' ListByteMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listByteMatchSets_limit :: Lens' ListByteMatchSets (Maybe Natural)
+ Amazonka.WAF.Lens: listByteMatchSets_nextMarker :: Lens' ListByteMatchSets (Maybe Text)
+ Amazonka.WAF.Lens: listGeoMatchSetsResponse_geoMatchSets :: Lens' ListGeoMatchSetsResponse (Maybe [GeoMatchSetSummary])
+ Amazonka.WAF.Lens: listGeoMatchSetsResponse_httpStatus :: Lens' ListGeoMatchSetsResponse Int
+ Amazonka.WAF.Lens: listGeoMatchSetsResponse_nextMarker :: Lens' ListGeoMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listGeoMatchSets_limit :: Lens' ListGeoMatchSets (Maybe Natural)
+ Amazonka.WAF.Lens: listGeoMatchSets_nextMarker :: Lens' ListGeoMatchSets (Maybe Text)
+ Amazonka.WAF.Lens: listIPSetsResponse_httpStatus :: Lens' ListIPSetsResponse Int
+ Amazonka.WAF.Lens: listIPSetsResponse_iPSets :: Lens' ListIPSetsResponse (Maybe [IPSetSummary])
+ Amazonka.WAF.Lens: listIPSetsResponse_nextMarker :: Lens' ListIPSetsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listIPSets_limit :: Lens' ListIPSets (Maybe Natural)
+ Amazonka.WAF.Lens: listIPSets_nextMarker :: Lens' ListIPSets (Maybe Text)
+ Amazonka.WAF.Lens: listLoggingConfigurationsResponse_httpStatus :: Lens' ListLoggingConfigurationsResponse Int
+ Amazonka.WAF.Lens: listLoggingConfigurationsResponse_loggingConfigurations :: Lens' ListLoggingConfigurationsResponse (Maybe [LoggingConfiguration])
+ Amazonka.WAF.Lens: listLoggingConfigurationsResponse_nextMarker :: Lens' ListLoggingConfigurationsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listLoggingConfigurations_limit :: Lens' ListLoggingConfigurations (Maybe Natural)
+ Amazonka.WAF.Lens: listLoggingConfigurations_nextMarker :: Lens' ListLoggingConfigurations (Maybe Text)
+ Amazonka.WAF.Lens: listRateBasedRulesResponse_httpStatus :: Lens' ListRateBasedRulesResponse Int
+ Amazonka.WAF.Lens: listRateBasedRulesResponse_nextMarker :: Lens' ListRateBasedRulesResponse (Maybe Text)
+ Amazonka.WAF.Lens: listRateBasedRulesResponse_rules :: Lens' ListRateBasedRulesResponse (Maybe [RuleSummary])
+ Amazonka.WAF.Lens: listRateBasedRules_limit :: Lens' ListRateBasedRules (Maybe Natural)
+ Amazonka.WAF.Lens: listRateBasedRules_nextMarker :: Lens' ListRateBasedRules (Maybe Text)
+ Amazonka.WAF.Lens: listRegexMatchSetsResponse_httpStatus :: Lens' ListRegexMatchSetsResponse Int
+ Amazonka.WAF.Lens: listRegexMatchSetsResponse_nextMarker :: Lens' ListRegexMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listRegexMatchSetsResponse_regexMatchSets :: Lens' ListRegexMatchSetsResponse (Maybe [RegexMatchSetSummary])
+ Amazonka.WAF.Lens: listRegexMatchSets_limit :: Lens' ListRegexMatchSets (Maybe Natural)
+ Amazonka.WAF.Lens: listRegexMatchSets_nextMarker :: Lens' ListRegexMatchSets (Maybe Text)
+ Amazonka.WAF.Lens: listRegexPatternSetsResponse_httpStatus :: Lens' ListRegexPatternSetsResponse Int
+ Amazonka.WAF.Lens: listRegexPatternSetsResponse_nextMarker :: Lens' ListRegexPatternSetsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listRegexPatternSetsResponse_regexPatternSets :: Lens' ListRegexPatternSetsResponse (Maybe [RegexPatternSetSummary])
+ Amazonka.WAF.Lens: listRegexPatternSets_limit :: Lens' ListRegexPatternSets (Maybe Natural)
+ Amazonka.WAF.Lens: listRegexPatternSets_nextMarker :: Lens' ListRegexPatternSets (Maybe Text)
+ Amazonka.WAF.Lens: listRuleGroupsResponse_httpStatus :: Lens' ListRuleGroupsResponse Int
+ Amazonka.WAF.Lens: listRuleGroupsResponse_nextMarker :: Lens' ListRuleGroupsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listRuleGroupsResponse_ruleGroups :: Lens' ListRuleGroupsResponse (Maybe [RuleGroupSummary])
+ Amazonka.WAF.Lens: listRuleGroups_limit :: Lens' ListRuleGroups (Maybe Natural)
+ Amazonka.WAF.Lens: listRuleGroups_nextMarker :: Lens' ListRuleGroups (Maybe Text)
+ Amazonka.WAF.Lens: listRulesResponse_httpStatus :: Lens' ListRulesResponse Int
+ Amazonka.WAF.Lens: listRulesResponse_nextMarker :: Lens' ListRulesResponse (Maybe Text)
+ Amazonka.WAF.Lens: listRulesResponse_rules :: Lens' ListRulesResponse (Maybe [RuleSummary])
+ Amazonka.WAF.Lens: listRules_limit :: Lens' ListRules (Maybe Natural)
+ Amazonka.WAF.Lens: listRules_nextMarker :: Lens' ListRules (Maybe Text)
+ Amazonka.WAF.Lens: listSizeConstraintSetsResponse_httpStatus :: Lens' ListSizeConstraintSetsResponse Int
+ Amazonka.WAF.Lens: listSizeConstraintSetsResponse_nextMarker :: Lens' ListSizeConstraintSetsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listSizeConstraintSetsResponse_sizeConstraintSets :: Lens' ListSizeConstraintSetsResponse (Maybe [SizeConstraintSetSummary])
+ Amazonka.WAF.Lens: listSizeConstraintSets_limit :: Lens' ListSizeConstraintSets (Maybe Natural)
+ Amazonka.WAF.Lens: listSizeConstraintSets_nextMarker :: Lens' ListSizeConstraintSets (Maybe Text)
+ Amazonka.WAF.Lens: listSqlInjectionMatchSetsResponse_httpStatus :: Lens' ListSqlInjectionMatchSetsResponse Int
+ Amazonka.WAF.Lens: listSqlInjectionMatchSetsResponse_nextMarker :: Lens' ListSqlInjectionMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listSqlInjectionMatchSetsResponse_sqlInjectionMatchSets :: Lens' ListSqlInjectionMatchSetsResponse (Maybe [SqlInjectionMatchSetSummary])
+ Amazonka.WAF.Lens: listSqlInjectionMatchSets_limit :: Lens' ListSqlInjectionMatchSets (Maybe Natural)
+ Amazonka.WAF.Lens: listSqlInjectionMatchSets_nextMarker :: Lens' ListSqlInjectionMatchSets (Maybe Text)
+ Amazonka.WAF.Lens: listSubscribedRuleGroupsResponse_httpStatus :: Lens' ListSubscribedRuleGroupsResponse Int
+ Amazonka.WAF.Lens: listSubscribedRuleGroupsResponse_nextMarker :: Lens' ListSubscribedRuleGroupsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listSubscribedRuleGroupsResponse_ruleGroups :: Lens' ListSubscribedRuleGroupsResponse (Maybe [SubscribedRuleGroupSummary])
+ Amazonka.WAF.Lens: listSubscribedRuleGroups_limit :: Lens' ListSubscribedRuleGroups (Maybe Natural)
+ Amazonka.WAF.Lens: listSubscribedRuleGroups_nextMarker :: Lens' ListSubscribedRuleGroups (Maybe Text)
+ Amazonka.WAF.Lens: listTagsForResourceResponse_httpStatus :: Lens' ListTagsForResourceResponse Int
+ Amazonka.WAF.Lens: listTagsForResourceResponse_nextMarker :: Lens' ListTagsForResourceResponse (Maybe Text)
+ Amazonka.WAF.Lens: listTagsForResourceResponse_tagInfoForResource :: Lens' ListTagsForResourceResponse (Maybe TagInfoForResource)
+ Amazonka.WAF.Lens: listTagsForResource_limit :: Lens' ListTagsForResource (Maybe Natural)
+ Amazonka.WAF.Lens: listTagsForResource_nextMarker :: Lens' ListTagsForResource (Maybe Text)
+ Amazonka.WAF.Lens: listTagsForResource_resourceARN :: Lens' ListTagsForResource Text
+ Amazonka.WAF.Lens: listWebACLsResponse_httpStatus :: Lens' ListWebACLsResponse Int
+ Amazonka.WAF.Lens: listWebACLsResponse_nextMarker :: Lens' ListWebACLsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listWebACLsResponse_webACLs :: Lens' ListWebACLsResponse (Maybe [WebACLSummary])
+ Amazonka.WAF.Lens: listWebACLs_limit :: Lens' ListWebACLs (Maybe Natural)
+ Amazonka.WAF.Lens: listWebACLs_nextMarker :: Lens' ListWebACLs (Maybe Text)
+ Amazonka.WAF.Lens: listXssMatchSetsResponse_httpStatus :: Lens' ListXssMatchSetsResponse Int
+ Amazonka.WAF.Lens: listXssMatchSetsResponse_nextMarker :: Lens' ListXssMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.Lens: listXssMatchSetsResponse_xssMatchSets :: Lens' ListXssMatchSetsResponse (Maybe [XssMatchSetSummary])
+ Amazonka.WAF.Lens: listXssMatchSets_limit :: Lens' ListXssMatchSets (Maybe Natural)
+ Amazonka.WAF.Lens: listXssMatchSets_nextMarker :: Lens' ListXssMatchSets (Maybe Text)
+ Amazonka.WAF.Lens: loggingConfiguration_logDestinationConfigs :: Lens' LoggingConfiguration (NonEmpty Text)
+ Amazonka.WAF.Lens: loggingConfiguration_redactedFields :: Lens' LoggingConfiguration (Maybe [FieldToMatch])
+ Amazonka.WAF.Lens: loggingConfiguration_resourceArn :: Lens' LoggingConfiguration Text
+ Amazonka.WAF.Lens: predicate_dataId :: Lens' Predicate Text
+ Amazonka.WAF.Lens: predicate_negated :: Lens' Predicate Bool
+ Amazonka.WAF.Lens: predicate_type :: Lens' Predicate PredicateType
+ Amazonka.WAF.Lens: putLoggingConfigurationResponse_httpStatus :: Lens' PutLoggingConfigurationResponse Int
+ Amazonka.WAF.Lens: putLoggingConfigurationResponse_loggingConfiguration :: Lens' PutLoggingConfigurationResponse (Maybe LoggingConfiguration)
+ Amazonka.WAF.Lens: putLoggingConfiguration_loggingConfiguration :: Lens' PutLoggingConfiguration LoggingConfiguration
+ Amazonka.WAF.Lens: putPermissionPolicyResponse_httpStatus :: Lens' PutPermissionPolicyResponse Int
+ Amazonka.WAF.Lens: putPermissionPolicy_policy :: Lens' PutPermissionPolicy Text
+ Amazonka.WAF.Lens: putPermissionPolicy_resourceArn :: Lens' PutPermissionPolicy Text
+ Amazonka.WAF.Lens: rateBasedRule_matchPredicates :: Lens' RateBasedRule [Predicate]
+ Amazonka.WAF.Lens: rateBasedRule_metricName :: Lens' RateBasedRule (Maybe Text)
+ Amazonka.WAF.Lens: rateBasedRule_name :: Lens' RateBasedRule (Maybe Text)
+ Amazonka.WAF.Lens: rateBasedRule_rateKey :: Lens' RateBasedRule RateKey
+ Amazonka.WAF.Lens: rateBasedRule_rateLimit :: Lens' RateBasedRule Natural
+ Amazonka.WAF.Lens: rateBasedRule_ruleId :: Lens' RateBasedRule Text
+ Amazonka.WAF.Lens: regexMatchSetSummary_name :: Lens' RegexMatchSetSummary Text
+ Amazonka.WAF.Lens: regexMatchSetSummary_regexMatchSetId :: Lens' RegexMatchSetSummary Text
+ Amazonka.WAF.Lens: regexMatchSetUpdate_action :: Lens' RegexMatchSetUpdate ChangeAction
+ Amazonka.WAF.Lens: regexMatchSetUpdate_regexMatchTuple :: Lens' RegexMatchSetUpdate RegexMatchTuple
+ Amazonka.WAF.Lens: regexMatchSet_name :: Lens' RegexMatchSet (Maybe Text)
+ Amazonka.WAF.Lens: regexMatchSet_regexMatchSetId :: Lens' RegexMatchSet (Maybe Text)
+ Amazonka.WAF.Lens: regexMatchSet_regexMatchTuples :: Lens' RegexMatchSet (Maybe [RegexMatchTuple])
+ Amazonka.WAF.Lens: regexMatchTuple_fieldToMatch :: Lens' RegexMatchTuple FieldToMatch
+ Amazonka.WAF.Lens: regexMatchTuple_regexPatternSetId :: Lens' RegexMatchTuple Text
+ Amazonka.WAF.Lens: regexMatchTuple_textTransformation :: Lens' RegexMatchTuple TextTransformation
+ Amazonka.WAF.Lens: regexPatternSetSummary_name :: Lens' RegexPatternSetSummary Text
+ Amazonka.WAF.Lens: regexPatternSetSummary_regexPatternSetId :: Lens' RegexPatternSetSummary Text
+ Amazonka.WAF.Lens: regexPatternSetUpdate_action :: Lens' RegexPatternSetUpdate ChangeAction
+ Amazonka.WAF.Lens: regexPatternSetUpdate_regexPatternString :: Lens' RegexPatternSetUpdate Text
+ Amazonka.WAF.Lens: regexPatternSet_name :: Lens' RegexPatternSet (Maybe Text)
+ Amazonka.WAF.Lens: regexPatternSet_regexPatternSetId :: Lens' RegexPatternSet Text
+ Amazonka.WAF.Lens: regexPatternSet_regexPatternStrings :: Lens' RegexPatternSet [Text]
+ Amazonka.WAF.Lens: ruleGroupSummary_name :: Lens' RuleGroupSummary Text
+ Amazonka.WAF.Lens: ruleGroupSummary_ruleGroupId :: Lens' RuleGroupSummary Text
+ Amazonka.WAF.Lens: ruleGroupUpdate_action :: Lens' RuleGroupUpdate ChangeAction
+ Amazonka.WAF.Lens: ruleGroupUpdate_activatedRule :: Lens' RuleGroupUpdate ActivatedRule
+ Amazonka.WAF.Lens: ruleGroup_metricName :: Lens' RuleGroup (Maybe Text)
+ Amazonka.WAF.Lens: ruleGroup_name :: Lens' RuleGroup (Maybe Text)
+ Amazonka.WAF.Lens: ruleGroup_ruleGroupId :: Lens' RuleGroup Text
+ Amazonka.WAF.Lens: ruleSummary_name :: Lens' RuleSummary Text
+ Amazonka.WAF.Lens: ruleSummary_ruleId :: Lens' RuleSummary Text
+ Amazonka.WAF.Lens: ruleUpdate_action :: Lens' RuleUpdate ChangeAction
+ Amazonka.WAF.Lens: ruleUpdate_predicate :: Lens' RuleUpdate Predicate
+ Amazonka.WAF.Lens: rule_metricName :: Lens' Rule (Maybe Text)
+ Amazonka.WAF.Lens: rule_name :: Lens' Rule (Maybe Text)
+ Amazonka.WAF.Lens: rule_predicates :: Lens' Rule [Predicate]
+ Amazonka.WAF.Lens: rule_ruleId :: Lens' Rule Text
+ Amazonka.WAF.Lens: sampledHTTPRequest_action :: Lens' SampledHTTPRequest (Maybe Text)
+ Amazonka.WAF.Lens: sampledHTTPRequest_request :: Lens' SampledHTTPRequest HTTPRequest
+ Amazonka.WAF.Lens: sampledHTTPRequest_ruleWithinRuleGroup :: Lens' SampledHTTPRequest (Maybe Text)
+ Amazonka.WAF.Lens: sampledHTTPRequest_timestamp :: Lens' SampledHTTPRequest (Maybe UTCTime)
+ Amazonka.WAF.Lens: sampledHTTPRequest_weight :: Lens' SampledHTTPRequest Natural
+ Amazonka.WAF.Lens: sizeConstraintSetSummary_name :: Lens' SizeConstraintSetSummary Text
+ Amazonka.WAF.Lens: sizeConstraintSetSummary_sizeConstraintSetId :: Lens' SizeConstraintSetSummary Text
+ Amazonka.WAF.Lens: sizeConstraintSetUpdate_action :: Lens' SizeConstraintSetUpdate ChangeAction
+ Amazonka.WAF.Lens: sizeConstraintSetUpdate_sizeConstraint :: Lens' SizeConstraintSetUpdate SizeConstraint
+ Amazonka.WAF.Lens: sizeConstraintSet_name :: Lens' SizeConstraintSet (Maybe Text)
+ Amazonka.WAF.Lens: sizeConstraintSet_sizeConstraintSetId :: Lens' SizeConstraintSet Text
+ Amazonka.WAF.Lens: sizeConstraintSet_sizeConstraints :: Lens' SizeConstraintSet [SizeConstraint]
+ Amazonka.WAF.Lens: sizeConstraint_comparisonOperator :: Lens' SizeConstraint ComparisonOperator
+ Amazonka.WAF.Lens: sizeConstraint_fieldToMatch :: Lens' SizeConstraint FieldToMatch
+ Amazonka.WAF.Lens: sizeConstraint_size :: Lens' SizeConstraint Natural
+ Amazonka.WAF.Lens: sizeConstraint_textTransformation :: Lens' SizeConstraint TextTransformation
+ Amazonka.WAF.Lens: sqlInjectionMatchSetSummary_name :: Lens' SqlInjectionMatchSetSummary Text
+ Amazonka.WAF.Lens: sqlInjectionMatchSetSummary_sqlInjectionMatchSetId :: Lens' SqlInjectionMatchSetSummary Text
+ Amazonka.WAF.Lens: sqlInjectionMatchSetUpdate_action :: Lens' SqlInjectionMatchSetUpdate ChangeAction
+ Amazonka.WAF.Lens: sqlInjectionMatchSetUpdate_sqlInjectionMatchTuple :: Lens' SqlInjectionMatchSetUpdate SqlInjectionMatchTuple
+ Amazonka.WAF.Lens: sqlInjectionMatchSet_name :: Lens' SqlInjectionMatchSet (Maybe Text)
+ Amazonka.WAF.Lens: sqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' SqlInjectionMatchSet Text
+ Amazonka.WAF.Lens: sqlInjectionMatchSet_sqlInjectionMatchTuples :: Lens' SqlInjectionMatchSet [SqlInjectionMatchTuple]
+ Amazonka.WAF.Lens: sqlInjectionMatchTuple_fieldToMatch :: Lens' SqlInjectionMatchTuple FieldToMatch
+ Amazonka.WAF.Lens: sqlInjectionMatchTuple_textTransformation :: Lens' SqlInjectionMatchTuple TextTransformation
+ Amazonka.WAF.Lens: subscribedRuleGroupSummary_metricName :: Lens' SubscribedRuleGroupSummary Text
+ Amazonka.WAF.Lens: subscribedRuleGroupSummary_name :: Lens' SubscribedRuleGroupSummary Text
+ Amazonka.WAF.Lens: subscribedRuleGroupSummary_ruleGroupId :: Lens' SubscribedRuleGroupSummary Text
+ Amazonka.WAF.Lens: tagInfoForResource_resourceARN :: Lens' TagInfoForResource (Maybe Text)
+ Amazonka.WAF.Lens: tagInfoForResource_tagList :: Lens' TagInfoForResource (Maybe (NonEmpty Tag))
+ Amazonka.WAF.Lens: tagResourceResponse_httpStatus :: Lens' TagResourceResponse Int
+ Amazonka.WAF.Lens: tagResource_resourceARN :: Lens' TagResource Text
+ Amazonka.WAF.Lens: tagResource_tags :: Lens' TagResource (NonEmpty Tag)
+ Amazonka.WAF.Lens: tag_key :: Lens' Tag Text
+ Amazonka.WAF.Lens: tag_value :: Lens' Tag Text
+ Amazonka.WAF.Lens: timeWindow_endTime :: Lens' TimeWindow UTCTime
+ Amazonka.WAF.Lens: timeWindow_startTime :: Lens' TimeWindow UTCTime
+ Amazonka.WAF.Lens: untagResourceResponse_httpStatus :: Lens' UntagResourceResponse Int
+ Amazonka.WAF.Lens: untagResource_resourceARN :: Lens' UntagResource Text
+ Amazonka.WAF.Lens: untagResource_tagKeys :: Lens' UntagResource (NonEmpty Text)
+ Amazonka.WAF.Lens: updateByteMatchSetResponse_changeToken :: Lens' UpdateByteMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateByteMatchSetResponse_httpStatus :: Lens' UpdateByteMatchSetResponse Int
+ Amazonka.WAF.Lens: updateByteMatchSet_byteMatchSetId :: Lens' UpdateByteMatchSet Text
+ Amazonka.WAF.Lens: updateByteMatchSet_changeToken :: Lens' UpdateByteMatchSet Text
+ Amazonka.WAF.Lens: updateByteMatchSet_updates :: Lens' UpdateByteMatchSet (NonEmpty ByteMatchSetUpdate)
+ Amazonka.WAF.Lens: updateGeoMatchSetResponse_changeToken :: Lens' UpdateGeoMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateGeoMatchSetResponse_httpStatus :: Lens' UpdateGeoMatchSetResponse Int
+ Amazonka.WAF.Lens: updateGeoMatchSet_changeToken :: Lens' UpdateGeoMatchSet Text
+ Amazonka.WAF.Lens: updateGeoMatchSet_geoMatchSetId :: Lens' UpdateGeoMatchSet Text
+ Amazonka.WAF.Lens: updateGeoMatchSet_updates :: Lens' UpdateGeoMatchSet (NonEmpty GeoMatchSetUpdate)
+ Amazonka.WAF.Lens: updateIPSetResponse_changeToken :: Lens' UpdateIPSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateIPSetResponse_httpStatus :: Lens' UpdateIPSetResponse Int
+ Amazonka.WAF.Lens: updateIPSet_changeToken :: Lens' UpdateIPSet Text
+ Amazonka.WAF.Lens: updateIPSet_iPSetId :: Lens' UpdateIPSet Text
+ Amazonka.WAF.Lens: updateIPSet_updates :: Lens' UpdateIPSet (NonEmpty IPSetUpdate)
+ Amazonka.WAF.Lens: updateRateBasedRuleResponse_changeToken :: Lens' UpdateRateBasedRuleResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateRateBasedRuleResponse_httpStatus :: Lens' UpdateRateBasedRuleResponse Int
+ Amazonka.WAF.Lens: updateRateBasedRule_changeToken :: Lens' UpdateRateBasedRule Text
+ Amazonka.WAF.Lens: updateRateBasedRule_rateLimit :: Lens' UpdateRateBasedRule Natural
+ Amazonka.WAF.Lens: updateRateBasedRule_ruleId :: Lens' UpdateRateBasedRule Text
+ Amazonka.WAF.Lens: updateRateBasedRule_updates :: Lens' UpdateRateBasedRule [RuleUpdate]
+ Amazonka.WAF.Lens: updateRegexMatchSetResponse_changeToken :: Lens' UpdateRegexMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateRegexMatchSetResponse_httpStatus :: Lens' UpdateRegexMatchSetResponse Int
+ Amazonka.WAF.Lens: updateRegexMatchSet_changeToken :: Lens' UpdateRegexMatchSet Text
+ Amazonka.WAF.Lens: updateRegexMatchSet_regexMatchSetId :: Lens' UpdateRegexMatchSet Text
+ Amazonka.WAF.Lens: updateRegexMatchSet_updates :: Lens' UpdateRegexMatchSet (NonEmpty RegexMatchSetUpdate)
+ Amazonka.WAF.Lens: updateRegexPatternSetResponse_changeToken :: Lens' UpdateRegexPatternSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateRegexPatternSetResponse_httpStatus :: Lens' UpdateRegexPatternSetResponse Int
+ Amazonka.WAF.Lens: updateRegexPatternSet_changeToken :: Lens' UpdateRegexPatternSet Text
+ Amazonka.WAF.Lens: updateRegexPatternSet_regexPatternSetId :: Lens' UpdateRegexPatternSet Text
+ Amazonka.WAF.Lens: updateRegexPatternSet_updates :: Lens' UpdateRegexPatternSet (NonEmpty RegexPatternSetUpdate)
+ Amazonka.WAF.Lens: updateRuleGroupResponse_changeToken :: Lens' UpdateRuleGroupResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateRuleGroupResponse_httpStatus :: Lens' UpdateRuleGroupResponse Int
+ Amazonka.WAF.Lens: updateRuleGroup_changeToken :: Lens' UpdateRuleGroup Text
+ Amazonka.WAF.Lens: updateRuleGroup_ruleGroupId :: Lens' UpdateRuleGroup Text
+ Amazonka.WAF.Lens: updateRuleGroup_updates :: Lens' UpdateRuleGroup (NonEmpty RuleGroupUpdate)
+ Amazonka.WAF.Lens: updateRuleResponse_changeToken :: Lens' UpdateRuleResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateRuleResponse_httpStatus :: Lens' UpdateRuleResponse Int
+ Amazonka.WAF.Lens: updateRule_changeToken :: Lens' UpdateRule Text
+ Amazonka.WAF.Lens: updateRule_ruleId :: Lens' UpdateRule Text
+ Amazonka.WAF.Lens: updateRule_updates :: Lens' UpdateRule [RuleUpdate]
+ Amazonka.WAF.Lens: updateSizeConstraintSetResponse_changeToken :: Lens' UpdateSizeConstraintSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateSizeConstraintSetResponse_httpStatus :: Lens' UpdateSizeConstraintSetResponse Int
+ Amazonka.WAF.Lens: updateSizeConstraintSet_changeToken :: Lens' UpdateSizeConstraintSet Text
+ Amazonka.WAF.Lens: updateSizeConstraintSet_sizeConstraintSetId :: Lens' UpdateSizeConstraintSet Text
+ Amazonka.WAF.Lens: updateSizeConstraintSet_updates :: Lens' UpdateSizeConstraintSet (NonEmpty SizeConstraintSetUpdate)
+ Amazonka.WAF.Lens: updateSqlInjectionMatchSetResponse_changeToken :: Lens' UpdateSqlInjectionMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateSqlInjectionMatchSetResponse_httpStatus :: Lens' UpdateSqlInjectionMatchSetResponse Int
+ Amazonka.WAF.Lens: updateSqlInjectionMatchSet_changeToken :: Lens' UpdateSqlInjectionMatchSet Text
+ Amazonka.WAF.Lens: updateSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' UpdateSqlInjectionMatchSet Text
+ Amazonka.WAF.Lens: updateSqlInjectionMatchSet_updates :: Lens' UpdateSqlInjectionMatchSet (NonEmpty SqlInjectionMatchSetUpdate)
+ Amazonka.WAF.Lens: updateWebACLResponse_changeToken :: Lens' UpdateWebACLResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateWebACLResponse_httpStatus :: Lens' UpdateWebACLResponse Int
+ Amazonka.WAF.Lens: updateWebACL_changeToken :: Lens' UpdateWebACL Text
+ Amazonka.WAF.Lens: updateWebACL_defaultAction :: Lens' UpdateWebACL (Maybe WafAction)
+ Amazonka.WAF.Lens: updateWebACL_updates :: Lens' UpdateWebACL (Maybe [WebACLUpdate])
+ Amazonka.WAF.Lens: updateWebACL_webACLId :: Lens' UpdateWebACL Text
+ Amazonka.WAF.Lens: updateXssMatchSetResponse_changeToken :: Lens' UpdateXssMatchSetResponse (Maybe Text)
+ Amazonka.WAF.Lens: updateXssMatchSetResponse_httpStatus :: Lens' UpdateXssMatchSetResponse Int
+ Amazonka.WAF.Lens: updateXssMatchSet_changeToken :: Lens' UpdateXssMatchSet Text
+ Amazonka.WAF.Lens: updateXssMatchSet_updates :: Lens' UpdateXssMatchSet (NonEmpty XssMatchSetUpdate)
+ Amazonka.WAF.Lens: updateXssMatchSet_xssMatchSetId :: Lens' UpdateXssMatchSet Text
+ Amazonka.WAF.Lens: wafAction_type :: Lens' WafAction WafActionType
+ Amazonka.WAF.Lens: wafOverrideAction_type :: Lens' WafOverrideAction WafOverrideActionType
+ Amazonka.WAF.Lens: webACLSummary_name :: Lens' WebACLSummary Text
+ Amazonka.WAF.Lens: webACLSummary_webACLId :: Lens' WebACLSummary Text
+ Amazonka.WAF.Lens: webACLUpdate_action :: Lens' WebACLUpdate ChangeAction
+ Amazonka.WAF.Lens: webACLUpdate_activatedRule :: Lens' WebACLUpdate ActivatedRule
+ Amazonka.WAF.Lens: webACL_defaultAction :: Lens' WebACL WafAction
+ Amazonka.WAF.Lens: webACL_metricName :: Lens' WebACL (Maybe Text)
+ Amazonka.WAF.Lens: webACL_name :: Lens' WebACL (Maybe Text)
+ Amazonka.WAF.Lens: webACL_rules :: Lens' WebACL [ActivatedRule]
+ Amazonka.WAF.Lens: webACL_webACLArn :: Lens' WebACL (Maybe Text)
+ Amazonka.WAF.Lens: webACL_webACLId :: Lens' WebACL Text
+ Amazonka.WAF.Lens: xssMatchSetSummary_name :: Lens' XssMatchSetSummary Text
+ Amazonka.WAF.Lens: xssMatchSetSummary_xssMatchSetId :: Lens' XssMatchSetSummary Text
+ Amazonka.WAF.Lens: xssMatchSetUpdate_action :: Lens' XssMatchSetUpdate ChangeAction
+ Amazonka.WAF.Lens: xssMatchSetUpdate_xssMatchTuple :: Lens' XssMatchSetUpdate XssMatchTuple
+ Amazonka.WAF.Lens: xssMatchSet_name :: Lens' XssMatchSet (Maybe Text)
+ Amazonka.WAF.Lens: xssMatchSet_xssMatchSetId :: Lens' XssMatchSet Text
+ Amazonka.WAF.Lens: xssMatchSet_xssMatchTuples :: Lens' XssMatchSet [XssMatchTuple]
+ Amazonka.WAF.Lens: xssMatchTuple_fieldToMatch :: Lens' XssMatchTuple FieldToMatch
+ Amazonka.WAF.Lens: xssMatchTuple_textTransformation :: Lens' XssMatchTuple TextTransformation
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: ListActivatedRulesInRuleGroup' :: Maybe Natural -> Maybe Text -> Maybe Text -> ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: ListActivatedRulesInRuleGroupResponse' :: Maybe [ActivatedRule] -> Maybe Text -> Int -> ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: [$sel:activatedRules:ListActivatedRulesInRuleGroupResponse'] :: ListActivatedRulesInRuleGroupResponse -> Maybe [ActivatedRule]
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: [$sel:httpStatus:ListActivatedRulesInRuleGroupResponse'] :: ListActivatedRulesInRuleGroupResponse -> Int
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: [$sel:limit:ListActivatedRulesInRuleGroup'] :: ListActivatedRulesInRuleGroup -> Maybe Natural
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: [$sel:nextMarker:ListActivatedRulesInRuleGroup'] :: ListActivatedRulesInRuleGroup -> Maybe Text
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: [$sel:nextMarker:ListActivatedRulesInRuleGroupResponse'] :: ListActivatedRulesInRuleGroupResponse -> Maybe Text
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: [$sel:ruleGroupId:ListActivatedRulesInRuleGroup'] :: ListActivatedRulesInRuleGroup -> Maybe Text
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: data ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: data ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance GHC.Read.Read Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance GHC.Read.Read Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance GHC.Show.Show Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: instance GHC.Show.Show Amazonka.WAF.ListActivatedRulesInRuleGroup.ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: listActivatedRulesInRuleGroupResponse_activatedRules :: Lens' ListActivatedRulesInRuleGroupResponse (Maybe [ActivatedRule])
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: listActivatedRulesInRuleGroupResponse_httpStatus :: Lens' ListActivatedRulesInRuleGroupResponse Int
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: listActivatedRulesInRuleGroupResponse_nextMarker :: Lens' ListActivatedRulesInRuleGroupResponse (Maybe Text)
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: listActivatedRulesInRuleGroup_limit :: Lens' ListActivatedRulesInRuleGroup (Maybe Natural)
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: listActivatedRulesInRuleGroup_nextMarker :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: listActivatedRulesInRuleGroup_ruleGroupId :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: newListActivatedRulesInRuleGroup :: ListActivatedRulesInRuleGroup
+ Amazonka.WAF.ListActivatedRulesInRuleGroup: newListActivatedRulesInRuleGroupResponse :: Int -> ListActivatedRulesInRuleGroupResponse
+ Amazonka.WAF.ListByteMatchSets: ListByteMatchSets' :: Maybe Natural -> Maybe Text -> ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: ListByteMatchSetsResponse' :: Maybe [ByteMatchSetSummary] -> Maybe Text -> Int -> ListByteMatchSetsResponse
+ Amazonka.WAF.ListByteMatchSets: [$sel:byteMatchSets:ListByteMatchSetsResponse'] :: ListByteMatchSetsResponse -> Maybe [ByteMatchSetSummary]
+ Amazonka.WAF.ListByteMatchSets: [$sel:httpStatus:ListByteMatchSetsResponse'] :: ListByteMatchSetsResponse -> Int
+ Amazonka.WAF.ListByteMatchSets: [$sel:limit:ListByteMatchSets'] :: ListByteMatchSets -> Maybe Natural
+ Amazonka.WAF.ListByteMatchSets: [$sel:nextMarker:ListByteMatchSets'] :: ListByteMatchSets -> Maybe Text
+ Amazonka.WAF.ListByteMatchSets: [$sel:nextMarker:ListByteMatchSetsResponse'] :: ListByteMatchSetsResponse -> Maybe Text
+ Amazonka.WAF.ListByteMatchSets: data ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: data ListByteMatchSetsResponse
+ Amazonka.WAF.ListByteMatchSets: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListByteMatchSets.ListByteMatchSetsResponse
+ Amazonka.WAF.ListByteMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListByteMatchSets.ListByteMatchSetsResponse
+ Amazonka.WAF.ListByteMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListByteMatchSets.ListByteMatchSetsResponse
+ Amazonka.WAF.ListByteMatchSets: instance GHC.Read.Read Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance GHC.Read.Read Amazonka.WAF.ListByteMatchSets.ListByteMatchSetsResponse
+ Amazonka.WAF.ListByteMatchSets: instance GHC.Show.Show Amazonka.WAF.ListByteMatchSets.ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: instance GHC.Show.Show Amazonka.WAF.ListByteMatchSets.ListByteMatchSetsResponse
+ Amazonka.WAF.ListByteMatchSets: listByteMatchSetsResponse_byteMatchSets :: Lens' ListByteMatchSetsResponse (Maybe [ByteMatchSetSummary])
+ Amazonka.WAF.ListByteMatchSets: listByteMatchSetsResponse_httpStatus :: Lens' ListByteMatchSetsResponse Int
+ Amazonka.WAF.ListByteMatchSets: listByteMatchSetsResponse_nextMarker :: Lens' ListByteMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.ListByteMatchSets: listByteMatchSets_limit :: Lens' ListByteMatchSets (Maybe Natural)
+ Amazonka.WAF.ListByteMatchSets: listByteMatchSets_nextMarker :: Lens' ListByteMatchSets (Maybe Text)
+ Amazonka.WAF.ListByteMatchSets: newListByteMatchSets :: ListByteMatchSets
+ Amazonka.WAF.ListByteMatchSets: newListByteMatchSetsResponse :: Int -> ListByteMatchSetsResponse
+ Amazonka.WAF.ListGeoMatchSets: ListGeoMatchSets' :: Maybe Natural -> Maybe Text -> ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: ListGeoMatchSetsResponse' :: Maybe [GeoMatchSetSummary] -> Maybe Text -> Int -> ListGeoMatchSetsResponse
+ Amazonka.WAF.ListGeoMatchSets: [$sel:geoMatchSets:ListGeoMatchSetsResponse'] :: ListGeoMatchSetsResponse -> Maybe [GeoMatchSetSummary]
+ Amazonka.WAF.ListGeoMatchSets: [$sel:httpStatus:ListGeoMatchSetsResponse'] :: ListGeoMatchSetsResponse -> Int
+ Amazonka.WAF.ListGeoMatchSets: [$sel:limit:ListGeoMatchSets'] :: ListGeoMatchSets -> Maybe Natural
+ Amazonka.WAF.ListGeoMatchSets: [$sel:nextMarker:ListGeoMatchSets'] :: ListGeoMatchSets -> Maybe Text
+ Amazonka.WAF.ListGeoMatchSets: [$sel:nextMarker:ListGeoMatchSetsResponse'] :: ListGeoMatchSetsResponse -> Maybe Text
+ Amazonka.WAF.ListGeoMatchSets: data ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: data ListGeoMatchSetsResponse
+ Amazonka.WAF.ListGeoMatchSets: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
+ Amazonka.WAF.ListGeoMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
+ Amazonka.WAF.ListGeoMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
+ Amazonka.WAF.ListGeoMatchSets: instance GHC.Read.Read Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance GHC.Read.Read Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
+ Amazonka.WAF.ListGeoMatchSets: instance GHC.Show.Show Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: instance GHC.Show.Show Amazonka.WAF.ListGeoMatchSets.ListGeoMatchSetsResponse
+ Amazonka.WAF.ListGeoMatchSets: listGeoMatchSetsResponse_geoMatchSets :: Lens' ListGeoMatchSetsResponse (Maybe [GeoMatchSetSummary])
+ Amazonka.WAF.ListGeoMatchSets: listGeoMatchSetsResponse_httpStatus :: Lens' ListGeoMatchSetsResponse Int
+ Amazonka.WAF.ListGeoMatchSets: listGeoMatchSetsResponse_nextMarker :: Lens' ListGeoMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.ListGeoMatchSets: listGeoMatchSets_limit :: Lens' ListGeoMatchSets (Maybe Natural)
+ Amazonka.WAF.ListGeoMatchSets: listGeoMatchSets_nextMarker :: Lens' ListGeoMatchSets (Maybe Text)
+ Amazonka.WAF.ListGeoMatchSets: newListGeoMatchSets :: ListGeoMatchSets
+ Amazonka.WAF.ListGeoMatchSets: newListGeoMatchSetsResponse :: Int -> ListGeoMatchSetsResponse
+ Amazonka.WAF.ListIPSets: ListIPSets' :: Maybe Natural -> Maybe Text -> ListIPSets
+ Amazonka.WAF.ListIPSets: ListIPSetsResponse' :: Maybe [IPSetSummary] -> Maybe Text -> Int -> ListIPSetsResponse
+ Amazonka.WAF.ListIPSets: [$sel:httpStatus:ListIPSetsResponse'] :: ListIPSetsResponse -> Int
+ Amazonka.WAF.ListIPSets: [$sel:iPSets:ListIPSetsResponse'] :: ListIPSetsResponse -> Maybe [IPSetSummary]
+ Amazonka.WAF.ListIPSets: [$sel:limit:ListIPSets'] :: ListIPSets -> Maybe Natural
+ Amazonka.WAF.ListIPSets: [$sel:nextMarker:ListIPSets'] :: ListIPSets -> Maybe Text
+ Amazonka.WAF.ListIPSets: [$sel:nextMarker:ListIPSetsResponse'] :: ListIPSetsResponse -> Maybe Text
+ Amazonka.WAF.ListIPSets: data ListIPSets
+ Amazonka.WAF.ListIPSets: data ListIPSetsResponse
+ Amazonka.WAF.ListIPSets: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListIPSets.ListIPSetsResponse
+ Amazonka.WAF.ListIPSets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance GHC.Classes.Eq Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance GHC.Classes.Eq Amazonka.WAF.ListIPSets.ListIPSetsResponse
+ Amazonka.WAF.ListIPSets: instance GHC.Generics.Generic Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance GHC.Generics.Generic Amazonka.WAF.ListIPSets.ListIPSetsResponse
+ Amazonka.WAF.ListIPSets: instance GHC.Read.Read Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance GHC.Read.Read Amazonka.WAF.ListIPSets.ListIPSetsResponse
+ Amazonka.WAF.ListIPSets: instance GHC.Show.Show Amazonka.WAF.ListIPSets.ListIPSets
+ Amazonka.WAF.ListIPSets: instance GHC.Show.Show Amazonka.WAF.ListIPSets.ListIPSetsResponse
+ Amazonka.WAF.ListIPSets: listIPSetsResponse_httpStatus :: Lens' ListIPSetsResponse Int
+ Amazonka.WAF.ListIPSets: listIPSetsResponse_iPSets :: Lens' ListIPSetsResponse (Maybe [IPSetSummary])
+ Amazonka.WAF.ListIPSets: listIPSetsResponse_nextMarker :: Lens' ListIPSetsResponse (Maybe Text)
+ Amazonka.WAF.ListIPSets: listIPSets_limit :: Lens' ListIPSets (Maybe Natural)
+ Amazonka.WAF.ListIPSets: listIPSets_nextMarker :: Lens' ListIPSets (Maybe Text)
+ Amazonka.WAF.ListIPSets: newListIPSets :: ListIPSets
+ Amazonka.WAF.ListIPSets: newListIPSetsResponse :: Int -> ListIPSetsResponse
+ Amazonka.WAF.ListLoggingConfigurations: ListLoggingConfigurations' :: Maybe Natural -> Maybe Text -> ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: ListLoggingConfigurationsResponse' :: Maybe [LoggingConfiguration] -> Maybe Text -> Int -> ListLoggingConfigurationsResponse
+ Amazonka.WAF.ListLoggingConfigurations: [$sel:httpStatus:ListLoggingConfigurationsResponse'] :: ListLoggingConfigurationsResponse -> Int
+ Amazonka.WAF.ListLoggingConfigurations: [$sel:limit:ListLoggingConfigurations'] :: ListLoggingConfigurations -> Maybe Natural
+ Amazonka.WAF.ListLoggingConfigurations: [$sel:loggingConfigurations:ListLoggingConfigurationsResponse'] :: ListLoggingConfigurationsResponse -> Maybe [LoggingConfiguration]
+ Amazonka.WAF.ListLoggingConfigurations: [$sel:nextMarker:ListLoggingConfigurations'] :: ListLoggingConfigurations -> Maybe Text
+ Amazonka.WAF.ListLoggingConfigurations: [$sel:nextMarker:ListLoggingConfigurationsResponse'] :: ListLoggingConfigurationsResponse -> Maybe Text
+ Amazonka.WAF.ListLoggingConfigurations: data ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: data ListLoggingConfigurationsResponse
+ Amazonka.WAF.ListLoggingConfigurations: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance Control.DeepSeq.NFData Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance Control.DeepSeq.NFData Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurationsResponse
+ Amazonka.WAF.ListLoggingConfigurations: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance GHC.Classes.Eq Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance GHC.Classes.Eq Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurationsResponse
+ Amazonka.WAF.ListLoggingConfigurations: instance GHC.Generics.Generic Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance GHC.Generics.Generic Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurationsResponse
+ Amazonka.WAF.ListLoggingConfigurations: instance GHC.Read.Read Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance GHC.Read.Read Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurationsResponse
+ Amazonka.WAF.ListLoggingConfigurations: instance GHC.Show.Show Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: instance GHC.Show.Show Amazonka.WAF.ListLoggingConfigurations.ListLoggingConfigurationsResponse
+ Amazonka.WAF.ListLoggingConfigurations: listLoggingConfigurationsResponse_httpStatus :: Lens' ListLoggingConfigurationsResponse Int
+ Amazonka.WAF.ListLoggingConfigurations: listLoggingConfigurationsResponse_loggingConfigurations :: Lens' ListLoggingConfigurationsResponse (Maybe [LoggingConfiguration])
+ Amazonka.WAF.ListLoggingConfigurations: listLoggingConfigurationsResponse_nextMarker :: Lens' ListLoggingConfigurationsResponse (Maybe Text)
+ Amazonka.WAF.ListLoggingConfigurations: listLoggingConfigurations_limit :: Lens' ListLoggingConfigurations (Maybe Natural)
+ Amazonka.WAF.ListLoggingConfigurations: listLoggingConfigurations_nextMarker :: Lens' ListLoggingConfigurations (Maybe Text)
+ Amazonka.WAF.ListLoggingConfigurations: newListLoggingConfigurations :: ListLoggingConfigurations
+ Amazonka.WAF.ListLoggingConfigurations: newListLoggingConfigurationsResponse :: Int -> ListLoggingConfigurationsResponse
+ Amazonka.WAF.ListRateBasedRules: ListRateBasedRules' :: Maybe Natural -> Maybe Text -> ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: ListRateBasedRulesResponse' :: Maybe Text -> Maybe [RuleSummary] -> Int -> ListRateBasedRulesResponse
+ Amazonka.WAF.ListRateBasedRules: [$sel:httpStatus:ListRateBasedRulesResponse'] :: ListRateBasedRulesResponse -> Int
+ Amazonka.WAF.ListRateBasedRules: [$sel:limit:ListRateBasedRules'] :: ListRateBasedRules -> Maybe Natural
+ Amazonka.WAF.ListRateBasedRules: [$sel:nextMarker:ListRateBasedRules'] :: ListRateBasedRules -> Maybe Text
+ Amazonka.WAF.ListRateBasedRules: [$sel:nextMarker:ListRateBasedRulesResponse'] :: ListRateBasedRulesResponse -> Maybe Text
+ Amazonka.WAF.ListRateBasedRules: [$sel:rules:ListRateBasedRulesResponse'] :: ListRateBasedRulesResponse -> Maybe [RuleSummary]
+ Amazonka.WAF.ListRateBasedRules: data ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: data ListRateBasedRulesResponse
+ Amazonka.WAF.ListRateBasedRules: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance Control.DeepSeq.NFData Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance Control.DeepSeq.NFData Amazonka.WAF.ListRateBasedRules.ListRateBasedRulesResponse
+ Amazonka.WAF.ListRateBasedRules: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance GHC.Classes.Eq Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance GHC.Classes.Eq Amazonka.WAF.ListRateBasedRules.ListRateBasedRulesResponse
+ Amazonka.WAF.ListRateBasedRules: instance GHC.Generics.Generic Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance GHC.Generics.Generic Amazonka.WAF.ListRateBasedRules.ListRateBasedRulesResponse
+ Amazonka.WAF.ListRateBasedRules: instance GHC.Read.Read Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance GHC.Read.Read Amazonka.WAF.ListRateBasedRules.ListRateBasedRulesResponse
+ Amazonka.WAF.ListRateBasedRules: instance GHC.Show.Show Amazonka.WAF.ListRateBasedRules.ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: instance GHC.Show.Show Amazonka.WAF.ListRateBasedRules.ListRateBasedRulesResponse
+ Amazonka.WAF.ListRateBasedRules: listRateBasedRulesResponse_httpStatus :: Lens' ListRateBasedRulesResponse Int
+ Amazonka.WAF.ListRateBasedRules: listRateBasedRulesResponse_nextMarker :: Lens' ListRateBasedRulesResponse (Maybe Text)
+ Amazonka.WAF.ListRateBasedRules: listRateBasedRulesResponse_rules :: Lens' ListRateBasedRulesResponse (Maybe [RuleSummary])
+ Amazonka.WAF.ListRateBasedRules: listRateBasedRules_limit :: Lens' ListRateBasedRules (Maybe Natural)
+ Amazonka.WAF.ListRateBasedRules: listRateBasedRules_nextMarker :: Lens' ListRateBasedRules (Maybe Text)
+ Amazonka.WAF.ListRateBasedRules: newListRateBasedRules :: ListRateBasedRules
+ Amazonka.WAF.ListRateBasedRules: newListRateBasedRulesResponse :: Int -> ListRateBasedRulesResponse
+ Amazonka.WAF.ListRegexMatchSets: ListRegexMatchSets' :: Maybe Natural -> Maybe Text -> ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: ListRegexMatchSetsResponse' :: Maybe Text -> Maybe [RegexMatchSetSummary] -> Int -> ListRegexMatchSetsResponse
+ Amazonka.WAF.ListRegexMatchSets: [$sel:httpStatus:ListRegexMatchSetsResponse'] :: ListRegexMatchSetsResponse -> Int
+ Amazonka.WAF.ListRegexMatchSets: [$sel:limit:ListRegexMatchSets'] :: ListRegexMatchSets -> Maybe Natural
+ Amazonka.WAF.ListRegexMatchSets: [$sel:nextMarker:ListRegexMatchSets'] :: ListRegexMatchSets -> Maybe Text
+ Amazonka.WAF.ListRegexMatchSets: [$sel:nextMarker:ListRegexMatchSetsResponse'] :: ListRegexMatchSetsResponse -> Maybe Text
+ Amazonka.WAF.ListRegexMatchSets: [$sel:regexMatchSets:ListRegexMatchSetsResponse'] :: ListRegexMatchSetsResponse -> Maybe [RegexMatchSetSummary]
+ Amazonka.WAF.ListRegexMatchSets: data ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: data ListRegexMatchSetsResponse
+ Amazonka.WAF.ListRegexMatchSets: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
+ Amazonka.WAF.ListRegexMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
+ Amazonka.WAF.ListRegexMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
+ Amazonka.WAF.ListRegexMatchSets: instance GHC.Read.Read Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance GHC.Read.Read Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
+ Amazonka.WAF.ListRegexMatchSets: instance GHC.Show.Show Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: instance GHC.Show.Show Amazonka.WAF.ListRegexMatchSets.ListRegexMatchSetsResponse
+ Amazonka.WAF.ListRegexMatchSets: listRegexMatchSetsResponse_httpStatus :: Lens' ListRegexMatchSetsResponse Int
+ Amazonka.WAF.ListRegexMatchSets: listRegexMatchSetsResponse_nextMarker :: Lens' ListRegexMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.ListRegexMatchSets: listRegexMatchSetsResponse_regexMatchSets :: Lens' ListRegexMatchSetsResponse (Maybe [RegexMatchSetSummary])
+ Amazonka.WAF.ListRegexMatchSets: listRegexMatchSets_limit :: Lens' ListRegexMatchSets (Maybe Natural)
+ Amazonka.WAF.ListRegexMatchSets: listRegexMatchSets_nextMarker :: Lens' ListRegexMatchSets (Maybe Text)
+ Amazonka.WAF.ListRegexMatchSets: newListRegexMatchSets :: ListRegexMatchSets
+ Amazonka.WAF.ListRegexMatchSets: newListRegexMatchSetsResponse :: Int -> ListRegexMatchSetsResponse
+ Amazonka.WAF.ListRegexPatternSets: ListRegexPatternSets' :: Maybe Natural -> Maybe Text -> ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: ListRegexPatternSetsResponse' :: Maybe Text -> Maybe [RegexPatternSetSummary] -> Int -> ListRegexPatternSetsResponse
+ Amazonka.WAF.ListRegexPatternSets: [$sel:httpStatus:ListRegexPatternSetsResponse'] :: ListRegexPatternSetsResponse -> Int
+ Amazonka.WAF.ListRegexPatternSets: [$sel:limit:ListRegexPatternSets'] :: ListRegexPatternSets -> Maybe Natural
+ Amazonka.WAF.ListRegexPatternSets: [$sel:nextMarker:ListRegexPatternSets'] :: ListRegexPatternSets -> Maybe Text
+ Amazonka.WAF.ListRegexPatternSets: [$sel:nextMarker:ListRegexPatternSetsResponse'] :: ListRegexPatternSetsResponse -> Maybe Text
+ Amazonka.WAF.ListRegexPatternSets: [$sel:regexPatternSets:ListRegexPatternSetsResponse'] :: ListRegexPatternSetsResponse -> Maybe [RegexPatternSetSummary]
+ Amazonka.WAF.ListRegexPatternSets: data ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: data ListRegexPatternSetsResponse
+ Amazonka.WAF.ListRegexPatternSets: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
+ Amazonka.WAF.ListRegexPatternSets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance GHC.Classes.Eq Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance GHC.Classes.Eq Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
+ Amazonka.WAF.ListRegexPatternSets: instance GHC.Generics.Generic Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance GHC.Generics.Generic Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
+ Amazonka.WAF.ListRegexPatternSets: instance GHC.Read.Read Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance GHC.Read.Read Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
+ Amazonka.WAF.ListRegexPatternSets: instance GHC.Show.Show Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: instance GHC.Show.Show Amazonka.WAF.ListRegexPatternSets.ListRegexPatternSetsResponse
+ Amazonka.WAF.ListRegexPatternSets: listRegexPatternSetsResponse_httpStatus :: Lens' ListRegexPatternSetsResponse Int
+ Amazonka.WAF.ListRegexPatternSets: listRegexPatternSetsResponse_nextMarker :: Lens' ListRegexPatternSetsResponse (Maybe Text)
+ Amazonka.WAF.ListRegexPatternSets: listRegexPatternSetsResponse_regexPatternSets :: Lens' ListRegexPatternSetsResponse (Maybe [RegexPatternSetSummary])
+ Amazonka.WAF.ListRegexPatternSets: listRegexPatternSets_limit :: Lens' ListRegexPatternSets (Maybe Natural)
+ Amazonka.WAF.ListRegexPatternSets: listRegexPatternSets_nextMarker :: Lens' ListRegexPatternSets (Maybe Text)
+ Amazonka.WAF.ListRegexPatternSets: newListRegexPatternSets :: ListRegexPatternSets
+ Amazonka.WAF.ListRegexPatternSets: newListRegexPatternSetsResponse :: Int -> ListRegexPatternSetsResponse
+ Amazonka.WAF.ListRuleGroups: ListRuleGroups' :: Maybe Natural -> Maybe Text -> ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: ListRuleGroupsResponse' :: Maybe Text -> Maybe [RuleGroupSummary] -> Int -> ListRuleGroupsResponse
+ Amazonka.WAF.ListRuleGroups: [$sel:httpStatus:ListRuleGroupsResponse'] :: ListRuleGroupsResponse -> Int
+ Amazonka.WAF.ListRuleGroups: [$sel:limit:ListRuleGroups'] :: ListRuleGroups -> Maybe Natural
+ Amazonka.WAF.ListRuleGroups: [$sel:nextMarker:ListRuleGroups'] :: ListRuleGroups -> Maybe Text
+ Amazonka.WAF.ListRuleGroups: [$sel:nextMarker:ListRuleGroupsResponse'] :: ListRuleGroupsResponse -> Maybe Text
+ Amazonka.WAF.ListRuleGroups: [$sel:ruleGroups:ListRuleGroupsResponse'] :: ListRuleGroupsResponse -> Maybe [RuleGroupSummary]
+ Amazonka.WAF.ListRuleGroups: data ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: data ListRuleGroupsResponse
+ Amazonka.WAF.ListRuleGroups: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance Control.DeepSeq.NFData Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance Control.DeepSeq.NFData Amazonka.WAF.ListRuleGroups.ListRuleGroupsResponse
+ Amazonka.WAF.ListRuleGroups: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance GHC.Classes.Eq Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance GHC.Classes.Eq Amazonka.WAF.ListRuleGroups.ListRuleGroupsResponse
+ Amazonka.WAF.ListRuleGroups: instance GHC.Generics.Generic Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance GHC.Generics.Generic Amazonka.WAF.ListRuleGroups.ListRuleGroupsResponse
+ Amazonka.WAF.ListRuleGroups: instance GHC.Read.Read Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance GHC.Read.Read Amazonka.WAF.ListRuleGroups.ListRuleGroupsResponse
+ Amazonka.WAF.ListRuleGroups: instance GHC.Show.Show Amazonka.WAF.ListRuleGroups.ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: instance GHC.Show.Show Amazonka.WAF.ListRuleGroups.ListRuleGroupsResponse
+ Amazonka.WAF.ListRuleGroups: listRuleGroupsResponse_httpStatus :: Lens' ListRuleGroupsResponse Int
+ Amazonka.WAF.ListRuleGroups: listRuleGroupsResponse_nextMarker :: Lens' ListRuleGroupsResponse (Maybe Text)
+ Amazonka.WAF.ListRuleGroups: listRuleGroupsResponse_ruleGroups :: Lens' ListRuleGroupsResponse (Maybe [RuleGroupSummary])
+ Amazonka.WAF.ListRuleGroups: listRuleGroups_limit :: Lens' ListRuleGroups (Maybe Natural)
+ Amazonka.WAF.ListRuleGroups: listRuleGroups_nextMarker :: Lens' ListRuleGroups (Maybe Text)
+ Amazonka.WAF.ListRuleGroups: newListRuleGroups :: ListRuleGroups
+ Amazonka.WAF.ListRuleGroups: newListRuleGroupsResponse :: Int -> ListRuleGroupsResponse
+ Amazonka.WAF.ListRules: ListRules' :: Maybe Natural -> Maybe Text -> ListRules
+ Amazonka.WAF.ListRules: ListRulesResponse' :: Maybe Text -> Maybe [RuleSummary] -> Int -> ListRulesResponse
+ Amazonka.WAF.ListRules: [$sel:httpStatus:ListRulesResponse'] :: ListRulesResponse -> Int
+ Amazonka.WAF.ListRules: [$sel:limit:ListRules'] :: ListRules -> Maybe Natural
+ Amazonka.WAF.ListRules: [$sel:nextMarker:ListRules'] :: ListRules -> Maybe Text
+ Amazonka.WAF.ListRules: [$sel:nextMarker:ListRulesResponse'] :: ListRulesResponse -> Maybe Text
+ Amazonka.WAF.ListRules: [$sel:rules:ListRulesResponse'] :: ListRulesResponse -> Maybe [RuleSummary]
+ Amazonka.WAF.ListRules: data ListRules
+ Amazonka.WAF.ListRules: data ListRulesResponse
+ Amazonka.WAF.ListRules: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance Control.DeepSeq.NFData Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance Control.DeepSeq.NFData Amazonka.WAF.ListRules.ListRulesResponse
+ Amazonka.WAF.ListRules: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance GHC.Classes.Eq Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance GHC.Classes.Eq Amazonka.WAF.ListRules.ListRulesResponse
+ Amazonka.WAF.ListRules: instance GHC.Generics.Generic Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance GHC.Generics.Generic Amazonka.WAF.ListRules.ListRulesResponse
+ Amazonka.WAF.ListRules: instance GHC.Read.Read Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance GHC.Read.Read Amazonka.WAF.ListRules.ListRulesResponse
+ Amazonka.WAF.ListRules: instance GHC.Show.Show Amazonka.WAF.ListRules.ListRules
+ Amazonka.WAF.ListRules: instance GHC.Show.Show Amazonka.WAF.ListRules.ListRulesResponse
+ Amazonka.WAF.ListRules: listRulesResponse_httpStatus :: Lens' ListRulesResponse Int
+ Amazonka.WAF.ListRules: listRulesResponse_nextMarker :: Lens' ListRulesResponse (Maybe Text)
+ Amazonka.WAF.ListRules: listRulesResponse_rules :: Lens' ListRulesResponse (Maybe [RuleSummary])
+ Amazonka.WAF.ListRules: listRules_limit :: Lens' ListRules (Maybe Natural)
+ Amazonka.WAF.ListRules: listRules_nextMarker :: Lens' ListRules (Maybe Text)
+ Amazonka.WAF.ListRules: newListRules :: ListRules
+ Amazonka.WAF.ListRules: newListRulesResponse :: Int -> ListRulesResponse
+ Amazonka.WAF.ListSizeConstraintSets: ListSizeConstraintSets' :: Maybe Natural -> Maybe Text -> ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: ListSizeConstraintSetsResponse' :: Maybe Text -> Maybe [SizeConstraintSetSummary] -> Int -> ListSizeConstraintSetsResponse
+ Amazonka.WAF.ListSizeConstraintSets: [$sel:httpStatus:ListSizeConstraintSetsResponse'] :: ListSizeConstraintSetsResponse -> Int
+ Amazonka.WAF.ListSizeConstraintSets: [$sel:limit:ListSizeConstraintSets'] :: ListSizeConstraintSets -> Maybe Natural
+ Amazonka.WAF.ListSizeConstraintSets: [$sel:nextMarker:ListSizeConstraintSets'] :: ListSizeConstraintSets -> Maybe Text
+ Amazonka.WAF.ListSizeConstraintSets: [$sel:nextMarker:ListSizeConstraintSetsResponse'] :: ListSizeConstraintSetsResponse -> Maybe Text
+ Amazonka.WAF.ListSizeConstraintSets: [$sel:sizeConstraintSets:ListSizeConstraintSetsResponse'] :: ListSizeConstraintSetsResponse -> Maybe [SizeConstraintSetSummary]
+ Amazonka.WAF.ListSizeConstraintSets: data ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: data ListSizeConstraintSetsResponse
+ Amazonka.WAF.ListSizeConstraintSets: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
+ Amazonka.WAF.ListSizeConstraintSets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance GHC.Classes.Eq Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance GHC.Classes.Eq Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
+ Amazonka.WAF.ListSizeConstraintSets: instance GHC.Generics.Generic Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance GHC.Generics.Generic Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
+ Amazonka.WAF.ListSizeConstraintSets: instance GHC.Read.Read Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance GHC.Read.Read Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
+ Amazonka.WAF.ListSizeConstraintSets: instance GHC.Show.Show Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: instance GHC.Show.Show Amazonka.WAF.ListSizeConstraintSets.ListSizeConstraintSetsResponse
+ Amazonka.WAF.ListSizeConstraintSets: listSizeConstraintSetsResponse_httpStatus :: Lens' ListSizeConstraintSetsResponse Int
+ Amazonka.WAF.ListSizeConstraintSets: listSizeConstraintSetsResponse_nextMarker :: Lens' ListSizeConstraintSetsResponse (Maybe Text)
+ Amazonka.WAF.ListSizeConstraintSets: listSizeConstraintSetsResponse_sizeConstraintSets :: Lens' ListSizeConstraintSetsResponse (Maybe [SizeConstraintSetSummary])
+ Amazonka.WAF.ListSizeConstraintSets: listSizeConstraintSets_limit :: Lens' ListSizeConstraintSets (Maybe Natural)
+ Amazonka.WAF.ListSizeConstraintSets: listSizeConstraintSets_nextMarker :: Lens' ListSizeConstraintSets (Maybe Text)
+ Amazonka.WAF.ListSizeConstraintSets: newListSizeConstraintSets :: ListSizeConstraintSets
+ Amazonka.WAF.ListSizeConstraintSets: newListSizeConstraintSetsResponse :: Int -> ListSizeConstraintSetsResponse
+ Amazonka.WAF.ListSqlInjectionMatchSets: ListSqlInjectionMatchSets' :: Maybe Natural -> Maybe Text -> ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: ListSqlInjectionMatchSetsResponse' :: Maybe Text -> Maybe [SqlInjectionMatchSetSummary] -> Int -> ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF.ListSqlInjectionMatchSets: [$sel:httpStatus:ListSqlInjectionMatchSetsResponse'] :: ListSqlInjectionMatchSetsResponse -> Int
+ Amazonka.WAF.ListSqlInjectionMatchSets: [$sel:limit:ListSqlInjectionMatchSets'] :: ListSqlInjectionMatchSets -> Maybe Natural
+ Amazonka.WAF.ListSqlInjectionMatchSets: [$sel:nextMarker:ListSqlInjectionMatchSets'] :: ListSqlInjectionMatchSets -> Maybe Text
+ Amazonka.WAF.ListSqlInjectionMatchSets: [$sel:nextMarker:ListSqlInjectionMatchSetsResponse'] :: ListSqlInjectionMatchSetsResponse -> Maybe Text
+ Amazonka.WAF.ListSqlInjectionMatchSets: [$sel:sqlInjectionMatchSets:ListSqlInjectionMatchSetsResponse'] :: ListSqlInjectionMatchSetsResponse -> Maybe [SqlInjectionMatchSetSummary]
+ Amazonka.WAF.ListSqlInjectionMatchSets: data ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: data ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance GHC.Read.Read Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance GHC.Read.Read Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance GHC.Show.Show Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: instance GHC.Show.Show Amazonka.WAF.ListSqlInjectionMatchSets.ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF.ListSqlInjectionMatchSets: listSqlInjectionMatchSetsResponse_httpStatus :: Lens' ListSqlInjectionMatchSetsResponse Int
+ Amazonka.WAF.ListSqlInjectionMatchSets: listSqlInjectionMatchSetsResponse_nextMarker :: Lens' ListSqlInjectionMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.ListSqlInjectionMatchSets: listSqlInjectionMatchSetsResponse_sqlInjectionMatchSets :: Lens' ListSqlInjectionMatchSetsResponse (Maybe [SqlInjectionMatchSetSummary])
+ Amazonka.WAF.ListSqlInjectionMatchSets: listSqlInjectionMatchSets_limit :: Lens' ListSqlInjectionMatchSets (Maybe Natural)
+ Amazonka.WAF.ListSqlInjectionMatchSets: listSqlInjectionMatchSets_nextMarker :: Lens' ListSqlInjectionMatchSets (Maybe Text)
+ Amazonka.WAF.ListSqlInjectionMatchSets: newListSqlInjectionMatchSets :: ListSqlInjectionMatchSets
+ Amazonka.WAF.ListSqlInjectionMatchSets: newListSqlInjectionMatchSetsResponse :: Int -> ListSqlInjectionMatchSetsResponse
+ Amazonka.WAF.ListSubscribedRuleGroups: ListSubscribedRuleGroups' :: Maybe Natural -> Maybe Text -> ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: ListSubscribedRuleGroupsResponse' :: Maybe Text -> Maybe [SubscribedRuleGroupSummary] -> Int -> ListSubscribedRuleGroupsResponse
+ Amazonka.WAF.ListSubscribedRuleGroups: [$sel:httpStatus:ListSubscribedRuleGroupsResponse'] :: ListSubscribedRuleGroupsResponse -> Int
+ Amazonka.WAF.ListSubscribedRuleGroups: [$sel:limit:ListSubscribedRuleGroups'] :: ListSubscribedRuleGroups -> Maybe Natural
+ Amazonka.WAF.ListSubscribedRuleGroups: [$sel:nextMarker:ListSubscribedRuleGroups'] :: ListSubscribedRuleGroups -> Maybe Text
+ Amazonka.WAF.ListSubscribedRuleGroups: [$sel:nextMarker:ListSubscribedRuleGroupsResponse'] :: ListSubscribedRuleGroupsResponse -> Maybe Text
+ Amazonka.WAF.ListSubscribedRuleGroups: [$sel:ruleGroups:ListSubscribedRuleGroupsResponse'] :: ListSubscribedRuleGroupsResponse -> Maybe [SubscribedRuleGroupSummary]
+ Amazonka.WAF.ListSubscribedRuleGroups: data ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: data ListSubscribedRuleGroupsResponse
+ Amazonka.WAF.ListSubscribedRuleGroups: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance Control.DeepSeq.NFData Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance Control.DeepSeq.NFData Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
+ Amazonka.WAF.ListSubscribedRuleGroups: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance GHC.Classes.Eq Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance GHC.Classes.Eq Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
+ Amazonka.WAF.ListSubscribedRuleGroups: instance GHC.Generics.Generic Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance GHC.Generics.Generic Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
+ Amazonka.WAF.ListSubscribedRuleGroups: instance GHC.Read.Read Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance GHC.Read.Read Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
+ Amazonka.WAF.ListSubscribedRuleGroups: instance GHC.Show.Show Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: instance GHC.Show.Show Amazonka.WAF.ListSubscribedRuleGroups.ListSubscribedRuleGroupsResponse
+ Amazonka.WAF.ListSubscribedRuleGroups: listSubscribedRuleGroupsResponse_httpStatus :: Lens' ListSubscribedRuleGroupsResponse Int
+ Amazonka.WAF.ListSubscribedRuleGroups: listSubscribedRuleGroupsResponse_nextMarker :: Lens' ListSubscribedRuleGroupsResponse (Maybe Text)
+ Amazonka.WAF.ListSubscribedRuleGroups: listSubscribedRuleGroupsResponse_ruleGroups :: Lens' ListSubscribedRuleGroupsResponse (Maybe [SubscribedRuleGroupSummary])
+ Amazonka.WAF.ListSubscribedRuleGroups: listSubscribedRuleGroups_limit :: Lens' ListSubscribedRuleGroups (Maybe Natural)
+ Amazonka.WAF.ListSubscribedRuleGroups: listSubscribedRuleGroups_nextMarker :: Lens' ListSubscribedRuleGroups (Maybe Text)
+ Amazonka.WAF.ListSubscribedRuleGroups: newListSubscribedRuleGroups :: ListSubscribedRuleGroups
+ Amazonka.WAF.ListSubscribedRuleGroups: newListSubscribedRuleGroupsResponse :: Int -> ListSubscribedRuleGroupsResponse
+ Amazonka.WAF.ListTagsForResource: ListTagsForResource' :: Maybe Natural -> Maybe Text -> Text -> ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: ListTagsForResourceResponse' :: Maybe Text -> Maybe TagInfoForResource -> Int -> ListTagsForResourceResponse
+ Amazonka.WAF.ListTagsForResource: [$sel:httpStatus:ListTagsForResourceResponse'] :: ListTagsForResourceResponse -> Int
+ Amazonka.WAF.ListTagsForResource: [$sel:limit:ListTagsForResource'] :: ListTagsForResource -> Maybe Natural
+ Amazonka.WAF.ListTagsForResource: [$sel:nextMarker:ListTagsForResource'] :: ListTagsForResource -> Maybe Text
+ Amazonka.WAF.ListTagsForResource: [$sel:nextMarker:ListTagsForResourceResponse'] :: ListTagsForResourceResponse -> Maybe Text
+ Amazonka.WAF.ListTagsForResource: [$sel:resourceARN:ListTagsForResource'] :: ListTagsForResource -> Text
+ Amazonka.WAF.ListTagsForResource: [$sel:tagInfoForResource:ListTagsForResourceResponse'] :: ListTagsForResourceResponse -> Maybe TagInfoForResource
+ Amazonka.WAF.ListTagsForResource: data ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: data ListTagsForResourceResponse
+ Amazonka.WAF.ListTagsForResource: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance Control.DeepSeq.NFData Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance Control.DeepSeq.NFData Amazonka.WAF.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.WAF.ListTagsForResource: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance GHC.Classes.Eq Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance GHC.Classes.Eq Amazonka.WAF.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.WAF.ListTagsForResource: instance GHC.Generics.Generic Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance GHC.Generics.Generic Amazonka.WAF.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.WAF.ListTagsForResource: instance GHC.Read.Read Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance GHC.Read.Read Amazonka.WAF.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.WAF.ListTagsForResource: instance GHC.Show.Show Amazonka.WAF.ListTagsForResource.ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: instance GHC.Show.Show Amazonka.WAF.ListTagsForResource.ListTagsForResourceResponse
+ Amazonka.WAF.ListTagsForResource: listTagsForResourceResponse_httpStatus :: Lens' ListTagsForResourceResponse Int
+ Amazonka.WAF.ListTagsForResource: listTagsForResourceResponse_nextMarker :: Lens' ListTagsForResourceResponse (Maybe Text)
+ Amazonka.WAF.ListTagsForResource: listTagsForResourceResponse_tagInfoForResource :: Lens' ListTagsForResourceResponse (Maybe TagInfoForResource)
+ Amazonka.WAF.ListTagsForResource: listTagsForResource_limit :: Lens' ListTagsForResource (Maybe Natural)
+ Amazonka.WAF.ListTagsForResource: listTagsForResource_nextMarker :: Lens' ListTagsForResource (Maybe Text)
+ Amazonka.WAF.ListTagsForResource: listTagsForResource_resourceARN :: Lens' ListTagsForResource Text
+ Amazonka.WAF.ListTagsForResource: newListTagsForResource :: Text -> ListTagsForResource
+ Amazonka.WAF.ListTagsForResource: newListTagsForResourceResponse :: Int -> ListTagsForResourceResponse
+ Amazonka.WAF.ListWebACLs: ListWebACLs' :: Maybe Natural -> Maybe Text -> ListWebACLs
+ Amazonka.WAF.ListWebACLs: ListWebACLsResponse' :: Maybe Text -> Maybe [WebACLSummary] -> Int -> ListWebACLsResponse
+ Amazonka.WAF.ListWebACLs: [$sel:httpStatus:ListWebACLsResponse'] :: ListWebACLsResponse -> Int
+ Amazonka.WAF.ListWebACLs: [$sel:limit:ListWebACLs'] :: ListWebACLs -> Maybe Natural
+ Amazonka.WAF.ListWebACLs: [$sel:nextMarker:ListWebACLs'] :: ListWebACLs -> Maybe Text
+ Amazonka.WAF.ListWebACLs: [$sel:nextMarker:ListWebACLsResponse'] :: ListWebACLsResponse -> Maybe Text
+ Amazonka.WAF.ListWebACLs: [$sel:webACLs:ListWebACLsResponse'] :: ListWebACLsResponse -> Maybe [WebACLSummary]
+ Amazonka.WAF.ListWebACLs: data ListWebACLs
+ Amazonka.WAF.ListWebACLs: data ListWebACLsResponse
+ Amazonka.WAF.ListWebACLs: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance Control.DeepSeq.NFData Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance Control.DeepSeq.NFData Amazonka.WAF.ListWebACLs.ListWebACLsResponse
+ Amazonka.WAF.ListWebACLs: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance GHC.Classes.Eq Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance GHC.Classes.Eq Amazonka.WAF.ListWebACLs.ListWebACLsResponse
+ Amazonka.WAF.ListWebACLs: instance GHC.Generics.Generic Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance GHC.Generics.Generic Amazonka.WAF.ListWebACLs.ListWebACLsResponse
+ Amazonka.WAF.ListWebACLs: instance GHC.Read.Read Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance GHC.Read.Read Amazonka.WAF.ListWebACLs.ListWebACLsResponse
+ Amazonka.WAF.ListWebACLs: instance GHC.Show.Show Amazonka.WAF.ListWebACLs.ListWebACLs
+ Amazonka.WAF.ListWebACLs: instance GHC.Show.Show Amazonka.WAF.ListWebACLs.ListWebACLsResponse
+ Amazonka.WAF.ListWebACLs: listWebACLsResponse_httpStatus :: Lens' ListWebACLsResponse Int
+ Amazonka.WAF.ListWebACLs: listWebACLsResponse_nextMarker :: Lens' ListWebACLsResponse (Maybe Text)
+ Amazonka.WAF.ListWebACLs: listWebACLsResponse_webACLs :: Lens' ListWebACLsResponse (Maybe [WebACLSummary])
+ Amazonka.WAF.ListWebACLs: listWebACLs_limit :: Lens' ListWebACLs (Maybe Natural)
+ Amazonka.WAF.ListWebACLs: listWebACLs_nextMarker :: Lens' ListWebACLs (Maybe Text)
+ Amazonka.WAF.ListWebACLs: newListWebACLs :: ListWebACLs
+ Amazonka.WAF.ListWebACLs: newListWebACLsResponse :: Int -> ListWebACLsResponse
+ Amazonka.WAF.ListXssMatchSets: ListXssMatchSets' :: Maybe Natural -> Maybe Text -> ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: ListXssMatchSetsResponse' :: Maybe Text -> Maybe [XssMatchSetSummary] -> Int -> ListXssMatchSetsResponse
+ Amazonka.WAF.ListXssMatchSets: [$sel:httpStatus:ListXssMatchSetsResponse'] :: ListXssMatchSetsResponse -> Int
+ Amazonka.WAF.ListXssMatchSets: [$sel:limit:ListXssMatchSets'] :: ListXssMatchSets -> Maybe Natural
+ Amazonka.WAF.ListXssMatchSets: [$sel:nextMarker:ListXssMatchSets'] :: ListXssMatchSets -> Maybe Text
+ Amazonka.WAF.ListXssMatchSets: [$sel:nextMarker:ListXssMatchSetsResponse'] :: ListXssMatchSetsResponse -> Maybe Text
+ Amazonka.WAF.ListXssMatchSets: [$sel:xssMatchSets:ListXssMatchSetsResponse'] :: ListXssMatchSetsResponse -> Maybe [XssMatchSetSummary]
+ Amazonka.WAF.ListXssMatchSets: data ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: data ListXssMatchSetsResponse
+ Amazonka.WAF.ListXssMatchSets: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance Amazonka.Data.Path.ToPath Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance Amazonka.Pager.AWSPager Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance Amazonka.Types.AWSRequest Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance Control.DeepSeq.NFData Amazonka.WAF.ListXssMatchSets.ListXssMatchSetsResponse
+ Amazonka.WAF.ListXssMatchSets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance Data.Hashable.Class.Hashable Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance GHC.Classes.Eq Amazonka.WAF.ListXssMatchSets.ListXssMatchSetsResponse
+ Amazonka.WAF.ListXssMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance GHC.Generics.Generic Amazonka.WAF.ListXssMatchSets.ListXssMatchSetsResponse
+ Amazonka.WAF.ListXssMatchSets: instance GHC.Read.Read Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance GHC.Read.Read Amazonka.WAF.ListXssMatchSets.ListXssMatchSetsResponse
+ Amazonka.WAF.ListXssMatchSets: instance GHC.Show.Show Amazonka.WAF.ListXssMatchSets.ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: instance GHC.Show.Show Amazonka.WAF.ListXssMatchSets.ListXssMatchSetsResponse
+ Amazonka.WAF.ListXssMatchSets: listXssMatchSetsResponse_httpStatus :: Lens' ListXssMatchSetsResponse Int
+ Amazonka.WAF.ListXssMatchSets: listXssMatchSetsResponse_nextMarker :: Lens' ListXssMatchSetsResponse (Maybe Text)
+ Amazonka.WAF.ListXssMatchSets: listXssMatchSetsResponse_xssMatchSets :: Lens' ListXssMatchSetsResponse (Maybe [XssMatchSetSummary])
+ Amazonka.WAF.ListXssMatchSets: listXssMatchSets_limit :: Lens' ListXssMatchSets (Maybe Natural)
+ Amazonka.WAF.ListXssMatchSets: listXssMatchSets_nextMarker :: Lens' ListXssMatchSets (Maybe Text)
+ Amazonka.WAF.ListXssMatchSets: newListXssMatchSets :: ListXssMatchSets
+ Amazonka.WAF.ListXssMatchSets: newListXssMatchSetsResponse :: Int -> ListXssMatchSetsResponse
+ Amazonka.WAF.PutLoggingConfiguration: PutLoggingConfiguration' :: LoggingConfiguration -> PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: PutLoggingConfigurationResponse' :: Maybe LoggingConfiguration -> Int -> PutLoggingConfigurationResponse
+ Amazonka.WAF.PutLoggingConfiguration: [$sel:httpStatus:PutLoggingConfigurationResponse'] :: PutLoggingConfigurationResponse -> Int
+ Amazonka.WAF.PutLoggingConfiguration: [$sel:loggingConfiguration:PutLoggingConfiguration'] :: PutLoggingConfiguration -> LoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: [$sel:loggingConfiguration:PutLoggingConfigurationResponse'] :: PutLoggingConfigurationResponse -> Maybe LoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: data PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: data PutLoggingConfigurationResponse
+ Amazonka.WAF.PutLoggingConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance Amazonka.Types.AWSRequest Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance Control.DeepSeq.NFData Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance Control.DeepSeq.NFData Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfigurationResponse
+ Amazonka.WAF.PutLoggingConfiguration: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance Data.Hashable.Class.Hashable Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance GHC.Classes.Eq Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance GHC.Classes.Eq Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfigurationResponse
+ Amazonka.WAF.PutLoggingConfiguration: instance GHC.Generics.Generic Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance GHC.Generics.Generic Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfigurationResponse
+ Amazonka.WAF.PutLoggingConfiguration: instance GHC.Read.Read Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance GHC.Read.Read Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfigurationResponse
+ Amazonka.WAF.PutLoggingConfiguration: instance GHC.Show.Show Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: instance GHC.Show.Show Amazonka.WAF.PutLoggingConfiguration.PutLoggingConfigurationResponse
+ Amazonka.WAF.PutLoggingConfiguration: newPutLoggingConfiguration :: LoggingConfiguration -> PutLoggingConfiguration
+ Amazonka.WAF.PutLoggingConfiguration: newPutLoggingConfigurationResponse :: Int -> PutLoggingConfigurationResponse
+ Amazonka.WAF.PutLoggingConfiguration: putLoggingConfigurationResponse_httpStatus :: Lens' PutLoggingConfigurationResponse Int
+ Amazonka.WAF.PutLoggingConfiguration: putLoggingConfigurationResponse_loggingConfiguration :: Lens' PutLoggingConfigurationResponse (Maybe LoggingConfiguration)
+ Amazonka.WAF.PutLoggingConfiguration: putLoggingConfiguration_loggingConfiguration :: Lens' PutLoggingConfiguration LoggingConfiguration
+ Amazonka.WAF.PutPermissionPolicy: PutPermissionPolicy' :: Text -> Text -> PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: PutPermissionPolicyResponse' :: Int -> PutPermissionPolicyResponse
+ Amazonka.WAF.PutPermissionPolicy: [$sel:httpStatus:PutPermissionPolicyResponse'] :: PutPermissionPolicyResponse -> Int
+ Amazonka.WAF.PutPermissionPolicy: [$sel:policy:PutPermissionPolicy'] :: PutPermissionPolicy -> Text
+ Amazonka.WAF.PutPermissionPolicy: [$sel:resourceArn:PutPermissionPolicy'] :: PutPermissionPolicy -> Text
+ Amazonka.WAF.PutPermissionPolicy: data PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: data PutPermissionPolicyResponse
+ Amazonka.WAF.PutPermissionPolicy: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance Amazonka.Data.Path.ToPath Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance Amazonka.Types.AWSRequest Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance Control.DeepSeq.NFData Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance Control.DeepSeq.NFData Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
+ Amazonka.WAF.PutPermissionPolicy: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance Data.Hashable.Class.Hashable Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance GHC.Classes.Eq Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance GHC.Classes.Eq Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
+ Amazonka.WAF.PutPermissionPolicy: instance GHC.Generics.Generic Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance GHC.Generics.Generic Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
+ Amazonka.WAF.PutPermissionPolicy: instance GHC.Read.Read Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance GHC.Read.Read Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
+ Amazonka.WAF.PutPermissionPolicy: instance GHC.Show.Show Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: instance GHC.Show.Show Amazonka.WAF.PutPermissionPolicy.PutPermissionPolicyResponse
+ Amazonka.WAF.PutPermissionPolicy: newPutPermissionPolicy :: Text -> Text -> PutPermissionPolicy
+ Amazonka.WAF.PutPermissionPolicy: newPutPermissionPolicyResponse :: Int -> PutPermissionPolicyResponse
+ Amazonka.WAF.PutPermissionPolicy: putPermissionPolicyResponse_httpStatus :: Lens' PutPermissionPolicyResponse Int
+ Amazonka.WAF.PutPermissionPolicy: putPermissionPolicy_policy :: Lens' PutPermissionPolicy Text
+ Amazonka.WAF.PutPermissionPolicy: putPermissionPolicy_resourceArn :: Lens' PutPermissionPolicy Text
+ Amazonka.WAF.TagResource: TagResource' :: Text -> NonEmpty Tag -> TagResource
+ Amazonka.WAF.TagResource: TagResourceResponse' :: Int -> TagResourceResponse
+ Amazonka.WAF.TagResource: [$sel:httpStatus:TagResourceResponse'] :: TagResourceResponse -> Int
+ Amazonka.WAF.TagResource: [$sel:resourceARN:TagResource'] :: TagResource -> Text
+ Amazonka.WAF.TagResource: [$sel:tags:TagResource'] :: TagResource -> NonEmpty Tag
+ Amazonka.WAF.TagResource: data TagResource
+ Amazonka.WAF.TagResource: data TagResourceResponse
+ Amazonka.WAF.TagResource: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance Amazonka.Data.Path.ToPath Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance Amazonka.Types.AWSRequest Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance Control.DeepSeq.NFData Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance Control.DeepSeq.NFData Amazonka.WAF.TagResource.TagResourceResponse
+ Amazonka.WAF.TagResource: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance Data.Hashable.Class.Hashable Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance GHC.Classes.Eq Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance GHC.Classes.Eq Amazonka.WAF.TagResource.TagResourceResponse
+ Amazonka.WAF.TagResource: instance GHC.Generics.Generic Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance GHC.Generics.Generic Amazonka.WAF.TagResource.TagResourceResponse
+ Amazonka.WAF.TagResource: instance GHC.Read.Read Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance GHC.Read.Read Amazonka.WAF.TagResource.TagResourceResponse
+ Amazonka.WAF.TagResource: instance GHC.Show.Show Amazonka.WAF.TagResource.TagResource
+ Amazonka.WAF.TagResource: instance GHC.Show.Show Amazonka.WAF.TagResource.TagResourceResponse
+ Amazonka.WAF.TagResource: newTagResource :: Text -> NonEmpty Tag -> TagResource
+ Amazonka.WAF.TagResource: newTagResourceResponse :: Int -> TagResourceResponse
+ Amazonka.WAF.TagResource: tagResourceResponse_httpStatus :: Lens' TagResourceResponse Int
+ Amazonka.WAF.TagResource: tagResource_resourceARN :: Lens' TagResource Text
+ Amazonka.WAF.TagResource: tagResource_tags :: Lens' TagResource (NonEmpty Tag)
+ Amazonka.WAF.Types: ActivatedRule' :: Maybe WafAction -> Maybe [ExcludedRule] -> Maybe WafOverrideAction -> Maybe WafRuleType -> Int -> Text -> ActivatedRule
+ Amazonka.WAF.Types: ByteMatchSet' :: Maybe Text -> Text -> [ByteMatchTuple] -> ByteMatchSet
+ Amazonka.WAF.Types: ByteMatchSetSummary' :: Text -> Text -> ByteMatchSetSummary
+ Amazonka.WAF.Types: ByteMatchSetUpdate' :: ChangeAction -> ByteMatchTuple -> ByteMatchSetUpdate
+ Amazonka.WAF.Types: ByteMatchTuple' :: FieldToMatch -> Base64 -> TextTransformation -> PositionalConstraint -> ByteMatchTuple
+ Amazonka.WAF.Types: ChangeAction' :: Text -> ChangeAction
+ Amazonka.WAF.Types: ChangeTokenStatus' :: Text -> ChangeTokenStatus
+ Amazonka.WAF.Types: ComparisonOperator' :: Text -> ComparisonOperator
+ Amazonka.WAF.Types: ExcludedRule' :: Text -> ExcludedRule
+ Amazonka.WAF.Types: FieldToMatch' :: Maybe Text -> MatchFieldType -> FieldToMatch
+ Amazonka.WAF.Types: GeoMatchConstraint' :: GeoMatchConstraintType -> GeoMatchConstraintValue -> GeoMatchConstraint
+ Amazonka.WAF.Types: GeoMatchConstraintType' :: Text -> GeoMatchConstraintType
+ Amazonka.WAF.Types: GeoMatchConstraintValue' :: Text -> GeoMatchConstraintValue
+ Amazonka.WAF.Types: GeoMatchSet' :: Maybe Text -> Text -> [GeoMatchConstraint] -> GeoMatchSet
+ Amazonka.WAF.Types: GeoMatchSetSummary' :: Text -> Text -> GeoMatchSetSummary
+ Amazonka.WAF.Types: GeoMatchSetUpdate' :: ChangeAction -> GeoMatchConstraint -> GeoMatchSetUpdate
+ Amazonka.WAF.Types: HTTPHeader' :: Maybe Text -> Maybe Text -> HTTPHeader
+ Amazonka.WAF.Types: HTTPRequest' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [HTTPHeader] -> Maybe Text -> Maybe Text -> HTTPRequest
+ Amazonka.WAF.Types: IPSet' :: Maybe Text -> Text -> [IPSetDescriptor] -> IPSet
+ Amazonka.WAF.Types: IPSetDescriptor' :: IPSetDescriptorType -> Text -> IPSetDescriptor
+ Amazonka.WAF.Types: IPSetDescriptorType' :: Text -> IPSetDescriptorType
+ Amazonka.WAF.Types: IPSetSummary' :: Text -> Text -> IPSetSummary
+ Amazonka.WAF.Types: IPSetUpdate' :: ChangeAction -> IPSetDescriptor -> IPSetUpdate
+ Amazonka.WAF.Types: LoggingConfiguration' :: Maybe [FieldToMatch] -> Text -> NonEmpty Text -> LoggingConfiguration
+ Amazonka.WAF.Types: MatchFieldType' :: Text -> MatchFieldType
+ Amazonka.WAF.Types: PositionalConstraint' :: Text -> PositionalConstraint
+ Amazonka.WAF.Types: Predicate' :: Bool -> PredicateType -> Text -> Predicate
+ Amazonka.WAF.Types: PredicateType' :: Text -> PredicateType
+ Amazonka.WAF.Types: RateBasedRule' :: Maybe Text -> Maybe Text -> Text -> [Predicate] -> RateKey -> Natural -> RateBasedRule
+ Amazonka.WAF.Types: RateKey' :: Text -> RateKey
+ Amazonka.WAF.Types: RegexMatchSet' :: Maybe Text -> Maybe Text -> Maybe [RegexMatchTuple] -> RegexMatchSet
+ Amazonka.WAF.Types: RegexMatchSetSummary' :: Text -> Text -> RegexMatchSetSummary
+ Amazonka.WAF.Types: RegexMatchSetUpdate' :: ChangeAction -> RegexMatchTuple -> RegexMatchSetUpdate
+ Amazonka.WAF.Types: RegexMatchTuple' :: FieldToMatch -> TextTransformation -> Text -> RegexMatchTuple
+ Amazonka.WAF.Types: RegexPatternSet' :: Maybe Text -> Text -> [Text] -> RegexPatternSet
+ Amazonka.WAF.Types: RegexPatternSetSummary' :: Text -> Text -> RegexPatternSetSummary
+ Amazonka.WAF.Types: RegexPatternSetUpdate' :: ChangeAction -> Text -> RegexPatternSetUpdate
+ Amazonka.WAF.Types: Rule' :: Maybe Text -> Maybe Text -> Text -> [Predicate] -> Rule
+ Amazonka.WAF.Types: RuleGroup' :: Maybe Text -> Maybe Text -> Text -> RuleGroup
+ Amazonka.WAF.Types: RuleGroupSummary' :: Text -> Text -> RuleGroupSummary
+ Amazonka.WAF.Types: RuleGroupUpdate' :: ChangeAction -> ActivatedRule -> RuleGroupUpdate
+ Amazonka.WAF.Types: RuleSummary' :: Text -> Text -> RuleSummary
+ Amazonka.WAF.Types: RuleUpdate' :: ChangeAction -> Predicate -> RuleUpdate
+ Amazonka.WAF.Types: SampledHTTPRequest' :: Maybe Text -> Maybe Text -> Maybe POSIX -> HTTPRequest -> Natural -> SampledHTTPRequest
+ Amazonka.WAF.Types: SizeConstraint' :: FieldToMatch -> TextTransformation -> ComparisonOperator -> Natural -> SizeConstraint
+ Amazonka.WAF.Types: SizeConstraintSet' :: Maybe Text -> Text -> [SizeConstraint] -> SizeConstraintSet
+ Amazonka.WAF.Types: SizeConstraintSetSummary' :: Text -> Text -> SizeConstraintSetSummary
+ Amazonka.WAF.Types: SizeConstraintSetUpdate' :: ChangeAction -> SizeConstraint -> SizeConstraintSetUpdate
+ Amazonka.WAF.Types: SqlInjectionMatchSet' :: Maybe Text -> Text -> [SqlInjectionMatchTuple] -> SqlInjectionMatchSet
+ Amazonka.WAF.Types: SqlInjectionMatchSetSummary' :: Text -> Text -> SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types: SqlInjectionMatchSetUpdate' :: ChangeAction -> SqlInjectionMatchTuple -> SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types: SqlInjectionMatchTuple' :: FieldToMatch -> TextTransformation -> SqlInjectionMatchTuple
+ Amazonka.WAF.Types: SubscribedRuleGroupSummary' :: Text -> Text -> Text -> SubscribedRuleGroupSummary
+ Amazonka.WAF.Types: Tag' :: Text -> Text -> Tag
+ Amazonka.WAF.Types: TagInfoForResource' :: Maybe Text -> Maybe (NonEmpty Tag) -> TagInfoForResource
+ Amazonka.WAF.Types: TextTransformation' :: Text -> TextTransformation
+ Amazonka.WAF.Types: TimeWindow' :: POSIX -> POSIX -> TimeWindow
+ Amazonka.WAF.Types: WafAction' :: WafActionType -> WafAction
+ Amazonka.WAF.Types: WafActionType' :: Text -> WafActionType
+ Amazonka.WAF.Types: WafOverrideAction' :: WafOverrideActionType -> WafOverrideAction
+ Amazonka.WAF.Types: WafOverrideActionType' :: Text -> WafOverrideActionType
+ Amazonka.WAF.Types: WafRuleType' :: Text -> WafRuleType
+ Amazonka.WAF.Types: WebACL' :: Maybe Text -> Maybe Text -> Maybe Text -> Text -> WafAction -> [ActivatedRule] -> WebACL
+ Amazonka.WAF.Types: WebACLSummary' :: Text -> Text -> WebACLSummary
+ Amazonka.WAF.Types: WebACLUpdate' :: ChangeAction -> ActivatedRule -> WebACLUpdate
+ Amazonka.WAF.Types: XssMatchSet' :: Maybe Text -> Text -> [XssMatchTuple] -> XssMatchSet
+ Amazonka.WAF.Types: XssMatchSetSummary' :: Text -> Text -> XssMatchSetSummary
+ Amazonka.WAF.Types: XssMatchSetUpdate' :: ChangeAction -> XssMatchTuple -> XssMatchSetUpdate
+ Amazonka.WAF.Types: XssMatchTuple' :: FieldToMatch -> TextTransformation -> XssMatchTuple
+ Amazonka.WAF.Types: [$sel:action:ActivatedRule'] :: ActivatedRule -> Maybe WafAction
+ Amazonka.WAF.Types: [$sel:action:ByteMatchSetUpdate'] :: ByteMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:GeoMatchSetUpdate'] :: GeoMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:IPSetUpdate'] :: IPSetUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:RegexMatchSetUpdate'] :: RegexMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:RegexPatternSetUpdate'] :: RegexPatternSetUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:RuleGroupUpdate'] :: RuleGroupUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:RuleUpdate'] :: RuleUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:SampledHTTPRequest'] :: SampledHTTPRequest -> Maybe Text
+ Amazonka.WAF.Types: [$sel:action:SizeConstraintSetUpdate'] :: SizeConstraintSetUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:SqlInjectionMatchSetUpdate'] :: SqlInjectionMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:WebACLUpdate'] :: WebACLUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:action:XssMatchSetUpdate'] :: XssMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types: [$sel:activatedRule:RuleGroupUpdate'] :: RuleGroupUpdate -> ActivatedRule
+ Amazonka.WAF.Types: [$sel:activatedRule:WebACLUpdate'] :: WebACLUpdate -> ActivatedRule
+ Amazonka.WAF.Types: [$sel:byteMatchSetId:ByteMatchSet'] :: ByteMatchSet -> Text
+ Amazonka.WAF.Types: [$sel:byteMatchSetId:ByteMatchSetSummary'] :: ByteMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:byteMatchTuple:ByteMatchSetUpdate'] :: ByteMatchSetUpdate -> ByteMatchTuple
+ Amazonka.WAF.Types: [$sel:byteMatchTuples:ByteMatchSet'] :: ByteMatchSet -> [ByteMatchTuple]
+ Amazonka.WAF.Types: [$sel:clientIP:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types: [$sel:comparisonOperator:SizeConstraint'] :: SizeConstraint -> ComparisonOperator
+ Amazonka.WAF.Types: [$sel:country:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types: [$sel:data':FieldToMatch'] :: FieldToMatch -> Maybe Text
+ Amazonka.WAF.Types: [$sel:dataId:Predicate'] :: Predicate -> Text
+ Amazonka.WAF.Types: [$sel:defaultAction:WebACL'] :: WebACL -> WafAction
+ Amazonka.WAF.Types: [$sel:endTime:TimeWindow'] :: TimeWindow -> POSIX
+ Amazonka.WAF.Types: [$sel:excludedRules:ActivatedRule'] :: ActivatedRule -> Maybe [ExcludedRule]
+ Amazonka.WAF.Types: [$sel:fieldToMatch:ByteMatchTuple'] :: ByteMatchTuple -> FieldToMatch
+ Amazonka.WAF.Types: [$sel:fieldToMatch:RegexMatchTuple'] :: RegexMatchTuple -> FieldToMatch
+ Amazonka.WAF.Types: [$sel:fieldToMatch:SizeConstraint'] :: SizeConstraint -> FieldToMatch
+ Amazonka.WAF.Types: [$sel:fieldToMatch:SqlInjectionMatchTuple'] :: SqlInjectionMatchTuple -> FieldToMatch
+ Amazonka.WAF.Types: [$sel:fieldToMatch:XssMatchTuple'] :: XssMatchTuple -> FieldToMatch
+ Amazonka.WAF.Types: [$sel:geoMatchConstraint:GeoMatchSetUpdate'] :: GeoMatchSetUpdate -> GeoMatchConstraint
+ Amazonka.WAF.Types: [$sel:geoMatchConstraints:GeoMatchSet'] :: GeoMatchSet -> [GeoMatchConstraint]
+ Amazonka.WAF.Types: [$sel:geoMatchSetId:GeoMatchSet'] :: GeoMatchSet -> Text
+ Amazonka.WAF.Types: [$sel:geoMatchSetId:GeoMatchSetSummary'] :: GeoMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:hTTPVersion:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types: [$sel:headers:HTTPRequest'] :: HTTPRequest -> Maybe [HTTPHeader]
+ Amazonka.WAF.Types: [$sel:iPSetDescriptor:IPSetUpdate'] :: IPSetUpdate -> IPSetDescriptor
+ Amazonka.WAF.Types: [$sel:iPSetDescriptors:IPSet'] :: IPSet -> [IPSetDescriptor]
+ Amazonka.WAF.Types: [$sel:iPSetId:IPSet'] :: IPSet -> Text
+ Amazonka.WAF.Types: [$sel:iPSetId:IPSetSummary'] :: IPSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:key:Tag'] :: Tag -> Text
+ Amazonka.WAF.Types: [$sel:logDestinationConfigs:LoggingConfiguration'] :: LoggingConfiguration -> NonEmpty Text
+ Amazonka.WAF.Types: [$sel:matchPredicates:RateBasedRule'] :: RateBasedRule -> [Predicate]
+ Amazonka.WAF.Types: [$sel:method:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types: [$sel:metricName:RateBasedRule'] :: RateBasedRule -> Maybe Text
+ Amazonka.WAF.Types: [$sel:metricName:Rule'] :: Rule -> Maybe Text
+ Amazonka.WAF.Types: [$sel:metricName:RuleGroup'] :: RuleGroup -> Maybe Text
+ Amazonka.WAF.Types: [$sel:metricName:SubscribedRuleGroupSummary'] :: SubscribedRuleGroupSummary -> Text
+ Amazonka.WAF.Types: [$sel:metricName:WebACL'] :: WebACL -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:ByteMatchSet'] :: ByteMatchSet -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:ByteMatchSetSummary'] :: ByteMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:GeoMatchSet'] :: GeoMatchSet -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:GeoMatchSetSummary'] :: GeoMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:HTTPHeader'] :: HTTPHeader -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:IPSet'] :: IPSet -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:IPSetSummary'] :: IPSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:RateBasedRule'] :: RateBasedRule -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:RegexMatchSet'] :: RegexMatchSet -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:RegexMatchSetSummary'] :: RegexMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:RegexPatternSet'] :: RegexPatternSet -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:RegexPatternSetSummary'] :: RegexPatternSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:Rule'] :: Rule -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:RuleGroup'] :: RuleGroup -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:RuleGroupSummary'] :: RuleGroupSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:RuleSummary'] :: RuleSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:SizeConstraintSet'] :: SizeConstraintSet -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:SizeConstraintSetSummary'] :: SizeConstraintSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:SqlInjectionMatchSet'] :: SqlInjectionMatchSet -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:SqlInjectionMatchSetSummary'] :: SqlInjectionMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:SubscribedRuleGroupSummary'] :: SubscribedRuleGroupSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:WebACL'] :: WebACL -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:WebACLSummary'] :: WebACLSummary -> Text
+ Amazonka.WAF.Types: [$sel:name:XssMatchSet'] :: XssMatchSet -> Maybe Text
+ Amazonka.WAF.Types: [$sel:name:XssMatchSetSummary'] :: XssMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:negated:Predicate'] :: Predicate -> Bool
+ Amazonka.WAF.Types: [$sel:overrideAction:ActivatedRule'] :: ActivatedRule -> Maybe WafOverrideAction
+ Amazonka.WAF.Types: [$sel:positionalConstraint:ByteMatchTuple'] :: ByteMatchTuple -> PositionalConstraint
+ Amazonka.WAF.Types: [$sel:predicate:RuleUpdate'] :: RuleUpdate -> Predicate
+ Amazonka.WAF.Types: [$sel:predicates:Rule'] :: Rule -> [Predicate]
+ Amazonka.WAF.Types: [$sel:priority:ActivatedRule'] :: ActivatedRule -> Int
+ Amazonka.WAF.Types: [$sel:rateKey:RateBasedRule'] :: RateBasedRule -> RateKey
+ Amazonka.WAF.Types: [$sel:rateLimit:RateBasedRule'] :: RateBasedRule -> Natural
+ Amazonka.WAF.Types: [$sel:redactedFields:LoggingConfiguration'] :: LoggingConfiguration -> Maybe [FieldToMatch]
+ Amazonka.WAF.Types: [$sel:regexMatchSetId:RegexMatchSet'] :: RegexMatchSet -> Maybe Text
+ Amazonka.WAF.Types: [$sel:regexMatchSetId:RegexMatchSetSummary'] :: RegexMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:regexMatchTuple:RegexMatchSetUpdate'] :: RegexMatchSetUpdate -> RegexMatchTuple
+ Amazonka.WAF.Types: [$sel:regexMatchTuples:RegexMatchSet'] :: RegexMatchSet -> Maybe [RegexMatchTuple]
+ Amazonka.WAF.Types: [$sel:regexPatternSetId:RegexMatchTuple'] :: RegexMatchTuple -> Text
+ Amazonka.WAF.Types: [$sel:regexPatternSetId:RegexPatternSet'] :: RegexPatternSet -> Text
+ Amazonka.WAF.Types: [$sel:regexPatternSetId:RegexPatternSetSummary'] :: RegexPatternSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:regexPatternString:RegexPatternSetUpdate'] :: RegexPatternSetUpdate -> Text
+ Amazonka.WAF.Types: [$sel:regexPatternStrings:RegexPatternSet'] :: RegexPatternSet -> [Text]
+ Amazonka.WAF.Types: [$sel:request:SampledHTTPRequest'] :: SampledHTTPRequest -> HTTPRequest
+ Amazonka.WAF.Types: [$sel:resourceARN:TagInfoForResource'] :: TagInfoForResource -> Maybe Text
+ Amazonka.WAF.Types: [$sel:resourceArn:LoggingConfiguration'] :: LoggingConfiguration -> Text
+ Amazonka.WAF.Types: [$sel:ruleGroupId:RuleGroup'] :: RuleGroup -> Text
+ Amazonka.WAF.Types: [$sel:ruleGroupId:RuleGroupSummary'] :: RuleGroupSummary -> Text
+ Amazonka.WAF.Types: [$sel:ruleGroupId:SubscribedRuleGroupSummary'] :: SubscribedRuleGroupSummary -> Text
+ Amazonka.WAF.Types: [$sel:ruleId:ActivatedRule'] :: ActivatedRule -> Text
+ Amazonka.WAF.Types: [$sel:ruleId:ExcludedRule'] :: ExcludedRule -> Text
+ Amazonka.WAF.Types: [$sel:ruleId:RateBasedRule'] :: RateBasedRule -> Text
+ Amazonka.WAF.Types: [$sel:ruleId:Rule'] :: Rule -> Text
+ Amazonka.WAF.Types: [$sel:ruleId:RuleSummary'] :: RuleSummary -> Text
+ Amazonka.WAF.Types: [$sel:ruleWithinRuleGroup:SampledHTTPRequest'] :: SampledHTTPRequest -> Maybe Text
+ Amazonka.WAF.Types: [$sel:rules:WebACL'] :: WebACL -> [ActivatedRule]
+ Amazonka.WAF.Types: [$sel:size:SizeConstraint'] :: SizeConstraint -> Natural
+ Amazonka.WAF.Types: [$sel:sizeConstraint:SizeConstraintSetUpdate'] :: SizeConstraintSetUpdate -> SizeConstraint
+ Amazonka.WAF.Types: [$sel:sizeConstraintSetId:SizeConstraintSet'] :: SizeConstraintSet -> Text
+ Amazonka.WAF.Types: [$sel:sizeConstraintSetId:SizeConstraintSetSummary'] :: SizeConstraintSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:sizeConstraints:SizeConstraintSet'] :: SizeConstraintSet -> [SizeConstraint]
+ Amazonka.WAF.Types: [$sel:sqlInjectionMatchSetId:SqlInjectionMatchSet'] :: SqlInjectionMatchSet -> Text
+ Amazonka.WAF.Types: [$sel:sqlInjectionMatchSetId:SqlInjectionMatchSetSummary'] :: SqlInjectionMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:sqlInjectionMatchTuple:SqlInjectionMatchSetUpdate'] :: SqlInjectionMatchSetUpdate -> SqlInjectionMatchTuple
+ Amazonka.WAF.Types: [$sel:sqlInjectionMatchTuples:SqlInjectionMatchSet'] :: SqlInjectionMatchSet -> [SqlInjectionMatchTuple]
+ Amazonka.WAF.Types: [$sel:startTime:TimeWindow'] :: TimeWindow -> POSIX
+ Amazonka.WAF.Types: [$sel:tagList:TagInfoForResource'] :: TagInfoForResource -> Maybe (NonEmpty Tag)
+ Amazonka.WAF.Types: [$sel:targetString:ByteMatchTuple'] :: ByteMatchTuple -> Base64
+ Amazonka.WAF.Types: [$sel:textTransformation:ByteMatchTuple'] :: ByteMatchTuple -> TextTransformation
+ Amazonka.WAF.Types: [$sel:textTransformation:RegexMatchTuple'] :: RegexMatchTuple -> TextTransformation
+ Amazonka.WAF.Types: [$sel:textTransformation:SizeConstraint'] :: SizeConstraint -> TextTransformation
+ Amazonka.WAF.Types: [$sel:textTransformation:SqlInjectionMatchTuple'] :: SqlInjectionMatchTuple -> TextTransformation
+ Amazonka.WAF.Types: [$sel:textTransformation:XssMatchTuple'] :: XssMatchTuple -> TextTransformation
+ Amazonka.WAF.Types: [$sel:timestamp:SampledHTTPRequest'] :: SampledHTTPRequest -> Maybe POSIX
+ Amazonka.WAF.Types: [$sel:type':ActivatedRule'] :: ActivatedRule -> Maybe WafRuleType
+ Amazonka.WAF.Types: [$sel:type':FieldToMatch'] :: FieldToMatch -> MatchFieldType
+ Amazonka.WAF.Types: [$sel:type':GeoMatchConstraint'] :: GeoMatchConstraint -> GeoMatchConstraintType
+ Amazonka.WAF.Types: [$sel:type':IPSetDescriptor'] :: IPSetDescriptor -> IPSetDescriptorType
+ Amazonka.WAF.Types: [$sel:type':Predicate'] :: Predicate -> PredicateType
+ Amazonka.WAF.Types: [$sel:type':WafAction'] :: WafAction -> WafActionType
+ Amazonka.WAF.Types: [$sel:type':WafOverrideAction'] :: WafOverrideAction -> WafOverrideActionType
+ Amazonka.WAF.Types: [$sel:uri:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types: [$sel:value:GeoMatchConstraint'] :: GeoMatchConstraint -> GeoMatchConstraintValue
+ Amazonka.WAF.Types: [$sel:value:HTTPHeader'] :: HTTPHeader -> Maybe Text
+ Amazonka.WAF.Types: [$sel:value:IPSetDescriptor'] :: IPSetDescriptor -> Text
+ Amazonka.WAF.Types: [$sel:value:Tag'] :: Tag -> Text
+ Amazonka.WAF.Types: [$sel:webACLArn:WebACL'] :: WebACL -> Maybe Text
+ Amazonka.WAF.Types: [$sel:webACLId:WebACL'] :: WebACL -> Text
+ Amazonka.WAF.Types: [$sel:webACLId:WebACLSummary'] :: WebACLSummary -> Text
+ Amazonka.WAF.Types: [$sel:weight:SampledHTTPRequest'] :: SampledHTTPRequest -> Natural
+ Amazonka.WAF.Types: [$sel:xssMatchSetId:XssMatchSet'] :: XssMatchSet -> Text
+ Amazonka.WAF.Types: [$sel:xssMatchSetId:XssMatchSetSummary'] :: XssMatchSetSummary -> Text
+ Amazonka.WAF.Types: [$sel:xssMatchTuple:XssMatchSetUpdate'] :: XssMatchSetUpdate -> XssMatchTuple
+ Amazonka.WAF.Types: [$sel:xssMatchTuples:XssMatchSet'] :: XssMatchSet -> [XssMatchTuple]
+ Amazonka.WAF.Types: [fromChangeAction] :: ChangeAction -> Text
+ Amazonka.WAF.Types: [fromChangeTokenStatus] :: ChangeTokenStatus -> Text
+ Amazonka.WAF.Types: [fromComparisonOperator] :: ComparisonOperator -> Text
+ Amazonka.WAF.Types: [fromGeoMatchConstraintType] :: GeoMatchConstraintType -> Text
+ Amazonka.WAF.Types: [fromGeoMatchConstraintValue] :: GeoMatchConstraintValue -> Text
+ Amazonka.WAF.Types: [fromIPSetDescriptorType] :: IPSetDescriptorType -> Text
+ Amazonka.WAF.Types: [fromMatchFieldType] :: MatchFieldType -> Text
+ Amazonka.WAF.Types: [fromPositionalConstraint] :: PositionalConstraint -> Text
+ Amazonka.WAF.Types: [fromPredicateType] :: PredicateType -> Text
+ Amazonka.WAF.Types: [fromRateKey] :: RateKey -> Text
+ Amazonka.WAF.Types: [fromTextTransformation] :: TextTransformation -> Text
+ Amazonka.WAF.Types: [fromWafActionType] :: WafActionType -> Text
+ Amazonka.WAF.Types: [fromWafOverrideActionType] :: WafOverrideActionType -> Text
+ Amazonka.WAF.Types: [fromWafRuleType] :: WafRuleType -> Text
+ Amazonka.WAF.Types: _WAFBadRequestException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFDisallowedNameException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFEntityMigrationException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFInternalErrorException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFInvalidAccountException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFInvalidOperationException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFInvalidParameterException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFInvalidPermissionPolicyException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFInvalidRegexPatternException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFLimitsExceededException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFNonEmptyEntityException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFNonexistentContainerException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFNonexistentItemException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFReferencedItemException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFServiceLinkedRoleErrorException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFStaleDataException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFSubscriptionNotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFTagOperationException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: _WAFTagOperationInternalErrorException :: AsError a => Fold a ServiceError
+ Amazonka.WAF.Types: activatedRule_action :: Lens' ActivatedRule (Maybe WafAction)
+ Amazonka.WAF.Types: activatedRule_excludedRules :: Lens' ActivatedRule (Maybe [ExcludedRule])
+ Amazonka.WAF.Types: activatedRule_overrideAction :: Lens' ActivatedRule (Maybe WafOverrideAction)
+ Amazonka.WAF.Types: activatedRule_priority :: Lens' ActivatedRule Int
+ Amazonka.WAF.Types: activatedRule_ruleId :: Lens' ActivatedRule Text
+ Amazonka.WAF.Types: activatedRule_type :: Lens' ActivatedRule (Maybe WafRuleType)
+ Amazonka.WAF.Types: byteMatchSetSummary_byteMatchSetId :: Lens' ByteMatchSetSummary Text
+ Amazonka.WAF.Types: byteMatchSetSummary_name :: Lens' ByteMatchSetSummary Text
+ Amazonka.WAF.Types: byteMatchSetUpdate_action :: Lens' ByteMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types: byteMatchSetUpdate_byteMatchTuple :: Lens' ByteMatchSetUpdate ByteMatchTuple
+ Amazonka.WAF.Types: byteMatchSet_byteMatchSetId :: Lens' ByteMatchSet Text
+ Amazonka.WAF.Types: byteMatchSet_byteMatchTuples :: Lens' ByteMatchSet [ByteMatchTuple]
+ Amazonka.WAF.Types: byteMatchSet_name :: Lens' ByteMatchSet (Maybe Text)
+ Amazonka.WAF.Types: byteMatchTuple_fieldToMatch :: Lens' ByteMatchTuple FieldToMatch
+ Amazonka.WAF.Types: byteMatchTuple_positionalConstraint :: Lens' ByteMatchTuple PositionalConstraint
+ Amazonka.WAF.Types: byteMatchTuple_targetString :: Lens' ByteMatchTuple ByteString
+ Amazonka.WAF.Types: byteMatchTuple_textTransformation :: Lens' ByteMatchTuple TextTransformation
+ Amazonka.WAF.Types: data ActivatedRule
+ Amazonka.WAF.Types: data ByteMatchSet
+ Amazonka.WAF.Types: data ByteMatchSetSummary
+ Amazonka.WAF.Types: data ByteMatchSetUpdate
+ Amazonka.WAF.Types: data ByteMatchTuple
+ Amazonka.WAF.Types: data ExcludedRule
+ Amazonka.WAF.Types: data FieldToMatch
+ Amazonka.WAF.Types: data GeoMatchConstraint
+ Amazonka.WAF.Types: data GeoMatchSet
+ Amazonka.WAF.Types: data GeoMatchSetSummary
+ Amazonka.WAF.Types: data GeoMatchSetUpdate
+ Amazonka.WAF.Types: data HTTPHeader
+ Amazonka.WAF.Types: data HTTPRequest
+ Amazonka.WAF.Types: data IPSet
+ Amazonka.WAF.Types: data IPSetDescriptor
+ Amazonka.WAF.Types: data IPSetSummary
+ Amazonka.WAF.Types: data IPSetUpdate
+ Amazonka.WAF.Types: data LoggingConfiguration
+ Amazonka.WAF.Types: data Predicate
+ Amazonka.WAF.Types: data RateBasedRule
+ Amazonka.WAF.Types: data RegexMatchSet
+ Amazonka.WAF.Types: data RegexMatchSetSummary
+ Amazonka.WAF.Types: data RegexMatchSetUpdate
+ Amazonka.WAF.Types: data RegexMatchTuple
+ Amazonka.WAF.Types: data RegexPatternSet
+ Amazonka.WAF.Types: data RegexPatternSetSummary
+ Amazonka.WAF.Types: data RegexPatternSetUpdate
+ Amazonka.WAF.Types: data Rule
+ Amazonka.WAF.Types: data RuleGroup
+ Amazonka.WAF.Types: data RuleGroupSummary
+ Amazonka.WAF.Types: data RuleGroupUpdate
+ Amazonka.WAF.Types: data RuleSummary
+ Amazonka.WAF.Types: data RuleUpdate
+ Amazonka.WAF.Types: data SampledHTTPRequest
+ Amazonka.WAF.Types: data SizeConstraint
+ Amazonka.WAF.Types: data SizeConstraintSet
+ Amazonka.WAF.Types: data SizeConstraintSetSummary
+ Amazonka.WAF.Types: data SizeConstraintSetUpdate
+ Amazonka.WAF.Types: data SqlInjectionMatchSet
+ Amazonka.WAF.Types: data SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types: data SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types: data SqlInjectionMatchTuple
+ Amazonka.WAF.Types: data SubscribedRuleGroupSummary
+ Amazonka.WAF.Types: data Tag
+ Amazonka.WAF.Types: data TagInfoForResource
+ Amazonka.WAF.Types: data TimeWindow
+ Amazonka.WAF.Types: data WafAction
+ Amazonka.WAF.Types: data WafOverrideAction
+ Amazonka.WAF.Types: data WebACL
+ Amazonka.WAF.Types: data WebACLSummary
+ Amazonka.WAF.Types: data WebACLUpdate
+ Amazonka.WAF.Types: data XssMatchSet
+ Amazonka.WAF.Types: data XssMatchSetSummary
+ Amazonka.WAF.Types: data XssMatchSetUpdate
+ Amazonka.WAF.Types: data XssMatchTuple
+ Amazonka.WAF.Types: defaultService :: Service
+ Amazonka.WAF.Types: excludedRule_ruleId :: Lens' ExcludedRule Text
+ Amazonka.WAF.Types: fieldToMatch_data :: Lens' FieldToMatch (Maybe Text)
+ Amazonka.WAF.Types: fieldToMatch_type :: Lens' FieldToMatch MatchFieldType
+ Amazonka.WAF.Types: geoMatchConstraint_type :: Lens' GeoMatchConstraint GeoMatchConstraintType
+ Amazonka.WAF.Types: geoMatchConstraint_value :: Lens' GeoMatchConstraint GeoMatchConstraintValue
+ Amazonka.WAF.Types: geoMatchSetSummary_geoMatchSetId :: Lens' GeoMatchSetSummary Text
+ Amazonka.WAF.Types: geoMatchSetSummary_name :: Lens' GeoMatchSetSummary Text
+ Amazonka.WAF.Types: geoMatchSetUpdate_action :: Lens' GeoMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types: geoMatchSetUpdate_geoMatchConstraint :: Lens' GeoMatchSetUpdate GeoMatchConstraint
+ Amazonka.WAF.Types: geoMatchSet_geoMatchConstraints :: Lens' GeoMatchSet [GeoMatchConstraint]
+ Amazonka.WAF.Types: geoMatchSet_geoMatchSetId :: Lens' GeoMatchSet Text
+ Amazonka.WAF.Types: geoMatchSet_name :: Lens' GeoMatchSet (Maybe Text)
+ Amazonka.WAF.Types: hTTPHeader_name :: Lens' HTTPHeader (Maybe Text)
+ Amazonka.WAF.Types: hTTPHeader_value :: Lens' HTTPHeader (Maybe Text)
+ Amazonka.WAF.Types: hTTPRequest_clientIP :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types: hTTPRequest_country :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types: hTTPRequest_hTTPVersion :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types: hTTPRequest_headers :: Lens' HTTPRequest (Maybe [HTTPHeader])
+ Amazonka.WAF.Types: hTTPRequest_method :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types: hTTPRequest_uri :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types: iPSetDescriptor_type :: Lens' IPSetDescriptor IPSetDescriptorType
+ Amazonka.WAF.Types: iPSetDescriptor_value :: Lens' IPSetDescriptor Text
+ Amazonka.WAF.Types: iPSetSummary_iPSetId :: Lens' IPSetSummary Text
+ Amazonka.WAF.Types: iPSetSummary_name :: Lens' IPSetSummary Text
+ Amazonka.WAF.Types: iPSetUpdate_action :: Lens' IPSetUpdate ChangeAction
+ Amazonka.WAF.Types: iPSetUpdate_iPSetDescriptor :: Lens' IPSetUpdate IPSetDescriptor
+ Amazonka.WAF.Types: iPSet_iPSetDescriptors :: Lens' IPSet [IPSetDescriptor]
+ Amazonka.WAF.Types: iPSet_iPSetId :: Lens' IPSet Text
+ Amazonka.WAF.Types: iPSet_name :: Lens' IPSet (Maybe Text)
+ Amazonka.WAF.Types: loggingConfiguration_logDestinationConfigs :: Lens' LoggingConfiguration (NonEmpty Text)
+ Amazonka.WAF.Types: loggingConfiguration_redactedFields :: Lens' LoggingConfiguration (Maybe [FieldToMatch])
+ Amazonka.WAF.Types: loggingConfiguration_resourceArn :: Lens' LoggingConfiguration Text
+ Amazonka.WAF.Types: newActivatedRule :: Int -> Text -> ActivatedRule
+ Amazonka.WAF.Types: newByteMatchSet :: Text -> ByteMatchSet
+ Amazonka.WAF.Types: newByteMatchSetSummary :: Text -> Text -> ByteMatchSetSummary
+ Amazonka.WAF.Types: newByteMatchSetUpdate :: ChangeAction -> ByteMatchTuple -> ByteMatchSetUpdate
+ Amazonka.WAF.Types: newByteMatchTuple :: FieldToMatch -> ByteString -> TextTransformation -> PositionalConstraint -> ByteMatchTuple
+ Amazonka.WAF.Types: newExcludedRule :: Text -> ExcludedRule
+ Amazonka.WAF.Types: newFieldToMatch :: MatchFieldType -> FieldToMatch
+ Amazonka.WAF.Types: newGeoMatchConstraint :: GeoMatchConstraintType -> GeoMatchConstraintValue -> GeoMatchConstraint
+ Amazonka.WAF.Types: newGeoMatchSet :: Text -> GeoMatchSet
+ Amazonka.WAF.Types: newGeoMatchSetSummary :: Text -> Text -> GeoMatchSetSummary
+ Amazonka.WAF.Types: newGeoMatchSetUpdate :: ChangeAction -> GeoMatchConstraint -> GeoMatchSetUpdate
+ Amazonka.WAF.Types: newHTTPHeader :: HTTPHeader
+ Amazonka.WAF.Types: newHTTPRequest :: HTTPRequest
+ Amazonka.WAF.Types: newIPSet :: Text -> IPSet
+ Amazonka.WAF.Types: newIPSetDescriptor :: IPSetDescriptorType -> Text -> IPSetDescriptor
+ Amazonka.WAF.Types: newIPSetSummary :: Text -> Text -> IPSetSummary
+ Amazonka.WAF.Types: newIPSetUpdate :: ChangeAction -> IPSetDescriptor -> IPSetUpdate
+ Amazonka.WAF.Types: newLoggingConfiguration :: Text -> NonEmpty Text -> LoggingConfiguration
+ Amazonka.WAF.Types: newPredicate :: Bool -> PredicateType -> Text -> Predicate
+ Amazonka.WAF.Types: newRateBasedRule :: Text -> RateKey -> Natural -> RateBasedRule
+ Amazonka.WAF.Types: newRegexMatchSet :: RegexMatchSet
+ Amazonka.WAF.Types: newRegexMatchSetSummary :: Text -> Text -> RegexMatchSetSummary
+ Amazonka.WAF.Types: newRegexMatchSetUpdate :: ChangeAction -> RegexMatchTuple -> RegexMatchSetUpdate
+ Amazonka.WAF.Types: newRegexMatchTuple :: FieldToMatch -> TextTransformation -> Text -> RegexMatchTuple
+ Amazonka.WAF.Types: newRegexPatternSet :: Text -> RegexPatternSet
+ Amazonka.WAF.Types: newRegexPatternSetSummary :: Text -> Text -> RegexPatternSetSummary
+ Amazonka.WAF.Types: newRegexPatternSetUpdate :: ChangeAction -> Text -> RegexPatternSetUpdate
+ Amazonka.WAF.Types: newRule :: Text -> Rule
+ Amazonka.WAF.Types: newRuleGroup :: Text -> RuleGroup
+ Amazonka.WAF.Types: newRuleGroupSummary :: Text -> Text -> RuleGroupSummary
+ Amazonka.WAF.Types: newRuleGroupUpdate :: ChangeAction -> ActivatedRule -> RuleGroupUpdate
+ Amazonka.WAF.Types: newRuleSummary :: Text -> Text -> RuleSummary
+ Amazonka.WAF.Types: newRuleUpdate :: ChangeAction -> Predicate -> RuleUpdate
+ Amazonka.WAF.Types: newSampledHTTPRequest :: HTTPRequest -> Natural -> SampledHTTPRequest
+ Amazonka.WAF.Types: newSizeConstraint :: FieldToMatch -> TextTransformation -> ComparisonOperator -> Natural -> SizeConstraint
+ Amazonka.WAF.Types: newSizeConstraintSet :: Text -> SizeConstraintSet
+ Amazonka.WAF.Types: newSizeConstraintSetSummary :: Text -> Text -> SizeConstraintSetSummary
+ Amazonka.WAF.Types: newSizeConstraintSetUpdate :: ChangeAction -> SizeConstraint -> SizeConstraintSetUpdate
+ Amazonka.WAF.Types: newSqlInjectionMatchSet :: Text -> SqlInjectionMatchSet
+ Amazonka.WAF.Types: newSqlInjectionMatchSetSummary :: Text -> Text -> SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types: newSqlInjectionMatchSetUpdate :: ChangeAction -> SqlInjectionMatchTuple -> SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types: newSqlInjectionMatchTuple :: FieldToMatch -> TextTransformation -> SqlInjectionMatchTuple
+ Amazonka.WAF.Types: newSubscribedRuleGroupSummary :: Text -> Text -> Text -> SubscribedRuleGroupSummary
+ Amazonka.WAF.Types: newTag :: Text -> Text -> Tag
+ Amazonka.WAF.Types: newTagInfoForResource :: TagInfoForResource
+ Amazonka.WAF.Types: newTimeWindow :: UTCTime -> UTCTime -> TimeWindow
+ Amazonka.WAF.Types: newWafAction :: WafActionType -> WafAction
+ Amazonka.WAF.Types: newWafOverrideAction :: WafOverrideActionType -> WafOverrideAction
+ Amazonka.WAF.Types: newWebACL :: Text -> WafAction -> WebACL
+ Amazonka.WAF.Types: newWebACLSummary :: Text -> Text -> WebACLSummary
+ Amazonka.WAF.Types: newWebACLUpdate :: ChangeAction -> ActivatedRule -> WebACLUpdate
+ Amazonka.WAF.Types: newXssMatchSet :: Text -> XssMatchSet
+ Amazonka.WAF.Types: newXssMatchSetSummary :: Text -> Text -> XssMatchSetSummary
+ Amazonka.WAF.Types: newXssMatchSetUpdate :: ChangeAction -> XssMatchTuple -> XssMatchSetUpdate
+ Amazonka.WAF.Types: newXssMatchTuple :: FieldToMatch -> TextTransformation -> XssMatchTuple
+ Amazonka.WAF.Types: newtype ChangeAction
+ Amazonka.WAF.Types: newtype ChangeTokenStatus
+ Amazonka.WAF.Types: newtype ComparisonOperator
+ Amazonka.WAF.Types: newtype GeoMatchConstraintType
+ Amazonka.WAF.Types: newtype GeoMatchConstraintValue
+ Amazonka.WAF.Types: newtype IPSetDescriptorType
+ Amazonka.WAF.Types: newtype MatchFieldType
+ Amazonka.WAF.Types: newtype PositionalConstraint
+ Amazonka.WAF.Types: newtype PredicateType
+ Amazonka.WAF.Types: newtype RateKey
+ Amazonka.WAF.Types: newtype TextTransformation
+ Amazonka.WAF.Types: newtype WafActionType
+ Amazonka.WAF.Types: newtype WafOverrideActionType
+ Amazonka.WAF.Types: newtype WafRuleType
+ Amazonka.WAF.Types: pattern ChangeAction_DELETE :: ChangeAction
+ Amazonka.WAF.Types: pattern ChangeAction_INSERT :: ChangeAction
+ Amazonka.WAF.Types: pattern ChangeTokenStatus_INSYNC :: ChangeTokenStatus
+ Amazonka.WAF.Types: pattern ChangeTokenStatus_PENDING :: ChangeTokenStatus
+ Amazonka.WAF.Types: pattern ChangeTokenStatus_PROVISIONED :: ChangeTokenStatus
+ Amazonka.WAF.Types: pattern ComparisonOperator_EQ :: ComparisonOperator
+ Amazonka.WAF.Types: pattern ComparisonOperator_GE :: ComparisonOperator
+ Amazonka.WAF.Types: pattern ComparisonOperator_GT :: ComparisonOperator
+ Amazonka.WAF.Types: pattern ComparisonOperator_LE :: ComparisonOperator
+ Amazonka.WAF.Types: pattern ComparisonOperator_LT :: ComparisonOperator
+ Amazonka.WAF.Types: pattern ComparisonOperator_NE :: ComparisonOperator
+ Amazonka.WAF.Types: pattern GeoMatchConstraintType_Country :: GeoMatchConstraintType
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AX :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_AZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BB :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_BZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CX :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_CZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_DE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_DJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_DK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_DM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_DO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_DZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_EC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_EE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_EG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_EH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ER :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ES :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ET :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_FI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_FJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_FK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_FM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_FO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_FR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GB :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_GY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_HK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_HM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_HN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_HR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_HT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_HU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ID :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_IE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_IL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_IM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_IN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_IO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_IQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_IR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_IS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_IT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_JE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_JM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_JO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_JP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_KZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LB :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_LY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ME :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ML :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MX :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_MZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_NZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_OM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_PY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_QA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_RE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_RO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_RS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_RU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_RW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SB :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ST :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SX :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_SZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_TZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_UA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_UG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_UM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_US :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_UY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_UZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_VA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_VC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_VE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_VG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_VI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_VN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_VU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_WF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_WS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_YE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_YT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ZA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ZM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern GeoMatchConstraintValue_ZW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types: pattern IPSetDescriptorType_IPV4 :: IPSetDescriptorType
+ Amazonka.WAF.Types: pattern IPSetDescriptorType_IPV6 :: IPSetDescriptorType
+ Amazonka.WAF.Types: pattern MatchFieldType_ALL_QUERY_ARGS :: MatchFieldType
+ Amazonka.WAF.Types: pattern MatchFieldType_BODY :: MatchFieldType
+ Amazonka.WAF.Types: pattern MatchFieldType_HEADER :: MatchFieldType
+ Amazonka.WAF.Types: pattern MatchFieldType_METHOD :: MatchFieldType
+ Amazonka.WAF.Types: pattern MatchFieldType_QUERY_STRING :: MatchFieldType
+ Amazonka.WAF.Types: pattern MatchFieldType_SINGLE_QUERY_ARG :: MatchFieldType
+ Amazonka.WAF.Types: pattern MatchFieldType_URI :: MatchFieldType
+ Amazonka.WAF.Types: pattern PositionalConstraint_CONTAINS :: PositionalConstraint
+ Amazonka.WAF.Types: pattern PositionalConstraint_CONTAINS_WORD :: PositionalConstraint
+ Amazonka.WAF.Types: pattern PositionalConstraint_ENDS_WITH :: PositionalConstraint
+ Amazonka.WAF.Types: pattern PositionalConstraint_EXACTLY :: PositionalConstraint
+ Amazonka.WAF.Types: pattern PositionalConstraint_STARTS_WITH :: PositionalConstraint
+ Amazonka.WAF.Types: pattern PredicateType_ByteMatch :: PredicateType
+ Amazonka.WAF.Types: pattern PredicateType_GeoMatch :: PredicateType
+ Amazonka.WAF.Types: pattern PredicateType_IPMatch :: PredicateType
+ Amazonka.WAF.Types: pattern PredicateType_RegexMatch :: PredicateType
+ Amazonka.WAF.Types: pattern PredicateType_SizeConstraint :: PredicateType
+ Amazonka.WAF.Types: pattern PredicateType_SqlInjectionMatch :: PredicateType
+ Amazonka.WAF.Types: pattern PredicateType_XssMatch :: PredicateType
+ Amazonka.WAF.Types: pattern RateKey_IP :: RateKey
+ Amazonka.WAF.Types: pattern TextTransformation_CMD_LINE :: TextTransformation
+ Amazonka.WAF.Types: pattern TextTransformation_COMPRESS_WHITE_SPACE :: TextTransformation
+ Amazonka.WAF.Types: pattern TextTransformation_HTML_ENTITY_DECODE :: TextTransformation
+ Amazonka.WAF.Types: pattern TextTransformation_LOWERCASE :: TextTransformation
+ Amazonka.WAF.Types: pattern TextTransformation_NONE :: TextTransformation
+ Amazonka.WAF.Types: pattern TextTransformation_URL_DECODE :: TextTransformation
+ Amazonka.WAF.Types: pattern WafActionType_ALLOW :: WafActionType
+ Amazonka.WAF.Types: pattern WafActionType_BLOCK :: WafActionType
+ Amazonka.WAF.Types: pattern WafActionType_COUNT :: WafActionType
+ Amazonka.WAF.Types: pattern WafOverrideActionType_COUNT :: WafOverrideActionType
+ Amazonka.WAF.Types: pattern WafOverrideActionType_NONE :: WafOverrideActionType
+ Amazonka.WAF.Types: pattern WafRuleType_GROUP :: WafRuleType
+ Amazonka.WAF.Types: pattern WafRuleType_RATE_BASED :: WafRuleType
+ Amazonka.WAF.Types: pattern WafRuleType_REGULAR :: WafRuleType
+ Amazonka.WAF.Types: predicate_dataId :: Lens' Predicate Text
+ Amazonka.WAF.Types: predicate_negated :: Lens' Predicate Bool
+ Amazonka.WAF.Types: predicate_type :: Lens' Predicate PredicateType
+ Amazonka.WAF.Types: rateBasedRule_matchPredicates :: Lens' RateBasedRule [Predicate]
+ Amazonka.WAF.Types: rateBasedRule_metricName :: Lens' RateBasedRule (Maybe Text)
+ Amazonka.WAF.Types: rateBasedRule_name :: Lens' RateBasedRule (Maybe Text)
+ Amazonka.WAF.Types: rateBasedRule_rateKey :: Lens' RateBasedRule RateKey
+ Amazonka.WAF.Types: rateBasedRule_rateLimit :: Lens' RateBasedRule Natural
+ Amazonka.WAF.Types: rateBasedRule_ruleId :: Lens' RateBasedRule Text
+ Amazonka.WAF.Types: regexMatchSetSummary_name :: Lens' RegexMatchSetSummary Text
+ Amazonka.WAF.Types: regexMatchSetSummary_regexMatchSetId :: Lens' RegexMatchSetSummary Text
+ Amazonka.WAF.Types: regexMatchSetUpdate_action :: Lens' RegexMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types: regexMatchSetUpdate_regexMatchTuple :: Lens' RegexMatchSetUpdate RegexMatchTuple
+ Amazonka.WAF.Types: regexMatchSet_name :: Lens' RegexMatchSet (Maybe Text)
+ Amazonka.WAF.Types: regexMatchSet_regexMatchSetId :: Lens' RegexMatchSet (Maybe Text)
+ Amazonka.WAF.Types: regexMatchSet_regexMatchTuples :: Lens' RegexMatchSet (Maybe [RegexMatchTuple])
+ Amazonka.WAF.Types: regexMatchTuple_fieldToMatch :: Lens' RegexMatchTuple FieldToMatch
+ Amazonka.WAF.Types: regexMatchTuple_regexPatternSetId :: Lens' RegexMatchTuple Text
+ Amazonka.WAF.Types: regexMatchTuple_textTransformation :: Lens' RegexMatchTuple TextTransformation
+ Amazonka.WAF.Types: regexPatternSetSummary_name :: Lens' RegexPatternSetSummary Text
+ Amazonka.WAF.Types: regexPatternSetSummary_regexPatternSetId :: Lens' RegexPatternSetSummary Text
+ Amazonka.WAF.Types: regexPatternSetUpdate_action :: Lens' RegexPatternSetUpdate ChangeAction
+ Amazonka.WAF.Types: regexPatternSetUpdate_regexPatternString :: Lens' RegexPatternSetUpdate Text
+ Amazonka.WAF.Types: regexPatternSet_name :: Lens' RegexPatternSet (Maybe Text)
+ Amazonka.WAF.Types: regexPatternSet_regexPatternSetId :: Lens' RegexPatternSet Text
+ Amazonka.WAF.Types: regexPatternSet_regexPatternStrings :: Lens' RegexPatternSet [Text]
+ Amazonka.WAF.Types: ruleGroupSummary_name :: Lens' RuleGroupSummary Text
+ Amazonka.WAF.Types: ruleGroupSummary_ruleGroupId :: Lens' RuleGroupSummary Text
+ Amazonka.WAF.Types: ruleGroupUpdate_action :: Lens' RuleGroupUpdate ChangeAction
+ Amazonka.WAF.Types: ruleGroupUpdate_activatedRule :: Lens' RuleGroupUpdate ActivatedRule
+ Amazonka.WAF.Types: ruleGroup_metricName :: Lens' RuleGroup (Maybe Text)
+ Amazonka.WAF.Types: ruleGroup_name :: Lens' RuleGroup (Maybe Text)
+ Amazonka.WAF.Types: ruleGroup_ruleGroupId :: Lens' RuleGroup Text
+ Amazonka.WAF.Types: ruleSummary_name :: Lens' RuleSummary Text
+ Amazonka.WAF.Types: ruleSummary_ruleId :: Lens' RuleSummary Text
+ Amazonka.WAF.Types: ruleUpdate_action :: Lens' RuleUpdate ChangeAction
+ Amazonka.WAF.Types: ruleUpdate_predicate :: Lens' RuleUpdate Predicate
+ Amazonka.WAF.Types: rule_metricName :: Lens' Rule (Maybe Text)
+ Amazonka.WAF.Types: rule_name :: Lens' Rule (Maybe Text)
+ Amazonka.WAF.Types: rule_predicates :: Lens' Rule [Predicate]
+ Amazonka.WAF.Types: rule_ruleId :: Lens' Rule Text
+ Amazonka.WAF.Types: sampledHTTPRequest_action :: Lens' SampledHTTPRequest (Maybe Text)
+ Amazonka.WAF.Types: sampledHTTPRequest_request :: Lens' SampledHTTPRequest HTTPRequest
+ Amazonka.WAF.Types: sampledHTTPRequest_ruleWithinRuleGroup :: Lens' SampledHTTPRequest (Maybe Text)
+ Amazonka.WAF.Types: sampledHTTPRequest_timestamp :: Lens' SampledHTTPRequest (Maybe UTCTime)
+ Amazonka.WAF.Types: sampledHTTPRequest_weight :: Lens' SampledHTTPRequest Natural
+ Amazonka.WAF.Types: sizeConstraintSetSummary_name :: Lens' SizeConstraintSetSummary Text
+ Amazonka.WAF.Types: sizeConstraintSetSummary_sizeConstraintSetId :: Lens' SizeConstraintSetSummary Text
+ Amazonka.WAF.Types: sizeConstraintSetUpdate_action :: Lens' SizeConstraintSetUpdate ChangeAction
+ Amazonka.WAF.Types: sizeConstraintSetUpdate_sizeConstraint :: Lens' SizeConstraintSetUpdate SizeConstraint
+ Amazonka.WAF.Types: sizeConstraintSet_name :: Lens' SizeConstraintSet (Maybe Text)
+ Amazonka.WAF.Types: sizeConstraintSet_sizeConstraintSetId :: Lens' SizeConstraintSet Text
+ Amazonka.WAF.Types: sizeConstraintSet_sizeConstraints :: Lens' SizeConstraintSet [SizeConstraint]
+ Amazonka.WAF.Types: sizeConstraint_comparisonOperator :: Lens' SizeConstraint ComparisonOperator
+ Amazonka.WAF.Types: sizeConstraint_fieldToMatch :: Lens' SizeConstraint FieldToMatch
+ Amazonka.WAF.Types: sizeConstraint_size :: Lens' SizeConstraint Natural
+ Amazonka.WAF.Types: sizeConstraint_textTransformation :: Lens' SizeConstraint TextTransformation
+ Amazonka.WAF.Types: sqlInjectionMatchSetSummary_name :: Lens' SqlInjectionMatchSetSummary Text
+ Amazonka.WAF.Types: sqlInjectionMatchSetSummary_sqlInjectionMatchSetId :: Lens' SqlInjectionMatchSetSummary Text
+ Amazonka.WAF.Types: sqlInjectionMatchSetUpdate_action :: Lens' SqlInjectionMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types: sqlInjectionMatchSetUpdate_sqlInjectionMatchTuple :: Lens' SqlInjectionMatchSetUpdate SqlInjectionMatchTuple
+ Amazonka.WAF.Types: sqlInjectionMatchSet_name :: Lens' SqlInjectionMatchSet (Maybe Text)
+ Amazonka.WAF.Types: sqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' SqlInjectionMatchSet Text
+ Amazonka.WAF.Types: sqlInjectionMatchSet_sqlInjectionMatchTuples :: Lens' SqlInjectionMatchSet [SqlInjectionMatchTuple]
+ Amazonka.WAF.Types: sqlInjectionMatchTuple_fieldToMatch :: Lens' SqlInjectionMatchTuple FieldToMatch
+ Amazonka.WAF.Types: sqlInjectionMatchTuple_textTransformation :: Lens' SqlInjectionMatchTuple TextTransformation
+ Amazonka.WAF.Types: subscribedRuleGroupSummary_metricName :: Lens' SubscribedRuleGroupSummary Text
+ Amazonka.WAF.Types: subscribedRuleGroupSummary_name :: Lens' SubscribedRuleGroupSummary Text
+ Amazonka.WAF.Types: subscribedRuleGroupSummary_ruleGroupId :: Lens' SubscribedRuleGroupSummary Text
+ Amazonka.WAF.Types: tagInfoForResource_resourceARN :: Lens' TagInfoForResource (Maybe Text)
+ Amazonka.WAF.Types: tagInfoForResource_tagList :: Lens' TagInfoForResource (Maybe (NonEmpty Tag))
+ Amazonka.WAF.Types: tag_key :: Lens' Tag Text
+ Amazonka.WAF.Types: tag_value :: Lens' Tag Text
+ Amazonka.WAF.Types: timeWindow_endTime :: Lens' TimeWindow UTCTime
+ Amazonka.WAF.Types: timeWindow_startTime :: Lens' TimeWindow UTCTime
+ Amazonka.WAF.Types: wafAction_type :: Lens' WafAction WafActionType
+ Amazonka.WAF.Types: wafOverrideAction_type :: Lens' WafOverrideAction WafOverrideActionType
+ Amazonka.WAF.Types: webACLSummary_name :: Lens' WebACLSummary Text
+ Amazonka.WAF.Types: webACLSummary_webACLId :: Lens' WebACLSummary Text
+ Amazonka.WAF.Types: webACLUpdate_action :: Lens' WebACLUpdate ChangeAction
+ Amazonka.WAF.Types: webACLUpdate_activatedRule :: Lens' WebACLUpdate ActivatedRule
+ Amazonka.WAF.Types: webACL_defaultAction :: Lens' WebACL WafAction
+ Amazonka.WAF.Types: webACL_metricName :: Lens' WebACL (Maybe Text)
+ Amazonka.WAF.Types: webACL_name :: Lens' WebACL (Maybe Text)
+ Amazonka.WAF.Types: webACL_rules :: Lens' WebACL [ActivatedRule]
+ Amazonka.WAF.Types: webACL_webACLArn :: Lens' WebACL (Maybe Text)
+ Amazonka.WAF.Types: webACL_webACLId :: Lens' WebACL Text
+ Amazonka.WAF.Types: xssMatchSetSummary_name :: Lens' XssMatchSetSummary Text
+ Amazonka.WAF.Types: xssMatchSetSummary_xssMatchSetId :: Lens' XssMatchSetSummary Text
+ Amazonka.WAF.Types: xssMatchSetUpdate_action :: Lens' XssMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types: xssMatchSetUpdate_xssMatchTuple :: Lens' XssMatchSetUpdate XssMatchTuple
+ Amazonka.WAF.Types: xssMatchSet_name :: Lens' XssMatchSet (Maybe Text)
+ Amazonka.WAF.Types: xssMatchSet_xssMatchSetId :: Lens' XssMatchSet Text
+ Amazonka.WAF.Types: xssMatchSet_xssMatchTuples :: Lens' XssMatchSet [XssMatchTuple]
+ Amazonka.WAF.Types: xssMatchTuple_fieldToMatch :: Lens' XssMatchTuple FieldToMatch
+ Amazonka.WAF.Types: xssMatchTuple_textTransformation :: Lens' XssMatchTuple TextTransformation
+ Amazonka.WAF.Types.ActivatedRule: ActivatedRule' :: Maybe WafAction -> Maybe [ExcludedRule] -> Maybe WafOverrideAction -> Maybe WafRuleType -> Int -> Text -> ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: [$sel:action:ActivatedRule'] :: ActivatedRule -> Maybe WafAction
+ Amazonka.WAF.Types.ActivatedRule: [$sel:excludedRules:ActivatedRule'] :: ActivatedRule -> Maybe [ExcludedRule]
+ Amazonka.WAF.Types.ActivatedRule: [$sel:overrideAction:ActivatedRule'] :: ActivatedRule -> Maybe WafOverrideAction
+ Amazonka.WAF.Types.ActivatedRule: [$sel:priority:ActivatedRule'] :: ActivatedRule -> Int
+ Amazonka.WAF.Types.ActivatedRule: [$sel:ruleId:ActivatedRule'] :: ActivatedRule -> Text
+ Amazonka.WAF.Types.ActivatedRule: [$sel:type':ActivatedRule'] :: ActivatedRule -> Maybe WafRuleType
+ Amazonka.WAF.Types.ActivatedRule: activatedRule_action :: Lens' ActivatedRule (Maybe WafAction)
+ Amazonka.WAF.Types.ActivatedRule: activatedRule_excludedRules :: Lens' ActivatedRule (Maybe [ExcludedRule])
+ Amazonka.WAF.Types.ActivatedRule: activatedRule_overrideAction :: Lens' ActivatedRule (Maybe WafOverrideAction)
+ Amazonka.WAF.Types.ActivatedRule: activatedRule_priority :: Lens' ActivatedRule Int
+ Amazonka.WAF.Types.ActivatedRule: activatedRule_ruleId :: Lens' ActivatedRule Text
+ Amazonka.WAF.Types.ActivatedRule: activatedRule_type :: Lens' ActivatedRule (Maybe WafRuleType)
+ Amazonka.WAF.Types.ActivatedRule: data ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: instance Control.DeepSeq.NFData Amazonka.WAF.Types.ActivatedRule.ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.ActivatedRule.ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.ActivatedRule.ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.ActivatedRule.ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: instance GHC.Classes.Eq Amazonka.WAF.Types.ActivatedRule.ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: instance GHC.Generics.Generic Amazonka.WAF.Types.ActivatedRule.ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: instance GHC.Read.Read Amazonka.WAF.Types.ActivatedRule.ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: instance GHC.Show.Show Amazonka.WAF.Types.ActivatedRule.ActivatedRule
+ Amazonka.WAF.Types.ActivatedRule: newActivatedRule :: Int -> Text -> ActivatedRule
+ Amazonka.WAF.Types.ByteMatchSet: ByteMatchSet' :: Maybe Text -> Text -> [ByteMatchTuple] -> ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSet: [$sel:byteMatchSetId:ByteMatchSet'] :: ByteMatchSet -> Text
+ Amazonka.WAF.Types.ByteMatchSet: [$sel:byteMatchTuples:ByteMatchSet'] :: ByteMatchSet -> [ByteMatchTuple]
+ Amazonka.WAF.Types.ByteMatchSet: [$sel:name:ByteMatchSet'] :: ByteMatchSet -> Maybe Text
+ Amazonka.WAF.Types.ByteMatchSet: byteMatchSet_byteMatchSetId :: Lens' ByteMatchSet Text
+ Amazonka.WAF.Types.ByteMatchSet: byteMatchSet_byteMatchTuples :: Lens' ByteMatchSet [ByteMatchTuple]
+ Amazonka.WAF.Types.ByteMatchSet: byteMatchSet_name :: Lens' ByteMatchSet (Maybe Text)
+ Amazonka.WAF.Types.ByteMatchSet: data ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.Types.ByteMatchSet.ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSet: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.ByteMatchSet.ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.ByteMatchSet.ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSet: instance GHC.Classes.Eq Amazonka.WAF.Types.ByteMatchSet.ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSet: instance GHC.Generics.Generic Amazonka.WAF.Types.ByteMatchSet.ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSet: instance GHC.Read.Read Amazonka.WAF.Types.ByteMatchSet.ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSet: instance GHC.Show.Show Amazonka.WAF.Types.ByteMatchSet.ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSet: newByteMatchSet :: Text -> ByteMatchSet
+ Amazonka.WAF.Types.ByteMatchSetSummary: ByteMatchSetSummary' :: Text -> Text -> ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetSummary: [$sel:byteMatchSetId:ByteMatchSetSummary'] :: ByteMatchSetSummary -> Text
+ Amazonka.WAF.Types.ByteMatchSetSummary: [$sel:name:ByteMatchSetSummary'] :: ByteMatchSetSummary -> Text
+ Amazonka.WAF.Types.ByteMatchSetSummary: byteMatchSetSummary_byteMatchSetId :: Lens' ByteMatchSetSummary Text
+ Amazonka.WAF.Types.ByteMatchSetSummary: byteMatchSetSummary_name :: Lens' ByteMatchSetSummary Text
+ Amazonka.WAF.Types.ByteMatchSetSummary: data ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.ByteMatchSetSummary.ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.ByteMatchSetSummary.ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.ByteMatchSetSummary.ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.ByteMatchSetSummary.ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.ByteMatchSetSummary.ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetSummary: instance GHC.Read.Read Amazonka.WAF.Types.ByteMatchSetSummary.ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetSummary: instance GHC.Show.Show Amazonka.WAF.Types.ByteMatchSetSummary.ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetSummary: newByteMatchSetSummary :: Text -> Text -> ByteMatchSetSummary
+ Amazonka.WAF.Types.ByteMatchSetUpdate: ByteMatchSetUpdate' :: ChangeAction -> ByteMatchTuple -> ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchSetUpdate: [$sel:action:ByteMatchSetUpdate'] :: ByteMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types.ByteMatchSetUpdate: [$sel:byteMatchTuple:ByteMatchSetUpdate'] :: ByteMatchSetUpdate -> ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchSetUpdate: byteMatchSetUpdate_action :: Lens' ByteMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types.ByteMatchSetUpdate: byteMatchSetUpdate_byteMatchTuple :: Lens' ByteMatchSetUpdate ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchSetUpdate: data ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchSetUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.ByteMatchSetUpdate.ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchSetUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.ByteMatchSetUpdate.ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchSetUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.ByteMatchSetUpdate.ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchSetUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.ByteMatchSetUpdate.ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchSetUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.ByteMatchSetUpdate.ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchSetUpdate: instance GHC.Read.Read Amazonka.WAF.Types.ByteMatchSetUpdate.ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchSetUpdate: instance GHC.Show.Show Amazonka.WAF.Types.ByteMatchSetUpdate.ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchSetUpdate: newByteMatchSetUpdate :: ChangeAction -> ByteMatchTuple -> ByteMatchSetUpdate
+ Amazonka.WAF.Types.ByteMatchTuple: ByteMatchTuple' :: FieldToMatch -> Base64 -> TextTransformation -> PositionalConstraint -> ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: [$sel:fieldToMatch:ByteMatchTuple'] :: ByteMatchTuple -> FieldToMatch
+ Amazonka.WAF.Types.ByteMatchTuple: [$sel:positionalConstraint:ByteMatchTuple'] :: ByteMatchTuple -> PositionalConstraint
+ Amazonka.WAF.Types.ByteMatchTuple: [$sel:targetString:ByteMatchTuple'] :: ByteMatchTuple -> Base64
+ Amazonka.WAF.Types.ByteMatchTuple: [$sel:textTransformation:ByteMatchTuple'] :: ByteMatchTuple -> TextTransformation
+ Amazonka.WAF.Types.ByteMatchTuple: byteMatchTuple_fieldToMatch :: Lens' ByteMatchTuple FieldToMatch
+ Amazonka.WAF.Types.ByteMatchTuple: byteMatchTuple_positionalConstraint :: Lens' ByteMatchTuple PositionalConstraint
+ Amazonka.WAF.Types.ByteMatchTuple: byteMatchTuple_targetString :: Lens' ByteMatchTuple ByteString
+ Amazonka.WAF.Types.ByteMatchTuple: byteMatchTuple_textTransformation :: Lens' ByteMatchTuple TextTransformation
+ Amazonka.WAF.Types.ByteMatchTuple: data ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: instance Control.DeepSeq.NFData Amazonka.WAF.Types.ByteMatchTuple.ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.ByteMatchTuple.ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.ByteMatchTuple.ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.ByteMatchTuple.ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: instance GHC.Classes.Eq Amazonka.WAF.Types.ByteMatchTuple.ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: instance GHC.Generics.Generic Amazonka.WAF.Types.ByteMatchTuple.ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: instance GHC.Read.Read Amazonka.WAF.Types.ByteMatchTuple.ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: instance GHC.Show.Show Amazonka.WAF.Types.ByteMatchTuple.ByteMatchTuple
+ Amazonka.WAF.Types.ByteMatchTuple: newByteMatchTuple :: FieldToMatch -> ByteString -> TextTransformation -> PositionalConstraint -> ByteMatchTuple
+ Amazonka.WAF.Types.ChangeAction: ChangeAction' :: Text -> ChangeAction
+ Amazonka.WAF.Types.ChangeAction: [fromChangeAction] :: ChangeAction -> Text
+ Amazonka.WAF.Types.ChangeAction: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Control.DeepSeq.NFData Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance GHC.Classes.Eq Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance GHC.Classes.Ord Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance GHC.Generics.Generic Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance GHC.Read.Read Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: instance GHC.Show.Show Amazonka.WAF.Types.ChangeAction.ChangeAction
+ Amazonka.WAF.Types.ChangeAction: newtype ChangeAction
+ Amazonka.WAF.Types.ChangeAction: pattern ChangeAction_DELETE :: ChangeAction
+ Amazonka.WAF.Types.ChangeAction: pattern ChangeAction_INSERT :: ChangeAction
+ Amazonka.WAF.Types.ChangeTokenStatus: ChangeTokenStatus' :: Text -> ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: [fromChangeTokenStatus] :: ChangeTokenStatus -> Text
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Control.DeepSeq.NFData Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance GHC.Classes.Eq Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance GHC.Classes.Ord Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance GHC.Generics.Generic Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance GHC.Read.Read Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: instance GHC.Show.Show Amazonka.WAF.Types.ChangeTokenStatus.ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: newtype ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: pattern ChangeTokenStatus_INSYNC :: ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: pattern ChangeTokenStatus_PENDING :: ChangeTokenStatus
+ Amazonka.WAF.Types.ChangeTokenStatus: pattern ChangeTokenStatus_PROVISIONED :: ChangeTokenStatus
+ Amazonka.WAF.Types.ComparisonOperator: ComparisonOperator' :: Text -> ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: [fromComparisonOperator] :: ComparisonOperator -> Text
+ Amazonka.WAF.Types.ComparisonOperator: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Control.DeepSeq.NFData Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance GHC.Classes.Eq Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance GHC.Classes.Ord Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance GHC.Generics.Generic Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance GHC.Read.Read Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: instance GHC.Show.Show Amazonka.WAF.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: newtype ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: pattern ComparisonOperator_EQ :: ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: pattern ComparisonOperator_GE :: ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: pattern ComparisonOperator_GT :: ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: pattern ComparisonOperator_LE :: ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: pattern ComparisonOperator_LT :: ComparisonOperator
+ Amazonka.WAF.Types.ComparisonOperator: pattern ComparisonOperator_NE :: ComparisonOperator
+ Amazonka.WAF.Types.ExcludedRule: ExcludedRule' :: Text -> ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: [$sel:ruleId:ExcludedRule'] :: ExcludedRule -> Text
+ Amazonka.WAF.Types.ExcludedRule: data ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: excludedRule_ruleId :: Lens' ExcludedRule Text
+ Amazonka.WAF.Types.ExcludedRule: instance Control.DeepSeq.NFData Amazonka.WAF.Types.ExcludedRule.ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.ExcludedRule.ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.ExcludedRule.ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.ExcludedRule.ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: instance GHC.Classes.Eq Amazonka.WAF.Types.ExcludedRule.ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: instance GHC.Generics.Generic Amazonka.WAF.Types.ExcludedRule.ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: instance GHC.Read.Read Amazonka.WAF.Types.ExcludedRule.ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: instance GHC.Show.Show Amazonka.WAF.Types.ExcludedRule.ExcludedRule
+ Amazonka.WAF.Types.ExcludedRule: newExcludedRule :: Text -> ExcludedRule
+ Amazonka.WAF.Types.FieldToMatch: FieldToMatch' :: Maybe Text -> MatchFieldType -> FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: [$sel:data':FieldToMatch'] :: FieldToMatch -> Maybe Text
+ Amazonka.WAF.Types.FieldToMatch: [$sel:type':FieldToMatch'] :: FieldToMatch -> MatchFieldType
+ Amazonka.WAF.Types.FieldToMatch: data FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: fieldToMatch_data :: Lens' FieldToMatch (Maybe Text)
+ Amazonka.WAF.Types.FieldToMatch: fieldToMatch_type :: Lens' FieldToMatch MatchFieldType
+ Amazonka.WAF.Types.FieldToMatch: instance Control.DeepSeq.NFData Amazonka.WAF.Types.FieldToMatch.FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.FieldToMatch.FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.FieldToMatch.FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.FieldToMatch.FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: instance GHC.Classes.Eq Amazonka.WAF.Types.FieldToMatch.FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: instance GHC.Generics.Generic Amazonka.WAF.Types.FieldToMatch.FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: instance GHC.Read.Read Amazonka.WAF.Types.FieldToMatch.FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: instance GHC.Show.Show Amazonka.WAF.Types.FieldToMatch.FieldToMatch
+ Amazonka.WAF.Types.FieldToMatch: newFieldToMatch :: MatchFieldType -> FieldToMatch
+ Amazonka.WAF.Types.GeoMatchConstraint: GeoMatchConstraint' :: GeoMatchConstraintType -> GeoMatchConstraintValue -> GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: [$sel:type':GeoMatchConstraint'] :: GeoMatchConstraint -> GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraint: [$sel:value:GeoMatchConstraint'] :: GeoMatchConstraint -> GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraint: data GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: geoMatchConstraint_type :: Lens' GeoMatchConstraint GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraint: geoMatchConstraint_value :: Lens' GeoMatchConstraint GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraint: instance Control.DeepSeq.NFData Amazonka.WAF.Types.GeoMatchConstraint.GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.GeoMatchConstraint.GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.GeoMatchConstraint.GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.GeoMatchConstraint.GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: instance GHC.Classes.Eq Amazonka.WAF.Types.GeoMatchConstraint.GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: instance GHC.Generics.Generic Amazonka.WAF.Types.GeoMatchConstraint.GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: instance GHC.Read.Read Amazonka.WAF.Types.GeoMatchConstraint.GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: instance GHC.Show.Show Amazonka.WAF.Types.GeoMatchConstraint.GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraint: newGeoMatchConstraint :: GeoMatchConstraintType -> GeoMatchConstraintValue -> GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchConstraintType: GeoMatchConstraintType' :: Text -> GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: [fromGeoMatchConstraintType] :: GeoMatchConstraintType -> Text
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Control.DeepSeq.NFData Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance GHC.Classes.Eq Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance GHC.Classes.Ord Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance GHC.Generics.Generic Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance GHC.Read.Read Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: instance GHC.Show.Show Amazonka.WAF.Types.GeoMatchConstraintType.GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: newtype GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintType: pattern GeoMatchConstraintType_Country :: GeoMatchConstraintType
+ Amazonka.WAF.Types.GeoMatchConstraintValue: GeoMatchConstraintValue' :: Text -> GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: [fromGeoMatchConstraintValue] :: GeoMatchConstraintValue -> Text
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Control.DeepSeq.NFData Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance GHC.Classes.Eq Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance GHC.Classes.Ord Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance GHC.Generics.Generic Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance GHC.Read.Read Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: instance GHC.Show.Show Amazonka.WAF.Types.GeoMatchConstraintValue.GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: newtype GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AX :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_AZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BB :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_BZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CX :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_CZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_DE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_DJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_DK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_DM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_DO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_DZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_EC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_EE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_EG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_EH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ER :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ES :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ET :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_FI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_FJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_FK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_FM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_FO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_FR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GB :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_GY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_HK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_HM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_HN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_HR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_HT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_HU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ID :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_IE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_IL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_IM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_IN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_IO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_IQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_IR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_IS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_IT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_JE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_JM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_JO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_JP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_KZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LB :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_LY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ME :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ML :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MQ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MX :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_MZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NP :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_NZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_OM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_PY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_QA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_RE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_RO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_RS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_RU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_RW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SB :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ST :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SX :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_SZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TD :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TH :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TJ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TK :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TL :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TO :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TR :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TV :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_TZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_UA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_UG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_UM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_US :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_UY :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_UZ :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_VA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_VC :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_VE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_VG :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_VI :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_VN :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_VU :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_WF :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_WS :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_YE :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_YT :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ZA :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ZM :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchConstraintValue: pattern GeoMatchConstraintValue_ZW :: GeoMatchConstraintValue
+ Amazonka.WAF.Types.GeoMatchSet: GeoMatchSet' :: Maybe Text -> Text -> [GeoMatchConstraint] -> GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSet: [$sel:geoMatchConstraints:GeoMatchSet'] :: GeoMatchSet -> [GeoMatchConstraint]
+ Amazonka.WAF.Types.GeoMatchSet: [$sel:geoMatchSetId:GeoMatchSet'] :: GeoMatchSet -> Text
+ Amazonka.WAF.Types.GeoMatchSet: [$sel:name:GeoMatchSet'] :: GeoMatchSet -> Maybe Text
+ Amazonka.WAF.Types.GeoMatchSet: data GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSet: geoMatchSet_geoMatchConstraints :: Lens' GeoMatchSet [GeoMatchConstraint]
+ Amazonka.WAF.Types.GeoMatchSet: geoMatchSet_geoMatchSetId :: Lens' GeoMatchSet Text
+ Amazonka.WAF.Types.GeoMatchSet: geoMatchSet_name :: Lens' GeoMatchSet (Maybe Text)
+ Amazonka.WAF.Types.GeoMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.Types.GeoMatchSet.GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSet: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.GeoMatchSet.GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.GeoMatchSet.GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSet: instance GHC.Classes.Eq Amazonka.WAF.Types.GeoMatchSet.GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSet: instance GHC.Generics.Generic Amazonka.WAF.Types.GeoMatchSet.GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSet: instance GHC.Read.Read Amazonka.WAF.Types.GeoMatchSet.GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSet: instance GHC.Show.Show Amazonka.WAF.Types.GeoMatchSet.GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSet: newGeoMatchSet :: Text -> GeoMatchSet
+ Amazonka.WAF.Types.GeoMatchSetSummary: GeoMatchSetSummary' :: Text -> Text -> GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetSummary: [$sel:geoMatchSetId:GeoMatchSetSummary'] :: GeoMatchSetSummary -> Text
+ Amazonka.WAF.Types.GeoMatchSetSummary: [$sel:name:GeoMatchSetSummary'] :: GeoMatchSetSummary -> Text
+ Amazonka.WAF.Types.GeoMatchSetSummary: data GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetSummary: geoMatchSetSummary_geoMatchSetId :: Lens' GeoMatchSetSummary Text
+ Amazonka.WAF.Types.GeoMatchSetSummary: geoMatchSetSummary_name :: Lens' GeoMatchSetSummary Text
+ Amazonka.WAF.Types.GeoMatchSetSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.GeoMatchSetSummary.GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.GeoMatchSetSummary.GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.GeoMatchSetSummary.GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.GeoMatchSetSummary.GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.GeoMatchSetSummary.GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetSummary: instance GHC.Read.Read Amazonka.WAF.Types.GeoMatchSetSummary.GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetSummary: instance GHC.Show.Show Amazonka.WAF.Types.GeoMatchSetSummary.GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetSummary: newGeoMatchSetSummary :: Text -> Text -> GeoMatchSetSummary
+ Amazonka.WAF.Types.GeoMatchSetUpdate: GeoMatchSetUpdate' :: ChangeAction -> GeoMatchConstraint -> GeoMatchSetUpdate
+ Amazonka.WAF.Types.GeoMatchSetUpdate: [$sel:action:GeoMatchSetUpdate'] :: GeoMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types.GeoMatchSetUpdate: [$sel:geoMatchConstraint:GeoMatchSetUpdate'] :: GeoMatchSetUpdate -> GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchSetUpdate: data GeoMatchSetUpdate
+ Amazonka.WAF.Types.GeoMatchSetUpdate: geoMatchSetUpdate_action :: Lens' GeoMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types.GeoMatchSetUpdate: geoMatchSetUpdate_geoMatchConstraint :: Lens' GeoMatchSetUpdate GeoMatchConstraint
+ Amazonka.WAF.Types.GeoMatchSetUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.GeoMatchSetUpdate.GeoMatchSetUpdate
+ Amazonka.WAF.Types.GeoMatchSetUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.GeoMatchSetUpdate.GeoMatchSetUpdate
+ Amazonka.WAF.Types.GeoMatchSetUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.GeoMatchSetUpdate.GeoMatchSetUpdate
+ Amazonka.WAF.Types.GeoMatchSetUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.GeoMatchSetUpdate.GeoMatchSetUpdate
+ Amazonka.WAF.Types.GeoMatchSetUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.GeoMatchSetUpdate.GeoMatchSetUpdate
+ Amazonka.WAF.Types.GeoMatchSetUpdate: instance GHC.Read.Read Amazonka.WAF.Types.GeoMatchSetUpdate.GeoMatchSetUpdate
+ Amazonka.WAF.Types.GeoMatchSetUpdate: instance GHC.Show.Show Amazonka.WAF.Types.GeoMatchSetUpdate.GeoMatchSetUpdate
+ Amazonka.WAF.Types.GeoMatchSetUpdate: newGeoMatchSetUpdate :: ChangeAction -> GeoMatchConstraint -> GeoMatchSetUpdate
+ Amazonka.WAF.Types.HTTPHeader: HTTPHeader' :: Maybe Text -> Maybe Text -> HTTPHeader
+ Amazonka.WAF.Types.HTTPHeader: [$sel:name:HTTPHeader'] :: HTTPHeader -> Maybe Text
+ Amazonka.WAF.Types.HTTPHeader: [$sel:value:HTTPHeader'] :: HTTPHeader -> Maybe Text
+ Amazonka.WAF.Types.HTTPHeader: data HTTPHeader
+ Amazonka.WAF.Types.HTTPHeader: hTTPHeader_name :: Lens' HTTPHeader (Maybe Text)
+ Amazonka.WAF.Types.HTTPHeader: hTTPHeader_value :: Lens' HTTPHeader (Maybe Text)
+ Amazonka.WAF.Types.HTTPHeader: instance Control.DeepSeq.NFData Amazonka.WAF.Types.HTTPHeader.HTTPHeader
+ Amazonka.WAF.Types.HTTPHeader: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.HTTPHeader.HTTPHeader
+ Amazonka.WAF.Types.HTTPHeader: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.HTTPHeader.HTTPHeader
+ Amazonka.WAF.Types.HTTPHeader: instance GHC.Classes.Eq Amazonka.WAF.Types.HTTPHeader.HTTPHeader
+ Amazonka.WAF.Types.HTTPHeader: instance GHC.Generics.Generic Amazonka.WAF.Types.HTTPHeader.HTTPHeader
+ Amazonka.WAF.Types.HTTPHeader: instance GHC.Read.Read Amazonka.WAF.Types.HTTPHeader.HTTPHeader
+ Amazonka.WAF.Types.HTTPHeader: instance GHC.Show.Show Amazonka.WAF.Types.HTTPHeader.HTTPHeader
+ Amazonka.WAF.Types.HTTPHeader: newHTTPHeader :: HTTPHeader
+ Amazonka.WAF.Types.HTTPRequest: HTTPRequest' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe [HTTPHeader] -> Maybe Text -> Maybe Text -> HTTPRequest
+ Amazonka.WAF.Types.HTTPRequest: [$sel:clientIP:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types.HTTPRequest: [$sel:country:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types.HTTPRequest: [$sel:hTTPVersion:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types.HTTPRequest: [$sel:headers:HTTPRequest'] :: HTTPRequest -> Maybe [HTTPHeader]
+ Amazonka.WAF.Types.HTTPRequest: [$sel:method:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types.HTTPRequest: [$sel:uri:HTTPRequest'] :: HTTPRequest -> Maybe Text
+ Amazonka.WAF.Types.HTTPRequest: data HTTPRequest
+ Amazonka.WAF.Types.HTTPRequest: hTTPRequest_clientIP :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types.HTTPRequest: hTTPRequest_country :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types.HTTPRequest: hTTPRequest_hTTPVersion :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types.HTTPRequest: hTTPRequest_headers :: Lens' HTTPRequest (Maybe [HTTPHeader])
+ Amazonka.WAF.Types.HTTPRequest: hTTPRequest_method :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types.HTTPRequest: hTTPRequest_uri :: Lens' HTTPRequest (Maybe Text)
+ Amazonka.WAF.Types.HTTPRequest: instance Control.DeepSeq.NFData Amazonka.WAF.Types.HTTPRequest.HTTPRequest
+ Amazonka.WAF.Types.HTTPRequest: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.HTTPRequest.HTTPRequest
+ Amazonka.WAF.Types.HTTPRequest: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.HTTPRequest.HTTPRequest
+ Amazonka.WAF.Types.HTTPRequest: instance GHC.Classes.Eq Amazonka.WAF.Types.HTTPRequest.HTTPRequest
+ Amazonka.WAF.Types.HTTPRequest: instance GHC.Generics.Generic Amazonka.WAF.Types.HTTPRequest.HTTPRequest
+ Amazonka.WAF.Types.HTTPRequest: instance GHC.Read.Read Amazonka.WAF.Types.HTTPRequest.HTTPRequest
+ Amazonka.WAF.Types.HTTPRequest: instance GHC.Show.Show Amazonka.WAF.Types.HTTPRequest.HTTPRequest
+ Amazonka.WAF.Types.HTTPRequest: newHTTPRequest :: HTTPRequest
+ Amazonka.WAF.Types.IPSet: IPSet' :: Maybe Text -> Text -> [IPSetDescriptor] -> IPSet
+ Amazonka.WAF.Types.IPSet: [$sel:iPSetDescriptors:IPSet'] :: IPSet -> [IPSetDescriptor]
+ Amazonka.WAF.Types.IPSet: [$sel:iPSetId:IPSet'] :: IPSet -> Text
+ Amazonka.WAF.Types.IPSet: [$sel:name:IPSet'] :: IPSet -> Maybe Text
+ Amazonka.WAF.Types.IPSet: data IPSet
+ Amazonka.WAF.Types.IPSet: iPSet_iPSetDescriptors :: Lens' IPSet [IPSetDescriptor]
+ Amazonka.WAF.Types.IPSet: iPSet_iPSetId :: Lens' IPSet Text
+ Amazonka.WAF.Types.IPSet: iPSet_name :: Lens' IPSet (Maybe Text)
+ Amazonka.WAF.Types.IPSet: instance Control.DeepSeq.NFData Amazonka.WAF.Types.IPSet.IPSet
+ Amazonka.WAF.Types.IPSet: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.IPSet.IPSet
+ Amazonka.WAF.Types.IPSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.IPSet.IPSet
+ Amazonka.WAF.Types.IPSet: instance GHC.Classes.Eq Amazonka.WAF.Types.IPSet.IPSet
+ Amazonka.WAF.Types.IPSet: instance GHC.Generics.Generic Amazonka.WAF.Types.IPSet.IPSet
+ Amazonka.WAF.Types.IPSet: instance GHC.Read.Read Amazonka.WAF.Types.IPSet.IPSet
+ Amazonka.WAF.Types.IPSet: instance GHC.Show.Show Amazonka.WAF.Types.IPSet.IPSet
+ Amazonka.WAF.Types.IPSet: newIPSet :: Text -> IPSet
+ Amazonka.WAF.Types.IPSetDescriptor: IPSetDescriptor' :: IPSetDescriptorType -> Text -> IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: [$sel:type':IPSetDescriptor'] :: IPSetDescriptor -> IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptor: [$sel:value:IPSetDescriptor'] :: IPSetDescriptor -> Text
+ Amazonka.WAF.Types.IPSetDescriptor: data IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: iPSetDescriptor_type :: Lens' IPSetDescriptor IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptor: iPSetDescriptor_value :: Lens' IPSetDescriptor Text
+ Amazonka.WAF.Types.IPSetDescriptor: instance Control.DeepSeq.NFData Amazonka.WAF.Types.IPSetDescriptor.IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.IPSetDescriptor.IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.IPSetDescriptor.IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.IPSetDescriptor.IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: instance GHC.Classes.Eq Amazonka.WAF.Types.IPSetDescriptor.IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: instance GHC.Generics.Generic Amazonka.WAF.Types.IPSetDescriptor.IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: instance GHC.Read.Read Amazonka.WAF.Types.IPSetDescriptor.IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: instance GHC.Show.Show Amazonka.WAF.Types.IPSetDescriptor.IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptor: newIPSetDescriptor :: IPSetDescriptorType -> Text -> IPSetDescriptor
+ Amazonka.WAF.Types.IPSetDescriptorType: IPSetDescriptorType' :: Text -> IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: [fromIPSetDescriptorType] :: IPSetDescriptorType -> Text
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Control.DeepSeq.NFData Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance GHC.Classes.Eq Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance GHC.Classes.Ord Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance GHC.Generics.Generic Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance GHC.Read.Read Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: instance GHC.Show.Show Amazonka.WAF.Types.IPSetDescriptorType.IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: newtype IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: pattern IPSetDescriptorType_IPV4 :: IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetDescriptorType: pattern IPSetDescriptorType_IPV6 :: IPSetDescriptorType
+ Amazonka.WAF.Types.IPSetSummary: IPSetSummary' :: Text -> Text -> IPSetSummary
+ Amazonka.WAF.Types.IPSetSummary: [$sel:iPSetId:IPSetSummary'] :: IPSetSummary -> Text
+ Amazonka.WAF.Types.IPSetSummary: [$sel:name:IPSetSummary'] :: IPSetSummary -> Text
+ Amazonka.WAF.Types.IPSetSummary: data IPSetSummary
+ Amazonka.WAF.Types.IPSetSummary: iPSetSummary_iPSetId :: Lens' IPSetSummary Text
+ Amazonka.WAF.Types.IPSetSummary: iPSetSummary_name :: Lens' IPSetSummary Text
+ Amazonka.WAF.Types.IPSetSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.IPSetSummary.IPSetSummary
+ Amazonka.WAF.Types.IPSetSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.IPSetSummary.IPSetSummary
+ Amazonka.WAF.Types.IPSetSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.IPSetSummary.IPSetSummary
+ Amazonka.WAF.Types.IPSetSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.IPSetSummary.IPSetSummary
+ Amazonka.WAF.Types.IPSetSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.IPSetSummary.IPSetSummary
+ Amazonka.WAF.Types.IPSetSummary: instance GHC.Read.Read Amazonka.WAF.Types.IPSetSummary.IPSetSummary
+ Amazonka.WAF.Types.IPSetSummary: instance GHC.Show.Show Amazonka.WAF.Types.IPSetSummary.IPSetSummary
+ Amazonka.WAF.Types.IPSetSummary: newIPSetSummary :: Text -> Text -> IPSetSummary
+ Amazonka.WAF.Types.IPSetUpdate: IPSetUpdate' :: ChangeAction -> IPSetDescriptor -> IPSetUpdate
+ Amazonka.WAF.Types.IPSetUpdate: [$sel:action:IPSetUpdate'] :: IPSetUpdate -> ChangeAction
+ Amazonka.WAF.Types.IPSetUpdate: [$sel:iPSetDescriptor:IPSetUpdate'] :: IPSetUpdate -> IPSetDescriptor
+ Amazonka.WAF.Types.IPSetUpdate: data IPSetUpdate
+ Amazonka.WAF.Types.IPSetUpdate: iPSetUpdate_action :: Lens' IPSetUpdate ChangeAction
+ Amazonka.WAF.Types.IPSetUpdate: iPSetUpdate_iPSetDescriptor :: Lens' IPSetUpdate IPSetDescriptor
+ Amazonka.WAF.Types.IPSetUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.IPSetUpdate.IPSetUpdate
+ Amazonka.WAF.Types.IPSetUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.IPSetUpdate.IPSetUpdate
+ Amazonka.WAF.Types.IPSetUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.IPSetUpdate.IPSetUpdate
+ Amazonka.WAF.Types.IPSetUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.IPSetUpdate.IPSetUpdate
+ Amazonka.WAF.Types.IPSetUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.IPSetUpdate.IPSetUpdate
+ Amazonka.WAF.Types.IPSetUpdate: instance GHC.Read.Read Amazonka.WAF.Types.IPSetUpdate.IPSetUpdate
+ Amazonka.WAF.Types.IPSetUpdate: instance GHC.Show.Show Amazonka.WAF.Types.IPSetUpdate.IPSetUpdate
+ Amazonka.WAF.Types.IPSetUpdate: newIPSetUpdate :: ChangeAction -> IPSetDescriptor -> IPSetUpdate
+ Amazonka.WAF.Types.LoggingConfiguration: LoggingConfiguration' :: Maybe [FieldToMatch] -> Text -> NonEmpty Text -> LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: [$sel:logDestinationConfigs:LoggingConfiguration'] :: LoggingConfiguration -> NonEmpty Text
+ Amazonka.WAF.Types.LoggingConfiguration: [$sel:redactedFields:LoggingConfiguration'] :: LoggingConfiguration -> Maybe [FieldToMatch]
+ Amazonka.WAF.Types.LoggingConfiguration: [$sel:resourceArn:LoggingConfiguration'] :: LoggingConfiguration -> Text
+ Amazonka.WAF.Types.LoggingConfiguration: data LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: instance Control.DeepSeq.NFData Amazonka.WAF.Types.LoggingConfiguration.LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.LoggingConfiguration.LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.LoggingConfiguration.LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.LoggingConfiguration.LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: instance GHC.Classes.Eq Amazonka.WAF.Types.LoggingConfiguration.LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: instance GHC.Generics.Generic Amazonka.WAF.Types.LoggingConfiguration.LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: instance GHC.Read.Read Amazonka.WAF.Types.LoggingConfiguration.LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: instance GHC.Show.Show Amazonka.WAF.Types.LoggingConfiguration.LoggingConfiguration
+ Amazonka.WAF.Types.LoggingConfiguration: loggingConfiguration_logDestinationConfigs :: Lens' LoggingConfiguration (NonEmpty Text)
+ Amazonka.WAF.Types.LoggingConfiguration: loggingConfiguration_redactedFields :: Lens' LoggingConfiguration (Maybe [FieldToMatch])
+ Amazonka.WAF.Types.LoggingConfiguration: loggingConfiguration_resourceArn :: Lens' LoggingConfiguration Text
+ Amazonka.WAF.Types.LoggingConfiguration: newLoggingConfiguration :: Text -> NonEmpty Text -> LoggingConfiguration
+ Amazonka.WAF.Types.MatchFieldType: MatchFieldType' :: Text -> MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: [fromMatchFieldType] :: MatchFieldType -> Text
+ Amazonka.WAF.Types.MatchFieldType: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Control.DeepSeq.NFData Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance GHC.Classes.Eq Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance GHC.Classes.Ord Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance GHC.Generics.Generic Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance GHC.Read.Read Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: instance GHC.Show.Show Amazonka.WAF.Types.MatchFieldType.MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: newtype MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: pattern MatchFieldType_ALL_QUERY_ARGS :: MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: pattern MatchFieldType_BODY :: MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: pattern MatchFieldType_HEADER :: MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: pattern MatchFieldType_METHOD :: MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: pattern MatchFieldType_QUERY_STRING :: MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: pattern MatchFieldType_SINGLE_QUERY_ARG :: MatchFieldType
+ Amazonka.WAF.Types.MatchFieldType: pattern MatchFieldType_URI :: MatchFieldType
+ Amazonka.WAF.Types.PositionalConstraint: PositionalConstraint' :: Text -> PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: [fromPositionalConstraint] :: PositionalConstraint -> Text
+ Amazonka.WAF.Types.PositionalConstraint: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Control.DeepSeq.NFData Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance GHC.Classes.Eq Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance GHC.Classes.Ord Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance GHC.Generics.Generic Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance GHC.Read.Read Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: instance GHC.Show.Show Amazonka.WAF.Types.PositionalConstraint.PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: newtype PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: pattern PositionalConstraint_CONTAINS :: PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: pattern PositionalConstraint_CONTAINS_WORD :: PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: pattern PositionalConstraint_ENDS_WITH :: PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: pattern PositionalConstraint_EXACTLY :: PositionalConstraint
+ Amazonka.WAF.Types.PositionalConstraint: pattern PositionalConstraint_STARTS_WITH :: PositionalConstraint
+ Amazonka.WAF.Types.Predicate: Predicate' :: Bool -> PredicateType -> Text -> Predicate
+ Amazonka.WAF.Types.Predicate: [$sel:dataId:Predicate'] :: Predicate -> Text
+ Amazonka.WAF.Types.Predicate: [$sel:negated:Predicate'] :: Predicate -> Bool
+ Amazonka.WAF.Types.Predicate: [$sel:type':Predicate'] :: Predicate -> PredicateType
+ Amazonka.WAF.Types.Predicate: data Predicate
+ Amazonka.WAF.Types.Predicate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.Predicate.Predicate
+ Amazonka.WAF.Types.Predicate: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.Predicate.Predicate
+ Amazonka.WAF.Types.Predicate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.Predicate.Predicate
+ Amazonka.WAF.Types.Predicate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.Predicate.Predicate
+ Amazonka.WAF.Types.Predicate: instance GHC.Classes.Eq Amazonka.WAF.Types.Predicate.Predicate
+ Amazonka.WAF.Types.Predicate: instance GHC.Generics.Generic Amazonka.WAF.Types.Predicate.Predicate
+ Amazonka.WAF.Types.Predicate: instance GHC.Read.Read Amazonka.WAF.Types.Predicate.Predicate
+ Amazonka.WAF.Types.Predicate: instance GHC.Show.Show Amazonka.WAF.Types.Predicate.Predicate
+ Amazonka.WAF.Types.Predicate: newPredicate :: Bool -> PredicateType -> Text -> Predicate
+ Amazonka.WAF.Types.Predicate: predicate_dataId :: Lens' Predicate Text
+ Amazonka.WAF.Types.Predicate: predicate_negated :: Lens' Predicate Bool
+ Amazonka.WAF.Types.Predicate: predicate_type :: Lens' Predicate PredicateType
+ Amazonka.WAF.Types.PredicateType: PredicateType' :: Text -> PredicateType
+ Amazonka.WAF.Types.PredicateType: [fromPredicateType] :: PredicateType -> Text
+ Amazonka.WAF.Types.PredicateType: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Control.DeepSeq.NFData Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance GHC.Classes.Eq Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance GHC.Classes.Ord Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance GHC.Generics.Generic Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance GHC.Read.Read Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: instance GHC.Show.Show Amazonka.WAF.Types.PredicateType.PredicateType
+ Amazonka.WAF.Types.PredicateType: newtype PredicateType
+ Amazonka.WAF.Types.PredicateType: pattern PredicateType_ByteMatch :: PredicateType
+ Amazonka.WAF.Types.PredicateType: pattern PredicateType_GeoMatch :: PredicateType
+ Amazonka.WAF.Types.PredicateType: pattern PredicateType_IPMatch :: PredicateType
+ Amazonka.WAF.Types.PredicateType: pattern PredicateType_RegexMatch :: PredicateType
+ Amazonka.WAF.Types.PredicateType: pattern PredicateType_SizeConstraint :: PredicateType
+ Amazonka.WAF.Types.PredicateType: pattern PredicateType_SqlInjectionMatch :: PredicateType
+ Amazonka.WAF.Types.PredicateType: pattern PredicateType_XssMatch :: PredicateType
+ Amazonka.WAF.Types.RateBasedRule: RateBasedRule' :: Maybe Text -> Maybe Text -> Text -> [Predicate] -> RateKey -> Natural -> RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: [$sel:matchPredicates:RateBasedRule'] :: RateBasedRule -> [Predicate]
+ Amazonka.WAF.Types.RateBasedRule: [$sel:metricName:RateBasedRule'] :: RateBasedRule -> Maybe Text
+ Amazonka.WAF.Types.RateBasedRule: [$sel:name:RateBasedRule'] :: RateBasedRule -> Maybe Text
+ Amazonka.WAF.Types.RateBasedRule: [$sel:rateKey:RateBasedRule'] :: RateBasedRule -> RateKey
+ Amazonka.WAF.Types.RateBasedRule: [$sel:rateLimit:RateBasedRule'] :: RateBasedRule -> Natural
+ Amazonka.WAF.Types.RateBasedRule: [$sel:ruleId:RateBasedRule'] :: RateBasedRule -> Text
+ Amazonka.WAF.Types.RateBasedRule: data RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RateBasedRule.RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RateBasedRule.RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RateBasedRule.RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: instance GHC.Classes.Eq Amazonka.WAF.Types.RateBasedRule.RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: instance GHC.Generics.Generic Amazonka.WAF.Types.RateBasedRule.RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: instance GHC.Read.Read Amazonka.WAF.Types.RateBasedRule.RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: instance GHC.Show.Show Amazonka.WAF.Types.RateBasedRule.RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: newRateBasedRule :: Text -> RateKey -> Natural -> RateBasedRule
+ Amazonka.WAF.Types.RateBasedRule: rateBasedRule_matchPredicates :: Lens' RateBasedRule [Predicate]
+ Amazonka.WAF.Types.RateBasedRule: rateBasedRule_metricName :: Lens' RateBasedRule (Maybe Text)
+ Amazonka.WAF.Types.RateBasedRule: rateBasedRule_name :: Lens' RateBasedRule (Maybe Text)
+ Amazonka.WAF.Types.RateBasedRule: rateBasedRule_rateKey :: Lens' RateBasedRule RateKey
+ Amazonka.WAF.Types.RateBasedRule: rateBasedRule_rateLimit :: Lens' RateBasedRule Natural
+ Amazonka.WAF.Types.RateBasedRule: rateBasedRule_ruleId :: Lens' RateBasedRule Text
+ Amazonka.WAF.Types.RateKey: RateKey' :: Text -> RateKey
+ Amazonka.WAF.Types.RateKey: [fromRateKey] :: RateKey -> Text
+ Amazonka.WAF.Types.RateKey: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance GHC.Classes.Eq Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance GHC.Classes.Ord Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance GHC.Generics.Generic Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance GHC.Read.Read Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: instance GHC.Show.Show Amazonka.WAF.Types.RateKey.RateKey
+ Amazonka.WAF.Types.RateKey: newtype RateKey
+ Amazonka.WAF.Types.RateKey: pattern RateKey_IP :: RateKey
+ Amazonka.WAF.Types.RegexMatchSet: RegexMatchSet' :: Maybe Text -> Maybe Text -> Maybe [RegexMatchTuple] -> RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: [$sel:name:RegexMatchSet'] :: RegexMatchSet -> Maybe Text
+ Amazonka.WAF.Types.RegexMatchSet: [$sel:regexMatchSetId:RegexMatchSet'] :: RegexMatchSet -> Maybe Text
+ Amazonka.WAF.Types.RegexMatchSet: [$sel:regexMatchTuples:RegexMatchSet'] :: RegexMatchSet -> Maybe [RegexMatchTuple]
+ Amazonka.WAF.Types.RegexMatchSet: data RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RegexMatchSet.RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RegexMatchSet.RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RegexMatchSet.RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: instance GHC.Classes.Eq Amazonka.WAF.Types.RegexMatchSet.RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: instance GHC.Generics.Generic Amazonka.WAF.Types.RegexMatchSet.RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: instance GHC.Read.Read Amazonka.WAF.Types.RegexMatchSet.RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: instance GHC.Show.Show Amazonka.WAF.Types.RegexMatchSet.RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: newRegexMatchSet :: RegexMatchSet
+ Amazonka.WAF.Types.RegexMatchSet: regexMatchSet_name :: Lens' RegexMatchSet (Maybe Text)
+ Amazonka.WAF.Types.RegexMatchSet: regexMatchSet_regexMatchSetId :: Lens' RegexMatchSet (Maybe Text)
+ Amazonka.WAF.Types.RegexMatchSet: regexMatchSet_regexMatchTuples :: Lens' RegexMatchSet (Maybe [RegexMatchTuple])
+ Amazonka.WAF.Types.RegexMatchSetSummary: RegexMatchSetSummary' :: Text -> Text -> RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: [$sel:name:RegexMatchSetSummary'] :: RegexMatchSetSummary -> Text
+ Amazonka.WAF.Types.RegexMatchSetSummary: [$sel:regexMatchSetId:RegexMatchSetSummary'] :: RegexMatchSetSummary -> Text
+ Amazonka.WAF.Types.RegexMatchSetSummary: data RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RegexMatchSetSummary.RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RegexMatchSetSummary.RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RegexMatchSetSummary.RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.RegexMatchSetSummary.RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.RegexMatchSetSummary.RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: instance GHC.Read.Read Amazonka.WAF.Types.RegexMatchSetSummary.RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: instance GHC.Show.Show Amazonka.WAF.Types.RegexMatchSetSummary.RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: newRegexMatchSetSummary :: Text -> Text -> RegexMatchSetSummary
+ Amazonka.WAF.Types.RegexMatchSetSummary: regexMatchSetSummary_name :: Lens' RegexMatchSetSummary Text
+ Amazonka.WAF.Types.RegexMatchSetSummary: regexMatchSetSummary_regexMatchSetId :: Lens' RegexMatchSetSummary Text
+ Amazonka.WAF.Types.RegexMatchSetUpdate: RegexMatchSetUpdate' :: ChangeAction -> RegexMatchTuple -> RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: [$sel:action:RegexMatchSetUpdate'] :: RegexMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types.RegexMatchSetUpdate: [$sel:regexMatchTuple:RegexMatchSetUpdate'] :: RegexMatchSetUpdate -> RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchSetUpdate: data RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RegexMatchSetUpdate.RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.RegexMatchSetUpdate.RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RegexMatchSetUpdate.RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.RegexMatchSetUpdate.RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.RegexMatchSetUpdate.RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: instance GHC.Read.Read Amazonka.WAF.Types.RegexMatchSetUpdate.RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: instance GHC.Show.Show Amazonka.WAF.Types.RegexMatchSetUpdate.RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: newRegexMatchSetUpdate :: ChangeAction -> RegexMatchTuple -> RegexMatchSetUpdate
+ Amazonka.WAF.Types.RegexMatchSetUpdate: regexMatchSetUpdate_action :: Lens' RegexMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types.RegexMatchSetUpdate: regexMatchSetUpdate_regexMatchTuple :: Lens' RegexMatchSetUpdate RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: RegexMatchTuple' :: FieldToMatch -> TextTransformation -> Text -> RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: [$sel:fieldToMatch:RegexMatchTuple'] :: RegexMatchTuple -> FieldToMatch
+ Amazonka.WAF.Types.RegexMatchTuple: [$sel:regexPatternSetId:RegexMatchTuple'] :: RegexMatchTuple -> Text
+ Amazonka.WAF.Types.RegexMatchTuple: [$sel:textTransformation:RegexMatchTuple'] :: RegexMatchTuple -> TextTransformation
+ Amazonka.WAF.Types.RegexMatchTuple: data RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RegexMatchTuple.RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RegexMatchTuple.RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.RegexMatchTuple.RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RegexMatchTuple.RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: instance GHC.Classes.Eq Amazonka.WAF.Types.RegexMatchTuple.RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: instance GHC.Generics.Generic Amazonka.WAF.Types.RegexMatchTuple.RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: instance GHC.Read.Read Amazonka.WAF.Types.RegexMatchTuple.RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: instance GHC.Show.Show Amazonka.WAF.Types.RegexMatchTuple.RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: newRegexMatchTuple :: FieldToMatch -> TextTransformation -> Text -> RegexMatchTuple
+ Amazonka.WAF.Types.RegexMatchTuple: regexMatchTuple_fieldToMatch :: Lens' RegexMatchTuple FieldToMatch
+ Amazonka.WAF.Types.RegexMatchTuple: regexMatchTuple_regexPatternSetId :: Lens' RegexMatchTuple Text
+ Amazonka.WAF.Types.RegexMatchTuple: regexMatchTuple_textTransformation :: Lens' RegexMatchTuple TextTransformation
+ Amazonka.WAF.Types.RegexPatternSet: RegexPatternSet' :: Maybe Text -> Text -> [Text] -> RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: [$sel:name:RegexPatternSet'] :: RegexPatternSet -> Maybe Text
+ Amazonka.WAF.Types.RegexPatternSet: [$sel:regexPatternSetId:RegexPatternSet'] :: RegexPatternSet -> Text
+ Amazonka.WAF.Types.RegexPatternSet: [$sel:regexPatternStrings:RegexPatternSet'] :: RegexPatternSet -> [Text]
+ Amazonka.WAF.Types.RegexPatternSet: data RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RegexPatternSet.RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RegexPatternSet.RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RegexPatternSet.RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: instance GHC.Classes.Eq Amazonka.WAF.Types.RegexPatternSet.RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: instance GHC.Generics.Generic Amazonka.WAF.Types.RegexPatternSet.RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: instance GHC.Read.Read Amazonka.WAF.Types.RegexPatternSet.RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: instance GHC.Show.Show Amazonka.WAF.Types.RegexPatternSet.RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: newRegexPatternSet :: Text -> RegexPatternSet
+ Amazonka.WAF.Types.RegexPatternSet: regexPatternSet_name :: Lens' RegexPatternSet (Maybe Text)
+ Amazonka.WAF.Types.RegexPatternSet: regexPatternSet_regexPatternSetId :: Lens' RegexPatternSet Text
+ Amazonka.WAF.Types.RegexPatternSet: regexPatternSet_regexPatternStrings :: Lens' RegexPatternSet [Text]
+ Amazonka.WAF.Types.RegexPatternSetSummary: RegexPatternSetSummary' :: Text -> Text -> RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: [$sel:name:RegexPatternSetSummary'] :: RegexPatternSetSummary -> Text
+ Amazonka.WAF.Types.RegexPatternSetSummary: [$sel:regexPatternSetId:RegexPatternSetSummary'] :: RegexPatternSetSummary -> Text
+ Amazonka.WAF.Types.RegexPatternSetSummary: data RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RegexPatternSetSummary.RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RegexPatternSetSummary.RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RegexPatternSetSummary.RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.RegexPatternSetSummary.RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.RegexPatternSetSummary.RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: instance GHC.Read.Read Amazonka.WAF.Types.RegexPatternSetSummary.RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: instance GHC.Show.Show Amazonka.WAF.Types.RegexPatternSetSummary.RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: newRegexPatternSetSummary :: Text -> Text -> RegexPatternSetSummary
+ Amazonka.WAF.Types.RegexPatternSetSummary: regexPatternSetSummary_name :: Lens' RegexPatternSetSummary Text
+ Amazonka.WAF.Types.RegexPatternSetSummary: regexPatternSetSummary_regexPatternSetId :: Lens' RegexPatternSetSummary Text
+ Amazonka.WAF.Types.RegexPatternSetUpdate: RegexPatternSetUpdate' :: ChangeAction -> Text -> RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: [$sel:action:RegexPatternSetUpdate'] :: RegexPatternSetUpdate -> ChangeAction
+ Amazonka.WAF.Types.RegexPatternSetUpdate: [$sel:regexPatternString:RegexPatternSetUpdate'] :: RegexPatternSetUpdate -> Text
+ Amazonka.WAF.Types.RegexPatternSetUpdate: data RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RegexPatternSetUpdate.RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.RegexPatternSetUpdate.RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RegexPatternSetUpdate.RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.RegexPatternSetUpdate.RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.RegexPatternSetUpdate.RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: instance GHC.Read.Read Amazonka.WAF.Types.RegexPatternSetUpdate.RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: instance GHC.Show.Show Amazonka.WAF.Types.RegexPatternSetUpdate.RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: newRegexPatternSetUpdate :: ChangeAction -> Text -> RegexPatternSetUpdate
+ Amazonka.WAF.Types.RegexPatternSetUpdate: regexPatternSetUpdate_action :: Lens' RegexPatternSetUpdate ChangeAction
+ Amazonka.WAF.Types.RegexPatternSetUpdate: regexPatternSetUpdate_regexPatternString :: Lens' RegexPatternSetUpdate Text
+ Amazonka.WAF.Types.Rule: Rule' :: Maybe Text -> Maybe Text -> Text -> [Predicate] -> Rule
+ Amazonka.WAF.Types.Rule: [$sel:metricName:Rule'] :: Rule -> Maybe Text
+ Amazonka.WAF.Types.Rule: [$sel:name:Rule'] :: Rule -> Maybe Text
+ Amazonka.WAF.Types.Rule: [$sel:predicates:Rule'] :: Rule -> [Predicate]
+ Amazonka.WAF.Types.Rule: [$sel:ruleId:Rule'] :: Rule -> Text
+ Amazonka.WAF.Types.Rule: data Rule
+ Amazonka.WAF.Types.Rule: instance Control.DeepSeq.NFData Amazonka.WAF.Types.Rule.Rule
+ Amazonka.WAF.Types.Rule: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.Rule.Rule
+ Amazonka.WAF.Types.Rule: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.Rule.Rule
+ Amazonka.WAF.Types.Rule: instance GHC.Classes.Eq Amazonka.WAF.Types.Rule.Rule
+ Amazonka.WAF.Types.Rule: instance GHC.Generics.Generic Amazonka.WAF.Types.Rule.Rule
+ Amazonka.WAF.Types.Rule: instance GHC.Read.Read Amazonka.WAF.Types.Rule.Rule
+ Amazonka.WAF.Types.Rule: instance GHC.Show.Show Amazonka.WAF.Types.Rule.Rule
+ Amazonka.WAF.Types.Rule: newRule :: Text -> Rule
+ Amazonka.WAF.Types.Rule: rule_metricName :: Lens' Rule (Maybe Text)
+ Amazonka.WAF.Types.Rule: rule_name :: Lens' Rule (Maybe Text)
+ Amazonka.WAF.Types.Rule: rule_predicates :: Lens' Rule [Predicate]
+ Amazonka.WAF.Types.Rule: rule_ruleId :: Lens' Rule Text
+ Amazonka.WAF.Types.RuleGroup: RuleGroup' :: Maybe Text -> Maybe Text -> Text -> RuleGroup
+ Amazonka.WAF.Types.RuleGroup: [$sel:metricName:RuleGroup'] :: RuleGroup -> Maybe Text
+ Amazonka.WAF.Types.RuleGroup: [$sel:name:RuleGroup'] :: RuleGroup -> Maybe Text
+ Amazonka.WAF.Types.RuleGroup: [$sel:ruleGroupId:RuleGroup'] :: RuleGroup -> Text
+ Amazonka.WAF.Types.RuleGroup: data RuleGroup
+ Amazonka.WAF.Types.RuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RuleGroup.RuleGroup
+ Amazonka.WAF.Types.RuleGroup: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RuleGroup.RuleGroup
+ Amazonka.WAF.Types.RuleGroup: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RuleGroup.RuleGroup
+ Amazonka.WAF.Types.RuleGroup: instance GHC.Classes.Eq Amazonka.WAF.Types.RuleGroup.RuleGroup
+ Amazonka.WAF.Types.RuleGroup: instance GHC.Generics.Generic Amazonka.WAF.Types.RuleGroup.RuleGroup
+ Amazonka.WAF.Types.RuleGroup: instance GHC.Read.Read Amazonka.WAF.Types.RuleGroup.RuleGroup
+ Amazonka.WAF.Types.RuleGroup: instance GHC.Show.Show Amazonka.WAF.Types.RuleGroup.RuleGroup
+ Amazonka.WAF.Types.RuleGroup: newRuleGroup :: Text -> RuleGroup
+ Amazonka.WAF.Types.RuleGroup: ruleGroup_metricName :: Lens' RuleGroup (Maybe Text)
+ Amazonka.WAF.Types.RuleGroup: ruleGroup_name :: Lens' RuleGroup (Maybe Text)
+ Amazonka.WAF.Types.RuleGroup: ruleGroup_ruleGroupId :: Lens' RuleGroup Text
+ Amazonka.WAF.Types.RuleGroupSummary: RuleGroupSummary' :: Text -> Text -> RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: [$sel:name:RuleGroupSummary'] :: RuleGroupSummary -> Text
+ Amazonka.WAF.Types.RuleGroupSummary: [$sel:ruleGroupId:RuleGroupSummary'] :: RuleGroupSummary -> Text
+ Amazonka.WAF.Types.RuleGroupSummary: data RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RuleGroupSummary.RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RuleGroupSummary.RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RuleGroupSummary.RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.RuleGroupSummary.RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.RuleGroupSummary.RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: instance GHC.Read.Read Amazonka.WAF.Types.RuleGroupSummary.RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: instance GHC.Show.Show Amazonka.WAF.Types.RuleGroupSummary.RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: newRuleGroupSummary :: Text -> Text -> RuleGroupSummary
+ Amazonka.WAF.Types.RuleGroupSummary: ruleGroupSummary_name :: Lens' RuleGroupSummary Text
+ Amazonka.WAF.Types.RuleGroupSummary: ruleGroupSummary_ruleGroupId :: Lens' RuleGroupSummary Text
+ Amazonka.WAF.Types.RuleGroupUpdate: RuleGroupUpdate' :: ChangeAction -> ActivatedRule -> RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: [$sel:action:RuleGroupUpdate'] :: RuleGroupUpdate -> ChangeAction
+ Amazonka.WAF.Types.RuleGroupUpdate: [$sel:activatedRule:RuleGroupUpdate'] :: RuleGroupUpdate -> ActivatedRule
+ Amazonka.WAF.Types.RuleGroupUpdate: data RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RuleGroupUpdate.RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.RuleGroupUpdate.RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RuleGroupUpdate.RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.RuleGroupUpdate.RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.RuleGroupUpdate.RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: instance GHC.Read.Read Amazonka.WAF.Types.RuleGroupUpdate.RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: instance GHC.Show.Show Amazonka.WAF.Types.RuleGroupUpdate.RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: newRuleGroupUpdate :: ChangeAction -> ActivatedRule -> RuleGroupUpdate
+ Amazonka.WAF.Types.RuleGroupUpdate: ruleGroupUpdate_action :: Lens' RuleGroupUpdate ChangeAction
+ Amazonka.WAF.Types.RuleGroupUpdate: ruleGroupUpdate_activatedRule :: Lens' RuleGroupUpdate ActivatedRule
+ Amazonka.WAF.Types.RuleSummary: RuleSummary' :: Text -> Text -> RuleSummary
+ Amazonka.WAF.Types.RuleSummary: [$sel:name:RuleSummary'] :: RuleSummary -> Text
+ Amazonka.WAF.Types.RuleSummary: [$sel:ruleId:RuleSummary'] :: RuleSummary -> Text
+ Amazonka.WAF.Types.RuleSummary: data RuleSummary
+ Amazonka.WAF.Types.RuleSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RuleSummary.RuleSummary
+ Amazonka.WAF.Types.RuleSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.RuleSummary.RuleSummary
+ Amazonka.WAF.Types.RuleSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RuleSummary.RuleSummary
+ Amazonka.WAF.Types.RuleSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.RuleSummary.RuleSummary
+ Amazonka.WAF.Types.RuleSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.RuleSummary.RuleSummary
+ Amazonka.WAF.Types.RuleSummary: instance GHC.Read.Read Amazonka.WAF.Types.RuleSummary.RuleSummary
+ Amazonka.WAF.Types.RuleSummary: instance GHC.Show.Show Amazonka.WAF.Types.RuleSummary.RuleSummary
+ Amazonka.WAF.Types.RuleSummary: newRuleSummary :: Text -> Text -> RuleSummary
+ Amazonka.WAF.Types.RuleSummary: ruleSummary_name :: Lens' RuleSummary Text
+ Amazonka.WAF.Types.RuleSummary: ruleSummary_ruleId :: Lens' RuleSummary Text
+ Amazonka.WAF.Types.RuleUpdate: RuleUpdate' :: ChangeAction -> Predicate -> RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: [$sel:action:RuleUpdate'] :: RuleUpdate -> ChangeAction
+ Amazonka.WAF.Types.RuleUpdate: [$sel:predicate:RuleUpdate'] :: RuleUpdate -> Predicate
+ Amazonka.WAF.Types.RuleUpdate: data RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.RuleUpdate.RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.RuleUpdate.RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.RuleUpdate.RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.RuleUpdate.RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.RuleUpdate.RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: instance GHC.Read.Read Amazonka.WAF.Types.RuleUpdate.RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: instance GHC.Show.Show Amazonka.WAF.Types.RuleUpdate.RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: newRuleUpdate :: ChangeAction -> Predicate -> RuleUpdate
+ Amazonka.WAF.Types.RuleUpdate: ruleUpdate_action :: Lens' RuleUpdate ChangeAction
+ Amazonka.WAF.Types.RuleUpdate: ruleUpdate_predicate :: Lens' RuleUpdate Predicate
+ Amazonka.WAF.Types.SampledHTTPRequest: SampledHTTPRequest' :: Maybe Text -> Maybe Text -> Maybe POSIX -> HTTPRequest -> Natural -> SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: [$sel:action:SampledHTTPRequest'] :: SampledHTTPRequest -> Maybe Text
+ Amazonka.WAF.Types.SampledHTTPRequest: [$sel:request:SampledHTTPRequest'] :: SampledHTTPRequest -> HTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: [$sel:ruleWithinRuleGroup:SampledHTTPRequest'] :: SampledHTTPRequest -> Maybe Text
+ Amazonka.WAF.Types.SampledHTTPRequest: [$sel:timestamp:SampledHTTPRequest'] :: SampledHTTPRequest -> Maybe POSIX
+ Amazonka.WAF.Types.SampledHTTPRequest: [$sel:weight:SampledHTTPRequest'] :: SampledHTTPRequest -> Natural
+ Amazonka.WAF.Types.SampledHTTPRequest: data SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SampledHTTPRequest.SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.SampledHTTPRequest.SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SampledHTTPRequest.SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: instance GHC.Classes.Eq Amazonka.WAF.Types.SampledHTTPRequest.SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: instance GHC.Generics.Generic Amazonka.WAF.Types.SampledHTTPRequest.SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: instance GHC.Read.Read Amazonka.WAF.Types.SampledHTTPRequest.SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: instance GHC.Show.Show Amazonka.WAF.Types.SampledHTTPRequest.SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: newSampledHTTPRequest :: HTTPRequest -> Natural -> SampledHTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: sampledHTTPRequest_action :: Lens' SampledHTTPRequest (Maybe Text)
+ Amazonka.WAF.Types.SampledHTTPRequest: sampledHTTPRequest_request :: Lens' SampledHTTPRequest HTTPRequest
+ Amazonka.WAF.Types.SampledHTTPRequest: sampledHTTPRequest_ruleWithinRuleGroup :: Lens' SampledHTTPRequest (Maybe Text)
+ Amazonka.WAF.Types.SampledHTTPRequest: sampledHTTPRequest_timestamp :: Lens' SampledHTTPRequest (Maybe UTCTime)
+ Amazonka.WAF.Types.SampledHTTPRequest: sampledHTTPRequest_weight :: Lens' SampledHTTPRequest Natural
+ Amazonka.WAF.Types.SizeConstraint: SizeConstraint' :: FieldToMatch -> TextTransformation -> ComparisonOperator -> Natural -> SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: [$sel:comparisonOperator:SizeConstraint'] :: SizeConstraint -> ComparisonOperator
+ Amazonka.WAF.Types.SizeConstraint: [$sel:fieldToMatch:SizeConstraint'] :: SizeConstraint -> FieldToMatch
+ Amazonka.WAF.Types.SizeConstraint: [$sel:size:SizeConstraint'] :: SizeConstraint -> Natural
+ Amazonka.WAF.Types.SizeConstraint: [$sel:textTransformation:SizeConstraint'] :: SizeConstraint -> TextTransformation
+ Amazonka.WAF.Types.SizeConstraint: data SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SizeConstraint.SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.SizeConstraint.SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.SizeConstraint.SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SizeConstraint.SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: instance GHC.Classes.Eq Amazonka.WAF.Types.SizeConstraint.SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: instance GHC.Generics.Generic Amazonka.WAF.Types.SizeConstraint.SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: instance GHC.Read.Read Amazonka.WAF.Types.SizeConstraint.SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: instance GHC.Show.Show Amazonka.WAF.Types.SizeConstraint.SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: newSizeConstraint :: FieldToMatch -> TextTransformation -> ComparisonOperator -> Natural -> SizeConstraint
+ Amazonka.WAF.Types.SizeConstraint: sizeConstraint_comparisonOperator :: Lens' SizeConstraint ComparisonOperator
+ Amazonka.WAF.Types.SizeConstraint: sizeConstraint_fieldToMatch :: Lens' SizeConstraint FieldToMatch
+ Amazonka.WAF.Types.SizeConstraint: sizeConstraint_size :: Lens' SizeConstraint Natural
+ Amazonka.WAF.Types.SizeConstraint: sizeConstraint_textTransformation :: Lens' SizeConstraint TextTransformation
+ Amazonka.WAF.Types.SizeConstraintSet: SizeConstraintSet' :: Maybe Text -> Text -> [SizeConstraint] -> SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: [$sel:name:SizeConstraintSet'] :: SizeConstraintSet -> Maybe Text
+ Amazonka.WAF.Types.SizeConstraintSet: [$sel:sizeConstraintSetId:SizeConstraintSet'] :: SizeConstraintSet -> Text
+ Amazonka.WAF.Types.SizeConstraintSet: [$sel:sizeConstraints:SizeConstraintSet'] :: SizeConstraintSet -> [SizeConstraint]
+ Amazonka.WAF.Types.SizeConstraintSet: data SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SizeConstraintSet.SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.SizeConstraintSet.SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SizeConstraintSet.SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: instance GHC.Classes.Eq Amazonka.WAF.Types.SizeConstraintSet.SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: instance GHC.Generics.Generic Amazonka.WAF.Types.SizeConstraintSet.SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: instance GHC.Read.Read Amazonka.WAF.Types.SizeConstraintSet.SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: instance GHC.Show.Show Amazonka.WAF.Types.SizeConstraintSet.SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: newSizeConstraintSet :: Text -> SizeConstraintSet
+ Amazonka.WAF.Types.SizeConstraintSet: sizeConstraintSet_name :: Lens' SizeConstraintSet (Maybe Text)
+ Amazonka.WAF.Types.SizeConstraintSet: sizeConstraintSet_sizeConstraintSetId :: Lens' SizeConstraintSet Text
+ Amazonka.WAF.Types.SizeConstraintSet: sizeConstraintSet_sizeConstraints :: Lens' SizeConstraintSet [SizeConstraint]
+ Amazonka.WAF.Types.SizeConstraintSetSummary: SizeConstraintSetSummary' :: Text -> Text -> SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: [$sel:name:SizeConstraintSetSummary'] :: SizeConstraintSetSummary -> Text
+ Amazonka.WAF.Types.SizeConstraintSetSummary: [$sel:sizeConstraintSetId:SizeConstraintSetSummary'] :: SizeConstraintSetSummary -> Text
+ Amazonka.WAF.Types.SizeConstraintSetSummary: data SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SizeConstraintSetSummary.SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.SizeConstraintSetSummary.SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SizeConstraintSetSummary.SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.SizeConstraintSetSummary.SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.SizeConstraintSetSummary.SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: instance GHC.Read.Read Amazonka.WAF.Types.SizeConstraintSetSummary.SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: instance GHC.Show.Show Amazonka.WAF.Types.SizeConstraintSetSummary.SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: newSizeConstraintSetSummary :: Text -> Text -> SizeConstraintSetSummary
+ Amazonka.WAF.Types.SizeConstraintSetSummary: sizeConstraintSetSummary_name :: Lens' SizeConstraintSetSummary Text
+ Amazonka.WAF.Types.SizeConstraintSetSummary: sizeConstraintSetSummary_sizeConstraintSetId :: Lens' SizeConstraintSetSummary Text
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: SizeConstraintSetUpdate' :: ChangeAction -> SizeConstraint -> SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: [$sel:action:SizeConstraintSetUpdate'] :: SizeConstraintSetUpdate -> ChangeAction
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: [$sel:sizeConstraint:SizeConstraintSetUpdate'] :: SizeConstraintSetUpdate -> SizeConstraint
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: data SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SizeConstraintSetUpdate.SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.SizeConstraintSetUpdate.SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SizeConstraintSetUpdate.SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.SizeConstraintSetUpdate.SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.SizeConstraintSetUpdate.SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: instance GHC.Read.Read Amazonka.WAF.Types.SizeConstraintSetUpdate.SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: instance GHC.Show.Show Amazonka.WAF.Types.SizeConstraintSetUpdate.SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: newSizeConstraintSetUpdate :: ChangeAction -> SizeConstraint -> SizeConstraintSetUpdate
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: sizeConstraintSetUpdate_action :: Lens' SizeConstraintSetUpdate ChangeAction
+ Amazonka.WAF.Types.SizeConstraintSetUpdate: sizeConstraintSetUpdate_sizeConstraint :: Lens' SizeConstraintSetUpdate SizeConstraint
+ Amazonka.WAF.Types.SqlInjectionMatchSet: SqlInjectionMatchSet' :: Maybe Text -> Text -> [SqlInjectionMatchTuple] -> SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: [$sel:name:SqlInjectionMatchSet'] :: SqlInjectionMatchSet -> Maybe Text
+ Amazonka.WAF.Types.SqlInjectionMatchSet: [$sel:sqlInjectionMatchSetId:SqlInjectionMatchSet'] :: SqlInjectionMatchSet -> Text
+ Amazonka.WAF.Types.SqlInjectionMatchSet: [$sel:sqlInjectionMatchTuples:SqlInjectionMatchSet'] :: SqlInjectionMatchSet -> [SqlInjectionMatchTuple]
+ Amazonka.WAF.Types.SqlInjectionMatchSet: data SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SqlInjectionMatchSet.SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.SqlInjectionMatchSet.SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SqlInjectionMatchSet.SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: instance GHC.Classes.Eq Amazonka.WAF.Types.SqlInjectionMatchSet.SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: instance GHC.Generics.Generic Amazonka.WAF.Types.SqlInjectionMatchSet.SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: instance GHC.Read.Read Amazonka.WAF.Types.SqlInjectionMatchSet.SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: instance GHC.Show.Show Amazonka.WAF.Types.SqlInjectionMatchSet.SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: newSqlInjectionMatchSet :: Text -> SqlInjectionMatchSet
+ Amazonka.WAF.Types.SqlInjectionMatchSet: sqlInjectionMatchSet_name :: Lens' SqlInjectionMatchSet (Maybe Text)
+ Amazonka.WAF.Types.SqlInjectionMatchSet: sqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' SqlInjectionMatchSet Text
+ Amazonka.WAF.Types.SqlInjectionMatchSet: sqlInjectionMatchSet_sqlInjectionMatchTuples :: Lens' SqlInjectionMatchSet [SqlInjectionMatchTuple]
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: SqlInjectionMatchSetSummary' :: Text -> Text -> SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: [$sel:name:SqlInjectionMatchSetSummary'] :: SqlInjectionMatchSetSummary -> Text
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: [$sel:sqlInjectionMatchSetId:SqlInjectionMatchSetSummary'] :: SqlInjectionMatchSetSummary -> Text
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: data SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SqlInjectionMatchSetSummary.SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.SqlInjectionMatchSetSummary.SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SqlInjectionMatchSetSummary.SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.SqlInjectionMatchSetSummary.SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.SqlInjectionMatchSetSummary.SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: instance GHC.Read.Read Amazonka.WAF.Types.SqlInjectionMatchSetSummary.SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: instance GHC.Show.Show Amazonka.WAF.Types.SqlInjectionMatchSetSummary.SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: newSqlInjectionMatchSetSummary :: Text -> Text -> SqlInjectionMatchSetSummary
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: sqlInjectionMatchSetSummary_name :: Lens' SqlInjectionMatchSetSummary Text
+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary: sqlInjectionMatchSetSummary_sqlInjectionMatchSetId :: Lens' SqlInjectionMatchSetSummary Text
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: SqlInjectionMatchSetUpdate' :: ChangeAction -> SqlInjectionMatchTuple -> SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: [$sel:action:SqlInjectionMatchSetUpdate'] :: SqlInjectionMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: [$sel:sqlInjectionMatchTuple:SqlInjectionMatchSetUpdate'] :: SqlInjectionMatchSetUpdate -> SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: data SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SqlInjectionMatchSetUpdate.SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.SqlInjectionMatchSetUpdate.SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SqlInjectionMatchSetUpdate.SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.SqlInjectionMatchSetUpdate.SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.SqlInjectionMatchSetUpdate.SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: instance GHC.Read.Read Amazonka.WAF.Types.SqlInjectionMatchSetUpdate.SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: instance GHC.Show.Show Amazonka.WAF.Types.SqlInjectionMatchSetUpdate.SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: newSqlInjectionMatchSetUpdate :: ChangeAction -> SqlInjectionMatchTuple -> SqlInjectionMatchSetUpdate
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: sqlInjectionMatchSetUpdate_action :: Lens' SqlInjectionMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate: sqlInjectionMatchSetUpdate_sqlInjectionMatchTuple :: Lens' SqlInjectionMatchSetUpdate SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: SqlInjectionMatchTuple' :: FieldToMatch -> TextTransformation -> SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: [$sel:fieldToMatch:SqlInjectionMatchTuple'] :: SqlInjectionMatchTuple -> FieldToMatch
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: [$sel:textTransformation:SqlInjectionMatchTuple'] :: SqlInjectionMatchTuple -> TextTransformation
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: data SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SqlInjectionMatchTuple.SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.SqlInjectionMatchTuple.SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.SqlInjectionMatchTuple.SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SqlInjectionMatchTuple.SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: instance GHC.Classes.Eq Amazonka.WAF.Types.SqlInjectionMatchTuple.SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: instance GHC.Generics.Generic Amazonka.WAF.Types.SqlInjectionMatchTuple.SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: instance GHC.Read.Read Amazonka.WAF.Types.SqlInjectionMatchTuple.SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: instance GHC.Show.Show Amazonka.WAF.Types.SqlInjectionMatchTuple.SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: newSqlInjectionMatchTuple :: FieldToMatch -> TextTransformation -> SqlInjectionMatchTuple
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: sqlInjectionMatchTuple_fieldToMatch :: Lens' SqlInjectionMatchTuple FieldToMatch
+ Amazonka.WAF.Types.SqlInjectionMatchTuple: sqlInjectionMatchTuple_textTransformation :: Lens' SqlInjectionMatchTuple TextTransformation
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: SubscribedRuleGroupSummary' :: Text -> Text -> Text -> SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: [$sel:metricName:SubscribedRuleGroupSummary'] :: SubscribedRuleGroupSummary -> Text
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: [$sel:name:SubscribedRuleGroupSummary'] :: SubscribedRuleGroupSummary -> Text
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: [$sel:ruleGroupId:SubscribedRuleGroupSummary'] :: SubscribedRuleGroupSummary -> Text
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: data SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.SubscribedRuleGroupSummary.SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.SubscribedRuleGroupSummary.SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.SubscribedRuleGroupSummary.SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.SubscribedRuleGroupSummary.SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.SubscribedRuleGroupSummary.SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: instance GHC.Read.Read Amazonka.WAF.Types.SubscribedRuleGroupSummary.SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: instance GHC.Show.Show Amazonka.WAF.Types.SubscribedRuleGroupSummary.SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: newSubscribedRuleGroupSummary :: Text -> Text -> Text -> SubscribedRuleGroupSummary
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: subscribedRuleGroupSummary_metricName :: Lens' SubscribedRuleGroupSummary Text
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: subscribedRuleGroupSummary_name :: Lens' SubscribedRuleGroupSummary Text
+ Amazonka.WAF.Types.SubscribedRuleGroupSummary: subscribedRuleGroupSummary_ruleGroupId :: Lens' SubscribedRuleGroupSummary Text
+ Amazonka.WAF.Types.Tag: Tag' :: Text -> Text -> Tag
+ Amazonka.WAF.Types.Tag: [$sel:key:Tag'] :: Tag -> Text
+ Amazonka.WAF.Types.Tag: [$sel:value:Tag'] :: Tag -> Text
+ Amazonka.WAF.Types.Tag: data Tag
+ Amazonka.WAF.Types.Tag: instance Control.DeepSeq.NFData Amazonka.WAF.Types.Tag.Tag
+ Amazonka.WAF.Types.Tag: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.Tag.Tag
+ Amazonka.WAF.Types.Tag: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.Tag.Tag
+ Amazonka.WAF.Types.Tag: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.Tag.Tag
+ Amazonka.WAF.Types.Tag: instance GHC.Classes.Eq Amazonka.WAF.Types.Tag.Tag
+ Amazonka.WAF.Types.Tag: instance GHC.Generics.Generic Amazonka.WAF.Types.Tag.Tag
+ Amazonka.WAF.Types.Tag: instance GHC.Read.Read Amazonka.WAF.Types.Tag.Tag
+ Amazonka.WAF.Types.Tag: instance GHC.Show.Show Amazonka.WAF.Types.Tag.Tag
+ Amazonka.WAF.Types.Tag: newTag :: Text -> Text -> Tag
+ Amazonka.WAF.Types.Tag: tag_key :: Lens' Tag Text
+ Amazonka.WAF.Types.Tag: tag_value :: Lens' Tag Text
+ Amazonka.WAF.Types.TagInfoForResource: TagInfoForResource' :: Maybe Text -> Maybe (NonEmpty Tag) -> TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: [$sel:resourceARN:TagInfoForResource'] :: TagInfoForResource -> Maybe Text
+ Amazonka.WAF.Types.TagInfoForResource: [$sel:tagList:TagInfoForResource'] :: TagInfoForResource -> Maybe (NonEmpty Tag)
+ Amazonka.WAF.Types.TagInfoForResource: data TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: instance Control.DeepSeq.NFData Amazonka.WAF.Types.TagInfoForResource.TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.TagInfoForResource.TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.TagInfoForResource.TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: instance GHC.Classes.Eq Amazonka.WAF.Types.TagInfoForResource.TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: instance GHC.Generics.Generic Amazonka.WAF.Types.TagInfoForResource.TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: instance GHC.Read.Read Amazonka.WAF.Types.TagInfoForResource.TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: instance GHC.Show.Show Amazonka.WAF.Types.TagInfoForResource.TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: newTagInfoForResource :: TagInfoForResource
+ Amazonka.WAF.Types.TagInfoForResource: tagInfoForResource_resourceARN :: Lens' TagInfoForResource (Maybe Text)
+ Amazonka.WAF.Types.TagInfoForResource: tagInfoForResource_tagList :: Lens' TagInfoForResource (Maybe (NonEmpty Tag))
+ Amazonka.WAF.Types.TextTransformation: TextTransformation' :: Text -> TextTransformation
+ Amazonka.WAF.Types.TextTransformation: [fromTextTransformation] :: TextTransformation -> Text
+ Amazonka.WAF.Types.TextTransformation: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Control.DeepSeq.NFData Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance GHC.Classes.Eq Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance GHC.Classes.Ord Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance GHC.Generics.Generic Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance GHC.Read.Read Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: instance GHC.Show.Show Amazonka.WAF.Types.TextTransformation.TextTransformation
+ Amazonka.WAF.Types.TextTransformation: newtype TextTransformation
+ Amazonka.WAF.Types.TextTransformation: pattern TextTransformation_CMD_LINE :: TextTransformation
+ Amazonka.WAF.Types.TextTransformation: pattern TextTransformation_COMPRESS_WHITE_SPACE :: TextTransformation
+ Amazonka.WAF.Types.TextTransformation: pattern TextTransformation_HTML_ENTITY_DECODE :: TextTransformation
+ Amazonka.WAF.Types.TextTransformation: pattern TextTransformation_LOWERCASE :: TextTransformation
+ Amazonka.WAF.Types.TextTransformation: pattern TextTransformation_NONE :: TextTransformation
+ Amazonka.WAF.Types.TextTransformation: pattern TextTransformation_URL_DECODE :: TextTransformation
+ Amazonka.WAF.Types.TimeWindow: TimeWindow' :: POSIX -> POSIX -> TimeWindow
+ Amazonka.WAF.Types.TimeWindow: [$sel:endTime:TimeWindow'] :: TimeWindow -> POSIX
+ Amazonka.WAF.Types.TimeWindow: [$sel:startTime:TimeWindow'] :: TimeWindow -> POSIX
+ Amazonka.WAF.Types.TimeWindow: data TimeWindow
+ Amazonka.WAF.Types.TimeWindow: instance Control.DeepSeq.NFData Amazonka.WAF.Types.TimeWindow.TimeWindow
+ Amazonka.WAF.Types.TimeWindow: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.TimeWindow.TimeWindow
+ Amazonka.WAF.Types.TimeWindow: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.TimeWindow.TimeWindow
+ Amazonka.WAF.Types.TimeWindow: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.TimeWindow.TimeWindow
+ Amazonka.WAF.Types.TimeWindow: instance GHC.Classes.Eq Amazonka.WAF.Types.TimeWindow.TimeWindow
+ Amazonka.WAF.Types.TimeWindow: instance GHC.Generics.Generic Amazonka.WAF.Types.TimeWindow.TimeWindow
+ Amazonka.WAF.Types.TimeWindow: instance GHC.Read.Read Amazonka.WAF.Types.TimeWindow.TimeWindow
+ Amazonka.WAF.Types.TimeWindow: instance GHC.Show.Show Amazonka.WAF.Types.TimeWindow.TimeWindow
+ Amazonka.WAF.Types.TimeWindow: newTimeWindow :: UTCTime -> UTCTime -> TimeWindow
+ Amazonka.WAF.Types.TimeWindow: timeWindow_endTime :: Lens' TimeWindow UTCTime
+ Amazonka.WAF.Types.TimeWindow: timeWindow_startTime :: Lens' TimeWindow UTCTime
+ Amazonka.WAF.Types.WafAction: WafAction' :: WafActionType -> WafAction
+ Amazonka.WAF.Types.WafAction: [$sel:type':WafAction'] :: WafAction -> WafActionType
+ Amazonka.WAF.Types.WafAction: data WafAction
+ Amazonka.WAF.Types.WafAction: instance Control.DeepSeq.NFData Amazonka.WAF.Types.WafAction.WafAction
+ Amazonka.WAF.Types.WafAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.WafAction.WafAction
+ Amazonka.WAF.Types.WafAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.WafAction.WafAction
+ Amazonka.WAF.Types.WafAction: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.WafAction.WafAction
+ Amazonka.WAF.Types.WafAction: instance GHC.Classes.Eq Amazonka.WAF.Types.WafAction.WafAction
+ Amazonka.WAF.Types.WafAction: instance GHC.Generics.Generic Amazonka.WAF.Types.WafAction.WafAction
+ Amazonka.WAF.Types.WafAction: instance GHC.Read.Read Amazonka.WAF.Types.WafAction.WafAction
+ Amazonka.WAF.Types.WafAction: instance GHC.Show.Show Amazonka.WAF.Types.WafAction.WafAction
+ Amazonka.WAF.Types.WafAction: newWafAction :: WafActionType -> WafAction
+ Amazonka.WAF.Types.WafAction: wafAction_type :: Lens' WafAction WafActionType
+ Amazonka.WAF.Types.WafActionType: WafActionType' :: Text -> WafActionType
+ Amazonka.WAF.Types.WafActionType: [fromWafActionType] :: WafActionType -> Text
+ Amazonka.WAF.Types.WafActionType: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Control.DeepSeq.NFData Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance GHC.Classes.Eq Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance GHC.Classes.Ord Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance GHC.Generics.Generic Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance GHC.Read.Read Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: instance GHC.Show.Show Amazonka.WAF.Types.WafActionType.WafActionType
+ Amazonka.WAF.Types.WafActionType: newtype WafActionType
+ Amazonka.WAF.Types.WafActionType: pattern WafActionType_ALLOW :: WafActionType
+ Amazonka.WAF.Types.WafActionType: pattern WafActionType_BLOCK :: WafActionType
+ Amazonka.WAF.Types.WafActionType: pattern WafActionType_COUNT :: WafActionType
+ Amazonka.WAF.Types.WafOverrideAction: WafOverrideAction' :: WafOverrideActionType -> WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: [$sel:type':WafOverrideAction'] :: WafOverrideAction -> WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideAction: data WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: instance Control.DeepSeq.NFData Amazonka.WAF.Types.WafOverrideAction.WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.WafOverrideAction.WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.WafOverrideAction.WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.WafOverrideAction.WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: instance GHC.Classes.Eq Amazonka.WAF.Types.WafOverrideAction.WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: instance GHC.Generics.Generic Amazonka.WAF.Types.WafOverrideAction.WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: instance GHC.Read.Read Amazonka.WAF.Types.WafOverrideAction.WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: instance GHC.Show.Show Amazonka.WAF.Types.WafOverrideAction.WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: newWafOverrideAction :: WafOverrideActionType -> WafOverrideAction
+ Amazonka.WAF.Types.WafOverrideAction: wafOverrideAction_type :: Lens' WafOverrideAction WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: WafOverrideActionType' :: Text -> WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: [fromWafOverrideActionType] :: WafOverrideActionType -> Text
+ Amazonka.WAF.Types.WafOverrideActionType: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Control.DeepSeq.NFData Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance GHC.Classes.Eq Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance GHC.Classes.Ord Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance GHC.Generics.Generic Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance GHC.Read.Read Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: instance GHC.Show.Show Amazonka.WAF.Types.WafOverrideActionType.WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: newtype WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: pattern WafOverrideActionType_COUNT :: WafOverrideActionType
+ Amazonka.WAF.Types.WafOverrideActionType: pattern WafOverrideActionType_NONE :: WafOverrideActionType
+ Amazonka.WAF.Types.WafRuleType: WafRuleType' :: Text -> WafRuleType
+ Amazonka.WAF.Types.WafRuleType: [fromWafRuleType] :: WafRuleType -> Text
+ Amazonka.WAF.Types.WafRuleType: instance Amazonka.Data.ByteString.ToByteString Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Amazonka.Data.Headers.ToHeader Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Amazonka.Data.Log.ToLog Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Amazonka.Data.Text.FromText Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Amazonka.Data.Text.ToText Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Amazonka.Data.XML.FromXML Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Amazonka.Data.XML.ToXML Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Control.DeepSeq.NFData Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance GHC.Classes.Eq Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance GHC.Classes.Ord Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance GHC.Generics.Generic Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance GHC.Read.Read Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: instance GHC.Show.Show Amazonka.WAF.Types.WafRuleType.WafRuleType
+ Amazonka.WAF.Types.WafRuleType: newtype WafRuleType
+ Amazonka.WAF.Types.WafRuleType: pattern WafRuleType_GROUP :: WafRuleType
+ Amazonka.WAF.Types.WafRuleType: pattern WafRuleType_RATE_BASED :: WafRuleType
+ Amazonka.WAF.Types.WafRuleType: pattern WafRuleType_REGULAR :: WafRuleType
+ Amazonka.WAF.Types.WebACL: WebACL' :: Maybe Text -> Maybe Text -> Maybe Text -> Text -> WafAction -> [ActivatedRule] -> WebACL
+ Amazonka.WAF.Types.WebACL: [$sel:defaultAction:WebACL'] :: WebACL -> WafAction
+ Amazonka.WAF.Types.WebACL: [$sel:metricName:WebACL'] :: WebACL -> Maybe Text
+ Amazonka.WAF.Types.WebACL: [$sel:name:WebACL'] :: WebACL -> Maybe Text
+ Amazonka.WAF.Types.WebACL: [$sel:rules:WebACL'] :: WebACL -> [ActivatedRule]
+ Amazonka.WAF.Types.WebACL: [$sel:webACLArn:WebACL'] :: WebACL -> Maybe Text
+ Amazonka.WAF.Types.WebACL: [$sel:webACLId:WebACL'] :: WebACL -> Text
+ Amazonka.WAF.Types.WebACL: data WebACL
+ Amazonka.WAF.Types.WebACL: instance Control.DeepSeq.NFData Amazonka.WAF.Types.WebACL.WebACL
+ Amazonka.WAF.Types.WebACL: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.WebACL.WebACL
+ Amazonka.WAF.Types.WebACL: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.WebACL.WebACL
+ Amazonka.WAF.Types.WebACL: instance GHC.Classes.Eq Amazonka.WAF.Types.WebACL.WebACL
+ Amazonka.WAF.Types.WebACL: instance GHC.Generics.Generic Amazonka.WAF.Types.WebACL.WebACL
+ Amazonka.WAF.Types.WebACL: instance GHC.Read.Read Amazonka.WAF.Types.WebACL.WebACL
+ Amazonka.WAF.Types.WebACL: instance GHC.Show.Show Amazonka.WAF.Types.WebACL.WebACL
+ Amazonka.WAF.Types.WebACL: newWebACL :: Text -> WafAction -> WebACL
+ Amazonka.WAF.Types.WebACL: webACL_defaultAction :: Lens' WebACL WafAction
+ Amazonka.WAF.Types.WebACL: webACL_metricName :: Lens' WebACL (Maybe Text)
+ Amazonka.WAF.Types.WebACL: webACL_name :: Lens' WebACL (Maybe Text)
+ Amazonka.WAF.Types.WebACL: webACL_rules :: Lens' WebACL [ActivatedRule]
+ Amazonka.WAF.Types.WebACL: webACL_webACLArn :: Lens' WebACL (Maybe Text)
+ Amazonka.WAF.Types.WebACL: webACL_webACLId :: Lens' WebACL Text
+ Amazonka.WAF.Types.WebACLSummary: WebACLSummary' :: Text -> Text -> WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: [$sel:name:WebACLSummary'] :: WebACLSummary -> Text
+ Amazonka.WAF.Types.WebACLSummary: [$sel:webACLId:WebACLSummary'] :: WebACLSummary -> Text
+ Amazonka.WAF.Types.WebACLSummary: data WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.WebACLSummary.WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.WebACLSummary.WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.WebACLSummary.WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.WebACLSummary.WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.WebACLSummary.WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: instance GHC.Read.Read Amazonka.WAF.Types.WebACLSummary.WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: instance GHC.Show.Show Amazonka.WAF.Types.WebACLSummary.WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: newWebACLSummary :: Text -> Text -> WebACLSummary
+ Amazonka.WAF.Types.WebACLSummary: webACLSummary_name :: Lens' WebACLSummary Text
+ Amazonka.WAF.Types.WebACLSummary: webACLSummary_webACLId :: Lens' WebACLSummary Text
+ Amazonka.WAF.Types.WebACLUpdate: WebACLUpdate' :: ChangeAction -> ActivatedRule -> WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: [$sel:action:WebACLUpdate'] :: WebACLUpdate -> ChangeAction
+ Amazonka.WAF.Types.WebACLUpdate: [$sel:activatedRule:WebACLUpdate'] :: WebACLUpdate -> ActivatedRule
+ Amazonka.WAF.Types.WebACLUpdate: data WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.WebACLUpdate.WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.WebACLUpdate.WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.WebACLUpdate.WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.WebACLUpdate.WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.WebACLUpdate.WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: instance GHC.Read.Read Amazonka.WAF.Types.WebACLUpdate.WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: instance GHC.Show.Show Amazonka.WAF.Types.WebACLUpdate.WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: newWebACLUpdate :: ChangeAction -> ActivatedRule -> WebACLUpdate
+ Amazonka.WAF.Types.WebACLUpdate: webACLUpdate_action :: Lens' WebACLUpdate ChangeAction
+ Amazonka.WAF.Types.WebACLUpdate: webACLUpdate_activatedRule :: Lens' WebACLUpdate ActivatedRule
+ Amazonka.WAF.Types.XssMatchSet: XssMatchSet' :: Maybe Text -> Text -> [XssMatchTuple] -> XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: [$sel:name:XssMatchSet'] :: XssMatchSet -> Maybe Text
+ Amazonka.WAF.Types.XssMatchSet: [$sel:xssMatchSetId:XssMatchSet'] :: XssMatchSet -> Text
+ Amazonka.WAF.Types.XssMatchSet: [$sel:xssMatchTuples:XssMatchSet'] :: XssMatchSet -> [XssMatchTuple]
+ Amazonka.WAF.Types.XssMatchSet: data XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.Types.XssMatchSet.XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.XssMatchSet.XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.XssMatchSet.XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: instance GHC.Classes.Eq Amazonka.WAF.Types.XssMatchSet.XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: instance GHC.Generics.Generic Amazonka.WAF.Types.XssMatchSet.XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: instance GHC.Read.Read Amazonka.WAF.Types.XssMatchSet.XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: instance GHC.Show.Show Amazonka.WAF.Types.XssMatchSet.XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: newXssMatchSet :: Text -> XssMatchSet
+ Amazonka.WAF.Types.XssMatchSet: xssMatchSet_name :: Lens' XssMatchSet (Maybe Text)
+ Amazonka.WAF.Types.XssMatchSet: xssMatchSet_xssMatchSetId :: Lens' XssMatchSet Text
+ Amazonka.WAF.Types.XssMatchSet: xssMatchSet_xssMatchTuples :: Lens' XssMatchSet [XssMatchTuple]
+ Amazonka.WAF.Types.XssMatchSetSummary: XssMatchSetSummary' :: Text -> Text -> XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: [$sel:name:XssMatchSetSummary'] :: XssMatchSetSummary -> Text
+ Amazonka.WAF.Types.XssMatchSetSummary: [$sel:xssMatchSetId:XssMatchSetSummary'] :: XssMatchSetSummary -> Text
+ Amazonka.WAF.Types.XssMatchSetSummary: data XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: instance Control.DeepSeq.NFData Amazonka.WAF.Types.XssMatchSetSummary.XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.XssMatchSetSummary.XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.XssMatchSetSummary.XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: instance GHC.Classes.Eq Amazonka.WAF.Types.XssMatchSetSummary.XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: instance GHC.Generics.Generic Amazonka.WAF.Types.XssMatchSetSummary.XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: instance GHC.Read.Read Amazonka.WAF.Types.XssMatchSetSummary.XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: instance GHC.Show.Show Amazonka.WAF.Types.XssMatchSetSummary.XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: newXssMatchSetSummary :: Text -> Text -> XssMatchSetSummary
+ Amazonka.WAF.Types.XssMatchSetSummary: xssMatchSetSummary_name :: Lens' XssMatchSetSummary Text
+ Amazonka.WAF.Types.XssMatchSetSummary: xssMatchSetSummary_xssMatchSetId :: Lens' XssMatchSetSummary Text
+ Amazonka.WAF.Types.XssMatchSetUpdate: XssMatchSetUpdate' :: ChangeAction -> XssMatchTuple -> XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: [$sel:action:XssMatchSetUpdate'] :: XssMatchSetUpdate -> ChangeAction
+ Amazonka.WAF.Types.XssMatchSetUpdate: [$sel:xssMatchTuple:XssMatchSetUpdate'] :: XssMatchSetUpdate -> XssMatchTuple
+ Amazonka.WAF.Types.XssMatchSetUpdate: data XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: instance Control.DeepSeq.NFData Amazonka.WAF.Types.XssMatchSetUpdate.XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.XssMatchSetUpdate.XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.XssMatchSetUpdate.XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: instance GHC.Classes.Eq Amazonka.WAF.Types.XssMatchSetUpdate.XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: instance GHC.Generics.Generic Amazonka.WAF.Types.XssMatchSetUpdate.XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: instance GHC.Read.Read Amazonka.WAF.Types.XssMatchSetUpdate.XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: instance GHC.Show.Show Amazonka.WAF.Types.XssMatchSetUpdate.XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: newXssMatchSetUpdate :: ChangeAction -> XssMatchTuple -> XssMatchSetUpdate
+ Amazonka.WAF.Types.XssMatchSetUpdate: xssMatchSetUpdate_action :: Lens' XssMatchSetUpdate ChangeAction
+ Amazonka.WAF.Types.XssMatchSetUpdate: xssMatchSetUpdate_xssMatchTuple :: Lens' XssMatchSetUpdate XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: XssMatchTuple' :: FieldToMatch -> TextTransformation -> XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: [$sel:fieldToMatch:XssMatchTuple'] :: XssMatchTuple -> FieldToMatch
+ Amazonka.WAF.Types.XssMatchTuple: [$sel:textTransformation:XssMatchTuple'] :: XssMatchTuple -> TextTransformation
+ Amazonka.WAF.Types.XssMatchTuple: data XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: instance Control.DeepSeq.NFData Amazonka.WAF.Types.XssMatchTuple.XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.WAF.Types.XssMatchTuple.XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.Types.XssMatchTuple.XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: instance Data.Hashable.Class.Hashable Amazonka.WAF.Types.XssMatchTuple.XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: instance GHC.Classes.Eq Amazonka.WAF.Types.XssMatchTuple.XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: instance GHC.Generics.Generic Amazonka.WAF.Types.XssMatchTuple.XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: instance GHC.Read.Read Amazonka.WAF.Types.XssMatchTuple.XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: instance GHC.Show.Show Amazonka.WAF.Types.XssMatchTuple.XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: newXssMatchTuple :: FieldToMatch -> TextTransformation -> XssMatchTuple
+ Amazonka.WAF.Types.XssMatchTuple: xssMatchTuple_fieldToMatch :: Lens' XssMatchTuple FieldToMatch
+ Amazonka.WAF.Types.XssMatchTuple: xssMatchTuple_textTransformation :: Lens' XssMatchTuple TextTransformation
+ Amazonka.WAF.UntagResource: UntagResource' :: Text -> NonEmpty Text -> UntagResource
+ Amazonka.WAF.UntagResource: UntagResourceResponse' :: Int -> UntagResourceResponse
+ Amazonka.WAF.UntagResource: [$sel:httpStatus:UntagResourceResponse'] :: UntagResourceResponse -> Int
+ Amazonka.WAF.UntagResource: [$sel:resourceARN:UntagResource'] :: UntagResource -> Text
+ Amazonka.WAF.UntagResource: [$sel:tagKeys:UntagResource'] :: UntagResource -> NonEmpty Text
+ Amazonka.WAF.UntagResource: data UntagResource
+ Amazonka.WAF.UntagResource: data UntagResourceResponse
+ Amazonka.WAF.UntagResource: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance Amazonka.Types.AWSRequest Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance Control.DeepSeq.NFData Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance Control.DeepSeq.NFData Amazonka.WAF.UntagResource.UntagResourceResponse
+ Amazonka.WAF.UntagResource: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance Data.Hashable.Class.Hashable Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance GHC.Classes.Eq Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance GHC.Classes.Eq Amazonka.WAF.UntagResource.UntagResourceResponse
+ Amazonka.WAF.UntagResource: instance GHC.Generics.Generic Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance GHC.Generics.Generic Amazonka.WAF.UntagResource.UntagResourceResponse
+ Amazonka.WAF.UntagResource: instance GHC.Read.Read Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance GHC.Read.Read Amazonka.WAF.UntagResource.UntagResourceResponse
+ Amazonka.WAF.UntagResource: instance GHC.Show.Show Amazonka.WAF.UntagResource.UntagResource
+ Amazonka.WAF.UntagResource: instance GHC.Show.Show Amazonka.WAF.UntagResource.UntagResourceResponse
+ Amazonka.WAF.UntagResource: newUntagResource :: Text -> NonEmpty Text -> UntagResource
+ Amazonka.WAF.UntagResource: newUntagResourceResponse :: Int -> UntagResourceResponse
+ Amazonka.WAF.UntagResource: untagResourceResponse_httpStatus :: Lens' UntagResourceResponse Int
+ Amazonka.WAF.UntagResource: untagResource_resourceARN :: Lens' UntagResource Text
+ Amazonka.WAF.UntagResource: untagResource_tagKeys :: Lens' UntagResource (NonEmpty Text)
+ Amazonka.WAF.UpdateByteMatchSet: UpdateByteMatchSet' :: Text -> Text -> NonEmpty ByteMatchSetUpdate -> UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: UpdateByteMatchSetResponse' :: Maybe Text -> Int -> UpdateByteMatchSetResponse
+ Amazonka.WAF.UpdateByteMatchSet: [$sel:byteMatchSetId:UpdateByteMatchSet'] :: UpdateByteMatchSet -> Text
+ Amazonka.WAF.UpdateByteMatchSet: [$sel:changeToken:UpdateByteMatchSet'] :: UpdateByteMatchSet -> Text
+ Amazonka.WAF.UpdateByteMatchSet: [$sel:changeToken:UpdateByteMatchSetResponse'] :: UpdateByteMatchSetResponse -> Maybe Text
+ Amazonka.WAF.UpdateByteMatchSet: [$sel:httpStatus:UpdateByteMatchSetResponse'] :: UpdateByteMatchSetResponse -> Int
+ Amazonka.WAF.UpdateByteMatchSet: [$sel:updates:UpdateByteMatchSet'] :: UpdateByteMatchSet -> NonEmpty ByteMatchSetUpdate
+ Amazonka.WAF.UpdateByteMatchSet: data UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: data UpdateByteMatchSetResponse
+ Amazonka.WAF.UpdateByteMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
+ Amazonka.WAF.UpdateByteMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
+ Amazonka.WAF.UpdateByteMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
+ Amazonka.WAF.UpdateByteMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
+ Amazonka.WAF.UpdateByteMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateByteMatchSet.UpdateByteMatchSetResponse
+ Amazonka.WAF.UpdateByteMatchSet: newUpdateByteMatchSet :: Text -> Text -> NonEmpty ByteMatchSetUpdate -> UpdateByteMatchSet
+ Amazonka.WAF.UpdateByteMatchSet: newUpdateByteMatchSetResponse :: Int -> UpdateByteMatchSetResponse
+ Amazonka.WAF.UpdateByteMatchSet: updateByteMatchSetResponse_changeToken :: Lens' UpdateByteMatchSetResponse (Maybe Text)
+ Amazonka.WAF.UpdateByteMatchSet: updateByteMatchSetResponse_httpStatus :: Lens' UpdateByteMatchSetResponse Int
+ Amazonka.WAF.UpdateByteMatchSet: updateByteMatchSet_byteMatchSetId :: Lens' UpdateByteMatchSet Text
+ Amazonka.WAF.UpdateByteMatchSet: updateByteMatchSet_changeToken :: Lens' UpdateByteMatchSet Text
+ Amazonka.WAF.UpdateByteMatchSet: updateByteMatchSet_updates :: Lens' UpdateByteMatchSet (NonEmpty ByteMatchSetUpdate)
+ Amazonka.WAF.UpdateGeoMatchSet: UpdateGeoMatchSet' :: Text -> Text -> NonEmpty GeoMatchSetUpdate -> UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: UpdateGeoMatchSetResponse' :: Maybe Text -> Int -> UpdateGeoMatchSetResponse
+ Amazonka.WAF.UpdateGeoMatchSet: [$sel:changeToken:UpdateGeoMatchSet'] :: UpdateGeoMatchSet -> Text
+ Amazonka.WAF.UpdateGeoMatchSet: [$sel:changeToken:UpdateGeoMatchSetResponse'] :: UpdateGeoMatchSetResponse -> Maybe Text
+ Amazonka.WAF.UpdateGeoMatchSet: [$sel:geoMatchSetId:UpdateGeoMatchSet'] :: UpdateGeoMatchSet -> Text
+ Amazonka.WAF.UpdateGeoMatchSet: [$sel:httpStatus:UpdateGeoMatchSetResponse'] :: UpdateGeoMatchSetResponse -> Int
+ Amazonka.WAF.UpdateGeoMatchSet: [$sel:updates:UpdateGeoMatchSet'] :: UpdateGeoMatchSet -> NonEmpty GeoMatchSetUpdate
+ Amazonka.WAF.UpdateGeoMatchSet: data UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: data UpdateGeoMatchSetResponse
+ Amazonka.WAF.UpdateGeoMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
+ Amazonka.WAF.UpdateGeoMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
+ Amazonka.WAF.UpdateGeoMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
+ Amazonka.WAF.UpdateGeoMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
+ Amazonka.WAF.UpdateGeoMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateGeoMatchSet.UpdateGeoMatchSetResponse
+ Amazonka.WAF.UpdateGeoMatchSet: newUpdateGeoMatchSet :: Text -> Text -> NonEmpty GeoMatchSetUpdate -> UpdateGeoMatchSet
+ Amazonka.WAF.UpdateGeoMatchSet: newUpdateGeoMatchSetResponse :: Int -> UpdateGeoMatchSetResponse
+ Amazonka.WAF.UpdateGeoMatchSet: updateGeoMatchSetResponse_changeToken :: Lens' UpdateGeoMatchSetResponse (Maybe Text)
+ Amazonka.WAF.UpdateGeoMatchSet: updateGeoMatchSetResponse_httpStatus :: Lens' UpdateGeoMatchSetResponse Int
+ Amazonka.WAF.UpdateGeoMatchSet: updateGeoMatchSet_changeToken :: Lens' UpdateGeoMatchSet Text
+ Amazonka.WAF.UpdateGeoMatchSet: updateGeoMatchSet_geoMatchSetId :: Lens' UpdateGeoMatchSet Text
+ Amazonka.WAF.UpdateGeoMatchSet: updateGeoMatchSet_updates :: Lens' UpdateGeoMatchSet (NonEmpty GeoMatchSetUpdate)
+ Amazonka.WAF.UpdateIPSet: UpdateIPSet' :: Text -> Text -> NonEmpty IPSetUpdate -> UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: UpdateIPSetResponse' :: Maybe Text -> Int -> UpdateIPSetResponse
+ Amazonka.WAF.UpdateIPSet: [$sel:changeToken:UpdateIPSet'] :: UpdateIPSet -> Text
+ Amazonka.WAF.UpdateIPSet: [$sel:changeToken:UpdateIPSetResponse'] :: UpdateIPSetResponse -> Maybe Text
+ Amazonka.WAF.UpdateIPSet: [$sel:httpStatus:UpdateIPSetResponse'] :: UpdateIPSetResponse -> Int
+ Amazonka.WAF.UpdateIPSet: [$sel:iPSetId:UpdateIPSet'] :: UpdateIPSet -> Text
+ Amazonka.WAF.UpdateIPSet: [$sel:updates:UpdateIPSet'] :: UpdateIPSet -> NonEmpty IPSetUpdate
+ Amazonka.WAF.UpdateIPSet: data UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: data UpdateIPSetResponse
+ Amazonka.WAF.UpdateIPSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateIPSet.UpdateIPSetResponse
+ Amazonka.WAF.UpdateIPSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateIPSet.UpdateIPSetResponse
+ Amazonka.WAF.UpdateIPSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateIPSet.UpdateIPSetResponse
+ Amazonka.WAF.UpdateIPSet: instance GHC.Read.Read Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance GHC.Read.Read Amazonka.WAF.UpdateIPSet.UpdateIPSetResponse
+ Amazonka.WAF.UpdateIPSet: instance GHC.Show.Show Amazonka.WAF.UpdateIPSet.UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: instance GHC.Show.Show Amazonka.WAF.UpdateIPSet.UpdateIPSetResponse
+ Amazonka.WAF.UpdateIPSet: newUpdateIPSet :: Text -> Text -> NonEmpty IPSetUpdate -> UpdateIPSet
+ Amazonka.WAF.UpdateIPSet: newUpdateIPSetResponse :: Int -> UpdateIPSetResponse
+ Amazonka.WAF.UpdateIPSet: updateIPSetResponse_changeToken :: Lens' UpdateIPSetResponse (Maybe Text)
+ Amazonka.WAF.UpdateIPSet: updateIPSetResponse_httpStatus :: Lens' UpdateIPSetResponse Int
+ Amazonka.WAF.UpdateIPSet: updateIPSet_changeToken :: Lens' UpdateIPSet Text
+ Amazonka.WAF.UpdateIPSet: updateIPSet_iPSetId :: Lens' UpdateIPSet Text
+ Amazonka.WAF.UpdateIPSet: updateIPSet_updates :: Lens' UpdateIPSet (NonEmpty IPSetUpdate)
+ Amazonka.WAF.UpdateRateBasedRule: UpdateRateBasedRule' :: Text -> Text -> [RuleUpdate] -> Natural -> UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: UpdateRateBasedRuleResponse' :: Maybe Text -> Int -> UpdateRateBasedRuleResponse
+ Amazonka.WAF.UpdateRateBasedRule: [$sel:changeToken:UpdateRateBasedRule'] :: UpdateRateBasedRule -> Text
+ Amazonka.WAF.UpdateRateBasedRule: [$sel:changeToken:UpdateRateBasedRuleResponse'] :: UpdateRateBasedRuleResponse -> Maybe Text
+ Amazonka.WAF.UpdateRateBasedRule: [$sel:httpStatus:UpdateRateBasedRuleResponse'] :: UpdateRateBasedRuleResponse -> Int
+ Amazonka.WAF.UpdateRateBasedRule: [$sel:rateLimit:UpdateRateBasedRule'] :: UpdateRateBasedRule -> Natural
+ Amazonka.WAF.UpdateRateBasedRule: [$sel:ruleId:UpdateRateBasedRule'] :: UpdateRateBasedRule -> Text
+ Amazonka.WAF.UpdateRateBasedRule: [$sel:updates:UpdateRateBasedRule'] :: UpdateRateBasedRule -> [RuleUpdate]
+ Amazonka.WAF.UpdateRateBasedRule: data UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: data UpdateRateBasedRuleResponse
+ Amazonka.WAF.UpdateRateBasedRule: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
+ Amazonka.WAF.UpdateRateBasedRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance GHC.Classes.Eq Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance GHC.Classes.Eq Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
+ Amazonka.WAF.UpdateRateBasedRule: instance GHC.Generics.Generic Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance GHC.Generics.Generic Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
+ Amazonka.WAF.UpdateRateBasedRule: instance GHC.Read.Read Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance GHC.Read.Read Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
+ Amazonka.WAF.UpdateRateBasedRule: instance GHC.Show.Show Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: instance GHC.Show.Show Amazonka.WAF.UpdateRateBasedRule.UpdateRateBasedRuleResponse
+ Amazonka.WAF.UpdateRateBasedRule: newUpdateRateBasedRule :: Text -> Text -> Natural -> UpdateRateBasedRule
+ Amazonka.WAF.UpdateRateBasedRule: newUpdateRateBasedRuleResponse :: Int -> UpdateRateBasedRuleResponse
+ Amazonka.WAF.UpdateRateBasedRule: updateRateBasedRuleResponse_changeToken :: Lens' UpdateRateBasedRuleResponse (Maybe Text)
+ Amazonka.WAF.UpdateRateBasedRule: updateRateBasedRuleResponse_httpStatus :: Lens' UpdateRateBasedRuleResponse Int
+ Amazonka.WAF.UpdateRateBasedRule: updateRateBasedRule_changeToken :: Lens' UpdateRateBasedRule Text
+ Amazonka.WAF.UpdateRateBasedRule: updateRateBasedRule_rateLimit :: Lens' UpdateRateBasedRule Natural
+ Amazonka.WAF.UpdateRateBasedRule: updateRateBasedRule_ruleId :: Lens' UpdateRateBasedRule Text
+ Amazonka.WAF.UpdateRateBasedRule: updateRateBasedRule_updates :: Lens' UpdateRateBasedRule [RuleUpdate]
+ Amazonka.WAF.UpdateRegexMatchSet: UpdateRegexMatchSet' :: Text -> NonEmpty RegexMatchSetUpdate -> Text -> UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: UpdateRegexMatchSetResponse' :: Maybe Text -> Int -> UpdateRegexMatchSetResponse
+ Amazonka.WAF.UpdateRegexMatchSet: [$sel:changeToken:UpdateRegexMatchSet'] :: UpdateRegexMatchSet -> Text
+ Amazonka.WAF.UpdateRegexMatchSet: [$sel:changeToken:UpdateRegexMatchSetResponse'] :: UpdateRegexMatchSetResponse -> Maybe Text
+ Amazonka.WAF.UpdateRegexMatchSet: [$sel:httpStatus:UpdateRegexMatchSetResponse'] :: UpdateRegexMatchSetResponse -> Int
+ Amazonka.WAF.UpdateRegexMatchSet: [$sel:regexMatchSetId:UpdateRegexMatchSet'] :: UpdateRegexMatchSet -> Text
+ Amazonka.WAF.UpdateRegexMatchSet: [$sel:updates:UpdateRegexMatchSet'] :: UpdateRegexMatchSet -> NonEmpty RegexMatchSetUpdate
+ Amazonka.WAF.UpdateRegexMatchSet: data UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: data UpdateRegexMatchSetResponse
+ Amazonka.WAF.UpdateRegexMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
+ Amazonka.WAF.UpdateRegexMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
+ Amazonka.WAF.UpdateRegexMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
+ Amazonka.WAF.UpdateRegexMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
+ Amazonka.WAF.UpdateRegexMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateRegexMatchSet.UpdateRegexMatchSetResponse
+ Amazonka.WAF.UpdateRegexMatchSet: newUpdateRegexMatchSet :: Text -> NonEmpty RegexMatchSetUpdate -> Text -> UpdateRegexMatchSet
+ Amazonka.WAF.UpdateRegexMatchSet: newUpdateRegexMatchSetResponse :: Int -> UpdateRegexMatchSetResponse
+ Amazonka.WAF.UpdateRegexMatchSet: updateRegexMatchSetResponse_changeToken :: Lens' UpdateRegexMatchSetResponse (Maybe Text)
+ Amazonka.WAF.UpdateRegexMatchSet: updateRegexMatchSetResponse_httpStatus :: Lens' UpdateRegexMatchSetResponse Int
+ Amazonka.WAF.UpdateRegexMatchSet: updateRegexMatchSet_changeToken :: Lens' UpdateRegexMatchSet Text
+ Amazonka.WAF.UpdateRegexMatchSet: updateRegexMatchSet_regexMatchSetId :: Lens' UpdateRegexMatchSet Text
+ Amazonka.WAF.UpdateRegexMatchSet: updateRegexMatchSet_updates :: Lens' UpdateRegexMatchSet (NonEmpty RegexMatchSetUpdate)
+ Amazonka.WAF.UpdateRegexPatternSet: UpdateRegexPatternSet' :: Text -> NonEmpty RegexPatternSetUpdate -> Text -> UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: UpdateRegexPatternSetResponse' :: Maybe Text -> Int -> UpdateRegexPatternSetResponse
+ Amazonka.WAF.UpdateRegexPatternSet: [$sel:changeToken:UpdateRegexPatternSet'] :: UpdateRegexPatternSet -> Text
+ Amazonka.WAF.UpdateRegexPatternSet: [$sel:changeToken:UpdateRegexPatternSetResponse'] :: UpdateRegexPatternSetResponse -> Maybe Text
+ Amazonka.WAF.UpdateRegexPatternSet: [$sel:httpStatus:UpdateRegexPatternSetResponse'] :: UpdateRegexPatternSetResponse -> Int
+ Amazonka.WAF.UpdateRegexPatternSet: [$sel:regexPatternSetId:UpdateRegexPatternSet'] :: UpdateRegexPatternSet -> Text
+ Amazonka.WAF.UpdateRegexPatternSet: [$sel:updates:UpdateRegexPatternSet'] :: UpdateRegexPatternSet -> NonEmpty RegexPatternSetUpdate
+ Amazonka.WAF.UpdateRegexPatternSet: data UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: data UpdateRegexPatternSetResponse
+ Amazonka.WAF.UpdateRegexPatternSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
+ Amazonka.WAF.UpdateRegexPatternSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
+ Amazonka.WAF.UpdateRegexPatternSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
+ Amazonka.WAF.UpdateRegexPatternSet: instance GHC.Read.Read Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance GHC.Read.Read Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
+ Amazonka.WAF.UpdateRegexPatternSet: instance GHC.Show.Show Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: instance GHC.Show.Show Amazonka.WAF.UpdateRegexPatternSet.UpdateRegexPatternSetResponse
+ Amazonka.WAF.UpdateRegexPatternSet: newUpdateRegexPatternSet :: Text -> NonEmpty RegexPatternSetUpdate -> Text -> UpdateRegexPatternSet
+ Amazonka.WAF.UpdateRegexPatternSet: newUpdateRegexPatternSetResponse :: Int -> UpdateRegexPatternSetResponse
+ Amazonka.WAF.UpdateRegexPatternSet: updateRegexPatternSetResponse_changeToken :: Lens' UpdateRegexPatternSetResponse (Maybe Text)
+ Amazonka.WAF.UpdateRegexPatternSet: updateRegexPatternSetResponse_httpStatus :: Lens' UpdateRegexPatternSetResponse Int
+ Amazonka.WAF.UpdateRegexPatternSet: updateRegexPatternSet_changeToken :: Lens' UpdateRegexPatternSet Text
+ Amazonka.WAF.UpdateRegexPatternSet: updateRegexPatternSet_regexPatternSetId :: Lens' UpdateRegexPatternSet Text
+ Amazonka.WAF.UpdateRegexPatternSet: updateRegexPatternSet_updates :: Lens' UpdateRegexPatternSet (NonEmpty RegexPatternSetUpdate)
+ Amazonka.WAF.UpdateRule: UpdateRule' :: Text -> Text -> [RuleUpdate] -> UpdateRule
+ Amazonka.WAF.UpdateRule: UpdateRuleResponse' :: Maybe Text -> Int -> UpdateRuleResponse
+ Amazonka.WAF.UpdateRule: [$sel:changeToken:UpdateRule'] :: UpdateRule -> Text
+ Amazonka.WAF.UpdateRule: [$sel:changeToken:UpdateRuleResponse'] :: UpdateRuleResponse -> Maybe Text
+ Amazonka.WAF.UpdateRule: [$sel:httpStatus:UpdateRuleResponse'] :: UpdateRuleResponse -> Int
+ Amazonka.WAF.UpdateRule: [$sel:ruleId:UpdateRule'] :: UpdateRule -> Text
+ Amazonka.WAF.UpdateRule: [$sel:updates:UpdateRule'] :: UpdateRule -> [RuleUpdate]
+ Amazonka.WAF.UpdateRule: data UpdateRule
+ Amazonka.WAF.UpdateRule: data UpdateRuleResponse
+ Amazonka.WAF.UpdateRule: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRule.UpdateRuleResponse
+ Amazonka.WAF.UpdateRule: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance GHC.Classes.Eq Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance GHC.Classes.Eq Amazonka.WAF.UpdateRule.UpdateRuleResponse
+ Amazonka.WAF.UpdateRule: instance GHC.Generics.Generic Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance GHC.Generics.Generic Amazonka.WAF.UpdateRule.UpdateRuleResponse
+ Amazonka.WAF.UpdateRule: instance GHC.Read.Read Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance GHC.Read.Read Amazonka.WAF.UpdateRule.UpdateRuleResponse
+ Amazonka.WAF.UpdateRule: instance GHC.Show.Show Amazonka.WAF.UpdateRule.UpdateRule
+ Amazonka.WAF.UpdateRule: instance GHC.Show.Show Amazonka.WAF.UpdateRule.UpdateRuleResponse
+ Amazonka.WAF.UpdateRule: newUpdateRule :: Text -> Text -> UpdateRule
+ Amazonka.WAF.UpdateRule: newUpdateRuleResponse :: Int -> UpdateRuleResponse
+ Amazonka.WAF.UpdateRule: updateRuleResponse_changeToken :: Lens' UpdateRuleResponse (Maybe Text)
+ Amazonka.WAF.UpdateRule: updateRuleResponse_httpStatus :: Lens' UpdateRuleResponse Int
+ Amazonka.WAF.UpdateRule: updateRule_changeToken :: Lens' UpdateRule Text
+ Amazonka.WAF.UpdateRule: updateRule_ruleId :: Lens' UpdateRule Text
+ Amazonka.WAF.UpdateRule: updateRule_updates :: Lens' UpdateRule [RuleUpdate]
+ Amazonka.WAF.UpdateRuleGroup: UpdateRuleGroup' :: Text -> NonEmpty RuleGroupUpdate -> Text -> UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: UpdateRuleGroupResponse' :: Maybe Text -> Int -> UpdateRuleGroupResponse
+ Amazonka.WAF.UpdateRuleGroup: [$sel:changeToken:UpdateRuleGroup'] :: UpdateRuleGroup -> Text
+ Amazonka.WAF.UpdateRuleGroup: [$sel:changeToken:UpdateRuleGroupResponse'] :: UpdateRuleGroupResponse -> Maybe Text
+ Amazonka.WAF.UpdateRuleGroup: [$sel:httpStatus:UpdateRuleGroupResponse'] :: UpdateRuleGroupResponse -> Int
+ Amazonka.WAF.UpdateRuleGroup: [$sel:ruleGroupId:UpdateRuleGroup'] :: UpdateRuleGroup -> Text
+ Amazonka.WAF.UpdateRuleGroup: [$sel:updates:UpdateRuleGroup'] :: UpdateRuleGroup -> NonEmpty RuleGroupUpdate
+ Amazonka.WAF.UpdateRuleGroup: data UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: data UpdateRuleGroupResponse
+ Amazonka.WAF.UpdateRuleGroup: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
+ Amazonka.WAF.UpdateRuleGroup: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance GHC.Classes.Eq Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
+ Amazonka.WAF.UpdateRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance GHC.Generics.Generic Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
+ Amazonka.WAF.UpdateRuleGroup: instance GHC.Read.Read Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance GHC.Read.Read Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
+ Amazonka.WAF.UpdateRuleGroup: instance GHC.Show.Show Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: instance GHC.Show.Show Amazonka.WAF.UpdateRuleGroup.UpdateRuleGroupResponse
+ Amazonka.WAF.UpdateRuleGroup: newUpdateRuleGroup :: Text -> NonEmpty RuleGroupUpdate -> Text -> UpdateRuleGroup
+ Amazonka.WAF.UpdateRuleGroup: newUpdateRuleGroupResponse :: Int -> UpdateRuleGroupResponse
+ Amazonka.WAF.UpdateRuleGroup: updateRuleGroupResponse_changeToken :: Lens' UpdateRuleGroupResponse (Maybe Text)
+ Amazonka.WAF.UpdateRuleGroup: updateRuleGroupResponse_httpStatus :: Lens' UpdateRuleGroupResponse Int
+ Amazonka.WAF.UpdateRuleGroup: updateRuleGroup_changeToken :: Lens' UpdateRuleGroup Text
+ Amazonka.WAF.UpdateRuleGroup: updateRuleGroup_ruleGroupId :: Lens' UpdateRuleGroup Text
+ Amazonka.WAF.UpdateRuleGroup: updateRuleGroup_updates :: Lens' UpdateRuleGroup (NonEmpty RuleGroupUpdate)
+ Amazonka.WAF.UpdateSizeConstraintSet: UpdateSizeConstraintSet' :: Text -> Text -> NonEmpty SizeConstraintSetUpdate -> UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: UpdateSizeConstraintSetResponse' :: Maybe Text -> Int -> UpdateSizeConstraintSetResponse
+ Amazonka.WAF.UpdateSizeConstraintSet: [$sel:changeToken:UpdateSizeConstraintSet'] :: UpdateSizeConstraintSet -> Text
+ Amazonka.WAF.UpdateSizeConstraintSet: [$sel:changeToken:UpdateSizeConstraintSetResponse'] :: UpdateSizeConstraintSetResponse -> Maybe Text
+ Amazonka.WAF.UpdateSizeConstraintSet: [$sel:httpStatus:UpdateSizeConstraintSetResponse'] :: UpdateSizeConstraintSetResponse -> Int
+ Amazonka.WAF.UpdateSizeConstraintSet: [$sel:sizeConstraintSetId:UpdateSizeConstraintSet'] :: UpdateSizeConstraintSet -> Text
+ Amazonka.WAF.UpdateSizeConstraintSet: [$sel:updates:UpdateSizeConstraintSet'] :: UpdateSizeConstraintSet -> NonEmpty SizeConstraintSetUpdate
+ Amazonka.WAF.UpdateSizeConstraintSet: data UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: data UpdateSizeConstraintSetResponse
+ Amazonka.WAF.UpdateSizeConstraintSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
+ Amazonka.WAF.UpdateSizeConstraintSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
+ Amazonka.WAF.UpdateSizeConstraintSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
+ Amazonka.WAF.UpdateSizeConstraintSet: instance GHC.Read.Read Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance GHC.Read.Read Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
+ Amazonka.WAF.UpdateSizeConstraintSet: instance GHC.Show.Show Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: instance GHC.Show.Show Amazonka.WAF.UpdateSizeConstraintSet.UpdateSizeConstraintSetResponse
+ Amazonka.WAF.UpdateSizeConstraintSet: newUpdateSizeConstraintSet :: Text -> Text -> NonEmpty SizeConstraintSetUpdate -> UpdateSizeConstraintSet
+ Amazonka.WAF.UpdateSizeConstraintSet: newUpdateSizeConstraintSetResponse :: Int -> UpdateSizeConstraintSetResponse
+ Amazonka.WAF.UpdateSizeConstraintSet: updateSizeConstraintSetResponse_changeToken :: Lens' UpdateSizeConstraintSetResponse (Maybe Text)
+ Amazonka.WAF.UpdateSizeConstraintSet: updateSizeConstraintSetResponse_httpStatus :: Lens' UpdateSizeConstraintSetResponse Int
+ Amazonka.WAF.UpdateSizeConstraintSet: updateSizeConstraintSet_changeToken :: Lens' UpdateSizeConstraintSet Text
+ Amazonka.WAF.UpdateSizeConstraintSet: updateSizeConstraintSet_sizeConstraintSetId :: Lens' UpdateSizeConstraintSet Text
+ Amazonka.WAF.UpdateSizeConstraintSet: updateSizeConstraintSet_updates :: Lens' UpdateSizeConstraintSet (NonEmpty SizeConstraintSetUpdate)
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: UpdateSqlInjectionMatchSet' :: Text -> Text -> NonEmpty SqlInjectionMatchSetUpdate -> UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: UpdateSqlInjectionMatchSetResponse' :: Maybe Text -> Int -> UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: [$sel:changeToken:UpdateSqlInjectionMatchSet'] :: UpdateSqlInjectionMatchSet -> Text
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: [$sel:changeToken:UpdateSqlInjectionMatchSetResponse'] :: UpdateSqlInjectionMatchSetResponse -> Maybe Text
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: [$sel:httpStatus:UpdateSqlInjectionMatchSetResponse'] :: UpdateSqlInjectionMatchSetResponse -> Int
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: [$sel:sqlInjectionMatchSetId:UpdateSqlInjectionMatchSet'] :: UpdateSqlInjectionMatchSet -> Text
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: [$sel:updates:UpdateSqlInjectionMatchSet'] :: UpdateSqlInjectionMatchSet -> NonEmpty SqlInjectionMatchSetUpdate
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: data UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: data UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateSqlInjectionMatchSet.UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: newUpdateSqlInjectionMatchSet :: Text -> Text -> NonEmpty SqlInjectionMatchSetUpdate -> UpdateSqlInjectionMatchSet
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: newUpdateSqlInjectionMatchSetResponse :: Int -> UpdateSqlInjectionMatchSetResponse
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: updateSqlInjectionMatchSetResponse_changeToken :: Lens' UpdateSqlInjectionMatchSetResponse (Maybe Text)
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: updateSqlInjectionMatchSetResponse_httpStatus :: Lens' UpdateSqlInjectionMatchSetResponse Int
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: updateSqlInjectionMatchSet_changeToken :: Lens' UpdateSqlInjectionMatchSet Text
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: updateSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' UpdateSqlInjectionMatchSet Text
+ Amazonka.WAF.UpdateSqlInjectionMatchSet: updateSqlInjectionMatchSet_updates :: Lens' UpdateSqlInjectionMatchSet (NonEmpty SqlInjectionMatchSetUpdate)
+ Amazonka.WAF.UpdateWebACL: UpdateWebACL' :: Maybe WafAction -> Maybe [WebACLUpdate] -> Text -> Text -> UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: UpdateWebACLResponse' :: Maybe Text -> Int -> UpdateWebACLResponse
+ Amazonka.WAF.UpdateWebACL: [$sel:changeToken:UpdateWebACL'] :: UpdateWebACL -> Text
+ Amazonka.WAF.UpdateWebACL: [$sel:changeToken:UpdateWebACLResponse'] :: UpdateWebACLResponse -> Maybe Text
+ Amazonka.WAF.UpdateWebACL: [$sel:defaultAction:UpdateWebACL'] :: UpdateWebACL -> Maybe WafAction
+ Amazonka.WAF.UpdateWebACL: [$sel:httpStatus:UpdateWebACLResponse'] :: UpdateWebACLResponse -> Int
+ Amazonka.WAF.UpdateWebACL: [$sel:updates:UpdateWebACL'] :: UpdateWebACL -> Maybe [WebACLUpdate]
+ Amazonka.WAF.UpdateWebACL: [$sel:webACLId:UpdateWebACL'] :: UpdateWebACL -> Text
+ Amazonka.WAF.UpdateWebACL: data UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: data UpdateWebACLResponse
+ Amazonka.WAF.UpdateWebACL: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateWebACL.UpdateWebACLResponse
+ Amazonka.WAF.UpdateWebACL: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance GHC.Classes.Eq Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance GHC.Classes.Eq Amazonka.WAF.UpdateWebACL.UpdateWebACLResponse
+ Amazonka.WAF.UpdateWebACL: instance GHC.Generics.Generic Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance GHC.Generics.Generic Amazonka.WAF.UpdateWebACL.UpdateWebACLResponse
+ Amazonka.WAF.UpdateWebACL: instance GHC.Read.Read Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance GHC.Read.Read Amazonka.WAF.UpdateWebACL.UpdateWebACLResponse
+ Amazonka.WAF.UpdateWebACL: instance GHC.Show.Show Amazonka.WAF.UpdateWebACL.UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: instance GHC.Show.Show Amazonka.WAF.UpdateWebACL.UpdateWebACLResponse
+ Amazonka.WAF.UpdateWebACL: newUpdateWebACL :: Text -> Text -> UpdateWebACL
+ Amazonka.WAF.UpdateWebACL: newUpdateWebACLResponse :: Int -> UpdateWebACLResponse
+ Amazonka.WAF.UpdateWebACL: updateWebACLResponse_changeToken :: Lens' UpdateWebACLResponse (Maybe Text)
+ Amazonka.WAF.UpdateWebACL: updateWebACLResponse_httpStatus :: Lens' UpdateWebACLResponse Int
+ Amazonka.WAF.UpdateWebACL: updateWebACL_changeToken :: Lens' UpdateWebACL Text
+ Amazonka.WAF.UpdateWebACL: updateWebACL_defaultAction :: Lens' UpdateWebACL (Maybe WafAction)
+ Amazonka.WAF.UpdateWebACL: updateWebACL_updates :: Lens' UpdateWebACL (Maybe [WebACLUpdate])
+ Amazonka.WAF.UpdateWebACL: updateWebACL_webACLId :: Lens' UpdateWebACL Text
+ Amazonka.WAF.UpdateXssMatchSet: UpdateXssMatchSet' :: Text -> Text -> NonEmpty XssMatchSetUpdate -> UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: UpdateXssMatchSetResponse' :: Maybe Text -> Int -> UpdateXssMatchSetResponse
+ Amazonka.WAF.UpdateXssMatchSet: [$sel:changeToken:UpdateXssMatchSet'] :: UpdateXssMatchSet -> Text
+ Amazonka.WAF.UpdateXssMatchSet: [$sel:changeToken:UpdateXssMatchSetResponse'] :: UpdateXssMatchSetResponse -> Maybe Text
+ Amazonka.WAF.UpdateXssMatchSet: [$sel:httpStatus:UpdateXssMatchSetResponse'] :: UpdateXssMatchSetResponse -> Int
+ Amazonka.WAF.UpdateXssMatchSet: [$sel:updates:UpdateXssMatchSet'] :: UpdateXssMatchSet -> NonEmpty XssMatchSetUpdate
+ Amazonka.WAF.UpdateXssMatchSet: [$sel:xssMatchSetId:UpdateXssMatchSet'] :: UpdateXssMatchSet -> Text
+ Amazonka.WAF.UpdateXssMatchSet: data UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: data UpdateXssMatchSetResponse
+ Amazonka.WAF.UpdateXssMatchSet: instance Amazonka.Data.Headers.ToHeaders Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance Amazonka.Data.Path.ToPath Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance Amazonka.Data.Query.ToQuery Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance Amazonka.Types.AWSRequest Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance Control.DeepSeq.NFData Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSetResponse
+ Amazonka.WAF.UpdateXssMatchSet: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance Data.Hashable.Class.Hashable Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance GHC.Classes.Eq Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSetResponse
+ Amazonka.WAF.UpdateXssMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance GHC.Generics.Generic Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSetResponse
+ Amazonka.WAF.UpdateXssMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance GHC.Read.Read Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSetResponse
+ Amazonka.WAF.UpdateXssMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: instance GHC.Show.Show Amazonka.WAF.UpdateXssMatchSet.UpdateXssMatchSetResponse
+ Amazonka.WAF.UpdateXssMatchSet: newUpdateXssMatchSet :: Text -> Text -> NonEmpty XssMatchSetUpdate -> UpdateXssMatchSet
+ Amazonka.WAF.UpdateXssMatchSet: newUpdateXssMatchSetResponse :: Int -> UpdateXssMatchSetResponse
+ Amazonka.WAF.UpdateXssMatchSet: updateXssMatchSetResponse_changeToken :: Lens' UpdateXssMatchSetResponse (Maybe Text)
+ Amazonka.WAF.UpdateXssMatchSet: updateXssMatchSetResponse_httpStatus :: Lens' UpdateXssMatchSetResponse Int
+ Amazonka.WAF.UpdateXssMatchSet: updateXssMatchSet_changeToken :: Lens' UpdateXssMatchSet Text
+ Amazonka.WAF.UpdateXssMatchSet: updateXssMatchSet_updates :: Lens' UpdateXssMatchSet (NonEmpty XssMatchSetUpdate)
+ Amazonka.WAF.UpdateXssMatchSet: updateXssMatchSet_xssMatchSetId :: Lens' UpdateXssMatchSet Text
Files
- README.md +3/−4
- Setup.hs +0/−2
- amazonka-waf.cabal +218/−143
- fixture/CreateByteMatchSet.yaml +10/−0
- fixture/CreateIPSet.yaml +10/−0
- fixture/CreateRule.yaml +10/−0
- fixture/CreateSizeConstraintSet.yaml +10/−0
- fixture/CreateSqlInjectionMatchSet.yaml +10/−0
- fixture/CreateWebACL.yaml +10/−0
- fixture/CreateWebACLMigrationStack.yaml +10/−0
- fixture/CreateWebACLMigrationStackResponse.proto +0/−0
- fixture/CreateXSSMatchSet.yaml +0/−0
- fixture/CreateXSSMatchSetResponse.proto +0/−0
- fixture/CreateXssMatchSet.yaml +10/−0
- fixture/CreateXssMatchSetResponse.proto +0/−0
- fixture/DeleteByteMatchSet.yaml +10/−0
- fixture/DeleteIPSet.yaml +10/−0
- fixture/DeleteLoggingConfiguration.yaml +10/−0
- fixture/DeleteLoggingConfigurationResponse.proto +0/−0
- fixture/DeleteRule.yaml +10/−0
- fixture/DeleteSizeConstraintSet.yaml +10/−0
- fixture/DeleteSqlInjectionMatchSet.yaml +10/−0
- fixture/DeleteWebACL.yaml +10/−0
- fixture/DeleteXSSMatchSet.yaml +0/−0
- fixture/DeleteXSSMatchSetResponse.proto +0/−0
- fixture/DeleteXssMatchSet.yaml +10/−0
- fixture/DeleteXssMatchSetResponse.proto +0/−0
- fixture/GetByteMatchSet.yaml +10/−0
- fixture/GetChangeToken.yaml +10/−0
- fixture/GetChangeTokenStatus.yaml +10/−0
- fixture/GetIPSet.yaml +10/−0
- fixture/GetLoggingConfiguration.yaml +10/−0
- fixture/GetLoggingConfigurationResponse.proto +0/−0
- fixture/GetRule.yaml +10/−0
- fixture/GetSampledRequests.yaml +10/−0
- fixture/GetSizeConstraintSet.yaml +10/−0
- fixture/GetSqlInjectionMatchSet.yaml +10/−0
- fixture/GetWebACL.yaml +10/−0
- fixture/GetXSSMatchSet.yaml +0/−0
- fixture/GetXSSMatchSetResponse.proto +0/−0
- fixture/GetXssMatchSet.yaml +10/−0
- fixture/GetXssMatchSetResponse.proto +0/−0
- fixture/ListByteMatchSets.yaml +10/−0
- fixture/ListIPSets.yaml +10/−0
- fixture/ListLoggingConfigurations.yaml +10/−0
- fixture/ListLoggingConfigurationsResponse.proto +0/−0
- fixture/ListRules.yaml +10/−0
- fixture/ListSizeConstraintSets.yaml +10/−0
- fixture/ListSqlInjectionMatchSets.yaml +10/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ListWebACLs.yaml +10/−0
- fixture/ListXSSMatchSets.yaml +0/−0
- fixture/ListXSSMatchSetsResponse.proto +0/−0
- fixture/ListXssMatchSets.yaml +10/−0
- fixture/ListXssMatchSetsResponse.proto +0/−0
- fixture/PutLoggingConfiguration.yaml +10/−0
- fixture/PutLoggingConfigurationResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateByteMatchSet.yaml +10/−0
- fixture/UpdateIPSet.yaml +10/−0
- fixture/UpdateRule.yaml +10/−0
- fixture/UpdateSizeConstraintSet.yaml +10/−0
- fixture/UpdateSqlInjectionMatchSet.yaml +10/−0
- fixture/UpdateWebACL.yaml +10/−0
- fixture/UpdateXSSMatchSet.yaml +0/−0
- fixture/UpdateXSSMatchSetResponse.proto +0/−0
- fixture/UpdateXssMatchSet.yaml +10/−0
- fixture/UpdateXssMatchSetResponse.proto +0/−0
- gen/Amazonka/WAF.hs +937/−0
- gen/Amazonka/WAF/CreateByteMatchSet.hs +241/−0
- gen/Amazonka/WAF/CreateGeoMatchSet.hs +243/−0
- gen/Amazonka/WAF/CreateIPSet.hs +238/−0
- gen/Amazonka/WAF/CreateRateBasedRule.hs +392/−0
- gen/Amazonka/WAF/CreateRegexMatchSet.hs +243/−0
- gen/Amazonka/WAF/CreateRegexPatternSet.hs +239/−0
- gen/Amazonka/WAF/CreateRule.hs +291/−0
- gen/Amazonka/WAF/CreateRuleGroup.hs +274/−0
- gen/Amazonka/WAF/CreateSizeConstraintSet.hs +245/−0
- gen/Amazonka/WAF/CreateSqlInjectionMatchSet.hs +253/−0
- gen/Amazonka/WAF/CreateWebACL.hs +314/−0
- gen/Amazonka/WAF/CreateWebACLMigrationStack.hs +273/−0
- gen/Amazonka/WAF/CreateXssMatchSet.hs +243/−0
- gen/Amazonka/WAF/DeleteByteMatchSet.hs +226/−0
- gen/Amazonka/WAF/DeleteGeoMatchSet.hs +225/−0
- gen/Amazonka/WAF/DeleteIPSet.hs +217/−0
- gen/Amazonka/WAF/DeleteLoggingConfiguration.hs +175/−0
- gen/Amazonka/WAF/DeletePermissionPolicy.hs +183/−0
- gen/Amazonka/WAF/DeleteRateBasedRule.hs +221/−0
- gen/Amazonka/WAF/DeleteRegexMatchSet.hs +228/−0
- gen/Amazonka/WAF/DeleteRegexPatternSet.hs +215/−0
- gen/Amazonka/WAF/DeleteRule.hs +216/−0
- gen/Amazonka/WAF/DeleteRuleGroup.hs +222/−0
- gen/Amazonka/WAF/DeleteSizeConstraintSet.hs +232/−0
- gen/Amazonka/WAF/DeleteSqlInjectionMatchSet.hs +241/−0
- gen/Amazonka/WAF/DeleteWebACL.hs +215/−0
- gen/Amazonka/WAF/DeleteXssMatchSet.hs +230/−0
- gen/Amazonka/WAF/GetByteMatchSet.hs +218/−0
- gen/Amazonka/WAF/GetChangeToken.hs +174/−0
- gen/Amazonka/WAF/GetChangeTokenStatus.hs +191/−0
- gen/Amazonka/WAF/GetGeoMatchSet.hs +194/−0
- gen/Amazonka/WAF/GetIPSet.hs +193/−0
- gen/Amazonka/WAF/GetLoggingConfiguration.hs +187/−0
- gen/Amazonka/WAF/GetPermissionPolicy.hs +181/−0
- gen/Amazonka/WAF/GetRateBasedRule.hs +183/−0
- gen/Amazonka/WAF/GetRateBasedRuleManagedKeys.hs +251/−0
- gen/Amazonka/WAF/GetRegexMatchSet.hs +192/−0
- gen/Amazonka/WAF/GetRegexPatternSet.hs +195/−0
- gen/Amazonka/WAF/GetRule.hs +196/−0
- gen/Amazonka/WAF/GetRuleGroup.hs +183/−0
- gen/Amazonka/WAF/GetSampledRequests.hs +344/−0
- gen/Amazonka/WAF/GetSizeConstraintSet.hs +222/−0
- gen/Amazonka/WAF/GetSqlInjectionMatchSet.hs +229/−0
- gen/Amazonka/WAF/GetWebACL.hs +208/−0
- gen/Amazonka/WAF/GetXssMatchSet.hs +219/−0
- gen/Amazonka/WAF/Lens.hs +905/−0
- gen/Amazonka/WAF/ListActivatedRulesInRuleGroup.hs +291/−0
- gen/Amazonka/WAF/ListByteMatchSets.hs +265/−0
- gen/Amazonka/WAF/ListGeoMatchSets.hs +265/−0
- gen/Amazonka/WAF/ListIPSets.hs +248/−0
- gen/Amazonka/WAF/ListLoggingConfigurations.hs +277/−0
- gen/Amazonka/WAF/ListRateBasedRules.hs +265/−0
- gen/Amazonka/WAF/ListRegexMatchSets.hs +265/−0
- gen/Amazonka/WAF/ListRegexPatternSets.hs +274/−0
- gen/Amazonka/WAF/ListRuleGroups.hs +265/−0
- gen/Amazonka/WAF/ListRules.hs +257/−0
- gen/Amazonka/WAF/ListSizeConstraintSets.hs +277/−0
- gen/Amazonka/WAF/ListSqlInjectionMatchSets.hs +282/−0
- gen/Amazonka/WAF/ListSubscribedRuleGroups.hs +271/−0
- gen/Amazonka/WAF/ListTagsForResource.hs +220/−0
- gen/Amazonka/WAF/ListWebACLs.hs +262/−0
- gen/Amazonka/WAF/ListXssMatchSets.hs +270/−0
- gen/Amazonka/WAF/PutLoggingConfiguration.hs +225/−0
- gen/Amazonka/WAF/PutPermissionPolicy.hs +218/−0
- gen/Amazonka/WAF/TagResource.hs +185/−0
- gen/Amazonka/WAF/Types.hs +855/−0
- gen/Amazonka/WAF/Types/ActivatedRule.hs +418/−0
- gen/Amazonka/WAF/Types/ByteMatchSet.hs +152/−0
- gen/Amazonka/WAF/Types/ByteMatchSetSummary.hs +120/−0
- gen/Amazonka/WAF/Types/ByteMatchSetUpdate.hs +113/−0
- gen/Amazonka/WAF/Types/ByteMatchTuple.hs +682/−0
- gen/Amazonka/WAF/Types/ChangeAction.hs +71/−0
- gen/Amazonka/WAF/Types/ChangeTokenStatus.hs +76/−0
- gen/Amazonka/WAF/Types/ComparisonOperator.hs +91/−0
- gen/Amazonka/WAF/Types/ExcludedRule.hs +87/−0
- gen/Amazonka/WAF/Types/FieldToMatch.hs +233/−0
- gen/Amazonka/WAF/Types/GeoMatchConstraint.hs +111/−0
- gen/Amazonka/WAF/Types/GeoMatchConstraintType.hs +66/−0
- gen/Amazonka/WAF/Types/GeoMatchConstraintValue.hs +1306/−0
- gen/Amazonka/WAF/Types/GeoMatchSet.hs +138/−0
- gen/Amazonka/WAF/Types/GeoMatchSetSummary.hs +104/−0
- gen/Amazonka/WAF/Types/GeoMatchSetUpdate.hs +103/−0
- gen/Amazonka/WAF/Types/HTTPHeader.hs +96/−0
- gen/Amazonka/WAF/Types/HTTPRequest.hs +190/−0
- gen/Amazonka/WAF/Types/IPSet.hs +151/−0
- gen/Amazonka/WAF/Types/IPSetDescriptor.hs +170/−0
- gen/Amazonka/WAF/Types/IPSetDescriptorType.hs +71/−0
- gen/Amazonka/WAF/Types/IPSetSummary.hs +99/−0
- gen/Amazonka/WAF/Types/IPSetUpdate.hs +102/−0
- gen/Amazonka/WAF/Types/LoggingConfiguration.hs +138/−0
- gen/Amazonka/WAF/Types/MatchFieldType.hs +96/−0
- gen/Amazonka/WAF/Types/PositionalConstraint.hs +86/−0
- gen/Amazonka/WAF/Types/Predicate.hs +168/−0
- gen/Amazonka/WAF/Types/PredicateType.hs +96/−0
- gen/Amazonka/WAF/Types/RateBasedRule.hs +226/−0
- gen/Amazonka/WAF/Types/RateKey.hs +63/−0
- gen/Amazonka/WAF/Types/RegexMatchSet.hs +178/−0
- gen/Amazonka/WAF/Types/RegexMatchSetSummary.hs +120/−0
- gen/Amazonka/WAF/Types/RegexMatchSetUpdate.hs +116/−0
- gen/Amazonka/WAF/Types/RegexMatchTuple.hs +383/−0
- gen/Amazonka/WAF/Types/RegexPatternSet.hs +136/−0
- gen/Amazonka/WAF/Types/RegexPatternSetSummary.hs +120/−0
- gen/Amazonka/WAF/Types/RegexPatternSetUpdate.hs +105/−0
- gen/Amazonka/WAF/Types/Rule.hs +175/−0
- gen/Amazonka/WAF/Types/RuleGroup.hs +152/−0
- gen/Amazonka/WAF/Types/RuleGroupSummary.hs +119/−0
- gen/Amazonka/WAF/Types/RuleGroupUpdate.hs +112/−0
- gen/Amazonka/WAF/Types/RuleSummary.hs +115/−0
- gen/Amazonka/WAF/Types/RuleUpdate.hs +105/−0
- gen/Amazonka/WAF/Types/SampledHTTPRequest.hs +162/−0
- gen/Amazonka/WAF/Types/SizeConstraint.hs +473/−0
- gen/Amazonka/WAF/Types/SizeConstraintSet.hs +141/−0
- gen/Amazonka/WAF/Types/SizeConstraintSetSummary.hs +124/−0
- gen/Amazonka/WAF/Types/SizeConstraintSetUpdate.hs +119/−0
- gen/Amazonka/WAF/Types/SqlInjectionMatchSet.hs +147/−0
- gen/Amazonka/WAF/Types/SqlInjectionMatchSetSummary.hs +127/−0
- gen/Amazonka/WAF/Types/SqlInjectionMatchSetUpdate.hs +119/−0
- gen/Amazonka/WAF/Types/SqlInjectionMatchTuple.hs +333/−0
- gen/Amazonka/WAF/Types/SubscribedRuleGroupSummary.hs +133/−0
- gen/Amazonka/WAF/Types/Tag.hs +107/−0
- gen/Amazonka/WAF/Types/TagInfoForResource.hs +100/−0
- gen/Amazonka/WAF/Types/TextTransformation.hs +91/−0
- gen/Amazonka/WAF/Types/TimeWindow.hs +152/−0
- gen/Amazonka/WAF/Types/WafAction.hs +117/−0
- gen/Amazonka/WAF/Types/WafActionType.hs +76/−0
- gen/Amazonka/WAF/Types/WafOverrideAction.hs +89/−0
- gen/Amazonka/WAF/Types/WafOverrideActionType.hs +71/−0
- gen/Amazonka/WAF/Types/WafRuleType.hs +76/−0
- gen/Amazonka/WAF/Types/WebACL.hs +191/−0
- gen/Amazonka/WAF/Types/WebACLSummary.hs +111/−0
- gen/Amazonka/WAF/Types/WebACLUpdate.hs +112/−0
- gen/Amazonka/WAF/Types/XssMatchSet.hs +140/−0
- gen/Amazonka/WAF/Types/XssMatchSetSummary.hs +119/−0
- gen/Amazonka/WAF/Types/XssMatchSetUpdate.hs +110/−0
- gen/Amazonka/WAF/Types/XssMatchTuple.hs +330/−0
- gen/Amazonka/WAF/UntagResource.hs +176/−0
- gen/Amazonka/WAF/UpdateByteMatchSet.hs +296/−0
- gen/Amazonka/WAF/UpdateGeoMatchSet.hs +287/−0
- gen/Amazonka/WAF/UpdateIPSet.hs +294/−0
- gen/Amazonka/WAF/UpdateRateBasedRule.hs +292/−0
- gen/Amazonka/WAF/UpdateRegexMatchSet.hs +272/−0
- gen/Amazonka/WAF/UpdateRegexPatternSet.hs +265/−0
- gen/Amazonka/WAF/UpdateRule.hs +272/−0
- gen/Amazonka/WAF/UpdateRuleGroup.hs +276/−0
- gen/Amazonka/WAF/UpdateSizeConstraintSet.hs +306/−0
- gen/Amazonka/WAF/UpdateSqlInjectionMatchSet.hs +310/−0
- gen/Amazonka/WAF/UpdateWebACL.hs +342/−0
- gen/Amazonka/WAF/UpdateXssMatchSet.hs +293/−0
- gen/Amazonka/WAF/Waiters.hs +24/−0
- gen/Network/AWS/WAF.hs +0/−764
- gen/Network/AWS/WAF/CreateByteMatchSet.hs +0/−170
- gen/Network/AWS/WAF/CreateGeoMatchSet.hs +0/−169
- gen/Network/AWS/WAF/CreateIPSet.hs +0/−169
- gen/Network/AWS/WAF/CreateRateBasedRule.hs +0/−237
- gen/Network/AWS/WAF/CreateRegexMatchSet.hs +0/−171
- gen/Network/AWS/WAF/CreateRegexPatternSet.hs +0/−171
- gen/Network/AWS/WAF/CreateRule.hs +0/−195
- gen/Network/AWS/WAF/CreateRuleGroup.hs +0/−181
- gen/Network/AWS/WAF/CreateSizeConstraintSet.hs +0/−172
- gen/Network/AWS/WAF/CreateSqlInjectionMatchSet.hs +0/−182
- gen/Network/AWS/WAF/CreateWebACL.hs +0/−200
- gen/Network/AWS/WAF/CreateXSSMatchSet.hs +0/−177
- gen/Network/AWS/WAF/DeleteByteMatchSet.hs +0/−157
- gen/Network/AWS/WAF/DeleteGeoMatchSet.hs +0/−156
- gen/Network/AWS/WAF/DeleteIPSet.hs +0/−155
- gen/Network/AWS/WAF/DeletePermissionPolicy.hs +0/−127
- gen/Network/AWS/WAF/DeleteRateBasedRule.hs +0/−158
- gen/Network/AWS/WAF/DeleteRegexMatchSet.hs +0/−158
- gen/Network/AWS/WAF/DeleteRegexPatternSet.hs +0/−149
- gen/Network/AWS/WAF/DeleteRule.hs +0/−155
- gen/Network/AWS/WAF/DeleteRuleGroup.hs +0/−156
- gen/Network/AWS/WAF/DeleteSizeConstraintSet.hs +0/−161
- gen/Network/AWS/WAF/DeleteSqlInjectionMatchSet.hs +0/−171
- gen/Network/AWS/WAF/DeleteWebACL.hs +0/−153
- gen/Network/AWS/WAF/DeleteXSSMatchSet.hs +0/−164
- gen/Network/AWS/WAF/GetByteMatchSet.hs +0/−133
- gen/Network/AWS/WAF/GetChangeToken.hs +0/−123
- gen/Network/AWS/WAF/GetChangeTokenStatus.hs +0/−145
- gen/Network/AWS/WAF/GetGeoMatchSet.hs +0/−133
- gen/Network/AWS/WAF/GetIPSet.hs +0/−131
- gen/Network/AWS/WAF/GetPermissionPolicy.hs +0/−134
- gen/Network/AWS/WAF/GetRateBasedRule.hs +0/−130
- gen/Network/AWS/WAF/GetRateBasedRuleManagedKeys.hs +0/−159
- gen/Network/AWS/WAF/GetRegexMatchSet.hs +0/−133
- gen/Network/AWS/WAF/GetRegexPatternSet.hs +0/−135
- gen/Network/AWS/WAF/GetRule.hs +0/−129
- gen/Network/AWS/WAF/GetRuleGroup.hs +0/−133
- gen/Network/AWS/WAF/GetSampledRequests.hs +0/−194
- gen/Network/AWS/WAF/GetSizeConstraintSet.hs +0/−138
- gen/Network/AWS/WAF/GetSqlInjectionMatchSet.hs +0/−149
- gen/Network/AWS/WAF/GetWebACL.hs +0/−131
- gen/Network/AWS/WAF/GetXSSMatchSet.hs +0/−141
- gen/Network/AWS/WAF/ListActivatedRulesInRuleGroup.hs +0/−172
- gen/Network/AWS/WAF/ListByteMatchSets.hs +0/−164
- gen/Network/AWS/WAF/ListGeoMatchSets.hs +0/−154
- gen/Network/AWS/WAF/ListIPSets.hs +0/−162
- gen/Network/AWS/WAF/ListRateBasedRules.hs +0/−154
- gen/Network/AWS/WAF/ListRegexMatchSets.hs +0/−155
- gen/Network/AWS/WAF/ListRegexPatternSets.hs +0/−156
- gen/Network/AWS/WAF/ListRuleGroups.hs +0/−153
- gen/Network/AWS/WAF/ListRules.hs +0/−162
- gen/Network/AWS/WAF/ListSizeConstraintSets.hs +0/−166
- gen/Network/AWS/WAF/ListSqlInjectionMatchSets.hs +0/−176
- gen/Network/AWS/WAF/ListSubscribedRuleGroups.hs +0/−157
- gen/Network/AWS/WAF/ListWebACLs.hs +0/−162
- gen/Network/AWS/WAF/ListXSSMatchSets.hs +0/−172
- gen/Network/AWS/WAF/PutPermissionPolicy.hs +0/−159
- gen/Network/AWS/WAF/Types.hs +0/−649
- gen/Network/AWS/WAF/Types/Product.hs +0/−2821
- gen/Network/AWS/WAF/Types/Sum.hs +0/−1235
- gen/Network/AWS/WAF/UpdateByteMatchSet.hs +0/−184
- gen/Network/AWS/WAF/UpdateGeoMatchSet.hs +0/−179
- gen/Network/AWS/WAF/UpdateIPSet.hs +0/−195
- gen/Network/AWS/WAF/UpdateRateBasedRule.hs +0/−197
- gen/Network/AWS/WAF/UpdateRegexMatchSet.hs +0/−183
- gen/Network/AWS/WAF/UpdateRegexPatternSet.hs +0/−190
- gen/Network/AWS/WAF/UpdateRule.hs +0/−179
- gen/Network/AWS/WAF/UpdateRuleGroup.hs +0/−177
- gen/Network/AWS/WAF/UpdateSizeConstraintSet.hs +0/−186
- gen/Network/AWS/WAF/UpdateSqlInjectionMatchSet.hs +0/−192
- gen/Network/AWS/WAF/UpdateWebACL.hs +0/−194
- gen/Network/AWS/WAF/UpdateXSSMatchSet.hs +0/−187
- gen/Network/AWS/WAF/Waiters.hs +0/−21
- test/Main.hs +11/−9
- test/Test/AWS/Gen/WAF.hs +0/−1281
- test/Test/AWS/WAF.hs +0/−23
- test/Test/AWS/WAF/Internal.hs +0/−17
- test/Test/Amazonka/Gen/WAF.hs +1578/−0
- test/Test/Amazonka/WAF.hs +20/−0
- test/Test/Amazonka/WAF/Internal.hs +8/−0
README.md view
@@ -7,9 +7,8 @@ ## Version--`1.6.1`-+ +`2.0` - Derived from API version @2015-08-24@ of the AWS service descriptions, licensed under Apache 2.0. ## Description @@ -26,7 +25,7 @@ The provided lenses should be compatible with any of the major lens libraries [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core). -See [Network.AWS.WAF](http://hackage.haskell.org/package/amazonka-waf/docs/Network-AWS-WAF.html)+See [Amazonka.WAF](http://hackage.haskell.org/package/amazonka-waf/docs/Amazonka-WAF.html) or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
amazonka-waf.cabal view
@@ -1,154 +1,229 @@-name: amazonka-waf-version: 1.6.1-synopsis: Amazon WAF SDK.-homepage: https://github.com/brendanhay/amazonka-bug-reports: https://github.com/brendanhay/amazonka/issues-license: MPL-2.0-license-file: LICENSE-author: Brendan Hay-maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright: Copyright (c) 2013-2018 Brendan Hay-category: Network, AWS, Cloud, Distributed Computing-build-type: Simple-cabal-version: >= 1.10-extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep+cabal-version: 2.2+name: amazonka-waf+version: 2.0+synopsis: Amazon WAF SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep+ description:- The types from this library are intended to be used with- <http://hackage.haskell.org/package/amazonka amazonka>, which provides- mechanisms for specifying AuthN/AuthZ information, sending requests,- and receiving responses.- .- Lenses are used for constructing and manipulating types,- due to the depth of nesting of AWS types and transparency regarding- de/serialisation into more palatable Haskell values.- The provided lenses should be compatible with any of the major lens libraries- such as <http://hackage.haskell.org/package/lens lens> or- <http://hackage.haskell.org/package/lens-family-core lens-family-core>.- .- See "Network.AWS.WAF" or <https://aws.amazon.com/documentation/ the AWS documentation>- to get started.+ Derived from API version @2015-08-24@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.WAF.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.WAF" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started. source-repository head- type: git- location: git://github.com/brendanhay/amazonka.git- subdir: amazonka-waf+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-waf library- default-language: Haskell2010- hs-source-dirs: src gen-- ghc-options:- -Wall- -fwarn-incomplete-uni-patterns- -fwarn-incomplete-record-updates- -funbox-strict-fields-- exposed-modules:- Network.AWS.WAF- , Network.AWS.WAF.CreateByteMatchSet- , Network.AWS.WAF.CreateGeoMatchSet- , Network.AWS.WAF.CreateIPSet- , Network.AWS.WAF.CreateRateBasedRule- , Network.AWS.WAF.CreateRegexMatchSet- , Network.AWS.WAF.CreateRegexPatternSet- , Network.AWS.WAF.CreateRule- , Network.AWS.WAF.CreateRuleGroup- , Network.AWS.WAF.CreateSizeConstraintSet- , Network.AWS.WAF.CreateSqlInjectionMatchSet- , Network.AWS.WAF.CreateWebACL- , Network.AWS.WAF.CreateXSSMatchSet- , Network.AWS.WAF.DeleteByteMatchSet- , Network.AWS.WAF.DeleteGeoMatchSet- , Network.AWS.WAF.DeleteIPSet- , Network.AWS.WAF.DeletePermissionPolicy- , Network.AWS.WAF.DeleteRateBasedRule- , Network.AWS.WAF.DeleteRegexMatchSet- , Network.AWS.WAF.DeleteRegexPatternSet- , Network.AWS.WAF.DeleteRule- , Network.AWS.WAF.DeleteRuleGroup- , Network.AWS.WAF.DeleteSizeConstraintSet- , Network.AWS.WAF.DeleteSqlInjectionMatchSet- , Network.AWS.WAF.DeleteWebACL- , Network.AWS.WAF.DeleteXSSMatchSet- , Network.AWS.WAF.GetByteMatchSet- , Network.AWS.WAF.GetChangeToken- , Network.AWS.WAF.GetChangeTokenStatus- , Network.AWS.WAF.GetGeoMatchSet- , Network.AWS.WAF.GetIPSet- , Network.AWS.WAF.GetPermissionPolicy- , Network.AWS.WAF.GetRateBasedRule- , Network.AWS.WAF.GetRateBasedRuleManagedKeys- , Network.AWS.WAF.GetRegexMatchSet- , Network.AWS.WAF.GetRegexPatternSet- , Network.AWS.WAF.GetRule- , Network.AWS.WAF.GetRuleGroup- , Network.AWS.WAF.GetSampledRequests- , Network.AWS.WAF.GetSizeConstraintSet- , Network.AWS.WAF.GetSqlInjectionMatchSet- , Network.AWS.WAF.GetWebACL- , Network.AWS.WAF.GetXSSMatchSet- , Network.AWS.WAF.ListActivatedRulesInRuleGroup- , Network.AWS.WAF.ListByteMatchSets- , Network.AWS.WAF.ListGeoMatchSets- , Network.AWS.WAF.ListIPSets- , Network.AWS.WAF.ListRateBasedRules- , Network.AWS.WAF.ListRegexMatchSets- , Network.AWS.WAF.ListRegexPatternSets- , Network.AWS.WAF.ListRuleGroups- , Network.AWS.WAF.ListRules- , Network.AWS.WAF.ListSizeConstraintSets- , Network.AWS.WAF.ListSqlInjectionMatchSets- , Network.AWS.WAF.ListSubscribedRuleGroups- , Network.AWS.WAF.ListWebACLs- , Network.AWS.WAF.ListXSSMatchSets- , Network.AWS.WAF.PutPermissionPolicy- , Network.AWS.WAF.Types- , Network.AWS.WAF.UpdateByteMatchSet- , Network.AWS.WAF.UpdateGeoMatchSet- , Network.AWS.WAF.UpdateIPSet- , Network.AWS.WAF.UpdateRateBasedRule- , Network.AWS.WAF.UpdateRegexMatchSet- , Network.AWS.WAF.UpdateRegexPatternSet- , Network.AWS.WAF.UpdateRule- , Network.AWS.WAF.UpdateRuleGroup- , Network.AWS.WAF.UpdateSizeConstraintSet- , Network.AWS.WAF.UpdateSqlInjectionMatchSet- , Network.AWS.WAF.UpdateWebACL- , Network.AWS.WAF.UpdateXSSMatchSet- , Network.AWS.WAF.Waiters+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields - other-modules:- Network.AWS.WAF.Types.Product- , Network.AWS.WAF.Types.Sum+ exposed-modules:+ Amazonka.WAF+ Amazonka.WAF.CreateByteMatchSet+ Amazonka.WAF.CreateGeoMatchSet+ Amazonka.WAF.CreateIPSet+ Amazonka.WAF.CreateRateBasedRule+ Amazonka.WAF.CreateRegexMatchSet+ Amazonka.WAF.CreateRegexPatternSet+ Amazonka.WAF.CreateRule+ Amazonka.WAF.CreateRuleGroup+ Amazonka.WAF.CreateSizeConstraintSet+ Amazonka.WAF.CreateSqlInjectionMatchSet+ Amazonka.WAF.CreateWebACL+ Amazonka.WAF.CreateWebACLMigrationStack+ Amazonka.WAF.CreateXssMatchSet+ Amazonka.WAF.DeleteByteMatchSet+ Amazonka.WAF.DeleteGeoMatchSet+ Amazonka.WAF.DeleteIPSet+ Amazonka.WAF.DeleteLoggingConfiguration+ Amazonka.WAF.DeletePermissionPolicy+ Amazonka.WAF.DeleteRateBasedRule+ Amazonka.WAF.DeleteRegexMatchSet+ Amazonka.WAF.DeleteRegexPatternSet+ Amazonka.WAF.DeleteRule+ Amazonka.WAF.DeleteRuleGroup+ Amazonka.WAF.DeleteSizeConstraintSet+ Amazonka.WAF.DeleteSqlInjectionMatchSet+ Amazonka.WAF.DeleteWebACL+ Amazonka.WAF.DeleteXssMatchSet+ Amazonka.WAF.GetByteMatchSet+ Amazonka.WAF.GetChangeToken+ Amazonka.WAF.GetChangeTokenStatus+ Amazonka.WAF.GetGeoMatchSet+ Amazonka.WAF.GetIPSet+ Amazonka.WAF.GetLoggingConfiguration+ Amazonka.WAF.GetPermissionPolicy+ Amazonka.WAF.GetRateBasedRule+ Amazonka.WAF.GetRateBasedRuleManagedKeys+ Amazonka.WAF.GetRegexMatchSet+ Amazonka.WAF.GetRegexPatternSet+ Amazonka.WAF.GetRule+ Amazonka.WAF.GetRuleGroup+ Amazonka.WAF.GetSampledRequests+ Amazonka.WAF.GetSizeConstraintSet+ Amazonka.WAF.GetSqlInjectionMatchSet+ Amazonka.WAF.GetWebACL+ Amazonka.WAF.GetXssMatchSet+ Amazonka.WAF.Lens+ Amazonka.WAF.ListActivatedRulesInRuleGroup+ Amazonka.WAF.ListByteMatchSets+ Amazonka.WAF.ListGeoMatchSets+ Amazonka.WAF.ListIPSets+ Amazonka.WAF.ListLoggingConfigurations+ Amazonka.WAF.ListRateBasedRules+ Amazonka.WAF.ListRegexMatchSets+ Amazonka.WAF.ListRegexPatternSets+ Amazonka.WAF.ListRuleGroups+ Amazonka.WAF.ListRules+ Amazonka.WAF.ListSizeConstraintSets+ Amazonka.WAF.ListSqlInjectionMatchSets+ Amazonka.WAF.ListSubscribedRuleGroups+ Amazonka.WAF.ListTagsForResource+ Amazonka.WAF.ListWebACLs+ Amazonka.WAF.ListXssMatchSets+ Amazonka.WAF.PutLoggingConfiguration+ Amazonka.WAF.PutPermissionPolicy+ Amazonka.WAF.TagResource+ Amazonka.WAF.Types+ Amazonka.WAF.Types.ActivatedRule+ Amazonka.WAF.Types.ByteMatchSet+ Amazonka.WAF.Types.ByteMatchSetSummary+ Amazonka.WAF.Types.ByteMatchSetUpdate+ Amazonka.WAF.Types.ByteMatchTuple+ Amazonka.WAF.Types.ChangeAction+ Amazonka.WAF.Types.ChangeTokenStatus+ Amazonka.WAF.Types.ComparisonOperator+ Amazonka.WAF.Types.ExcludedRule+ Amazonka.WAF.Types.FieldToMatch+ Amazonka.WAF.Types.GeoMatchConstraint+ Amazonka.WAF.Types.GeoMatchConstraintType+ Amazonka.WAF.Types.GeoMatchConstraintValue+ Amazonka.WAF.Types.GeoMatchSet+ Amazonka.WAF.Types.GeoMatchSetSummary+ Amazonka.WAF.Types.GeoMatchSetUpdate+ Amazonka.WAF.Types.HTTPHeader+ Amazonka.WAF.Types.HTTPRequest+ Amazonka.WAF.Types.IPSet+ Amazonka.WAF.Types.IPSetDescriptor+ Amazonka.WAF.Types.IPSetDescriptorType+ Amazonka.WAF.Types.IPSetSummary+ Amazonka.WAF.Types.IPSetUpdate+ Amazonka.WAF.Types.LoggingConfiguration+ Amazonka.WAF.Types.MatchFieldType+ Amazonka.WAF.Types.PositionalConstraint+ Amazonka.WAF.Types.Predicate+ Amazonka.WAF.Types.PredicateType+ Amazonka.WAF.Types.RateBasedRule+ Amazonka.WAF.Types.RateKey+ Amazonka.WAF.Types.RegexMatchSet+ Amazonka.WAF.Types.RegexMatchSetSummary+ Amazonka.WAF.Types.RegexMatchSetUpdate+ Amazonka.WAF.Types.RegexMatchTuple+ Amazonka.WAF.Types.RegexPatternSet+ Amazonka.WAF.Types.RegexPatternSetSummary+ Amazonka.WAF.Types.RegexPatternSetUpdate+ Amazonka.WAF.Types.Rule+ Amazonka.WAF.Types.RuleGroup+ Amazonka.WAF.Types.RuleGroupSummary+ Amazonka.WAF.Types.RuleGroupUpdate+ Amazonka.WAF.Types.RuleSummary+ Amazonka.WAF.Types.RuleUpdate+ Amazonka.WAF.Types.SampledHTTPRequest+ Amazonka.WAF.Types.SizeConstraint+ Amazonka.WAF.Types.SizeConstraintSet+ Amazonka.WAF.Types.SizeConstraintSetSummary+ Amazonka.WAF.Types.SizeConstraintSetUpdate+ Amazonka.WAF.Types.SqlInjectionMatchSet+ Amazonka.WAF.Types.SqlInjectionMatchSetSummary+ Amazonka.WAF.Types.SqlInjectionMatchSetUpdate+ Amazonka.WAF.Types.SqlInjectionMatchTuple+ Amazonka.WAF.Types.SubscribedRuleGroupSummary+ Amazonka.WAF.Types.Tag+ Amazonka.WAF.Types.TagInfoForResource+ Amazonka.WAF.Types.TextTransformation+ Amazonka.WAF.Types.TimeWindow+ Amazonka.WAF.Types.WafAction+ Amazonka.WAF.Types.WafActionType+ Amazonka.WAF.Types.WafOverrideAction+ Amazonka.WAF.Types.WafOverrideActionType+ Amazonka.WAF.Types.WafRuleType+ Amazonka.WAF.Types.WebACL+ Amazonka.WAF.Types.WebACLSummary+ Amazonka.WAF.Types.WebACLUpdate+ Amazonka.WAF.Types.XssMatchSet+ Amazonka.WAF.Types.XssMatchSetSummary+ Amazonka.WAF.Types.XssMatchSetUpdate+ Amazonka.WAF.Types.XssMatchTuple+ Amazonka.WAF.UntagResource+ Amazonka.WAF.UpdateByteMatchSet+ Amazonka.WAF.UpdateGeoMatchSet+ Amazonka.WAF.UpdateIPSet+ Amazonka.WAF.UpdateRateBasedRule+ Amazonka.WAF.UpdateRegexMatchSet+ Amazonka.WAF.UpdateRegexPatternSet+ Amazonka.WAF.UpdateRule+ Amazonka.WAF.UpdateRuleGroup+ Amazonka.WAF.UpdateSizeConstraintSet+ Amazonka.WAF.UpdateSqlInjectionMatchSet+ Amazonka.WAF.UpdateWebACL+ Amazonka.WAF.UpdateXssMatchSet+ Amazonka.WAF.Waiters - build-depends:- amazonka-core == 1.6.1.*- , base >= 4.7 && < 5+ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5 test-suite amazonka-waf-test- type: exitcode-stdio-1.0- default-language: Haskell2010- hs-source-dirs: test- main-is: Main.hs-- ghc-options: -Wall -threaded+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded - -- This section is encoded by the template and any modules added by- -- hand outside these namespaces will not correctly be added to the- -- distribution package.- other-modules:- Test.AWS.WAF- , Test.AWS.Gen.WAF- , Test.AWS.WAF.Internal+ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.WAF+ Test.Amazonka.WAF+ Test.Amazonka.WAF.Internal - build-depends:- amazonka-core == 1.6.1.*- , amazonka-test == 1.6.1.*- , amazonka-waf- , base- , bytestring- , tasty- , tasty-hunit- , text- , time- , unordered-containers+ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-test >=2.0 && <2.1+ , amazonka-waf+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
fixture/CreateByteMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/CreateIPSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/CreateRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/CreateSizeConstraintSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/CreateSqlInjectionMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/CreateWebACL.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateWebACLMigrationStack.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateWebACLMigrationStackResponse.proto view
− fixture/CreateXSSMatchSet.yaml
− fixture/CreateXSSMatchSetResponse.proto
+ fixture/CreateXssMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateXssMatchSetResponse.proto view
fixture/DeleteByteMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/DeleteIPSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteLoggingConfigurationResponse.proto view
fixture/DeleteRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/DeleteSizeConstraintSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/DeleteSqlInjectionMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/DeleteWebACL.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
− fixture/DeleteXSSMatchSet.yaml
− fixture/DeleteXSSMatchSetResponse.proto
+ fixture/DeleteXssMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteXssMatchSetResponse.proto view
fixture/GetByteMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/GetChangeToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/GetChangeTokenStatus.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/GetIPSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetLoggingConfigurationResponse.proto view
fixture/GetRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/GetSampledRequests.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/GetSizeConstraintSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/GetSqlInjectionMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/GetWebACL.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
− fixture/GetXSSMatchSet.yaml
− fixture/GetXSSMatchSetResponse.proto
+ fixture/GetXssMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetXssMatchSetResponse.proto view
fixture/ListByteMatchSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/ListIPSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListLoggingConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListLoggingConfigurationsResponse.proto view
fixture/ListRules.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/ListSizeConstraintSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/ListSqlInjectionMatchSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResourceResponse.proto view
fixture/ListWebACLs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
− fixture/ListXSSMatchSets.yaml
− fixture/ListXSSMatchSetsResponse.proto
+ fixture/ListXssMatchSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListXssMatchSetsResponse.proto view
+ fixture/PutLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/PutLoggingConfigurationResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
fixture/UpdateByteMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/UpdateIPSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/UpdateRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/UpdateSizeConstraintSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/UpdateSqlInjectionMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
fixture/UpdateWebACL.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
− fixture/UpdateXSSMatchSet.yaml
− fixture/UpdateXSSMatchSetResponse.proto
+ fixture/UpdateXssMatchSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/waf/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: waf.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateXssMatchSetResponse.proto view
+ gen/Amazonka/WAF.hs view
@@ -0,0 +1,937 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.WAF+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2015-08-24@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- This is the /AWS WAF Classic API Reference/ for using AWS WAF Classic+-- with Amazon CloudFront. The AWS WAF Classic actions and data types+-- listed in the reference are available for protecting Amazon CloudFront+-- distributions. You can use these actions and data types via the endpoint+-- /waf.amazonaws.com/. This guide is for developers who need detailed+-- information about the AWS WAF Classic API actions, data types, and+-- errors. For detailed information about AWS WAF Classic features and an+-- overview of how to use the AWS WAF Classic API, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+module Amazonka.WAF+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** WAFBadRequestException+ _WAFBadRequestException,++ -- ** WAFDisallowedNameException+ _WAFDisallowedNameException,++ -- ** WAFEntityMigrationException+ _WAFEntityMigrationException,++ -- ** WAFInternalErrorException+ _WAFInternalErrorException,++ -- ** WAFInvalidAccountException+ _WAFInvalidAccountException,++ -- ** WAFInvalidOperationException+ _WAFInvalidOperationException,++ -- ** WAFInvalidParameterException+ _WAFInvalidParameterException,++ -- ** WAFInvalidPermissionPolicyException+ _WAFInvalidPermissionPolicyException,++ -- ** WAFInvalidRegexPatternException+ _WAFInvalidRegexPatternException,++ -- ** WAFLimitsExceededException+ _WAFLimitsExceededException,++ -- ** WAFNonEmptyEntityException+ _WAFNonEmptyEntityException,++ -- ** WAFNonexistentContainerException+ _WAFNonexistentContainerException,++ -- ** WAFNonexistentItemException+ _WAFNonexistentItemException,++ -- ** WAFReferencedItemException+ _WAFReferencedItemException,++ -- ** WAFServiceLinkedRoleErrorException+ _WAFServiceLinkedRoleErrorException,++ -- ** WAFStaleDataException+ _WAFStaleDataException,++ -- ** WAFSubscriptionNotFoundException+ _WAFSubscriptionNotFoundException,++ -- ** WAFTagOperationException+ _WAFTagOperationException,++ -- ** WAFTagOperationInternalErrorException+ _WAFTagOperationInternalErrorException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateByteMatchSet+ CreateByteMatchSet (CreateByteMatchSet'),+ newCreateByteMatchSet,+ CreateByteMatchSetResponse (CreateByteMatchSetResponse'),+ newCreateByteMatchSetResponse,++ -- ** CreateGeoMatchSet+ CreateGeoMatchSet (CreateGeoMatchSet'),+ newCreateGeoMatchSet,+ CreateGeoMatchSetResponse (CreateGeoMatchSetResponse'),+ newCreateGeoMatchSetResponse,++ -- ** CreateIPSet+ CreateIPSet (CreateIPSet'),+ newCreateIPSet,+ CreateIPSetResponse (CreateIPSetResponse'),+ newCreateIPSetResponse,++ -- ** CreateRateBasedRule+ CreateRateBasedRule (CreateRateBasedRule'),+ newCreateRateBasedRule,+ CreateRateBasedRuleResponse (CreateRateBasedRuleResponse'),+ newCreateRateBasedRuleResponse,++ -- ** CreateRegexMatchSet+ CreateRegexMatchSet (CreateRegexMatchSet'),+ newCreateRegexMatchSet,+ CreateRegexMatchSetResponse (CreateRegexMatchSetResponse'),+ newCreateRegexMatchSetResponse,++ -- ** CreateRegexPatternSet+ CreateRegexPatternSet (CreateRegexPatternSet'),+ newCreateRegexPatternSet,+ CreateRegexPatternSetResponse (CreateRegexPatternSetResponse'),+ newCreateRegexPatternSetResponse,++ -- ** CreateRule+ CreateRule (CreateRule'),+ newCreateRule,+ CreateRuleResponse (CreateRuleResponse'),+ newCreateRuleResponse,++ -- ** CreateRuleGroup+ CreateRuleGroup (CreateRuleGroup'),+ newCreateRuleGroup,+ CreateRuleGroupResponse (CreateRuleGroupResponse'),+ newCreateRuleGroupResponse,++ -- ** CreateSizeConstraintSet+ CreateSizeConstraintSet (CreateSizeConstraintSet'),+ newCreateSizeConstraintSet,+ CreateSizeConstraintSetResponse (CreateSizeConstraintSetResponse'),+ newCreateSizeConstraintSetResponse,++ -- ** CreateSqlInjectionMatchSet+ CreateSqlInjectionMatchSet (CreateSqlInjectionMatchSet'),+ newCreateSqlInjectionMatchSet,+ CreateSqlInjectionMatchSetResponse (CreateSqlInjectionMatchSetResponse'),+ newCreateSqlInjectionMatchSetResponse,++ -- ** CreateWebACL+ CreateWebACL (CreateWebACL'),+ newCreateWebACL,+ CreateWebACLResponse (CreateWebACLResponse'),+ newCreateWebACLResponse,++ -- ** CreateWebACLMigrationStack+ CreateWebACLMigrationStack (CreateWebACLMigrationStack'),+ newCreateWebACLMigrationStack,+ CreateWebACLMigrationStackResponse (CreateWebACLMigrationStackResponse'),+ newCreateWebACLMigrationStackResponse,++ -- ** CreateXssMatchSet+ CreateXssMatchSet (CreateXssMatchSet'),+ newCreateXssMatchSet,+ CreateXssMatchSetResponse (CreateXssMatchSetResponse'),+ newCreateXssMatchSetResponse,++ -- ** DeleteByteMatchSet+ DeleteByteMatchSet (DeleteByteMatchSet'),+ newDeleteByteMatchSet,+ DeleteByteMatchSetResponse (DeleteByteMatchSetResponse'),+ newDeleteByteMatchSetResponse,++ -- ** DeleteGeoMatchSet+ DeleteGeoMatchSet (DeleteGeoMatchSet'),+ newDeleteGeoMatchSet,+ DeleteGeoMatchSetResponse (DeleteGeoMatchSetResponse'),+ newDeleteGeoMatchSetResponse,++ -- ** DeleteIPSet+ DeleteIPSet (DeleteIPSet'),+ newDeleteIPSet,+ DeleteIPSetResponse (DeleteIPSetResponse'),+ newDeleteIPSetResponse,++ -- ** DeleteLoggingConfiguration+ DeleteLoggingConfiguration (DeleteLoggingConfiguration'),+ newDeleteLoggingConfiguration,+ DeleteLoggingConfigurationResponse (DeleteLoggingConfigurationResponse'),+ newDeleteLoggingConfigurationResponse,++ -- ** DeletePermissionPolicy+ DeletePermissionPolicy (DeletePermissionPolicy'),+ newDeletePermissionPolicy,+ DeletePermissionPolicyResponse (DeletePermissionPolicyResponse'),+ newDeletePermissionPolicyResponse,++ -- ** DeleteRateBasedRule+ DeleteRateBasedRule (DeleteRateBasedRule'),+ newDeleteRateBasedRule,+ DeleteRateBasedRuleResponse (DeleteRateBasedRuleResponse'),+ newDeleteRateBasedRuleResponse,++ -- ** DeleteRegexMatchSet+ DeleteRegexMatchSet (DeleteRegexMatchSet'),+ newDeleteRegexMatchSet,+ DeleteRegexMatchSetResponse (DeleteRegexMatchSetResponse'),+ newDeleteRegexMatchSetResponse,++ -- ** DeleteRegexPatternSet+ DeleteRegexPatternSet (DeleteRegexPatternSet'),+ newDeleteRegexPatternSet,+ DeleteRegexPatternSetResponse (DeleteRegexPatternSetResponse'),+ newDeleteRegexPatternSetResponse,++ -- ** DeleteRule+ DeleteRule (DeleteRule'),+ newDeleteRule,+ DeleteRuleResponse (DeleteRuleResponse'),+ newDeleteRuleResponse,++ -- ** DeleteRuleGroup+ DeleteRuleGroup (DeleteRuleGroup'),+ newDeleteRuleGroup,+ DeleteRuleGroupResponse (DeleteRuleGroupResponse'),+ newDeleteRuleGroupResponse,++ -- ** DeleteSizeConstraintSet+ DeleteSizeConstraintSet (DeleteSizeConstraintSet'),+ newDeleteSizeConstraintSet,+ DeleteSizeConstraintSetResponse (DeleteSizeConstraintSetResponse'),+ newDeleteSizeConstraintSetResponse,++ -- ** DeleteSqlInjectionMatchSet+ DeleteSqlInjectionMatchSet (DeleteSqlInjectionMatchSet'),+ newDeleteSqlInjectionMatchSet,+ DeleteSqlInjectionMatchSetResponse (DeleteSqlInjectionMatchSetResponse'),+ newDeleteSqlInjectionMatchSetResponse,++ -- ** DeleteWebACL+ DeleteWebACL (DeleteWebACL'),+ newDeleteWebACL,+ DeleteWebACLResponse (DeleteWebACLResponse'),+ newDeleteWebACLResponse,++ -- ** DeleteXssMatchSet+ DeleteXssMatchSet (DeleteXssMatchSet'),+ newDeleteXssMatchSet,+ DeleteXssMatchSetResponse (DeleteXssMatchSetResponse'),+ newDeleteXssMatchSetResponse,++ -- ** GetByteMatchSet+ GetByteMatchSet (GetByteMatchSet'),+ newGetByteMatchSet,+ GetByteMatchSetResponse (GetByteMatchSetResponse'),+ newGetByteMatchSetResponse,++ -- ** GetChangeToken+ GetChangeToken (GetChangeToken'),+ newGetChangeToken,+ GetChangeTokenResponse (GetChangeTokenResponse'),+ newGetChangeTokenResponse,++ -- ** GetChangeTokenStatus+ GetChangeTokenStatus (GetChangeTokenStatus'),+ newGetChangeTokenStatus,+ GetChangeTokenStatusResponse (GetChangeTokenStatusResponse'),+ newGetChangeTokenStatusResponse,++ -- ** GetGeoMatchSet+ GetGeoMatchSet (GetGeoMatchSet'),+ newGetGeoMatchSet,+ GetGeoMatchSetResponse (GetGeoMatchSetResponse'),+ newGetGeoMatchSetResponse,++ -- ** GetIPSet+ GetIPSet (GetIPSet'),+ newGetIPSet,+ GetIPSetResponse (GetIPSetResponse'),+ newGetIPSetResponse,++ -- ** GetLoggingConfiguration+ GetLoggingConfiguration (GetLoggingConfiguration'),+ newGetLoggingConfiguration,+ GetLoggingConfigurationResponse (GetLoggingConfigurationResponse'),+ newGetLoggingConfigurationResponse,++ -- ** GetPermissionPolicy+ GetPermissionPolicy (GetPermissionPolicy'),+ newGetPermissionPolicy,+ GetPermissionPolicyResponse (GetPermissionPolicyResponse'),+ newGetPermissionPolicyResponse,++ -- ** GetRateBasedRule+ GetRateBasedRule (GetRateBasedRule'),+ newGetRateBasedRule,+ GetRateBasedRuleResponse (GetRateBasedRuleResponse'),+ newGetRateBasedRuleResponse,++ -- ** GetRateBasedRuleManagedKeys (Paginated)+ GetRateBasedRuleManagedKeys (GetRateBasedRuleManagedKeys'),+ newGetRateBasedRuleManagedKeys,+ GetRateBasedRuleManagedKeysResponse (GetRateBasedRuleManagedKeysResponse'),+ newGetRateBasedRuleManagedKeysResponse,++ -- ** GetRegexMatchSet+ GetRegexMatchSet (GetRegexMatchSet'),+ newGetRegexMatchSet,+ GetRegexMatchSetResponse (GetRegexMatchSetResponse'),+ newGetRegexMatchSetResponse,++ -- ** GetRegexPatternSet+ GetRegexPatternSet (GetRegexPatternSet'),+ newGetRegexPatternSet,+ GetRegexPatternSetResponse (GetRegexPatternSetResponse'),+ newGetRegexPatternSetResponse,++ -- ** GetRule+ GetRule (GetRule'),+ newGetRule,+ GetRuleResponse (GetRuleResponse'),+ newGetRuleResponse,++ -- ** GetRuleGroup+ GetRuleGroup (GetRuleGroup'),+ newGetRuleGroup,+ GetRuleGroupResponse (GetRuleGroupResponse'),+ newGetRuleGroupResponse,++ -- ** GetSampledRequests+ GetSampledRequests (GetSampledRequests'),+ newGetSampledRequests,+ GetSampledRequestsResponse (GetSampledRequestsResponse'),+ newGetSampledRequestsResponse,++ -- ** GetSizeConstraintSet+ GetSizeConstraintSet (GetSizeConstraintSet'),+ newGetSizeConstraintSet,+ GetSizeConstraintSetResponse (GetSizeConstraintSetResponse'),+ newGetSizeConstraintSetResponse,++ -- ** GetSqlInjectionMatchSet+ GetSqlInjectionMatchSet (GetSqlInjectionMatchSet'),+ newGetSqlInjectionMatchSet,+ GetSqlInjectionMatchSetResponse (GetSqlInjectionMatchSetResponse'),+ newGetSqlInjectionMatchSetResponse,++ -- ** GetWebACL+ GetWebACL (GetWebACL'),+ newGetWebACL,+ GetWebACLResponse (GetWebACLResponse'),+ newGetWebACLResponse,++ -- ** GetXssMatchSet+ GetXssMatchSet (GetXssMatchSet'),+ newGetXssMatchSet,+ GetXssMatchSetResponse (GetXssMatchSetResponse'),+ newGetXssMatchSetResponse,++ -- ** ListActivatedRulesInRuleGroup (Paginated)+ ListActivatedRulesInRuleGroup (ListActivatedRulesInRuleGroup'),+ newListActivatedRulesInRuleGroup,+ ListActivatedRulesInRuleGroupResponse (ListActivatedRulesInRuleGroupResponse'),+ newListActivatedRulesInRuleGroupResponse,++ -- ** ListByteMatchSets (Paginated)+ ListByteMatchSets (ListByteMatchSets'),+ newListByteMatchSets,+ ListByteMatchSetsResponse (ListByteMatchSetsResponse'),+ newListByteMatchSetsResponse,++ -- ** ListGeoMatchSets (Paginated)+ ListGeoMatchSets (ListGeoMatchSets'),+ newListGeoMatchSets,+ ListGeoMatchSetsResponse (ListGeoMatchSetsResponse'),+ newListGeoMatchSetsResponse,++ -- ** ListIPSets (Paginated)+ ListIPSets (ListIPSets'),+ newListIPSets,+ ListIPSetsResponse (ListIPSetsResponse'),+ newListIPSetsResponse,++ -- ** ListLoggingConfigurations (Paginated)+ ListLoggingConfigurations (ListLoggingConfigurations'),+ newListLoggingConfigurations,+ ListLoggingConfigurationsResponse (ListLoggingConfigurationsResponse'),+ newListLoggingConfigurationsResponse,++ -- ** ListRateBasedRules (Paginated)+ ListRateBasedRules (ListRateBasedRules'),+ newListRateBasedRules,+ ListRateBasedRulesResponse (ListRateBasedRulesResponse'),+ newListRateBasedRulesResponse,++ -- ** ListRegexMatchSets (Paginated)+ ListRegexMatchSets (ListRegexMatchSets'),+ newListRegexMatchSets,+ ListRegexMatchSetsResponse (ListRegexMatchSetsResponse'),+ newListRegexMatchSetsResponse,++ -- ** ListRegexPatternSets (Paginated)+ ListRegexPatternSets (ListRegexPatternSets'),+ newListRegexPatternSets,+ ListRegexPatternSetsResponse (ListRegexPatternSetsResponse'),+ newListRegexPatternSetsResponse,++ -- ** ListRuleGroups (Paginated)+ ListRuleGroups (ListRuleGroups'),+ newListRuleGroups,+ ListRuleGroupsResponse (ListRuleGroupsResponse'),+ newListRuleGroupsResponse,++ -- ** ListRules (Paginated)+ ListRules (ListRules'),+ newListRules,+ ListRulesResponse (ListRulesResponse'),+ newListRulesResponse,++ -- ** ListSizeConstraintSets (Paginated)+ ListSizeConstraintSets (ListSizeConstraintSets'),+ newListSizeConstraintSets,+ ListSizeConstraintSetsResponse (ListSizeConstraintSetsResponse'),+ newListSizeConstraintSetsResponse,++ -- ** ListSqlInjectionMatchSets (Paginated)+ ListSqlInjectionMatchSets (ListSqlInjectionMatchSets'),+ newListSqlInjectionMatchSets,+ ListSqlInjectionMatchSetsResponse (ListSqlInjectionMatchSetsResponse'),+ newListSqlInjectionMatchSetsResponse,++ -- ** ListSubscribedRuleGroups (Paginated)+ ListSubscribedRuleGroups (ListSubscribedRuleGroups'),+ newListSubscribedRuleGroups,+ ListSubscribedRuleGroupsResponse (ListSubscribedRuleGroupsResponse'),+ newListSubscribedRuleGroupsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** ListWebACLs (Paginated)+ ListWebACLs (ListWebACLs'),+ newListWebACLs,+ ListWebACLsResponse (ListWebACLsResponse'),+ newListWebACLsResponse,++ -- ** ListXssMatchSets (Paginated)+ ListXssMatchSets (ListXssMatchSets'),+ newListXssMatchSets,+ ListXssMatchSetsResponse (ListXssMatchSetsResponse'),+ newListXssMatchSetsResponse,++ -- ** PutLoggingConfiguration+ PutLoggingConfiguration (PutLoggingConfiguration'),+ newPutLoggingConfiguration,+ PutLoggingConfigurationResponse (PutLoggingConfigurationResponse'),+ newPutLoggingConfigurationResponse,++ -- ** PutPermissionPolicy+ PutPermissionPolicy (PutPermissionPolicy'),+ newPutPermissionPolicy,+ PutPermissionPolicyResponse (PutPermissionPolicyResponse'),+ newPutPermissionPolicyResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateByteMatchSet+ UpdateByteMatchSet (UpdateByteMatchSet'),+ newUpdateByteMatchSet,+ UpdateByteMatchSetResponse (UpdateByteMatchSetResponse'),+ newUpdateByteMatchSetResponse,++ -- ** UpdateGeoMatchSet+ UpdateGeoMatchSet (UpdateGeoMatchSet'),+ newUpdateGeoMatchSet,+ UpdateGeoMatchSetResponse (UpdateGeoMatchSetResponse'),+ newUpdateGeoMatchSetResponse,++ -- ** UpdateIPSet+ UpdateIPSet (UpdateIPSet'),+ newUpdateIPSet,+ UpdateIPSetResponse (UpdateIPSetResponse'),+ newUpdateIPSetResponse,++ -- ** UpdateRateBasedRule+ UpdateRateBasedRule (UpdateRateBasedRule'),+ newUpdateRateBasedRule,+ UpdateRateBasedRuleResponse (UpdateRateBasedRuleResponse'),+ newUpdateRateBasedRuleResponse,++ -- ** UpdateRegexMatchSet+ UpdateRegexMatchSet (UpdateRegexMatchSet'),+ newUpdateRegexMatchSet,+ UpdateRegexMatchSetResponse (UpdateRegexMatchSetResponse'),+ newUpdateRegexMatchSetResponse,++ -- ** UpdateRegexPatternSet+ UpdateRegexPatternSet (UpdateRegexPatternSet'),+ newUpdateRegexPatternSet,+ UpdateRegexPatternSetResponse (UpdateRegexPatternSetResponse'),+ newUpdateRegexPatternSetResponse,++ -- ** UpdateRule+ UpdateRule (UpdateRule'),+ newUpdateRule,+ UpdateRuleResponse (UpdateRuleResponse'),+ newUpdateRuleResponse,++ -- ** UpdateRuleGroup+ UpdateRuleGroup (UpdateRuleGroup'),+ newUpdateRuleGroup,+ UpdateRuleGroupResponse (UpdateRuleGroupResponse'),+ newUpdateRuleGroupResponse,++ -- ** UpdateSizeConstraintSet+ UpdateSizeConstraintSet (UpdateSizeConstraintSet'),+ newUpdateSizeConstraintSet,+ UpdateSizeConstraintSetResponse (UpdateSizeConstraintSetResponse'),+ newUpdateSizeConstraintSetResponse,++ -- ** UpdateSqlInjectionMatchSet+ UpdateSqlInjectionMatchSet (UpdateSqlInjectionMatchSet'),+ newUpdateSqlInjectionMatchSet,+ UpdateSqlInjectionMatchSetResponse (UpdateSqlInjectionMatchSetResponse'),+ newUpdateSqlInjectionMatchSetResponse,++ -- ** UpdateWebACL+ UpdateWebACL (UpdateWebACL'),+ newUpdateWebACL,+ UpdateWebACLResponse (UpdateWebACLResponse'),+ newUpdateWebACLResponse,++ -- ** UpdateXssMatchSet+ UpdateXssMatchSet (UpdateXssMatchSet'),+ newUpdateXssMatchSet,+ UpdateXssMatchSetResponse (UpdateXssMatchSetResponse'),+ newUpdateXssMatchSetResponse,++ -- * Types++ -- ** ChangeAction+ ChangeAction (..),++ -- ** ChangeTokenStatus+ ChangeTokenStatus (..),++ -- ** ComparisonOperator+ ComparisonOperator (..),++ -- ** GeoMatchConstraintType+ GeoMatchConstraintType (..),++ -- ** GeoMatchConstraintValue+ GeoMatchConstraintValue (..),++ -- ** IPSetDescriptorType+ IPSetDescriptorType (..),++ -- ** MatchFieldType+ MatchFieldType (..),++ -- ** PositionalConstraint+ PositionalConstraint (..),++ -- ** PredicateType+ PredicateType (..),++ -- ** RateKey+ RateKey (..),++ -- ** TextTransformation+ TextTransformation (..),++ -- ** WafActionType+ WafActionType (..),++ -- ** WafOverrideActionType+ WafOverrideActionType (..),++ -- ** WafRuleType+ WafRuleType (..),++ -- ** ActivatedRule+ ActivatedRule (ActivatedRule'),+ newActivatedRule,++ -- ** ByteMatchSet+ ByteMatchSet (ByteMatchSet'),+ newByteMatchSet,++ -- ** ByteMatchSetSummary+ ByteMatchSetSummary (ByteMatchSetSummary'),+ newByteMatchSetSummary,++ -- ** ByteMatchSetUpdate+ ByteMatchSetUpdate (ByteMatchSetUpdate'),+ newByteMatchSetUpdate,++ -- ** ByteMatchTuple+ ByteMatchTuple (ByteMatchTuple'),+ newByteMatchTuple,++ -- ** ExcludedRule+ ExcludedRule (ExcludedRule'),+ newExcludedRule,++ -- ** FieldToMatch+ FieldToMatch (FieldToMatch'),+ newFieldToMatch,++ -- ** GeoMatchConstraint+ GeoMatchConstraint (GeoMatchConstraint'),+ newGeoMatchConstraint,++ -- ** GeoMatchSet+ GeoMatchSet (GeoMatchSet'),+ newGeoMatchSet,++ -- ** GeoMatchSetSummary+ GeoMatchSetSummary (GeoMatchSetSummary'),+ newGeoMatchSetSummary,++ -- ** GeoMatchSetUpdate+ GeoMatchSetUpdate (GeoMatchSetUpdate'),+ newGeoMatchSetUpdate,++ -- ** HTTPHeader+ HTTPHeader (HTTPHeader'),+ newHTTPHeader,++ -- ** HTTPRequest+ HTTPRequest (HTTPRequest'),+ newHTTPRequest,++ -- ** IPSet+ IPSet (IPSet'),+ newIPSet,++ -- ** IPSetDescriptor+ IPSetDescriptor (IPSetDescriptor'),+ newIPSetDescriptor,++ -- ** IPSetSummary+ IPSetSummary (IPSetSummary'),+ newIPSetSummary,++ -- ** IPSetUpdate+ IPSetUpdate (IPSetUpdate'),+ newIPSetUpdate,++ -- ** LoggingConfiguration+ LoggingConfiguration (LoggingConfiguration'),+ newLoggingConfiguration,++ -- ** Predicate+ Predicate (Predicate'),+ newPredicate,++ -- ** RateBasedRule+ RateBasedRule (RateBasedRule'),+ newRateBasedRule,++ -- ** RegexMatchSet+ RegexMatchSet (RegexMatchSet'),+ newRegexMatchSet,++ -- ** RegexMatchSetSummary+ RegexMatchSetSummary (RegexMatchSetSummary'),+ newRegexMatchSetSummary,++ -- ** RegexMatchSetUpdate+ RegexMatchSetUpdate (RegexMatchSetUpdate'),+ newRegexMatchSetUpdate,++ -- ** RegexMatchTuple+ RegexMatchTuple (RegexMatchTuple'),+ newRegexMatchTuple,++ -- ** RegexPatternSet+ RegexPatternSet (RegexPatternSet'),+ newRegexPatternSet,++ -- ** RegexPatternSetSummary+ RegexPatternSetSummary (RegexPatternSetSummary'),+ newRegexPatternSetSummary,++ -- ** RegexPatternSetUpdate+ RegexPatternSetUpdate (RegexPatternSetUpdate'),+ newRegexPatternSetUpdate,++ -- ** Rule+ Rule (Rule'),+ newRule,++ -- ** RuleGroup+ RuleGroup (RuleGroup'),+ newRuleGroup,++ -- ** RuleGroupSummary+ RuleGroupSummary (RuleGroupSummary'),+ newRuleGroupSummary,++ -- ** RuleGroupUpdate+ RuleGroupUpdate (RuleGroupUpdate'),+ newRuleGroupUpdate,++ -- ** RuleSummary+ RuleSummary (RuleSummary'),+ newRuleSummary,++ -- ** RuleUpdate+ RuleUpdate (RuleUpdate'),+ newRuleUpdate,++ -- ** SampledHTTPRequest+ SampledHTTPRequest (SampledHTTPRequest'),+ newSampledHTTPRequest,++ -- ** SizeConstraint+ SizeConstraint (SizeConstraint'),+ newSizeConstraint,++ -- ** SizeConstraintSet+ SizeConstraintSet (SizeConstraintSet'),+ newSizeConstraintSet,++ -- ** SizeConstraintSetSummary+ SizeConstraintSetSummary (SizeConstraintSetSummary'),+ newSizeConstraintSetSummary,++ -- ** SizeConstraintSetUpdate+ SizeConstraintSetUpdate (SizeConstraintSetUpdate'),+ newSizeConstraintSetUpdate,++ -- ** SqlInjectionMatchSet+ SqlInjectionMatchSet (SqlInjectionMatchSet'),+ newSqlInjectionMatchSet,++ -- ** SqlInjectionMatchSetSummary+ SqlInjectionMatchSetSummary (SqlInjectionMatchSetSummary'),+ newSqlInjectionMatchSetSummary,++ -- ** SqlInjectionMatchSetUpdate+ SqlInjectionMatchSetUpdate (SqlInjectionMatchSetUpdate'),+ newSqlInjectionMatchSetUpdate,++ -- ** SqlInjectionMatchTuple+ SqlInjectionMatchTuple (SqlInjectionMatchTuple'),+ newSqlInjectionMatchTuple,++ -- ** SubscribedRuleGroupSummary+ SubscribedRuleGroupSummary (SubscribedRuleGroupSummary'),+ newSubscribedRuleGroupSummary,++ -- ** Tag+ Tag (Tag'),+ newTag,++ -- ** TagInfoForResource+ TagInfoForResource (TagInfoForResource'),+ newTagInfoForResource,++ -- ** TimeWindow+ TimeWindow (TimeWindow'),+ newTimeWindow,++ -- ** WafAction+ WafAction (WafAction'),+ newWafAction,++ -- ** WafOverrideAction+ WafOverrideAction (WafOverrideAction'),+ newWafOverrideAction,++ -- ** WebACL+ WebACL (WebACL'),+ newWebACL,++ -- ** WebACLSummary+ WebACLSummary (WebACLSummary'),+ newWebACLSummary,++ -- ** WebACLUpdate+ WebACLUpdate (WebACLUpdate'),+ newWebACLUpdate,++ -- ** XssMatchSet+ XssMatchSet (XssMatchSet'),+ newXssMatchSet,++ -- ** XssMatchSetSummary+ XssMatchSetSummary (XssMatchSetSummary'),+ newXssMatchSetSummary,++ -- ** XssMatchSetUpdate+ XssMatchSetUpdate (XssMatchSetUpdate'),+ newXssMatchSetUpdate,++ -- ** XssMatchTuple+ XssMatchTuple (XssMatchTuple'),+ newXssMatchTuple,+ )+where++import Amazonka.WAF.CreateByteMatchSet+import Amazonka.WAF.CreateGeoMatchSet+import Amazonka.WAF.CreateIPSet+import Amazonka.WAF.CreateRateBasedRule+import Amazonka.WAF.CreateRegexMatchSet+import Amazonka.WAF.CreateRegexPatternSet+import Amazonka.WAF.CreateRule+import Amazonka.WAF.CreateRuleGroup+import Amazonka.WAF.CreateSizeConstraintSet+import Amazonka.WAF.CreateSqlInjectionMatchSet+import Amazonka.WAF.CreateWebACL+import Amazonka.WAF.CreateWebACLMigrationStack+import Amazonka.WAF.CreateXssMatchSet+import Amazonka.WAF.DeleteByteMatchSet+import Amazonka.WAF.DeleteGeoMatchSet+import Amazonka.WAF.DeleteIPSet+import Amazonka.WAF.DeleteLoggingConfiguration+import Amazonka.WAF.DeletePermissionPolicy+import Amazonka.WAF.DeleteRateBasedRule+import Amazonka.WAF.DeleteRegexMatchSet+import Amazonka.WAF.DeleteRegexPatternSet+import Amazonka.WAF.DeleteRule+import Amazonka.WAF.DeleteRuleGroup+import Amazonka.WAF.DeleteSizeConstraintSet+import Amazonka.WAF.DeleteSqlInjectionMatchSet+import Amazonka.WAF.DeleteWebACL+import Amazonka.WAF.DeleteXssMatchSet+import Amazonka.WAF.GetByteMatchSet+import Amazonka.WAF.GetChangeToken+import Amazonka.WAF.GetChangeTokenStatus+import Amazonka.WAF.GetGeoMatchSet+import Amazonka.WAF.GetIPSet+import Amazonka.WAF.GetLoggingConfiguration+import Amazonka.WAF.GetPermissionPolicy+import Amazonka.WAF.GetRateBasedRule+import Amazonka.WAF.GetRateBasedRuleManagedKeys+import Amazonka.WAF.GetRegexMatchSet+import Amazonka.WAF.GetRegexPatternSet+import Amazonka.WAF.GetRule+import Amazonka.WAF.GetRuleGroup+import Amazonka.WAF.GetSampledRequests+import Amazonka.WAF.GetSizeConstraintSet+import Amazonka.WAF.GetSqlInjectionMatchSet+import Amazonka.WAF.GetWebACL+import Amazonka.WAF.GetXssMatchSet+import Amazonka.WAF.Lens+import Amazonka.WAF.ListActivatedRulesInRuleGroup+import Amazonka.WAF.ListByteMatchSets+import Amazonka.WAF.ListGeoMatchSets+import Amazonka.WAF.ListIPSets+import Amazonka.WAF.ListLoggingConfigurations+import Amazonka.WAF.ListRateBasedRules+import Amazonka.WAF.ListRegexMatchSets+import Amazonka.WAF.ListRegexPatternSets+import Amazonka.WAF.ListRuleGroups+import Amazonka.WAF.ListRules+import Amazonka.WAF.ListSizeConstraintSets+import Amazonka.WAF.ListSqlInjectionMatchSets+import Amazonka.WAF.ListSubscribedRuleGroups+import Amazonka.WAF.ListTagsForResource+import Amazonka.WAF.ListWebACLs+import Amazonka.WAF.ListXssMatchSets+import Amazonka.WAF.PutLoggingConfiguration+import Amazonka.WAF.PutPermissionPolicy+import Amazonka.WAF.TagResource+import Amazonka.WAF.Types+import Amazonka.WAF.UntagResource+import Amazonka.WAF.UpdateByteMatchSet+import Amazonka.WAF.UpdateGeoMatchSet+import Amazonka.WAF.UpdateIPSet+import Amazonka.WAF.UpdateRateBasedRule+import Amazonka.WAF.UpdateRegexMatchSet+import Amazonka.WAF.UpdateRegexPatternSet+import Amazonka.WAF.UpdateRule+import Amazonka.WAF.UpdateRuleGroup+import Amazonka.WAF.UpdateSizeConstraintSet+import Amazonka.WAF.UpdateSqlInjectionMatchSet+import Amazonka.WAF.UpdateWebACL+import Amazonka.WAF.UpdateXssMatchSet+import Amazonka.WAF.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'WAF'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/WAF/CreateByteMatchSet.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateByteMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates a @ByteMatchSet@. You then use UpdateByteMatchSet to identify+-- the part of a web request that you want AWS WAF to inspect, such as the+-- values of the @User-Agent@ header or the query string. For example, you+-- can create a @ByteMatchSet@ that matches any requests with @User-Agent@+-- headers that contain the string @BadBot@. You can then configure AWS WAF+-- to reject those requests.+--+-- To create and configure a @ByteMatchSet@, perform the following steps:+--+-- 1. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateByteMatchSet@ request.+--+-- 2. Submit a @CreateByteMatchSet@ request.+--+-- 3. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an @UpdateByteMatchSet@ request.+--+-- 4. Submit an UpdateByteMatchSet request to specify the part of the+-- request that you want AWS WAF to inspect (for example, the header or+-- the URI) and the value that you want AWS WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateByteMatchSet+ ( -- * Creating a Request+ CreateByteMatchSet (..),+ newCreateByteMatchSet,++ -- * Request Lenses+ createByteMatchSet_name,+ createByteMatchSet_changeToken,++ -- * Destructuring the Response+ CreateByteMatchSetResponse (..),+ newCreateByteMatchSetResponse,++ -- * Response Lenses+ createByteMatchSetResponse_byteMatchSet,+ createByteMatchSetResponse_changeToken,+ createByteMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateByteMatchSet' smart constructor.+data CreateByteMatchSet = CreateByteMatchSet'+ { -- | A friendly name or description of the ByteMatchSet. You can\'t change+ -- @Name@ after you create a @ByteMatchSet@.+ name :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateByteMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'createByteMatchSet_name' - A friendly name or description of the ByteMatchSet. You can\'t change+-- @Name@ after you create a @ByteMatchSet@.+--+-- 'changeToken', 'createByteMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateByteMatchSet ::+ -- | 'name'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateByteMatchSet+newCreateByteMatchSet pName_ pChangeToken_ =+ CreateByteMatchSet'+ { name = pName_,+ changeToken = pChangeToken_+ }++-- | A friendly name or description of the ByteMatchSet. You can\'t change+-- @Name@ after you create a @ByteMatchSet@.+createByteMatchSet_name :: Lens.Lens' CreateByteMatchSet Prelude.Text+createByteMatchSet_name = Lens.lens (\CreateByteMatchSet' {name} -> name) (\s@CreateByteMatchSet' {} a -> s {name = a} :: CreateByteMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+createByteMatchSet_changeToken :: Lens.Lens' CreateByteMatchSet Prelude.Text+createByteMatchSet_changeToken = Lens.lens (\CreateByteMatchSet' {changeToken} -> changeToken) (\s@CreateByteMatchSet' {} a -> s {changeToken = a} :: CreateByteMatchSet)++instance Core.AWSRequest CreateByteMatchSet where+ type+ AWSResponse CreateByteMatchSet =+ CreateByteMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateByteMatchSetResponse'+ Prelude.<$> (x Data..?> "ByteMatchSet")+ Prelude.<*> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateByteMatchSet where+ hashWithSalt _salt CreateByteMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateByteMatchSet where+ rnf CreateByteMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateByteMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateByteMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateByteMatchSet where+ toJSON CreateByteMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateByteMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateByteMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateByteMatchSetResponse' smart constructor.+data CreateByteMatchSetResponse = CreateByteMatchSetResponse'+ { -- | A ByteMatchSet that contains no @ByteMatchTuple@ objects.+ byteMatchSet :: Prelude.Maybe ByteMatchSet,+ -- | The @ChangeToken@ that you used to submit the @CreateByteMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateByteMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'byteMatchSet', 'createByteMatchSetResponse_byteMatchSet' - A ByteMatchSet that contains no @ByteMatchTuple@ objects.+--+-- 'changeToken', 'createByteMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateByteMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'createByteMatchSetResponse_httpStatus' - The response's http status code.+newCreateByteMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateByteMatchSetResponse+newCreateByteMatchSetResponse pHttpStatus_ =+ CreateByteMatchSetResponse'+ { byteMatchSet =+ Prelude.Nothing,+ changeToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A ByteMatchSet that contains no @ByteMatchTuple@ objects.+createByteMatchSetResponse_byteMatchSet :: Lens.Lens' CreateByteMatchSetResponse (Prelude.Maybe ByteMatchSet)+createByteMatchSetResponse_byteMatchSet = Lens.lens (\CreateByteMatchSetResponse' {byteMatchSet} -> byteMatchSet) (\s@CreateByteMatchSetResponse' {} a -> s {byteMatchSet = a} :: CreateByteMatchSetResponse)++-- | The @ChangeToken@ that you used to submit the @CreateByteMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+createByteMatchSetResponse_changeToken :: Lens.Lens' CreateByteMatchSetResponse (Prelude.Maybe Prelude.Text)+createByteMatchSetResponse_changeToken = Lens.lens (\CreateByteMatchSetResponse' {changeToken} -> changeToken) (\s@CreateByteMatchSetResponse' {} a -> s {changeToken = a} :: CreateByteMatchSetResponse)++-- | The response's http status code.+createByteMatchSetResponse_httpStatus :: Lens.Lens' CreateByteMatchSetResponse Prelude.Int+createByteMatchSetResponse_httpStatus = Lens.lens (\CreateByteMatchSetResponse' {httpStatus} -> httpStatus) (\s@CreateByteMatchSetResponse' {} a -> s {httpStatus = a} :: CreateByteMatchSetResponse)++instance Prelude.NFData CreateByteMatchSetResponse where+ rnf CreateByteMatchSetResponse' {..} =+ Prelude.rnf byteMatchSet+ `Prelude.seq` Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateGeoMatchSet.hs view
@@ -0,0 +1,243 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateGeoMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates an GeoMatchSet, which you use to specify which web requests you+-- want to allow or block based on the country that the requests originate+-- from. For example, if you\'re receiving a lot of requests from one or+-- more countries and you want to block the requests, you can create an+-- @GeoMatchSet@ that contains those countries and then configure AWS WAF+-- to block the requests.+--+-- To create and configure a @GeoMatchSet@, perform the following steps:+--+-- 1. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateGeoMatchSet@ request.+--+-- 2. Submit a @CreateGeoMatchSet@ request.+--+-- 3. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateGeoMatchSet request.+--+-- 4. Submit an @UpdateGeoMatchSetSet@ request to specify the countries+-- that you want AWS WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateGeoMatchSet+ ( -- * Creating a Request+ CreateGeoMatchSet (..),+ newCreateGeoMatchSet,++ -- * Request Lenses+ createGeoMatchSet_name,+ createGeoMatchSet_changeToken,++ -- * Destructuring the Response+ CreateGeoMatchSetResponse (..),+ newCreateGeoMatchSetResponse,++ -- * Response Lenses+ createGeoMatchSetResponse_changeToken,+ createGeoMatchSetResponse_geoMatchSet,+ createGeoMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateGeoMatchSet' smart constructor.+data CreateGeoMatchSet = CreateGeoMatchSet'+ { -- | A friendly name or description of the GeoMatchSet. You can\'t change+ -- @Name@ after you create the @GeoMatchSet@.+ name :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGeoMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'createGeoMatchSet_name' - A friendly name or description of the GeoMatchSet. You can\'t change+-- @Name@ after you create the @GeoMatchSet@.+--+-- 'changeToken', 'createGeoMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateGeoMatchSet ::+ -- | 'name'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateGeoMatchSet+newCreateGeoMatchSet pName_ pChangeToken_ =+ CreateGeoMatchSet'+ { name = pName_,+ changeToken = pChangeToken_+ }++-- | A friendly name or description of the GeoMatchSet. You can\'t change+-- @Name@ after you create the @GeoMatchSet@.+createGeoMatchSet_name :: Lens.Lens' CreateGeoMatchSet Prelude.Text+createGeoMatchSet_name = Lens.lens (\CreateGeoMatchSet' {name} -> name) (\s@CreateGeoMatchSet' {} a -> s {name = a} :: CreateGeoMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+createGeoMatchSet_changeToken :: Lens.Lens' CreateGeoMatchSet Prelude.Text+createGeoMatchSet_changeToken = Lens.lens (\CreateGeoMatchSet' {changeToken} -> changeToken) (\s@CreateGeoMatchSet' {} a -> s {changeToken = a} :: CreateGeoMatchSet)++instance Core.AWSRequest CreateGeoMatchSet where+ type+ AWSResponse CreateGeoMatchSet =+ CreateGeoMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateGeoMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "GeoMatchSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateGeoMatchSet where+ hashWithSalt _salt CreateGeoMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateGeoMatchSet where+ rnf CreateGeoMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateGeoMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateGeoMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateGeoMatchSet where+ toJSON CreateGeoMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateGeoMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateGeoMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGeoMatchSetResponse' smart constructor.+data CreateGeoMatchSetResponse = CreateGeoMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateGeoMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The GeoMatchSet returned in the @CreateGeoMatchSet@ response. The+ -- @GeoMatchSet@ contains no @GeoMatchConstraints@.+ geoMatchSet :: Prelude.Maybe GeoMatchSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGeoMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createGeoMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateGeoMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'geoMatchSet', 'createGeoMatchSetResponse_geoMatchSet' - The GeoMatchSet returned in the @CreateGeoMatchSet@ response. The+-- @GeoMatchSet@ contains no @GeoMatchConstraints@.+--+-- 'httpStatus', 'createGeoMatchSetResponse_httpStatus' - The response's http status code.+newCreateGeoMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateGeoMatchSetResponse+newCreateGeoMatchSetResponse pHttpStatus_ =+ CreateGeoMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ geoMatchSet = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateGeoMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+createGeoMatchSetResponse_changeToken :: Lens.Lens' CreateGeoMatchSetResponse (Prelude.Maybe Prelude.Text)+createGeoMatchSetResponse_changeToken = Lens.lens (\CreateGeoMatchSetResponse' {changeToken} -> changeToken) (\s@CreateGeoMatchSetResponse' {} a -> s {changeToken = a} :: CreateGeoMatchSetResponse)++-- | The GeoMatchSet returned in the @CreateGeoMatchSet@ response. The+-- @GeoMatchSet@ contains no @GeoMatchConstraints@.+createGeoMatchSetResponse_geoMatchSet :: Lens.Lens' CreateGeoMatchSetResponse (Prelude.Maybe GeoMatchSet)+createGeoMatchSetResponse_geoMatchSet = Lens.lens (\CreateGeoMatchSetResponse' {geoMatchSet} -> geoMatchSet) (\s@CreateGeoMatchSetResponse' {} a -> s {geoMatchSet = a} :: CreateGeoMatchSetResponse)++-- | The response's http status code.+createGeoMatchSetResponse_httpStatus :: Lens.Lens' CreateGeoMatchSetResponse Prelude.Int+createGeoMatchSetResponse_httpStatus = Lens.lens (\CreateGeoMatchSetResponse' {httpStatus} -> httpStatus) (\s@CreateGeoMatchSetResponse' {} a -> s {httpStatus = a} :: CreateGeoMatchSetResponse)++instance Prelude.NFData CreateGeoMatchSetResponse where+ rnf CreateGeoMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf geoMatchSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateIPSet.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateIPSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates an IPSet, which you use to specify which web requests that you+-- want to allow or block based on the IP addresses that the requests+-- originate from. For example, if you\'re receiving a lot of requests from+-- one or more individual IP addresses or one or more ranges of IP+-- addresses and you want to block the requests, you can create an @IPSet@+-- that contains those IP addresses and then configure AWS WAF to block the+-- requests.+--+-- To create and configure an @IPSet@, perform the following steps:+--+-- 1. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateIPSet@ request.+--+-- 2. Submit a @CreateIPSet@ request.+--+-- 3. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateIPSet request.+--+-- 4. Submit an @UpdateIPSet@ request to specify the IP addresses that you+-- want AWS WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateIPSet+ ( -- * Creating a Request+ CreateIPSet (..),+ newCreateIPSet,++ -- * Request Lenses+ createIPSet_name,+ createIPSet_changeToken,++ -- * Destructuring the Response+ CreateIPSetResponse (..),+ newCreateIPSetResponse,++ -- * Response Lenses+ createIPSetResponse_changeToken,+ createIPSetResponse_iPSet,+ createIPSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateIPSet' smart constructor.+data CreateIPSet = CreateIPSet'+ { -- | A friendly name or description of the IPSet. You can\'t change @Name@+ -- after you create the @IPSet@.+ name :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateIPSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'createIPSet_name' - A friendly name or description of the IPSet. You can\'t change @Name@+-- after you create the @IPSet@.+--+-- 'changeToken', 'createIPSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateIPSet ::+ -- | 'name'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateIPSet+newCreateIPSet pName_ pChangeToken_ =+ CreateIPSet'+ { name = pName_,+ changeToken = pChangeToken_+ }++-- | A friendly name or description of the IPSet. You can\'t change @Name@+-- after you create the @IPSet@.+createIPSet_name :: Lens.Lens' CreateIPSet Prelude.Text+createIPSet_name = Lens.lens (\CreateIPSet' {name} -> name) (\s@CreateIPSet' {} a -> s {name = a} :: CreateIPSet)++-- | The value returned by the most recent call to GetChangeToken.+createIPSet_changeToken :: Lens.Lens' CreateIPSet Prelude.Text+createIPSet_changeToken = Lens.lens (\CreateIPSet' {changeToken} -> changeToken) (\s@CreateIPSet' {} a -> s {changeToken = a} :: CreateIPSet)++instance Core.AWSRequest CreateIPSet where+ type AWSResponse CreateIPSet = CreateIPSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateIPSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "IPSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateIPSet where+ hashWithSalt _salt CreateIPSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateIPSet where+ rnf CreateIPSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateIPSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateIPSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateIPSet where+ toJSON CreateIPSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateIPSet where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateIPSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateIPSetResponse' smart constructor.+data CreateIPSetResponse = CreateIPSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateIPSet@ request. You+ -- can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The IPSet returned in the @CreateIPSet@ response.+ iPSet :: Prelude.Maybe IPSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateIPSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createIPSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateIPSet@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'iPSet', 'createIPSetResponse_iPSet' - The IPSet returned in the @CreateIPSet@ response.+--+-- 'httpStatus', 'createIPSetResponse_httpStatus' - The response's http status code.+newCreateIPSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateIPSetResponse+newCreateIPSetResponse pHttpStatus_ =+ CreateIPSetResponse'+ { changeToken = Prelude.Nothing,+ iPSet = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateIPSet@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+createIPSetResponse_changeToken :: Lens.Lens' CreateIPSetResponse (Prelude.Maybe Prelude.Text)+createIPSetResponse_changeToken = Lens.lens (\CreateIPSetResponse' {changeToken} -> changeToken) (\s@CreateIPSetResponse' {} a -> s {changeToken = a} :: CreateIPSetResponse)++-- | The IPSet returned in the @CreateIPSet@ response.+createIPSetResponse_iPSet :: Lens.Lens' CreateIPSetResponse (Prelude.Maybe IPSet)+createIPSetResponse_iPSet = Lens.lens (\CreateIPSetResponse' {iPSet} -> iPSet) (\s@CreateIPSetResponse' {} a -> s {iPSet = a} :: CreateIPSetResponse)++-- | The response's http status code.+createIPSetResponse_httpStatus :: Lens.Lens' CreateIPSetResponse Prelude.Int+createIPSetResponse_httpStatus = Lens.lens (\CreateIPSetResponse' {httpStatus} -> httpStatus) (\s@CreateIPSetResponse' {} a -> s {httpStatus = a} :: CreateIPSetResponse)++instance Prelude.NFData CreateIPSetResponse where+ rnf CreateIPSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf iPSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateRateBasedRule.hs view
@@ -0,0 +1,392 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateRateBasedRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates a RateBasedRule. The @RateBasedRule@ contains a @RateLimit@,+-- which specifies the maximum number of requests that AWS WAF allows from+-- a specified IP address in a five-minute period. The @RateBasedRule@ also+-- contains the @IPSet@ objects, @ByteMatchSet@ objects, and other+-- predicates that identify the requests that you want to count or block if+-- these requests exceed the @RateLimit@.+--+-- If you add more than one predicate to a @RateBasedRule@, a request not+-- only must exceed the @RateLimit@, but it also must match all the+-- conditions to be counted or blocked. For example, suppose you add the+-- following to a @RateBasedRule@:+--+-- - An @IPSet@ that matches the IP address @192.0.2.44\/32@+--+-- - A @ByteMatchSet@ that matches @BadBot@ in the @User-Agent@ header+--+-- Further, you specify a @RateLimit@ of 1,000.+--+-- You then add the @RateBasedRule@ to a @WebACL@ and specify that you want+-- to block requests that meet the conditions in the rule. For a request to+-- be blocked, it must come from the IP address 192.0.2.44 /and/ the+-- @User-Agent@ header in the request must contain the value @BadBot@.+-- Further, requests that match these two conditions must be received at a+-- rate of more than 1,000 requests every five minutes. If both conditions+-- are met and the rate is exceeded, AWS WAF blocks the requests. If the+-- rate drops below 1,000 for a five-minute period, AWS WAF no longer+-- blocks the requests.+--+-- As a second example, suppose you want to limit requests to a particular+-- page on your site. To do this, you could add the following to a+-- @RateBasedRule@:+--+-- - A @ByteMatchSet@ with @FieldToMatch@ of @URI@+--+-- - A @PositionalConstraint@ of @STARTS_WITH@+--+-- - A @TargetString@ of @login@+--+-- Further, you specify a @RateLimit@ of 1,000.+--+-- By adding this @RateBasedRule@ to a @WebACL@, you could limit requests+-- to your login page without affecting the rest of your site.+--+-- To create and configure a @RateBasedRule@, perform the following steps:+--+-- 1. Create and update the predicates that you want to include in the+-- rule. For more information, see CreateByteMatchSet, CreateIPSet, and+-- CreateSqlInjectionMatchSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateRule@ request.+--+-- 3. Submit a @CreateRateBasedRule@ request.+--+-- 4. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateRule request.+--+-- 5. Submit an @UpdateRateBasedRule@ request to specify the predicates+-- that you want to include in the rule.+--+-- 6. Create and update a @WebACL@ that contains the @RateBasedRule@. For+-- more information, see CreateWebACL.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateRateBasedRule+ ( -- * Creating a Request+ CreateRateBasedRule (..),+ newCreateRateBasedRule,++ -- * Request Lenses+ createRateBasedRule_tags,+ createRateBasedRule_name,+ createRateBasedRule_metricName,+ createRateBasedRule_rateKey,+ createRateBasedRule_rateLimit,+ createRateBasedRule_changeToken,++ -- * Destructuring the Response+ CreateRateBasedRuleResponse (..),+ newCreateRateBasedRuleResponse,++ -- * Response Lenses+ createRateBasedRuleResponse_changeToken,+ createRateBasedRuleResponse_rule,+ createRateBasedRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateRateBasedRule' smart constructor.+data CreateRateBasedRule = CreateRateBasedRule'+ { tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | A friendly name or description of the RateBasedRule. You can\'t change+ -- the name of a @RateBasedRule@ after you create it.+ name :: Prelude.Text,+ -- | A friendly name or description for the metrics for this @RateBasedRule@.+ -- The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+ -- maximum length 128 and minimum length one. It can\'t contain whitespace+ -- or metric names reserved for AWS WAF, including \"All\" and+ -- \"Default_Action.\" You can\'t change the name of the metric after you+ -- create the @RateBasedRule@.+ metricName :: Prelude.Text,+ -- | The field that AWS WAF uses to determine if requests are likely arriving+ -- from a single source and thus subject to rate monitoring. The only valid+ -- value for @RateKey@ is @IP@. @IP@ indicates that requests that arrive+ -- from the same IP address are subject to the @RateLimit@ that is+ -- specified in the @RateBasedRule@.+ rateKey :: RateKey,+ -- | The maximum number of requests, which have an identical value in the+ -- field that is specified by @RateKey@, allowed in a five-minute period.+ -- If the number of requests exceeds the @RateLimit@ and the other+ -- predicates specified in the rule are also met, AWS WAF triggers the+ -- action that is specified for this rule.+ rateLimit :: Prelude.Natural,+ -- | The @ChangeToken@ that you used to submit the @CreateRateBasedRule@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRateBasedRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'createRateBasedRule_tags' -+--+-- 'name', 'createRateBasedRule_name' - A friendly name or description of the RateBasedRule. You can\'t change+-- the name of a @RateBasedRule@ after you create it.+--+-- 'metricName', 'createRateBasedRule_metricName' - A friendly name or description for the metrics for this @RateBasedRule@.+-- The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RateBasedRule@.+--+-- 'rateKey', 'createRateBasedRule_rateKey' - The field that AWS WAF uses to determine if requests are likely arriving+-- from a single source and thus subject to rate monitoring. The only valid+-- value for @RateKey@ is @IP@. @IP@ indicates that requests that arrive+-- from the same IP address are subject to the @RateLimit@ that is+-- specified in the @RateBasedRule@.+--+-- 'rateLimit', 'createRateBasedRule_rateLimit' - The maximum number of requests, which have an identical value in the+-- field that is specified by @RateKey@, allowed in a five-minute period.+-- If the number of requests exceeds the @RateLimit@ and the other+-- predicates specified in the rule are also met, AWS WAF triggers the+-- action that is specified for this rule.+--+-- 'changeToken', 'createRateBasedRule_changeToken' - The @ChangeToken@ that you used to submit the @CreateRateBasedRule@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+newCreateRateBasedRule ::+ -- | 'name'+ Prelude.Text ->+ -- | 'metricName'+ Prelude.Text ->+ -- | 'rateKey'+ RateKey ->+ -- | 'rateLimit'+ Prelude.Natural ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateRateBasedRule+newCreateRateBasedRule+ pName_+ pMetricName_+ pRateKey_+ pRateLimit_+ pChangeToken_ =+ CreateRateBasedRule'+ { tags = Prelude.Nothing,+ name = pName_,+ metricName = pMetricName_,+ rateKey = pRateKey_,+ rateLimit = pRateLimit_,+ changeToken = pChangeToken_+ }++createRateBasedRule_tags :: Lens.Lens' CreateRateBasedRule (Prelude.Maybe (Prelude.NonEmpty Tag))+createRateBasedRule_tags = Lens.lens (\CreateRateBasedRule' {tags} -> tags) (\s@CreateRateBasedRule' {} a -> s {tags = a} :: CreateRateBasedRule) Prelude.. Lens.mapping Lens.coerced++-- | A friendly name or description of the RateBasedRule. You can\'t change+-- the name of a @RateBasedRule@ after you create it.+createRateBasedRule_name :: Lens.Lens' CreateRateBasedRule Prelude.Text+createRateBasedRule_name = Lens.lens (\CreateRateBasedRule' {name} -> name) (\s@CreateRateBasedRule' {} a -> s {name = a} :: CreateRateBasedRule)++-- | A friendly name or description for the metrics for this @RateBasedRule@.+-- The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RateBasedRule@.+createRateBasedRule_metricName :: Lens.Lens' CreateRateBasedRule Prelude.Text+createRateBasedRule_metricName = Lens.lens (\CreateRateBasedRule' {metricName} -> metricName) (\s@CreateRateBasedRule' {} a -> s {metricName = a} :: CreateRateBasedRule)++-- | The field that AWS WAF uses to determine if requests are likely arriving+-- from a single source and thus subject to rate monitoring. The only valid+-- value for @RateKey@ is @IP@. @IP@ indicates that requests that arrive+-- from the same IP address are subject to the @RateLimit@ that is+-- specified in the @RateBasedRule@.+createRateBasedRule_rateKey :: Lens.Lens' CreateRateBasedRule RateKey+createRateBasedRule_rateKey = Lens.lens (\CreateRateBasedRule' {rateKey} -> rateKey) (\s@CreateRateBasedRule' {} a -> s {rateKey = a} :: CreateRateBasedRule)++-- | The maximum number of requests, which have an identical value in the+-- field that is specified by @RateKey@, allowed in a five-minute period.+-- If the number of requests exceeds the @RateLimit@ and the other+-- predicates specified in the rule are also met, AWS WAF triggers the+-- action that is specified for this rule.+createRateBasedRule_rateLimit :: Lens.Lens' CreateRateBasedRule Prelude.Natural+createRateBasedRule_rateLimit = Lens.lens (\CreateRateBasedRule' {rateLimit} -> rateLimit) (\s@CreateRateBasedRule' {} a -> s {rateLimit = a} :: CreateRateBasedRule)++-- | The @ChangeToken@ that you used to submit the @CreateRateBasedRule@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+createRateBasedRule_changeToken :: Lens.Lens' CreateRateBasedRule Prelude.Text+createRateBasedRule_changeToken = Lens.lens (\CreateRateBasedRule' {changeToken} -> changeToken) (\s@CreateRateBasedRule' {} a -> s {changeToken = a} :: CreateRateBasedRule)++instance Core.AWSRequest CreateRateBasedRule where+ type+ AWSResponse CreateRateBasedRule =+ CreateRateBasedRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateRateBasedRuleResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "Rule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateRateBasedRule where+ hashWithSalt _salt CreateRateBasedRule' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` rateKey+ `Prelude.hashWithSalt` rateLimit+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateRateBasedRule where+ rnf CreateRateBasedRule' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf rateKey+ `Prelude.seq` Prelude.rnf rateLimit+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateRateBasedRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateRateBasedRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateRateBasedRule where+ toJSON CreateRateBasedRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("MetricName" Data..= metricName),+ Prelude.Just ("RateKey" Data..= rateKey),+ Prelude.Just ("RateLimit" Data..= rateLimit),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateRateBasedRule where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateRateBasedRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRateBasedRuleResponse' smart constructor.+data CreateRateBasedRuleResponse = CreateRateBasedRuleResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateRateBasedRule@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The RateBasedRule that is returned in the @CreateRateBasedRule@+ -- response.+ rule :: Prelude.Maybe RateBasedRule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRateBasedRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createRateBasedRuleResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateRateBasedRule@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'rule', 'createRateBasedRuleResponse_rule' - The RateBasedRule that is returned in the @CreateRateBasedRule@+-- response.+--+-- 'httpStatus', 'createRateBasedRuleResponse_httpStatus' - The response's http status code.+newCreateRateBasedRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateRateBasedRuleResponse+newCreateRateBasedRuleResponse pHttpStatus_ =+ CreateRateBasedRuleResponse'+ { changeToken =+ Prelude.Nothing,+ rule = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateRateBasedRule@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+createRateBasedRuleResponse_changeToken :: Lens.Lens' CreateRateBasedRuleResponse (Prelude.Maybe Prelude.Text)+createRateBasedRuleResponse_changeToken = Lens.lens (\CreateRateBasedRuleResponse' {changeToken} -> changeToken) (\s@CreateRateBasedRuleResponse' {} a -> s {changeToken = a} :: CreateRateBasedRuleResponse)++-- | The RateBasedRule that is returned in the @CreateRateBasedRule@+-- response.+createRateBasedRuleResponse_rule :: Lens.Lens' CreateRateBasedRuleResponse (Prelude.Maybe RateBasedRule)+createRateBasedRuleResponse_rule = Lens.lens (\CreateRateBasedRuleResponse' {rule} -> rule) (\s@CreateRateBasedRuleResponse' {} a -> s {rule = a} :: CreateRateBasedRuleResponse)++-- | The response's http status code.+createRateBasedRuleResponse_httpStatus :: Lens.Lens' CreateRateBasedRuleResponse Prelude.Int+createRateBasedRuleResponse_httpStatus = Lens.lens (\CreateRateBasedRuleResponse' {httpStatus} -> httpStatus) (\s@CreateRateBasedRuleResponse' {} a -> s {httpStatus = a} :: CreateRateBasedRuleResponse)++instance Prelude.NFData CreateRateBasedRuleResponse where+ rnf CreateRateBasedRuleResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf rule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateRegexMatchSet.hs view
@@ -0,0 +1,243 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateRegexMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify+-- the part of a web request that you want AWS WAF to inspect, such as the+-- values of the @User-Agent@ header or the query string. For example, you+-- can create a @RegexMatchSet@ that contains a @RegexMatchTuple@ that+-- looks for any requests with @User-Agent@ headers that match a+-- @RegexPatternSet@ with pattern @B[a\@]dB[o0]t@. You can then configure+-- AWS WAF to reject those requests.+--+-- To create and configure a @RegexMatchSet@, perform the following steps:+--+-- 1. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateRegexMatchSet@ request.+--+-- 2. Submit a @CreateRegexMatchSet@ request.+--+-- 3. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an @UpdateRegexMatchSet@ request.+--+-- 4. Submit an UpdateRegexMatchSet request to specify the part of the+-- request that you want AWS WAF to inspect (for example, the header or+-- the URI) and the value, using a @RegexPatternSet@, that you want AWS+-- WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateRegexMatchSet+ ( -- * Creating a Request+ CreateRegexMatchSet (..),+ newCreateRegexMatchSet,++ -- * Request Lenses+ createRegexMatchSet_name,+ createRegexMatchSet_changeToken,++ -- * Destructuring the Response+ CreateRegexMatchSetResponse (..),+ newCreateRegexMatchSetResponse,++ -- * Response Lenses+ createRegexMatchSetResponse_changeToken,+ createRegexMatchSetResponse_regexMatchSet,+ createRegexMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateRegexMatchSet' smart constructor.+data CreateRegexMatchSet = CreateRegexMatchSet'+ { -- | A friendly name or description of the RegexMatchSet. You can\'t change+ -- @Name@ after you create a @RegexMatchSet@.+ name :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRegexMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'createRegexMatchSet_name' - A friendly name or description of the RegexMatchSet. You can\'t change+-- @Name@ after you create a @RegexMatchSet@.+--+-- 'changeToken', 'createRegexMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateRegexMatchSet ::+ -- | 'name'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateRegexMatchSet+newCreateRegexMatchSet pName_ pChangeToken_ =+ CreateRegexMatchSet'+ { name = pName_,+ changeToken = pChangeToken_+ }++-- | A friendly name or description of the RegexMatchSet. You can\'t change+-- @Name@ after you create a @RegexMatchSet@.+createRegexMatchSet_name :: Lens.Lens' CreateRegexMatchSet Prelude.Text+createRegexMatchSet_name = Lens.lens (\CreateRegexMatchSet' {name} -> name) (\s@CreateRegexMatchSet' {} a -> s {name = a} :: CreateRegexMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+createRegexMatchSet_changeToken :: Lens.Lens' CreateRegexMatchSet Prelude.Text+createRegexMatchSet_changeToken = Lens.lens (\CreateRegexMatchSet' {changeToken} -> changeToken) (\s@CreateRegexMatchSet' {} a -> s {changeToken = a} :: CreateRegexMatchSet)++instance Core.AWSRequest CreateRegexMatchSet where+ type+ AWSResponse CreateRegexMatchSet =+ CreateRegexMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateRegexMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "RegexMatchSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateRegexMatchSet where+ hashWithSalt _salt CreateRegexMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateRegexMatchSet where+ rnf CreateRegexMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateRegexMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateRegexMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateRegexMatchSet where+ toJSON CreateRegexMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateRegexMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateRegexMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRegexMatchSetResponse' smart constructor.+data CreateRegexMatchSetResponse = CreateRegexMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateRegexMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | A RegexMatchSet that contains no @RegexMatchTuple@ objects.+ regexMatchSet :: Prelude.Maybe RegexMatchSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRegexMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createRegexMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateRegexMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'regexMatchSet', 'createRegexMatchSetResponse_regexMatchSet' - A RegexMatchSet that contains no @RegexMatchTuple@ objects.+--+-- 'httpStatus', 'createRegexMatchSetResponse_httpStatus' - The response's http status code.+newCreateRegexMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateRegexMatchSetResponse+newCreateRegexMatchSetResponse pHttpStatus_ =+ CreateRegexMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ regexMatchSet = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateRegexMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+createRegexMatchSetResponse_changeToken :: Lens.Lens' CreateRegexMatchSetResponse (Prelude.Maybe Prelude.Text)+createRegexMatchSetResponse_changeToken = Lens.lens (\CreateRegexMatchSetResponse' {changeToken} -> changeToken) (\s@CreateRegexMatchSetResponse' {} a -> s {changeToken = a} :: CreateRegexMatchSetResponse)++-- | A RegexMatchSet that contains no @RegexMatchTuple@ objects.+createRegexMatchSetResponse_regexMatchSet :: Lens.Lens' CreateRegexMatchSetResponse (Prelude.Maybe RegexMatchSet)+createRegexMatchSetResponse_regexMatchSet = Lens.lens (\CreateRegexMatchSetResponse' {regexMatchSet} -> regexMatchSet) (\s@CreateRegexMatchSetResponse' {} a -> s {regexMatchSet = a} :: CreateRegexMatchSetResponse)++-- | The response's http status code.+createRegexMatchSetResponse_httpStatus :: Lens.Lens' CreateRegexMatchSetResponse Prelude.Int+createRegexMatchSetResponse_httpStatus = Lens.lens (\CreateRegexMatchSetResponse' {httpStatus} -> httpStatus) (\s@CreateRegexMatchSetResponse' {} a -> s {httpStatus = a} :: CreateRegexMatchSetResponse)++instance Prelude.NFData CreateRegexMatchSetResponse where+ rnf CreateRegexMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf regexMatchSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateRegexPatternSet.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateRegexPatternSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates a @RegexPatternSet@. You then use UpdateRegexPatternSet to+-- specify the regular expression (regex) pattern that you want AWS WAF to+-- search for, such as @B[a\@]dB[o0]t@. You can then configure AWS WAF to+-- reject those requests.+--+-- To create and configure a @RegexPatternSet@, perform the following+-- steps:+--+-- 1. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateRegexPatternSet@ request.+--+-- 2. Submit a @CreateRegexPatternSet@ request.+--+-- 3. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an @UpdateRegexPatternSet@ request.+--+-- 4. Submit an UpdateRegexPatternSet request to specify the string that+-- you want AWS WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateRegexPatternSet+ ( -- * Creating a Request+ CreateRegexPatternSet (..),+ newCreateRegexPatternSet,++ -- * Request Lenses+ createRegexPatternSet_name,+ createRegexPatternSet_changeToken,++ -- * Destructuring the Response+ CreateRegexPatternSetResponse (..),+ newCreateRegexPatternSetResponse,++ -- * Response Lenses+ createRegexPatternSetResponse_changeToken,+ createRegexPatternSetResponse_regexPatternSet,+ createRegexPatternSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateRegexPatternSet' smart constructor.+data CreateRegexPatternSet = CreateRegexPatternSet'+ { -- | A friendly name or description of the RegexPatternSet. You can\'t change+ -- @Name@ after you create a @RegexPatternSet@.+ name :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRegexPatternSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'createRegexPatternSet_name' - A friendly name or description of the RegexPatternSet. You can\'t change+-- @Name@ after you create a @RegexPatternSet@.+--+-- 'changeToken', 'createRegexPatternSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateRegexPatternSet ::+ -- | 'name'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateRegexPatternSet+newCreateRegexPatternSet pName_ pChangeToken_ =+ CreateRegexPatternSet'+ { name = pName_,+ changeToken = pChangeToken_+ }++-- | A friendly name or description of the RegexPatternSet. You can\'t change+-- @Name@ after you create a @RegexPatternSet@.+createRegexPatternSet_name :: Lens.Lens' CreateRegexPatternSet Prelude.Text+createRegexPatternSet_name = Lens.lens (\CreateRegexPatternSet' {name} -> name) (\s@CreateRegexPatternSet' {} a -> s {name = a} :: CreateRegexPatternSet)++-- | The value returned by the most recent call to GetChangeToken.+createRegexPatternSet_changeToken :: Lens.Lens' CreateRegexPatternSet Prelude.Text+createRegexPatternSet_changeToken = Lens.lens (\CreateRegexPatternSet' {changeToken} -> changeToken) (\s@CreateRegexPatternSet' {} a -> s {changeToken = a} :: CreateRegexPatternSet)++instance Core.AWSRequest CreateRegexPatternSet where+ type+ AWSResponse CreateRegexPatternSet =+ CreateRegexPatternSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateRegexPatternSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "RegexPatternSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateRegexPatternSet where+ hashWithSalt _salt CreateRegexPatternSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateRegexPatternSet where+ rnf CreateRegexPatternSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateRegexPatternSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateRegexPatternSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateRegexPatternSet where+ toJSON CreateRegexPatternSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateRegexPatternSet where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateRegexPatternSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRegexPatternSetResponse' smart constructor.+data CreateRegexPatternSetResponse = CreateRegexPatternSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateRegexPatternSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | A RegexPatternSet that contains no objects.+ regexPatternSet :: Prelude.Maybe RegexPatternSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRegexPatternSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createRegexPatternSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateRegexPatternSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'regexPatternSet', 'createRegexPatternSetResponse_regexPatternSet' - A RegexPatternSet that contains no objects.+--+-- 'httpStatus', 'createRegexPatternSetResponse_httpStatus' - The response's http status code.+newCreateRegexPatternSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateRegexPatternSetResponse+newCreateRegexPatternSetResponse pHttpStatus_ =+ CreateRegexPatternSetResponse'+ { changeToken =+ Prelude.Nothing,+ regexPatternSet = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateRegexPatternSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+createRegexPatternSetResponse_changeToken :: Lens.Lens' CreateRegexPatternSetResponse (Prelude.Maybe Prelude.Text)+createRegexPatternSetResponse_changeToken = Lens.lens (\CreateRegexPatternSetResponse' {changeToken} -> changeToken) (\s@CreateRegexPatternSetResponse' {} a -> s {changeToken = a} :: CreateRegexPatternSetResponse)++-- | A RegexPatternSet that contains no objects.+createRegexPatternSetResponse_regexPatternSet :: Lens.Lens' CreateRegexPatternSetResponse (Prelude.Maybe RegexPatternSet)+createRegexPatternSetResponse_regexPatternSet = Lens.lens (\CreateRegexPatternSetResponse' {regexPatternSet} -> regexPatternSet) (\s@CreateRegexPatternSetResponse' {} a -> s {regexPatternSet = a} :: CreateRegexPatternSetResponse)++-- | The response's http status code.+createRegexPatternSetResponse_httpStatus :: Lens.Lens' CreateRegexPatternSetResponse Prelude.Int+createRegexPatternSetResponse_httpStatus = Lens.lens (\CreateRegexPatternSetResponse' {httpStatus} -> httpStatus) (\s@CreateRegexPatternSetResponse' {} a -> s {httpStatus = a} :: CreateRegexPatternSetResponse)++instance Prelude.NFData CreateRegexPatternSetResponse where+ rnf CreateRegexPatternSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf regexPatternSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateRule.hs view
@@ -0,0 +1,291 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates a @Rule@, which contains the @IPSet@ objects, @ByteMatchSet@+-- objects, and other predicates that identify the requests that you want+-- to block. If you add more than one predicate to a @Rule@, a request must+-- match all of the specifications to be allowed or blocked. For example,+-- suppose that you add the following to a @Rule@:+--+-- - An @IPSet@ that matches the IP address @192.0.2.44\/32@+--+-- - A @ByteMatchSet@ that matches @BadBot@ in the @User-Agent@ header+--+-- You then add the @Rule@ to a @WebACL@ and specify that you want to+-- blocks requests that satisfy the @Rule@. For a request to be blocked, it+-- must come from the IP address 192.0.2.44 /and/ the @User-Agent@ header+-- in the request must contain the value @BadBot@.+--+-- To create and configure a @Rule@, perform the following steps:+--+-- 1. Create and update the predicates that you want to include in the+-- @Rule@. For more information, see CreateByteMatchSet, CreateIPSet,+-- and CreateSqlInjectionMatchSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateRule@ request.+--+-- 3. Submit a @CreateRule@ request.+--+-- 4. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateRule request.+--+-- 5. Submit an @UpdateRule@ request to specify the predicates that you+-- want to include in the @Rule@.+--+-- 6. Create and update a @WebACL@ that contains the @Rule@. For more+-- information, see CreateWebACL.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateRule+ ( -- * Creating a Request+ CreateRule (..),+ newCreateRule,++ -- * Request Lenses+ createRule_tags,+ createRule_name,+ createRule_metricName,+ createRule_changeToken,++ -- * Destructuring the Response+ CreateRuleResponse (..),+ newCreateRuleResponse,++ -- * Response Lenses+ createRuleResponse_changeToken,+ createRuleResponse_rule,+ createRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateRule' smart constructor.+data CreateRule = CreateRule'+ { tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | A friendly name or description of the Rule. You can\'t change the name+ -- of a @Rule@ after you create it.+ name :: Prelude.Text,+ -- | A friendly name or description for the metrics for this @Rule@. The name+ -- can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum+ -- length 128 and minimum length one. It can\'t contain whitespace or+ -- metric names reserved for AWS WAF, including \"All\" and+ -- \"Default_Action.\" You can\'t change the name of the metric after you+ -- create the @Rule@.+ metricName :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'createRule_tags' -+--+-- 'name', 'createRule_name' - A friendly name or description of the Rule. You can\'t change the name+-- of a @Rule@ after you create it.+--+-- 'metricName', 'createRule_metricName' - A friendly name or description for the metrics for this @Rule@. The name+-- can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum+-- length 128 and minimum length one. It can\'t contain whitespace or+-- metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @Rule@.+--+-- 'changeToken', 'createRule_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateRule ::+ -- | 'name'+ Prelude.Text ->+ -- | 'metricName'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateRule+newCreateRule pName_ pMetricName_ pChangeToken_ =+ CreateRule'+ { tags = Prelude.Nothing,+ name = pName_,+ metricName = pMetricName_,+ changeToken = pChangeToken_+ }++createRule_tags :: Lens.Lens' CreateRule (Prelude.Maybe (Prelude.NonEmpty Tag))+createRule_tags = Lens.lens (\CreateRule' {tags} -> tags) (\s@CreateRule' {} a -> s {tags = a} :: CreateRule) Prelude.. Lens.mapping Lens.coerced++-- | A friendly name or description of the Rule. You can\'t change the name+-- of a @Rule@ after you create it.+createRule_name :: Lens.Lens' CreateRule Prelude.Text+createRule_name = Lens.lens (\CreateRule' {name} -> name) (\s@CreateRule' {} a -> s {name = a} :: CreateRule)++-- | A friendly name or description for the metrics for this @Rule@. The name+-- can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum+-- length 128 and minimum length one. It can\'t contain whitespace or+-- metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @Rule@.+createRule_metricName :: Lens.Lens' CreateRule Prelude.Text+createRule_metricName = Lens.lens (\CreateRule' {metricName} -> metricName) (\s@CreateRule' {} a -> s {metricName = a} :: CreateRule)++-- | The value returned by the most recent call to GetChangeToken.+createRule_changeToken :: Lens.Lens' CreateRule Prelude.Text+createRule_changeToken = Lens.lens (\CreateRule' {changeToken} -> changeToken) (\s@CreateRule' {} a -> s {changeToken = a} :: CreateRule)++instance Core.AWSRequest CreateRule where+ type AWSResponse CreateRule = CreateRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateRuleResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "Rule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateRule where+ hashWithSalt _salt CreateRule' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateRule where+ rnf CreateRule' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSWAF_20150824.CreateRule" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateRule where+ toJSON CreateRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("MetricName" Data..= metricName),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateRule where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRuleResponse' smart constructor.+data CreateRuleResponse = CreateRuleResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateRule@ request. You+ -- can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The Rule returned in the @CreateRule@ response.+ rule :: Prelude.Maybe Rule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createRuleResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateRule@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'rule', 'createRuleResponse_rule' - The Rule returned in the @CreateRule@ response.+--+-- 'httpStatus', 'createRuleResponse_httpStatus' - The response's http status code.+newCreateRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateRuleResponse+newCreateRuleResponse pHttpStatus_ =+ CreateRuleResponse'+ { changeToken = Prelude.Nothing,+ rule = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateRule@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+createRuleResponse_changeToken :: Lens.Lens' CreateRuleResponse (Prelude.Maybe Prelude.Text)+createRuleResponse_changeToken = Lens.lens (\CreateRuleResponse' {changeToken} -> changeToken) (\s@CreateRuleResponse' {} a -> s {changeToken = a} :: CreateRuleResponse)++-- | The Rule returned in the @CreateRule@ response.+createRuleResponse_rule :: Lens.Lens' CreateRuleResponse (Prelude.Maybe Rule)+createRuleResponse_rule = Lens.lens (\CreateRuleResponse' {rule} -> rule) (\s@CreateRuleResponse' {} a -> s {rule = a} :: CreateRuleResponse)++-- | The response's http status code.+createRuleResponse_httpStatus :: Lens.Lens' CreateRuleResponse Prelude.Int+createRuleResponse_httpStatus = Lens.lens (\CreateRuleResponse' {httpStatus} -> httpStatus) (\s@CreateRuleResponse' {} a -> s {httpStatus = a} :: CreateRuleResponse)++instance Prelude.NFData CreateRuleResponse where+ rnf CreateRuleResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf rule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateRuleGroup.hs view
@@ -0,0 +1,274 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates a @RuleGroup@. A rule group is a collection of predefined rules+-- that you add to a web ACL. You use UpdateRuleGroup to add rules to the+-- rule group.+--+-- Rule groups are subject to the following limits:+--+-- - Three rule groups per account. You can request an increase to this+-- limit by contacting customer support.+--+-- - One rule group per web ACL.+--+-- - Ten rules per rule group.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateRuleGroup+ ( -- * Creating a Request+ CreateRuleGroup (..),+ newCreateRuleGroup,++ -- * Request Lenses+ createRuleGroup_tags,+ createRuleGroup_name,+ createRuleGroup_metricName,+ createRuleGroup_changeToken,++ -- * Destructuring the Response+ CreateRuleGroupResponse (..),+ newCreateRuleGroupResponse,++ -- * Response Lenses+ createRuleGroupResponse_changeToken,+ createRuleGroupResponse_ruleGroup,+ createRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateRuleGroup' smart constructor.+data CreateRuleGroup = CreateRuleGroup'+ { tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | A friendly name or description of the RuleGroup. You can\'t change+ -- @Name@ after you create a @RuleGroup@.+ name :: Prelude.Text,+ -- | A friendly name or description for the metrics for this @RuleGroup@. The+ -- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+ -- maximum length 128 and minimum length one. It can\'t contain whitespace+ -- or metric names reserved for AWS WAF, including \"All\" and+ -- \"Default_Action.\" You can\'t change the name of the metric after you+ -- create the @RuleGroup@.+ metricName :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'createRuleGroup_tags' -+--+-- 'name', 'createRuleGroup_name' - A friendly name or description of the RuleGroup. You can\'t change+-- @Name@ after you create a @RuleGroup@.+--+-- 'metricName', 'createRuleGroup_metricName' - A friendly name or description for the metrics for this @RuleGroup@. The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RuleGroup@.+--+-- 'changeToken', 'createRuleGroup_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateRuleGroup ::+ -- | 'name'+ Prelude.Text ->+ -- | 'metricName'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateRuleGroup+newCreateRuleGroup pName_ pMetricName_ pChangeToken_ =+ CreateRuleGroup'+ { tags = Prelude.Nothing,+ name = pName_,+ metricName = pMetricName_,+ changeToken = pChangeToken_+ }++createRuleGroup_tags :: Lens.Lens' CreateRuleGroup (Prelude.Maybe (Prelude.NonEmpty Tag))+createRuleGroup_tags = Lens.lens (\CreateRuleGroup' {tags} -> tags) (\s@CreateRuleGroup' {} a -> s {tags = a} :: CreateRuleGroup) Prelude.. Lens.mapping Lens.coerced++-- | A friendly name or description of the RuleGroup. You can\'t change+-- @Name@ after you create a @RuleGroup@.+createRuleGroup_name :: Lens.Lens' CreateRuleGroup Prelude.Text+createRuleGroup_name = Lens.lens (\CreateRuleGroup' {name} -> name) (\s@CreateRuleGroup' {} a -> s {name = a} :: CreateRuleGroup)++-- | A friendly name or description for the metrics for this @RuleGroup@. The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RuleGroup@.+createRuleGroup_metricName :: Lens.Lens' CreateRuleGroup Prelude.Text+createRuleGroup_metricName = Lens.lens (\CreateRuleGroup' {metricName} -> metricName) (\s@CreateRuleGroup' {} a -> s {metricName = a} :: CreateRuleGroup)++-- | The value returned by the most recent call to GetChangeToken.+createRuleGroup_changeToken :: Lens.Lens' CreateRuleGroup Prelude.Text+createRuleGroup_changeToken = Lens.lens (\CreateRuleGroup' {changeToken} -> changeToken) (\s@CreateRuleGroup' {} a -> s {changeToken = a} :: CreateRuleGroup)++instance Core.AWSRequest CreateRuleGroup where+ type+ AWSResponse CreateRuleGroup =+ CreateRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateRuleGroupResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "RuleGroup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateRuleGroup where+ hashWithSalt _salt CreateRuleGroup' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateRuleGroup where+ rnf CreateRuleGroup' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateRuleGroup where+ toJSON CreateRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("MetricName" Data..= metricName),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRuleGroupResponse' smart constructor.+data CreateRuleGroupResponse = CreateRuleGroupResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateRuleGroup@ request.+ -- You can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | An empty RuleGroup.+ ruleGroup :: Prelude.Maybe RuleGroup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createRuleGroupResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateRuleGroup@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'ruleGroup', 'createRuleGroupResponse_ruleGroup' - An empty RuleGroup.+--+-- 'httpStatus', 'createRuleGroupResponse_httpStatus' - The response's http status code.+newCreateRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateRuleGroupResponse+newCreateRuleGroupResponse pHttpStatus_ =+ CreateRuleGroupResponse'+ { changeToken =+ Prelude.Nothing,+ ruleGroup = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateRuleGroup@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+createRuleGroupResponse_changeToken :: Lens.Lens' CreateRuleGroupResponse (Prelude.Maybe Prelude.Text)+createRuleGroupResponse_changeToken = Lens.lens (\CreateRuleGroupResponse' {changeToken} -> changeToken) (\s@CreateRuleGroupResponse' {} a -> s {changeToken = a} :: CreateRuleGroupResponse)++-- | An empty RuleGroup.+createRuleGroupResponse_ruleGroup :: Lens.Lens' CreateRuleGroupResponse (Prelude.Maybe RuleGroup)+createRuleGroupResponse_ruleGroup = Lens.lens (\CreateRuleGroupResponse' {ruleGroup} -> ruleGroup) (\s@CreateRuleGroupResponse' {} a -> s {ruleGroup = a} :: CreateRuleGroupResponse)++-- | The response's http status code.+createRuleGroupResponse_httpStatus :: Lens.Lens' CreateRuleGroupResponse Prelude.Int+createRuleGroupResponse_httpStatus = Lens.lens (\CreateRuleGroupResponse' {httpStatus} -> httpStatus) (\s@CreateRuleGroupResponse' {} a -> s {httpStatus = a} :: CreateRuleGroupResponse)++instance Prelude.NFData CreateRuleGroupResponse where+ rnf CreateRuleGroupResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf ruleGroup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateSizeConstraintSet.hs view
@@ -0,0 +1,245 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateSizeConstraintSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates a @SizeConstraintSet@. You then use UpdateSizeConstraintSet to+-- identify the part of a web request that you want AWS WAF to check for+-- length, such as the length of the @User-Agent@ header or the length of+-- the query string. For example, you can create a @SizeConstraintSet@ that+-- matches any requests that have a query string that is longer than 100+-- bytes. You can then configure AWS WAF to reject those requests.+--+-- To create and configure a @SizeConstraintSet@, perform the following+-- steps:+--+-- 1. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateSizeConstraintSet@ request.+--+-- 2. Submit a @CreateSizeConstraintSet@ request.+--+-- 3. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an @UpdateSizeConstraintSet@ request.+--+-- 4. Submit an UpdateSizeConstraintSet request to specify the part of the+-- request that you want AWS WAF to inspect (for example, the header or+-- the URI) and the value that you want AWS WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateSizeConstraintSet+ ( -- * Creating a Request+ CreateSizeConstraintSet (..),+ newCreateSizeConstraintSet,++ -- * Request Lenses+ createSizeConstraintSet_name,+ createSizeConstraintSet_changeToken,++ -- * Destructuring the Response+ CreateSizeConstraintSetResponse (..),+ newCreateSizeConstraintSetResponse,++ -- * Response Lenses+ createSizeConstraintSetResponse_changeToken,+ createSizeConstraintSetResponse_sizeConstraintSet,+ createSizeConstraintSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateSizeConstraintSet' smart constructor.+data CreateSizeConstraintSet = CreateSizeConstraintSet'+ { -- | A friendly name or description of the SizeConstraintSet. You can\'t+ -- change @Name@ after you create a @SizeConstraintSet@.+ name :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSizeConstraintSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'createSizeConstraintSet_name' - A friendly name or description of the SizeConstraintSet. You can\'t+-- change @Name@ after you create a @SizeConstraintSet@.+--+-- 'changeToken', 'createSizeConstraintSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateSizeConstraintSet ::+ -- | 'name'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateSizeConstraintSet+newCreateSizeConstraintSet pName_ pChangeToken_ =+ CreateSizeConstraintSet'+ { name = pName_,+ changeToken = pChangeToken_+ }++-- | A friendly name or description of the SizeConstraintSet. You can\'t+-- change @Name@ after you create a @SizeConstraintSet@.+createSizeConstraintSet_name :: Lens.Lens' CreateSizeConstraintSet Prelude.Text+createSizeConstraintSet_name = Lens.lens (\CreateSizeConstraintSet' {name} -> name) (\s@CreateSizeConstraintSet' {} a -> s {name = a} :: CreateSizeConstraintSet)++-- | The value returned by the most recent call to GetChangeToken.+createSizeConstraintSet_changeToken :: Lens.Lens' CreateSizeConstraintSet Prelude.Text+createSizeConstraintSet_changeToken = Lens.lens (\CreateSizeConstraintSet' {changeToken} -> changeToken) (\s@CreateSizeConstraintSet' {} a -> s {changeToken = a} :: CreateSizeConstraintSet)++instance Core.AWSRequest CreateSizeConstraintSet where+ type+ AWSResponse CreateSizeConstraintSet =+ CreateSizeConstraintSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateSizeConstraintSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "SizeConstraintSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateSizeConstraintSet where+ hashWithSalt _salt CreateSizeConstraintSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateSizeConstraintSet where+ rnf CreateSizeConstraintSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateSizeConstraintSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateSizeConstraintSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateSizeConstraintSet where+ toJSON CreateSizeConstraintSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateSizeConstraintSet where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateSizeConstraintSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSizeConstraintSetResponse' smart constructor.+data CreateSizeConstraintSetResponse = CreateSizeConstraintSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateSizeConstraintSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | A SizeConstraintSet that contains no @SizeConstraint@ objects.+ sizeConstraintSet :: Prelude.Maybe SizeConstraintSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSizeConstraintSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createSizeConstraintSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateSizeConstraintSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'sizeConstraintSet', 'createSizeConstraintSetResponse_sizeConstraintSet' - A SizeConstraintSet that contains no @SizeConstraint@ objects.+--+-- 'httpStatus', 'createSizeConstraintSetResponse_httpStatus' - The response's http status code.+newCreateSizeConstraintSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateSizeConstraintSetResponse+newCreateSizeConstraintSetResponse pHttpStatus_ =+ CreateSizeConstraintSetResponse'+ { changeToken =+ Prelude.Nothing,+ sizeConstraintSet = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateSizeConstraintSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+createSizeConstraintSetResponse_changeToken :: Lens.Lens' CreateSizeConstraintSetResponse (Prelude.Maybe Prelude.Text)+createSizeConstraintSetResponse_changeToken = Lens.lens (\CreateSizeConstraintSetResponse' {changeToken} -> changeToken) (\s@CreateSizeConstraintSetResponse' {} a -> s {changeToken = a} :: CreateSizeConstraintSetResponse)++-- | A SizeConstraintSet that contains no @SizeConstraint@ objects.+createSizeConstraintSetResponse_sizeConstraintSet :: Lens.Lens' CreateSizeConstraintSetResponse (Prelude.Maybe SizeConstraintSet)+createSizeConstraintSetResponse_sizeConstraintSet = Lens.lens (\CreateSizeConstraintSetResponse' {sizeConstraintSet} -> sizeConstraintSet) (\s@CreateSizeConstraintSetResponse' {} a -> s {sizeConstraintSet = a} :: CreateSizeConstraintSetResponse)++-- | The response's http status code.+createSizeConstraintSetResponse_httpStatus :: Lens.Lens' CreateSizeConstraintSetResponse Prelude.Int+createSizeConstraintSetResponse_httpStatus = Lens.lens (\CreateSizeConstraintSetResponse' {httpStatus} -> httpStatus) (\s@CreateSizeConstraintSetResponse' {} a -> s {httpStatus = a} :: CreateSizeConstraintSetResponse)++instance+ Prelude.NFData+ CreateSizeConstraintSetResponse+ where+ rnf CreateSizeConstraintSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf sizeConstraintSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateSqlInjectionMatchSet.hs view
@@ -0,0 +1,253 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateSqlInjectionMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates a SqlInjectionMatchSet, which you use to allow, block, or count+-- requests that contain snippets of SQL code in a specified part of web+-- requests. AWS WAF searches for character sequences that are likely to be+-- malicious strings.+--+-- To create and configure a @SqlInjectionMatchSet@, perform the following+-- steps:+--+-- 1. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateSqlInjectionMatchSet@ request.+--+-- 2. Submit a @CreateSqlInjectionMatchSet@ request.+--+-- 3. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateSqlInjectionMatchSet request.+--+-- 4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of+-- web requests in which you want to allow, block, or count malicious+-- SQL code.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateSqlInjectionMatchSet+ ( -- * Creating a Request+ CreateSqlInjectionMatchSet (..),+ newCreateSqlInjectionMatchSet,++ -- * Request Lenses+ createSqlInjectionMatchSet_name,+ createSqlInjectionMatchSet_changeToken,++ -- * Destructuring the Response+ CreateSqlInjectionMatchSetResponse (..),+ newCreateSqlInjectionMatchSetResponse,++ -- * Response Lenses+ createSqlInjectionMatchSetResponse_changeToken,+ createSqlInjectionMatchSetResponse_sqlInjectionMatchSet,+ createSqlInjectionMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to create a SqlInjectionMatchSet.+--+-- /See:/ 'newCreateSqlInjectionMatchSet' smart constructor.+data CreateSqlInjectionMatchSet = CreateSqlInjectionMatchSet'+ { -- | A friendly name or description for the SqlInjectionMatchSet that you\'re+ -- creating. You can\'t change @Name@ after you create the+ -- @SqlInjectionMatchSet@.+ name :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSqlInjectionMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'createSqlInjectionMatchSet_name' - A friendly name or description for the SqlInjectionMatchSet that you\'re+-- creating. You can\'t change @Name@ after you create the+-- @SqlInjectionMatchSet@.+--+-- 'changeToken', 'createSqlInjectionMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateSqlInjectionMatchSet ::+ -- | 'name'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateSqlInjectionMatchSet+newCreateSqlInjectionMatchSet pName_ pChangeToken_ =+ CreateSqlInjectionMatchSet'+ { name = pName_,+ changeToken = pChangeToken_+ }++-- | A friendly name or description for the SqlInjectionMatchSet that you\'re+-- creating. You can\'t change @Name@ after you create the+-- @SqlInjectionMatchSet@.+createSqlInjectionMatchSet_name :: Lens.Lens' CreateSqlInjectionMatchSet Prelude.Text+createSqlInjectionMatchSet_name = Lens.lens (\CreateSqlInjectionMatchSet' {name} -> name) (\s@CreateSqlInjectionMatchSet' {} a -> s {name = a} :: CreateSqlInjectionMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+createSqlInjectionMatchSet_changeToken :: Lens.Lens' CreateSqlInjectionMatchSet Prelude.Text+createSqlInjectionMatchSet_changeToken = Lens.lens (\CreateSqlInjectionMatchSet' {changeToken} -> changeToken) (\s@CreateSqlInjectionMatchSet' {} a -> s {changeToken = a} :: CreateSqlInjectionMatchSet)++instance Core.AWSRequest CreateSqlInjectionMatchSet where+ type+ AWSResponse CreateSqlInjectionMatchSet =+ CreateSqlInjectionMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateSqlInjectionMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "SqlInjectionMatchSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateSqlInjectionMatchSet where+ hashWithSalt _salt CreateSqlInjectionMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateSqlInjectionMatchSet where+ rnf CreateSqlInjectionMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateSqlInjectionMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateSqlInjectionMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateSqlInjectionMatchSet where+ toJSON CreateSqlInjectionMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateSqlInjectionMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateSqlInjectionMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a @CreateSqlInjectionMatchSet@ request.+--+-- /See:/ 'newCreateSqlInjectionMatchSetResponse' smart constructor.+data CreateSqlInjectionMatchSetResponse = CreateSqlInjectionMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the+ -- @CreateSqlInjectionMatchSet@ request. You can also use this value to+ -- query the status of the request. For more information, see+ -- GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | A SqlInjectionMatchSet.+ sqlInjectionMatchSet :: Prelude.Maybe SqlInjectionMatchSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSqlInjectionMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createSqlInjectionMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the+-- @CreateSqlInjectionMatchSet@ request. You can also use this value to+-- query the status of the request. For more information, see+-- GetChangeTokenStatus.+--+-- 'sqlInjectionMatchSet', 'createSqlInjectionMatchSetResponse_sqlInjectionMatchSet' - A SqlInjectionMatchSet.+--+-- 'httpStatus', 'createSqlInjectionMatchSetResponse_httpStatus' - The response's http status code.+newCreateSqlInjectionMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateSqlInjectionMatchSetResponse+newCreateSqlInjectionMatchSetResponse pHttpStatus_ =+ CreateSqlInjectionMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ sqlInjectionMatchSet = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the+-- @CreateSqlInjectionMatchSet@ request. You can also use this value to+-- query the status of the request. For more information, see+-- GetChangeTokenStatus.+createSqlInjectionMatchSetResponse_changeToken :: Lens.Lens' CreateSqlInjectionMatchSetResponse (Prelude.Maybe Prelude.Text)+createSqlInjectionMatchSetResponse_changeToken = Lens.lens (\CreateSqlInjectionMatchSetResponse' {changeToken} -> changeToken) (\s@CreateSqlInjectionMatchSetResponse' {} a -> s {changeToken = a} :: CreateSqlInjectionMatchSetResponse)++-- | A SqlInjectionMatchSet.+createSqlInjectionMatchSetResponse_sqlInjectionMatchSet :: Lens.Lens' CreateSqlInjectionMatchSetResponse (Prelude.Maybe SqlInjectionMatchSet)+createSqlInjectionMatchSetResponse_sqlInjectionMatchSet = Lens.lens (\CreateSqlInjectionMatchSetResponse' {sqlInjectionMatchSet} -> sqlInjectionMatchSet) (\s@CreateSqlInjectionMatchSetResponse' {} a -> s {sqlInjectionMatchSet = a} :: CreateSqlInjectionMatchSetResponse)++-- | The response's http status code.+createSqlInjectionMatchSetResponse_httpStatus :: Lens.Lens' CreateSqlInjectionMatchSetResponse Prelude.Int+createSqlInjectionMatchSetResponse_httpStatus = Lens.lens (\CreateSqlInjectionMatchSetResponse' {httpStatus} -> httpStatus) (\s@CreateSqlInjectionMatchSetResponse' {} a -> s {httpStatus = a} :: CreateSqlInjectionMatchSetResponse)++instance+ Prelude.NFData+ CreateSqlInjectionMatchSetResponse+ where+ rnf CreateSqlInjectionMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf sqlInjectionMatchSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateWebACL.hs view
@@ -0,0 +1,314 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateWebACL+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates a @WebACL@, which contains the @Rules@ that identify the+-- CloudFront web requests that you want to allow, block, or count. AWS WAF+-- evaluates @Rules@ in order based on the value of @Priority@ for each+-- @Rule@.+--+-- You also specify a default action, either @ALLOW@ or @BLOCK@. If a web+-- request doesn\'t match any of the @Rules@ in a @WebACL@, AWS WAF+-- responds to the request with the default action.+--+-- To create and configure a @WebACL@, perform the following steps:+--+-- 1. Create and update the @ByteMatchSet@ objects and other predicates+-- that you want to include in @Rules@. For more information, see+-- CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet,+-- CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.+--+-- 2. Create and update the @Rules@ that you want to include in the+-- @WebACL@. For more information, see CreateRule and UpdateRule.+--+-- 3. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateWebACL@ request.+--+-- 4. Submit a @CreateWebACL@ request.+--+-- 5. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateWebACL request.+--+-- 6. Submit an UpdateWebACL request to specify the @Rules@ that you want+-- to include in the @WebACL@, to specify the default action, and to+-- associate the @WebACL@ with a CloudFront distribution.+--+-- For more information about how to use the AWS WAF API, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateWebACL+ ( -- * Creating a Request+ CreateWebACL (..),+ newCreateWebACL,++ -- * Request Lenses+ createWebACL_tags,+ createWebACL_name,+ createWebACL_metricName,+ createWebACL_defaultAction,+ createWebACL_changeToken,++ -- * Destructuring the Response+ CreateWebACLResponse (..),+ newCreateWebACLResponse,++ -- * Response Lenses+ createWebACLResponse_changeToken,+ createWebACLResponse_webACL,+ createWebACLResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateWebACL' smart constructor.+data CreateWebACL = CreateWebACL'+ { tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+ -- | A friendly name or description of the WebACL. You can\'t change @Name@+ -- after you create the @WebACL@.+ name :: Prelude.Text,+ -- | A friendly name or description for the metrics for this @WebACL@.The+ -- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+ -- maximum length 128 and minimum length one. It can\'t contain whitespace+ -- or metric names reserved for AWS WAF, including \"All\" and+ -- \"Default_Action.\" You can\'t change @MetricName@ after you create the+ -- @WebACL@.+ metricName :: Prelude.Text,+ -- | The action that you want AWS WAF to take when a request doesn\'t match+ -- the criteria specified in any of the @Rule@ objects that are associated+ -- with the @WebACL@.+ defaultAction :: WafAction,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWebACL' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'createWebACL_tags' -+--+-- 'name', 'createWebACL_name' - A friendly name or description of the WebACL. You can\'t change @Name@+-- after you create the @WebACL@.+--+-- 'metricName', 'createWebACL_metricName' - A friendly name or description for the metrics for this @WebACL@.The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change @MetricName@ after you create the+-- @WebACL@.+--+-- 'defaultAction', 'createWebACL_defaultAction' - The action that you want AWS WAF to take when a request doesn\'t match+-- the criteria specified in any of the @Rule@ objects that are associated+-- with the @WebACL@.+--+-- 'changeToken', 'createWebACL_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateWebACL ::+ -- | 'name'+ Prelude.Text ->+ -- | 'metricName'+ Prelude.Text ->+ -- | 'defaultAction'+ WafAction ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateWebACL+newCreateWebACL+ pName_+ pMetricName_+ pDefaultAction_+ pChangeToken_ =+ CreateWebACL'+ { tags = Prelude.Nothing,+ name = pName_,+ metricName = pMetricName_,+ defaultAction = pDefaultAction_,+ changeToken = pChangeToken_+ }++createWebACL_tags :: Lens.Lens' CreateWebACL (Prelude.Maybe (Prelude.NonEmpty Tag))+createWebACL_tags = Lens.lens (\CreateWebACL' {tags} -> tags) (\s@CreateWebACL' {} a -> s {tags = a} :: CreateWebACL) Prelude.. Lens.mapping Lens.coerced++-- | A friendly name or description of the WebACL. You can\'t change @Name@+-- after you create the @WebACL@.+createWebACL_name :: Lens.Lens' CreateWebACL Prelude.Text+createWebACL_name = Lens.lens (\CreateWebACL' {name} -> name) (\s@CreateWebACL' {} a -> s {name = a} :: CreateWebACL)++-- | A friendly name or description for the metrics for this @WebACL@.The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change @MetricName@ after you create the+-- @WebACL@.+createWebACL_metricName :: Lens.Lens' CreateWebACL Prelude.Text+createWebACL_metricName = Lens.lens (\CreateWebACL' {metricName} -> metricName) (\s@CreateWebACL' {} a -> s {metricName = a} :: CreateWebACL)++-- | The action that you want AWS WAF to take when a request doesn\'t match+-- the criteria specified in any of the @Rule@ objects that are associated+-- with the @WebACL@.+createWebACL_defaultAction :: Lens.Lens' CreateWebACL WafAction+createWebACL_defaultAction = Lens.lens (\CreateWebACL' {defaultAction} -> defaultAction) (\s@CreateWebACL' {} a -> s {defaultAction = a} :: CreateWebACL)++-- | The value returned by the most recent call to GetChangeToken.+createWebACL_changeToken :: Lens.Lens' CreateWebACL Prelude.Text+createWebACL_changeToken = Lens.lens (\CreateWebACL' {changeToken} -> changeToken) (\s@CreateWebACL' {} a -> s {changeToken = a} :: CreateWebACL)++instance Core.AWSRequest CreateWebACL where+ type AWSResponse CreateWebACL = CreateWebACLResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateWebACLResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "WebACL")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateWebACL where+ hashWithSalt _salt CreateWebACL' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` defaultAction+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateWebACL where+ rnf CreateWebACL' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf defaultAction+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateWebACL where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateWebACL" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateWebACL where+ toJSON CreateWebACL' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("MetricName" Data..= metricName),+ Prelude.Just ("DefaultAction" Data..= defaultAction),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateWebACL where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateWebACL where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWebACLResponse' smart constructor.+data CreateWebACLResponse = CreateWebACLResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateWebACL@ request.+ -- You can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The WebACL returned in the @CreateWebACL@ response.+ webACL :: Prelude.Maybe WebACL,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWebACLResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createWebACLResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateWebACL@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'webACL', 'createWebACLResponse_webACL' - The WebACL returned in the @CreateWebACL@ response.+--+-- 'httpStatus', 'createWebACLResponse_httpStatus' - The response's http status code.+newCreateWebACLResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateWebACLResponse+newCreateWebACLResponse pHttpStatus_ =+ CreateWebACLResponse'+ { changeToken =+ Prelude.Nothing,+ webACL = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateWebACL@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+createWebACLResponse_changeToken :: Lens.Lens' CreateWebACLResponse (Prelude.Maybe Prelude.Text)+createWebACLResponse_changeToken = Lens.lens (\CreateWebACLResponse' {changeToken} -> changeToken) (\s@CreateWebACLResponse' {} a -> s {changeToken = a} :: CreateWebACLResponse)++-- | The WebACL returned in the @CreateWebACL@ response.+createWebACLResponse_webACL :: Lens.Lens' CreateWebACLResponse (Prelude.Maybe WebACL)+createWebACLResponse_webACL = Lens.lens (\CreateWebACLResponse' {webACL} -> webACL) (\s@CreateWebACLResponse' {} a -> s {webACL = a} :: CreateWebACLResponse)++-- | The response's http status code.+createWebACLResponse_httpStatus :: Lens.Lens' CreateWebACLResponse Prelude.Int+createWebACLResponse_httpStatus = Lens.lens (\CreateWebACLResponse' {httpStatus} -> httpStatus) (\s@CreateWebACLResponse' {} a -> s {httpStatus = a} :: CreateWebACLResponse)++instance Prelude.NFData CreateWebACLResponse where+ rnf CreateWebACLResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf webACL+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/CreateWebACLMigrationStack.hs view
@@ -0,0 +1,273 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateWebACLMigrationStack+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an AWS CloudFormation WAFV2 template for the specified web ACL+-- in the specified Amazon S3 bucket. Then, in CloudFormation, you create a+-- stack from the template, to create the web ACL and its resources in AWS+-- WAFV2. Use this to migrate your AWS WAF Classic web ACL to the latest+-- version of AWS WAF.+--+-- This is part of a larger migration procedure for web ACLs from AWS WAF+-- Classic to the latest version of AWS WAF. For the full procedure,+-- including caveats and manual steps to complete the migration and switch+-- over to the new web ACL, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-migrating-from-classic.html Migrating your AWS WAF Classic resources to AWS WAF>+-- in the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+module Amazonka.WAF.CreateWebACLMigrationStack+ ( -- * Creating a Request+ CreateWebACLMigrationStack (..),+ newCreateWebACLMigrationStack,++ -- * Request Lenses+ createWebACLMigrationStack_webACLId,+ createWebACLMigrationStack_s3BucketName,+ createWebACLMigrationStack_ignoreUnsupportedType,++ -- * Destructuring the Response+ CreateWebACLMigrationStackResponse (..),+ newCreateWebACLMigrationStackResponse,++ -- * Response Lenses+ createWebACLMigrationStackResponse_httpStatus,+ createWebACLMigrationStackResponse_s3ObjectUrl,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newCreateWebACLMigrationStack' smart constructor.+data CreateWebACLMigrationStack = CreateWebACLMigrationStack'+ { -- | The UUID of the WAF Classic web ACL that you want to migrate to WAF v2.+ webACLId :: Prelude.Text,+ -- | The name of the Amazon S3 bucket to store the CloudFormation template+ -- in. The S3 bucket must be configured as follows for the migration:+ --+ -- - The bucket name must start with @aws-waf-migration-@. For example,+ -- @aws-waf-migration-my-web-acl@.+ --+ -- - The bucket must be in the Region where you are deploying the+ -- template. For example, for a web ACL in us-west-2, you must use an+ -- Amazon S3 bucket in us-west-2 and you must deploy the template stack+ -- to us-west-2.+ --+ -- - The bucket policies must permit the migration process to write data.+ -- For listings of the bucket policies, see the Examples section.+ s3BucketName :: Prelude.Text,+ -- | Indicates whether to exclude entities that can\'t be migrated or to stop+ -- the migration. Set this to true to ignore unsupported entities in the+ -- web ACL during the migration. Otherwise, if AWS WAF encounters+ -- unsupported entities, it stops the process and throws an exception.+ ignoreUnsupportedType :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWebACLMigrationStack' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'webACLId', 'createWebACLMigrationStack_webACLId' - The UUID of the WAF Classic web ACL that you want to migrate to WAF v2.+--+-- 's3BucketName', 'createWebACLMigrationStack_s3BucketName' - The name of the Amazon S3 bucket to store the CloudFormation template+-- in. The S3 bucket must be configured as follows for the migration:+--+-- - The bucket name must start with @aws-waf-migration-@. For example,+-- @aws-waf-migration-my-web-acl@.+--+-- - The bucket must be in the Region where you are deploying the+-- template. For example, for a web ACL in us-west-2, you must use an+-- Amazon S3 bucket in us-west-2 and you must deploy the template stack+-- to us-west-2.+--+-- - The bucket policies must permit the migration process to write data.+-- For listings of the bucket policies, see the Examples section.+--+-- 'ignoreUnsupportedType', 'createWebACLMigrationStack_ignoreUnsupportedType' - Indicates whether to exclude entities that can\'t be migrated or to stop+-- the migration. Set this to true to ignore unsupported entities in the+-- web ACL during the migration. Otherwise, if AWS WAF encounters+-- unsupported entities, it stops the process and throws an exception.+newCreateWebACLMigrationStack ::+ -- | 'webACLId'+ Prelude.Text ->+ -- | 's3BucketName'+ Prelude.Text ->+ -- | 'ignoreUnsupportedType'+ Prelude.Bool ->+ CreateWebACLMigrationStack+newCreateWebACLMigrationStack+ pWebACLId_+ pS3BucketName_+ pIgnoreUnsupportedType_ =+ CreateWebACLMigrationStack'+ { webACLId = pWebACLId_,+ s3BucketName = pS3BucketName_,+ ignoreUnsupportedType = pIgnoreUnsupportedType_+ }++-- | The UUID of the WAF Classic web ACL that you want to migrate to WAF v2.+createWebACLMigrationStack_webACLId :: Lens.Lens' CreateWebACLMigrationStack Prelude.Text+createWebACLMigrationStack_webACLId = Lens.lens (\CreateWebACLMigrationStack' {webACLId} -> webACLId) (\s@CreateWebACLMigrationStack' {} a -> s {webACLId = a} :: CreateWebACLMigrationStack)++-- | The name of the Amazon S3 bucket to store the CloudFormation template+-- in. The S3 bucket must be configured as follows for the migration:+--+-- - The bucket name must start with @aws-waf-migration-@. For example,+-- @aws-waf-migration-my-web-acl@.+--+-- - The bucket must be in the Region where you are deploying the+-- template. For example, for a web ACL in us-west-2, you must use an+-- Amazon S3 bucket in us-west-2 and you must deploy the template stack+-- to us-west-2.+--+-- - The bucket policies must permit the migration process to write data.+-- For listings of the bucket policies, see the Examples section.+createWebACLMigrationStack_s3BucketName :: Lens.Lens' CreateWebACLMigrationStack Prelude.Text+createWebACLMigrationStack_s3BucketName = Lens.lens (\CreateWebACLMigrationStack' {s3BucketName} -> s3BucketName) (\s@CreateWebACLMigrationStack' {} a -> s {s3BucketName = a} :: CreateWebACLMigrationStack)++-- | Indicates whether to exclude entities that can\'t be migrated or to stop+-- the migration. Set this to true to ignore unsupported entities in the+-- web ACL during the migration. Otherwise, if AWS WAF encounters+-- unsupported entities, it stops the process and throws an exception.+createWebACLMigrationStack_ignoreUnsupportedType :: Lens.Lens' CreateWebACLMigrationStack Prelude.Bool+createWebACLMigrationStack_ignoreUnsupportedType = Lens.lens (\CreateWebACLMigrationStack' {ignoreUnsupportedType} -> ignoreUnsupportedType) (\s@CreateWebACLMigrationStack' {} a -> s {ignoreUnsupportedType = a} :: CreateWebACLMigrationStack)++instance Core.AWSRequest CreateWebACLMigrationStack where+ type+ AWSResponse CreateWebACLMigrationStack =+ CreateWebACLMigrationStackResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateWebACLMigrationStackResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "S3ObjectUrl")+ )++instance Prelude.Hashable CreateWebACLMigrationStack where+ hashWithSalt _salt CreateWebACLMigrationStack' {..} =+ _salt+ `Prelude.hashWithSalt` webACLId+ `Prelude.hashWithSalt` s3BucketName+ `Prelude.hashWithSalt` ignoreUnsupportedType++instance Prelude.NFData CreateWebACLMigrationStack where+ rnf CreateWebACLMigrationStack' {..} =+ Prelude.rnf webACLId+ `Prelude.seq` Prelude.rnf s3BucketName+ `Prelude.seq` Prelude.rnf ignoreUnsupportedType++instance Data.ToHeaders CreateWebACLMigrationStack where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateWebACLMigrationStack" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateWebACLMigrationStack where+ toJSON CreateWebACLMigrationStack' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("WebACLId" Data..= webACLId),+ Prelude.Just ("S3BucketName" Data..= s3BucketName),+ Prelude.Just+ ( "IgnoreUnsupportedType"+ Data..= ignoreUnsupportedType+ )+ ]+ )++instance Data.ToPath CreateWebACLMigrationStack where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateWebACLMigrationStack where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWebACLMigrationStackResponse' smart constructor.+data CreateWebACLMigrationStackResponse = CreateWebACLMigrationStackResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The URL of the template created in Amazon S3.+ s3ObjectUrl :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWebACLMigrationStackResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createWebACLMigrationStackResponse_httpStatus' - The response's http status code.+--+-- 's3ObjectUrl', 'createWebACLMigrationStackResponse_s3ObjectUrl' - The URL of the template created in Amazon S3.+newCreateWebACLMigrationStackResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 's3ObjectUrl'+ Prelude.Text ->+ CreateWebACLMigrationStackResponse+newCreateWebACLMigrationStackResponse+ pHttpStatus_+ pS3ObjectUrl_ =+ CreateWebACLMigrationStackResponse'+ { httpStatus =+ pHttpStatus_,+ s3ObjectUrl = pS3ObjectUrl_+ }++-- | The response's http status code.+createWebACLMigrationStackResponse_httpStatus :: Lens.Lens' CreateWebACLMigrationStackResponse Prelude.Int+createWebACLMigrationStackResponse_httpStatus = Lens.lens (\CreateWebACLMigrationStackResponse' {httpStatus} -> httpStatus) (\s@CreateWebACLMigrationStackResponse' {} a -> s {httpStatus = a} :: CreateWebACLMigrationStackResponse)++-- | The URL of the template created in Amazon S3.+createWebACLMigrationStackResponse_s3ObjectUrl :: Lens.Lens' CreateWebACLMigrationStackResponse Prelude.Text+createWebACLMigrationStackResponse_s3ObjectUrl = Lens.lens (\CreateWebACLMigrationStackResponse' {s3ObjectUrl} -> s3ObjectUrl) (\s@CreateWebACLMigrationStackResponse' {} a -> s {s3ObjectUrl = a} :: CreateWebACLMigrationStackResponse)++instance+ Prelude.NFData+ CreateWebACLMigrationStackResponse+ where+ rnf CreateWebACLMigrationStackResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf s3ObjectUrl
+ gen/Amazonka/WAF/CreateXssMatchSet.hs view
@@ -0,0 +1,243 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.CreateXssMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Creates an XssMatchSet, which you use to allow, block, or count requests+-- that contain cross-site scripting attacks in the specified part of web+-- requests. AWS WAF searches for character sequences that are likely to be+-- malicious strings.+--+-- To create and configure an @XssMatchSet@, perform the following steps:+--+-- 1. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @CreateXssMatchSet@ request.+--+-- 2. Submit a @CreateXssMatchSet@ request.+--+-- 3. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateXssMatchSet request.+--+-- 4. Submit an UpdateXssMatchSet request to specify the parts of web+-- requests in which you want to allow, block, or count cross-site+-- scripting attacks.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.CreateXssMatchSet+ ( -- * Creating a Request+ CreateXssMatchSet (..),+ newCreateXssMatchSet,++ -- * Request Lenses+ createXssMatchSet_name,+ createXssMatchSet_changeToken,++ -- * Destructuring the Response+ CreateXssMatchSetResponse (..),+ newCreateXssMatchSetResponse,++ -- * Response Lenses+ createXssMatchSetResponse_changeToken,+ createXssMatchSetResponse_xssMatchSet,+ createXssMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to create an XssMatchSet.+--+-- /See:/ 'newCreateXssMatchSet' smart constructor.+data CreateXssMatchSet = CreateXssMatchSet'+ { -- | A friendly name or description for the XssMatchSet that you\'re+ -- creating. You can\'t change @Name@ after you create the @XssMatchSet@.+ name :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateXssMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'createXssMatchSet_name' - A friendly name or description for the XssMatchSet that you\'re+-- creating. You can\'t change @Name@ after you create the @XssMatchSet@.+--+-- 'changeToken', 'createXssMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newCreateXssMatchSet ::+ -- | 'name'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ CreateXssMatchSet+newCreateXssMatchSet pName_ pChangeToken_ =+ CreateXssMatchSet'+ { name = pName_,+ changeToken = pChangeToken_+ }++-- | A friendly name or description for the XssMatchSet that you\'re+-- creating. You can\'t change @Name@ after you create the @XssMatchSet@.+createXssMatchSet_name :: Lens.Lens' CreateXssMatchSet Prelude.Text+createXssMatchSet_name = Lens.lens (\CreateXssMatchSet' {name} -> name) (\s@CreateXssMatchSet' {} a -> s {name = a} :: CreateXssMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+createXssMatchSet_changeToken :: Lens.Lens' CreateXssMatchSet Prelude.Text+createXssMatchSet_changeToken = Lens.lens (\CreateXssMatchSet' {changeToken} -> changeToken) (\s@CreateXssMatchSet' {} a -> s {changeToken = a} :: CreateXssMatchSet)++instance Core.AWSRequest CreateXssMatchSet where+ type+ AWSResponse CreateXssMatchSet =+ CreateXssMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateXssMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (x Data..?> "XssMatchSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateXssMatchSet where+ hashWithSalt _salt CreateXssMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData CreateXssMatchSet where+ rnf CreateXssMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders CreateXssMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.CreateXssMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateXssMatchSet where+ toJSON CreateXssMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath CreateXssMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateXssMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a @CreateXssMatchSet@ request.+--+-- /See:/ 'newCreateXssMatchSetResponse' smart constructor.+data CreateXssMatchSetResponse = CreateXssMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @CreateXssMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | An XssMatchSet.+ xssMatchSet :: Prelude.Maybe XssMatchSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateXssMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'createXssMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @CreateXssMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'xssMatchSet', 'createXssMatchSetResponse_xssMatchSet' - An XssMatchSet.+--+-- 'httpStatus', 'createXssMatchSetResponse_httpStatus' - The response's http status code.+newCreateXssMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateXssMatchSetResponse+newCreateXssMatchSetResponse pHttpStatus_ =+ CreateXssMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ xssMatchSet = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @CreateXssMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+createXssMatchSetResponse_changeToken :: Lens.Lens' CreateXssMatchSetResponse (Prelude.Maybe Prelude.Text)+createXssMatchSetResponse_changeToken = Lens.lens (\CreateXssMatchSetResponse' {changeToken} -> changeToken) (\s@CreateXssMatchSetResponse' {} a -> s {changeToken = a} :: CreateXssMatchSetResponse)++-- | An XssMatchSet.+createXssMatchSetResponse_xssMatchSet :: Lens.Lens' CreateXssMatchSetResponse (Prelude.Maybe XssMatchSet)+createXssMatchSetResponse_xssMatchSet = Lens.lens (\CreateXssMatchSetResponse' {xssMatchSet} -> xssMatchSet) (\s@CreateXssMatchSetResponse' {} a -> s {xssMatchSet = a} :: CreateXssMatchSetResponse)++-- | The response's http status code.+createXssMatchSetResponse_httpStatus :: Lens.Lens' CreateXssMatchSetResponse Prelude.Int+createXssMatchSetResponse_httpStatus = Lens.lens (\CreateXssMatchSetResponse' {httpStatus} -> httpStatus) (\s@CreateXssMatchSetResponse' {} a -> s {httpStatus = a} :: CreateXssMatchSetResponse)++instance Prelude.NFData CreateXssMatchSetResponse where+ rnf CreateXssMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf xssMatchSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteByteMatchSet.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteByteMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a ByteMatchSet. You can\'t delete a @ByteMatchSet@+-- if it\'s still used in any @Rules@ or if it still includes any+-- ByteMatchTuple objects (any filters).+--+-- If you just want to remove a @ByteMatchSet@ from a @Rule@, use+-- UpdateRule.+--+-- To permanently delete a @ByteMatchSet@, perform the following steps:+--+-- 1. Update the @ByteMatchSet@ to remove filters, if any. For more+-- information, see UpdateByteMatchSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteByteMatchSet@ request.+--+-- 3. Submit a @DeleteByteMatchSet@ request.+module Amazonka.WAF.DeleteByteMatchSet+ ( -- * Creating a Request+ DeleteByteMatchSet (..),+ newDeleteByteMatchSet,++ -- * Request Lenses+ deleteByteMatchSet_byteMatchSetId,+ deleteByteMatchSet_changeToken,++ -- * Destructuring the Response+ DeleteByteMatchSetResponse (..),+ newDeleteByteMatchSetResponse,++ -- * Response Lenses+ deleteByteMatchSetResponse_changeToken,+ deleteByteMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteByteMatchSet' smart constructor.+data DeleteByteMatchSet = DeleteByteMatchSet'+ { -- | The @ByteMatchSetId@ of the ByteMatchSet that you want to delete.+ -- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+ -- ListByteMatchSets.+ byteMatchSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteByteMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'byteMatchSetId', 'deleteByteMatchSet_byteMatchSetId' - The @ByteMatchSetId@ of the ByteMatchSet that you want to delete.+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+--+-- 'changeToken', 'deleteByteMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteByteMatchSet ::+ -- | 'byteMatchSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteByteMatchSet+newDeleteByteMatchSet pByteMatchSetId_ pChangeToken_ =+ DeleteByteMatchSet'+ { byteMatchSetId =+ pByteMatchSetId_,+ changeToken = pChangeToken_+ }++-- | The @ByteMatchSetId@ of the ByteMatchSet that you want to delete.+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+deleteByteMatchSet_byteMatchSetId :: Lens.Lens' DeleteByteMatchSet Prelude.Text+deleteByteMatchSet_byteMatchSetId = Lens.lens (\DeleteByteMatchSet' {byteMatchSetId} -> byteMatchSetId) (\s@DeleteByteMatchSet' {} a -> s {byteMatchSetId = a} :: DeleteByteMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+deleteByteMatchSet_changeToken :: Lens.Lens' DeleteByteMatchSet Prelude.Text+deleteByteMatchSet_changeToken = Lens.lens (\DeleteByteMatchSet' {changeToken} -> changeToken) (\s@DeleteByteMatchSet' {} a -> s {changeToken = a} :: DeleteByteMatchSet)++instance Core.AWSRequest DeleteByteMatchSet where+ type+ AWSResponse DeleteByteMatchSet =+ DeleteByteMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteByteMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteByteMatchSet where+ hashWithSalt _salt DeleteByteMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` byteMatchSetId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteByteMatchSet where+ rnf DeleteByteMatchSet' {..} =+ Prelude.rnf byteMatchSetId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteByteMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteByteMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteByteMatchSet where+ toJSON DeleteByteMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ByteMatchSetId" Data..= byteMatchSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteByteMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteByteMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteByteMatchSetResponse' smart constructor.+data DeleteByteMatchSetResponse = DeleteByteMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteByteMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteByteMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteByteMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteByteMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteByteMatchSetResponse_httpStatus' - The response's http status code.+newDeleteByteMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteByteMatchSetResponse+newDeleteByteMatchSetResponse pHttpStatus_ =+ DeleteByteMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteByteMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+deleteByteMatchSetResponse_changeToken :: Lens.Lens' DeleteByteMatchSetResponse (Prelude.Maybe Prelude.Text)+deleteByteMatchSetResponse_changeToken = Lens.lens (\DeleteByteMatchSetResponse' {changeToken} -> changeToken) (\s@DeleteByteMatchSetResponse' {} a -> s {changeToken = a} :: DeleteByteMatchSetResponse)++-- | The response's http status code.+deleteByteMatchSetResponse_httpStatus :: Lens.Lens' DeleteByteMatchSetResponse Prelude.Int+deleteByteMatchSetResponse_httpStatus = Lens.lens (\DeleteByteMatchSetResponse' {httpStatus} -> httpStatus) (\s@DeleteByteMatchSetResponse' {} a -> s {httpStatus = a} :: DeleteByteMatchSetResponse)++instance Prelude.NFData DeleteByteMatchSetResponse where+ rnf DeleteByteMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteGeoMatchSet.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteGeoMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a GeoMatchSet. You can\'t delete a @GeoMatchSet@ if+-- it\'s still used in any @Rules@ or if it still includes any countries.+--+-- If you just want to remove a @GeoMatchSet@ from a @Rule@, use+-- UpdateRule.+--+-- To permanently delete a @GeoMatchSet@ from AWS WAF, perform the+-- following steps:+--+-- 1. Update the @GeoMatchSet@ to remove any countries. For more+-- information, see UpdateGeoMatchSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteGeoMatchSet@ request.+--+-- 3. Submit a @DeleteGeoMatchSet@ request.+module Amazonka.WAF.DeleteGeoMatchSet+ ( -- * Creating a Request+ DeleteGeoMatchSet (..),+ newDeleteGeoMatchSet,++ -- * Request Lenses+ deleteGeoMatchSet_geoMatchSetId,+ deleteGeoMatchSet_changeToken,++ -- * Destructuring the Response+ DeleteGeoMatchSetResponse (..),+ newDeleteGeoMatchSetResponse,++ -- * Response Lenses+ deleteGeoMatchSetResponse_changeToken,+ deleteGeoMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteGeoMatchSet' smart constructor.+data DeleteGeoMatchSet = DeleteGeoMatchSet'+ { -- | The @GeoMatchSetID@ of the GeoMatchSet that you want to delete.+ -- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+ -- ListGeoMatchSets.+ geoMatchSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGeoMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoMatchSetId', 'deleteGeoMatchSet_geoMatchSetId' - The @GeoMatchSetID@ of the GeoMatchSet that you want to delete.+-- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+-- ListGeoMatchSets.+--+-- 'changeToken', 'deleteGeoMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteGeoMatchSet ::+ -- | 'geoMatchSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteGeoMatchSet+newDeleteGeoMatchSet pGeoMatchSetId_ pChangeToken_ =+ DeleteGeoMatchSet'+ { geoMatchSetId = pGeoMatchSetId_,+ changeToken = pChangeToken_+ }++-- | The @GeoMatchSetID@ of the GeoMatchSet that you want to delete.+-- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+-- ListGeoMatchSets.+deleteGeoMatchSet_geoMatchSetId :: Lens.Lens' DeleteGeoMatchSet Prelude.Text+deleteGeoMatchSet_geoMatchSetId = Lens.lens (\DeleteGeoMatchSet' {geoMatchSetId} -> geoMatchSetId) (\s@DeleteGeoMatchSet' {} a -> s {geoMatchSetId = a} :: DeleteGeoMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+deleteGeoMatchSet_changeToken :: Lens.Lens' DeleteGeoMatchSet Prelude.Text+deleteGeoMatchSet_changeToken = Lens.lens (\DeleteGeoMatchSet' {changeToken} -> changeToken) (\s@DeleteGeoMatchSet' {} a -> s {changeToken = a} :: DeleteGeoMatchSet)++instance Core.AWSRequest DeleteGeoMatchSet where+ type+ AWSResponse DeleteGeoMatchSet =+ DeleteGeoMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteGeoMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteGeoMatchSet where+ hashWithSalt _salt DeleteGeoMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` geoMatchSetId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteGeoMatchSet where+ rnf DeleteGeoMatchSet' {..} =+ Prelude.rnf geoMatchSetId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteGeoMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteGeoMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteGeoMatchSet where+ toJSON DeleteGeoMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("GeoMatchSetId" Data..= geoMatchSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteGeoMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteGeoMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGeoMatchSetResponse' smart constructor.+data DeleteGeoMatchSetResponse = DeleteGeoMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteGeoMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGeoMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteGeoMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteGeoMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteGeoMatchSetResponse_httpStatus' - The response's http status code.+newDeleteGeoMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteGeoMatchSetResponse+newDeleteGeoMatchSetResponse pHttpStatus_ =+ DeleteGeoMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteGeoMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+deleteGeoMatchSetResponse_changeToken :: Lens.Lens' DeleteGeoMatchSetResponse (Prelude.Maybe Prelude.Text)+deleteGeoMatchSetResponse_changeToken = Lens.lens (\DeleteGeoMatchSetResponse' {changeToken} -> changeToken) (\s@DeleteGeoMatchSetResponse' {} a -> s {changeToken = a} :: DeleteGeoMatchSetResponse)++-- | The response's http status code.+deleteGeoMatchSetResponse_httpStatus :: Lens.Lens' DeleteGeoMatchSetResponse Prelude.Int+deleteGeoMatchSetResponse_httpStatus = Lens.lens (\DeleteGeoMatchSetResponse' {httpStatus} -> httpStatus) (\s@DeleteGeoMatchSetResponse' {} a -> s {httpStatus = a} :: DeleteGeoMatchSetResponse)++instance Prelude.NFData DeleteGeoMatchSetResponse where+ rnf DeleteGeoMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteIPSet.hs view
@@ -0,0 +1,217 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteIPSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes an IPSet. You can\'t delete an @IPSet@ if it\'s+-- still used in any @Rules@ or if it still includes any IP addresses.+--+-- If you just want to remove an @IPSet@ from a @Rule@, use UpdateRule.+--+-- To permanently delete an @IPSet@ from AWS WAF, perform the following+-- steps:+--+-- 1. Update the @IPSet@ to remove IP address ranges, if any. For more+-- information, see UpdateIPSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteIPSet@ request.+--+-- 3. Submit a @DeleteIPSet@ request.+module Amazonka.WAF.DeleteIPSet+ ( -- * Creating a Request+ DeleteIPSet (..),+ newDeleteIPSet,++ -- * Request Lenses+ deleteIPSet_iPSetId,+ deleteIPSet_changeToken,++ -- * Destructuring the Response+ DeleteIPSetResponse (..),+ newDeleteIPSetResponse,++ -- * Response Lenses+ deleteIPSetResponse_changeToken,+ deleteIPSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteIPSet' smart constructor.+data DeleteIPSet = DeleteIPSet'+ { -- | The @IPSetId@ of the IPSet that you want to delete. @IPSetId@ is+ -- returned by CreateIPSet and by ListIPSets.+ iPSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteIPSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iPSetId', 'deleteIPSet_iPSetId' - The @IPSetId@ of the IPSet that you want to delete. @IPSetId@ is+-- returned by CreateIPSet and by ListIPSets.+--+-- 'changeToken', 'deleteIPSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteIPSet ::+ -- | 'iPSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteIPSet+newDeleteIPSet pIPSetId_ pChangeToken_ =+ DeleteIPSet'+ { iPSetId = pIPSetId_,+ changeToken = pChangeToken_+ }++-- | The @IPSetId@ of the IPSet that you want to delete. @IPSetId@ is+-- returned by CreateIPSet and by ListIPSets.+deleteIPSet_iPSetId :: Lens.Lens' DeleteIPSet Prelude.Text+deleteIPSet_iPSetId = Lens.lens (\DeleteIPSet' {iPSetId} -> iPSetId) (\s@DeleteIPSet' {} a -> s {iPSetId = a} :: DeleteIPSet)++-- | The value returned by the most recent call to GetChangeToken.+deleteIPSet_changeToken :: Lens.Lens' DeleteIPSet Prelude.Text+deleteIPSet_changeToken = Lens.lens (\DeleteIPSet' {changeToken} -> changeToken) (\s@DeleteIPSet' {} a -> s {changeToken = a} :: DeleteIPSet)++instance Core.AWSRequest DeleteIPSet where+ type AWSResponse DeleteIPSet = DeleteIPSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteIPSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteIPSet where+ hashWithSalt _salt DeleteIPSet' {..} =+ _salt+ `Prelude.hashWithSalt` iPSetId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteIPSet where+ rnf DeleteIPSet' {..} =+ Prelude.rnf iPSetId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteIPSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteIPSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteIPSet where+ toJSON DeleteIPSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("IPSetId" Data..= iPSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteIPSet where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteIPSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteIPSetResponse' smart constructor.+data DeleteIPSetResponse = DeleteIPSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteIPSet@ request. You+ -- can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteIPSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteIPSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteIPSet@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteIPSetResponse_httpStatus' - The response's http status code.+newDeleteIPSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteIPSetResponse+newDeleteIPSetResponse pHttpStatus_ =+ DeleteIPSetResponse'+ { changeToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteIPSet@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+deleteIPSetResponse_changeToken :: Lens.Lens' DeleteIPSetResponse (Prelude.Maybe Prelude.Text)+deleteIPSetResponse_changeToken = Lens.lens (\DeleteIPSetResponse' {changeToken} -> changeToken) (\s@DeleteIPSetResponse' {} a -> s {changeToken = a} :: DeleteIPSetResponse)++-- | The response's http status code.+deleteIPSetResponse_httpStatus :: Lens.Lens' DeleteIPSetResponse Prelude.Int+deleteIPSetResponse_httpStatus = Lens.lens (\DeleteIPSetResponse' {httpStatus} -> httpStatus) (\s@DeleteIPSetResponse' {} a -> s {httpStatus = a} :: DeleteIPSetResponse)++instance Prelude.NFData DeleteIPSetResponse where+ rnf DeleteIPSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteLoggingConfiguration.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteLoggingConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes the LoggingConfiguration from the specified web ACL.+module Amazonka.WAF.DeleteLoggingConfiguration+ ( -- * Creating a Request+ DeleteLoggingConfiguration (..),+ newDeleteLoggingConfiguration,++ -- * Request Lenses+ deleteLoggingConfiguration_resourceArn,++ -- * Destructuring the Response+ DeleteLoggingConfigurationResponse (..),+ newDeleteLoggingConfigurationResponse,++ -- * Response Lenses+ deleteLoggingConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteLoggingConfiguration' smart constructor.+data DeleteLoggingConfiguration = DeleteLoggingConfiguration'+ { -- | The Amazon Resource Name (ARN) of the web ACL from which you want to+ -- delete the LoggingConfiguration.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLoggingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'deleteLoggingConfiguration_resourceArn' - The Amazon Resource Name (ARN) of the web ACL from which you want to+-- delete the LoggingConfiguration.+newDeleteLoggingConfiguration ::+ -- | 'resourceArn'+ Prelude.Text ->+ DeleteLoggingConfiguration+newDeleteLoggingConfiguration pResourceArn_ =+ DeleteLoggingConfiguration'+ { resourceArn =+ pResourceArn_+ }++-- | The Amazon Resource Name (ARN) of the web ACL from which you want to+-- delete the LoggingConfiguration.+deleteLoggingConfiguration_resourceArn :: Lens.Lens' DeleteLoggingConfiguration Prelude.Text+deleteLoggingConfiguration_resourceArn = Lens.lens (\DeleteLoggingConfiguration' {resourceArn} -> resourceArn) (\s@DeleteLoggingConfiguration' {} a -> s {resourceArn = a} :: DeleteLoggingConfiguration)++instance Core.AWSRequest DeleteLoggingConfiguration where+ type+ AWSResponse DeleteLoggingConfiguration =+ DeleteLoggingConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteLoggingConfigurationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteLoggingConfiguration where+ hashWithSalt _salt DeleteLoggingConfiguration' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData DeleteLoggingConfiguration where+ rnf DeleteLoggingConfiguration' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders DeleteLoggingConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteLoggingConfiguration" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteLoggingConfiguration where+ toJSON DeleteLoggingConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceArn" Data..= resourceArn)]+ )++instance Data.ToPath DeleteLoggingConfiguration where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteLoggingConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLoggingConfigurationResponse' smart constructor.+data DeleteLoggingConfigurationResponse = DeleteLoggingConfigurationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLoggingConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteLoggingConfigurationResponse_httpStatus' - The response's http status code.+newDeleteLoggingConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteLoggingConfigurationResponse+newDeleteLoggingConfigurationResponse pHttpStatus_ =+ DeleteLoggingConfigurationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteLoggingConfigurationResponse_httpStatus :: Lens.Lens' DeleteLoggingConfigurationResponse Prelude.Int+deleteLoggingConfigurationResponse_httpStatus = Lens.lens (\DeleteLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@DeleteLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: DeleteLoggingConfigurationResponse)++instance+ Prelude.NFData+ DeleteLoggingConfigurationResponse+ where+ rnf DeleteLoggingConfigurationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeletePermissionPolicy.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeletePermissionPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes an IAM policy from the specified RuleGroup.+--+-- The user making the request must be the owner of the RuleGroup.+module Amazonka.WAF.DeletePermissionPolicy+ ( -- * Creating a Request+ DeletePermissionPolicy (..),+ newDeletePermissionPolicy,++ -- * Request Lenses+ deletePermissionPolicy_resourceArn,++ -- * Destructuring the Response+ DeletePermissionPolicyResponse (..),+ newDeletePermissionPolicyResponse,++ -- * Response Lenses+ deletePermissionPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeletePermissionPolicy' smart constructor.+data DeletePermissionPolicy = DeletePermissionPolicy'+ { -- | The Amazon Resource Name (ARN) of the RuleGroup from which you want to+ -- delete the policy.+ --+ -- The user making the request must be the owner of the RuleGroup.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePermissionPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'deletePermissionPolicy_resourceArn' - The Amazon Resource Name (ARN) of the RuleGroup from which you want to+-- delete the policy.+--+-- The user making the request must be the owner of the RuleGroup.+newDeletePermissionPolicy ::+ -- | 'resourceArn'+ Prelude.Text ->+ DeletePermissionPolicy+newDeletePermissionPolicy pResourceArn_ =+ DeletePermissionPolicy'+ { resourceArn =+ pResourceArn_+ }++-- | The Amazon Resource Name (ARN) of the RuleGroup from which you want to+-- delete the policy.+--+-- The user making the request must be the owner of the RuleGroup.+deletePermissionPolicy_resourceArn :: Lens.Lens' DeletePermissionPolicy Prelude.Text+deletePermissionPolicy_resourceArn = Lens.lens (\DeletePermissionPolicy' {resourceArn} -> resourceArn) (\s@DeletePermissionPolicy' {} a -> s {resourceArn = a} :: DeletePermissionPolicy)++instance Core.AWSRequest DeletePermissionPolicy where+ type+ AWSResponse DeletePermissionPolicy =+ DeletePermissionPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeletePermissionPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeletePermissionPolicy where+ hashWithSalt _salt DeletePermissionPolicy' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData DeletePermissionPolicy where+ rnf DeletePermissionPolicy' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders DeletePermissionPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeletePermissionPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeletePermissionPolicy where+ toJSON DeletePermissionPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceArn" Data..= resourceArn)]+ )++instance Data.ToPath DeletePermissionPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery DeletePermissionPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePermissionPolicyResponse' smart constructor.+data DeletePermissionPolicyResponse = DeletePermissionPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePermissionPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deletePermissionPolicyResponse_httpStatus' - The response's http status code.+newDeletePermissionPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeletePermissionPolicyResponse+newDeletePermissionPolicyResponse pHttpStatus_ =+ DeletePermissionPolicyResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deletePermissionPolicyResponse_httpStatus :: Lens.Lens' DeletePermissionPolicyResponse Prelude.Int+deletePermissionPolicyResponse_httpStatus = Lens.lens (\DeletePermissionPolicyResponse' {httpStatus} -> httpStatus) (\s@DeletePermissionPolicyResponse' {} a -> s {httpStatus = a} :: DeletePermissionPolicyResponse)++instance+ Prelude.NFData+ DeletePermissionPolicyResponse+ where+ rnf DeletePermissionPolicyResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteRateBasedRule.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteRateBasedRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a RateBasedRule. You can\'t delete a rule if it\'s+-- still used in any @WebACL@ objects or if it still includes any+-- predicates, such as @ByteMatchSet@ objects.+--+-- If you just want to remove a rule from a @WebACL@, use UpdateWebACL.+--+-- To permanently delete a @RateBasedRule@ from AWS WAF, perform the+-- following steps:+--+-- 1. Update the @RateBasedRule@ to remove predicates, if any. For more+-- information, see UpdateRateBasedRule.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteRateBasedRule@ request.+--+-- 3. Submit a @DeleteRateBasedRule@ request.+module Amazonka.WAF.DeleteRateBasedRule+ ( -- * Creating a Request+ DeleteRateBasedRule (..),+ newDeleteRateBasedRule,++ -- * Request Lenses+ deleteRateBasedRule_ruleId,+ deleteRateBasedRule_changeToken,++ -- * Destructuring the Response+ DeleteRateBasedRuleResponse (..),+ newDeleteRateBasedRuleResponse,++ -- * Response Lenses+ deleteRateBasedRuleResponse_changeToken,+ deleteRateBasedRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteRateBasedRule' smart constructor.+data DeleteRateBasedRule = DeleteRateBasedRule'+ { -- | The @RuleId@ of the RateBasedRule that you want to delete. @RuleId@ is+ -- returned by CreateRateBasedRule and by ListRateBasedRules.+ ruleId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRateBasedRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleId', 'deleteRateBasedRule_ruleId' - The @RuleId@ of the RateBasedRule that you want to delete. @RuleId@ is+-- returned by CreateRateBasedRule and by ListRateBasedRules.+--+-- 'changeToken', 'deleteRateBasedRule_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteRateBasedRule ::+ -- | 'ruleId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteRateBasedRule+newDeleteRateBasedRule pRuleId_ pChangeToken_ =+ DeleteRateBasedRule'+ { ruleId = pRuleId_,+ changeToken = pChangeToken_+ }++-- | The @RuleId@ of the RateBasedRule that you want to delete. @RuleId@ is+-- returned by CreateRateBasedRule and by ListRateBasedRules.+deleteRateBasedRule_ruleId :: Lens.Lens' DeleteRateBasedRule Prelude.Text+deleteRateBasedRule_ruleId = Lens.lens (\DeleteRateBasedRule' {ruleId} -> ruleId) (\s@DeleteRateBasedRule' {} a -> s {ruleId = a} :: DeleteRateBasedRule)++-- | The value returned by the most recent call to GetChangeToken.+deleteRateBasedRule_changeToken :: Lens.Lens' DeleteRateBasedRule Prelude.Text+deleteRateBasedRule_changeToken = Lens.lens (\DeleteRateBasedRule' {changeToken} -> changeToken) (\s@DeleteRateBasedRule' {} a -> s {changeToken = a} :: DeleteRateBasedRule)++instance Core.AWSRequest DeleteRateBasedRule where+ type+ AWSResponse DeleteRateBasedRule =+ DeleteRateBasedRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteRateBasedRuleResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteRateBasedRule where+ hashWithSalt _salt DeleteRateBasedRule' {..} =+ _salt+ `Prelude.hashWithSalt` ruleId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteRateBasedRule where+ rnf DeleteRateBasedRule' {..} =+ Prelude.rnf ruleId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteRateBasedRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteRateBasedRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteRateBasedRule where+ toJSON DeleteRateBasedRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("RuleId" Data..= ruleId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteRateBasedRule where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteRateBasedRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRateBasedRuleResponse' smart constructor.+data DeleteRateBasedRuleResponse = DeleteRateBasedRuleResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteRateBasedRule@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRateBasedRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteRateBasedRuleResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteRateBasedRule@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteRateBasedRuleResponse_httpStatus' - The response's http status code.+newDeleteRateBasedRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteRateBasedRuleResponse+newDeleteRateBasedRuleResponse pHttpStatus_ =+ DeleteRateBasedRuleResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteRateBasedRule@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+deleteRateBasedRuleResponse_changeToken :: Lens.Lens' DeleteRateBasedRuleResponse (Prelude.Maybe Prelude.Text)+deleteRateBasedRuleResponse_changeToken = Lens.lens (\DeleteRateBasedRuleResponse' {changeToken} -> changeToken) (\s@DeleteRateBasedRuleResponse' {} a -> s {changeToken = a} :: DeleteRateBasedRuleResponse)++-- | The response's http status code.+deleteRateBasedRuleResponse_httpStatus :: Lens.Lens' DeleteRateBasedRuleResponse Prelude.Int+deleteRateBasedRuleResponse_httpStatus = Lens.lens (\DeleteRateBasedRuleResponse' {httpStatus} -> httpStatus) (\s@DeleteRateBasedRuleResponse' {} a -> s {httpStatus = a} :: DeleteRateBasedRuleResponse)++instance Prelude.NFData DeleteRateBasedRuleResponse where+ rnf DeleteRateBasedRuleResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteRegexMatchSet.hs view
@@ -0,0 +1,228 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteRegexMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a RegexMatchSet. You can\'t delete a @RegexMatchSet@+-- if it\'s still used in any @Rules@ or if it still includes any+-- @RegexMatchTuples@ objects (any filters).+--+-- If you just want to remove a @RegexMatchSet@ from a @Rule@, use+-- UpdateRule.+--+-- To permanently delete a @RegexMatchSet@, perform the following steps:+--+-- 1. Update the @RegexMatchSet@ to remove filters, if any. For more+-- information, see UpdateRegexMatchSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteRegexMatchSet@ request.+--+-- 3. Submit a @DeleteRegexMatchSet@ request.+module Amazonka.WAF.DeleteRegexMatchSet+ ( -- * Creating a Request+ DeleteRegexMatchSet (..),+ newDeleteRegexMatchSet,++ -- * Request Lenses+ deleteRegexMatchSet_regexMatchSetId,+ deleteRegexMatchSet_changeToken,++ -- * Destructuring the Response+ DeleteRegexMatchSetResponse (..),+ newDeleteRegexMatchSetResponse,++ -- * Response Lenses+ deleteRegexMatchSetResponse_changeToken,+ deleteRegexMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteRegexMatchSet' smart constructor.+data DeleteRegexMatchSet = DeleteRegexMatchSet'+ { -- | The @RegexMatchSetId@ of the RegexMatchSet that you want to delete.+ -- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+ -- ListRegexMatchSets.+ regexMatchSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRegexMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexMatchSetId', 'deleteRegexMatchSet_regexMatchSetId' - The @RegexMatchSetId@ of the RegexMatchSet that you want to delete.+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+--+-- 'changeToken', 'deleteRegexMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteRegexMatchSet ::+ -- | 'regexMatchSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteRegexMatchSet+newDeleteRegexMatchSet+ pRegexMatchSetId_+ pChangeToken_ =+ DeleteRegexMatchSet'+ { regexMatchSetId =+ pRegexMatchSetId_,+ changeToken = pChangeToken_+ }++-- | The @RegexMatchSetId@ of the RegexMatchSet that you want to delete.+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+deleteRegexMatchSet_regexMatchSetId :: Lens.Lens' DeleteRegexMatchSet Prelude.Text+deleteRegexMatchSet_regexMatchSetId = Lens.lens (\DeleteRegexMatchSet' {regexMatchSetId} -> regexMatchSetId) (\s@DeleteRegexMatchSet' {} a -> s {regexMatchSetId = a} :: DeleteRegexMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+deleteRegexMatchSet_changeToken :: Lens.Lens' DeleteRegexMatchSet Prelude.Text+deleteRegexMatchSet_changeToken = Lens.lens (\DeleteRegexMatchSet' {changeToken} -> changeToken) (\s@DeleteRegexMatchSet' {} a -> s {changeToken = a} :: DeleteRegexMatchSet)++instance Core.AWSRequest DeleteRegexMatchSet where+ type+ AWSResponse DeleteRegexMatchSet =+ DeleteRegexMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteRegexMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteRegexMatchSet where+ hashWithSalt _salt DeleteRegexMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` regexMatchSetId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteRegexMatchSet where+ rnf DeleteRegexMatchSet' {..} =+ Prelude.rnf regexMatchSetId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteRegexMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteRegexMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteRegexMatchSet where+ toJSON DeleteRegexMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("RegexMatchSetId" Data..= regexMatchSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteRegexMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteRegexMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRegexMatchSetResponse' smart constructor.+data DeleteRegexMatchSetResponse = DeleteRegexMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteRegexMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRegexMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteRegexMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteRegexMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteRegexMatchSetResponse_httpStatus' - The response's http status code.+newDeleteRegexMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteRegexMatchSetResponse+newDeleteRegexMatchSetResponse pHttpStatus_ =+ DeleteRegexMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteRegexMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+deleteRegexMatchSetResponse_changeToken :: Lens.Lens' DeleteRegexMatchSetResponse (Prelude.Maybe Prelude.Text)+deleteRegexMatchSetResponse_changeToken = Lens.lens (\DeleteRegexMatchSetResponse' {changeToken} -> changeToken) (\s@DeleteRegexMatchSetResponse' {} a -> s {changeToken = a} :: DeleteRegexMatchSetResponse)++-- | The response's http status code.+deleteRegexMatchSetResponse_httpStatus :: Lens.Lens' DeleteRegexMatchSetResponse Prelude.Int+deleteRegexMatchSetResponse_httpStatus = Lens.lens (\DeleteRegexMatchSetResponse' {httpStatus} -> httpStatus) (\s@DeleteRegexMatchSetResponse' {} a -> s {httpStatus = a} :: DeleteRegexMatchSetResponse)++instance Prelude.NFData DeleteRegexMatchSetResponse where+ rnf DeleteRegexMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteRegexPatternSet.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteRegexPatternSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a RegexPatternSet. You can\'t delete a+-- @RegexPatternSet@ if it\'s still used in any @RegexMatchSet@ or if the+-- @RegexPatternSet@ is not empty.+module Amazonka.WAF.DeleteRegexPatternSet+ ( -- * Creating a Request+ DeleteRegexPatternSet (..),+ newDeleteRegexPatternSet,++ -- * Request Lenses+ deleteRegexPatternSet_regexPatternSetId,+ deleteRegexPatternSet_changeToken,++ -- * Destructuring the Response+ DeleteRegexPatternSetResponse (..),+ newDeleteRegexPatternSetResponse,++ -- * Response Lenses+ deleteRegexPatternSetResponse_changeToken,+ deleteRegexPatternSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteRegexPatternSet' smart constructor.+data DeleteRegexPatternSet = DeleteRegexPatternSet'+ { -- | The @RegexPatternSetId@ of the RegexPatternSet that you want to delete.+ -- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+ -- ListRegexPatternSets.+ regexPatternSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRegexPatternSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexPatternSetId', 'deleteRegexPatternSet_regexPatternSetId' - The @RegexPatternSetId@ of the RegexPatternSet that you want to delete.+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+--+-- 'changeToken', 'deleteRegexPatternSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteRegexPatternSet ::+ -- | 'regexPatternSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteRegexPatternSet+newDeleteRegexPatternSet+ pRegexPatternSetId_+ pChangeToken_ =+ DeleteRegexPatternSet'+ { regexPatternSetId =+ pRegexPatternSetId_,+ changeToken = pChangeToken_+ }++-- | The @RegexPatternSetId@ of the RegexPatternSet that you want to delete.+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+deleteRegexPatternSet_regexPatternSetId :: Lens.Lens' DeleteRegexPatternSet Prelude.Text+deleteRegexPatternSet_regexPatternSetId = Lens.lens (\DeleteRegexPatternSet' {regexPatternSetId} -> regexPatternSetId) (\s@DeleteRegexPatternSet' {} a -> s {regexPatternSetId = a} :: DeleteRegexPatternSet)++-- | The value returned by the most recent call to GetChangeToken.+deleteRegexPatternSet_changeToken :: Lens.Lens' DeleteRegexPatternSet Prelude.Text+deleteRegexPatternSet_changeToken = Lens.lens (\DeleteRegexPatternSet' {changeToken} -> changeToken) (\s@DeleteRegexPatternSet' {} a -> s {changeToken = a} :: DeleteRegexPatternSet)++instance Core.AWSRequest DeleteRegexPatternSet where+ type+ AWSResponse DeleteRegexPatternSet =+ DeleteRegexPatternSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteRegexPatternSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteRegexPatternSet where+ hashWithSalt _salt DeleteRegexPatternSet' {..} =+ _salt+ `Prelude.hashWithSalt` regexPatternSetId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteRegexPatternSet where+ rnf DeleteRegexPatternSet' {..} =+ Prelude.rnf regexPatternSetId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteRegexPatternSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteRegexPatternSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteRegexPatternSet where+ toJSON DeleteRegexPatternSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("RegexPatternSetId" Data..= regexPatternSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteRegexPatternSet where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteRegexPatternSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRegexPatternSetResponse' smart constructor.+data DeleteRegexPatternSetResponse = DeleteRegexPatternSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteRegexPatternSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRegexPatternSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteRegexPatternSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteRegexPatternSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteRegexPatternSetResponse_httpStatus' - The response's http status code.+newDeleteRegexPatternSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteRegexPatternSetResponse+newDeleteRegexPatternSetResponse pHttpStatus_ =+ DeleteRegexPatternSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteRegexPatternSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+deleteRegexPatternSetResponse_changeToken :: Lens.Lens' DeleteRegexPatternSetResponse (Prelude.Maybe Prelude.Text)+deleteRegexPatternSetResponse_changeToken = Lens.lens (\DeleteRegexPatternSetResponse' {changeToken} -> changeToken) (\s@DeleteRegexPatternSetResponse' {} a -> s {changeToken = a} :: DeleteRegexPatternSetResponse)++-- | The response's http status code.+deleteRegexPatternSetResponse_httpStatus :: Lens.Lens' DeleteRegexPatternSetResponse Prelude.Int+deleteRegexPatternSetResponse_httpStatus = Lens.lens (\DeleteRegexPatternSetResponse' {httpStatus} -> httpStatus) (\s@DeleteRegexPatternSetResponse' {} a -> s {httpStatus = a} :: DeleteRegexPatternSetResponse)++instance Prelude.NFData DeleteRegexPatternSetResponse where+ rnf DeleteRegexPatternSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteRule.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a Rule. You can\'t delete a @Rule@ if it\'s still+-- used in any @WebACL@ objects or if it still includes any predicates,+-- such as @ByteMatchSet@ objects.+--+-- If you just want to remove a @Rule@ from a @WebACL@, use UpdateWebACL.+--+-- To permanently delete a @Rule@ from AWS WAF, perform the following+-- steps:+--+-- 1. Update the @Rule@ to remove predicates, if any. For more+-- information, see UpdateRule.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteRule@ request.+--+-- 3. Submit a @DeleteRule@ request.+module Amazonka.WAF.DeleteRule+ ( -- * Creating a Request+ DeleteRule (..),+ newDeleteRule,++ -- * Request Lenses+ deleteRule_ruleId,+ deleteRule_changeToken,++ -- * Destructuring the Response+ DeleteRuleResponse (..),+ newDeleteRuleResponse,++ -- * Response Lenses+ deleteRuleResponse_changeToken,+ deleteRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteRule' smart constructor.+data DeleteRule = DeleteRule'+ { -- | The @RuleId@ of the Rule that you want to delete. @RuleId@ is returned+ -- by CreateRule and by ListRules.+ ruleId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleId', 'deleteRule_ruleId' - The @RuleId@ of the Rule that you want to delete. @RuleId@ is returned+-- by CreateRule and by ListRules.+--+-- 'changeToken', 'deleteRule_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteRule ::+ -- | 'ruleId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteRule+newDeleteRule pRuleId_ pChangeToken_ =+ DeleteRule'+ { ruleId = pRuleId_,+ changeToken = pChangeToken_+ }++-- | The @RuleId@ of the Rule that you want to delete. @RuleId@ is returned+-- by CreateRule and by ListRules.+deleteRule_ruleId :: Lens.Lens' DeleteRule Prelude.Text+deleteRule_ruleId = Lens.lens (\DeleteRule' {ruleId} -> ruleId) (\s@DeleteRule' {} a -> s {ruleId = a} :: DeleteRule)++-- | The value returned by the most recent call to GetChangeToken.+deleteRule_changeToken :: Lens.Lens' DeleteRule Prelude.Text+deleteRule_changeToken = Lens.lens (\DeleteRule' {changeToken} -> changeToken) (\s@DeleteRule' {} a -> s {changeToken = a} :: DeleteRule)++instance Core.AWSRequest DeleteRule where+ type AWSResponse DeleteRule = DeleteRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteRuleResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteRule where+ hashWithSalt _salt DeleteRule' {..} =+ _salt+ `Prelude.hashWithSalt` ruleId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteRule where+ rnf DeleteRule' {..} =+ Prelude.rnf ruleId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSWAF_20150824.DeleteRule" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteRule where+ toJSON DeleteRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("RuleId" Data..= ruleId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteRule where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRuleResponse' smart constructor.+data DeleteRuleResponse = DeleteRuleResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteRule@ request. You+ -- can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteRuleResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteRule@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteRuleResponse_httpStatus' - The response's http status code.+newDeleteRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteRuleResponse+newDeleteRuleResponse pHttpStatus_ =+ DeleteRuleResponse'+ { changeToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteRule@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+deleteRuleResponse_changeToken :: Lens.Lens' DeleteRuleResponse (Prelude.Maybe Prelude.Text)+deleteRuleResponse_changeToken = Lens.lens (\DeleteRuleResponse' {changeToken} -> changeToken) (\s@DeleteRuleResponse' {} a -> s {changeToken = a} :: DeleteRuleResponse)++-- | The response's http status code.+deleteRuleResponse_httpStatus :: Lens.Lens' DeleteRuleResponse Prelude.Int+deleteRuleResponse_httpStatus = Lens.lens (\DeleteRuleResponse' {httpStatus} -> httpStatus) (\s@DeleteRuleResponse' {} a -> s {httpStatus = a} :: DeleteRuleResponse)++instance Prelude.NFData DeleteRuleResponse where+ rnf DeleteRuleResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteRuleGroup.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a RuleGroup. You can\'t delete a @RuleGroup@ if+-- it\'s still used in any @WebACL@ objects or if it still includes any+-- rules.+--+-- If you just want to remove a @RuleGroup@ from a @WebACL@, use+-- UpdateWebACL.+--+-- To permanently delete a @RuleGroup@ from AWS WAF, perform the following+-- steps:+--+-- 1. Update the @RuleGroup@ to remove rules, if any. For more+-- information, see UpdateRuleGroup.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteRuleGroup@ request.+--+-- 3. Submit a @DeleteRuleGroup@ request.+module Amazonka.WAF.DeleteRuleGroup+ ( -- * Creating a Request+ DeleteRuleGroup (..),+ newDeleteRuleGroup,++ -- * Request Lenses+ deleteRuleGroup_ruleGroupId,+ deleteRuleGroup_changeToken,++ -- * Destructuring the Response+ DeleteRuleGroupResponse (..),+ newDeleteRuleGroupResponse,++ -- * Response Lenses+ deleteRuleGroupResponse_changeToken,+ deleteRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteRuleGroup' smart constructor.+data DeleteRuleGroup = DeleteRuleGroup'+ { -- | The @RuleGroupId@ of the RuleGroup that you want to delete.+ -- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+ ruleGroupId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleGroupId', 'deleteRuleGroup_ruleGroupId' - The @RuleGroupId@ of the RuleGroup that you want to delete.+-- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+--+-- 'changeToken', 'deleteRuleGroup_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteRuleGroup ::+ -- | 'ruleGroupId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteRuleGroup+newDeleteRuleGroup pRuleGroupId_ pChangeToken_ =+ DeleteRuleGroup'+ { ruleGroupId = pRuleGroupId_,+ changeToken = pChangeToken_+ }++-- | The @RuleGroupId@ of the RuleGroup that you want to delete.+-- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+deleteRuleGroup_ruleGroupId :: Lens.Lens' DeleteRuleGroup Prelude.Text+deleteRuleGroup_ruleGroupId = Lens.lens (\DeleteRuleGroup' {ruleGroupId} -> ruleGroupId) (\s@DeleteRuleGroup' {} a -> s {ruleGroupId = a} :: DeleteRuleGroup)++-- | The value returned by the most recent call to GetChangeToken.+deleteRuleGroup_changeToken :: Lens.Lens' DeleteRuleGroup Prelude.Text+deleteRuleGroup_changeToken = Lens.lens (\DeleteRuleGroup' {changeToken} -> changeToken) (\s@DeleteRuleGroup' {} a -> s {changeToken = a} :: DeleteRuleGroup)++instance Core.AWSRequest DeleteRuleGroup where+ type+ AWSResponse DeleteRuleGroup =+ DeleteRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteRuleGroupResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteRuleGroup where+ hashWithSalt _salt DeleteRuleGroup' {..} =+ _salt+ `Prelude.hashWithSalt` ruleGroupId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteRuleGroup where+ rnf DeleteRuleGroup' {..} =+ Prelude.rnf ruleGroupId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteRuleGroup where+ toJSON DeleteRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("RuleGroupId" Data..= ruleGroupId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRuleGroupResponse' smart constructor.+data DeleteRuleGroupResponse = DeleteRuleGroupResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteRuleGroup@ request.+ -- You can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteRuleGroupResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteRuleGroup@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteRuleGroupResponse_httpStatus' - The response's http status code.+newDeleteRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteRuleGroupResponse+newDeleteRuleGroupResponse pHttpStatus_ =+ DeleteRuleGroupResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteRuleGroup@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+deleteRuleGroupResponse_changeToken :: Lens.Lens' DeleteRuleGroupResponse (Prelude.Maybe Prelude.Text)+deleteRuleGroupResponse_changeToken = Lens.lens (\DeleteRuleGroupResponse' {changeToken} -> changeToken) (\s@DeleteRuleGroupResponse' {} a -> s {changeToken = a} :: DeleteRuleGroupResponse)++-- | The response's http status code.+deleteRuleGroupResponse_httpStatus :: Lens.Lens' DeleteRuleGroupResponse Prelude.Int+deleteRuleGroupResponse_httpStatus = Lens.lens (\DeleteRuleGroupResponse' {httpStatus} -> httpStatus) (\s@DeleteRuleGroupResponse' {} a -> s {httpStatus = a} :: DeleteRuleGroupResponse)++instance Prelude.NFData DeleteRuleGroupResponse where+ rnf DeleteRuleGroupResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteSizeConstraintSet.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteSizeConstraintSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a SizeConstraintSet. You can\'t delete a+-- @SizeConstraintSet@ if it\'s still used in any @Rules@ or if it still+-- includes any SizeConstraint objects (any filters).+--+-- If you just want to remove a @SizeConstraintSet@ from a @Rule@, use+-- UpdateRule.+--+-- To permanently delete a @SizeConstraintSet@, perform the following+-- steps:+--+-- 1. Update the @SizeConstraintSet@ to remove filters, if any. For more+-- information, see UpdateSizeConstraintSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteSizeConstraintSet@ request.+--+-- 3. Submit a @DeleteSizeConstraintSet@ request.+module Amazonka.WAF.DeleteSizeConstraintSet+ ( -- * Creating a Request+ DeleteSizeConstraintSet (..),+ newDeleteSizeConstraintSet,++ -- * Request Lenses+ deleteSizeConstraintSet_sizeConstraintSetId,+ deleteSizeConstraintSet_changeToken,++ -- * Destructuring the Response+ DeleteSizeConstraintSetResponse (..),+ newDeleteSizeConstraintSetResponse,++ -- * Response Lenses+ deleteSizeConstraintSetResponse_changeToken,+ deleteSizeConstraintSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteSizeConstraintSet' smart constructor.+data DeleteSizeConstraintSet = DeleteSizeConstraintSet'+ { -- | The @SizeConstraintSetId@ of the SizeConstraintSet that you want to+ -- delete. @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and+ -- by ListSizeConstraintSets.+ sizeConstraintSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSizeConstraintSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sizeConstraintSetId', 'deleteSizeConstraintSet_sizeConstraintSetId' - The @SizeConstraintSetId@ of the SizeConstraintSet that you want to+-- delete. @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and+-- by ListSizeConstraintSets.+--+-- 'changeToken', 'deleteSizeConstraintSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteSizeConstraintSet ::+ -- | 'sizeConstraintSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteSizeConstraintSet+newDeleteSizeConstraintSet+ pSizeConstraintSetId_+ pChangeToken_ =+ DeleteSizeConstraintSet'+ { sizeConstraintSetId =+ pSizeConstraintSetId_,+ changeToken = pChangeToken_+ }++-- | The @SizeConstraintSetId@ of the SizeConstraintSet that you want to+-- delete. @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and+-- by ListSizeConstraintSets.+deleteSizeConstraintSet_sizeConstraintSetId :: Lens.Lens' DeleteSizeConstraintSet Prelude.Text+deleteSizeConstraintSet_sizeConstraintSetId = Lens.lens (\DeleteSizeConstraintSet' {sizeConstraintSetId} -> sizeConstraintSetId) (\s@DeleteSizeConstraintSet' {} a -> s {sizeConstraintSetId = a} :: DeleteSizeConstraintSet)++-- | The value returned by the most recent call to GetChangeToken.+deleteSizeConstraintSet_changeToken :: Lens.Lens' DeleteSizeConstraintSet Prelude.Text+deleteSizeConstraintSet_changeToken = Lens.lens (\DeleteSizeConstraintSet' {changeToken} -> changeToken) (\s@DeleteSizeConstraintSet' {} a -> s {changeToken = a} :: DeleteSizeConstraintSet)++instance Core.AWSRequest DeleteSizeConstraintSet where+ type+ AWSResponse DeleteSizeConstraintSet =+ DeleteSizeConstraintSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteSizeConstraintSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteSizeConstraintSet where+ hashWithSalt _salt DeleteSizeConstraintSet' {..} =+ _salt+ `Prelude.hashWithSalt` sizeConstraintSetId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteSizeConstraintSet where+ rnf DeleteSizeConstraintSet' {..} =+ Prelude.rnf sizeConstraintSetId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteSizeConstraintSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteSizeConstraintSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteSizeConstraintSet where+ toJSON DeleteSizeConstraintSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("SizeConstraintSetId" Data..= sizeConstraintSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteSizeConstraintSet where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteSizeConstraintSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSizeConstraintSetResponse' smart constructor.+data DeleteSizeConstraintSetResponse = DeleteSizeConstraintSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteSizeConstraintSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSizeConstraintSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteSizeConstraintSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteSizeConstraintSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteSizeConstraintSetResponse_httpStatus' - The response's http status code.+newDeleteSizeConstraintSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteSizeConstraintSetResponse+newDeleteSizeConstraintSetResponse pHttpStatus_ =+ DeleteSizeConstraintSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteSizeConstraintSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+deleteSizeConstraintSetResponse_changeToken :: Lens.Lens' DeleteSizeConstraintSetResponse (Prelude.Maybe Prelude.Text)+deleteSizeConstraintSetResponse_changeToken = Lens.lens (\DeleteSizeConstraintSetResponse' {changeToken} -> changeToken) (\s@DeleteSizeConstraintSetResponse' {} a -> s {changeToken = a} :: DeleteSizeConstraintSetResponse)++-- | The response's http status code.+deleteSizeConstraintSetResponse_httpStatus :: Lens.Lens' DeleteSizeConstraintSetResponse Prelude.Int+deleteSizeConstraintSetResponse_httpStatus = Lens.lens (\DeleteSizeConstraintSetResponse' {httpStatus} -> httpStatus) (\s@DeleteSizeConstraintSetResponse' {} a -> s {httpStatus = a} :: DeleteSizeConstraintSetResponse)++instance+ Prelude.NFData+ DeleteSizeConstraintSetResponse+ where+ rnf DeleteSizeConstraintSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteSqlInjectionMatchSet.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteSqlInjectionMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a SqlInjectionMatchSet. You can\'t delete a+-- @SqlInjectionMatchSet@ if it\'s still used in any @Rules@ or if it still+-- contains any SqlInjectionMatchTuple objects.+--+-- If you just want to remove a @SqlInjectionMatchSet@ from a @Rule@, use+-- UpdateRule.+--+-- To permanently delete a @SqlInjectionMatchSet@ from AWS WAF, perform the+-- following steps:+--+-- 1. Update the @SqlInjectionMatchSet@ to remove filters, if any. For+-- more information, see UpdateSqlInjectionMatchSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteSqlInjectionMatchSet@ request.+--+-- 3. Submit a @DeleteSqlInjectionMatchSet@ request.+module Amazonka.WAF.DeleteSqlInjectionMatchSet+ ( -- * Creating a Request+ DeleteSqlInjectionMatchSet (..),+ newDeleteSqlInjectionMatchSet,++ -- * Request Lenses+ deleteSqlInjectionMatchSet_sqlInjectionMatchSetId,+ deleteSqlInjectionMatchSet_changeToken,++ -- * Destructuring the Response+ DeleteSqlInjectionMatchSetResponse (..),+ newDeleteSqlInjectionMatchSetResponse,++ -- * Response Lenses+ deleteSqlInjectionMatchSetResponse_changeToken,+ deleteSqlInjectionMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to delete a SqlInjectionMatchSet from AWS WAF.+--+-- /See:/ 'newDeleteSqlInjectionMatchSet' smart constructor.+data DeleteSqlInjectionMatchSet = DeleteSqlInjectionMatchSet'+ { -- | The @SqlInjectionMatchSetId@ of the SqlInjectionMatchSet that you want+ -- to delete. @SqlInjectionMatchSetId@ is returned by+ -- CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.+ sqlInjectionMatchSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSqlInjectionMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sqlInjectionMatchSetId', 'deleteSqlInjectionMatchSet_sqlInjectionMatchSetId' - The @SqlInjectionMatchSetId@ of the SqlInjectionMatchSet that you want+-- to delete. @SqlInjectionMatchSetId@ is returned by+-- CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.+--+-- 'changeToken', 'deleteSqlInjectionMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteSqlInjectionMatchSet ::+ -- | 'sqlInjectionMatchSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteSqlInjectionMatchSet+newDeleteSqlInjectionMatchSet+ pSqlInjectionMatchSetId_+ pChangeToken_ =+ DeleteSqlInjectionMatchSet'+ { sqlInjectionMatchSetId =+ pSqlInjectionMatchSetId_,+ changeToken = pChangeToken_+ }++-- | The @SqlInjectionMatchSetId@ of the SqlInjectionMatchSet that you want+-- to delete. @SqlInjectionMatchSetId@ is returned by+-- CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.+deleteSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens.Lens' DeleteSqlInjectionMatchSet Prelude.Text+deleteSqlInjectionMatchSet_sqlInjectionMatchSetId = Lens.lens (\DeleteSqlInjectionMatchSet' {sqlInjectionMatchSetId} -> sqlInjectionMatchSetId) (\s@DeleteSqlInjectionMatchSet' {} a -> s {sqlInjectionMatchSetId = a} :: DeleteSqlInjectionMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+deleteSqlInjectionMatchSet_changeToken :: Lens.Lens' DeleteSqlInjectionMatchSet Prelude.Text+deleteSqlInjectionMatchSet_changeToken = Lens.lens (\DeleteSqlInjectionMatchSet' {changeToken} -> changeToken) (\s@DeleteSqlInjectionMatchSet' {} a -> s {changeToken = a} :: DeleteSqlInjectionMatchSet)++instance Core.AWSRequest DeleteSqlInjectionMatchSet where+ type+ AWSResponse DeleteSqlInjectionMatchSet =+ DeleteSqlInjectionMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteSqlInjectionMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteSqlInjectionMatchSet where+ hashWithSalt _salt DeleteSqlInjectionMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` sqlInjectionMatchSetId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteSqlInjectionMatchSet where+ rnf DeleteSqlInjectionMatchSet' {..} =+ Prelude.rnf sqlInjectionMatchSetId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteSqlInjectionMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteSqlInjectionMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteSqlInjectionMatchSet where+ toJSON DeleteSqlInjectionMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "SqlInjectionMatchSetId"+ Data..= sqlInjectionMatchSetId+ ),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteSqlInjectionMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteSqlInjectionMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a request to delete a SqlInjectionMatchSet from AWS WAF.+--+-- /See:/ 'newDeleteSqlInjectionMatchSetResponse' smart constructor.+data DeleteSqlInjectionMatchSetResponse = DeleteSqlInjectionMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the+ -- @DeleteSqlInjectionMatchSet@ request. You can also use this value to+ -- query the status of the request. For more information, see+ -- GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSqlInjectionMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteSqlInjectionMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the+-- @DeleteSqlInjectionMatchSet@ request. You can also use this value to+-- query the status of the request. For more information, see+-- GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteSqlInjectionMatchSetResponse_httpStatus' - The response's http status code.+newDeleteSqlInjectionMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteSqlInjectionMatchSetResponse+newDeleteSqlInjectionMatchSetResponse pHttpStatus_ =+ DeleteSqlInjectionMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the+-- @DeleteSqlInjectionMatchSet@ request. You can also use this value to+-- query the status of the request. For more information, see+-- GetChangeTokenStatus.+deleteSqlInjectionMatchSetResponse_changeToken :: Lens.Lens' DeleteSqlInjectionMatchSetResponse (Prelude.Maybe Prelude.Text)+deleteSqlInjectionMatchSetResponse_changeToken = Lens.lens (\DeleteSqlInjectionMatchSetResponse' {changeToken} -> changeToken) (\s@DeleteSqlInjectionMatchSetResponse' {} a -> s {changeToken = a} :: DeleteSqlInjectionMatchSetResponse)++-- | The response's http status code.+deleteSqlInjectionMatchSetResponse_httpStatus :: Lens.Lens' DeleteSqlInjectionMatchSetResponse Prelude.Int+deleteSqlInjectionMatchSetResponse_httpStatus = Lens.lens (\DeleteSqlInjectionMatchSetResponse' {httpStatus} -> httpStatus) (\s@DeleteSqlInjectionMatchSetResponse' {} a -> s {httpStatus = a} :: DeleteSqlInjectionMatchSetResponse)++instance+ Prelude.NFData+ DeleteSqlInjectionMatchSetResponse+ where+ rnf DeleteSqlInjectionMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteWebACL.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteWebACL+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes a WebACL. You can\'t delete a @WebACL@ if it still+-- contains any @Rules@.+--+-- To delete a @WebACL@, perform the following steps:+--+-- 1. Update the @WebACL@ to remove @Rules@, if any. For more information,+-- see UpdateWebACL.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteWebACL@ request.+--+-- 3. Submit a @DeleteWebACL@ request.+module Amazonka.WAF.DeleteWebACL+ ( -- * Creating a Request+ DeleteWebACL (..),+ newDeleteWebACL,++ -- * Request Lenses+ deleteWebACL_webACLId,+ deleteWebACL_changeToken,++ -- * Destructuring the Response+ DeleteWebACLResponse (..),+ newDeleteWebACLResponse,++ -- * Response Lenses+ deleteWebACLResponse_changeToken,+ deleteWebACLResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newDeleteWebACL' smart constructor.+data DeleteWebACL = DeleteWebACL'+ { -- | The @WebACLId@ of the WebACL that you want to delete. @WebACLId@ is+ -- returned by CreateWebACL and by ListWebACLs.+ webACLId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWebACL' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'webACLId', 'deleteWebACL_webACLId' - The @WebACLId@ of the WebACL that you want to delete. @WebACLId@ is+-- returned by CreateWebACL and by ListWebACLs.+--+-- 'changeToken', 'deleteWebACL_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteWebACL ::+ -- | 'webACLId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteWebACL+newDeleteWebACL pWebACLId_ pChangeToken_ =+ DeleteWebACL'+ { webACLId = pWebACLId_,+ changeToken = pChangeToken_+ }++-- | The @WebACLId@ of the WebACL that you want to delete. @WebACLId@ is+-- returned by CreateWebACL and by ListWebACLs.+deleteWebACL_webACLId :: Lens.Lens' DeleteWebACL Prelude.Text+deleteWebACL_webACLId = Lens.lens (\DeleteWebACL' {webACLId} -> webACLId) (\s@DeleteWebACL' {} a -> s {webACLId = a} :: DeleteWebACL)++-- | The value returned by the most recent call to GetChangeToken.+deleteWebACL_changeToken :: Lens.Lens' DeleteWebACL Prelude.Text+deleteWebACL_changeToken = Lens.lens (\DeleteWebACL' {changeToken} -> changeToken) (\s@DeleteWebACL' {} a -> s {changeToken = a} :: DeleteWebACL)++instance Core.AWSRequest DeleteWebACL where+ type AWSResponse DeleteWebACL = DeleteWebACLResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteWebACLResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteWebACL where+ hashWithSalt _salt DeleteWebACL' {..} =+ _salt+ `Prelude.hashWithSalt` webACLId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteWebACL where+ rnf DeleteWebACL' {..} =+ Prelude.rnf webACLId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteWebACL where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteWebACL" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteWebACL where+ toJSON DeleteWebACL' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("WebACLId" Data..= webACLId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteWebACL where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteWebACL where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteWebACLResponse' smart constructor.+data DeleteWebACLResponse = DeleteWebACLResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteWebACL@ request.+ -- You can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWebACLResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteWebACLResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteWebACL@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteWebACLResponse_httpStatus' - The response's http status code.+newDeleteWebACLResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteWebACLResponse+newDeleteWebACLResponse pHttpStatus_ =+ DeleteWebACLResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteWebACL@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+deleteWebACLResponse_changeToken :: Lens.Lens' DeleteWebACLResponse (Prelude.Maybe Prelude.Text)+deleteWebACLResponse_changeToken = Lens.lens (\DeleteWebACLResponse' {changeToken} -> changeToken) (\s@DeleteWebACLResponse' {} a -> s {changeToken = a} :: DeleteWebACLResponse)++-- | The response's http status code.+deleteWebACLResponse_httpStatus :: Lens.Lens' DeleteWebACLResponse Prelude.Int+deleteWebACLResponse_httpStatus = Lens.lens (\DeleteWebACLResponse' {httpStatus} -> httpStatus) (\s@DeleteWebACLResponse' {} a -> s {httpStatus = a} :: DeleteWebACLResponse)++instance Prelude.NFData DeleteWebACLResponse where+ rnf DeleteWebACLResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/DeleteXssMatchSet.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.DeleteXssMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Permanently deletes an XssMatchSet. You can\'t delete an @XssMatchSet@+-- if it\'s still used in any @Rules@ or if it still contains any+-- XssMatchTuple objects.+--+-- If you just want to remove an @XssMatchSet@ from a @Rule@, use+-- UpdateRule.+--+-- To permanently delete an @XssMatchSet@ from AWS WAF, perform the+-- following steps:+--+-- 1. Update the @XssMatchSet@ to remove filters, if any. For more+-- information, see UpdateXssMatchSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of a @DeleteXssMatchSet@ request.+--+-- 3. Submit a @DeleteXssMatchSet@ request.+module Amazonka.WAF.DeleteXssMatchSet+ ( -- * Creating a Request+ DeleteXssMatchSet (..),+ newDeleteXssMatchSet,++ -- * Request Lenses+ deleteXssMatchSet_xssMatchSetId,+ deleteXssMatchSet_changeToken,++ -- * Destructuring the Response+ DeleteXssMatchSetResponse (..),+ newDeleteXssMatchSetResponse,++ -- * Response Lenses+ deleteXssMatchSetResponse_changeToken,+ deleteXssMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to delete an XssMatchSet from AWS WAF.+--+-- /See:/ 'newDeleteXssMatchSet' smart constructor.+data DeleteXssMatchSet = DeleteXssMatchSet'+ { -- | The @XssMatchSetId@ of the XssMatchSet that you want to delete.+ -- @XssMatchSetId@ is returned by CreateXssMatchSet and by+ -- ListXssMatchSets.+ xssMatchSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteXssMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'xssMatchSetId', 'deleteXssMatchSet_xssMatchSetId' - The @XssMatchSetId@ of the XssMatchSet that you want to delete.+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+--+-- 'changeToken', 'deleteXssMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newDeleteXssMatchSet ::+ -- | 'xssMatchSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ DeleteXssMatchSet+newDeleteXssMatchSet pXssMatchSetId_ pChangeToken_ =+ DeleteXssMatchSet'+ { xssMatchSetId = pXssMatchSetId_,+ changeToken = pChangeToken_+ }++-- | The @XssMatchSetId@ of the XssMatchSet that you want to delete.+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+deleteXssMatchSet_xssMatchSetId :: Lens.Lens' DeleteXssMatchSet Prelude.Text+deleteXssMatchSet_xssMatchSetId = Lens.lens (\DeleteXssMatchSet' {xssMatchSetId} -> xssMatchSetId) (\s@DeleteXssMatchSet' {} a -> s {xssMatchSetId = a} :: DeleteXssMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+deleteXssMatchSet_changeToken :: Lens.Lens' DeleteXssMatchSet Prelude.Text+deleteXssMatchSet_changeToken = Lens.lens (\DeleteXssMatchSet' {changeToken} -> changeToken) (\s@DeleteXssMatchSet' {} a -> s {changeToken = a} :: DeleteXssMatchSet)++instance Core.AWSRequest DeleteXssMatchSet where+ type+ AWSResponse DeleteXssMatchSet =+ DeleteXssMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteXssMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteXssMatchSet where+ hashWithSalt _salt DeleteXssMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` xssMatchSetId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData DeleteXssMatchSet where+ rnf DeleteXssMatchSet' {..} =+ Prelude.rnf xssMatchSetId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders DeleteXssMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.DeleteXssMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteXssMatchSet where+ toJSON DeleteXssMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("XssMatchSetId" Data..= xssMatchSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath DeleteXssMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteXssMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a request to delete an XssMatchSet from AWS WAF.+--+-- /See:/ 'newDeleteXssMatchSetResponse' smart constructor.+data DeleteXssMatchSetResponse = DeleteXssMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @DeleteXssMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteXssMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'deleteXssMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @DeleteXssMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'deleteXssMatchSetResponse_httpStatus' - The response's http status code.+newDeleteXssMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteXssMatchSetResponse+newDeleteXssMatchSetResponse pHttpStatus_ =+ DeleteXssMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @DeleteXssMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+deleteXssMatchSetResponse_changeToken :: Lens.Lens' DeleteXssMatchSetResponse (Prelude.Maybe Prelude.Text)+deleteXssMatchSetResponse_changeToken = Lens.lens (\DeleteXssMatchSetResponse' {changeToken} -> changeToken) (\s@DeleteXssMatchSetResponse' {} a -> s {changeToken = a} :: DeleteXssMatchSetResponse)++-- | The response's http status code.+deleteXssMatchSetResponse_httpStatus :: Lens.Lens' DeleteXssMatchSetResponse Prelude.Int+deleteXssMatchSetResponse_httpStatus = Lens.lens (\DeleteXssMatchSetResponse' {httpStatus} -> httpStatus) (\s@DeleteXssMatchSetResponse' {} a -> s {httpStatus = a} :: DeleteXssMatchSetResponse)++instance Prelude.NFData DeleteXssMatchSetResponse where+ rnf DeleteXssMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetByteMatchSet.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetByteMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the ByteMatchSet specified by @ByteMatchSetId@.+module Amazonka.WAF.GetByteMatchSet+ ( -- * Creating a Request+ GetByteMatchSet (..),+ newGetByteMatchSet,++ -- * Request Lenses+ getByteMatchSet_byteMatchSetId,++ -- * Destructuring the Response+ GetByteMatchSetResponse (..),+ newGetByteMatchSetResponse,++ -- * Response Lenses+ getByteMatchSetResponse_byteMatchSet,+ getByteMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetByteMatchSet' smart constructor.+data GetByteMatchSet = GetByteMatchSet'+ { -- | The @ByteMatchSetId@ of the ByteMatchSet that you want to get.+ -- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+ -- ListByteMatchSets.+ byteMatchSetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetByteMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'byteMatchSetId', 'getByteMatchSet_byteMatchSetId' - The @ByteMatchSetId@ of the ByteMatchSet that you want to get.+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+newGetByteMatchSet ::+ -- | 'byteMatchSetId'+ Prelude.Text ->+ GetByteMatchSet+newGetByteMatchSet pByteMatchSetId_ =+ GetByteMatchSet' {byteMatchSetId = pByteMatchSetId_}++-- | The @ByteMatchSetId@ of the ByteMatchSet that you want to get.+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+getByteMatchSet_byteMatchSetId :: Lens.Lens' GetByteMatchSet Prelude.Text+getByteMatchSet_byteMatchSetId = Lens.lens (\GetByteMatchSet' {byteMatchSetId} -> byteMatchSetId) (\s@GetByteMatchSet' {} a -> s {byteMatchSetId = a} :: GetByteMatchSet)++instance Core.AWSRequest GetByteMatchSet where+ type+ AWSResponse GetByteMatchSet =+ GetByteMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetByteMatchSetResponse'+ Prelude.<$> (x Data..?> "ByteMatchSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetByteMatchSet where+ hashWithSalt _salt GetByteMatchSet' {..} =+ _salt `Prelude.hashWithSalt` byteMatchSetId++instance Prelude.NFData GetByteMatchSet where+ rnf GetByteMatchSet' {..} = Prelude.rnf byteMatchSetId++instance Data.ToHeaders GetByteMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetByteMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetByteMatchSet where+ toJSON GetByteMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ByteMatchSetId" Data..= byteMatchSetId)+ ]+ )++instance Data.ToPath GetByteMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery GetByteMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetByteMatchSetResponse' smart constructor.+data GetByteMatchSetResponse = GetByteMatchSetResponse'+ { -- | Information about the ByteMatchSet that you specified in the+ -- @GetByteMatchSet@ request. For more information, see the following+ -- topics:+ --+ -- - ByteMatchSet: Contains @ByteMatchSetId@, @ByteMatchTuples@, and+ -- @Name@+ --+ -- - @ByteMatchTuples@: Contains an array of ByteMatchTuple objects. Each+ -- @ByteMatchTuple@ object contains FieldToMatch,+ -- @PositionalConstraint@, @TargetString@, and @TextTransformation@+ --+ -- - FieldToMatch: Contains @Data@ and @Type@+ byteMatchSet :: Prelude.Maybe ByteMatchSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetByteMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'byteMatchSet', 'getByteMatchSetResponse_byteMatchSet' - Information about the ByteMatchSet that you specified in the+-- @GetByteMatchSet@ request. For more information, see the following+-- topics:+--+-- - ByteMatchSet: Contains @ByteMatchSetId@, @ByteMatchTuples@, and+-- @Name@+--+-- - @ByteMatchTuples@: Contains an array of ByteMatchTuple objects. Each+-- @ByteMatchTuple@ object contains FieldToMatch,+-- @PositionalConstraint@, @TargetString@, and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+--+-- 'httpStatus', 'getByteMatchSetResponse_httpStatus' - The response's http status code.+newGetByteMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetByteMatchSetResponse+newGetByteMatchSetResponse pHttpStatus_ =+ GetByteMatchSetResponse'+ { byteMatchSet =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the ByteMatchSet that you specified in the+-- @GetByteMatchSet@ request. For more information, see the following+-- topics:+--+-- - ByteMatchSet: Contains @ByteMatchSetId@, @ByteMatchTuples@, and+-- @Name@+--+-- - @ByteMatchTuples@: Contains an array of ByteMatchTuple objects. Each+-- @ByteMatchTuple@ object contains FieldToMatch,+-- @PositionalConstraint@, @TargetString@, and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+getByteMatchSetResponse_byteMatchSet :: Lens.Lens' GetByteMatchSetResponse (Prelude.Maybe ByteMatchSet)+getByteMatchSetResponse_byteMatchSet = Lens.lens (\GetByteMatchSetResponse' {byteMatchSet} -> byteMatchSet) (\s@GetByteMatchSetResponse' {} a -> s {byteMatchSet = a} :: GetByteMatchSetResponse)++-- | The response's http status code.+getByteMatchSetResponse_httpStatus :: Lens.Lens' GetByteMatchSetResponse Prelude.Int+getByteMatchSetResponse_httpStatus = Lens.lens (\GetByteMatchSetResponse' {httpStatus} -> httpStatus) (\s@GetByteMatchSetResponse' {} a -> s {httpStatus = a} :: GetByteMatchSetResponse)++instance Prelude.NFData GetByteMatchSetResponse where+ rnf GetByteMatchSetResponse' {..} =+ Prelude.rnf byteMatchSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetChangeToken.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetChangeToken+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- When you want to create, update, or delete AWS WAF objects, get a change+-- token and include the change token in the create, update, or delete+-- request. Change tokens ensure that your application doesn\'t submit+-- conflicting requests to AWS WAF.+--+-- Each create, update, or delete request must use a unique change token.+-- If your application submits a @GetChangeToken@ request and then submits+-- a second @GetChangeToken@ request before submitting a create, update, or+-- delete request, the second @GetChangeToken@ request returns the same+-- value as the first @GetChangeToken@ request.+--+-- When you use a change token in a create, update, or delete request, the+-- status of the change token changes to @PENDING@, which indicates that+-- AWS WAF is propagating the change to all AWS WAF servers. Use+-- @GetChangeTokenStatus@ to determine the status of your change token.+module Amazonka.WAF.GetChangeToken+ ( -- * Creating a Request+ GetChangeToken (..),+ newGetChangeToken,++ -- * Destructuring the Response+ GetChangeTokenResponse (..),+ newGetChangeTokenResponse,++ -- * Response Lenses+ getChangeTokenResponse_changeToken,+ getChangeTokenResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetChangeToken' smart constructor.+data GetChangeToken = GetChangeToken'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChangeToken' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetChangeToken ::+ GetChangeToken+newGetChangeToken = GetChangeToken'++instance Core.AWSRequest GetChangeToken where+ type+ AWSResponse GetChangeToken =+ GetChangeTokenResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetChangeTokenResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetChangeToken where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetChangeToken where+ rnf _ = ()++instance Data.ToHeaders GetChangeToken where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetChangeToken" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetChangeToken where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetChangeToken where+ toPath = Prelude.const "/"++instance Data.ToQuery GetChangeToken where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetChangeTokenResponse' smart constructor.+data GetChangeTokenResponse = GetChangeTokenResponse'+ { -- | The @ChangeToken@ that you used in the request. Use this value in a+ -- @GetChangeTokenStatus@ request to get the current status of the request.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChangeTokenResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'getChangeTokenResponse_changeToken' - The @ChangeToken@ that you used in the request. Use this value in a+-- @GetChangeTokenStatus@ request to get the current status of the request.+--+-- 'httpStatus', 'getChangeTokenResponse_httpStatus' - The response's http status code.+newGetChangeTokenResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetChangeTokenResponse+newGetChangeTokenResponse pHttpStatus_ =+ GetChangeTokenResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used in the request. Use this value in a+-- @GetChangeTokenStatus@ request to get the current status of the request.+getChangeTokenResponse_changeToken :: Lens.Lens' GetChangeTokenResponse (Prelude.Maybe Prelude.Text)+getChangeTokenResponse_changeToken = Lens.lens (\GetChangeTokenResponse' {changeToken} -> changeToken) (\s@GetChangeTokenResponse' {} a -> s {changeToken = a} :: GetChangeTokenResponse)++-- | The response's http status code.+getChangeTokenResponse_httpStatus :: Lens.Lens' GetChangeTokenResponse Prelude.Int+getChangeTokenResponse_httpStatus = Lens.lens (\GetChangeTokenResponse' {httpStatus} -> httpStatus) (\s@GetChangeTokenResponse' {} a -> s {httpStatus = a} :: GetChangeTokenResponse)++instance Prelude.NFData GetChangeTokenResponse where+ rnf GetChangeTokenResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetChangeTokenStatus.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetChangeTokenStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the status of a @ChangeToken@ that you got by calling+-- GetChangeToken. @ChangeTokenStatus@ is one of the following values:+--+-- - @PROVISIONED@: You requested the change token by calling+-- @GetChangeToken@, but you haven\'t used it yet in a call to create,+-- update, or delete an AWS WAF object.+--+-- - @PENDING@: AWS WAF is propagating the create, update, or delete+-- request to all AWS WAF servers.+--+-- - @INSYNC@: Propagation is complete.+module Amazonka.WAF.GetChangeTokenStatus+ ( -- * Creating a Request+ GetChangeTokenStatus (..),+ newGetChangeTokenStatus,++ -- * Request Lenses+ getChangeTokenStatus_changeToken,++ -- * Destructuring the Response+ GetChangeTokenStatusResponse (..),+ newGetChangeTokenStatusResponse,++ -- * Response Lenses+ getChangeTokenStatusResponse_changeTokenStatus,+ getChangeTokenStatusResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetChangeTokenStatus' smart constructor.+data GetChangeTokenStatus = GetChangeTokenStatus'+ { -- | The change token for which you want to get the status. This change token+ -- was previously returned in the @GetChangeToken@ response.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChangeTokenStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'getChangeTokenStatus_changeToken' - The change token for which you want to get the status. This change token+-- was previously returned in the @GetChangeToken@ response.+newGetChangeTokenStatus ::+ -- | 'changeToken'+ Prelude.Text ->+ GetChangeTokenStatus+newGetChangeTokenStatus pChangeToken_ =+ GetChangeTokenStatus' {changeToken = pChangeToken_}++-- | The change token for which you want to get the status. This change token+-- was previously returned in the @GetChangeToken@ response.+getChangeTokenStatus_changeToken :: Lens.Lens' GetChangeTokenStatus Prelude.Text+getChangeTokenStatus_changeToken = Lens.lens (\GetChangeTokenStatus' {changeToken} -> changeToken) (\s@GetChangeTokenStatus' {} a -> s {changeToken = a} :: GetChangeTokenStatus)++instance Core.AWSRequest GetChangeTokenStatus where+ type+ AWSResponse GetChangeTokenStatus =+ GetChangeTokenStatusResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetChangeTokenStatusResponse'+ Prelude.<$> (x Data..?> "ChangeTokenStatus")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetChangeTokenStatus where+ hashWithSalt _salt GetChangeTokenStatus' {..} =+ _salt `Prelude.hashWithSalt` changeToken++instance Prelude.NFData GetChangeTokenStatus where+ rnf GetChangeTokenStatus' {..} =+ Prelude.rnf changeToken++instance Data.ToHeaders GetChangeTokenStatus where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetChangeTokenStatus" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetChangeTokenStatus where+ toJSON GetChangeTokenStatus' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ChangeToken" Data..= changeToken)]+ )++instance Data.ToPath GetChangeTokenStatus where+ toPath = Prelude.const "/"++instance Data.ToQuery GetChangeTokenStatus where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetChangeTokenStatusResponse' smart constructor.+data GetChangeTokenStatusResponse = GetChangeTokenStatusResponse'+ { -- | The status of the change token.+ changeTokenStatus :: Prelude.Maybe ChangeTokenStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChangeTokenStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeTokenStatus', 'getChangeTokenStatusResponse_changeTokenStatus' - The status of the change token.+--+-- 'httpStatus', 'getChangeTokenStatusResponse_httpStatus' - The response's http status code.+newGetChangeTokenStatusResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetChangeTokenStatusResponse+newGetChangeTokenStatusResponse pHttpStatus_ =+ GetChangeTokenStatusResponse'+ { changeTokenStatus =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The status of the change token.+getChangeTokenStatusResponse_changeTokenStatus :: Lens.Lens' GetChangeTokenStatusResponse (Prelude.Maybe ChangeTokenStatus)+getChangeTokenStatusResponse_changeTokenStatus = Lens.lens (\GetChangeTokenStatusResponse' {changeTokenStatus} -> changeTokenStatus) (\s@GetChangeTokenStatusResponse' {} a -> s {changeTokenStatus = a} :: GetChangeTokenStatusResponse)++-- | The response's http status code.+getChangeTokenStatusResponse_httpStatus :: Lens.Lens' GetChangeTokenStatusResponse Prelude.Int+getChangeTokenStatusResponse_httpStatus = Lens.lens (\GetChangeTokenStatusResponse' {httpStatus} -> httpStatus) (\s@GetChangeTokenStatusResponse' {} a -> s {httpStatus = a} :: GetChangeTokenStatusResponse)++instance Prelude.NFData GetChangeTokenStatusResponse where+ rnf GetChangeTokenStatusResponse' {..} =+ Prelude.rnf changeTokenStatus+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetGeoMatchSet.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetGeoMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the GeoMatchSet that is specified by @GeoMatchSetId@.+module Amazonka.WAF.GetGeoMatchSet+ ( -- * Creating a Request+ GetGeoMatchSet (..),+ newGetGeoMatchSet,++ -- * Request Lenses+ getGeoMatchSet_geoMatchSetId,++ -- * Destructuring the Response+ GetGeoMatchSetResponse (..),+ newGetGeoMatchSetResponse,++ -- * Response Lenses+ getGeoMatchSetResponse_geoMatchSet,+ getGeoMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetGeoMatchSet' smart constructor.+data GetGeoMatchSet = GetGeoMatchSet'+ { -- | The @GeoMatchSetId@ of the GeoMatchSet that you want to get.+ -- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+ -- ListGeoMatchSets.+ geoMatchSetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGeoMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoMatchSetId', 'getGeoMatchSet_geoMatchSetId' - The @GeoMatchSetId@ of the GeoMatchSet that you want to get.+-- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+-- ListGeoMatchSets.+newGetGeoMatchSet ::+ -- | 'geoMatchSetId'+ Prelude.Text ->+ GetGeoMatchSet+newGetGeoMatchSet pGeoMatchSetId_ =+ GetGeoMatchSet' {geoMatchSetId = pGeoMatchSetId_}++-- | The @GeoMatchSetId@ of the GeoMatchSet that you want to get.+-- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+-- ListGeoMatchSets.+getGeoMatchSet_geoMatchSetId :: Lens.Lens' GetGeoMatchSet Prelude.Text+getGeoMatchSet_geoMatchSetId = Lens.lens (\GetGeoMatchSet' {geoMatchSetId} -> geoMatchSetId) (\s@GetGeoMatchSet' {} a -> s {geoMatchSetId = a} :: GetGeoMatchSet)++instance Core.AWSRequest GetGeoMatchSet where+ type+ AWSResponse GetGeoMatchSet =+ GetGeoMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetGeoMatchSetResponse'+ Prelude.<$> (x Data..?> "GeoMatchSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetGeoMatchSet where+ hashWithSalt _salt GetGeoMatchSet' {..} =+ _salt `Prelude.hashWithSalt` geoMatchSetId++instance Prelude.NFData GetGeoMatchSet where+ rnf GetGeoMatchSet' {..} = Prelude.rnf geoMatchSetId++instance Data.ToHeaders GetGeoMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetGeoMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetGeoMatchSet where+ toJSON GetGeoMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("GeoMatchSetId" Data..= geoMatchSetId)+ ]+ )++instance Data.ToPath GetGeoMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery GetGeoMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetGeoMatchSetResponse' smart constructor.+data GetGeoMatchSetResponse = GetGeoMatchSetResponse'+ { -- | Information about the GeoMatchSet that you specified in the+ -- @GetGeoMatchSet@ request. This includes the @Type@, which for a+ -- @GeoMatchContraint@ is always @Country@, as well as the @Value@, which+ -- is the identifier for a specific country.+ geoMatchSet :: Prelude.Maybe GeoMatchSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGeoMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoMatchSet', 'getGeoMatchSetResponse_geoMatchSet' - Information about the GeoMatchSet that you specified in the+-- @GetGeoMatchSet@ request. This includes the @Type@, which for a+-- @GeoMatchContraint@ is always @Country@, as well as the @Value@, which+-- is the identifier for a specific country.+--+-- 'httpStatus', 'getGeoMatchSetResponse_httpStatus' - The response's http status code.+newGetGeoMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetGeoMatchSetResponse+newGetGeoMatchSetResponse pHttpStatus_ =+ GetGeoMatchSetResponse'+ { geoMatchSet =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the GeoMatchSet that you specified in the+-- @GetGeoMatchSet@ request. This includes the @Type@, which for a+-- @GeoMatchContraint@ is always @Country@, as well as the @Value@, which+-- is the identifier for a specific country.+getGeoMatchSetResponse_geoMatchSet :: Lens.Lens' GetGeoMatchSetResponse (Prelude.Maybe GeoMatchSet)+getGeoMatchSetResponse_geoMatchSet = Lens.lens (\GetGeoMatchSetResponse' {geoMatchSet} -> geoMatchSet) (\s@GetGeoMatchSetResponse' {} a -> s {geoMatchSet = a} :: GetGeoMatchSetResponse)++-- | The response's http status code.+getGeoMatchSetResponse_httpStatus :: Lens.Lens' GetGeoMatchSetResponse Prelude.Int+getGeoMatchSetResponse_httpStatus = Lens.lens (\GetGeoMatchSetResponse' {httpStatus} -> httpStatus) (\s@GetGeoMatchSetResponse' {} a -> s {httpStatus = a} :: GetGeoMatchSetResponse)++instance Prelude.NFData GetGeoMatchSetResponse where+ rnf GetGeoMatchSetResponse' {..} =+ Prelude.rnf geoMatchSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetIPSet.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetIPSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the IPSet that is specified by @IPSetId@.+module Amazonka.WAF.GetIPSet+ ( -- * Creating a Request+ GetIPSet (..),+ newGetIPSet,++ -- * Request Lenses+ getIPSet_iPSetId,++ -- * Destructuring the Response+ GetIPSetResponse (..),+ newGetIPSetResponse,++ -- * Response Lenses+ getIPSetResponse_iPSet,+ getIPSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetIPSet' smart constructor.+data GetIPSet = GetIPSet'+ { -- | The @IPSetId@ of the IPSet that you want to get. @IPSetId@ is returned+ -- by CreateIPSet and by ListIPSets.+ iPSetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetIPSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iPSetId', 'getIPSet_iPSetId' - The @IPSetId@ of the IPSet that you want to get. @IPSetId@ is returned+-- by CreateIPSet and by ListIPSets.+newGetIPSet ::+ -- | 'iPSetId'+ Prelude.Text ->+ GetIPSet+newGetIPSet pIPSetId_ =+ GetIPSet' {iPSetId = pIPSetId_}++-- | The @IPSetId@ of the IPSet that you want to get. @IPSetId@ is returned+-- by CreateIPSet and by ListIPSets.+getIPSet_iPSetId :: Lens.Lens' GetIPSet Prelude.Text+getIPSet_iPSetId = Lens.lens (\GetIPSet' {iPSetId} -> iPSetId) (\s@GetIPSet' {} a -> s {iPSetId = a} :: GetIPSet)++instance Core.AWSRequest GetIPSet where+ type AWSResponse GetIPSet = GetIPSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetIPSetResponse'+ Prelude.<$> (x Data..?> "IPSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetIPSet where+ hashWithSalt _salt GetIPSet' {..} =+ _salt `Prelude.hashWithSalt` iPSetId++instance Prelude.NFData GetIPSet where+ rnf GetIPSet' {..} = Prelude.rnf iPSetId++instance Data.ToHeaders GetIPSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSWAF_20150824.GetIPSet" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetIPSet where+ toJSON GetIPSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("IPSetId" Data..= iPSetId)]+ )++instance Data.ToPath GetIPSet where+ toPath = Prelude.const "/"++instance Data.ToQuery GetIPSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetIPSetResponse' smart constructor.+data GetIPSetResponse = GetIPSetResponse'+ { -- | Information about the IPSet that you specified in the @GetIPSet@+ -- request. For more information, see the following topics:+ --+ -- - IPSet: Contains @IPSetDescriptors@, @IPSetId@, and @Name@+ --+ -- - @IPSetDescriptors@: Contains an array of IPSetDescriptor objects.+ -- Each @IPSetDescriptor@ object contains @Type@ and @Value@+ iPSet :: Prelude.Maybe IPSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetIPSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iPSet', 'getIPSetResponse_iPSet' - Information about the IPSet that you specified in the @GetIPSet@+-- request. For more information, see the following topics:+--+-- - IPSet: Contains @IPSetDescriptors@, @IPSetId@, and @Name@+--+-- - @IPSetDescriptors@: Contains an array of IPSetDescriptor objects.+-- Each @IPSetDescriptor@ object contains @Type@ and @Value@+--+-- 'httpStatus', 'getIPSetResponse_httpStatus' - The response's http status code.+newGetIPSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetIPSetResponse+newGetIPSetResponse pHttpStatus_ =+ GetIPSetResponse'+ { iPSet = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the IPSet that you specified in the @GetIPSet@+-- request. For more information, see the following topics:+--+-- - IPSet: Contains @IPSetDescriptors@, @IPSetId@, and @Name@+--+-- - @IPSetDescriptors@: Contains an array of IPSetDescriptor objects.+-- Each @IPSetDescriptor@ object contains @Type@ and @Value@+getIPSetResponse_iPSet :: Lens.Lens' GetIPSetResponse (Prelude.Maybe IPSet)+getIPSetResponse_iPSet = Lens.lens (\GetIPSetResponse' {iPSet} -> iPSet) (\s@GetIPSetResponse' {} a -> s {iPSet = a} :: GetIPSetResponse)++-- | The response's http status code.+getIPSetResponse_httpStatus :: Lens.Lens' GetIPSetResponse Prelude.Int+getIPSetResponse_httpStatus = Lens.lens (\GetIPSetResponse' {httpStatus} -> httpStatus) (\s@GetIPSetResponse' {} a -> s {httpStatus = a} :: GetIPSetResponse)++instance Prelude.NFData GetIPSetResponse where+ rnf GetIPSetResponse' {..} =+ Prelude.rnf iPSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetLoggingConfiguration.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetLoggingConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the LoggingConfiguration for the specified web ACL.+module Amazonka.WAF.GetLoggingConfiguration+ ( -- * Creating a Request+ GetLoggingConfiguration (..),+ newGetLoggingConfiguration,++ -- * Request Lenses+ getLoggingConfiguration_resourceArn,++ -- * Destructuring the Response+ GetLoggingConfigurationResponse (..),+ newGetLoggingConfigurationResponse,++ -- * Response Lenses+ getLoggingConfigurationResponse_loggingConfiguration,+ getLoggingConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetLoggingConfiguration' smart constructor.+data GetLoggingConfiguration = GetLoggingConfiguration'+ { -- | The Amazon Resource Name (ARN) of the web ACL for which you want to get+ -- the LoggingConfiguration.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLoggingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'getLoggingConfiguration_resourceArn' - The Amazon Resource Name (ARN) of the web ACL for which you want to get+-- the LoggingConfiguration.+newGetLoggingConfiguration ::+ -- | 'resourceArn'+ Prelude.Text ->+ GetLoggingConfiguration+newGetLoggingConfiguration pResourceArn_ =+ GetLoggingConfiguration'+ { resourceArn =+ pResourceArn_+ }++-- | The Amazon Resource Name (ARN) of the web ACL for which you want to get+-- the LoggingConfiguration.+getLoggingConfiguration_resourceArn :: Lens.Lens' GetLoggingConfiguration Prelude.Text+getLoggingConfiguration_resourceArn = Lens.lens (\GetLoggingConfiguration' {resourceArn} -> resourceArn) (\s@GetLoggingConfiguration' {} a -> s {resourceArn = a} :: GetLoggingConfiguration)++instance Core.AWSRequest GetLoggingConfiguration where+ type+ AWSResponse GetLoggingConfiguration =+ GetLoggingConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetLoggingConfigurationResponse'+ Prelude.<$> (x Data..?> "LoggingConfiguration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetLoggingConfiguration where+ hashWithSalt _salt GetLoggingConfiguration' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData GetLoggingConfiguration where+ rnf GetLoggingConfiguration' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders GetLoggingConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetLoggingConfiguration" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetLoggingConfiguration where+ toJSON GetLoggingConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceArn" Data..= resourceArn)]+ )++instance Data.ToPath GetLoggingConfiguration where+ toPath = Prelude.const "/"++instance Data.ToQuery GetLoggingConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLoggingConfigurationResponse' smart constructor.+data GetLoggingConfigurationResponse = GetLoggingConfigurationResponse'+ { -- | The LoggingConfiguration for the specified web ACL.+ loggingConfiguration :: Prelude.Maybe LoggingConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLoggingConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loggingConfiguration', 'getLoggingConfigurationResponse_loggingConfiguration' - The LoggingConfiguration for the specified web ACL.+--+-- 'httpStatus', 'getLoggingConfigurationResponse_httpStatus' - The response's http status code.+newGetLoggingConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetLoggingConfigurationResponse+newGetLoggingConfigurationResponse pHttpStatus_ =+ GetLoggingConfigurationResponse'+ { loggingConfiguration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The LoggingConfiguration for the specified web ACL.+getLoggingConfigurationResponse_loggingConfiguration :: Lens.Lens' GetLoggingConfigurationResponse (Prelude.Maybe LoggingConfiguration)+getLoggingConfigurationResponse_loggingConfiguration = Lens.lens (\GetLoggingConfigurationResponse' {loggingConfiguration} -> loggingConfiguration) (\s@GetLoggingConfigurationResponse' {} a -> s {loggingConfiguration = a} :: GetLoggingConfigurationResponse)++-- | The response's http status code.+getLoggingConfigurationResponse_httpStatus :: Lens.Lens' GetLoggingConfigurationResponse Prelude.Int+getLoggingConfigurationResponse_httpStatus = Lens.lens (\GetLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: GetLoggingConfigurationResponse)++instance+ Prelude.NFData+ GetLoggingConfigurationResponse+ where+ rnf GetLoggingConfigurationResponse' {..} =+ Prelude.rnf loggingConfiguration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetPermissionPolicy.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetPermissionPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the IAM policy attached to the RuleGroup.+module Amazonka.WAF.GetPermissionPolicy+ ( -- * Creating a Request+ GetPermissionPolicy (..),+ newGetPermissionPolicy,++ -- * Request Lenses+ getPermissionPolicy_resourceArn,++ -- * Destructuring the Response+ GetPermissionPolicyResponse (..),+ newGetPermissionPolicyResponse,++ -- * Response Lenses+ getPermissionPolicyResponse_policy,+ getPermissionPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetPermissionPolicy' smart constructor.+data GetPermissionPolicy = GetPermissionPolicy'+ { -- | The Amazon Resource Name (ARN) of the RuleGroup for which you want to+ -- get the policy.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPermissionPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'getPermissionPolicy_resourceArn' - The Amazon Resource Name (ARN) of the RuleGroup for which you want to+-- get the policy.+newGetPermissionPolicy ::+ -- | 'resourceArn'+ Prelude.Text ->+ GetPermissionPolicy+newGetPermissionPolicy pResourceArn_ =+ GetPermissionPolicy' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the RuleGroup for which you want to+-- get the policy.+getPermissionPolicy_resourceArn :: Lens.Lens' GetPermissionPolicy Prelude.Text+getPermissionPolicy_resourceArn = Lens.lens (\GetPermissionPolicy' {resourceArn} -> resourceArn) (\s@GetPermissionPolicy' {} a -> s {resourceArn = a} :: GetPermissionPolicy)++instance Core.AWSRequest GetPermissionPolicy where+ type+ AWSResponse GetPermissionPolicy =+ GetPermissionPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetPermissionPolicyResponse'+ Prelude.<$> (x Data..?> "Policy")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetPermissionPolicy where+ hashWithSalt _salt GetPermissionPolicy' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData GetPermissionPolicy where+ rnf GetPermissionPolicy' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders GetPermissionPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetPermissionPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetPermissionPolicy where+ toJSON GetPermissionPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceArn" Data..= resourceArn)]+ )++instance Data.ToPath GetPermissionPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery GetPermissionPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPermissionPolicyResponse' smart constructor.+data GetPermissionPolicyResponse = GetPermissionPolicyResponse'+ { -- | The IAM policy attached to the specified RuleGroup.+ policy :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPermissionPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'getPermissionPolicyResponse_policy' - The IAM policy attached to the specified RuleGroup.+--+-- 'httpStatus', 'getPermissionPolicyResponse_httpStatus' - The response's http status code.+newGetPermissionPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetPermissionPolicyResponse+newGetPermissionPolicyResponse pHttpStatus_ =+ GetPermissionPolicyResponse'+ { policy =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The IAM policy attached to the specified RuleGroup.+getPermissionPolicyResponse_policy :: Lens.Lens' GetPermissionPolicyResponse (Prelude.Maybe Prelude.Text)+getPermissionPolicyResponse_policy = Lens.lens (\GetPermissionPolicyResponse' {policy} -> policy) (\s@GetPermissionPolicyResponse' {} a -> s {policy = a} :: GetPermissionPolicyResponse)++-- | The response's http status code.+getPermissionPolicyResponse_httpStatus :: Lens.Lens' GetPermissionPolicyResponse Prelude.Int+getPermissionPolicyResponse_httpStatus = Lens.lens (\GetPermissionPolicyResponse' {httpStatus} -> httpStatus) (\s@GetPermissionPolicyResponse' {} a -> s {httpStatus = a} :: GetPermissionPolicyResponse)++instance Prelude.NFData GetPermissionPolicyResponse where+ rnf GetPermissionPolicyResponse' {..} =+ Prelude.rnf policy+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetRateBasedRule.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetRateBasedRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the RateBasedRule that is specified by the @RuleId@ that you+-- included in the @GetRateBasedRule@ request.+module Amazonka.WAF.GetRateBasedRule+ ( -- * Creating a Request+ GetRateBasedRule (..),+ newGetRateBasedRule,++ -- * Request Lenses+ getRateBasedRule_ruleId,++ -- * Destructuring the Response+ GetRateBasedRuleResponse (..),+ newGetRateBasedRuleResponse,++ -- * Response Lenses+ getRateBasedRuleResponse_rule,+ getRateBasedRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetRateBasedRule' smart constructor.+data GetRateBasedRule = GetRateBasedRule'+ { -- | The @RuleId@ of the RateBasedRule that you want to get. @RuleId@ is+ -- returned by CreateRateBasedRule and by ListRateBasedRules.+ ruleId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRateBasedRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleId', 'getRateBasedRule_ruleId' - The @RuleId@ of the RateBasedRule that you want to get. @RuleId@ is+-- returned by CreateRateBasedRule and by ListRateBasedRules.+newGetRateBasedRule ::+ -- | 'ruleId'+ Prelude.Text ->+ GetRateBasedRule+newGetRateBasedRule pRuleId_ =+ GetRateBasedRule' {ruleId = pRuleId_}++-- | The @RuleId@ of the RateBasedRule that you want to get. @RuleId@ is+-- returned by CreateRateBasedRule and by ListRateBasedRules.+getRateBasedRule_ruleId :: Lens.Lens' GetRateBasedRule Prelude.Text+getRateBasedRule_ruleId = Lens.lens (\GetRateBasedRule' {ruleId} -> ruleId) (\s@GetRateBasedRule' {} a -> s {ruleId = a} :: GetRateBasedRule)++instance Core.AWSRequest GetRateBasedRule where+ type+ AWSResponse GetRateBasedRule =+ GetRateBasedRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetRateBasedRuleResponse'+ Prelude.<$> (x Data..?> "Rule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetRateBasedRule where+ hashWithSalt _salt GetRateBasedRule' {..} =+ _salt `Prelude.hashWithSalt` ruleId++instance Prelude.NFData GetRateBasedRule where+ rnf GetRateBasedRule' {..} = Prelude.rnf ruleId++instance Data.ToHeaders GetRateBasedRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetRateBasedRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetRateBasedRule where+ toJSON GetRateBasedRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("RuleId" Data..= ruleId)]+ )++instance Data.ToPath GetRateBasedRule where+ toPath = Prelude.const "/"++instance Data.ToQuery GetRateBasedRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRateBasedRuleResponse' smart constructor.+data GetRateBasedRuleResponse = GetRateBasedRuleResponse'+ { -- | Information about the RateBasedRule that you specified in the+ -- @GetRateBasedRule@ request.+ rule :: Prelude.Maybe RateBasedRule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRateBasedRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rule', 'getRateBasedRuleResponse_rule' - Information about the RateBasedRule that you specified in the+-- @GetRateBasedRule@ request.+--+-- 'httpStatus', 'getRateBasedRuleResponse_httpStatus' - The response's http status code.+newGetRateBasedRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetRateBasedRuleResponse+newGetRateBasedRuleResponse pHttpStatus_ =+ GetRateBasedRuleResponse'+ { rule = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the RateBasedRule that you specified in the+-- @GetRateBasedRule@ request.+getRateBasedRuleResponse_rule :: Lens.Lens' GetRateBasedRuleResponse (Prelude.Maybe RateBasedRule)+getRateBasedRuleResponse_rule = Lens.lens (\GetRateBasedRuleResponse' {rule} -> rule) (\s@GetRateBasedRuleResponse' {} a -> s {rule = a} :: GetRateBasedRuleResponse)++-- | The response's http status code.+getRateBasedRuleResponse_httpStatus :: Lens.Lens' GetRateBasedRuleResponse Prelude.Int+getRateBasedRuleResponse_httpStatus = Lens.lens (\GetRateBasedRuleResponse' {httpStatus} -> httpStatus) (\s@GetRateBasedRuleResponse' {} a -> s {httpStatus = a} :: GetRateBasedRuleResponse)++instance Prelude.NFData GetRateBasedRuleResponse where+ rnf GetRateBasedRuleResponse' {..} =+ Prelude.rnf rule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetRateBasedRuleManagedKeys.hs view
@@ -0,0 +1,251 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetRateBasedRuleManagedKeys+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of IP addresses currently being blocked by the+-- RateBasedRule that is specified by the @RuleId@. The maximum number of+-- managed keys that will be blocked is 10,000. If more than 10,000+-- addresses exceed the rate limit, the 10,000 addresses with the highest+-- rates will be blocked.+--+-- This operation returns paginated results.+module Amazonka.WAF.GetRateBasedRuleManagedKeys+ ( -- * Creating a Request+ GetRateBasedRuleManagedKeys (..),+ newGetRateBasedRuleManagedKeys,++ -- * Request Lenses+ getRateBasedRuleManagedKeys_nextMarker,+ getRateBasedRuleManagedKeys_ruleId,++ -- * Destructuring the Response+ GetRateBasedRuleManagedKeysResponse (..),+ newGetRateBasedRuleManagedKeysResponse,++ -- * Response Lenses+ getRateBasedRuleManagedKeysResponse_managedKeys,+ getRateBasedRuleManagedKeysResponse_nextMarker,+ getRateBasedRuleManagedKeysResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetRateBasedRuleManagedKeys' smart constructor.+data GetRateBasedRuleManagedKeys = GetRateBasedRuleManagedKeys'+ { -- | A null value and not currently used. Do not include this in your+ -- request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | The @RuleId@ of the RateBasedRule for which you want to get a list of+ -- @ManagedKeys@. @RuleId@ is returned by CreateRateBasedRule and by+ -- ListRateBasedRules.+ ruleId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRateBasedRuleManagedKeys' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'getRateBasedRuleManagedKeys_nextMarker' - A null value and not currently used. Do not include this in your+-- request.+--+-- 'ruleId', 'getRateBasedRuleManagedKeys_ruleId' - The @RuleId@ of the RateBasedRule for which you want to get a list of+-- @ManagedKeys@. @RuleId@ is returned by CreateRateBasedRule and by+-- ListRateBasedRules.+newGetRateBasedRuleManagedKeys ::+ -- | 'ruleId'+ Prelude.Text ->+ GetRateBasedRuleManagedKeys+newGetRateBasedRuleManagedKeys pRuleId_ =+ GetRateBasedRuleManagedKeys'+ { nextMarker =+ Prelude.Nothing,+ ruleId = pRuleId_+ }++-- | A null value and not currently used. Do not include this in your+-- request.+getRateBasedRuleManagedKeys_nextMarker :: Lens.Lens' GetRateBasedRuleManagedKeys (Prelude.Maybe Prelude.Text)+getRateBasedRuleManagedKeys_nextMarker = Lens.lens (\GetRateBasedRuleManagedKeys' {nextMarker} -> nextMarker) (\s@GetRateBasedRuleManagedKeys' {} a -> s {nextMarker = a} :: GetRateBasedRuleManagedKeys)++-- | The @RuleId@ of the RateBasedRule for which you want to get a list of+-- @ManagedKeys@. @RuleId@ is returned by CreateRateBasedRule and by+-- ListRateBasedRules.+getRateBasedRuleManagedKeys_ruleId :: Lens.Lens' GetRateBasedRuleManagedKeys Prelude.Text+getRateBasedRuleManagedKeys_ruleId = Lens.lens (\GetRateBasedRuleManagedKeys' {ruleId} -> ruleId) (\s@GetRateBasedRuleManagedKeys' {} a -> s {ruleId = a} :: GetRateBasedRuleManagedKeys)++instance Core.AWSPager GetRateBasedRuleManagedKeys where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getRateBasedRuleManagedKeysResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? getRateBasedRuleManagedKeysResponse_managedKeys+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getRateBasedRuleManagedKeys_nextMarker+ Lens..~ rs+ Lens.^? getRateBasedRuleManagedKeysResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest GetRateBasedRuleManagedKeys where+ type+ AWSResponse GetRateBasedRuleManagedKeys =+ GetRateBasedRuleManagedKeysResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetRateBasedRuleManagedKeysResponse'+ Prelude.<$> (x Data..?> "ManagedKeys" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextMarker")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetRateBasedRuleManagedKeys where+ hashWithSalt _salt GetRateBasedRuleManagedKeys' {..} =+ _salt+ `Prelude.hashWithSalt` nextMarker+ `Prelude.hashWithSalt` ruleId++instance Prelude.NFData GetRateBasedRuleManagedKeys where+ rnf GetRateBasedRuleManagedKeys' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf ruleId++instance Data.ToHeaders GetRateBasedRuleManagedKeys where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetRateBasedRuleManagedKeys" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetRateBasedRuleManagedKeys where+ toJSON GetRateBasedRuleManagedKeys' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("NextMarker" Data..=) Prelude.<$> nextMarker,+ Prelude.Just ("RuleId" Data..= ruleId)+ ]+ )++instance Data.ToPath GetRateBasedRuleManagedKeys where+ toPath = Prelude.const "/"++instance Data.ToQuery GetRateBasedRuleManagedKeys where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRateBasedRuleManagedKeysResponse' smart constructor.+data GetRateBasedRuleManagedKeysResponse = GetRateBasedRuleManagedKeysResponse'+ { -- | An array of IP addresses that currently are blocked by the specified+ -- RateBasedRule.+ managedKeys :: Prelude.Maybe [Prelude.Text],+ -- | A null value and not currently used.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRateBasedRuleManagedKeysResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'managedKeys', 'getRateBasedRuleManagedKeysResponse_managedKeys' - An array of IP addresses that currently are blocked by the specified+-- RateBasedRule.+--+-- 'nextMarker', 'getRateBasedRuleManagedKeysResponse_nextMarker' - A null value and not currently used.+--+-- 'httpStatus', 'getRateBasedRuleManagedKeysResponse_httpStatus' - The response's http status code.+newGetRateBasedRuleManagedKeysResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetRateBasedRuleManagedKeysResponse+newGetRateBasedRuleManagedKeysResponse pHttpStatus_ =+ GetRateBasedRuleManagedKeysResponse'+ { managedKeys =+ Prelude.Nothing,+ nextMarker = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of IP addresses that currently are blocked by the specified+-- RateBasedRule.+getRateBasedRuleManagedKeysResponse_managedKeys :: Lens.Lens' GetRateBasedRuleManagedKeysResponse (Prelude.Maybe [Prelude.Text])+getRateBasedRuleManagedKeysResponse_managedKeys = Lens.lens (\GetRateBasedRuleManagedKeysResponse' {managedKeys} -> managedKeys) (\s@GetRateBasedRuleManagedKeysResponse' {} a -> s {managedKeys = a} :: GetRateBasedRuleManagedKeysResponse) Prelude.. Lens.mapping Lens.coerced++-- | A null value and not currently used.+getRateBasedRuleManagedKeysResponse_nextMarker :: Lens.Lens' GetRateBasedRuleManagedKeysResponse (Prelude.Maybe Prelude.Text)+getRateBasedRuleManagedKeysResponse_nextMarker = Lens.lens (\GetRateBasedRuleManagedKeysResponse' {nextMarker} -> nextMarker) (\s@GetRateBasedRuleManagedKeysResponse' {} a -> s {nextMarker = a} :: GetRateBasedRuleManagedKeysResponse)++-- | The response's http status code.+getRateBasedRuleManagedKeysResponse_httpStatus :: Lens.Lens' GetRateBasedRuleManagedKeysResponse Prelude.Int+getRateBasedRuleManagedKeysResponse_httpStatus = Lens.lens (\GetRateBasedRuleManagedKeysResponse' {httpStatus} -> httpStatus) (\s@GetRateBasedRuleManagedKeysResponse' {} a -> s {httpStatus = a} :: GetRateBasedRuleManagedKeysResponse)++instance+ Prelude.NFData+ GetRateBasedRuleManagedKeysResponse+ where+ rnf GetRateBasedRuleManagedKeysResponse' {..} =+ Prelude.rnf managedKeys+ `Prelude.seq` Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetRegexMatchSet.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetRegexMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the RegexMatchSet specified by @RegexMatchSetId@.+module Amazonka.WAF.GetRegexMatchSet+ ( -- * Creating a Request+ GetRegexMatchSet (..),+ newGetRegexMatchSet,++ -- * Request Lenses+ getRegexMatchSet_regexMatchSetId,++ -- * Destructuring the Response+ GetRegexMatchSetResponse (..),+ newGetRegexMatchSetResponse,++ -- * Response Lenses+ getRegexMatchSetResponse_regexMatchSet,+ getRegexMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetRegexMatchSet' smart constructor.+data GetRegexMatchSet = GetRegexMatchSet'+ { -- | The @RegexMatchSetId@ of the RegexMatchSet that you want to get.+ -- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+ -- ListRegexMatchSets.+ regexMatchSetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRegexMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexMatchSetId', 'getRegexMatchSet_regexMatchSetId' - The @RegexMatchSetId@ of the RegexMatchSet that you want to get.+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+newGetRegexMatchSet ::+ -- | 'regexMatchSetId'+ Prelude.Text ->+ GetRegexMatchSet+newGetRegexMatchSet pRegexMatchSetId_ =+ GetRegexMatchSet'+ { regexMatchSetId =+ pRegexMatchSetId_+ }++-- | The @RegexMatchSetId@ of the RegexMatchSet that you want to get.+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+getRegexMatchSet_regexMatchSetId :: Lens.Lens' GetRegexMatchSet Prelude.Text+getRegexMatchSet_regexMatchSetId = Lens.lens (\GetRegexMatchSet' {regexMatchSetId} -> regexMatchSetId) (\s@GetRegexMatchSet' {} a -> s {regexMatchSetId = a} :: GetRegexMatchSet)++instance Core.AWSRequest GetRegexMatchSet where+ type+ AWSResponse GetRegexMatchSet =+ GetRegexMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetRegexMatchSetResponse'+ Prelude.<$> (x Data..?> "RegexMatchSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetRegexMatchSet where+ hashWithSalt _salt GetRegexMatchSet' {..} =+ _salt `Prelude.hashWithSalt` regexMatchSetId++instance Prelude.NFData GetRegexMatchSet where+ rnf GetRegexMatchSet' {..} =+ Prelude.rnf regexMatchSetId++instance Data.ToHeaders GetRegexMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetRegexMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetRegexMatchSet where+ toJSON GetRegexMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("RegexMatchSetId" Data..= regexMatchSetId)+ ]+ )++instance Data.ToPath GetRegexMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery GetRegexMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRegexMatchSetResponse' smart constructor.+data GetRegexMatchSetResponse = GetRegexMatchSetResponse'+ { -- | Information about the RegexMatchSet that you specified in the+ -- @GetRegexMatchSet@ request. For more information, see RegexMatchTuple.+ regexMatchSet :: Prelude.Maybe RegexMatchSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRegexMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexMatchSet', 'getRegexMatchSetResponse_regexMatchSet' - Information about the RegexMatchSet that you specified in the+-- @GetRegexMatchSet@ request. For more information, see RegexMatchTuple.+--+-- 'httpStatus', 'getRegexMatchSetResponse_httpStatus' - The response's http status code.+newGetRegexMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetRegexMatchSetResponse+newGetRegexMatchSetResponse pHttpStatus_ =+ GetRegexMatchSetResponse'+ { regexMatchSet =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the RegexMatchSet that you specified in the+-- @GetRegexMatchSet@ request. For more information, see RegexMatchTuple.+getRegexMatchSetResponse_regexMatchSet :: Lens.Lens' GetRegexMatchSetResponse (Prelude.Maybe RegexMatchSet)+getRegexMatchSetResponse_regexMatchSet = Lens.lens (\GetRegexMatchSetResponse' {regexMatchSet} -> regexMatchSet) (\s@GetRegexMatchSetResponse' {} a -> s {regexMatchSet = a} :: GetRegexMatchSetResponse)++-- | The response's http status code.+getRegexMatchSetResponse_httpStatus :: Lens.Lens' GetRegexMatchSetResponse Prelude.Int+getRegexMatchSetResponse_httpStatus = Lens.lens (\GetRegexMatchSetResponse' {httpStatus} -> httpStatus) (\s@GetRegexMatchSetResponse' {} a -> s {httpStatus = a} :: GetRegexMatchSetResponse)++instance Prelude.NFData GetRegexMatchSetResponse where+ rnf GetRegexMatchSetResponse' {..} =+ Prelude.rnf regexMatchSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetRegexPatternSet.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetRegexPatternSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the RegexPatternSet specified by @RegexPatternSetId@.+module Amazonka.WAF.GetRegexPatternSet+ ( -- * Creating a Request+ GetRegexPatternSet (..),+ newGetRegexPatternSet,++ -- * Request Lenses+ getRegexPatternSet_regexPatternSetId,++ -- * Destructuring the Response+ GetRegexPatternSetResponse (..),+ newGetRegexPatternSetResponse,++ -- * Response Lenses+ getRegexPatternSetResponse_regexPatternSet,+ getRegexPatternSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetRegexPatternSet' smart constructor.+data GetRegexPatternSet = GetRegexPatternSet'+ { -- | The @RegexPatternSetId@ of the RegexPatternSet that you want to get.+ -- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+ -- ListRegexPatternSets.+ regexPatternSetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRegexPatternSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexPatternSetId', 'getRegexPatternSet_regexPatternSetId' - The @RegexPatternSetId@ of the RegexPatternSet that you want to get.+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+newGetRegexPatternSet ::+ -- | 'regexPatternSetId'+ Prelude.Text ->+ GetRegexPatternSet+newGetRegexPatternSet pRegexPatternSetId_ =+ GetRegexPatternSet'+ { regexPatternSetId =+ pRegexPatternSetId_+ }++-- | The @RegexPatternSetId@ of the RegexPatternSet that you want to get.+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+getRegexPatternSet_regexPatternSetId :: Lens.Lens' GetRegexPatternSet Prelude.Text+getRegexPatternSet_regexPatternSetId = Lens.lens (\GetRegexPatternSet' {regexPatternSetId} -> regexPatternSetId) (\s@GetRegexPatternSet' {} a -> s {regexPatternSetId = a} :: GetRegexPatternSet)++instance Core.AWSRequest GetRegexPatternSet where+ type+ AWSResponse GetRegexPatternSet =+ GetRegexPatternSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetRegexPatternSetResponse'+ Prelude.<$> (x Data..?> "RegexPatternSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetRegexPatternSet where+ hashWithSalt _salt GetRegexPatternSet' {..} =+ _salt `Prelude.hashWithSalt` regexPatternSetId++instance Prelude.NFData GetRegexPatternSet where+ rnf GetRegexPatternSet' {..} =+ Prelude.rnf regexPatternSetId++instance Data.ToHeaders GetRegexPatternSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetRegexPatternSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetRegexPatternSet where+ toJSON GetRegexPatternSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("RegexPatternSetId" Data..= regexPatternSetId)+ ]+ )++instance Data.ToPath GetRegexPatternSet where+ toPath = Prelude.const "/"++instance Data.ToQuery GetRegexPatternSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRegexPatternSetResponse' smart constructor.+data GetRegexPatternSetResponse = GetRegexPatternSetResponse'+ { -- | Information about the RegexPatternSet that you specified in the+ -- @GetRegexPatternSet@ request, including the identifier of the pattern+ -- set and the regular expression patterns you want AWS WAF to search for.+ regexPatternSet :: Prelude.Maybe RegexPatternSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRegexPatternSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexPatternSet', 'getRegexPatternSetResponse_regexPatternSet' - Information about the RegexPatternSet that you specified in the+-- @GetRegexPatternSet@ request, including the identifier of the pattern+-- set and the regular expression patterns you want AWS WAF to search for.+--+-- 'httpStatus', 'getRegexPatternSetResponse_httpStatus' - The response's http status code.+newGetRegexPatternSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetRegexPatternSetResponse+newGetRegexPatternSetResponse pHttpStatus_ =+ GetRegexPatternSetResponse'+ { regexPatternSet =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the RegexPatternSet that you specified in the+-- @GetRegexPatternSet@ request, including the identifier of the pattern+-- set and the regular expression patterns you want AWS WAF to search for.+getRegexPatternSetResponse_regexPatternSet :: Lens.Lens' GetRegexPatternSetResponse (Prelude.Maybe RegexPatternSet)+getRegexPatternSetResponse_regexPatternSet = Lens.lens (\GetRegexPatternSetResponse' {regexPatternSet} -> regexPatternSet) (\s@GetRegexPatternSetResponse' {} a -> s {regexPatternSet = a} :: GetRegexPatternSetResponse)++-- | The response's http status code.+getRegexPatternSetResponse_httpStatus :: Lens.Lens' GetRegexPatternSetResponse Prelude.Int+getRegexPatternSetResponse_httpStatus = Lens.lens (\GetRegexPatternSetResponse' {httpStatus} -> httpStatus) (\s@GetRegexPatternSetResponse' {} a -> s {httpStatus = a} :: GetRegexPatternSetResponse)++instance Prelude.NFData GetRegexPatternSetResponse where+ rnf GetRegexPatternSetResponse' {..} =+ Prelude.rnf regexPatternSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetRule.hs view
@@ -0,0 +1,196 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the Rule that is specified by the @RuleId@ that you included in+-- the @GetRule@ request.+module Amazonka.WAF.GetRule+ ( -- * Creating a Request+ GetRule (..),+ newGetRule,++ -- * Request Lenses+ getRule_ruleId,++ -- * Destructuring the Response+ GetRuleResponse (..),+ newGetRuleResponse,++ -- * Response Lenses+ getRuleResponse_rule,+ getRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetRule' smart constructor.+data GetRule = GetRule'+ { -- | The @RuleId@ of the Rule that you want to get. @RuleId@ is returned by+ -- CreateRule and by ListRules.+ ruleId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleId', 'getRule_ruleId' - The @RuleId@ of the Rule that you want to get. @RuleId@ is returned by+-- CreateRule and by ListRules.+newGetRule ::+ -- | 'ruleId'+ Prelude.Text ->+ GetRule+newGetRule pRuleId_ = GetRule' {ruleId = pRuleId_}++-- | The @RuleId@ of the Rule that you want to get. @RuleId@ is returned by+-- CreateRule and by ListRules.+getRule_ruleId :: Lens.Lens' GetRule Prelude.Text+getRule_ruleId = Lens.lens (\GetRule' {ruleId} -> ruleId) (\s@GetRule' {} a -> s {ruleId = a} :: GetRule)++instance Core.AWSRequest GetRule where+ type AWSResponse GetRule = GetRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetRuleResponse'+ Prelude.<$> (x Data..?> "Rule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetRule where+ hashWithSalt _salt GetRule' {..} =+ _salt `Prelude.hashWithSalt` ruleId++instance Prelude.NFData GetRule where+ rnf GetRule' {..} = Prelude.rnf ruleId++instance Data.ToHeaders GetRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSWAF_20150824.GetRule" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetRule where+ toJSON GetRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("RuleId" Data..= ruleId)]+ )++instance Data.ToPath GetRule where+ toPath = Prelude.const "/"++instance Data.ToQuery GetRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRuleResponse' smart constructor.+data GetRuleResponse = GetRuleResponse'+ { -- | Information about the Rule that you specified in the @GetRule@ request.+ -- For more information, see the following topics:+ --+ -- - Rule: Contains @MetricName@, @Name@, an array of @Predicate@+ -- objects, and @RuleId@+ --+ -- - Predicate: Each @Predicate@ object contains @DataId@, @Negated@, and+ -- @Type@+ rule :: Prelude.Maybe Rule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rule', 'getRuleResponse_rule' - Information about the Rule that you specified in the @GetRule@ request.+-- For more information, see the following topics:+--+-- - Rule: Contains @MetricName@, @Name@, an array of @Predicate@+-- objects, and @RuleId@+--+-- - Predicate: Each @Predicate@ object contains @DataId@, @Negated@, and+-- @Type@+--+-- 'httpStatus', 'getRuleResponse_httpStatus' - The response's http status code.+newGetRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetRuleResponse+newGetRuleResponse pHttpStatus_ =+ GetRuleResponse'+ { rule = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the Rule that you specified in the @GetRule@ request.+-- For more information, see the following topics:+--+-- - Rule: Contains @MetricName@, @Name@, an array of @Predicate@+-- objects, and @RuleId@+--+-- - Predicate: Each @Predicate@ object contains @DataId@, @Negated@, and+-- @Type@+getRuleResponse_rule :: Lens.Lens' GetRuleResponse (Prelude.Maybe Rule)+getRuleResponse_rule = Lens.lens (\GetRuleResponse' {rule} -> rule) (\s@GetRuleResponse' {} a -> s {rule = a} :: GetRuleResponse)++-- | The response's http status code.+getRuleResponse_httpStatus :: Lens.Lens' GetRuleResponse Prelude.Int+getRuleResponse_httpStatus = Lens.lens (\GetRuleResponse' {httpStatus} -> httpStatus) (\s@GetRuleResponse' {} a -> s {httpStatus = a} :: GetRuleResponse)++instance Prelude.NFData GetRuleResponse where+ rnf GetRuleResponse' {..} =+ Prelude.rnf rule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetRuleGroup.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the RuleGroup that is specified by the @RuleGroupId@ that you+-- included in the @GetRuleGroup@ request.+--+-- To view the rules in a rule group, use ListActivatedRulesInRuleGroup.+module Amazonka.WAF.GetRuleGroup+ ( -- * Creating a Request+ GetRuleGroup (..),+ newGetRuleGroup,++ -- * Request Lenses+ getRuleGroup_ruleGroupId,++ -- * Destructuring the Response+ GetRuleGroupResponse (..),+ newGetRuleGroupResponse,++ -- * Response Lenses+ getRuleGroupResponse_ruleGroup,+ getRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetRuleGroup' smart constructor.+data GetRuleGroup = GetRuleGroup'+ { -- | The @RuleGroupId@ of the RuleGroup that you want to get. @RuleGroupId@+ -- is returned by CreateRuleGroup and by ListRuleGroups.+ ruleGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleGroupId', 'getRuleGroup_ruleGroupId' - The @RuleGroupId@ of the RuleGroup that you want to get. @RuleGroupId@+-- is returned by CreateRuleGroup and by ListRuleGroups.+newGetRuleGroup ::+ -- | 'ruleGroupId'+ Prelude.Text ->+ GetRuleGroup+newGetRuleGroup pRuleGroupId_ =+ GetRuleGroup' {ruleGroupId = pRuleGroupId_}++-- | The @RuleGroupId@ of the RuleGroup that you want to get. @RuleGroupId@+-- is returned by CreateRuleGroup and by ListRuleGroups.+getRuleGroup_ruleGroupId :: Lens.Lens' GetRuleGroup Prelude.Text+getRuleGroup_ruleGroupId = Lens.lens (\GetRuleGroup' {ruleGroupId} -> ruleGroupId) (\s@GetRuleGroup' {} a -> s {ruleGroupId = a} :: GetRuleGroup)++instance Core.AWSRequest GetRuleGroup where+ type AWSResponse GetRuleGroup = GetRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetRuleGroupResponse'+ Prelude.<$> (x Data..?> "RuleGroup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetRuleGroup where+ hashWithSalt _salt GetRuleGroup' {..} =+ _salt `Prelude.hashWithSalt` ruleGroupId++instance Prelude.NFData GetRuleGroup where+ rnf GetRuleGroup' {..} = Prelude.rnf ruleGroupId++instance Data.ToHeaders GetRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetRuleGroup where+ toJSON GetRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("RuleGroupId" Data..= ruleGroupId)]+ )++instance Data.ToPath GetRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery GetRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRuleGroupResponse' smart constructor.+data GetRuleGroupResponse = GetRuleGroupResponse'+ { -- | Information about the RuleGroup that you specified in the @GetRuleGroup@+ -- request.+ ruleGroup :: Prelude.Maybe RuleGroup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleGroup', 'getRuleGroupResponse_ruleGroup' - Information about the RuleGroup that you specified in the @GetRuleGroup@+-- request.+--+-- 'httpStatus', 'getRuleGroupResponse_httpStatus' - The response's http status code.+newGetRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetRuleGroupResponse+newGetRuleGroupResponse pHttpStatus_ =+ GetRuleGroupResponse'+ { ruleGroup = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the RuleGroup that you specified in the @GetRuleGroup@+-- request.+getRuleGroupResponse_ruleGroup :: Lens.Lens' GetRuleGroupResponse (Prelude.Maybe RuleGroup)+getRuleGroupResponse_ruleGroup = Lens.lens (\GetRuleGroupResponse' {ruleGroup} -> ruleGroup) (\s@GetRuleGroupResponse' {} a -> s {ruleGroup = a} :: GetRuleGroupResponse)++-- | The response's http status code.+getRuleGroupResponse_httpStatus :: Lens.Lens' GetRuleGroupResponse Prelude.Int+getRuleGroupResponse_httpStatus = Lens.lens (\GetRuleGroupResponse' {httpStatus} -> httpStatus) (\s@GetRuleGroupResponse' {} a -> s {httpStatus = a} :: GetRuleGroupResponse)++instance Prelude.NFData GetRuleGroupResponse where+ rnf GetRuleGroupResponse' {..} =+ Prelude.rnf ruleGroup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetSampledRequests.hs view
@@ -0,0 +1,344 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetSampledRequests+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Gets detailed information about a specified number of requests--a+-- sample--that AWS WAF randomly selects from among the first 5,000+-- requests that your AWS resource received during a time range that you+-- choose. You can specify a sample size of up to 500 requests, and you can+-- specify any time range in the previous three hours.+--+-- @GetSampledRequests@ returns a time range, which is usually the time+-- range that you specified. However, if your resource (such as a+-- CloudFront distribution) received 5,000 requests before the specified+-- time range elapsed, @GetSampledRequests@ returns an updated time range.+-- This new time range indicates the actual period during which AWS WAF+-- selected the requests in the sample.+module Amazonka.WAF.GetSampledRequests+ ( -- * Creating a Request+ GetSampledRequests (..),+ newGetSampledRequests,++ -- * Request Lenses+ getSampledRequests_webAclId,+ getSampledRequests_ruleId,+ getSampledRequests_timeWindow,+ getSampledRequests_maxItems,++ -- * Destructuring the Response+ GetSampledRequestsResponse (..),+ newGetSampledRequestsResponse,++ -- * Response Lenses+ getSampledRequestsResponse_populationSize,+ getSampledRequestsResponse_sampledRequests,+ getSampledRequestsResponse_timeWindow,+ getSampledRequestsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetSampledRequests' smart constructor.+data GetSampledRequests = GetSampledRequests'+ { -- | The @WebACLId@ of the @WebACL@ for which you want @GetSampledRequests@+ -- to return a sample of requests.+ webAclId :: Prelude.Text,+ -- | @RuleId@ is one of three values:+ --+ -- - The @RuleId@ of the @Rule@ or the @RuleGroupId@ of the @RuleGroup@+ -- for which you want @GetSampledRequests@ to return a sample of+ -- requests.+ --+ -- - @Default_Action@, which causes @GetSampledRequests@ to return a+ -- sample of the requests that didn\'t match any of the rules in the+ -- specified @WebACL@.+ ruleId :: Prelude.Text,+ -- | The start date and time and the end date and time of the range for which+ -- you want @GetSampledRequests@ to return a sample of 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.+ timeWindow :: TimeWindow,+ -- | The number of requests that you want AWS WAF to return from among the+ -- first 5,000 requests that your AWS resource received during the time+ -- range. If your resource received fewer requests than the value of+ -- @MaxItems@, @GetSampledRequests@ returns information about all of them.+ maxItems :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSampledRequests' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'webAclId', 'getSampledRequests_webAclId' - The @WebACLId@ of the @WebACL@ for which you want @GetSampledRequests@+-- to return a sample of requests.+--+-- 'ruleId', 'getSampledRequests_ruleId' - @RuleId@ is one of three values:+--+-- - The @RuleId@ of the @Rule@ or the @RuleGroupId@ of the @RuleGroup@+-- for which you want @GetSampledRequests@ to return a sample of+-- requests.+--+-- - @Default_Action@, which causes @GetSampledRequests@ to return a+-- sample of the requests that didn\'t match any of the rules in the+-- specified @WebACL@.+--+-- 'timeWindow', 'getSampledRequests_timeWindow' - The start date and time and the end date and time of the range for which+-- you want @GetSampledRequests@ to return a sample of 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.+--+-- 'maxItems', 'getSampledRequests_maxItems' - The number of requests that you want AWS WAF to return from among the+-- first 5,000 requests that your AWS resource received during the time+-- range. If your resource received fewer requests than the value of+-- @MaxItems@, @GetSampledRequests@ returns information about all of them.+newGetSampledRequests ::+ -- | 'webAclId'+ Prelude.Text ->+ -- | 'ruleId'+ Prelude.Text ->+ -- | 'timeWindow'+ TimeWindow ->+ -- | 'maxItems'+ Prelude.Natural ->+ GetSampledRequests+newGetSampledRequests+ pWebAclId_+ pRuleId_+ pTimeWindow_+ pMaxItems_ =+ GetSampledRequests'+ { webAclId = pWebAclId_,+ ruleId = pRuleId_,+ timeWindow = pTimeWindow_,+ maxItems = pMaxItems_+ }++-- | The @WebACLId@ of the @WebACL@ for which you want @GetSampledRequests@+-- to return a sample of requests.+getSampledRequests_webAclId :: Lens.Lens' GetSampledRequests Prelude.Text+getSampledRequests_webAclId = Lens.lens (\GetSampledRequests' {webAclId} -> webAclId) (\s@GetSampledRequests' {} a -> s {webAclId = a} :: GetSampledRequests)++-- | @RuleId@ is one of three values:+--+-- - The @RuleId@ of the @Rule@ or the @RuleGroupId@ of the @RuleGroup@+-- for which you want @GetSampledRequests@ to return a sample of+-- requests.+--+-- - @Default_Action@, which causes @GetSampledRequests@ to return a+-- sample of the requests that didn\'t match any of the rules in the+-- specified @WebACL@.+getSampledRequests_ruleId :: Lens.Lens' GetSampledRequests Prelude.Text+getSampledRequests_ruleId = Lens.lens (\GetSampledRequests' {ruleId} -> ruleId) (\s@GetSampledRequests' {} a -> s {ruleId = a} :: GetSampledRequests)++-- | The start date and time and the end date and time of the range for which+-- you want @GetSampledRequests@ to return a sample of 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.+getSampledRequests_timeWindow :: Lens.Lens' GetSampledRequests TimeWindow+getSampledRequests_timeWindow = Lens.lens (\GetSampledRequests' {timeWindow} -> timeWindow) (\s@GetSampledRequests' {} a -> s {timeWindow = a} :: GetSampledRequests)++-- | The number of requests that you want AWS WAF to return from among the+-- first 5,000 requests that your AWS resource received during the time+-- range. If your resource received fewer requests than the value of+-- @MaxItems@, @GetSampledRequests@ returns information about all of them.+getSampledRequests_maxItems :: Lens.Lens' GetSampledRequests Prelude.Natural+getSampledRequests_maxItems = Lens.lens (\GetSampledRequests' {maxItems} -> maxItems) (\s@GetSampledRequests' {} a -> s {maxItems = a} :: GetSampledRequests)++instance Core.AWSRequest GetSampledRequests where+ type+ AWSResponse GetSampledRequests =+ GetSampledRequestsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSampledRequestsResponse'+ Prelude.<$> (x Data..?> "PopulationSize")+ Prelude.<*> ( x+ Data..?> "SampledRequests"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "TimeWindow")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetSampledRequests where+ hashWithSalt _salt GetSampledRequests' {..} =+ _salt+ `Prelude.hashWithSalt` webAclId+ `Prelude.hashWithSalt` ruleId+ `Prelude.hashWithSalt` timeWindow+ `Prelude.hashWithSalt` maxItems++instance Prelude.NFData GetSampledRequests where+ rnf GetSampledRequests' {..} =+ Prelude.rnf webAclId+ `Prelude.seq` Prelude.rnf ruleId+ `Prelude.seq` Prelude.rnf timeWindow+ `Prelude.seq` Prelude.rnf maxItems++instance Data.ToHeaders GetSampledRequests where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetSampledRequests" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetSampledRequests where+ toJSON GetSampledRequests' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("WebAclId" Data..= webAclId),+ Prelude.Just ("RuleId" Data..= ruleId),+ Prelude.Just ("TimeWindow" Data..= timeWindow),+ Prelude.Just ("MaxItems" Data..= maxItems)+ ]+ )++instance Data.ToPath GetSampledRequests where+ toPath = Prelude.const "/"++instance Data.ToQuery GetSampledRequests where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSampledRequestsResponse' smart constructor.+data GetSampledRequestsResponse = GetSampledRequestsResponse'+ { -- | The total number of requests from which @GetSampledRequests@ got a+ -- sample of @MaxItems@ requests. If @PopulationSize@ is less than+ -- @MaxItems@, the sample includes every request that your AWS resource+ -- received during the specified time range.+ populationSize :: Prelude.Maybe Prelude.Integer,+ -- | A complex type that contains detailed information about each of the+ -- requests in the sample.+ sampledRequests :: Prelude.Maybe [SampledHTTPRequest],+ -- | Usually, @TimeWindow@ is the time range that you specified in the+ -- @GetSampledRequests@ request. However, if your AWS resource received+ -- more than 5,000 requests during the time range that you specified in the+ -- request, @GetSampledRequests@ returns the time range for the first 5,000+ -- requests. Times are in Coordinated Universal Time (UTC) format.+ timeWindow :: Prelude.Maybe TimeWindow,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSampledRequestsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'populationSize', 'getSampledRequestsResponse_populationSize' - The total number of requests from which @GetSampledRequests@ got a+-- sample of @MaxItems@ requests. If @PopulationSize@ is less than+-- @MaxItems@, the sample includes every request that your AWS resource+-- received during the specified time range.+--+-- 'sampledRequests', 'getSampledRequestsResponse_sampledRequests' - A complex type that contains detailed information about each of the+-- requests in the sample.+--+-- 'timeWindow', 'getSampledRequestsResponse_timeWindow' - Usually, @TimeWindow@ is the time range that you specified in the+-- @GetSampledRequests@ request. However, if your AWS resource received+-- more than 5,000 requests during the time range that you specified in the+-- request, @GetSampledRequests@ returns the time range for the first 5,000+-- requests. Times are in Coordinated Universal Time (UTC) format.+--+-- 'httpStatus', 'getSampledRequestsResponse_httpStatus' - The response's http status code.+newGetSampledRequestsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSampledRequestsResponse+newGetSampledRequestsResponse pHttpStatus_ =+ GetSampledRequestsResponse'+ { populationSize =+ Prelude.Nothing,+ sampledRequests = Prelude.Nothing,+ timeWindow = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The total number of requests from which @GetSampledRequests@ got a+-- sample of @MaxItems@ requests. If @PopulationSize@ is less than+-- @MaxItems@, the sample includes every request that your AWS resource+-- received during the specified time range.+getSampledRequestsResponse_populationSize :: Lens.Lens' GetSampledRequestsResponse (Prelude.Maybe Prelude.Integer)+getSampledRequestsResponse_populationSize = Lens.lens (\GetSampledRequestsResponse' {populationSize} -> populationSize) (\s@GetSampledRequestsResponse' {} a -> s {populationSize = a} :: GetSampledRequestsResponse)++-- | A complex type that contains detailed information about each of the+-- requests in the sample.+getSampledRequestsResponse_sampledRequests :: Lens.Lens' GetSampledRequestsResponse (Prelude.Maybe [SampledHTTPRequest])+getSampledRequestsResponse_sampledRequests = Lens.lens (\GetSampledRequestsResponse' {sampledRequests} -> sampledRequests) (\s@GetSampledRequestsResponse' {} a -> s {sampledRequests = a} :: GetSampledRequestsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Usually, @TimeWindow@ is the time range that you specified in the+-- @GetSampledRequests@ request. However, if your AWS resource received+-- more than 5,000 requests during the time range that you specified in the+-- request, @GetSampledRequests@ returns the time range for the first 5,000+-- requests. Times are in Coordinated Universal Time (UTC) format.+getSampledRequestsResponse_timeWindow :: Lens.Lens' GetSampledRequestsResponse (Prelude.Maybe TimeWindow)+getSampledRequestsResponse_timeWindow = Lens.lens (\GetSampledRequestsResponse' {timeWindow} -> timeWindow) (\s@GetSampledRequestsResponse' {} a -> s {timeWindow = a} :: GetSampledRequestsResponse)++-- | The response's http status code.+getSampledRequestsResponse_httpStatus :: Lens.Lens' GetSampledRequestsResponse Prelude.Int+getSampledRequestsResponse_httpStatus = Lens.lens (\GetSampledRequestsResponse' {httpStatus} -> httpStatus) (\s@GetSampledRequestsResponse' {} a -> s {httpStatus = a} :: GetSampledRequestsResponse)++instance Prelude.NFData GetSampledRequestsResponse where+ rnf GetSampledRequestsResponse' {..} =+ Prelude.rnf populationSize+ `Prelude.seq` Prelude.rnf sampledRequests+ `Prelude.seq` Prelude.rnf timeWindow+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetSizeConstraintSet.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetSizeConstraintSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the SizeConstraintSet specified by @SizeConstraintSetId@.+module Amazonka.WAF.GetSizeConstraintSet+ ( -- * Creating a Request+ GetSizeConstraintSet (..),+ newGetSizeConstraintSet,++ -- * Request Lenses+ getSizeConstraintSet_sizeConstraintSetId,++ -- * Destructuring the Response+ GetSizeConstraintSetResponse (..),+ newGetSizeConstraintSetResponse,++ -- * Response Lenses+ getSizeConstraintSetResponse_sizeConstraintSet,+ getSizeConstraintSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetSizeConstraintSet' smart constructor.+data GetSizeConstraintSet = GetSizeConstraintSet'+ { -- | The @SizeConstraintSetId@ of the SizeConstraintSet that you want to get.+ -- @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and by+ -- ListSizeConstraintSets.+ sizeConstraintSetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSizeConstraintSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sizeConstraintSetId', 'getSizeConstraintSet_sizeConstraintSetId' - The @SizeConstraintSetId@ of the SizeConstraintSet that you want to get.+-- @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and by+-- ListSizeConstraintSets.+newGetSizeConstraintSet ::+ -- | 'sizeConstraintSetId'+ Prelude.Text ->+ GetSizeConstraintSet+newGetSizeConstraintSet pSizeConstraintSetId_ =+ GetSizeConstraintSet'+ { sizeConstraintSetId =+ pSizeConstraintSetId_+ }++-- | The @SizeConstraintSetId@ of the SizeConstraintSet that you want to get.+-- @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and by+-- ListSizeConstraintSets.+getSizeConstraintSet_sizeConstraintSetId :: Lens.Lens' GetSizeConstraintSet Prelude.Text+getSizeConstraintSet_sizeConstraintSetId = Lens.lens (\GetSizeConstraintSet' {sizeConstraintSetId} -> sizeConstraintSetId) (\s@GetSizeConstraintSet' {} a -> s {sizeConstraintSetId = a} :: GetSizeConstraintSet)++instance Core.AWSRequest GetSizeConstraintSet where+ type+ AWSResponse GetSizeConstraintSet =+ GetSizeConstraintSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSizeConstraintSetResponse'+ Prelude.<$> (x Data..?> "SizeConstraintSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetSizeConstraintSet where+ hashWithSalt _salt GetSizeConstraintSet' {..} =+ _salt `Prelude.hashWithSalt` sizeConstraintSetId++instance Prelude.NFData GetSizeConstraintSet where+ rnf GetSizeConstraintSet' {..} =+ Prelude.rnf sizeConstraintSetId++instance Data.ToHeaders GetSizeConstraintSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetSizeConstraintSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetSizeConstraintSet where+ toJSON GetSizeConstraintSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("SizeConstraintSetId" Data..= sizeConstraintSetId)+ ]+ )++instance Data.ToPath GetSizeConstraintSet where+ toPath = Prelude.const "/"++instance Data.ToQuery GetSizeConstraintSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSizeConstraintSetResponse' smart constructor.+data GetSizeConstraintSetResponse = GetSizeConstraintSetResponse'+ { -- | Information about the SizeConstraintSet that you specified in the+ -- @GetSizeConstraintSet@ request. For more information, see the following+ -- topics:+ --+ -- - SizeConstraintSet: Contains @SizeConstraintSetId@,+ -- @SizeConstraints@, and @Name@+ --+ -- - @SizeConstraints@: Contains an array of SizeConstraint objects. Each+ -- @SizeConstraint@ object contains FieldToMatch, @TextTransformation@,+ -- @ComparisonOperator@, and @Size@+ --+ -- - FieldToMatch: Contains @Data@ and @Type@+ sizeConstraintSet :: Prelude.Maybe SizeConstraintSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSizeConstraintSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sizeConstraintSet', 'getSizeConstraintSetResponse_sizeConstraintSet' - Information about the SizeConstraintSet that you specified in the+-- @GetSizeConstraintSet@ request. For more information, see the following+-- topics:+--+-- - SizeConstraintSet: Contains @SizeConstraintSetId@,+-- @SizeConstraints@, and @Name@+--+-- - @SizeConstraints@: Contains an array of SizeConstraint objects. Each+-- @SizeConstraint@ object contains FieldToMatch, @TextTransformation@,+-- @ComparisonOperator@, and @Size@+--+-- - FieldToMatch: Contains @Data@ and @Type@+--+-- 'httpStatus', 'getSizeConstraintSetResponse_httpStatus' - The response's http status code.+newGetSizeConstraintSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSizeConstraintSetResponse+newGetSizeConstraintSetResponse pHttpStatus_ =+ GetSizeConstraintSetResponse'+ { sizeConstraintSet =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the SizeConstraintSet that you specified in the+-- @GetSizeConstraintSet@ request. For more information, see the following+-- topics:+--+-- - SizeConstraintSet: Contains @SizeConstraintSetId@,+-- @SizeConstraints@, and @Name@+--+-- - @SizeConstraints@: Contains an array of SizeConstraint objects. Each+-- @SizeConstraint@ object contains FieldToMatch, @TextTransformation@,+-- @ComparisonOperator@, and @Size@+--+-- - FieldToMatch: Contains @Data@ and @Type@+getSizeConstraintSetResponse_sizeConstraintSet :: Lens.Lens' GetSizeConstraintSetResponse (Prelude.Maybe SizeConstraintSet)+getSizeConstraintSetResponse_sizeConstraintSet = Lens.lens (\GetSizeConstraintSetResponse' {sizeConstraintSet} -> sizeConstraintSet) (\s@GetSizeConstraintSetResponse' {} a -> s {sizeConstraintSet = a} :: GetSizeConstraintSetResponse)++-- | The response's http status code.+getSizeConstraintSetResponse_httpStatus :: Lens.Lens' GetSizeConstraintSetResponse Prelude.Int+getSizeConstraintSetResponse_httpStatus = Lens.lens (\GetSizeConstraintSetResponse' {httpStatus} -> httpStatus) (\s@GetSizeConstraintSetResponse' {} a -> s {httpStatus = a} :: GetSizeConstraintSetResponse)++instance Prelude.NFData GetSizeConstraintSetResponse where+ rnf GetSizeConstraintSetResponse' {..} =+ Prelude.rnf sizeConstraintSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetSqlInjectionMatchSet.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetSqlInjectionMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the SqlInjectionMatchSet that is specified by+-- @SqlInjectionMatchSetId@.+module Amazonka.WAF.GetSqlInjectionMatchSet+ ( -- * Creating a Request+ GetSqlInjectionMatchSet (..),+ newGetSqlInjectionMatchSet,++ -- * Request Lenses+ getSqlInjectionMatchSet_sqlInjectionMatchSetId,++ -- * Destructuring the Response+ GetSqlInjectionMatchSetResponse (..),+ newGetSqlInjectionMatchSetResponse,++ -- * Response Lenses+ getSqlInjectionMatchSetResponse_sqlInjectionMatchSet,+ getSqlInjectionMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to get a SqlInjectionMatchSet.+--+-- /See:/ 'newGetSqlInjectionMatchSet' smart constructor.+data GetSqlInjectionMatchSet = GetSqlInjectionMatchSet'+ { -- | The @SqlInjectionMatchSetId@ of the SqlInjectionMatchSet that you want+ -- to get. @SqlInjectionMatchSetId@ is returned by+ -- CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.+ sqlInjectionMatchSetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSqlInjectionMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sqlInjectionMatchSetId', 'getSqlInjectionMatchSet_sqlInjectionMatchSetId' - The @SqlInjectionMatchSetId@ of the SqlInjectionMatchSet that you want+-- to get. @SqlInjectionMatchSetId@ is returned by+-- CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.+newGetSqlInjectionMatchSet ::+ -- | 'sqlInjectionMatchSetId'+ Prelude.Text ->+ GetSqlInjectionMatchSet+newGetSqlInjectionMatchSet pSqlInjectionMatchSetId_ =+ GetSqlInjectionMatchSet'+ { sqlInjectionMatchSetId =+ pSqlInjectionMatchSetId_+ }++-- | The @SqlInjectionMatchSetId@ of the SqlInjectionMatchSet that you want+-- to get. @SqlInjectionMatchSetId@ is returned by+-- CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.+getSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens.Lens' GetSqlInjectionMatchSet Prelude.Text+getSqlInjectionMatchSet_sqlInjectionMatchSetId = Lens.lens (\GetSqlInjectionMatchSet' {sqlInjectionMatchSetId} -> sqlInjectionMatchSetId) (\s@GetSqlInjectionMatchSet' {} a -> s {sqlInjectionMatchSetId = a} :: GetSqlInjectionMatchSet)++instance Core.AWSRequest GetSqlInjectionMatchSet where+ type+ AWSResponse GetSqlInjectionMatchSet =+ GetSqlInjectionMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSqlInjectionMatchSetResponse'+ Prelude.<$> (x Data..?> "SqlInjectionMatchSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetSqlInjectionMatchSet where+ hashWithSalt _salt GetSqlInjectionMatchSet' {..} =+ _salt `Prelude.hashWithSalt` sqlInjectionMatchSetId++instance Prelude.NFData GetSqlInjectionMatchSet where+ rnf GetSqlInjectionMatchSet' {..} =+ Prelude.rnf sqlInjectionMatchSetId++instance Data.ToHeaders GetSqlInjectionMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetSqlInjectionMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetSqlInjectionMatchSet where+ toJSON GetSqlInjectionMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "SqlInjectionMatchSetId"+ Data..= sqlInjectionMatchSetId+ )+ ]+ )++instance Data.ToPath GetSqlInjectionMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery GetSqlInjectionMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a GetSqlInjectionMatchSet request.+--+-- /See:/ 'newGetSqlInjectionMatchSetResponse' smart constructor.+data GetSqlInjectionMatchSetResponse = GetSqlInjectionMatchSetResponse'+ { -- | Information about the SqlInjectionMatchSet that you specified in the+ -- @GetSqlInjectionMatchSet@ request. For more information, see the+ -- following topics:+ --+ -- - SqlInjectionMatchSet: Contains @Name@, @SqlInjectionMatchSetId@, and+ -- an array of @SqlInjectionMatchTuple@ objects+ --+ -- - SqlInjectionMatchTuple: Each @SqlInjectionMatchTuple@ object+ -- contains @FieldToMatch@ and @TextTransformation@+ --+ -- - FieldToMatch: Contains @Data@ and @Type@+ sqlInjectionMatchSet :: Prelude.Maybe SqlInjectionMatchSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSqlInjectionMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sqlInjectionMatchSet', 'getSqlInjectionMatchSetResponse_sqlInjectionMatchSet' - Information about the SqlInjectionMatchSet that you specified in the+-- @GetSqlInjectionMatchSet@ request. For more information, see the+-- following topics:+--+-- - SqlInjectionMatchSet: Contains @Name@, @SqlInjectionMatchSetId@, and+-- an array of @SqlInjectionMatchTuple@ objects+--+-- - SqlInjectionMatchTuple: Each @SqlInjectionMatchTuple@ object+-- contains @FieldToMatch@ and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+--+-- 'httpStatus', 'getSqlInjectionMatchSetResponse_httpStatus' - The response's http status code.+newGetSqlInjectionMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSqlInjectionMatchSetResponse+newGetSqlInjectionMatchSetResponse pHttpStatus_ =+ GetSqlInjectionMatchSetResponse'+ { sqlInjectionMatchSet =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the SqlInjectionMatchSet that you specified in the+-- @GetSqlInjectionMatchSet@ request. For more information, see the+-- following topics:+--+-- - SqlInjectionMatchSet: Contains @Name@, @SqlInjectionMatchSetId@, and+-- an array of @SqlInjectionMatchTuple@ objects+--+-- - SqlInjectionMatchTuple: Each @SqlInjectionMatchTuple@ object+-- contains @FieldToMatch@ and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+getSqlInjectionMatchSetResponse_sqlInjectionMatchSet :: Lens.Lens' GetSqlInjectionMatchSetResponse (Prelude.Maybe SqlInjectionMatchSet)+getSqlInjectionMatchSetResponse_sqlInjectionMatchSet = Lens.lens (\GetSqlInjectionMatchSetResponse' {sqlInjectionMatchSet} -> sqlInjectionMatchSet) (\s@GetSqlInjectionMatchSetResponse' {} a -> s {sqlInjectionMatchSet = a} :: GetSqlInjectionMatchSetResponse)++-- | The response's http status code.+getSqlInjectionMatchSetResponse_httpStatus :: Lens.Lens' GetSqlInjectionMatchSetResponse Prelude.Int+getSqlInjectionMatchSetResponse_httpStatus = Lens.lens (\GetSqlInjectionMatchSetResponse' {httpStatus} -> httpStatus) (\s@GetSqlInjectionMatchSetResponse' {} a -> s {httpStatus = a} :: GetSqlInjectionMatchSetResponse)++instance+ Prelude.NFData+ GetSqlInjectionMatchSetResponse+ where+ rnf GetSqlInjectionMatchSetResponse' {..} =+ Prelude.rnf sqlInjectionMatchSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetWebACL.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetWebACL+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the WebACL that is specified by @WebACLId@.+module Amazonka.WAF.GetWebACL+ ( -- * Creating a Request+ GetWebACL (..),+ newGetWebACL,++ -- * Request Lenses+ getWebACL_webACLId,++ -- * Destructuring the Response+ GetWebACLResponse (..),+ newGetWebACLResponse,++ -- * Response Lenses+ getWebACLResponse_webACL,+ getWebACLResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newGetWebACL' smart constructor.+data GetWebACL = GetWebACL'+ { -- | The @WebACLId@ of the WebACL that you want to get. @WebACLId@ is+ -- returned by CreateWebACL and by ListWebACLs.+ webACLId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWebACL' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'webACLId', 'getWebACL_webACLId' - The @WebACLId@ of the WebACL that you want to get. @WebACLId@ is+-- returned by CreateWebACL and by ListWebACLs.+newGetWebACL ::+ -- | 'webACLId'+ Prelude.Text ->+ GetWebACL+newGetWebACL pWebACLId_ =+ GetWebACL' {webACLId = pWebACLId_}++-- | The @WebACLId@ of the WebACL that you want to get. @WebACLId@ is+-- returned by CreateWebACL and by ListWebACLs.+getWebACL_webACLId :: Lens.Lens' GetWebACL Prelude.Text+getWebACL_webACLId = Lens.lens (\GetWebACL' {webACLId} -> webACLId) (\s@GetWebACL' {} a -> s {webACLId = a} :: GetWebACL)++instance Core.AWSRequest GetWebACL where+ type AWSResponse GetWebACL = GetWebACLResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetWebACLResponse'+ Prelude.<$> (x Data..?> "WebACL")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetWebACL where+ hashWithSalt _salt GetWebACL' {..} =+ _salt `Prelude.hashWithSalt` webACLId++instance Prelude.NFData GetWebACL where+ rnf GetWebACL' {..} = Prelude.rnf webACLId++instance Data.ToHeaders GetWebACL where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSWAF_20150824.GetWebACL" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetWebACL where+ toJSON GetWebACL' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("WebACLId" Data..= webACLId)]+ )++instance Data.ToPath GetWebACL where+ toPath = Prelude.const "/"++instance Data.ToQuery GetWebACL where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetWebACLResponse' smart constructor.+data GetWebACLResponse = GetWebACLResponse'+ { -- | Information about the WebACL that you specified in the @GetWebACL@+ -- request. For more information, see the following topics:+ --+ -- - WebACL: Contains @DefaultAction@, @MetricName@, @Name@, an array of+ -- @Rule@ objects, and @WebACLId@+ --+ -- - @DefaultAction@ (Data type is WafAction): Contains @Type@+ --+ -- - @Rules@: Contains an array of @ActivatedRule@ objects, which contain+ -- @Action@, @Priority@, and @RuleId@+ --+ -- - @Action@: Contains @Type@+ webACL :: Prelude.Maybe WebACL,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWebACLResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'webACL', 'getWebACLResponse_webACL' - Information about the WebACL that you specified in the @GetWebACL@+-- request. For more information, see the following topics:+--+-- - WebACL: Contains @DefaultAction@, @MetricName@, @Name@, an array of+-- @Rule@ objects, and @WebACLId@+--+-- - @DefaultAction@ (Data type is WafAction): Contains @Type@+--+-- - @Rules@: Contains an array of @ActivatedRule@ objects, which contain+-- @Action@, @Priority@, and @RuleId@+--+-- - @Action@: Contains @Type@+--+-- 'httpStatus', 'getWebACLResponse_httpStatus' - The response's http status code.+newGetWebACLResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetWebACLResponse+newGetWebACLResponse pHttpStatus_ =+ GetWebACLResponse'+ { webACL = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the WebACL that you specified in the @GetWebACL@+-- request. For more information, see the following topics:+--+-- - WebACL: Contains @DefaultAction@, @MetricName@, @Name@, an array of+-- @Rule@ objects, and @WebACLId@+--+-- - @DefaultAction@ (Data type is WafAction): Contains @Type@+--+-- - @Rules@: Contains an array of @ActivatedRule@ objects, which contain+-- @Action@, @Priority@, and @RuleId@+--+-- - @Action@: Contains @Type@+getWebACLResponse_webACL :: Lens.Lens' GetWebACLResponse (Prelude.Maybe WebACL)+getWebACLResponse_webACL = Lens.lens (\GetWebACLResponse' {webACL} -> webACL) (\s@GetWebACLResponse' {} a -> s {webACL = a} :: GetWebACLResponse)++-- | The response's http status code.+getWebACLResponse_httpStatus :: Lens.Lens' GetWebACLResponse Prelude.Int+getWebACLResponse_httpStatus = Lens.lens (\GetWebACLResponse' {httpStatus} -> httpStatus) (\s@GetWebACLResponse' {} a -> s {httpStatus = a} :: GetWebACLResponse)++instance Prelude.NFData GetWebACLResponse where+ rnf GetWebACLResponse' {..} =+ Prelude.rnf webACL+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/GetXssMatchSet.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.GetXssMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns the XssMatchSet that is specified by @XssMatchSetId@.+module Amazonka.WAF.GetXssMatchSet+ ( -- * Creating a Request+ GetXssMatchSet (..),+ newGetXssMatchSet,++ -- * Request Lenses+ getXssMatchSet_xssMatchSetId,++ -- * Destructuring the Response+ GetXssMatchSetResponse (..),+ newGetXssMatchSetResponse,++ -- * Response Lenses+ getXssMatchSetResponse_xssMatchSet,+ getXssMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to get an XssMatchSet.+--+-- /See:/ 'newGetXssMatchSet' smart constructor.+data GetXssMatchSet = GetXssMatchSet'+ { -- | The @XssMatchSetId@ of the XssMatchSet that you want to get.+ -- @XssMatchSetId@ is returned by CreateXssMatchSet and by+ -- ListXssMatchSets.+ xssMatchSetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetXssMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'xssMatchSetId', 'getXssMatchSet_xssMatchSetId' - The @XssMatchSetId@ of the XssMatchSet that you want to get.+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+newGetXssMatchSet ::+ -- | 'xssMatchSetId'+ Prelude.Text ->+ GetXssMatchSet+newGetXssMatchSet pXssMatchSetId_ =+ GetXssMatchSet' {xssMatchSetId = pXssMatchSetId_}++-- | The @XssMatchSetId@ of the XssMatchSet that you want to get.+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+getXssMatchSet_xssMatchSetId :: Lens.Lens' GetXssMatchSet Prelude.Text+getXssMatchSet_xssMatchSetId = Lens.lens (\GetXssMatchSet' {xssMatchSetId} -> xssMatchSetId) (\s@GetXssMatchSet' {} a -> s {xssMatchSetId = a} :: GetXssMatchSet)++instance Core.AWSRequest GetXssMatchSet where+ type+ AWSResponse GetXssMatchSet =+ GetXssMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetXssMatchSetResponse'+ Prelude.<$> (x Data..?> "XssMatchSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetXssMatchSet where+ hashWithSalt _salt GetXssMatchSet' {..} =+ _salt `Prelude.hashWithSalt` xssMatchSetId++instance Prelude.NFData GetXssMatchSet where+ rnf GetXssMatchSet' {..} = Prelude.rnf xssMatchSetId++instance Data.ToHeaders GetXssMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.GetXssMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetXssMatchSet where+ toJSON GetXssMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("XssMatchSetId" Data..= xssMatchSetId)+ ]+ )++instance Data.ToPath GetXssMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery GetXssMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a GetXssMatchSet request.+--+-- /See:/ 'newGetXssMatchSetResponse' smart constructor.+data GetXssMatchSetResponse = GetXssMatchSetResponse'+ { -- | Information about the XssMatchSet that you specified in the+ -- @GetXssMatchSet@ request. For more information, see the following+ -- topics:+ --+ -- - XssMatchSet: Contains @Name@, @XssMatchSetId@, and an array of+ -- @XssMatchTuple@ objects+ --+ -- - XssMatchTuple: Each @XssMatchTuple@ object contains @FieldToMatch@+ -- and @TextTransformation@+ --+ -- - FieldToMatch: Contains @Data@ and @Type@+ xssMatchSet :: Prelude.Maybe XssMatchSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetXssMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'xssMatchSet', 'getXssMatchSetResponse_xssMatchSet' - Information about the XssMatchSet that you specified in the+-- @GetXssMatchSet@ request. For more information, see the following+-- topics:+--+-- - XssMatchSet: Contains @Name@, @XssMatchSetId@, and an array of+-- @XssMatchTuple@ objects+--+-- - XssMatchTuple: Each @XssMatchTuple@ object contains @FieldToMatch@+-- and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+--+-- 'httpStatus', 'getXssMatchSetResponse_httpStatus' - The response's http status code.+newGetXssMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetXssMatchSetResponse+newGetXssMatchSetResponse pHttpStatus_ =+ GetXssMatchSetResponse'+ { xssMatchSet =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the XssMatchSet that you specified in the+-- @GetXssMatchSet@ request. For more information, see the following+-- topics:+--+-- - XssMatchSet: Contains @Name@, @XssMatchSetId@, and an array of+-- @XssMatchTuple@ objects+--+-- - XssMatchTuple: Each @XssMatchTuple@ object contains @FieldToMatch@+-- and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+getXssMatchSetResponse_xssMatchSet :: Lens.Lens' GetXssMatchSetResponse (Prelude.Maybe XssMatchSet)+getXssMatchSetResponse_xssMatchSet = Lens.lens (\GetXssMatchSetResponse' {xssMatchSet} -> xssMatchSet) (\s@GetXssMatchSetResponse' {} a -> s {xssMatchSet = a} :: GetXssMatchSetResponse)++-- | The response's http status code.+getXssMatchSetResponse_httpStatus :: Lens.Lens' GetXssMatchSetResponse Prelude.Int+getXssMatchSetResponse_httpStatus = Lens.lens (\GetXssMatchSetResponse' {httpStatus} -> httpStatus) (\s@GetXssMatchSetResponse' {} a -> s {httpStatus = a} :: GetXssMatchSetResponse)++instance Prelude.NFData GetXssMatchSetResponse where+ rnf GetXssMatchSetResponse' {..} =+ Prelude.rnf xssMatchSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/Lens.hs view
@@ -0,0 +1,905 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Lens+ ( -- * Operations++ -- ** CreateByteMatchSet+ createByteMatchSet_name,+ createByteMatchSet_changeToken,+ createByteMatchSetResponse_byteMatchSet,+ createByteMatchSetResponse_changeToken,+ createByteMatchSetResponse_httpStatus,++ -- ** CreateGeoMatchSet+ createGeoMatchSet_name,+ createGeoMatchSet_changeToken,+ createGeoMatchSetResponse_changeToken,+ createGeoMatchSetResponse_geoMatchSet,+ createGeoMatchSetResponse_httpStatus,++ -- ** CreateIPSet+ createIPSet_name,+ createIPSet_changeToken,+ createIPSetResponse_changeToken,+ createIPSetResponse_iPSet,+ createIPSetResponse_httpStatus,++ -- ** CreateRateBasedRule+ createRateBasedRule_tags,+ createRateBasedRule_name,+ createRateBasedRule_metricName,+ createRateBasedRule_rateKey,+ createRateBasedRule_rateLimit,+ createRateBasedRule_changeToken,+ createRateBasedRuleResponse_changeToken,+ createRateBasedRuleResponse_rule,+ createRateBasedRuleResponse_httpStatus,++ -- ** CreateRegexMatchSet+ createRegexMatchSet_name,+ createRegexMatchSet_changeToken,+ createRegexMatchSetResponse_changeToken,+ createRegexMatchSetResponse_regexMatchSet,+ createRegexMatchSetResponse_httpStatus,++ -- ** CreateRegexPatternSet+ createRegexPatternSet_name,+ createRegexPatternSet_changeToken,+ createRegexPatternSetResponse_changeToken,+ createRegexPatternSetResponse_regexPatternSet,+ createRegexPatternSetResponse_httpStatus,++ -- ** CreateRule+ createRule_tags,+ createRule_name,+ createRule_metricName,+ createRule_changeToken,+ createRuleResponse_changeToken,+ createRuleResponse_rule,+ createRuleResponse_httpStatus,++ -- ** CreateRuleGroup+ createRuleGroup_tags,+ createRuleGroup_name,+ createRuleGroup_metricName,+ createRuleGroup_changeToken,+ createRuleGroupResponse_changeToken,+ createRuleGroupResponse_ruleGroup,+ createRuleGroupResponse_httpStatus,++ -- ** CreateSizeConstraintSet+ createSizeConstraintSet_name,+ createSizeConstraintSet_changeToken,+ createSizeConstraintSetResponse_changeToken,+ createSizeConstraintSetResponse_sizeConstraintSet,+ createSizeConstraintSetResponse_httpStatus,++ -- ** CreateSqlInjectionMatchSet+ createSqlInjectionMatchSet_name,+ createSqlInjectionMatchSet_changeToken,+ createSqlInjectionMatchSetResponse_changeToken,+ createSqlInjectionMatchSetResponse_sqlInjectionMatchSet,+ createSqlInjectionMatchSetResponse_httpStatus,++ -- ** CreateWebACL+ createWebACL_tags,+ createWebACL_name,+ createWebACL_metricName,+ createWebACL_defaultAction,+ createWebACL_changeToken,+ createWebACLResponse_changeToken,+ createWebACLResponse_webACL,+ createWebACLResponse_httpStatus,++ -- ** CreateWebACLMigrationStack+ createWebACLMigrationStack_webACLId,+ createWebACLMigrationStack_s3BucketName,+ createWebACLMigrationStack_ignoreUnsupportedType,+ createWebACLMigrationStackResponse_httpStatus,+ createWebACLMigrationStackResponse_s3ObjectUrl,++ -- ** CreateXssMatchSet+ createXssMatchSet_name,+ createXssMatchSet_changeToken,+ createXssMatchSetResponse_changeToken,+ createXssMatchSetResponse_xssMatchSet,+ createXssMatchSetResponse_httpStatus,++ -- ** DeleteByteMatchSet+ deleteByteMatchSet_byteMatchSetId,+ deleteByteMatchSet_changeToken,+ deleteByteMatchSetResponse_changeToken,+ deleteByteMatchSetResponse_httpStatus,++ -- ** DeleteGeoMatchSet+ deleteGeoMatchSet_geoMatchSetId,+ deleteGeoMatchSet_changeToken,+ deleteGeoMatchSetResponse_changeToken,+ deleteGeoMatchSetResponse_httpStatus,++ -- ** DeleteIPSet+ deleteIPSet_iPSetId,+ deleteIPSet_changeToken,+ deleteIPSetResponse_changeToken,+ deleteIPSetResponse_httpStatus,++ -- ** DeleteLoggingConfiguration+ deleteLoggingConfiguration_resourceArn,+ deleteLoggingConfigurationResponse_httpStatus,++ -- ** DeletePermissionPolicy+ deletePermissionPolicy_resourceArn,+ deletePermissionPolicyResponse_httpStatus,++ -- ** DeleteRateBasedRule+ deleteRateBasedRule_ruleId,+ deleteRateBasedRule_changeToken,+ deleteRateBasedRuleResponse_changeToken,+ deleteRateBasedRuleResponse_httpStatus,++ -- ** DeleteRegexMatchSet+ deleteRegexMatchSet_regexMatchSetId,+ deleteRegexMatchSet_changeToken,+ deleteRegexMatchSetResponse_changeToken,+ deleteRegexMatchSetResponse_httpStatus,++ -- ** DeleteRegexPatternSet+ deleteRegexPatternSet_regexPatternSetId,+ deleteRegexPatternSet_changeToken,+ deleteRegexPatternSetResponse_changeToken,+ deleteRegexPatternSetResponse_httpStatus,++ -- ** DeleteRule+ deleteRule_ruleId,+ deleteRule_changeToken,+ deleteRuleResponse_changeToken,+ deleteRuleResponse_httpStatus,++ -- ** DeleteRuleGroup+ deleteRuleGroup_ruleGroupId,+ deleteRuleGroup_changeToken,+ deleteRuleGroupResponse_changeToken,+ deleteRuleGroupResponse_httpStatus,++ -- ** DeleteSizeConstraintSet+ deleteSizeConstraintSet_sizeConstraintSetId,+ deleteSizeConstraintSet_changeToken,+ deleteSizeConstraintSetResponse_changeToken,+ deleteSizeConstraintSetResponse_httpStatus,++ -- ** DeleteSqlInjectionMatchSet+ deleteSqlInjectionMatchSet_sqlInjectionMatchSetId,+ deleteSqlInjectionMatchSet_changeToken,+ deleteSqlInjectionMatchSetResponse_changeToken,+ deleteSqlInjectionMatchSetResponse_httpStatus,++ -- ** DeleteWebACL+ deleteWebACL_webACLId,+ deleteWebACL_changeToken,+ deleteWebACLResponse_changeToken,+ deleteWebACLResponse_httpStatus,++ -- ** DeleteXssMatchSet+ deleteXssMatchSet_xssMatchSetId,+ deleteXssMatchSet_changeToken,+ deleteXssMatchSetResponse_changeToken,+ deleteXssMatchSetResponse_httpStatus,++ -- ** GetByteMatchSet+ getByteMatchSet_byteMatchSetId,+ getByteMatchSetResponse_byteMatchSet,+ getByteMatchSetResponse_httpStatus,++ -- ** GetChangeToken+ getChangeTokenResponse_changeToken,+ getChangeTokenResponse_httpStatus,++ -- ** GetChangeTokenStatus+ getChangeTokenStatus_changeToken,+ getChangeTokenStatusResponse_changeTokenStatus,+ getChangeTokenStatusResponse_httpStatus,++ -- ** GetGeoMatchSet+ getGeoMatchSet_geoMatchSetId,+ getGeoMatchSetResponse_geoMatchSet,+ getGeoMatchSetResponse_httpStatus,++ -- ** GetIPSet+ getIPSet_iPSetId,+ getIPSetResponse_iPSet,+ getIPSetResponse_httpStatus,++ -- ** GetLoggingConfiguration+ getLoggingConfiguration_resourceArn,+ getLoggingConfigurationResponse_loggingConfiguration,+ getLoggingConfigurationResponse_httpStatus,++ -- ** GetPermissionPolicy+ getPermissionPolicy_resourceArn,+ getPermissionPolicyResponse_policy,+ getPermissionPolicyResponse_httpStatus,++ -- ** GetRateBasedRule+ getRateBasedRule_ruleId,+ getRateBasedRuleResponse_rule,+ getRateBasedRuleResponse_httpStatus,++ -- ** GetRateBasedRuleManagedKeys+ getRateBasedRuleManagedKeys_nextMarker,+ getRateBasedRuleManagedKeys_ruleId,+ getRateBasedRuleManagedKeysResponse_managedKeys,+ getRateBasedRuleManagedKeysResponse_nextMarker,+ getRateBasedRuleManagedKeysResponse_httpStatus,++ -- ** GetRegexMatchSet+ getRegexMatchSet_regexMatchSetId,+ getRegexMatchSetResponse_regexMatchSet,+ getRegexMatchSetResponse_httpStatus,++ -- ** GetRegexPatternSet+ getRegexPatternSet_regexPatternSetId,+ getRegexPatternSetResponse_regexPatternSet,+ getRegexPatternSetResponse_httpStatus,++ -- ** GetRule+ getRule_ruleId,+ getRuleResponse_rule,+ getRuleResponse_httpStatus,++ -- ** GetRuleGroup+ getRuleGroup_ruleGroupId,+ getRuleGroupResponse_ruleGroup,+ getRuleGroupResponse_httpStatus,++ -- ** GetSampledRequests+ getSampledRequests_webAclId,+ getSampledRequests_ruleId,+ getSampledRequests_timeWindow,+ getSampledRequests_maxItems,+ getSampledRequestsResponse_populationSize,+ getSampledRequestsResponse_sampledRequests,+ getSampledRequestsResponse_timeWindow,+ getSampledRequestsResponse_httpStatus,++ -- ** GetSizeConstraintSet+ getSizeConstraintSet_sizeConstraintSetId,+ getSizeConstraintSetResponse_sizeConstraintSet,+ getSizeConstraintSetResponse_httpStatus,++ -- ** GetSqlInjectionMatchSet+ getSqlInjectionMatchSet_sqlInjectionMatchSetId,+ getSqlInjectionMatchSetResponse_sqlInjectionMatchSet,+ getSqlInjectionMatchSetResponse_httpStatus,++ -- ** GetWebACL+ getWebACL_webACLId,+ getWebACLResponse_webACL,+ getWebACLResponse_httpStatus,++ -- ** GetXssMatchSet+ getXssMatchSet_xssMatchSetId,+ getXssMatchSetResponse_xssMatchSet,+ getXssMatchSetResponse_httpStatus,++ -- ** ListActivatedRulesInRuleGroup+ listActivatedRulesInRuleGroup_limit,+ listActivatedRulesInRuleGroup_nextMarker,+ listActivatedRulesInRuleGroup_ruleGroupId,+ listActivatedRulesInRuleGroupResponse_activatedRules,+ listActivatedRulesInRuleGroupResponse_nextMarker,+ listActivatedRulesInRuleGroupResponse_httpStatus,++ -- ** ListByteMatchSets+ listByteMatchSets_limit,+ listByteMatchSets_nextMarker,+ listByteMatchSetsResponse_byteMatchSets,+ listByteMatchSetsResponse_nextMarker,+ listByteMatchSetsResponse_httpStatus,++ -- ** ListGeoMatchSets+ listGeoMatchSets_limit,+ listGeoMatchSets_nextMarker,+ listGeoMatchSetsResponse_geoMatchSets,+ listGeoMatchSetsResponse_nextMarker,+ listGeoMatchSetsResponse_httpStatus,++ -- ** ListIPSets+ listIPSets_limit,+ listIPSets_nextMarker,+ listIPSetsResponse_iPSets,+ listIPSetsResponse_nextMarker,+ listIPSetsResponse_httpStatus,++ -- ** ListLoggingConfigurations+ listLoggingConfigurations_limit,+ listLoggingConfigurations_nextMarker,+ listLoggingConfigurationsResponse_loggingConfigurations,+ listLoggingConfigurationsResponse_nextMarker,+ listLoggingConfigurationsResponse_httpStatus,++ -- ** ListRateBasedRules+ listRateBasedRules_limit,+ listRateBasedRules_nextMarker,+ listRateBasedRulesResponse_nextMarker,+ listRateBasedRulesResponse_rules,+ listRateBasedRulesResponse_httpStatus,++ -- ** ListRegexMatchSets+ listRegexMatchSets_limit,+ listRegexMatchSets_nextMarker,+ listRegexMatchSetsResponse_nextMarker,+ listRegexMatchSetsResponse_regexMatchSets,+ listRegexMatchSetsResponse_httpStatus,++ -- ** ListRegexPatternSets+ listRegexPatternSets_limit,+ listRegexPatternSets_nextMarker,+ listRegexPatternSetsResponse_nextMarker,+ listRegexPatternSetsResponse_regexPatternSets,+ listRegexPatternSetsResponse_httpStatus,++ -- ** ListRuleGroups+ listRuleGroups_limit,+ listRuleGroups_nextMarker,+ listRuleGroupsResponse_nextMarker,+ listRuleGroupsResponse_ruleGroups,+ listRuleGroupsResponse_httpStatus,++ -- ** ListRules+ listRules_limit,+ listRules_nextMarker,+ listRulesResponse_nextMarker,+ listRulesResponse_rules,+ listRulesResponse_httpStatus,++ -- ** ListSizeConstraintSets+ listSizeConstraintSets_limit,+ listSizeConstraintSets_nextMarker,+ listSizeConstraintSetsResponse_nextMarker,+ listSizeConstraintSetsResponse_sizeConstraintSets,+ listSizeConstraintSetsResponse_httpStatus,++ -- ** ListSqlInjectionMatchSets+ listSqlInjectionMatchSets_limit,+ listSqlInjectionMatchSets_nextMarker,+ listSqlInjectionMatchSetsResponse_nextMarker,+ listSqlInjectionMatchSetsResponse_sqlInjectionMatchSets,+ listSqlInjectionMatchSetsResponse_httpStatus,++ -- ** ListSubscribedRuleGroups+ listSubscribedRuleGroups_limit,+ listSubscribedRuleGroups_nextMarker,+ listSubscribedRuleGroupsResponse_nextMarker,+ listSubscribedRuleGroupsResponse_ruleGroups,+ listSubscribedRuleGroupsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_limit,+ listTagsForResource_nextMarker,+ listTagsForResource_resourceARN,+ listTagsForResourceResponse_nextMarker,+ listTagsForResourceResponse_tagInfoForResource,+ listTagsForResourceResponse_httpStatus,++ -- ** ListWebACLs+ listWebACLs_limit,+ listWebACLs_nextMarker,+ listWebACLsResponse_nextMarker,+ listWebACLsResponse_webACLs,+ listWebACLsResponse_httpStatus,++ -- ** ListXssMatchSets+ listXssMatchSets_limit,+ listXssMatchSets_nextMarker,+ listXssMatchSetsResponse_nextMarker,+ listXssMatchSetsResponse_xssMatchSets,+ listXssMatchSetsResponse_httpStatus,++ -- ** PutLoggingConfiguration+ putLoggingConfiguration_loggingConfiguration,+ putLoggingConfigurationResponse_loggingConfiguration,+ putLoggingConfigurationResponse_httpStatus,++ -- ** PutPermissionPolicy+ putPermissionPolicy_resourceArn,+ putPermissionPolicy_policy,+ putPermissionPolicyResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceARN,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceARN,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateByteMatchSet+ updateByteMatchSet_byteMatchSetId,+ updateByteMatchSet_changeToken,+ updateByteMatchSet_updates,+ updateByteMatchSetResponse_changeToken,+ updateByteMatchSetResponse_httpStatus,++ -- ** UpdateGeoMatchSet+ updateGeoMatchSet_geoMatchSetId,+ updateGeoMatchSet_changeToken,+ updateGeoMatchSet_updates,+ updateGeoMatchSetResponse_changeToken,+ updateGeoMatchSetResponse_httpStatus,++ -- ** UpdateIPSet+ updateIPSet_iPSetId,+ updateIPSet_changeToken,+ updateIPSet_updates,+ updateIPSetResponse_changeToken,+ updateIPSetResponse_httpStatus,++ -- ** UpdateRateBasedRule+ updateRateBasedRule_ruleId,+ updateRateBasedRule_changeToken,+ updateRateBasedRule_updates,+ updateRateBasedRule_rateLimit,+ updateRateBasedRuleResponse_changeToken,+ updateRateBasedRuleResponse_httpStatus,++ -- ** UpdateRegexMatchSet+ updateRegexMatchSet_regexMatchSetId,+ updateRegexMatchSet_updates,+ updateRegexMatchSet_changeToken,+ updateRegexMatchSetResponse_changeToken,+ updateRegexMatchSetResponse_httpStatus,++ -- ** UpdateRegexPatternSet+ updateRegexPatternSet_regexPatternSetId,+ updateRegexPatternSet_updates,+ updateRegexPatternSet_changeToken,+ updateRegexPatternSetResponse_changeToken,+ updateRegexPatternSetResponse_httpStatus,++ -- ** UpdateRule+ updateRule_ruleId,+ updateRule_changeToken,+ updateRule_updates,+ updateRuleResponse_changeToken,+ updateRuleResponse_httpStatus,++ -- ** UpdateRuleGroup+ updateRuleGroup_ruleGroupId,+ updateRuleGroup_updates,+ updateRuleGroup_changeToken,+ updateRuleGroupResponse_changeToken,+ updateRuleGroupResponse_httpStatus,++ -- ** UpdateSizeConstraintSet+ updateSizeConstraintSet_sizeConstraintSetId,+ updateSizeConstraintSet_changeToken,+ updateSizeConstraintSet_updates,+ updateSizeConstraintSetResponse_changeToken,+ updateSizeConstraintSetResponse_httpStatus,++ -- ** UpdateSqlInjectionMatchSet+ updateSqlInjectionMatchSet_sqlInjectionMatchSetId,+ updateSqlInjectionMatchSet_changeToken,+ updateSqlInjectionMatchSet_updates,+ updateSqlInjectionMatchSetResponse_changeToken,+ updateSqlInjectionMatchSetResponse_httpStatus,++ -- ** UpdateWebACL+ updateWebACL_defaultAction,+ updateWebACL_updates,+ updateWebACL_webACLId,+ updateWebACL_changeToken,+ updateWebACLResponse_changeToken,+ updateWebACLResponse_httpStatus,++ -- ** UpdateXssMatchSet+ updateXssMatchSet_xssMatchSetId,+ updateXssMatchSet_changeToken,+ updateXssMatchSet_updates,+ updateXssMatchSetResponse_changeToken,+ updateXssMatchSetResponse_httpStatus,++ -- * Types++ -- ** ActivatedRule+ activatedRule_action,+ activatedRule_excludedRules,+ activatedRule_overrideAction,+ activatedRule_type,+ activatedRule_priority,+ activatedRule_ruleId,++ -- ** ByteMatchSet+ byteMatchSet_name,+ byteMatchSet_byteMatchSetId,+ byteMatchSet_byteMatchTuples,++ -- ** ByteMatchSetSummary+ byteMatchSetSummary_byteMatchSetId,+ byteMatchSetSummary_name,++ -- ** ByteMatchSetUpdate+ byteMatchSetUpdate_action,+ byteMatchSetUpdate_byteMatchTuple,++ -- ** ByteMatchTuple+ byteMatchTuple_fieldToMatch,+ byteMatchTuple_targetString,+ byteMatchTuple_textTransformation,+ byteMatchTuple_positionalConstraint,++ -- ** ExcludedRule+ excludedRule_ruleId,++ -- ** FieldToMatch+ fieldToMatch_data,+ fieldToMatch_type,++ -- ** GeoMatchConstraint+ geoMatchConstraint_type,+ geoMatchConstraint_value,++ -- ** GeoMatchSet+ geoMatchSet_name,+ geoMatchSet_geoMatchSetId,+ geoMatchSet_geoMatchConstraints,++ -- ** GeoMatchSetSummary+ geoMatchSetSummary_geoMatchSetId,+ geoMatchSetSummary_name,++ -- ** GeoMatchSetUpdate+ geoMatchSetUpdate_action,+ geoMatchSetUpdate_geoMatchConstraint,++ -- ** HTTPHeader+ hTTPHeader_name,+ hTTPHeader_value,++ -- ** HTTPRequest+ hTTPRequest_clientIP,+ hTTPRequest_country,+ hTTPRequest_hTTPVersion,+ hTTPRequest_headers,+ hTTPRequest_method,+ hTTPRequest_uri,++ -- ** IPSet+ iPSet_name,+ iPSet_iPSetId,+ iPSet_iPSetDescriptors,++ -- ** IPSetDescriptor+ iPSetDescriptor_type,+ iPSetDescriptor_value,++ -- ** IPSetSummary+ iPSetSummary_iPSetId,+ iPSetSummary_name,++ -- ** IPSetUpdate+ iPSetUpdate_action,+ iPSetUpdate_iPSetDescriptor,++ -- ** LoggingConfiguration+ loggingConfiguration_redactedFields,+ loggingConfiguration_resourceArn,+ loggingConfiguration_logDestinationConfigs,++ -- ** Predicate+ predicate_negated,+ predicate_type,+ predicate_dataId,++ -- ** RateBasedRule+ rateBasedRule_metricName,+ rateBasedRule_name,+ rateBasedRule_ruleId,+ rateBasedRule_matchPredicates,+ rateBasedRule_rateKey,+ rateBasedRule_rateLimit,++ -- ** RegexMatchSet+ regexMatchSet_name,+ regexMatchSet_regexMatchSetId,+ regexMatchSet_regexMatchTuples,++ -- ** RegexMatchSetSummary+ regexMatchSetSummary_regexMatchSetId,+ regexMatchSetSummary_name,++ -- ** RegexMatchSetUpdate+ regexMatchSetUpdate_action,+ regexMatchSetUpdate_regexMatchTuple,++ -- ** RegexMatchTuple+ regexMatchTuple_fieldToMatch,+ regexMatchTuple_textTransformation,+ regexMatchTuple_regexPatternSetId,++ -- ** RegexPatternSet+ regexPatternSet_name,+ regexPatternSet_regexPatternSetId,+ regexPatternSet_regexPatternStrings,++ -- ** RegexPatternSetSummary+ regexPatternSetSummary_regexPatternSetId,+ regexPatternSetSummary_name,++ -- ** RegexPatternSetUpdate+ regexPatternSetUpdate_action,+ regexPatternSetUpdate_regexPatternString,++ -- ** Rule+ rule_metricName,+ rule_name,+ rule_ruleId,+ rule_predicates,++ -- ** RuleGroup+ ruleGroup_metricName,+ ruleGroup_name,+ ruleGroup_ruleGroupId,++ -- ** RuleGroupSummary+ ruleGroupSummary_ruleGroupId,+ ruleGroupSummary_name,++ -- ** RuleGroupUpdate+ ruleGroupUpdate_action,+ ruleGroupUpdate_activatedRule,++ -- ** RuleSummary+ ruleSummary_ruleId,+ ruleSummary_name,++ -- ** RuleUpdate+ ruleUpdate_action,+ ruleUpdate_predicate,++ -- ** SampledHTTPRequest+ sampledHTTPRequest_action,+ sampledHTTPRequest_ruleWithinRuleGroup,+ sampledHTTPRequest_timestamp,+ sampledHTTPRequest_request,+ sampledHTTPRequest_weight,++ -- ** SizeConstraint+ sizeConstraint_fieldToMatch,+ sizeConstraint_textTransformation,+ sizeConstraint_comparisonOperator,+ sizeConstraint_size,++ -- ** SizeConstraintSet+ sizeConstraintSet_name,+ sizeConstraintSet_sizeConstraintSetId,+ sizeConstraintSet_sizeConstraints,++ -- ** SizeConstraintSetSummary+ sizeConstraintSetSummary_sizeConstraintSetId,+ sizeConstraintSetSummary_name,++ -- ** SizeConstraintSetUpdate+ sizeConstraintSetUpdate_action,+ sizeConstraintSetUpdate_sizeConstraint,++ -- ** SqlInjectionMatchSet+ sqlInjectionMatchSet_name,+ sqlInjectionMatchSet_sqlInjectionMatchSetId,+ sqlInjectionMatchSet_sqlInjectionMatchTuples,++ -- ** SqlInjectionMatchSetSummary+ sqlInjectionMatchSetSummary_sqlInjectionMatchSetId,+ sqlInjectionMatchSetSummary_name,++ -- ** SqlInjectionMatchSetUpdate+ sqlInjectionMatchSetUpdate_action,+ sqlInjectionMatchSetUpdate_sqlInjectionMatchTuple,++ -- ** SqlInjectionMatchTuple+ sqlInjectionMatchTuple_fieldToMatch,+ sqlInjectionMatchTuple_textTransformation,++ -- ** SubscribedRuleGroupSummary+ subscribedRuleGroupSummary_ruleGroupId,+ subscribedRuleGroupSummary_name,+ subscribedRuleGroupSummary_metricName,++ -- ** Tag+ tag_key,+ tag_value,++ -- ** TagInfoForResource+ tagInfoForResource_resourceARN,+ tagInfoForResource_tagList,++ -- ** TimeWindow+ timeWindow_startTime,+ timeWindow_endTime,++ -- ** WafAction+ wafAction_type,++ -- ** WafOverrideAction+ wafOverrideAction_type,++ -- ** WebACL+ webACL_metricName,+ webACL_name,+ webACL_webACLArn,+ webACL_webACLId,+ webACL_defaultAction,+ webACL_rules,++ -- ** WebACLSummary+ webACLSummary_webACLId,+ webACLSummary_name,++ -- ** WebACLUpdate+ webACLUpdate_action,+ webACLUpdate_activatedRule,++ -- ** XssMatchSet+ xssMatchSet_name,+ xssMatchSet_xssMatchSetId,+ xssMatchSet_xssMatchTuples,++ -- ** XssMatchSetSummary+ xssMatchSetSummary_xssMatchSetId,+ xssMatchSetSummary_name,++ -- ** XssMatchSetUpdate+ xssMatchSetUpdate_action,+ xssMatchSetUpdate_xssMatchTuple,++ -- ** XssMatchTuple+ xssMatchTuple_fieldToMatch,+ xssMatchTuple_textTransformation,+ )+where++import Amazonka.WAF.CreateByteMatchSet+import Amazonka.WAF.CreateGeoMatchSet+import Amazonka.WAF.CreateIPSet+import Amazonka.WAF.CreateRateBasedRule+import Amazonka.WAF.CreateRegexMatchSet+import Amazonka.WAF.CreateRegexPatternSet+import Amazonka.WAF.CreateRule+import Amazonka.WAF.CreateRuleGroup+import Amazonka.WAF.CreateSizeConstraintSet+import Amazonka.WAF.CreateSqlInjectionMatchSet+import Amazonka.WAF.CreateWebACL+import Amazonka.WAF.CreateWebACLMigrationStack+import Amazonka.WAF.CreateXssMatchSet+import Amazonka.WAF.DeleteByteMatchSet+import Amazonka.WAF.DeleteGeoMatchSet+import Amazonka.WAF.DeleteIPSet+import Amazonka.WAF.DeleteLoggingConfiguration+import Amazonka.WAF.DeletePermissionPolicy+import Amazonka.WAF.DeleteRateBasedRule+import Amazonka.WAF.DeleteRegexMatchSet+import Amazonka.WAF.DeleteRegexPatternSet+import Amazonka.WAF.DeleteRule+import Amazonka.WAF.DeleteRuleGroup+import Amazonka.WAF.DeleteSizeConstraintSet+import Amazonka.WAF.DeleteSqlInjectionMatchSet+import Amazonka.WAF.DeleteWebACL+import Amazonka.WAF.DeleteXssMatchSet+import Amazonka.WAF.GetByteMatchSet+import Amazonka.WAF.GetChangeToken+import Amazonka.WAF.GetChangeTokenStatus+import Amazonka.WAF.GetGeoMatchSet+import Amazonka.WAF.GetIPSet+import Amazonka.WAF.GetLoggingConfiguration+import Amazonka.WAF.GetPermissionPolicy+import Amazonka.WAF.GetRateBasedRule+import Amazonka.WAF.GetRateBasedRuleManagedKeys+import Amazonka.WAF.GetRegexMatchSet+import Amazonka.WAF.GetRegexPatternSet+import Amazonka.WAF.GetRule+import Amazonka.WAF.GetRuleGroup+import Amazonka.WAF.GetSampledRequests+import Amazonka.WAF.GetSizeConstraintSet+import Amazonka.WAF.GetSqlInjectionMatchSet+import Amazonka.WAF.GetWebACL+import Amazonka.WAF.GetXssMatchSet+import Amazonka.WAF.ListActivatedRulesInRuleGroup+import Amazonka.WAF.ListByteMatchSets+import Amazonka.WAF.ListGeoMatchSets+import Amazonka.WAF.ListIPSets+import Amazonka.WAF.ListLoggingConfigurations+import Amazonka.WAF.ListRateBasedRules+import Amazonka.WAF.ListRegexMatchSets+import Amazonka.WAF.ListRegexPatternSets+import Amazonka.WAF.ListRuleGroups+import Amazonka.WAF.ListRules+import Amazonka.WAF.ListSizeConstraintSets+import Amazonka.WAF.ListSqlInjectionMatchSets+import Amazonka.WAF.ListSubscribedRuleGroups+import Amazonka.WAF.ListTagsForResource+import Amazonka.WAF.ListWebACLs+import Amazonka.WAF.ListXssMatchSets+import Amazonka.WAF.PutLoggingConfiguration+import Amazonka.WAF.PutPermissionPolicy+import Amazonka.WAF.TagResource+import Amazonka.WAF.Types.ActivatedRule+import Amazonka.WAF.Types.ByteMatchSet+import Amazonka.WAF.Types.ByteMatchSetSummary+import Amazonka.WAF.Types.ByteMatchSetUpdate+import Amazonka.WAF.Types.ByteMatchTuple+import Amazonka.WAF.Types.ExcludedRule+import Amazonka.WAF.Types.FieldToMatch+import Amazonka.WAF.Types.GeoMatchConstraint+import Amazonka.WAF.Types.GeoMatchSet+import Amazonka.WAF.Types.GeoMatchSetSummary+import Amazonka.WAF.Types.GeoMatchSetUpdate+import Amazonka.WAF.Types.HTTPHeader+import Amazonka.WAF.Types.HTTPRequest+import Amazonka.WAF.Types.IPSet+import Amazonka.WAF.Types.IPSetDescriptor+import Amazonka.WAF.Types.IPSetSummary+import Amazonka.WAF.Types.IPSetUpdate+import Amazonka.WAF.Types.LoggingConfiguration+import Amazonka.WAF.Types.Predicate+import Amazonka.WAF.Types.RateBasedRule+import Amazonka.WAF.Types.RegexMatchSet+import Amazonka.WAF.Types.RegexMatchSetSummary+import Amazonka.WAF.Types.RegexMatchSetUpdate+import Amazonka.WAF.Types.RegexMatchTuple+import Amazonka.WAF.Types.RegexPatternSet+import Amazonka.WAF.Types.RegexPatternSetSummary+import Amazonka.WAF.Types.RegexPatternSetUpdate+import Amazonka.WAF.Types.Rule+import Amazonka.WAF.Types.RuleGroup+import Amazonka.WAF.Types.RuleGroupSummary+import Amazonka.WAF.Types.RuleGroupUpdate+import Amazonka.WAF.Types.RuleSummary+import Amazonka.WAF.Types.RuleUpdate+import Amazonka.WAF.Types.SampledHTTPRequest+import Amazonka.WAF.Types.SizeConstraint+import Amazonka.WAF.Types.SizeConstraintSet+import Amazonka.WAF.Types.SizeConstraintSetSummary+import Amazonka.WAF.Types.SizeConstraintSetUpdate+import Amazonka.WAF.Types.SqlInjectionMatchSet+import Amazonka.WAF.Types.SqlInjectionMatchSetSummary+import Amazonka.WAF.Types.SqlInjectionMatchSetUpdate+import Amazonka.WAF.Types.SqlInjectionMatchTuple+import Amazonka.WAF.Types.SubscribedRuleGroupSummary+import Amazonka.WAF.Types.Tag+import Amazonka.WAF.Types.TagInfoForResource+import Amazonka.WAF.Types.TimeWindow+import Amazonka.WAF.Types.WafAction+import Amazonka.WAF.Types.WafOverrideAction+import Amazonka.WAF.Types.WebACL+import Amazonka.WAF.Types.WebACLSummary+import Amazonka.WAF.Types.WebACLUpdate+import Amazonka.WAF.Types.XssMatchSet+import Amazonka.WAF.Types.XssMatchSetSummary+import Amazonka.WAF.Types.XssMatchSetUpdate+import Amazonka.WAF.Types.XssMatchTuple+import Amazonka.WAF.UntagResource+import Amazonka.WAF.UpdateByteMatchSet+import Amazonka.WAF.UpdateGeoMatchSet+import Amazonka.WAF.UpdateIPSet+import Amazonka.WAF.UpdateRateBasedRule+import Amazonka.WAF.UpdateRegexMatchSet+import Amazonka.WAF.UpdateRegexPatternSet+import Amazonka.WAF.UpdateRule+import Amazonka.WAF.UpdateRuleGroup+import Amazonka.WAF.UpdateSizeConstraintSet+import Amazonka.WAF.UpdateSqlInjectionMatchSet+import Amazonka.WAF.UpdateWebACL+import Amazonka.WAF.UpdateXssMatchSet
+ gen/Amazonka/WAF/ListActivatedRulesInRuleGroup.hs view
@@ -0,0 +1,291 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListActivatedRulesInRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of ActivatedRule objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListActivatedRulesInRuleGroup+ ( -- * Creating a Request+ ListActivatedRulesInRuleGroup (..),+ newListActivatedRulesInRuleGroup,++ -- * Request Lenses+ listActivatedRulesInRuleGroup_limit,+ listActivatedRulesInRuleGroup_nextMarker,+ listActivatedRulesInRuleGroup_ruleGroupId,++ -- * Destructuring the Response+ ListActivatedRulesInRuleGroupResponse (..),+ newListActivatedRulesInRuleGroupResponse,++ -- * Response Lenses+ listActivatedRulesInRuleGroupResponse_activatedRules,+ listActivatedRulesInRuleGroupResponse_nextMarker,+ listActivatedRulesInRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListActivatedRulesInRuleGroup' smart constructor.+data ListActivatedRulesInRuleGroup = ListActivatedRulesInRuleGroup'+ { -- | Specifies the number of @ActivatedRules@ that you want AWS WAF to return+ -- for this request. If you have more @ActivatedRules@ than the number that+ -- you specify for @Limit@, the response includes a @NextMarker@ value that+ -- you can use to get another batch of @ActivatedRules@.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more @ActivatedRules@+ -- than the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+ -- response that allows you to list another group of @ActivatedRules@. For+ -- the second and subsequent @ListActivatedRulesInRuleGroup@ requests,+ -- specify the value of @NextMarker@ from the previous response to get+ -- information about another batch of @ActivatedRules@.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | The @RuleGroupId@ of the RuleGroup for which you want to get a list of+ -- ActivatedRule objects.+ ruleGroupId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListActivatedRulesInRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listActivatedRulesInRuleGroup_limit' - Specifies the number of @ActivatedRules@ that you want AWS WAF to return+-- for this request. If you have more @ActivatedRules@ than the number that+-- you specify for @Limit@, the response includes a @NextMarker@ value that+-- you can use to get another batch of @ActivatedRules@.+--+-- 'nextMarker', 'listActivatedRulesInRuleGroup_nextMarker' - If you specify a value for @Limit@ and you have more @ActivatedRules@+-- than the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @ActivatedRules@. For+-- the second and subsequent @ListActivatedRulesInRuleGroup@ requests,+-- specify the value of @NextMarker@ from the previous response to get+-- information about another batch of @ActivatedRules@.+--+-- 'ruleGroupId', 'listActivatedRulesInRuleGroup_ruleGroupId' - The @RuleGroupId@ of the RuleGroup for which you want to get a list of+-- ActivatedRule objects.+newListActivatedRulesInRuleGroup ::+ ListActivatedRulesInRuleGroup+newListActivatedRulesInRuleGroup =+ ListActivatedRulesInRuleGroup'+ { limit =+ Prelude.Nothing,+ nextMarker = Prelude.Nothing,+ ruleGroupId = Prelude.Nothing+ }++-- | Specifies the number of @ActivatedRules@ that you want AWS WAF to return+-- for this request. If you have more @ActivatedRules@ than the number that+-- you specify for @Limit@, the response includes a @NextMarker@ value that+-- you can use to get another batch of @ActivatedRules@.+listActivatedRulesInRuleGroup_limit :: Lens.Lens' ListActivatedRulesInRuleGroup (Prelude.Maybe Prelude.Natural)+listActivatedRulesInRuleGroup_limit = Lens.lens (\ListActivatedRulesInRuleGroup' {limit} -> limit) (\s@ListActivatedRulesInRuleGroup' {} a -> s {limit = a} :: ListActivatedRulesInRuleGroup)++-- | If you specify a value for @Limit@ and you have more @ActivatedRules@+-- than the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @ActivatedRules@. For+-- the second and subsequent @ListActivatedRulesInRuleGroup@ requests,+-- specify the value of @NextMarker@ from the previous response to get+-- information about another batch of @ActivatedRules@.+listActivatedRulesInRuleGroup_nextMarker :: Lens.Lens' ListActivatedRulesInRuleGroup (Prelude.Maybe Prelude.Text)+listActivatedRulesInRuleGroup_nextMarker = Lens.lens (\ListActivatedRulesInRuleGroup' {nextMarker} -> nextMarker) (\s@ListActivatedRulesInRuleGroup' {} a -> s {nextMarker = a} :: ListActivatedRulesInRuleGroup)++-- | The @RuleGroupId@ of the RuleGroup for which you want to get a list of+-- ActivatedRule objects.+listActivatedRulesInRuleGroup_ruleGroupId :: Lens.Lens' ListActivatedRulesInRuleGroup (Prelude.Maybe Prelude.Text)+listActivatedRulesInRuleGroup_ruleGroupId = Lens.lens (\ListActivatedRulesInRuleGroup' {ruleGroupId} -> ruleGroupId) (\s@ListActivatedRulesInRuleGroup' {} a -> s {ruleGroupId = a} :: ListActivatedRulesInRuleGroup)++instance Core.AWSPager ListActivatedRulesInRuleGroup where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listActivatedRulesInRuleGroupResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listActivatedRulesInRuleGroupResponse_activatedRules+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listActivatedRulesInRuleGroup_nextMarker+ Lens..~ rs+ Lens.^? listActivatedRulesInRuleGroupResponse_nextMarker+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListActivatedRulesInRuleGroup+ where+ type+ AWSResponse ListActivatedRulesInRuleGroup =+ ListActivatedRulesInRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListActivatedRulesInRuleGroupResponse'+ Prelude.<$> (x Data..?> "ActivatedRules" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextMarker")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListActivatedRulesInRuleGroup+ where+ hashWithSalt _salt ListActivatedRulesInRuleGroup' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker+ `Prelude.hashWithSalt` ruleGroupId++instance Prelude.NFData ListActivatedRulesInRuleGroup where+ rnf ListActivatedRulesInRuleGroup' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf ruleGroupId++instance Data.ToHeaders ListActivatedRulesInRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListActivatedRulesInRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListActivatedRulesInRuleGroup where+ toJSON ListActivatedRulesInRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker,+ ("RuleGroupId" Data..=) Prelude.<$> ruleGroupId+ ]+ )++instance Data.ToPath ListActivatedRulesInRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery ListActivatedRulesInRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListActivatedRulesInRuleGroupResponse' smart constructor.+data ListActivatedRulesInRuleGroupResponse = ListActivatedRulesInRuleGroupResponse'+ { -- | An array of @ActivatedRules@ objects.+ activatedRules :: Prelude.Maybe [ActivatedRule],+ -- | If you have more @ActivatedRules@ than the number that you specified for+ -- @Limit@ in the request, the response includes a @NextMarker@ value. To+ -- list more @ActivatedRules@, submit another+ -- @ListActivatedRulesInRuleGroup@ request, and specify the @NextMarker@+ -- value from the response in the @NextMarker@ value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListActivatedRulesInRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activatedRules', 'listActivatedRulesInRuleGroupResponse_activatedRules' - An array of @ActivatedRules@ objects.+--+-- 'nextMarker', 'listActivatedRulesInRuleGroupResponse_nextMarker' - If you have more @ActivatedRules@ than the number that you specified for+-- @Limit@ in the request, the response includes a @NextMarker@ value. To+-- list more @ActivatedRules@, submit another+-- @ListActivatedRulesInRuleGroup@ request, and specify the @NextMarker@+-- value from the response in the @NextMarker@ value in the next request.+--+-- 'httpStatus', 'listActivatedRulesInRuleGroupResponse_httpStatus' - The response's http status code.+newListActivatedRulesInRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListActivatedRulesInRuleGroupResponse+newListActivatedRulesInRuleGroupResponse pHttpStatus_ =+ ListActivatedRulesInRuleGroupResponse'+ { activatedRules =+ Prelude.Nothing,+ nextMarker = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of @ActivatedRules@ objects.+listActivatedRulesInRuleGroupResponse_activatedRules :: Lens.Lens' ListActivatedRulesInRuleGroupResponse (Prelude.Maybe [ActivatedRule])+listActivatedRulesInRuleGroupResponse_activatedRules = Lens.lens (\ListActivatedRulesInRuleGroupResponse' {activatedRules} -> activatedRules) (\s@ListActivatedRulesInRuleGroupResponse' {} a -> s {activatedRules = a} :: ListActivatedRulesInRuleGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | If you have more @ActivatedRules@ than the number that you specified for+-- @Limit@ in the request, the response includes a @NextMarker@ value. To+-- list more @ActivatedRules@, submit another+-- @ListActivatedRulesInRuleGroup@ request, and specify the @NextMarker@+-- value from the response in the @NextMarker@ value in the next request.+listActivatedRulesInRuleGroupResponse_nextMarker :: Lens.Lens' ListActivatedRulesInRuleGroupResponse (Prelude.Maybe Prelude.Text)+listActivatedRulesInRuleGroupResponse_nextMarker = Lens.lens (\ListActivatedRulesInRuleGroupResponse' {nextMarker} -> nextMarker) (\s@ListActivatedRulesInRuleGroupResponse' {} a -> s {nextMarker = a} :: ListActivatedRulesInRuleGroupResponse)++-- | The response's http status code.+listActivatedRulesInRuleGroupResponse_httpStatus :: Lens.Lens' ListActivatedRulesInRuleGroupResponse Prelude.Int+listActivatedRulesInRuleGroupResponse_httpStatus = Lens.lens (\ListActivatedRulesInRuleGroupResponse' {httpStatus} -> httpStatus) (\s@ListActivatedRulesInRuleGroupResponse' {} a -> s {httpStatus = a} :: ListActivatedRulesInRuleGroupResponse)++instance+ Prelude.NFData+ ListActivatedRulesInRuleGroupResponse+ where+ rnf ListActivatedRulesInRuleGroupResponse' {..} =+ Prelude.rnf activatedRules+ `Prelude.seq` Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListByteMatchSets.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListByteMatchSets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of ByteMatchSetSummary objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListByteMatchSets+ ( -- * Creating a Request+ ListByteMatchSets (..),+ newListByteMatchSets,++ -- * Request Lenses+ listByteMatchSets_limit,+ listByteMatchSets_nextMarker,++ -- * Destructuring the Response+ ListByteMatchSetsResponse (..),+ newListByteMatchSetsResponse,++ -- * Response Lenses+ listByteMatchSetsResponse_byteMatchSets,+ listByteMatchSetsResponse_nextMarker,+ listByteMatchSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListByteMatchSets' smart constructor.+data ListByteMatchSets = ListByteMatchSets'+ { -- | Specifies the number of @ByteMatchSet@ objects that you want AWS WAF to+ -- return for this request. If you have more @ByteMatchSets@ objects than+ -- the number you specify for @Limit@, the response includes a @NextMarker@+ -- value that you can use to get another batch of @ByteMatchSet@ objects.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more @ByteMatchSets@+ -- than the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+ -- response that allows you to list another group of @ByteMatchSets@. For+ -- the second and subsequent @ListByteMatchSets@ requests, specify the+ -- value of @NextMarker@ from the previous response to get information+ -- about another batch of @ByteMatchSets@.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListByteMatchSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listByteMatchSets_limit' - Specifies the number of @ByteMatchSet@ objects that you want AWS WAF to+-- return for this request. If you have more @ByteMatchSets@ objects than+-- the number you specify for @Limit@, the response includes a @NextMarker@+-- value that you can use to get another batch of @ByteMatchSet@ objects.+--+-- 'nextMarker', 'listByteMatchSets_nextMarker' - If you specify a value for @Limit@ and you have more @ByteMatchSets@+-- than the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @ByteMatchSets@. For+-- the second and subsequent @ListByteMatchSets@ requests, specify the+-- value of @NextMarker@ from the previous response to get information+-- about another batch of @ByteMatchSets@.+newListByteMatchSets ::+ ListByteMatchSets+newListByteMatchSets =+ ListByteMatchSets'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @ByteMatchSet@ objects that you want AWS WAF to+-- return for this request. If you have more @ByteMatchSets@ objects than+-- the number you specify for @Limit@, the response includes a @NextMarker@+-- value that you can use to get another batch of @ByteMatchSet@ objects.+listByteMatchSets_limit :: Lens.Lens' ListByteMatchSets (Prelude.Maybe Prelude.Natural)+listByteMatchSets_limit = Lens.lens (\ListByteMatchSets' {limit} -> limit) (\s@ListByteMatchSets' {} a -> s {limit = a} :: ListByteMatchSets)++-- | If you specify a value for @Limit@ and you have more @ByteMatchSets@+-- than the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @ByteMatchSets@. For+-- the second and subsequent @ListByteMatchSets@ requests, specify the+-- value of @NextMarker@ from the previous response to get information+-- about another batch of @ByteMatchSets@.+listByteMatchSets_nextMarker :: Lens.Lens' ListByteMatchSets (Prelude.Maybe Prelude.Text)+listByteMatchSets_nextMarker = Lens.lens (\ListByteMatchSets' {nextMarker} -> nextMarker) (\s@ListByteMatchSets' {} a -> s {nextMarker = a} :: ListByteMatchSets)++instance Core.AWSPager ListByteMatchSets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listByteMatchSetsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listByteMatchSetsResponse_byteMatchSets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listByteMatchSets_nextMarker+ Lens..~ rs+ Lens.^? listByteMatchSetsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListByteMatchSets where+ type+ AWSResponse ListByteMatchSets =+ ListByteMatchSetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListByteMatchSetsResponse'+ Prelude.<$> (x Data..?> "ByteMatchSets" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextMarker")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListByteMatchSets where+ hashWithSalt _salt ListByteMatchSets' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListByteMatchSets where+ rnf ListByteMatchSets' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListByteMatchSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListByteMatchSets" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListByteMatchSets where+ toJSON ListByteMatchSets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListByteMatchSets where+ toPath = Prelude.const "/"++instance Data.ToQuery ListByteMatchSets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListByteMatchSetsResponse' smart constructor.+data ListByteMatchSetsResponse = ListByteMatchSetsResponse'+ { -- | An array of ByteMatchSetSummary objects.+ byteMatchSets :: Prelude.Maybe [ByteMatchSetSummary],+ -- | If you have more @ByteMatchSet@ objects than the number that you+ -- specified for @Limit@ in the request, the response includes a+ -- @NextMarker@ value. To list more @ByteMatchSet@ objects, submit another+ -- @ListByteMatchSets@ request, and specify the @NextMarker@ value from the+ -- response in the @NextMarker@ value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListByteMatchSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'byteMatchSets', 'listByteMatchSetsResponse_byteMatchSets' - An array of ByteMatchSetSummary objects.+--+-- 'nextMarker', 'listByteMatchSetsResponse_nextMarker' - If you have more @ByteMatchSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @ByteMatchSet@ objects, submit another+-- @ListByteMatchSets@ request, and specify the @NextMarker@ value from the+-- response in the @NextMarker@ value in the next request.+--+-- 'httpStatus', 'listByteMatchSetsResponse_httpStatus' - The response's http status code.+newListByteMatchSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListByteMatchSetsResponse+newListByteMatchSetsResponse pHttpStatus_ =+ ListByteMatchSetsResponse'+ { byteMatchSets =+ Prelude.Nothing,+ nextMarker = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of ByteMatchSetSummary objects.+listByteMatchSetsResponse_byteMatchSets :: Lens.Lens' ListByteMatchSetsResponse (Prelude.Maybe [ByteMatchSetSummary])+listByteMatchSetsResponse_byteMatchSets = Lens.lens (\ListByteMatchSetsResponse' {byteMatchSets} -> byteMatchSets) (\s@ListByteMatchSetsResponse' {} a -> s {byteMatchSets = a} :: ListByteMatchSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If you have more @ByteMatchSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @ByteMatchSet@ objects, submit another+-- @ListByteMatchSets@ request, and specify the @NextMarker@ value from the+-- response in the @NextMarker@ value in the next request.+listByteMatchSetsResponse_nextMarker :: Lens.Lens' ListByteMatchSetsResponse (Prelude.Maybe Prelude.Text)+listByteMatchSetsResponse_nextMarker = Lens.lens (\ListByteMatchSetsResponse' {nextMarker} -> nextMarker) (\s@ListByteMatchSetsResponse' {} a -> s {nextMarker = a} :: ListByteMatchSetsResponse)++-- | The response's http status code.+listByteMatchSetsResponse_httpStatus :: Lens.Lens' ListByteMatchSetsResponse Prelude.Int+listByteMatchSetsResponse_httpStatus = Lens.lens (\ListByteMatchSetsResponse' {httpStatus} -> httpStatus) (\s@ListByteMatchSetsResponse' {} a -> s {httpStatus = a} :: ListByteMatchSetsResponse)++instance Prelude.NFData ListByteMatchSetsResponse where+ rnf ListByteMatchSetsResponse' {..} =+ Prelude.rnf byteMatchSets+ `Prelude.seq` Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListGeoMatchSets.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListGeoMatchSets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of GeoMatchSetSummary objects in the response.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListGeoMatchSets+ ( -- * Creating a Request+ ListGeoMatchSets (..),+ newListGeoMatchSets,++ -- * Request Lenses+ listGeoMatchSets_limit,+ listGeoMatchSets_nextMarker,++ -- * Destructuring the Response+ ListGeoMatchSetsResponse (..),+ newListGeoMatchSetsResponse,++ -- * Response Lenses+ listGeoMatchSetsResponse_geoMatchSets,+ listGeoMatchSetsResponse_nextMarker,+ listGeoMatchSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListGeoMatchSets' smart constructor.+data ListGeoMatchSets = ListGeoMatchSets'+ { -- | Specifies the number of @GeoMatchSet@ objects that you want AWS WAF to+ -- return for this request. If you have more @GeoMatchSet@ objects than the+ -- number you specify for @Limit@, the response includes a @NextMarker@+ -- value that you can use to get another batch of @GeoMatchSet@ objects.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more @GeoMatchSet@s than+ -- the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+ -- response that allows you to list another group of @GeoMatchSet@ objects.+ -- For the second and subsequent @ListGeoMatchSets@ requests, specify the+ -- value of @NextMarker@ from the previous response to get information+ -- about another batch of @GeoMatchSet@ objects.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGeoMatchSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listGeoMatchSets_limit' - Specifies the number of @GeoMatchSet@ objects that you want AWS WAF to+-- return for this request. If you have more @GeoMatchSet@ objects than the+-- number you specify for @Limit@, the response includes a @NextMarker@+-- value that you can use to get another batch of @GeoMatchSet@ objects.+--+-- 'nextMarker', 'listGeoMatchSets_nextMarker' - If you specify a value for @Limit@ and you have more @GeoMatchSet@s than+-- the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @GeoMatchSet@ objects.+-- For the second and subsequent @ListGeoMatchSets@ requests, specify the+-- value of @NextMarker@ from the previous response to get information+-- about another batch of @GeoMatchSet@ objects.+newListGeoMatchSets ::+ ListGeoMatchSets+newListGeoMatchSets =+ ListGeoMatchSets'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @GeoMatchSet@ objects that you want AWS WAF to+-- return for this request. If you have more @GeoMatchSet@ objects than the+-- number you specify for @Limit@, the response includes a @NextMarker@+-- value that you can use to get another batch of @GeoMatchSet@ objects.+listGeoMatchSets_limit :: Lens.Lens' ListGeoMatchSets (Prelude.Maybe Prelude.Natural)+listGeoMatchSets_limit = Lens.lens (\ListGeoMatchSets' {limit} -> limit) (\s@ListGeoMatchSets' {} a -> s {limit = a} :: ListGeoMatchSets)++-- | If you specify a value for @Limit@ and you have more @GeoMatchSet@s than+-- the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @GeoMatchSet@ objects.+-- For the second and subsequent @ListGeoMatchSets@ requests, specify the+-- value of @NextMarker@ from the previous response to get information+-- about another batch of @GeoMatchSet@ objects.+listGeoMatchSets_nextMarker :: Lens.Lens' ListGeoMatchSets (Prelude.Maybe Prelude.Text)+listGeoMatchSets_nextMarker = Lens.lens (\ListGeoMatchSets' {nextMarker} -> nextMarker) (\s@ListGeoMatchSets' {} a -> s {nextMarker = a} :: ListGeoMatchSets)++instance Core.AWSPager ListGeoMatchSets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listGeoMatchSetsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listGeoMatchSetsResponse_geoMatchSets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listGeoMatchSets_nextMarker+ Lens..~ rs+ Lens.^? listGeoMatchSetsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListGeoMatchSets where+ type+ AWSResponse ListGeoMatchSets =+ ListGeoMatchSetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListGeoMatchSetsResponse'+ Prelude.<$> (x Data..?> "GeoMatchSets" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextMarker")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListGeoMatchSets where+ hashWithSalt _salt ListGeoMatchSets' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListGeoMatchSets where+ rnf ListGeoMatchSets' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListGeoMatchSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListGeoMatchSets" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListGeoMatchSets where+ toJSON ListGeoMatchSets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListGeoMatchSets where+ toPath = Prelude.const "/"++instance Data.ToQuery ListGeoMatchSets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListGeoMatchSetsResponse' smart constructor.+data ListGeoMatchSetsResponse = ListGeoMatchSetsResponse'+ { -- | An array of GeoMatchSetSummary objects.+ geoMatchSets :: Prelude.Maybe [GeoMatchSetSummary],+ -- | If you have more @GeoMatchSet@ objects than the number that you+ -- specified for @Limit@ in the request, the response includes a+ -- @NextMarker@ value. To list more @GeoMatchSet@ objects, submit another+ -- @ListGeoMatchSets@ request, and specify the @NextMarker@ value from the+ -- response in the @NextMarker@ value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGeoMatchSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoMatchSets', 'listGeoMatchSetsResponse_geoMatchSets' - An array of GeoMatchSetSummary objects.+--+-- 'nextMarker', 'listGeoMatchSetsResponse_nextMarker' - If you have more @GeoMatchSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @GeoMatchSet@ objects, submit another+-- @ListGeoMatchSets@ request, and specify the @NextMarker@ value from the+-- response in the @NextMarker@ value in the next request.+--+-- 'httpStatus', 'listGeoMatchSetsResponse_httpStatus' - The response's http status code.+newListGeoMatchSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListGeoMatchSetsResponse+newListGeoMatchSetsResponse pHttpStatus_ =+ ListGeoMatchSetsResponse'+ { geoMatchSets =+ Prelude.Nothing,+ nextMarker = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of GeoMatchSetSummary objects.+listGeoMatchSetsResponse_geoMatchSets :: Lens.Lens' ListGeoMatchSetsResponse (Prelude.Maybe [GeoMatchSetSummary])+listGeoMatchSetsResponse_geoMatchSets = Lens.lens (\ListGeoMatchSetsResponse' {geoMatchSets} -> geoMatchSets) (\s@ListGeoMatchSetsResponse' {} a -> s {geoMatchSets = a} :: ListGeoMatchSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If you have more @GeoMatchSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @GeoMatchSet@ objects, submit another+-- @ListGeoMatchSets@ request, and specify the @NextMarker@ value from the+-- response in the @NextMarker@ value in the next request.+listGeoMatchSetsResponse_nextMarker :: Lens.Lens' ListGeoMatchSetsResponse (Prelude.Maybe Prelude.Text)+listGeoMatchSetsResponse_nextMarker = Lens.lens (\ListGeoMatchSetsResponse' {nextMarker} -> nextMarker) (\s@ListGeoMatchSetsResponse' {} a -> s {nextMarker = a} :: ListGeoMatchSetsResponse)++-- | The response's http status code.+listGeoMatchSetsResponse_httpStatus :: Lens.Lens' ListGeoMatchSetsResponse Prelude.Int+listGeoMatchSetsResponse_httpStatus = Lens.lens (\ListGeoMatchSetsResponse' {httpStatus} -> httpStatus) (\s@ListGeoMatchSetsResponse' {} a -> s {httpStatus = a} :: ListGeoMatchSetsResponse)++instance Prelude.NFData ListGeoMatchSetsResponse where+ rnf ListGeoMatchSetsResponse' {..} =+ Prelude.rnf geoMatchSets+ `Prelude.seq` Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListIPSets.hs view
@@ -0,0 +1,248 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListIPSets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of IPSetSummary objects in the response.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListIPSets+ ( -- * Creating a Request+ ListIPSets (..),+ newListIPSets,++ -- * Request Lenses+ listIPSets_limit,+ listIPSets_nextMarker,++ -- * Destructuring the Response+ ListIPSetsResponse (..),+ newListIPSetsResponse,++ -- * Response Lenses+ listIPSetsResponse_iPSets,+ listIPSetsResponse_nextMarker,+ listIPSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListIPSets' smart constructor.+data ListIPSets = ListIPSets'+ { -- | Specifies the number of @IPSet@ objects that you want AWS WAF to return+ -- for this request. If you have more @IPSet@ objects than the number you+ -- specify for @Limit@, the response includes a @NextMarker@ value that you+ -- can use to get another batch of @IPSet@ objects.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | AWS WAF returns a @NextMarker@ value in the response that allows you to+ -- list another group of @IPSets@. For the second and subsequent+ -- @ListIPSets@ requests, specify the value of @NextMarker@ from the+ -- previous response to get information about another batch of @IPSets@.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIPSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listIPSets_limit' - Specifies the number of @IPSet@ objects that you want AWS WAF to return+-- for this request. If you have more @IPSet@ objects than the number you+-- specify for @Limit@, the response includes a @NextMarker@ value that you+-- can use to get another batch of @IPSet@ objects.+--+-- 'nextMarker', 'listIPSets_nextMarker' - AWS WAF returns a @NextMarker@ value in the response that allows you to+-- list another group of @IPSets@. For the second and subsequent+-- @ListIPSets@ requests, specify the value of @NextMarker@ from the+-- previous response to get information about another batch of @IPSets@.+newListIPSets ::+ ListIPSets+newListIPSets =+ ListIPSets'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @IPSet@ objects that you want AWS WAF to return+-- for this request. If you have more @IPSet@ objects than the number you+-- specify for @Limit@, the response includes a @NextMarker@ value that you+-- can use to get another batch of @IPSet@ objects.+listIPSets_limit :: Lens.Lens' ListIPSets (Prelude.Maybe Prelude.Natural)+listIPSets_limit = Lens.lens (\ListIPSets' {limit} -> limit) (\s@ListIPSets' {} a -> s {limit = a} :: ListIPSets)++-- | AWS WAF returns a @NextMarker@ value in the response that allows you to+-- list another group of @IPSets@. For the second and subsequent+-- @ListIPSets@ requests, specify the value of @NextMarker@ from the+-- previous response to get information about another batch of @IPSets@.+listIPSets_nextMarker :: Lens.Lens' ListIPSets (Prelude.Maybe Prelude.Text)+listIPSets_nextMarker = Lens.lens (\ListIPSets' {nextMarker} -> nextMarker) (\s@ListIPSets' {} a -> s {nextMarker = a} :: ListIPSets)++instance Core.AWSPager ListIPSets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listIPSetsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listIPSetsResponse_iPSets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listIPSets_nextMarker+ Lens..~ rs+ Lens.^? listIPSetsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListIPSets where+ type AWSResponse ListIPSets = ListIPSetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListIPSetsResponse'+ Prelude.<$> (x Data..?> "IPSets" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextMarker")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListIPSets where+ hashWithSalt _salt ListIPSets' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListIPSets where+ rnf ListIPSets' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListIPSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSWAF_20150824.ListIPSets" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListIPSets where+ toJSON ListIPSets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListIPSets where+ toPath = Prelude.const "/"++instance Data.ToQuery ListIPSets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListIPSetsResponse' smart constructor.+data ListIPSetsResponse = ListIPSetsResponse'+ { -- | An array of IPSetSummary objects.+ iPSets :: Prelude.Maybe [IPSetSummary],+ -- | To list more @IPSet@ objects, submit another @ListIPSets@ request, and+ -- in the next request use the @NextMarker@ response value as the+ -- @NextMarker@ value.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIPSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iPSets', 'listIPSetsResponse_iPSets' - An array of IPSetSummary objects.+--+-- 'nextMarker', 'listIPSetsResponse_nextMarker' - To list more @IPSet@ objects, submit another @ListIPSets@ request, and+-- in the next request use the @NextMarker@ response value as the+-- @NextMarker@ value.+--+-- 'httpStatus', 'listIPSetsResponse_httpStatus' - The response's http status code.+newListIPSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListIPSetsResponse+newListIPSetsResponse pHttpStatus_ =+ ListIPSetsResponse'+ { iPSets = Prelude.Nothing,+ nextMarker = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of IPSetSummary objects.+listIPSetsResponse_iPSets :: Lens.Lens' ListIPSetsResponse (Prelude.Maybe [IPSetSummary])+listIPSetsResponse_iPSets = Lens.lens (\ListIPSetsResponse' {iPSets} -> iPSets) (\s@ListIPSetsResponse' {} a -> s {iPSets = a} :: ListIPSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | To list more @IPSet@ objects, submit another @ListIPSets@ request, and+-- in the next request use the @NextMarker@ response value as the+-- @NextMarker@ value.+listIPSetsResponse_nextMarker :: Lens.Lens' ListIPSetsResponse (Prelude.Maybe Prelude.Text)+listIPSetsResponse_nextMarker = Lens.lens (\ListIPSetsResponse' {nextMarker} -> nextMarker) (\s@ListIPSetsResponse' {} a -> s {nextMarker = a} :: ListIPSetsResponse)++-- | The response's http status code.+listIPSetsResponse_httpStatus :: Lens.Lens' ListIPSetsResponse Prelude.Int+listIPSetsResponse_httpStatus = Lens.lens (\ListIPSetsResponse' {httpStatus} -> httpStatus) (\s@ListIPSetsResponse' {} a -> s {httpStatus = a} :: ListIPSetsResponse)++instance Prelude.NFData ListIPSetsResponse where+ rnf ListIPSetsResponse' {..} =+ Prelude.rnf iPSets+ `Prelude.seq` Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListLoggingConfigurations.hs view
@@ -0,0 +1,277 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListLoggingConfigurations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of LoggingConfiguration objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListLoggingConfigurations+ ( -- * Creating a Request+ ListLoggingConfigurations (..),+ newListLoggingConfigurations,++ -- * Request Lenses+ listLoggingConfigurations_limit,+ listLoggingConfigurations_nextMarker,++ -- * Destructuring the Response+ ListLoggingConfigurationsResponse (..),+ newListLoggingConfigurationsResponse,++ -- * Response Lenses+ listLoggingConfigurationsResponse_loggingConfigurations,+ listLoggingConfigurationsResponse_nextMarker,+ listLoggingConfigurationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListLoggingConfigurations' smart constructor.+data ListLoggingConfigurations = ListLoggingConfigurations'+ { -- | Specifies the number of @LoggingConfigurations@ that you want AWS WAF to+ -- return for this request. If you have more @LoggingConfigurations@ than+ -- the number that you specify for @Limit@, the response includes a+ -- @NextMarker@ value that you can use to get another batch of+ -- @LoggingConfigurations@.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more+ -- @LoggingConfigurations@ than the value of @Limit@, AWS WAF returns a+ -- @NextMarker@ value in the response that allows you to list another group+ -- of @LoggingConfigurations@. For the second and subsequent+ -- @ListLoggingConfigurations@ requests, specify the value of @NextMarker@+ -- from the previous response to get information about another batch of+ -- @ListLoggingConfigurations@.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLoggingConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listLoggingConfigurations_limit' - Specifies the number of @LoggingConfigurations@ that you want AWS WAF to+-- return for this request. If you have more @LoggingConfigurations@ than+-- the number that you specify for @Limit@, the response includes a+-- @NextMarker@ value that you can use to get another batch of+-- @LoggingConfigurations@.+--+-- 'nextMarker', 'listLoggingConfigurations_nextMarker' - If you specify a value for @Limit@ and you have more+-- @LoggingConfigurations@ than the value of @Limit@, AWS WAF returns a+-- @NextMarker@ value in the response that allows you to list another group+-- of @LoggingConfigurations@. For the second and subsequent+-- @ListLoggingConfigurations@ requests, specify the value of @NextMarker@+-- from the previous response to get information about another batch of+-- @ListLoggingConfigurations@.+newListLoggingConfigurations ::+ ListLoggingConfigurations+newListLoggingConfigurations =+ ListLoggingConfigurations'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @LoggingConfigurations@ that you want AWS WAF to+-- return for this request. If you have more @LoggingConfigurations@ than+-- the number that you specify for @Limit@, the response includes a+-- @NextMarker@ value that you can use to get another batch of+-- @LoggingConfigurations@.+listLoggingConfigurations_limit :: Lens.Lens' ListLoggingConfigurations (Prelude.Maybe Prelude.Natural)+listLoggingConfigurations_limit = Lens.lens (\ListLoggingConfigurations' {limit} -> limit) (\s@ListLoggingConfigurations' {} a -> s {limit = a} :: ListLoggingConfigurations)++-- | If you specify a value for @Limit@ and you have more+-- @LoggingConfigurations@ than the value of @Limit@, AWS WAF returns a+-- @NextMarker@ value in the response that allows you to list another group+-- of @LoggingConfigurations@. For the second and subsequent+-- @ListLoggingConfigurations@ requests, specify the value of @NextMarker@+-- from the previous response to get information about another batch of+-- @ListLoggingConfigurations@.+listLoggingConfigurations_nextMarker :: Lens.Lens' ListLoggingConfigurations (Prelude.Maybe Prelude.Text)+listLoggingConfigurations_nextMarker = Lens.lens (\ListLoggingConfigurations' {nextMarker} -> nextMarker) (\s@ListLoggingConfigurations' {} a -> s {nextMarker = a} :: ListLoggingConfigurations)++instance Core.AWSPager ListLoggingConfigurations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listLoggingConfigurationsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listLoggingConfigurationsResponse_loggingConfigurations+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listLoggingConfigurations_nextMarker+ Lens..~ rs+ Lens.^? listLoggingConfigurationsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListLoggingConfigurations where+ type+ AWSResponse ListLoggingConfigurations =+ ListLoggingConfigurationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListLoggingConfigurationsResponse'+ Prelude.<$> ( x+ Data..?> "LoggingConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextMarker")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListLoggingConfigurations where+ hashWithSalt _salt ListLoggingConfigurations' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListLoggingConfigurations where+ rnf ListLoggingConfigurations' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListLoggingConfigurations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListLoggingConfigurations" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListLoggingConfigurations where+ toJSON ListLoggingConfigurations' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListLoggingConfigurations where+ toPath = Prelude.const "/"++instance Data.ToQuery ListLoggingConfigurations where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLoggingConfigurationsResponse' smart constructor.+data ListLoggingConfigurationsResponse = ListLoggingConfigurationsResponse'+ { -- | An array of LoggingConfiguration objects.+ loggingConfigurations :: Prelude.Maybe [LoggingConfiguration],+ -- | If you have more @LoggingConfigurations@ than the number that you+ -- specified for @Limit@ in the request, the response includes a+ -- @NextMarker@ value. To list more @LoggingConfigurations@, submit another+ -- @ListLoggingConfigurations@ request, and specify the @NextMarker@ value+ -- from the response in the @NextMarker@ value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLoggingConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loggingConfigurations', 'listLoggingConfigurationsResponse_loggingConfigurations' - An array of LoggingConfiguration objects.+--+-- 'nextMarker', 'listLoggingConfigurationsResponse_nextMarker' - If you have more @LoggingConfigurations@ than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @LoggingConfigurations@, submit another+-- @ListLoggingConfigurations@ request, and specify the @NextMarker@ value+-- from the response in the @NextMarker@ value in the next request.+--+-- 'httpStatus', 'listLoggingConfigurationsResponse_httpStatus' - The response's http status code.+newListLoggingConfigurationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListLoggingConfigurationsResponse+newListLoggingConfigurationsResponse pHttpStatus_ =+ ListLoggingConfigurationsResponse'+ { loggingConfigurations =+ Prelude.Nothing,+ nextMarker = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of LoggingConfiguration objects.+listLoggingConfigurationsResponse_loggingConfigurations :: Lens.Lens' ListLoggingConfigurationsResponse (Prelude.Maybe [LoggingConfiguration])+listLoggingConfigurationsResponse_loggingConfigurations = Lens.lens (\ListLoggingConfigurationsResponse' {loggingConfigurations} -> loggingConfigurations) (\s@ListLoggingConfigurationsResponse' {} a -> s {loggingConfigurations = a} :: ListLoggingConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If you have more @LoggingConfigurations@ than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @LoggingConfigurations@, submit another+-- @ListLoggingConfigurations@ request, and specify the @NextMarker@ value+-- from the response in the @NextMarker@ value in the next request.+listLoggingConfigurationsResponse_nextMarker :: Lens.Lens' ListLoggingConfigurationsResponse (Prelude.Maybe Prelude.Text)+listLoggingConfigurationsResponse_nextMarker = Lens.lens (\ListLoggingConfigurationsResponse' {nextMarker} -> nextMarker) (\s@ListLoggingConfigurationsResponse' {} a -> s {nextMarker = a} :: ListLoggingConfigurationsResponse)++-- | The response's http status code.+listLoggingConfigurationsResponse_httpStatus :: Lens.Lens' ListLoggingConfigurationsResponse Prelude.Int+listLoggingConfigurationsResponse_httpStatus = Lens.lens (\ListLoggingConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListLoggingConfigurationsResponse' {} a -> s {httpStatus = a} :: ListLoggingConfigurationsResponse)++instance+ Prelude.NFData+ ListLoggingConfigurationsResponse+ where+ rnf ListLoggingConfigurationsResponse' {..} =+ Prelude.rnf loggingConfigurations+ `Prelude.seq` Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListRateBasedRules.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListRateBasedRules+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of RuleSummary objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListRateBasedRules+ ( -- * Creating a Request+ ListRateBasedRules (..),+ newListRateBasedRules,++ -- * Request Lenses+ listRateBasedRules_limit,+ listRateBasedRules_nextMarker,++ -- * Destructuring the Response+ ListRateBasedRulesResponse (..),+ newListRateBasedRulesResponse,++ -- * Response Lenses+ listRateBasedRulesResponse_nextMarker,+ listRateBasedRulesResponse_rules,+ listRateBasedRulesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListRateBasedRules' smart constructor.+data ListRateBasedRules = ListRateBasedRules'+ { -- | Specifies the number of @Rules@ that you want AWS WAF to return for this+ -- request. If you have more @Rules@ than the number that you specify for+ -- @Limit@, the response includes a @NextMarker@ value that you can use to+ -- get another batch of @Rules@.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more @Rules@ than the+ -- value of @Limit@, AWS WAF returns a @NextMarker@ value in the response+ -- that allows you to list another group of @Rules@. For the second and+ -- subsequent @ListRateBasedRules@ requests, specify the value of+ -- @NextMarker@ from the previous response to get information about another+ -- batch of @Rules@.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRateBasedRules' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listRateBasedRules_limit' - Specifies the number of @Rules@ that you want AWS WAF to return for this+-- request. If you have more @Rules@ than the number that you specify for+-- @Limit@, the response includes a @NextMarker@ value that you can use to+-- get another batch of @Rules@.+--+-- 'nextMarker', 'listRateBasedRules_nextMarker' - If you specify a value for @Limit@ and you have more @Rules@ than the+-- value of @Limit@, AWS WAF returns a @NextMarker@ value in the response+-- that allows you to list another group of @Rules@. For the second and+-- subsequent @ListRateBasedRules@ requests, specify the value of+-- @NextMarker@ from the previous response to get information about another+-- batch of @Rules@.+newListRateBasedRules ::+ ListRateBasedRules+newListRateBasedRules =+ ListRateBasedRules'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @Rules@ that you want AWS WAF to return for this+-- request. If you have more @Rules@ than the number that you specify for+-- @Limit@, the response includes a @NextMarker@ value that you can use to+-- get another batch of @Rules@.+listRateBasedRules_limit :: Lens.Lens' ListRateBasedRules (Prelude.Maybe Prelude.Natural)+listRateBasedRules_limit = Lens.lens (\ListRateBasedRules' {limit} -> limit) (\s@ListRateBasedRules' {} a -> s {limit = a} :: ListRateBasedRules)++-- | If you specify a value for @Limit@ and you have more @Rules@ than the+-- value of @Limit@, AWS WAF returns a @NextMarker@ value in the response+-- that allows you to list another group of @Rules@. For the second and+-- subsequent @ListRateBasedRules@ requests, specify the value of+-- @NextMarker@ from the previous response to get information about another+-- batch of @Rules@.+listRateBasedRules_nextMarker :: Lens.Lens' ListRateBasedRules (Prelude.Maybe Prelude.Text)+listRateBasedRules_nextMarker = Lens.lens (\ListRateBasedRules' {nextMarker} -> nextMarker) (\s@ListRateBasedRules' {} a -> s {nextMarker = a} :: ListRateBasedRules)++instance Core.AWSPager ListRateBasedRules where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listRateBasedRulesResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listRateBasedRulesResponse_rules+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listRateBasedRules_nextMarker+ Lens..~ rs+ Lens.^? listRateBasedRulesResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListRateBasedRules where+ type+ AWSResponse ListRateBasedRules =+ ListRateBasedRulesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListRateBasedRulesResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> (x Data..?> "Rules" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListRateBasedRules where+ hashWithSalt _salt ListRateBasedRules' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListRateBasedRules where+ rnf ListRateBasedRules' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListRateBasedRules where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListRateBasedRules" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListRateBasedRules where+ toJSON ListRateBasedRules' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListRateBasedRules where+ toPath = Prelude.const "/"++instance Data.ToQuery ListRateBasedRules where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListRateBasedRulesResponse' smart constructor.+data ListRateBasedRulesResponse = ListRateBasedRulesResponse'+ { -- | If you have more @Rules@ than the number that you specified for @Limit@+ -- in the request, the response includes a @NextMarker@ value. To list more+ -- @Rules@, submit another @ListRateBasedRules@ request, and specify the+ -- @NextMarker@ value from the response in the @NextMarker@ value in the+ -- next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of RuleSummary objects.+ rules :: Prelude.Maybe [RuleSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRateBasedRulesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listRateBasedRulesResponse_nextMarker' - If you have more @Rules@ than the number that you specified for @Limit@+-- in the request, the response includes a @NextMarker@ value. To list more+-- @Rules@, submit another @ListRateBasedRules@ request, and specify the+-- @NextMarker@ value from the response in the @NextMarker@ value in the+-- next request.+--+-- 'rules', 'listRateBasedRulesResponse_rules' - An array of RuleSummary objects.+--+-- 'httpStatus', 'listRateBasedRulesResponse_httpStatus' - The response's http status code.+newListRateBasedRulesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListRateBasedRulesResponse+newListRateBasedRulesResponse pHttpStatus_ =+ ListRateBasedRulesResponse'+ { nextMarker =+ Prelude.Nothing,+ rules = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more @Rules@ than the number that you specified for @Limit@+-- in the request, the response includes a @NextMarker@ value. To list more+-- @Rules@, submit another @ListRateBasedRules@ request, and specify the+-- @NextMarker@ value from the response in the @NextMarker@ value in the+-- next request.+listRateBasedRulesResponse_nextMarker :: Lens.Lens' ListRateBasedRulesResponse (Prelude.Maybe Prelude.Text)+listRateBasedRulesResponse_nextMarker = Lens.lens (\ListRateBasedRulesResponse' {nextMarker} -> nextMarker) (\s@ListRateBasedRulesResponse' {} a -> s {nextMarker = a} :: ListRateBasedRulesResponse)++-- | An array of RuleSummary objects.+listRateBasedRulesResponse_rules :: Lens.Lens' ListRateBasedRulesResponse (Prelude.Maybe [RuleSummary])+listRateBasedRulesResponse_rules = Lens.lens (\ListRateBasedRulesResponse' {rules} -> rules) (\s@ListRateBasedRulesResponse' {} a -> s {rules = a} :: ListRateBasedRulesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRateBasedRulesResponse_httpStatus :: Lens.Lens' ListRateBasedRulesResponse Prelude.Int+listRateBasedRulesResponse_httpStatus = Lens.lens (\ListRateBasedRulesResponse' {httpStatus} -> httpStatus) (\s@ListRateBasedRulesResponse' {} a -> s {httpStatus = a} :: ListRateBasedRulesResponse)++instance Prelude.NFData ListRateBasedRulesResponse where+ rnf ListRateBasedRulesResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf rules+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListRegexMatchSets.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListRegexMatchSets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of RegexMatchSetSummary objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListRegexMatchSets+ ( -- * Creating a Request+ ListRegexMatchSets (..),+ newListRegexMatchSets,++ -- * Request Lenses+ listRegexMatchSets_limit,+ listRegexMatchSets_nextMarker,++ -- * Destructuring the Response+ ListRegexMatchSetsResponse (..),+ newListRegexMatchSetsResponse,++ -- * Response Lenses+ listRegexMatchSetsResponse_nextMarker,+ listRegexMatchSetsResponse_regexMatchSets,+ listRegexMatchSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListRegexMatchSets' smart constructor.+data ListRegexMatchSets = ListRegexMatchSets'+ { -- | Specifies the number of @RegexMatchSet@ objects that you want AWS WAF to+ -- return for this request. If you have more @RegexMatchSet@ objects than+ -- the number you specify for @Limit@, the response includes a @NextMarker@+ -- value that you can use to get another batch of @RegexMatchSet@ objects.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more @RegexMatchSet@+ -- objects than the value of @Limit@, AWS WAF returns a @NextMarker@ value+ -- in the response that allows you to list another group of+ -- @ByteMatchSets@. For the second and subsequent @ListRegexMatchSets@+ -- requests, specify the value of @NextMarker@ from the previous response+ -- to get information about another batch of @RegexMatchSet@ objects.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRegexMatchSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listRegexMatchSets_limit' - Specifies the number of @RegexMatchSet@ objects that you want AWS WAF to+-- return for this request. If you have more @RegexMatchSet@ objects than+-- the number you specify for @Limit@, the response includes a @NextMarker@+-- value that you can use to get another batch of @RegexMatchSet@ objects.+--+-- 'nextMarker', 'listRegexMatchSets_nextMarker' - If you specify a value for @Limit@ and you have more @RegexMatchSet@+-- objects than the value of @Limit@, AWS WAF returns a @NextMarker@ value+-- in the response that allows you to list another group of+-- @ByteMatchSets@. For the second and subsequent @ListRegexMatchSets@+-- requests, specify the value of @NextMarker@ from the previous response+-- to get information about another batch of @RegexMatchSet@ objects.+newListRegexMatchSets ::+ ListRegexMatchSets+newListRegexMatchSets =+ ListRegexMatchSets'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @RegexMatchSet@ objects that you want AWS WAF to+-- return for this request. If you have more @RegexMatchSet@ objects than+-- the number you specify for @Limit@, the response includes a @NextMarker@+-- value that you can use to get another batch of @RegexMatchSet@ objects.+listRegexMatchSets_limit :: Lens.Lens' ListRegexMatchSets (Prelude.Maybe Prelude.Natural)+listRegexMatchSets_limit = Lens.lens (\ListRegexMatchSets' {limit} -> limit) (\s@ListRegexMatchSets' {} a -> s {limit = a} :: ListRegexMatchSets)++-- | If you specify a value for @Limit@ and you have more @RegexMatchSet@+-- objects than the value of @Limit@, AWS WAF returns a @NextMarker@ value+-- in the response that allows you to list another group of+-- @ByteMatchSets@. For the second and subsequent @ListRegexMatchSets@+-- requests, specify the value of @NextMarker@ from the previous response+-- to get information about another batch of @RegexMatchSet@ objects.+listRegexMatchSets_nextMarker :: Lens.Lens' ListRegexMatchSets (Prelude.Maybe Prelude.Text)+listRegexMatchSets_nextMarker = Lens.lens (\ListRegexMatchSets' {nextMarker} -> nextMarker) (\s@ListRegexMatchSets' {} a -> s {nextMarker = a} :: ListRegexMatchSets)++instance Core.AWSPager ListRegexMatchSets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listRegexMatchSetsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listRegexMatchSetsResponse_regexMatchSets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listRegexMatchSets_nextMarker+ Lens..~ rs+ Lens.^? listRegexMatchSetsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListRegexMatchSets where+ type+ AWSResponse ListRegexMatchSets =+ ListRegexMatchSetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListRegexMatchSetsResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> (x Data..?> "RegexMatchSets" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListRegexMatchSets where+ hashWithSalt _salt ListRegexMatchSets' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListRegexMatchSets where+ rnf ListRegexMatchSets' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListRegexMatchSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListRegexMatchSets" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListRegexMatchSets where+ toJSON ListRegexMatchSets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListRegexMatchSets where+ toPath = Prelude.const "/"++instance Data.ToQuery ListRegexMatchSets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListRegexMatchSetsResponse' smart constructor.+data ListRegexMatchSetsResponse = ListRegexMatchSetsResponse'+ { -- | If you have more @RegexMatchSet@ objects than the number that you+ -- specified for @Limit@ in the request, the response includes a+ -- @NextMarker@ value. To list more @RegexMatchSet@ objects, submit another+ -- @ListRegexMatchSets@ request, and specify the @NextMarker@ value from+ -- the response in the @NextMarker@ value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of RegexMatchSetSummary objects.+ regexMatchSets :: Prelude.Maybe [RegexMatchSetSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRegexMatchSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listRegexMatchSetsResponse_nextMarker' - If you have more @RegexMatchSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @RegexMatchSet@ objects, submit another+-- @ListRegexMatchSets@ request, and specify the @NextMarker@ value from+-- the response in the @NextMarker@ value in the next request.+--+-- 'regexMatchSets', 'listRegexMatchSetsResponse_regexMatchSets' - An array of RegexMatchSetSummary objects.+--+-- 'httpStatus', 'listRegexMatchSetsResponse_httpStatus' - The response's http status code.+newListRegexMatchSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListRegexMatchSetsResponse+newListRegexMatchSetsResponse pHttpStatus_ =+ ListRegexMatchSetsResponse'+ { nextMarker =+ Prelude.Nothing,+ regexMatchSets = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more @RegexMatchSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @RegexMatchSet@ objects, submit another+-- @ListRegexMatchSets@ request, and specify the @NextMarker@ value from+-- the response in the @NextMarker@ value in the next request.+listRegexMatchSetsResponse_nextMarker :: Lens.Lens' ListRegexMatchSetsResponse (Prelude.Maybe Prelude.Text)+listRegexMatchSetsResponse_nextMarker = Lens.lens (\ListRegexMatchSetsResponse' {nextMarker} -> nextMarker) (\s@ListRegexMatchSetsResponse' {} a -> s {nextMarker = a} :: ListRegexMatchSetsResponse)++-- | An array of RegexMatchSetSummary objects.+listRegexMatchSetsResponse_regexMatchSets :: Lens.Lens' ListRegexMatchSetsResponse (Prelude.Maybe [RegexMatchSetSummary])+listRegexMatchSetsResponse_regexMatchSets = Lens.lens (\ListRegexMatchSetsResponse' {regexMatchSets} -> regexMatchSets) (\s@ListRegexMatchSetsResponse' {} a -> s {regexMatchSets = a} :: ListRegexMatchSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRegexMatchSetsResponse_httpStatus :: Lens.Lens' ListRegexMatchSetsResponse Prelude.Int+listRegexMatchSetsResponse_httpStatus = Lens.lens (\ListRegexMatchSetsResponse' {httpStatus} -> httpStatus) (\s@ListRegexMatchSetsResponse' {} a -> s {httpStatus = a} :: ListRegexMatchSetsResponse)++instance Prelude.NFData ListRegexMatchSetsResponse where+ rnf ListRegexMatchSetsResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf regexMatchSets+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListRegexPatternSets.hs view
@@ -0,0 +1,274 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListRegexPatternSets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of RegexPatternSetSummary objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListRegexPatternSets+ ( -- * Creating a Request+ ListRegexPatternSets (..),+ newListRegexPatternSets,++ -- * Request Lenses+ listRegexPatternSets_limit,+ listRegexPatternSets_nextMarker,++ -- * Destructuring the Response+ ListRegexPatternSetsResponse (..),+ newListRegexPatternSetsResponse,++ -- * Response Lenses+ listRegexPatternSetsResponse_nextMarker,+ listRegexPatternSetsResponse_regexPatternSets,+ listRegexPatternSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListRegexPatternSets' smart constructor.+data ListRegexPatternSets = ListRegexPatternSets'+ { -- | Specifies the number of @RegexPatternSet@ objects that you want AWS WAF+ -- to return for this request. If you have more @RegexPatternSet@ objects+ -- than the number you specify for @Limit@, the response includes a+ -- @NextMarker@ value that you can use to get another batch of+ -- @RegexPatternSet@ objects.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more @RegexPatternSet@+ -- objects than the value of @Limit@, AWS WAF returns a @NextMarker@ value+ -- in the response that allows you to list another group of+ -- @RegexPatternSet@ objects. For the second and subsequent+ -- @ListRegexPatternSets@ requests, specify the value of @NextMarker@ from+ -- the previous response to get information about another batch of+ -- @RegexPatternSet@ objects.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRegexPatternSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listRegexPatternSets_limit' - Specifies the number of @RegexPatternSet@ objects that you want AWS WAF+-- to return for this request. If you have more @RegexPatternSet@ objects+-- than the number you specify for @Limit@, the response includes a+-- @NextMarker@ value that you can use to get another batch of+-- @RegexPatternSet@ objects.+--+-- 'nextMarker', 'listRegexPatternSets_nextMarker' - If you specify a value for @Limit@ and you have more @RegexPatternSet@+-- objects than the value of @Limit@, AWS WAF returns a @NextMarker@ value+-- in the response that allows you to list another group of+-- @RegexPatternSet@ objects. For the second and subsequent+-- @ListRegexPatternSets@ requests, specify the value of @NextMarker@ from+-- the previous response to get information about another batch of+-- @RegexPatternSet@ objects.+newListRegexPatternSets ::+ ListRegexPatternSets+newListRegexPatternSets =+ ListRegexPatternSets'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @RegexPatternSet@ objects that you want AWS WAF+-- to return for this request. If you have more @RegexPatternSet@ objects+-- than the number you specify for @Limit@, the response includes a+-- @NextMarker@ value that you can use to get another batch of+-- @RegexPatternSet@ objects.+listRegexPatternSets_limit :: Lens.Lens' ListRegexPatternSets (Prelude.Maybe Prelude.Natural)+listRegexPatternSets_limit = Lens.lens (\ListRegexPatternSets' {limit} -> limit) (\s@ListRegexPatternSets' {} a -> s {limit = a} :: ListRegexPatternSets)++-- | If you specify a value for @Limit@ and you have more @RegexPatternSet@+-- objects than the value of @Limit@, AWS WAF returns a @NextMarker@ value+-- in the response that allows you to list another group of+-- @RegexPatternSet@ objects. For the second and subsequent+-- @ListRegexPatternSets@ requests, specify the value of @NextMarker@ from+-- the previous response to get information about another batch of+-- @RegexPatternSet@ objects.+listRegexPatternSets_nextMarker :: Lens.Lens' ListRegexPatternSets (Prelude.Maybe Prelude.Text)+listRegexPatternSets_nextMarker = Lens.lens (\ListRegexPatternSets' {nextMarker} -> nextMarker) (\s@ListRegexPatternSets' {} a -> s {nextMarker = a} :: ListRegexPatternSets)++instance Core.AWSPager ListRegexPatternSets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listRegexPatternSetsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listRegexPatternSetsResponse_regexPatternSets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listRegexPatternSets_nextMarker+ Lens..~ rs+ Lens.^? listRegexPatternSetsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListRegexPatternSets where+ type+ AWSResponse ListRegexPatternSets =+ ListRegexPatternSetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListRegexPatternSetsResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> ( x+ Data..?> "RegexPatternSets"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListRegexPatternSets where+ hashWithSalt _salt ListRegexPatternSets' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListRegexPatternSets where+ rnf ListRegexPatternSets' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListRegexPatternSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListRegexPatternSets" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListRegexPatternSets where+ toJSON ListRegexPatternSets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListRegexPatternSets where+ toPath = Prelude.const "/"++instance Data.ToQuery ListRegexPatternSets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListRegexPatternSetsResponse' smart constructor.+data ListRegexPatternSetsResponse = ListRegexPatternSetsResponse'+ { -- | If you have more @RegexPatternSet@ objects than the number that you+ -- specified for @Limit@ in the request, the response includes a+ -- @NextMarker@ value. To list more @RegexPatternSet@ objects, submit+ -- another @ListRegexPatternSets@ request, and specify the @NextMarker@+ -- value from the response in the @NextMarker@ value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of RegexPatternSetSummary objects.+ regexPatternSets :: Prelude.Maybe [RegexPatternSetSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRegexPatternSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listRegexPatternSetsResponse_nextMarker' - If you have more @RegexPatternSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @RegexPatternSet@ objects, submit+-- another @ListRegexPatternSets@ request, and specify the @NextMarker@+-- value from the response in the @NextMarker@ value in the next request.+--+-- 'regexPatternSets', 'listRegexPatternSetsResponse_regexPatternSets' - An array of RegexPatternSetSummary objects.+--+-- 'httpStatus', 'listRegexPatternSetsResponse_httpStatus' - The response's http status code.+newListRegexPatternSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListRegexPatternSetsResponse+newListRegexPatternSetsResponse pHttpStatus_ =+ ListRegexPatternSetsResponse'+ { nextMarker =+ Prelude.Nothing,+ regexPatternSets = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more @RegexPatternSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @RegexPatternSet@ objects, submit+-- another @ListRegexPatternSets@ request, and specify the @NextMarker@+-- value from the response in the @NextMarker@ value in the next request.+listRegexPatternSetsResponse_nextMarker :: Lens.Lens' ListRegexPatternSetsResponse (Prelude.Maybe Prelude.Text)+listRegexPatternSetsResponse_nextMarker = Lens.lens (\ListRegexPatternSetsResponse' {nextMarker} -> nextMarker) (\s@ListRegexPatternSetsResponse' {} a -> s {nextMarker = a} :: ListRegexPatternSetsResponse)++-- | An array of RegexPatternSetSummary objects.+listRegexPatternSetsResponse_regexPatternSets :: Lens.Lens' ListRegexPatternSetsResponse (Prelude.Maybe [RegexPatternSetSummary])+listRegexPatternSetsResponse_regexPatternSets = Lens.lens (\ListRegexPatternSetsResponse' {regexPatternSets} -> regexPatternSets) (\s@ListRegexPatternSetsResponse' {} a -> s {regexPatternSets = a} :: ListRegexPatternSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRegexPatternSetsResponse_httpStatus :: Lens.Lens' ListRegexPatternSetsResponse Prelude.Int+listRegexPatternSetsResponse_httpStatus = Lens.lens (\ListRegexPatternSetsResponse' {httpStatus} -> httpStatus) (\s@ListRegexPatternSetsResponse' {} a -> s {httpStatus = a} :: ListRegexPatternSetsResponse)++instance Prelude.NFData ListRegexPatternSetsResponse where+ rnf ListRegexPatternSetsResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf regexPatternSets+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListRuleGroups.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListRuleGroups+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of RuleGroup objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListRuleGroups+ ( -- * Creating a Request+ ListRuleGroups (..),+ newListRuleGroups,++ -- * Request Lenses+ listRuleGroups_limit,+ listRuleGroups_nextMarker,++ -- * Destructuring the Response+ ListRuleGroupsResponse (..),+ newListRuleGroupsResponse,++ -- * Response Lenses+ listRuleGroupsResponse_nextMarker,+ listRuleGroupsResponse_ruleGroups,+ listRuleGroupsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListRuleGroups' smart constructor.+data ListRuleGroups = ListRuleGroups'+ { -- | Specifies the number of @RuleGroups@ that you want AWS WAF to return for+ -- this request. If you have more @RuleGroups@ than the number that you+ -- specify for @Limit@, the response includes a @NextMarker@ value that you+ -- can use to get another batch of @RuleGroups@.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more @RuleGroups@ than+ -- the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+ -- response that allows you to list another group of @RuleGroups@. For the+ -- second and subsequent @ListRuleGroups@ requests, specify the value of+ -- @NextMarker@ from the previous response to get information about another+ -- batch of @RuleGroups@.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRuleGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listRuleGroups_limit' - Specifies the number of @RuleGroups@ that you want AWS WAF to return for+-- this request. If you have more @RuleGroups@ than the number that you+-- specify for @Limit@, the response includes a @NextMarker@ value that you+-- can use to get another batch of @RuleGroups@.+--+-- 'nextMarker', 'listRuleGroups_nextMarker' - If you specify a value for @Limit@ and you have more @RuleGroups@ than+-- the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @RuleGroups@. For the+-- second and subsequent @ListRuleGroups@ requests, specify the value of+-- @NextMarker@ from the previous response to get information about another+-- batch of @RuleGroups@.+newListRuleGroups ::+ ListRuleGroups+newListRuleGroups =+ ListRuleGroups'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @RuleGroups@ that you want AWS WAF to return for+-- this request. If you have more @RuleGroups@ than the number that you+-- specify for @Limit@, the response includes a @NextMarker@ value that you+-- can use to get another batch of @RuleGroups@.+listRuleGroups_limit :: Lens.Lens' ListRuleGroups (Prelude.Maybe Prelude.Natural)+listRuleGroups_limit = Lens.lens (\ListRuleGroups' {limit} -> limit) (\s@ListRuleGroups' {} a -> s {limit = a} :: ListRuleGroups)++-- | If you specify a value for @Limit@ and you have more @RuleGroups@ than+-- the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @RuleGroups@. For the+-- second and subsequent @ListRuleGroups@ requests, specify the value of+-- @NextMarker@ from the previous response to get information about another+-- batch of @RuleGroups@.+listRuleGroups_nextMarker :: Lens.Lens' ListRuleGroups (Prelude.Maybe Prelude.Text)+listRuleGroups_nextMarker = Lens.lens (\ListRuleGroups' {nextMarker} -> nextMarker) (\s@ListRuleGroups' {} a -> s {nextMarker = a} :: ListRuleGroups)++instance Core.AWSPager ListRuleGroups where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listRuleGroupsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listRuleGroupsResponse_ruleGroups+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listRuleGroups_nextMarker+ Lens..~ rs+ Lens.^? listRuleGroupsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListRuleGroups where+ type+ AWSResponse ListRuleGroups =+ ListRuleGroupsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListRuleGroupsResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> (x Data..?> "RuleGroups" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListRuleGroups where+ hashWithSalt _salt ListRuleGroups' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListRuleGroups where+ rnf ListRuleGroups' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListRuleGroups where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListRuleGroups" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListRuleGroups where+ toJSON ListRuleGroups' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListRuleGroups where+ toPath = Prelude.const "/"++instance Data.ToQuery ListRuleGroups where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListRuleGroupsResponse' smart constructor.+data ListRuleGroupsResponse = ListRuleGroupsResponse'+ { -- | If you have more @RuleGroups@ than the number that you specified for+ -- @Limit@ in the request, the response includes a @NextMarker@ value. To+ -- list more @RuleGroups@, submit another @ListRuleGroups@ request, and+ -- specify the @NextMarker@ value from the response in the @NextMarker@+ -- value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of RuleGroup objects.+ ruleGroups :: Prelude.Maybe [RuleGroupSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRuleGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listRuleGroupsResponse_nextMarker' - If you have more @RuleGroups@ than the number that you specified for+-- @Limit@ in the request, the response includes a @NextMarker@ value. To+-- list more @RuleGroups@, submit another @ListRuleGroups@ request, and+-- specify the @NextMarker@ value from the response in the @NextMarker@+-- value in the next request.+--+-- 'ruleGroups', 'listRuleGroupsResponse_ruleGroups' - An array of RuleGroup objects.+--+-- 'httpStatus', 'listRuleGroupsResponse_httpStatus' - The response's http status code.+newListRuleGroupsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListRuleGroupsResponse+newListRuleGroupsResponse pHttpStatus_ =+ ListRuleGroupsResponse'+ { nextMarker =+ Prelude.Nothing,+ ruleGroups = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more @RuleGroups@ than the number that you specified for+-- @Limit@ in the request, the response includes a @NextMarker@ value. To+-- list more @RuleGroups@, submit another @ListRuleGroups@ request, and+-- specify the @NextMarker@ value from the response in the @NextMarker@+-- value in the next request.+listRuleGroupsResponse_nextMarker :: Lens.Lens' ListRuleGroupsResponse (Prelude.Maybe Prelude.Text)+listRuleGroupsResponse_nextMarker = Lens.lens (\ListRuleGroupsResponse' {nextMarker} -> nextMarker) (\s@ListRuleGroupsResponse' {} a -> s {nextMarker = a} :: ListRuleGroupsResponse)++-- | An array of RuleGroup objects.+listRuleGroupsResponse_ruleGroups :: Lens.Lens' ListRuleGroupsResponse (Prelude.Maybe [RuleGroupSummary])+listRuleGroupsResponse_ruleGroups = Lens.lens (\ListRuleGroupsResponse' {ruleGroups} -> ruleGroups) (\s@ListRuleGroupsResponse' {} a -> s {ruleGroups = a} :: ListRuleGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRuleGroupsResponse_httpStatus :: Lens.Lens' ListRuleGroupsResponse Prelude.Int+listRuleGroupsResponse_httpStatus = Lens.lens (\ListRuleGroupsResponse' {httpStatus} -> httpStatus) (\s@ListRuleGroupsResponse' {} a -> s {httpStatus = a} :: ListRuleGroupsResponse)++instance Prelude.NFData ListRuleGroupsResponse where+ rnf ListRuleGroupsResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf ruleGroups+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListRules.hs view
@@ -0,0 +1,257 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListRules+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of RuleSummary objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListRules+ ( -- * Creating a Request+ ListRules (..),+ newListRules,++ -- * Request Lenses+ listRules_limit,+ listRules_nextMarker,++ -- * Destructuring the Response+ ListRulesResponse (..),+ newListRulesResponse,++ -- * Response Lenses+ listRulesResponse_nextMarker,+ listRulesResponse_rules,+ listRulesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListRules' smart constructor.+data ListRules = ListRules'+ { -- | Specifies the number of @Rules@ that you want AWS WAF to return for this+ -- request. If you have more @Rules@ than the number that you specify for+ -- @Limit@, the response includes a @NextMarker@ value that you can use to+ -- get another batch of @Rules@.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more @Rules@ than the+ -- value of @Limit@, AWS WAF returns a @NextMarker@ value in the response+ -- that allows you to list another group of @Rules@. For the second and+ -- subsequent @ListRules@ requests, specify the value of @NextMarker@ from+ -- the previous response to get information about another batch of @Rules@.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRules' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listRules_limit' - Specifies the number of @Rules@ that you want AWS WAF to return for this+-- request. If you have more @Rules@ than the number that you specify for+-- @Limit@, the response includes a @NextMarker@ value that you can use to+-- get another batch of @Rules@.+--+-- 'nextMarker', 'listRules_nextMarker' - If you specify a value for @Limit@ and you have more @Rules@ than the+-- value of @Limit@, AWS WAF returns a @NextMarker@ value in the response+-- that allows you to list another group of @Rules@. For the second and+-- subsequent @ListRules@ requests, specify the value of @NextMarker@ from+-- the previous response to get information about another batch of @Rules@.+newListRules ::+ ListRules+newListRules =+ ListRules'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @Rules@ that you want AWS WAF to return for this+-- request. If you have more @Rules@ than the number that you specify for+-- @Limit@, the response includes a @NextMarker@ value that you can use to+-- get another batch of @Rules@.+listRules_limit :: Lens.Lens' ListRules (Prelude.Maybe Prelude.Natural)+listRules_limit = Lens.lens (\ListRules' {limit} -> limit) (\s@ListRules' {} a -> s {limit = a} :: ListRules)++-- | If you specify a value for @Limit@ and you have more @Rules@ than the+-- value of @Limit@, AWS WAF returns a @NextMarker@ value in the response+-- that allows you to list another group of @Rules@. For the second and+-- subsequent @ListRules@ requests, specify the value of @NextMarker@ from+-- the previous response to get information about another batch of @Rules@.+listRules_nextMarker :: Lens.Lens' ListRules (Prelude.Maybe Prelude.Text)+listRules_nextMarker = Lens.lens (\ListRules' {nextMarker} -> nextMarker) (\s@ListRules' {} a -> s {nextMarker = a} :: ListRules)++instance Core.AWSPager ListRules where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listRulesResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listRulesResponse_rules+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listRules_nextMarker+ Lens..~ rs+ Lens.^? listRulesResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListRules where+ type AWSResponse ListRules = ListRulesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListRulesResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> (x Data..?> "Rules" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListRules where+ hashWithSalt _salt ListRules' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListRules where+ rnf ListRules' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListRules where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSWAF_20150824.ListRules" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListRules where+ toJSON ListRules' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListRules where+ toPath = Prelude.const "/"++instance Data.ToQuery ListRules where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListRulesResponse' smart constructor.+data ListRulesResponse = ListRulesResponse'+ { -- | If you have more @Rules@ than the number that you specified for @Limit@+ -- in the request, the response includes a @NextMarker@ value. To list more+ -- @Rules@, submit another @ListRules@ request, and specify the+ -- @NextMarker@ value from the response in the @NextMarker@ value in the+ -- next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of RuleSummary objects.+ rules :: Prelude.Maybe [RuleSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRulesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listRulesResponse_nextMarker' - If you have more @Rules@ than the number that you specified for @Limit@+-- in the request, the response includes a @NextMarker@ value. To list more+-- @Rules@, submit another @ListRules@ request, and specify the+-- @NextMarker@ value from the response in the @NextMarker@ value in the+-- next request.+--+-- 'rules', 'listRulesResponse_rules' - An array of RuleSummary objects.+--+-- 'httpStatus', 'listRulesResponse_httpStatus' - The response's http status code.+newListRulesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListRulesResponse+newListRulesResponse pHttpStatus_ =+ ListRulesResponse'+ { nextMarker = Prelude.Nothing,+ rules = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more @Rules@ than the number that you specified for @Limit@+-- in the request, the response includes a @NextMarker@ value. To list more+-- @Rules@, submit another @ListRules@ request, and specify the+-- @NextMarker@ value from the response in the @NextMarker@ value in the+-- next request.+listRulesResponse_nextMarker :: Lens.Lens' ListRulesResponse (Prelude.Maybe Prelude.Text)+listRulesResponse_nextMarker = Lens.lens (\ListRulesResponse' {nextMarker} -> nextMarker) (\s@ListRulesResponse' {} a -> s {nextMarker = a} :: ListRulesResponse)++-- | An array of RuleSummary objects.+listRulesResponse_rules :: Lens.Lens' ListRulesResponse (Prelude.Maybe [RuleSummary])+listRulesResponse_rules = Lens.lens (\ListRulesResponse' {rules} -> rules) (\s@ListRulesResponse' {} a -> s {rules = a} :: ListRulesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRulesResponse_httpStatus :: Lens.Lens' ListRulesResponse Prelude.Int+listRulesResponse_httpStatus = Lens.lens (\ListRulesResponse' {httpStatus} -> httpStatus) (\s@ListRulesResponse' {} a -> s {httpStatus = a} :: ListRulesResponse)++instance Prelude.NFData ListRulesResponse where+ rnf ListRulesResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf rules+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListSizeConstraintSets.hs view
@@ -0,0 +1,277 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListSizeConstraintSets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of SizeConstraintSetSummary objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListSizeConstraintSets+ ( -- * Creating a Request+ ListSizeConstraintSets (..),+ newListSizeConstraintSets,++ -- * Request Lenses+ listSizeConstraintSets_limit,+ listSizeConstraintSets_nextMarker,++ -- * Destructuring the Response+ ListSizeConstraintSetsResponse (..),+ newListSizeConstraintSetsResponse,++ -- * Response Lenses+ listSizeConstraintSetsResponse_nextMarker,+ listSizeConstraintSetsResponse_sizeConstraintSets,+ listSizeConstraintSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListSizeConstraintSets' smart constructor.+data ListSizeConstraintSets = ListSizeConstraintSets'+ { -- | Specifies the number of @SizeConstraintSet@ objects that you want AWS+ -- WAF to return for this request. If you have more @SizeConstraintSets@+ -- objects than the number you specify for @Limit@, the response includes a+ -- @NextMarker@ value that you can use to get another batch of+ -- @SizeConstraintSet@ objects.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more+ -- @SizeConstraintSets@ than the value of @Limit@, AWS WAF returns a+ -- @NextMarker@ value in the response that allows you to list another group+ -- of @SizeConstraintSets@. For the second and subsequent+ -- @ListSizeConstraintSets@ requests, specify the value of @NextMarker@+ -- from the previous response to get information about another batch of+ -- @SizeConstraintSets@.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSizeConstraintSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listSizeConstraintSets_limit' - Specifies the number of @SizeConstraintSet@ objects that you want AWS+-- WAF to return for this request. If you have more @SizeConstraintSets@+-- objects than the number you specify for @Limit@, the response includes a+-- @NextMarker@ value that you can use to get another batch of+-- @SizeConstraintSet@ objects.+--+-- 'nextMarker', 'listSizeConstraintSets_nextMarker' - If you specify a value for @Limit@ and you have more+-- @SizeConstraintSets@ than the value of @Limit@, AWS WAF returns a+-- @NextMarker@ value in the response that allows you to list another group+-- of @SizeConstraintSets@. For the second and subsequent+-- @ListSizeConstraintSets@ requests, specify the value of @NextMarker@+-- from the previous response to get information about another batch of+-- @SizeConstraintSets@.+newListSizeConstraintSets ::+ ListSizeConstraintSets+newListSizeConstraintSets =+ ListSizeConstraintSets'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @SizeConstraintSet@ objects that you want AWS+-- WAF to return for this request. If you have more @SizeConstraintSets@+-- objects than the number you specify for @Limit@, the response includes a+-- @NextMarker@ value that you can use to get another batch of+-- @SizeConstraintSet@ objects.+listSizeConstraintSets_limit :: Lens.Lens' ListSizeConstraintSets (Prelude.Maybe Prelude.Natural)+listSizeConstraintSets_limit = Lens.lens (\ListSizeConstraintSets' {limit} -> limit) (\s@ListSizeConstraintSets' {} a -> s {limit = a} :: ListSizeConstraintSets)++-- | If you specify a value for @Limit@ and you have more+-- @SizeConstraintSets@ than the value of @Limit@, AWS WAF returns a+-- @NextMarker@ value in the response that allows you to list another group+-- of @SizeConstraintSets@. For the second and subsequent+-- @ListSizeConstraintSets@ requests, specify the value of @NextMarker@+-- from the previous response to get information about another batch of+-- @SizeConstraintSets@.+listSizeConstraintSets_nextMarker :: Lens.Lens' ListSizeConstraintSets (Prelude.Maybe Prelude.Text)+listSizeConstraintSets_nextMarker = Lens.lens (\ListSizeConstraintSets' {nextMarker} -> nextMarker) (\s@ListSizeConstraintSets' {} a -> s {nextMarker = a} :: ListSizeConstraintSets)++instance Core.AWSPager ListSizeConstraintSets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSizeConstraintSetsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listSizeConstraintSetsResponse_sizeConstraintSets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSizeConstraintSets_nextMarker+ Lens..~ rs+ Lens.^? listSizeConstraintSetsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListSizeConstraintSets where+ type+ AWSResponse ListSizeConstraintSets =+ ListSizeConstraintSetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSizeConstraintSetsResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> ( x+ Data..?> "SizeConstraintSets"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSizeConstraintSets where+ hashWithSalt _salt ListSizeConstraintSets' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListSizeConstraintSets where+ rnf ListSizeConstraintSets' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListSizeConstraintSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListSizeConstraintSets" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListSizeConstraintSets where+ toJSON ListSizeConstraintSets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListSizeConstraintSets where+ toPath = Prelude.const "/"++instance Data.ToQuery ListSizeConstraintSets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListSizeConstraintSetsResponse' smart constructor.+data ListSizeConstraintSetsResponse = ListSizeConstraintSetsResponse'+ { -- | If you have more @SizeConstraintSet@ objects than the number that you+ -- specified for @Limit@ in the request, the response includes a+ -- @NextMarker@ value. To list more @SizeConstraintSet@ objects, submit+ -- another @ListSizeConstraintSets@ request, and specify the @NextMarker@+ -- value from the response in the @NextMarker@ value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of SizeConstraintSetSummary objects.+ sizeConstraintSets :: Prelude.Maybe [SizeConstraintSetSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSizeConstraintSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listSizeConstraintSetsResponse_nextMarker' - If you have more @SizeConstraintSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @SizeConstraintSet@ objects, submit+-- another @ListSizeConstraintSets@ request, and specify the @NextMarker@+-- value from the response in the @NextMarker@ value in the next request.+--+-- 'sizeConstraintSets', 'listSizeConstraintSetsResponse_sizeConstraintSets' - An array of SizeConstraintSetSummary objects.+--+-- 'httpStatus', 'listSizeConstraintSetsResponse_httpStatus' - The response's http status code.+newListSizeConstraintSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSizeConstraintSetsResponse+newListSizeConstraintSetsResponse pHttpStatus_ =+ ListSizeConstraintSetsResponse'+ { nextMarker =+ Prelude.Nothing,+ sizeConstraintSets = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more @SizeConstraintSet@ objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @SizeConstraintSet@ objects, submit+-- another @ListSizeConstraintSets@ request, and specify the @NextMarker@+-- value from the response in the @NextMarker@ value in the next request.+listSizeConstraintSetsResponse_nextMarker :: Lens.Lens' ListSizeConstraintSetsResponse (Prelude.Maybe Prelude.Text)+listSizeConstraintSetsResponse_nextMarker = Lens.lens (\ListSizeConstraintSetsResponse' {nextMarker} -> nextMarker) (\s@ListSizeConstraintSetsResponse' {} a -> s {nextMarker = a} :: ListSizeConstraintSetsResponse)++-- | An array of SizeConstraintSetSummary objects.+listSizeConstraintSetsResponse_sizeConstraintSets :: Lens.Lens' ListSizeConstraintSetsResponse (Prelude.Maybe [SizeConstraintSetSummary])+listSizeConstraintSetsResponse_sizeConstraintSets = Lens.lens (\ListSizeConstraintSetsResponse' {sizeConstraintSets} -> sizeConstraintSets) (\s@ListSizeConstraintSetsResponse' {} a -> s {sizeConstraintSets = a} :: ListSizeConstraintSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSizeConstraintSetsResponse_httpStatus :: Lens.Lens' ListSizeConstraintSetsResponse Prelude.Int+listSizeConstraintSetsResponse_httpStatus = Lens.lens (\ListSizeConstraintSetsResponse' {httpStatus} -> httpStatus) (\s@ListSizeConstraintSetsResponse' {} a -> s {httpStatus = a} :: ListSizeConstraintSetsResponse)++instance+ Prelude.NFData+ ListSizeConstraintSetsResponse+ where+ rnf ListSizeConstraintSetsResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf sizeConstraintSets+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListSqlInjectionMatchSets.hs view
@@ -0,0 +1,282 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListSqlInjectionMatchSets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of SqlInjectionMatchSet objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListSqlInjectionMatchSets+ ( -- * Creating a Request+ ListSqlInjectionMatchSets (..),+ newListSqlInjectionMatchSets,++ -- * Request Lenses+ listSqlInjectionMatchSets_limit,+ listSqlInjectionMatchSets_nextMarker,++ -- * Destructuring the Response+ ListSqlInjectionMatchSetsResponse (..),+ newListSqlInjectionMatchSetsResponse,++ -- * Response Lenses+ listSqlInjectionMatchSetsResponse_nextMarker,+ listSqlInjectionMatchSetsResponse_sqlInjectionMatchSets,+ listSqlInjectionMatchSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to list the SqlInjectionMatchSet objects created by the+-- current AWS account.+--+-- /See:/ 'newListSqlInjectionMatchSets' smart constructor.+data ListSqlInjectionMatchSets = ListSqlInjectionMatchSets'+ { -- | Specifies the number of SqlInjectionMatchSet objects that you want AWS+ -- WAF to return for this request. If you have more @SqlInjectionMatchSet@+ -- objects than the number you specify for @Limit@, the response includes a+ -- @NextMarker@ value that you can use to get another batch of @Rules@.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more+ -- SqlInjectionMatchSet objects than the value of @Limit@, AWS WAF returns+ -- a @NextMarker@ value in the response that allows you to list another+ -- group of @SqlInjectionMatchSets@. For the second and subsequent+ -- @ListSqlInjectionMatchSets@ requests, specify the value of @NextMarker@+ -- from the previous response to get information about another batch of+ -- @SqlInjectionMatchSets@.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSqlInjectionMatchSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listSqlInjectionMatchSets_limit' - Specifies the number of SqlInjectionMatchSet objects that you want AWS+-- WAF to return for this request. If you have more @SqlInjectionMatchSet@+-- objects than the number you specify for @Limit@, the response includes a+-- @NextMarker@ value that you can use to get another batch of @Rules@.+--+-- 'nextMarker', 'listSqlInjectionMatchSets_nextMarker' - If you specify a value for @Limit@ and you have more+-- SqlInjectionMatchSet objects than the value of @Limit@, AWS WAF returns+-- a @NextMarker@ value in the response that allows you to list another+-- group of @SqlInjectionMatchSets@. For the second and subsequent+-- @ListSqlInjectionMatchSets@ requests, specify the value of @NextMarker@+-- from the previous response to get information about another batch of+-- @SqlInjectionMatchSets@.+newListSqlInjectionMatchSets ::+ ListSqlInjectionMatchSets+newListSqlInjectionMatchSets =+ ListSqlInjectionMatchSets'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of SqlInjectionMatchSet objects that you want AWS+-- WAF to return for this request. If you have more @SqlInjectionMatchSet@+-- objects than the number you specify for @Limit@, the response includes a+-- @NextMarker@ value that you can use to get another batch of @Rules@.+listSqlInjectionMatchSets_limit :: Lens.Lens' ListSqlInjectionMatchSets (Prelude.Maybe Prelude.Natural)+listSqlInjectionMatchSets_limit = Lens.lens (\ListSqlInjectionMatchSets' {limit} -> limit) (\s@ListSqlInjectionMatchSets' {} a -> s {limit = a} :: ListSqlInjectionMatchSets)++-- | If you specify a value for @Limit@ and you have more+-- SqlInjectionMatchSet objects than the value of @Limit@, AWS WAF returns+-- a @NextMarker@ value in the response that allows you to list another+-- group of @SqlInjectionMatchSets@. For the second and subsequent+-- @ListSqlInjectionMatchSets@ requests, specify the value of @NextMarker@+-- from the previous response to get information about another batch of+-- @SqlInjectionMatchSets@.+listSqlInjectionMatchSets_nextMarker :: Lens.Lens' ListSqlInjectionMatchSets (Prelude.Maybe Prelude.Text)+listSqlInjectionMatchSets_nextMarker = Lens.lens (\ListSqlInjectionMatchSets' {nextMarker} -> nextMarker) (\s@ListSqlInjectionMatchSets' {} a -> s {nextMarker = a} :: ListSqlInjectionMatchSets)++instance Core.AWSPager ListSqlInjectionMatchSets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSqlInjectionMatchSetsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listSqlInjectionMatchSetsResponse_sqlInjectionMatchSets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSqlInjectionMatchSets_nextMarker+ Lens..~ rs+ Lens.^? listSqlInjectionMatchSetsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListSqlInjectionMatchSets where+ type+ AWSResponse ListSqlInjectionMatchSets =+ ListSqlInjectionMatchSetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSqlInjectionMatchSetsResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> ( x+ Data..?> "SqlInjectionMatchSets"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSqlInjectionMatchSets where+ hashWithSalt _salt ListSqlInjectionMatchSets' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListSqlInjectionMatchSets where+ rnf ListSqlInjectionMatchSets' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListSqlInjectionMatchSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListSqlInjectionMatchSets" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListSqlInjectionMatchSets where+ toJSON ListSqlInjectionMatchSets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListSqlInjectionMatchSets where+ toPath = Prelude.const "/"++instance Data.ToQuery ListSqlInjectionMatchSets where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a ListSqlInjectionMatchSets request.+--+-- /See:/ 'newListSqlInjectionMatchSetsResponse' smart constructor.+data ListSqlInjectionMatchSetsResponse = ListSqlInjectionMatchSetsResponse'+ { -- | If you have more SqlInjectionMatchSet objects than the number that you+ -- specified for @Limit@ in the request, the response includes a+ -- @NextMarker@ value. To list more @SqlInjectionMatchSet@ objects, submit+ -- another @ListSqlInjectionMatchSets@ request, and specify the+ -- @NextMarker@ value from the response in the @NextMarker@ value in the+ -- next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of SqlInjectionMatchSetSummary objects.+ sqlInjectionMatchSets :: Prelude.Maybe [SqlInjectionMatchSetSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSqlInjectionMatchSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listSqlInjectionMatchSetsResponse_nextMarker' - If you have more SqlInjectionMatchSet objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @SqlInjectionMatchSet@ objects, submit+-- another @ListSqlInjectionMatchSets@ request, and specify the+-- @NextMarker@ value from the response in the @NextMarker@ value in the+-- next request.+--+-- 'sqlInjectionMatchSets', 'listSqlInjectionMatchSetsResponse_sqlInjectionMatchSets' - An array of SqlInjectionMatchSetSummary objects.+--+-- 'httpStatus', 'listSqlInjectionMatchSetsResponse_httpStatus' - The response's http status code.+newListSqlInjectionMatchSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSqlInjectionMatchSetsResponse+newListSqlInjectionMatchSetsResponse pHttpStatus_ =+ ListSqlInjectionMatchSetsResponse'+ { nextMarker =+ Prelude.Nothing,+ sqlInjectionMatchSets = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more SqlInjectionMatchSet objects than the number that you+-- specified for @Limit@ in the request, the response includes a+-- @NextMarker@ value. To list more @SqlInjectionMatchSet@ objects, submit+-- another @ListSqlInjectionMatchSets@ request, and specify the+-- @NextMarker@ value from the response in the @NextMarker@ value in the+-- next request.+listSqlInjectionMatchSetsResponse_nextMarker :: Lens.Lens' ListSqlInjectionMatchSetsResponse (Prelude.Maybe Prelude.Text)+listSqlInjectionMatchSetsResponse_nextMarker = Lens.lens (\ListSqlInjectionMatchSetsResponse' {nextMarker} -> nextMarker) (\s@ListSqlInjectionMatchSetsResponse' {} a -> s {nextMarker = a} :: ListSqlInjectionMatchSetsResponse)++-- | An array of SqlInjectionMatchSetSummary objects.+listSqlInjectionMatchSetsResponse_sqlInjectionMatchSets :: Lens.Lens' ListSqlInjectionMatchSetsResponse (Prelude.Maybe [SqlInjectionMatchSetSummary])+listSqlInjectionMatchSetsResponse_sqlInjectionMatchSets = Lens.lens (\ListSqlInjectionMatchSetsResponse' {sqlInjectionMatchSets} -> sqlInjectionMatchSets) (\s@ListSqlInjectionMatchSetsResponse' {} a -> s {sqlInjectionMatchSets = a} :: ListSqlInjectionMatchSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSqlInjectionMatchSetsResponse_httpStatus :: Lens.Lens' ListSqlInjectionMatchSetsResponse Prelude.Int+listSqlInjectionMatchSetsResponse_httpStatus = Lens.lens (\ListSqlInjectionMatchSetsResponse' {httpStatus} -> httpStatus) (\s@ListSqlInjectionMatchSetsResponse' {} a -> s {httpStatus = a} :: ListSqlInjectionMatchSetsResponse)++instance+ Prelude.NFData+ ListSqlInjectionMatchSetsResponse+ where+ rnf ListSqlInjectionMatchSetsResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf sqlInjectionMatchSets+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListSubscribedRuleGroups.hs view
@@ -0,0 +1,271 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListSubscribedRuleGroups+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of RuleGroup objects that you are subscribed to.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListSubscribedRuleGroups+ ( -- * Creating a Request+ ListSubscribedRuleGroups (..),+ newListSubscribedRuleGroups,++ -- * Request Lenses+ listSubscribedRuleGroups_limit,+ listSubscribedRuleGroups_nextMarker,++ -- * Destructuring the Response+ ListSubscribedRuleGroupsResponse (..),+ newListSubscribedRuleGroupsResponse,++ -- * Response Lenses+ listSubscribedRuleGroupsResponse_nextMarker,+ listSubscribedRuleGroupsResponse_ruleGroups,+ listSubscribedRuleGroupsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListSubscribedRuleGroups' smart constructor.+data ListSubscribedRuleGroups = ListSubscribedRuleGroups'+ { -- | Specifies the number of subscribed rule groups that you want AWS WAF to+ -- return for this request. If you have more objects than the number you+ -- specify for @Limit@, the response includes a @NextMarker@ value that you+ -- can use to get another batch of objects.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more+ -- @ByteMatchSets@subscribed rule groups than the value of @Limit@, AWS WAF+ -- returns a @NextMarker@ value in the response that allows you to list+ -- another group of subscribed rule groups. For the second and subsequent+ -- @ListSubscribedRuleGroupsRequest@ requests, specify the value of+ -- @NextMarker@ from the previous response to get information about another+ -- batch of subscribed rule groups.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSubscribedRuleGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listSubscribedRuleGroups_limit' - Specifies the number of subscribed rule groups that you want AWS WAF to+-- return for this request. If you have more objects than the number you+-- specify for @Limit@, the response includes a @NextMarker@ value that you+-- can use to get another batch of objects.+--+-- 'nextMarker', 'listSubscribedRuleGroups_nextMarker' - If you specify a value for @Limit@ and you have more+-- @ByteMatchSets@subscribed rule groups than the value of @Limit@, AWS WAF+-- returns a @NextMarker@ value in the response that allows you to list+-- another group of subscribed rule groups. For the second and subsequent+-- @ListSubscribedRuleGroupsRequest@ requests, specify the value of+-- @NextMarker@ from the previous response to get information about another+-- batch of subscribed rule groups.+newListSubscribedRuleGroups ::+ ListSubscribedRuleGroups+newListSubscribedRuleGroups =+ ListSubscribedRuleGroups'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of subscribed rule groups that you want AWS WAF to+-- return for this request. If you have more objects than the number you+-- specify for @Limit@, the response includes a @NextMarker@ value that you+-- can use to get another batch of objects.+listSubscribedRuleGroups_limit :: Lens.Lens' ListSubscribedRuleGroups (Prelude.Maybe Prelude.Natural)+listSubscribedRuleGroups_limit = Lens.lens (\ListSubscribedRuleGroups' {limit} -> limit) (\s@ListSubscribedRuleGroups' {} a -> s {limit = a} :: ListSubscribedRuleGroups)++-- | If you specify a value for @Limit@ and you have more+-- @ByteMatchSets@subscribed rule groups than the value of @Limit@, AWS WAF+-- returns a @NextMarker@ value in the response that allows you to list+-- another group of subscribed rule groups. For the second and subsequent+-- @ListSubscribedRuleGroupsRequest@ requests, specify the value of+-- @NextMarker@ from the previous response to get information about another+-- batch of subscribed rule groups.+listSubscribedRuleGroups_nextMarker :: Lens.Lens' ListSubscribedRuleGroups (Prelude.Maybe Prelude.Text)+listSubscribedRuleGroups_nextMarker = Lens.lens (\ListSubscribedRuleGroups' {nextMarker} -> nextMarker) (\s@ListSubscribedRuleGroups' {} a -> s {nextMarker = a} :: ListSubscribedRuleGroups)++instance Core.AWSPager ListSubscribedRuleGroups where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSubscribedRuleGroupsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listSubscribedRuleGroupsResponse_ruleGroups+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSubscribedRuleGroups_nextMarker+ Lens..~ rs+ Lens.^? listSubscribedRuleGroupsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListSubscribedRuleGroups where+ type+ AWSResponse ListSubscribedRuleGroups =+ ListSubscribedRuleGroupsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSubscribedRuleGroupsResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> (x Data..?> "RuleGroups" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSubscribedRuleGroups where+ hashWithSalt _salt ListSubscribedRuleGroups' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListSubscribedRuleGroups where+ rnf ListSubscribedRuleGroups' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListSubscribedRuleGroups where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListSubscribedRuleGroups" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListSubscribedRuleGroups where+ toJSON ListSubscribedRuleGroups' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListSubscribedRuleGroups where+ toPath = Prelude.const "/"++instance Data.ToQuery ListSubscribedRuleGroups where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListSubscribedRuleGroupsResponse' smart constructor.+data ListSubscribedRuleGroupsResponse = ListSubscribedRuleGroupsResponse'+ { -- | If you have more objects than the number that you specified for @Limit@+ -- in the request, the response includes a @NextMarker@ value. To list more+ -- objects, submit another @ListSubscribedRuleGroups@ request, and specify+ -- the @NextMarker@ value from the response in the @NextMarker@ value in+ -- the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of RuleGroup objects.+ ruleGroups :: Prelude.Maybe [SubscribedRuleGroupSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSubscribedRuleGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listSubscribedRuleGroupsResponse_nextMarker' - If you have more objects than the number that you specified for @Limit@+-- in the request, the response includes a @NextMarker@ value. To list more+-- objects, submit another @ListSubscribedRuleGroups@ request, and specify+-- the @NextMarker@ value from the response in the @NextMarker@ value in+-- the next request.+--+-- 'ruleGroups', 'listSubscribedRuleGroupsResponse_ruleGroups' - An array of RuleGroup objects.+--+-- 'httpStatus', 'listSubscribedRuleGroupsResponse_httpStatus' - The response's http status code.+newListSubscribedRuleGroupsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSubscribedRuleGroupsResponse+newListSubscribedRuleGroupsResponse pHttpStatus_ =+ ListSubscribedRuleGroupsResponse'+ { nextMarker =+ Prelude.Nothing,+ ruleGroups = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more objects than the number that you specified for @Limit@+-- in the request, the response includes a @NextMarker@ value. To list more+-- objects, submit another @ListSubscribedRuleGroups@ request, and specify+-- the @NextMarker@ value from the response in the @NextMarker@ value in+-- the next request.+listSubscribedRuleGroupsResponse_nextMarker :: Lens.Lens' ListSubscribedRuleGroupsResponse (Prelude.Maybe Prelude.Text)+listSubscribedRuleGroupsResponse_nextMarker = Lens.lens (\ListSubscribedRuleGroupsResponse' {nextMarker} -> nextMarker) (\s@ListSubscribedRuleGroupsResponse' {} a -> s {nextMarker = a} :: ListSubscribedRuleGroupsResponse)++-- | An array of RuleGroup objects.+listSubscribedRuleGroupsResponse_ruleGroups :: Lens.Lens' ListSubscribedRuleGroupsResponse (Prelude.Maybe [SubscribedRuleGroupSummary])+listSubscribedRuleGroupsResponse_ruleGroups = Lens.lens (\ListSubscribedRuleGroupsResponse' {ruleGroups} -> ruleGroups) (\s@ListSubscribedRuleGroupsResponse' {} a -> s {ruleGroups = a} :: ListSubscribedRuleGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSubscribedRuleGroupsResponse_httpStatus :: Lens.Lens' ListSubscribedRuleGroupsResponse Prelude.Int+listSubscribedRuleGroupsResponse_httpStatus = Lens.lens (\ListSubscribedRuleGroupsResponse' {httpStatus} -> httpStatus) (\s@ListSubscribedRuleGroupsResponse' {} a -> s {httpStatus = a} :: ListSubscribedRuleGroupsResponse)++instance+ Prelude.NFData+ ListSubscribedRuleGroupsResponse+ where+ rnf ListSubscribedRuleGroupsResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf ruleGroups+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListTagsForResource.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Retrieves the tags associated with the specified AWS resource. Tags are+-- key:value pairs that you can use to categorize and manage your+-- resources, for purposes like billing. For example, 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 AWS resource, up to 50 tags for+-- a resource.+--+-- Tagging is only available through the API, SDKs, and CLI. You can\'t+-- manage or view tags through the AWS WAF Classic console. You can tag the+-- AWS resources that you manage through AWS WAF Classic: web ACLs, rule+-- groups, and rules.+module Amazonka.WAF.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_limit,+ listTagsForResource_nextMarker,+ listTagsForResource_resourceARN,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_nextMarker,+ listTagsForResourceResponse_tagInfoForResource,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { limit :: Prelude.Maybe Prelude.Natural,+ nextMarker :: Prelude.Maybe Prelude.Text,+ resourceARN :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listTagsForResource_limit' -+--+-- 'nextMarker', 'listTagsForResource_nextMarker' -+--+-- 'resourceARN', 'listTagsForResource_resourceARN' -+newListTagsForResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceARN_ =+ ListTagsForResource'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing,+ resourceARN = pResourceARN_+ }++listTagsForResource_limit :: Lens.Lens' ListTagsForResource (Prelude.Maybe Prelude.Natural)+listTagsForResource_limit = Lens.lens (\ListTagsForResource' {limit} -> limit) (\s@ListTagsForResource' {} a -> s {limit = a} :: ListTagsForResource)++listTagsForResource_nextMarker :: Lens.Lens' ListTagsForResource (Prelude.Maybe Prelude.Text)+listTagsForResource_nextMarker = Lens.lens (\ListTagsForResource' {nextMarker} -> nextMarker) (\s@ListTagsForResource' {} a -> s {nextMarker = a} :: ListTagsForResource)++listTagsForResource_resourceARN :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceARN = Lens.lens (\ListTagsForResource' {resourceARN} -> resourceARN) (\s@ListTagsForResource' {} a -> s {resourceARN = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> (x Data..?> "TagInfoForResource")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker+ `Prelude.hashWithSalt` resourceARN++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf resourceARN++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListTagsForResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTagsForResource where+ toJSON ListTagsForResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker,+ Prelude.Just ("ResourceARN" Data..= resourceARN)+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { nextMarker :: Prelude.Maybe Prelude.Text,+ tagInfoForResource :: Prelude.Maybe TagInfoForResource,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listTagsForResourceResponse_nextMarker' -+--+-- 'tagInfoForResource', 'listTagsForResourceResponse_tagInfoForResource' -+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { nextMarker =+ Prelude.Nothing,+ tagInfoForResource = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++listTagsForResourceResponse_nextMarker :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe Prelude.Text)+listTagsForResourceResponse_nextMarker = Lens.lens (\ListTagsForResourceResponse' {nextMarker} -> nextMarker) (\s@ListTagsForResourceResponse' {} a -> s {nextMarker = a} :: ListTagsForResourceResponse)++listTagsForResourceResponse_tagInfoForResource :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe TagInfoForResource)+listTagsForResourceResponse_tagInfoForResource = Lens.lens (\ListTagsForResourceResponse' {tagInfoForResource} -> tagInfoForResource) (\s@ListTagsForResourceResponse' {} a -> s {tagInfoForResource = a} :: ListTagsForResourceResponse)++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf tagInfoForResource+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListWebACLs.hs view
@@ -0,0 +1,262 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListWebACLs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of WebACLSummary objects in the response.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListWebACLs+ ( -- * Creating a Request+ ListWebACLs (..),+ newListWebACLs,++ -- * Request Lenses+ listWebACLs_limit,+ listWebACLs_nextMarker,++ -- * Destructuring the Response+ ListWebACLsResponse (..),+ newListWebACLsResponse,++ -- * Response Lenses+ listWebACLsResponse_nextMarker,+ listWebACLsResponse_webACLs,+ listWebACLsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newListWebACLs' smart constructor.+data ListWebACLs = ListWebACLs'+ { -- | Specifies the number of @WebACL@ objects that you want AWS WAF to return+ -- for this request. If you have more @WebACL@ objects than the number that+ -- you specify for @Limit@, the response includes a @NextMarker@ value that+ -- you can use to get another batch of @WebACL@ objects.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more @WebACL@ objects+ -- than the number that you specify for @Limit@, AWS WAF returns a+ -- @NextMarker@ value in the response that allows you to list another group+ -- of @WebACL@ objects. For the second and subsequent @ListWebACLs@+ -- requests, specify the value of @NextMarker@ from the previous response+ -- to get information about another batch of @WebACL@ objects.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWebACLs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listWebACLs_limit' - Specifies the number of @WebACL@ objects that you want AWS WAF to return+-- for this request. If you have more @WebACL@ objects than the number that+-- you specify for @Limit@, the response includes a @NextMarker@ value that+-- you can use to get another batch of @WebACL@ objects.+--+-- 'nextMarker', 'listWebACLs_nextMarker' - If you specify a value for @Limit@ and you have more @WebACL@ objects+-- than the number that you specify for @Limit@, AWS WAF returns a+-- @NextMarker@ value in the response that allows you to list another group+-- of @WebACL@ objects. For the second and subsequent @ListWebACLs@+-- requests, specify the value of @NextMarker@ from the previous response+-- to get information about another batch of @WebACL@ objects.+newListWebACLs ::+ ListWebACLs+newListWebACLs =+ ListWebACLs'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of @WebACL@ objects that you want AWS WAF to return+-- for this request. If you have more @WebACL@ objects than the number that+-- you specify for @Limit@, the response includes a @NextMarker@ value that+-- you can use to get another batch of @WebACL@ objects.+listWebACLs_limit :: Lens.Lens' ListWebACLs (Prelude.Maybe Prelude.Natural)+listWebACLs_limit = Lens.lens (\ListWebACLs' {limit} -> limit) (\s@ListWebACLs' {} a -> s {limit = a} :: ListWebACLs)++-- | If you specify a value for @Limit@ and you have more @WebACL@ objects+-- than the number that you specify for @Limit@, AWS WAF returns a+-- @NextMarker@ value in the response that allows you to list another group+-- of @WebACL@ objects. For the second and subsequent @ListWebACLs@+-- requests, specify the value of @NextMarker@ from the previous response+-- to get information about another batch of @WebACL@ objects.+listWebACLs_nextMarker :: Lens.Lens' ListWebACLs (Prelude.Maybe Prelude.Text)+listWebACLs_nextMarker = Lens.lens (\ListWebACLs' {nextMarker} -> nextMarker) (\s@ListWebACLs' {} a -> s {nextMarker = a} :: ListWebACLs)++instance Core.AWSPager ListWebACLs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listWebACLsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listWebACLsResponse_webACLs+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listWebACLs_nextMarker+ Lens..~ rs+ Lens.^? listWebACLsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListWebACLs where+ type AWSResponse ListWebACLs = ListWebACLsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListWebACLsResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> (x Data..?> "WebACLs" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListWebACLs where+ hashWithSalt _salt ListWebACLs' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListWebACLs where+ rnf ListWebACLs' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListWebACLs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListWebACLs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListWebACLs where+ toJSON ListWebACLs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListWebACLs where+ toPath = Prelude.const "/"++instance Data.ToQuery ListWebACLs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListWebACLsResponse' smart constructor.+data ListWebACLsResponse = ListWebACLsResponse'+ { -- | If you have more @WebACL@ objects than the number that you specified for+ -- @Limit@ in the request, the response includes a @NextMarker@ value. To+ -- list more @WebACL@ objects, submit another @ListWebACLs@ request, and+ -- specify the @NextMarker@ value from the response in the @NextMarker@+ -- value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of WebACLSummary objects.+ webACLs :: Prelude.Maybe [WebACLSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWebACLsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listWebACLsResponse_nextMarker' - If you have more @WebACL@ objects than the number that you specified for+-- @Limit@ in the request, the response includes a @NextMarker@ value. To+-- list more @WebACL@ objects, submit another @ListWebACLs@ request, and+-- specify the @NextMarker@ value from the response in the @NextMarker@+-- value in the next request.+--+-- 'webACLs', 'listWebACLsResponse_webACLs' - An array of WebACLSummary objects.+--+-- 'httpStatus', 'listWebACLsResponse_httpStatus' - The response's http status code.+newListWebACLsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListWebACLsResponse+newListWebACLsResponse pHttpStatus_ =+ ListWebACLsResponse'+ { nextMarker = Prelude.Nothing,+ webACLs = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more @WebACL@ objects than the number that you specified for+-- @Limit@ in the request, the response includes a @NextMarker@ value. To+-- list more @WebACL@ objects, submit another @ListWebACLs@ request, and+-- specify the @NextMarker@ value from the response in the @NextMarker@+-- value in the next request.+listWebACLsResponse_nextMarker :: Lens.Lens' ListWebACLsResponse (Prelude.Maybe Prelude.Text)+listWebACLsResponse_nextMarker = Lens.lens (\ListWebACLsResponse' {nextMarker} -> nextMarker) (\s@ListWebACLsResponse' {} a -> s {nextMarker = a} :: ListWebACLsResponse)++-- | An array of WebACLSummary objects.+listWebACLsResponse_webACLs :: Lens.Lens' ListWebACLsResponse (Prelude.Maybe [WebACLSummary])+listWebACLsResponse_webACLs = Lens.lens (\ListWebACLsResponse' {webACLs} -> webACLs) (\s@ListWebACLsResponse' {} a -> s {webACLs = a} :: ListWebACLsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWebACLsResponse_httpStatus :: Lens.Lens' ListWebACLsResponse Prelude.Int+listWebACLsResponse_httpStatus = Lens.lens (\ListWebACLsResponse' {httpStatus} -> httpStatus) (\s@ListWebACLsResponse' {} a -> s {httpStatus = a} :: ListWebACLsResponse)++instance Prelude.NFData ListWebACLsResponse where+ rnf ListWebACLsResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf webACLs+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/ListXssMatchSets.hs view
@@ -0,0 +1,270 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.ListXssMatchSets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returns an array of XssMatchSet objects.+--+-- This operation returns paginated results.+module Amazonka.WAF.ListXssMatchSets+ ( -- * Creating a Request+ ListXssMatchSets (..),+ newListXssMatchSets,++ -- * Request Lenses+ listXssMatchSets_limit,+ listXssMatchSets_nextMarker,++ -- * Destructuring the Response+ ListXssMatchSetsResponse (..),+ newListXssMatchSetsResponse,++ -- * Response Lenses+ listXssMatchSetsResponse_nextMarker,+ listXssMatchSetsResponse_xssMatchSets,+ listXssMatchSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to list the XssMatchSet objects created by the current AWS+-- account.+--+-- /See:/ 'newListXssMatchSets' smart constructor.+data ListXssMatchSets = ListXssMatchSets'+ { -- | Specifies the number of XssMatchSet objects that you want AWS WAF to+ -- return for this request. If you have more @XssMatchSet@ objects than the+ -- number you specify for @Limit@, the response includes a @NextMarker@+ -- value that you can use to get another batch of @Rules@.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | If you specify a value for @Limit@ and you have more XssMatchSet objects+ -- than the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+ -- response that allows you to list another group of @XssMatchSets@. For+ -- the second and subsequent @ListXssMatchSets@ requests, specify the value+ -- of @NextMarker@ from the previous response to get information about+ -- another batch of @XssMatchSets@.+ nextMarker :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListXssMatchSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'listXssMatchSets_limit' - Specifies the number of XssMatchSet objects that you want AWS WAF to+-- return for this request. If you have more @XssMatchSet@ objects than the+-- number you specify for @Limit@, the response includes a @NextMarker@+-- value that you can use to get another batch of @Rules@.+--+-- 'nextMarker', 'listXssMatchSets_nextMarker' - If you specify a value for @Limit@ and you have more XssMatchSet objects+-- than the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @XssMatchSets@. For+-- the second and subsequent @ListXssMatchSets@ requests, specify the value+-- of @NextMarker@ from the previous response to get information about+-- another batch of @XssMatchSets@.+newListXssMatchSets ::+ ListXssMatchSets+newListXssMatchSets =+ ListXssMatchSets'+ { limit = Prelude.Nothing,+ nextMarker = Prelude.Nothing+ }++-- | Specifies the number of XssMatchSet objects that you want AWS WAF to+-- return for this request. If you have more @XssMatchSet@ objects than the+-- number you specify for @Limit@, the response includes a @NextMarker@+-- value that you can use to get another batch of @Rules@.+listXssMatchSets_limit :: Lens.Lens' ListXssMatchSets (Prelude.Maybe Prelude.Natural)+listXssMatchSets_limit = Lens.lens (\ListXssMatchSets' {limit} -> limit) (\s@ListXssMatchSets' {} a -> s {limit = a} :: ListXssMatchSets)++-- | If you specify a value for @Limit@ and you have more XssMatchSet objects+-- than the value of @Limit@, AWS WAF returns a @NextMarker@ value in the+-- response that allows you to list another group of @XssMatchSets@. For+-- the second and subsequent @ListXssMatchSets@ requests, specify the value+-- of @NextMarker@ from the previous response to get information about+-- another batch of @XssMatchSets@.+listXssMatchSets_nextMarker :: Lens.Lens' ListXssMatchSets (Prelude.Maybe Prelude.Text)+listXssMatchSets_nextMarker = Lens.lens (\ListXssMatchSets' {nextMarker} -> nextMarker) (\s@ListXssMatchSets' {} a -> s {nextMarker = a} :: ListXssMatchSets)++instance Core.AWSPager ListXssMatchSets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listXssMatchSetsResponse_nextMarker+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listXssMatchSetsResponse_xssMatchSets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listXssMatchSets_nextMarker+ Lens..~ rs+ Lens.^? listXssMatchSetsResponse_nextMarker+ Prelude.. Lens._Just++instance Core.AWSRequest ListXssMatchSets where+ type+ AWSResponse ListXssMatchSets =+ ListXssMatchSetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListXssMatchSetsResponse'+ Prelude.<$> (x Data..?> "NextMarker")+ Prelude.<*> (x Data..?> "XssMatchSets" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListXssMatchSets where+ hashWithSalt _salt ListXssMatchSets' {..} =+ _salt+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` nextMarker++instance Prelude.NFData ListXssMatchSets where+ rnf ListXssMatchSets' {..} =+ Prelude.rnf limit+ `Prelude.seq` Prelude.rnf nextMarker++instance Data.ToHeaders ListXssMatchSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.ListXssMatchSets" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListXssMatchSets where+ toJSON ListXssMatchSets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Limit" Data..=) Prelude.<$> limit,+ ("NextMarker" Data..=) Prelude.<$> nextMarker+ ]+ )++instance Data.ToPath ListXssMatchSets where+ toPath = Prelude.const "/"++instance Data.ToQuery ListXssMatchSets where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a ListXssMatchSets request.+--+-- /See:/ 'newListXssMatchSetsResponse' smart constructor.+data ListXssMatchSetsResponse = ListXssMatchSetsResponse'+ { -- | If you have more XssMatchSet objects than the number that you specified+ -- for @Limit@ in the request, the response includes a @NextMarker@ value.+ -- To list more @XssMatchSet@ objects, submit another @ListXssMatchSets@+ -- request, and specify the @NextMarker@ value from the response in the+ -- @NextMarker@ value in the next request.+ nextMarker :: Prelude.Maybe Prelude.Text,+ -- | An array of XssMatchSetSummary objects.+ xssMatchSets :: Prelude.Maybe [XssMatchSetSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListXssMatchSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextMarker', 'listXssMatchSetsResponse_nextMarker' - If you have more XssMatchSet objects than the number that you specified+-- for @Limit@ in the request, the response includes a @NextMarker@ value.+-- To list more @XssMatchSet@ objects, submit another @ListXssMatchSets@+-- request, and specify the @NextMarker@ value from the response in the+-- @NextMarker@ value in the next request.+--+-- 'xssMatchSets', 'listXssMatchSetsResponse_xssMatchSets' - An array of XssMatchSetSummary objects.+--+-- 'httpStatus', 'listXssMatchSetsResponse_httpStatus' - The response's http status code.+newListXssMatchSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListXssMatchSetsResponse+newListXssMatchSetsResponse pHttpStatus_ =+ ListXssMatchSetsResponse'+ { nextMarker =+ Prelude.Nothing,+ xssMatchSets = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If you have more XssMatchSet objects than the number that you specified+-- for @Limit@ in the request, the response includes a @NextMarker@ value.+-- To list more @XssMatchSet@ objects, submit another @ListXssMatchSets@+-- request, and specify the @NextMarker@ value from the response in the+-- @NextMarker@ value in the next request.+listXssMatchSetsResponse_nextMarker :: Lens.Lens' ListXssMatchSetsResponse (Prelude.Maybe Prelude.Text)+listXssMatchSetsResponse_nextMarker = Lens.lens (\ListXssMatchSetsResponse' {nextMarker} -> nextMarker) (\s@ListXssMatchSetsResponse' {} a -> s {nextMarker = a} :: ListXssMatchSetsResponse)++-- | An array of XssMatchSetSummary objects.+listXssMatchSetsResponse_xssMatchSets :: Lens.Lens' ListXssMatchSetsResponse (Prelude.Maybe [XssMatchSetSummary])+listXssMatchSetsResponse_xssMatchSets = Lens.lens (\ListXssMatchSetsResponse' {xssMatchSets} -> xssMatchSets) (\s@ListXssMatchSetsResponse' {} a -> s {xssMatchSets = a} :: ListXssMatchSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listXssMatchSetsResponse_httpStatus :: Lens.Lens' ListXssMatchSetsResponse Prelude.Int+listXssMatchSetsResponse_httpStatus = Lens.lens (\ListXssMatchSetsResponse' {httpStatus} -> httpStatus) (\s@ListXssMatchSetsResponse' {} a -> s {httpStatus = a} :: ListXssMatchSetsResponse)++instance Prelude.NFData ListXssMatchSetsResponse where+ rnf ListXssMatchSetsResponse' {..} =+ Prelude.rnf nextMarker+ `Prelude.seq` Prelude.rnf xssMatchSets+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/PutLoggingConfiguration.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.PutLoggingConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Associates a LoggingConfiguration with a specified web ACL.+--+-- You can access information about all traffic that AWS WAF inspects using+-- the following steps:+--+-- 1. Create an Amazon Kinesis Data Firehose.+--+-- Create the data firehose with a PUT source and in the region that+-- you are operating. However, if you are capturing logs for Amazon+-- CloudFront, always create the firehose in US East (N. Virginia).+--+-- Do not create the data firehose using a @Kinesis stream@ as your+-- source.+--+-- 2. Associate that firehose to your web ACL using a+-- @PutLoggingConfiguration@ request.+--+-- When you successfully enable logging using a @PutLoggingConfiguration@+-- request, AWS WAF will create a service linked role with the necessary+-- permissions to write logs to the Amazon Kinesis Data Firehose. For more+-- information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/logging.html Logging Web ACL Traffic Information>+-- in the /AWS WAF Developer Guide/.+module Amazonka.WAF.PutLoggingConfiguration+ ( -- * Creating a Request+ PutLoggingConfiguration (..),+ newPutLoggingConfiguration,++ -- * Request Lenses+ putLoggingConfiguration_loggingConfiguration,++ -- * Destructuring the Response+ PutLoggingConfigurationResponse (..),+ newPutLoggingConfigurationResponse,++ -- * Response Lenses+ putLoggingConfigurationResponse_loggingConfiguration,+ putLoggingConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newPutLoggingConfiguration' smart constructor.+data PutLoggingConfiguration = PutLoggingConfiguration'+ { -- | The Amazon Kinesis Data Firehose that contains the inspected traffic+ -- information, the redacted fields details, and the Amazon Resource Name+ -- (ARN) of the web ACL to monitor.+ --+ -- When specifying @Type@ in @RedactedFields@, you must use one of the+ -- following values: @URI@, @QUERY_STRING@, @HEADER@, or @METHOD@.+ loggingConfiguration :: LoggingConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLoggingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loggingConfiguration', 'putLoggingConfiguration_loggingConfiguration' - The Amazon Kinesis Data Firehose that contains the inspected traffic+-- information, the redacted fields details, and the Amazon Resource Name+-- (ARN) of the web ACL to monitor.+--+-- When specifying @Type@ in @RedactedFields@, you must use one of the+-- following values: @URI@, @QUERY_STRING@, @HEADER@, or @METHOD@.+newPutLoggingConfiguration ::+ -- | 'loggingConfiguration'+ LoggingConfiguration ->+ PutLoggingConfiguration+newPutLoggingConfiguration pLoggingConfiguration_ =+ PutLoggingConfiguration'+ { loggingConfiguration =+ pLoggingConfiguration_+ }++-- | The Amazon Kinesis Data Firehose that contains the inspected traffic+-- information, the redacted fields details, and the Amazon Resource Name+-- (ARN) of the web ACL to monitor.+--+-- When specifying @Type@ in @RedactedFields@, you must use one of the+-- following values: @URI@, @QUERY_STRING@, @HEADER@, or @METHOD@.+putLoggingConfiguration_loggingConfiguration :: Lens.Lens' PutLoggingConfiguration LoggingConfiguration+putLoggingConfiguration_loggingConfiguration = Lens.lens (\PutLoggingConfiguration' {loggingConfiguration} -> loggingConfiguration) (\s@PutLoggingConfiguration' {} a -> s {loggingConfiguration = a} :: PutLoggingConfiguration)++instance Core.AWSRequest PutLoggingConfiguration where+ type+ AWSResponse PutLoggingConfiguration =+ PutLoggingConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutLoggingConfigurationResponse'+ Prelude.<$> (x Data..?> "LoggingConfiguration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutLoggingConfiguration where+ hashWithSalt _salt PutLoggingConfiguration' {..} =+ _salt `Prelude.hashWithSalt` loggingConfiguration++instance Prelude.NFData PutLoggingConfiguration where+ rnf PutLoggingConfiguration' {..} =+ Prelude.rnf loggingConfiguration++instance Data.ToHeaders PutLoggingConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.PutLoggingConfiguration" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutLoggingConfiguration where+ toJSON PutLoggingConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "LoggingConfiguration"+ Data..= loggingConfiguration+ )+ ]+ )++instance Data.ToPath PutLoggingConfiguration where+ toPath = Prelude.const "/"++instance Data.ToQuery PutLoggingConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutLoggingConfigurationResponse' smart constructor.+data PutLoggingConfigurationResponse = PutLoggingConfigurationResponse'+ { -- | The LoggingConfiguration that you submitted in the request.+ loggingConfiguration :: Prelude.Maybe LoggingConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLoggingConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loggingConfiguration', 'putLoggingConfigurationResponse_loggingConfiguration' - The LoggingConfiguration that you submitted in the request.+--+-- 'httpStatus', 'putLoggingConfigurationResponse_httpStatus' - The response's http status code.+newPutLoggingConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutLoggingConfigurationResponse+newPutLoggingConfigurationResponse pHttpStatus_ =+ PutLoggingConfigurationResponse'+ { loggingConfiguration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The LoggingConfiguration that you submitted in the request.+putLoggingConfigurationResponse_loggingConfiguration :: Lens.Lens' PutLoggingConfigurationResponse (Prelude.Maybe LoggingConfiguration)+putLoggingConfigurationResponse_loggingConfiguration = Lens.lens (\PutLoggingConfigurationResponse' {loggingConfiguration} -> loggingConfiguration) (\s@PutLoggingConfigurationResponse' {} a -> s {loggingConfiguration = a} :: PutLoggingConfigurationResponse)++-- | The response's http status code.+putLoggingConfigurationResponse_httpStatus :: Lens.Lens' PutLoggingConfigurationResponse Prelude.Int+putLoggingConfigurationResponse_httpStatus = Lens.lens (\PutLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: PutLoggingConfigurationResponse)++instance+ Prelude.NFData+ PutLoggingConfigurationResponse+ where+ rnf PutLoggingConfigurationResponse' {..} =+ Prelude.rnf loggingConfiguration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/PutPermissionPolicy.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.PutPermissionPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Attaches an IAM policy to the specified resource. The only supported use+-- for this action is to share a RuleGroup across accounts.+--+-- The @PutPermissionPolicy@ is subject to the following restrictions:+--+-- - You can attach only one policy with each @PutPermissionPolicy@+-- request.+--+-- - The policy must include an @Effect@, @Action@ and @Principal@.+--+-- - @Effect@ must specify @Allow@.+--+-- - The @Action@ in the policy must be @waf:UpdateWebACL@,+-- @waf-regional:UpdateWebACL@, @waf:GetRuleGroup@ and+-- @waf-regional:GetRuleGroup@ . Any extra or wildcard actions in the+-- policy will be rejected.+--+-- - The policy cannot include a @Resource@ parameter.+--+-- - The ARN in the request must be a valid WAF RuleGroup ARN and the+-- RuleGroup must exist in the same region.+--+-- - The user making the request must be the owner of the RuleGroup.+--+-- - Your policy must be composed using IAM Policy version 2012-10-17.+--+-- For more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html IAM Policies>.+--+-- An example of a valid policy parameter is shown in the Examples section+-- below.+module Amazonka.WAF.PutPermissionPolicy+ ( -- * Creating a Request+ PutPermissionPolicy (..),+ newPutPermissionPolicy,++ -- * Request Lenses+ putPermissionPolicy_resourceArn,+ putPermissionPolicy_policy,++ -- * Destructuring the Response+ PutPermissionPolicyResponse (..),+ newPutPermissionPolicyResponse,++ -- * Response Lenses+ putPermissionPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newPutPermissionPolicy' smart constructor.+data PutPermissionPolicy = PutPermissionPolicy'+ { -- | The Amazon Resource Name (ARN) of the RuleGroup to which you want to+ -- attach the policy.+ resourceArn :: Prelude.Text,+ -- | The policy to attach to the specified RuleGroup.+ policy :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPermissionPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'putPermissionPolicy_resourceArn' - The Amazon Resource Name (ARN) of the RuleGroup to which you want to+-- attach the policy.+--+-- 'policy', 'putPermissionPolicy_policy' - The policy to attach to the specified RuleGroup.+newPutPermissionPolicy ::+ -- | 'resourceArn'+ Prelude.Text ->+ -- | 'policy'+ Prelude.Text ->+ PutPermissionPolicy+newPutPermissionPolicy pResourceArn_ pPolicy_ =+ PutPermissionPolicy'+ { resourceArn = pResourceArn_,+ policy = pPolicy_+ }++-- | The Amazon Resource Name (ARN) of the RuleGroup to which you want to+-- attach the policy.+putPermissionPolicy_resourceArn :: Lens.Lens' PutPermissionPolicy Prelude.Text+putPermissionPolicy_resourceArn = Lens.lens (\PutPermissionPolicy' {resourceArn} -> resourceArn) (\s@PutPermissionPolicy' {} a -> s {resourceArn = a} :: PutPermissionPolicy)++-- | The policy to attach to the specified RuleGroup.+putPermissionPolicy_policy :: Lens.Lens' PutPermissionPolicy Prelude.Text+putPermissionPolicy_policy = Lens.lens (\PutPermissionPolicy' {policy} -> policy) (\s@PutPermissionPolicy' {} a -> s {policy = a} :: PutPermissionPolicy)++instance Core.AWSRequest PutPermissionPolicy where+ type+ AWSResponse PutPermissionPolicy =+ PutPermissionPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutPermissionPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutPermissionPolicy where+ hashWithSalt _salt PutPermissionPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` policy++instance Prelude.NFData PutPermissionPolicy where+ rnf PutPermissionPolicy' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf policy++instance Data.ToHeaders PutPermissionPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.PutPermissionPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutPermissionPolicy where+ toJSON PutPermissionPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceArn" Data..= resourceArn),+ Prelude.Just ("Policy" Data..= policy)+ ]+ )++instance Data.ToPath PutPermissionPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery PutPermissionPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutPermissionPolicyResponse' smart constructor.+data PutPermissionPolicyResponse = PutPermissionPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPermissionPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'putPermissionPolicyResponse_httpStatus' - The response's http status code.+newPutPermissionPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutPermissionPolicyResponse+newPutPermissionPolicyResponse pHttpStatus_ =+ PutPermissionPolicyResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putPermissionPolicyResponse_httpStatus :: Lens.Lens' PutPermissionPolicyResponse Prelude.Int+putPermissionPolicyResponse_httpStatus = Lens.lens (\PutPermissionPolicyResponse' {httpStatus} -> httpStatus) (\s@PutPermissionPolicyResponse' {} a -> s {httpStatus = a} :: PutPermissionPolicyResponse)++instance Prelude.NFData PutPermissionPolicyResponse where+ rnf PutPermissionPolicyResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/WAF/TagResource.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Associates tags with the specified AWS resource. Tags are key:value+-- pairs that you can use to categorize and manage your resources, for+-- purposes like billing. For example, 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 AWS resource, up to 50 tags for a+-- resource.+--+-- Tagging is only available through the API, SDKs, and CLI. You can\'t+-- manage or view tags through the AWS WAF Classic console. You can use+-- this action to tag the AWS resources that you manage through AWS WAF+-- Classic: web ACLs, rule groups, and rules.+module Amazonka.WAF.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceARN,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { resourceARN :: Prelude.Text,+ tags :: Prelude.NonEmpty Tag+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'tagResource_resourceARN' -+--+-- 'tags', 'tagResource_tags' -+newTagResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ -- | 'tags'+ Prelude.NonEmpty Tag ->+ TagResource+newTagResource pResourceARN_ pTags_ =+ TagResource'+ { resourceARN = pResourceARN_,+ tags = Lens.coerced Lens.# pTags_+ }++tagResource_resourceARN :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceARN = Lens.lens (\TagResource' {resourceARN} -> resourceARN) (\s@TagResource' {} a -> s {resourceARN = a} :: TagResource)++tagResource_tags :: Lens.Lens' TagResource (Prelude.NonEmpty Tag)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.TagResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceARN" Data..= resourceARN),+ Prelude.Just ("Tags" Data..= tags)+ ]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/WAF/Types.hs view
@@ -0,0 +1,855 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _WAFBadRequestException,+ _WAFDisallowedNameException,+ _WAFEntityMigrationException,+ _WAFInternalErrorException,+ _WAFInvalidAccountException,+ _WAFInvalidOperationException,+ _WAFInvalidParameterException,+ _WAFInvalidPermissionPolicyException,+ _WAFInvalidRegexPatternException,+ _WAFLimitsExceededException,+ _WAFNonEmptyEntityException,+ _WAFNonexistentContainerException,+ _WAFNonexistentItemException,+ _WAFReferencedItemException,+ _WAFServiceLinkedRoleErrorException,+ _WAFStaleDataException,+ _WAFSubscriptionNotFoundException,+ _WAFTagOperationException,+ _WAFTagOperationInternalErrorException,++ -- * ChangeAction+ ChangeAction (..),++ -- * ChangeTokenStatus+ ChangeTokenStatus (..),++ -- * ComparisonOperator+ ComparisonOperator (..),++ -- * GeoMatchConstraintType+ GeoMatchConstraintType (..),++ -- * GeoMatchConstraintValue+ GeoMatchConstraintValue (..),++ -- * IPSetDescriptorType+ IPSetDescriptorType (..),++ -- * MatchFieldType+ MatchFieldType (..),++ -- * PositionalConstraint+ PositionalConstraint (..),++ -- * PredicateType+ PredicateType (..),++ -- * RateKey+ RateKey (..),++ -- * TextTransformation+ TextTransformation (..),++ -- * WafActionType+ WafActionType (..),++ -- * WafOverrideActionType+ WafOverrideActionType (..),++ -- * WafRuleType+ WafRuleType (..),++ -- * ActivatedRule+ ActivatedRule (..),+ newActivatedRule,+ activatedRule_action,+ activatedRule_excludedRules,+ activatedRule_overrideAction,+ activatedRule_type,+ activatedRule_priority,+ activatedRule_ruleId,++ -- * ByteMatchSet+ ByteMatchSet (..),+ newByteMatchSet,+ byteMatchSet_name,+ byteMatchSet_byteMatchSetId,+ byteMatchSet_byteMatchTuples,++ -- * ByteMatchSetSummary+ ByteMatchSetSummary (..),+ newByteMatchSetSummary,+ byteMatchSetSummary_byteMatchSetId,+ byteMatchSetSummary_name,++ -- * ByteMatchSetUpdate+ ByteMatchSetUpdate (..),+ newByteMatchSetUpdate,+ byteMatchSetUpdate_action,+ byteMatchSetUpdate_byteMatchTuple,++ -- * ByteMatchTuple+ ByteMatchTuple (..),+ newByteMatchTuple,+ byteMatchTuple_fieldToMatch,+ byteMatchTuple_targetString,+ byteMatchTuple_textTransformation,+ byteMatchTuple_positionalConstraint,++ -- * ExcludedRule+ ExcludedRule (..),+ newExcludedRule,+ excludedRule_ruleId,++ -- * FieldToMatch+ FieldToMatch (..),+ newFieldToMatch,+ fieldToMatch_data,+ fieldToMatch_type,++ -- * GeoMatchConstraint+ GeoMatchConstraint (..),+ newGeoMatchConstraint,+ geoMatchConstraint_type,+ geoMatchConstraint_value,++ -- * GeoMatchSet+ GeoMatchSet (..),+ newGeoMatchSet,+ geoMatchSet_name,+ geoMatchSet_geoMatchSetId,+ geoMatchSet_geoMatchConstraints,++ -- * GeoMatchSetSummary+ GeoMatchSetSummary (..),+ newGeoMatchSetSummary,+ geoMatchSetSummary_geoMatchSetId,+ geoMatchSetSummary_name,++ -- * GeoMatchSetUpdate+ GeoMatchSetUpdate (..),+ newGeoMatchSetUpdate,+ geoMatchSetUpdate_action,+ geoMatchSetUpdate_geoMatchConstraint,++ -- * HTTPHeader+ HTTPHeader (..),+ newHTTPHeader,+ hTTPHeader_name,+ hTTPHeader_value,++ -- * HTTPRequest+ HTTPRequest (..),+ newHTTPRequest,+ hTTPRequest_clientIP,+ hTTPRequest_country,+ hTTPRequest_hTTPVersion,+ hTTPRequest_headers,+ hTTPRequest_method,+ hTTPRequest_uri,++ -- * IPSet+ IPSet (..),+ newIPSet,+ iPSet_name,+ iPSet_iPSetId,+ iPSet_iPSetDescriptors,++ -- * IPSetDescriptor+ IPSetDescriptor (..),+ newIPSetDescriptor,+ iPSetDescriptor_type,+ iPSetDescriptor_value,++ -- * IPSetSummary+ IPSetSummary (..),+ newIPSetSummary,+ iPSetSummary_iPSetId,+ iPSetSummary_name,++ -- * IPSetUpdate+ IPSetUpdate (..),+ newIPSetUpdate,+ iPSetUpdate_action,+ iPSetUpdate_iPSetDescriptor,++ -- * LoggingConfiguration+ LoggingConfiguration (..),+ newLoggingConfiguration,+ loggingConfiguration_redactedFields,+ loggingConfiguration_resourceArn,+ loggingConfiguration_logDestinationConfigs,++ -- * Predicate+ Predicate (..),+ newPredicate,+ predicate_negated,+ predicate_type,+ predicate_dataId,++ -- * RateBasedRule+ RateBasedRule (..),+ newRateBasedRule,+ rateBasedRule_metricName,+ rateBasedRule_name,+ rateBasedRule_ruleId,+ rateBasedRule_matchPredicates,+ rateBasedRule_rateKey,+ rateBasedRule_rateLimit,++ -- * RegexMatchSet+ RegexMatchSet (..),+ newRegexMatchSet,+ regexMatchSet_name,+ regexMatchSet_regexMatchSetId,+ regexMatchSet_regexMatchTuples,++ -- * RegexMatchSetSummary+ RegexMatchSetSummary (..),+ newRegexMatchSetSummary,+ regexMatchSetSummary_regexMatchSetId,+ regexMatchSetSummary_name,++ -- * RegexMatchSetUpdate+ RegexMatchSetUpdate (..),+ newRegexMatchSetUpdate,+ regexMatchSetUpdate_action,+ regexMatchSetUpdate_regexMatchTuple,++ -- * RegexMatchTuple+ RegexMatchTuple (..),+ newRegexMatchTuple,+ regexMatchTuple_fieldToMatch,+ regexMatchTuple_textTransformation,+ regexMatchTuple_regexPatternSetId,++ -- * RegexPatternSet+ RegexPatternSet (..),+ newRegexPatternSet,+ regexPatternSet_name,+ regexPatternSet_regexPatternSetId,+ regexPatternSet_regexPatternStrings,++ -- * RegexPatternSetSummary+ RegexPatternSetSummary (..),+ newRegexPatternSetSummary,+ regexPatternSetSummary_regexPatternSetId,+ regexPatternSetSummary_name,++ -- * RegexPatternSetUpdate+ RegexPatternSetUpdate (..),+ newRegexPatternSetUpdate,+ regexPatternSetUpdate_action,+ regexPatternSetUpdate_regexPatternString,++ -- * Rule+ Rule (..),+ newRule,+ rule_metricName,+ rule_name,+ rule_ruleId,+ rule_predicates,++ -- * RuleGroup+ RuleGroup (..),+ newRuleGroup,+ ruleGroup_metricName,+ ruleGroup_name,+ ruleGroup_ruleGroupId,++ -- * RuleGroupSummary+ RuleGroupSummary (..),+ newRuleGroupSummary,+ ruleGroupSummary_ruleGroupId,+ ruleGroupSummary_name,++ -- * RuleGroupUpdate+ RuleGroupUpdate (..),+ newRuleGroupUpdate,+ ruleGroupUpdate_action,+ ruleGroupUpdate_activatedRule,++ -- * RuleSummary+ RuleSummary (..),+ newRuleSummary,+ ruleSummary_ruleId,+ ruleSummary_name,++ -- * RuleUpdate+ RuleUpdate (..),+ newRuleUpdate,+ ruleUpdate_action,+ ruleUpdate_predicate,++ -- * SampledHTTPRequest+ SampledHTTPRequest (..),+ newSampledHTTPRequest,+ sampledHTTPRequest_action,+ sampledHTTPRequest_ruleWithinRuleGroup,+ sampledHTTPRequest_timestamp,+ sampledHTTPRequest_request,+ sampledHTTPRequest_weight,++ -- * SizeConstraint+ SizeConstraint (..),+ newSizeConstraint,+ sizeConstraint_fieldToMatch,+ sizeConstraint_textTransformation,+ sizeConstraint_comparisonOperator,+ sizeConstraint_size,++ -- * SizeConstraintSet+ SizeConstraintSet (..),+ newSizeConstraintSet,+ sizeConstraintSet_name,+ sizeConstraintSet_sizeConstraintSetId,+ sizeConstraintSet_sizeConstraints,++ -- * SizeConstraintSetSummary+ SizeConstraintSetSummary (..),+ newSizeConstraintSetSummary,+ sizeConstraintSetSummary_sizeConstraintSetId,+ sizeConstraintSetSummary_name,++ -- * SizeConstraintSetUpdate+ SizeConstraintSetUpdate (..),+ newSizeConstraintSetUpdate,+ sizeConstraintSetUpdate_action,+ sizeConstraintSetUpdate_sizeConstraint,++ -- * SqlInjectionMatchSet+ SqlInjectionMatchSet (..),+ newSqlInjectionMatchSet,+ sqlInjectionMatchSet_name,+ sqlInjectionMatchSet_sqlInjectionMatchSetId,+ sqlInjectionMatchSet_sqlInjectionMatchTuples,++ -- * SqlInjectionMatchSetSummary+ SqlInjectionMatchSetSummary (..),+ newSqlInjectionMatchSetSummary,+ sqlInjectionMatchSetSummary_sqlInjectionMatchSetId,+ sqlInjectionMatchSetSummary_name,++ -- * SqlInjectionMatchSetUpdate+ SqlInjectionMatchSetUpdate (..),+ newSqlInjectionMatchSetUpdate,+ sqlInjectionMatchSetUpdate_action,+ sqlInjectionMatchSetUpdate_sqlInjectionMatchTuple,++ -- * SqlInjectionMatchTuple+ SqlInjectionMatchTuple (..),+ newSqlInjectionMatchTuple,+ sqlInjectionMatchTuple_fieldToMatch,+ sqlInjectionMatchTuple_textTransformation,++ -- * SubscribedRuleGroupSummary+ SubscribedRuleGroupSummary (..),+ newSubscribedRuleGroupSummary,+ subscribedRuleGroupSummary_ruleGroupId,+ subscribedRuleGroupSummary_name,+ subscribedRuleGroupSummary_metricName,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,++ -- * TagInfoForResource+ TagInfoForResource (..),+ newTagInfoForResource,+ tagInfoForResource_resourceARN,+ tagInfoForResource_tagList,++ -- * TimeWindow+ TimeWindow (..),+ newTimeWindow,+ timeWindow_startTime,+ timeWindow_endTime,++ -- * WafAction+ WafAction (..),+ newWafAction,+ wafAction_type,++ -- * WafOverrideAction+ WafOverrideAction (..),+ newWafOverrideAction,+ wafOverrideAction_type,++ -- * WebACL+ WebACL (..),+ newWebACL,+ webACL_metricName,+ webACL_name,+ webACL_webACLArn,+ webACL_webACLId,+ webACL_defaultAction,+ webACL_rules,++ -- * WebACLSummary+ WebACLSummary (..),+ newWebACLSummary,+ webACLSummary_webACLId,+ webACLSummary_name,++ -- * WebACLUpdate+ WebACLUpdate (..),+ newWebACLUpdate,+ webACLUpdate_action,+ webACLUpdate_activatedRule,++ -- * XssMatchSet+ XssMatchSet (..),+ newXssMatchSet,+ xssMatchSet_name,+ xssMatchSet_xssMatchSetId,+ xssMatchSet_xssMatchTuples,++ -- * XssMatchSetSummary+ XssMatchSetSummary (..),+ newXssMatchSetSummary,+ xssMatchSetSummary_xssMatchSetId,+ xssMatchSetSummary_name,++ -- * XssMatchSetUpdate+ XssMatchSetUpdate (..),+ newXssMatchSetUpdate,+ xssMatchSetUpdate_action,+ xssMatchSetUpdate_xssMatchTuple,++ -- * XssMatchTuple+ XssMatchTuple (..),+ newXssMatchTuple,+ xssMatchTuple_fieldToMatch,+ xssMatchTuple_textTransformation,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign+import Amazonka.WAF.Types.ActivatedRule+import Amazonka.WAF.Types.ByteMatchSet+import Amazonka.WAF.Types.ByteMatchSetSummary+import Amazonka.WAF.Types.ByteMatchSetUpdate+import Amazonka.WAF.Types.ByteMatchTuple+import Amazonka.WAF.Types.ChangeAction+import Amazonka.WAF.Types.ChangeTokenStatus+import Amazonka.WAF.Types.ComparisonOperator+import Amazonka.WAF.Types.ExcludedRule+import Amazonka.WAF.Types.FieldToMatch+import Amazonka.WAF.Types.GeoMatchConstraint+import Amazonka.WAF.Types.GeoMatchConstraintType+import Amazonka.WAF.Types.GeoMatchConstraintValue+import Amazonka.WAF.Types.GeoMatchSet+import Amazonka.WAF.Types.GeoMatchSetSummary+import Amazonka.WAF.Types.GeoMatchSetUpdate+import Amazonka.WAF.Types.HTTPHeader+import Amazonka.WAF.Types.HTTPRequest+import Amazonka.WAF.Types.IPSet+import Amazonka.WAF.Types.IPSetDescriptor+import Amazonka.WAF.Types.IPSetDescriptorType+import Amazonka.WAF.Types.IPSetSummary+import Amazonka.WAF.Types.IPSetUpdate+import Amazonka.WAF.Types.LoggingConfiguration+import Amazonka.WAF.Types.MatchFieldType+import Amazonka.WAF.Types.PositionalConstraint+import Amazonka.WAF.Types.Predicate+import Amazonka.WAF.Types.PredicateType+import Amazonka.WAF.Types.RateBasedRule+import Amazonka.WAF.Types.RateKey+import Amazonka.WAF.Types.RegexMatchSet+import Amazonka.WAF.Types.RegexMatchSetSummary+import Amazonka.WAF.Types.RegexMatchSetUpdate+import Amazonka.WAF.Types.RegexMatchTuple+import Amazonka.WAF.Types.RegexPatternSet+import Amazonka.WAF.Types.RegexPatternSetSummary+import Amazonka.WAF.Types.RegexPatternSetUpdate+import Amazonka.WAF.Types.Rule+import Amazonka.WAF.Types.RuleGroup+import Amazonka.WAF.Types.RuleGroupSummary+import Amazonka.WAF.Types.RuleGroupUpdate+import Amazonka.WAF.Types.RuleSummary+import Amazonka.WAF.Types.RuleUpdate+import Amazonka.WAF.Types.SampledHTTPRequest+import Amazonka.WAF.Types.SizeConstraint+import Amazonka.WAF.Types.SizeConstraintSet+import Amazonka.WAF.Types.SizeConstraintSetSummary+import Amazonka.WAF.Types.SizeConstraintSetUpdate+import Amazonka.WAF.Types.SqlInjectionMatchSet+import Amazonka.WAF.Types.SqlInjectionMatchSetSummary+import Amazonka.WAF.Types.SqlInjectionMatchSetUpdate+import Amazonka.WAF.Types.SqlInjectionMatchTuple+import Amazonka.WAF.Types.SubscribedRuleGroupSummary+import Amazonka.WAF.Types.Tag+import Amazonka.WAF.Types.TagInfoForResource+import Amazonka.WAF.Types.TextTransformation+import Amazonka.WAF.Types.TimeWindow+import Amazonka.WAF.Types.WafAction+import Amazonka.WAF.Types.WafActionType+import Amazonka.WAF.Types.WafOverrideAction+import Amazonka.WAF.Types.WafOverrideActionType+import Amazonka.WAF.Types.WafRuleType+import Amazonka.WAF.Types.WebACL+import Amazonka.WAF.Types.WebACLSummary+import Amazonka.WAF.Types.WebACLUpdate+import Amazonka.WAF.Types.XssMatchSet+import Amazonka.WAF.Types.XssMatchSetSummary+import Amazonka.WAF.Types.XssMatchSetUpdate+import Amazonka.WAF.Types.XssMatchTuple++-- | API version @2015-08-24@ of the Amazon WAF SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "WAF",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "waf",+ Core.signingName = "waf",+ Core.version = "2015-08-24",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "WAF",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++_WAFBadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFBadRequestException =+ Core._MatchServiceError+ defaultService+ "WAFBadRequestException"++-- | The name specified is invalid.+_WAFDisallowedNameException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFDisallowedNameException =+ Core._MatchServiceError+ defaultService+ "WAFDisallowedNameException"++-- | The operation failed due to a problem with the migration. The failure+-- cause is provided in the exception, in the @MigrationErrorType@:+--+-- - @ENTITY_NOT_SUPPORTED@ - The web ACL has an unsupported entity but+-- the @IgnoreUnsupportedType@ is not set to true.+--+-- - @ENTITY_NOT_FOUND@ - The web ACL doesn\'t exist.+--+-- - @S3_BUCKET_NO_PERMISSION@ - You don\'t have permission to perform+-- the @PutObject@ action to the specified Amazon S3 bucket.+--+-- - @S3_BUCKET_NOT_ACCESSIBLE@ - The bucket policy doesn\'t allow AWS+-- WAF to perform the @PutObject@ action in the bucket.+--+-- - @S3_BUCKET_NOT_FOUND@ - The S3 bucket doesn\'t exist.+--+-- - @S3_BUCKET_INVALID_REGION@ - The S3 bucket is not in the same Region+-- as the web ACL.+--+-- - @S3_INTERNAL_ERROR@ - AWS WAF failed to create the template in the+-- S3 bucket for another reason.+_WAFEntityMigrationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFEntityMigrationException =+ Core._MatchServiceError+ defaultService+ "WAFEntityMigrationException"++-- | The operation failed because of a system problem, even though the+-- request was valid. Retry your request.+_WAFInternalErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFInternalErrorException =+ Core._MatchServiceError+ defaultService+ "WAFInternalErrorException"++-- | The operation failed because you tried to create, update, or delete an+-- object by using an invalid account identifier.+_WAFInvalidAccountException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFInvalidAccountException =+ Core._MatchServiceError+ defaultService+ "WAFInvalidAccountException"++-- | The operation failed because there was nothing to do. For example:+--+-- - You tried to remove a @Rule@ from a @WebACL@, but the @Rule@ isn\'t+-- in the specified @WebACL@.+--+-- - You tried to remove an IP address from an @IPSet@, but the IP+-- address isn\'t in the specified @IPSet@.+--+-- - You tried to remove a @ByteMatchTuple@ from a @ByteMatchSet@, but+-- the @ByteMatchTuple@ isn\'t in the specified @WebACL@.+--+-- - You tried to add a @Rule@ to a @WebACL@, but the @Rule@ already+-- exists in the specified @WebACL@.+--+-- - You tried to add a @ByteMatchTuple@ to a @ByteMatchSet@, but the+-- @ByteMatchTuple@ already exists in the specified @WebACL@.+_WAFInvalidOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFInvalidOperationException =+ Core._MatchServiceError+ defaultService+ "WAFInvalidOperationException"++-- | The operation failed because AWS WAF didn\'t recognize a parameter in+-- the request. For example:+--+-- - You specified an invalid parameter name.+--+-- - You specified an invalid value.+--+-- - You tried to update an object (@ByteMatchSet@, @IPSet@, @Rule@, or+-- @WebACL@) using an action other than @INSERT@ or @DELETE@.+--+-- - You tried to create a @WebACL@ with a @DefaultAction@ @Type@ other+-- than @ALLOW@, @BLOCK@, or @COUNT@.+--+-- - You tried to create a @RateBasedRule@ with a @RateKey@ value other+-- than @IP@.+--+-- - You tried to update a @WebACL@ with a @WafAction@ @Type@ other than+-- @ALLOW@, @BLOCK@, or @COUNT@.+--+-- - You tried to update a @ByteMatchSet@ with a @FieldToMatch@ @Type@+-- other than HEADER, METHOD, QUERY_STRING, URI, or BODY.+--+-- - You tried to update a @ByteMatchSet@ with a @Field@ of @HEADER@ but+-- no value for @Data@.+--+-- - Your request references an ARN that is malformed, or corresponds to+-- a resource with which a web ACL cannot be associated.+_WAFInvalidParameterException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFInvalidParameterException =+ Core._MatchServiceError+ defaultService+ "WAFInvalidParameterException"++-- | The operation failed because the specified policy is not in the proper+-- format.+--+-- The policy is subject to the following restrictions:+--+-- - You can attach only one policy with each @PutPermissionPolicy@+-- request.+--+-- - The policy must include an @Effect@, @Action@ and @Principal@.+--+-- - @Effect@ must specify @Allow@.+--+-- - The @Action@ in the policy must be @waf:UpdateWebACL@,+-- @waf-regional:UpdateWebACL@, @waf:GetRuleGroup@ and+-- @waf-regional:GetRuleGroup@ . Any extra or wildcard actions in the+-- policy will be rejected.+--+-- - The policy cannot include a @Resource@ parameter.+--+-- - The ARN in the request must be a valid WAF RuleGroup ARN and the+-- RuleGroup must exist in the same region.+--+-- - The user making the request must be the owner of the RuleGroup.+--+-- - Your policy must be composed using IAM Policy version 2012-10-17.+_WAFInvalidPermissionPolicyException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFInvalidPermissionPolicyException =+ Core._MatchServiceError+ defaultService+ "WAFInvalidPermissionPolicyException"++-- | The regular expression (regex) you specified in @RegexPatternString@ is+-- invalid.+_WAFInvalidRegexPatternException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFInvalidRegexPatternException =+ Core._MatchServiceError+ defaultService+ "WAFInvalidRegexPatternException"++-- | The operation exceeds a resource limit, for example, the maximum number+-- of @WebACL@ objects that you can create for an AWS account. For more+-- information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/limits.html Limits>+-- in the /AWS WAF Developer Guide/.+_WAFLimitsExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFLimitsExceededException =+ Core._MatchServiceError+ defaultService+ "WAFLimitsExceededException"++-- | The operation failed because you tried to delete an object that isn\'t+-- empty. For example:+--+-- - You tried to delete a @WebACL@ that still contains one or more+-- @Rule@ objects.+--+-- - You tried to delete a @Rule@ that still contains one or more+-- @ByteMatchSet@ objects or other predicates.+--+-- - You tried to delete a @ByteMatchSet@ that contains one or more+-- @ByteMatchTuple@ objects.+--+-- - You tried to delete an @IPSet@ that references one or more IP+-- addresses.+_WAFNonEmptyEntityException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFNonEmptyEntityException =+ Core._MatchServiceError+ defaultService+ "WAFNonEmptyEntityException"++-- | The operation failed because you tried to add an object to or delete an+-- object from another object that doesn\'t exist. For example:+--+-- - You tried to add a @Rule@ to or delete a @Rule@ from a @WebACL@ that+-- doesn\'t exist.+--+-- - You tried to add a @ByteMatchSet@ to or delete a @ByteMatchSet@ from+-- a @Rule@ that doesn\'t exist.+--+-- - You tried to add an IP address to or delete an IP address from an+-- @IPSet@ that doesn\'t exist.+--+-- - You tried to add a @ByteMatchTuple@ to or delete a @ByteMatchTuple@+-- from a @ByteMatchSet@ that doesn\'t exist.+_WAFNonexistentContainerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFNonexistentContainerException =+ Core._MatchServiceError+ defaultService+ "WAFNonexistentContainerException"++-- | The operation failed because the referenced object doesn\'t exist.+_WAFNonexistentItemException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFNonexistentItemException =+ Core._MatchServiceError+ defaultService+ "WAFNonexistentItemException"++-- | The operation failed because you tried to delete an object that is still+-- in use. For example:+--+-- - You tried to delete a @ByteMatchSet@ that is still referenced by a+-- @Rule@.+--+-- - You tried to delete a @Rule@ that is still referenced by a @WebACL@.+_WAFReferencedItemException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFReferencedItemException =+ Core._MatchServiceError+ defaultService+ "WAFReferencedItemException"++-- | AWS 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 @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.+_WAFServiceLinkedRoleErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFServiceLinkedRoleErrorException =+ Core._MatchServiceError+ defaultService+ "WAFServiceLinkedRoleErrorException"++-- | The operation failed because you tried to create, update, or delete an+-- object by using a change token that has already been used.+_WAFStaleDataException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFStaleDataException =+ Core._MatchServiceError+ defaultService+ "WAFStaleDataException"++-- | The specified subscription does not exist.+_WAFSubscriptionNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFSubscriptionNotFoundException =+ Core._MatchServiceError+ defaultService+ "WAFSubscriptionNotFoundException"++_WAFTagOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFTagOperationException =+ Core._MatchServiceError+ defaultService+ "WAFTagOperationException"++_WAFTagOperationInternalErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_WAFTagOperationInternalErrorException =+ Core._MatchServiceError+ defaultService+ "WAFTagOperationInternalErrorException"
+ gen/Amazonka/WAF/Types/ActivatedRule.hs view
@@ -0,0 +1,418 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.ActivatedRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.ActivatedRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ExcludedRule+import Amazonka.WAF.Types.WafAction+import Amazonka.WAF.Types.WafOverrideAction+import Amazonka.WAF.Types.WafRuleType++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The @ActivatedRule@ object in an UpdateWebACL request specifies a @Rule@+-- that you want to insert or delete, the priority of the @Rule@ in the+-- @WebACL@, and the action that you want AWS WAF to take when a web+-- request matches the @Rule@ (@ALLOW@, @BLOCK@, or @COUNT@).+--+-- To specify whether to insert or delete a @Rule@, use the @Action@+-- parameter in the WebACLUpdate data type.+--+-- /See:/ 'newActivatedRule' smart constructor.+data ActivatedRule = ActivatedRule'+ { -- | Specifies the action that CloudFront or AWS WAF takes when a web request+ -- matches the conditions in the @Rule@. Valid values for @Action@ include+ -- the following:+ --+ -- - @ALLOW@: CloudFront responds with the requested object.+ --+ -- - @BLOCK@: CloudFront responds with an HTTP 403 (Forbidden) status+ -- code.+ --+ -- - @COUNT@: AWS WAF increments a counter of requests that match the+ -- conditions in the rule and then continues to inspect the web request+ -- based on the remaining rules in the web ACL.+ --+ -- @ActivatedRule|OverrideAction@ applies only when updating or adding a+ -- @RuleGroup@ to a @WebACL@. In this case, you do not use+ -- @ActivatedRule|Action@. For all other update requests,+ -- @ActivatedRule|Action@ is used instead of+ -- @ActivatedRule|OverrideAction@.+ action :: Prelude.Maybe WafAction,+ -- | An array of rules to exclude from a rule group. This is applicable only+ -- when the @ActivatedRule@ refers to a @RuleGroup@.+ --+ -- Sometimes it is necessary to troubleshoot rule groups that are blocking+ -- traffic unexpectedly (false positives). One troubleshooting technique is+ -- to identify the specific rule within the rule group that is blocking the+ -- legitimate traffic and then disable (exclude) that particular rule. You+ -- can exclude rules from both your own rule groups and AWS Marketplace+ -- rule groups that have been associated with a web ACL.+ --+ -- Specifying @ExcludedRules@ does not remove those rules from the rule+ -- group. Rather, it changes the action for the rules to @COUNT@.+ -- Therefore, requests that match an @ExcludedRule@ are counted but not+ -- blocked. The @RuleGroup@ owner will receive COUNT metrics for each+ -- @ExcludedRule@.+ --+ -- If you want to exclude rules from a rule group that is already+ -- associated with a web ACL, perform the following steps:+ --+ -- 1. Use the AWS WAF logs to identify the IDs of the rules that you want+ -- to exclude. For more information about the logs, see+ -- <https://docs.aws.amazon.com/waf/latest/developerguide/logging.html Logging Web ACL Traffic Information>.+ --+ -- 2. Submit an UpdateWebACL request that has two actions:+ --+ -- - The first action deletes the existing rule group from the web+ -- ACL. That is, in the UpdateWebACL request, the first+ -- @Updates:Action@ should be @DELETE@ and+ -- @Updates:ActivatedRule:RuleId@ should be the rule group that+ -- contains the rules that you want to exclude.+ --+ -- - The second action inserts the same rule group back in, but+ -- specifying the rules to exclude. That is, the second+ -- @Updates:Action@ should be @INSERT@,+ -- @Updates:ActivatedRule:RuleId@ should be the rule group that you+ -- just removed, and @ExcludedRules@ should contain the rules that+ -- you want to exclude.+ excludedRules :: Prelude.Maybe [ExcludedRule],+ -- | Use the @OverrideAction@ to test your @RuleGroup@.+ --+ -- Any rule in a @RuleGroup@ can potentially block a request. If you set+ -- the @OverrideAction@ to @None@, the @RuleGroup@ will block a request if+ -- any individual rule in the @RuleGroup@ matches the request and is+ -- configured to block that request. However if you first want to test the+ -- @RuleGroup@, set the @OverrideAction@ to @Count@. The @RuleGroup@ will+ -- then override any block action specified by individual rules contained+ -- within the group. Instead of blocking matching requests, those requests+ -- will be counted. You can view a record of counted requests using+ -- GetSampledRequests.+ --+ -- @ActivatedRule|OverrideAction@ applies only when updating or adding a+ -- @RuleGroup@ to a @WebACL@. In this case you do not use+ -- @ActivatedRule|Action@. For all other update requests,+ -- @ActivatedRule|Action@ is used instead of+ -- @ActivatedRule|OverrideAction@.+ overrideAction :: Prelude.Maybe WafOverrideAction,+ -- | The rule type, either @REGULAR@, as defined by Rule, @RATE_BASED@, as+ -- defined by RateBasedRule, or @GROUP@, as defined by RuleGroup. The+ -- default is REGULAR. Although this field is optional, be aware that if+ -- you try to add a RATE_BASED rule to a web ACL without setting the type,+ -- the UpdateWebACL request will fail because the request tries to add a+ -- REGULAR rule with the specified ID, which does not exist.+ type' :: Prelude.Maybe WafRuleType,+ -- | Specifies the order in which the @Rules@ in a @WebACL@ are evaluated.+ -- Rules with a lower value for @Priority@ are evaluated before @Rules@+ -- with a higher value. The value must be a unique integer. If you add+ -- multiple @Rules@ to a @WebACL@, the values don\'t need to be+ -- consecutive.+ priority :: Prelude.Int,+ -- | The @RuleId@ for a @Rule@. You use @RuleId@ to get more information+ -- about a @Rule@ (see GetRule), update a @Rule@ (see UpdateRule), insert a+ -- @Rule@ into a @WebACL@ or delete a one from a @WebACL@ (see+ -- UpdateWebACL), or delete a @Rule@ from AWS WAF (see DeleteRule).+ --+ -- @RuleId@ is returned by CreateRule and by ListRules.+ ruleId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActivatedRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'activatedRule_action' - Specifies the action that CloudFront or AWS WAF takes when a web request+-- matches the conditions in the @Rule@. Valid values for @Action@ include+-- the following:+--+-- - @ALLOW@: CloudFront responds with the requested object.+--+-- - @BLOCK@: CloudFront responds with an HTTP 403 (Forbidden) status+-- code.+--+-- - @COUNT@: AWS WAF increments a counter of requests that match the+-- conditions in the rule and then continues to inspect the web request+-- based on the remaining rules in the web ACL.+--+-- @ActivatedRule|OverrideAction@ applies only when updating or adding a+-- @RuleGroup@ to a @WebACL@. In this case, you do not use+-- @ActivatedRule|Action@. For all other update requests,+-- @ActivatedRule|Action@ is used instead of+-- @ActivatedRule|OverrideAction@.+--+-- 'excludedRules', 'activatedRule_excludedRules' - An array of rules to exclude from a rule group. This is applicable only+-- when the @ActivatedRule@ refers to a @RuleGroup@.+--+-- Sometimes it is necessary to troubleshoot rule groups that are blocking+-- traffic unexpectedly (false positives). One troubleshooting technique is+-- to identify the specific rule within the rule group that is blocking the+-- legitimate traffic and then disable (exclude) that particular rule. You+-- can exclude rules from both your own rule groups and AWS Marketplace+-- rule groups that have been associated with a web ACL.+--+-- Specifying @ExcludedRules@ does not remove those rules from the rule+-- group. Rather, it changes the action for the rules to @COUNT@.+-- Therefore, requests that match an @ExcludedRule@ are counted but not+-- blocked. The @RuleGroup@ owner will receive COUNT metrics for each+-- @ExcludedRule@.+--+-- If you want to exclude rules from a rule group that is already+-- associated with a web ACL, perform the following steps:+--+-- 1. Use the AWS WAF logs to identify the IDs of the rules that you want+-- to exclude. For more information about the logs, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/logging.html Logging Web ACL Traffic Information>.+--+-- 2. Submit an UpdateWebACL request that has two actions:+--+-- - The first action deletes the existing rule group from the web+-- ACL. That is, in the UpdateWebACL request, the first+-- @Updates:Action@ should be @DELETE@ and+-- @Updates:ActivatedRule:RuleId@ should be the rule group that+-- contains the rules that you want to exclude.+--+-- - The second action inserts the same rule group back in, but+-- specifying the rules to exclude. That is, the second+-- @Updates:Action@ should be @INSERT@,+-- @Updates:ActivatedRule:RuleId@ should be the rule group that you+-- just removed, and @ExcludedRules@ should contain the rules that+-- you want to exclude.+--+-- 'overrideAction', 'activatedRule_overrideAction' - Use the @OverrideAction@ to test your @RuleGroup@.+--+-- Any rule in a @RuleGroup@ can potentially block a request. If you set+-- the @OverrideAction@ to @None@, the @RuleGroup@ will block a request if+-- any individual rule in the @RuleGroup@ matches the request and is+-- configured to block that request. However if you first want to test the+-- @RuleGroup@, set the @OverrideAction@ to @Count@. The @RuleGroup@ will+-- then override any block action specified by individual rules contained+-- within the group. Instead of blocking matching requests, those requests+-- will be counted. You can view a record of counted requests using+-- GetSampledRequests.+--+-- @ActivatedRule|OverrideAction@ applies only when updating or adding a+-- @RuleGroup@ to a @WebACL@. In this case you do not use+-- @ActivatedRule|Action@. For all other update requests,+-- @ActivatedRule|Action@ is used instead of+-- @ActivatedRule|OverrideAction@.+--+-- 'type'', 'activatedRule_type' - The rule type, either @REGULAR@, as defined by Rule, @RATE_BASED@, as+-- defined by RateBasedRule, or @GROUP@, as defined by RuleGroup. The+-- default is REGULAR. Although this field is optional, be aware that if+-- you try to add a RATE_BASED rule to a web ACL without setting the type,+-- the UpdateWebACL request will fail because the request tries to add a+-- REGULAR rule with the specified ID, which does not exist.+--+-- 'priority', 'activatedRule_priority' - Specifies the order in which the @Rules@ in a @WebACL@ are evaluated.+-- Rules with a lower value for @Priority@ are evaluated before @Rules@+-- with a higher value. The value must be a unique integer. If you add+-- multiple @Rules@ to a @WebACL@, the values don\'t need to be+-- consecutive.+--+-- 'ruleId', 'activatedRule_ruleId' - The @RuleId@ for a @Rule@. You use @RuleId@ to get more information+-- about a @Rule@ (see GetRule), update a @Rule@ (see UpdateRule), insert a+-- @Rule@ into a @WebACL@ or delete a one from a @WebACL@ (see+-- UpdateWebACL), or delete a @Rule@ from AWS WAF (see DeleteRule).+--+-- @RuleId@ is returned by CreateRule and by ListRules.+newActivatedRule ::+ -- | 'priority'+ Prelude.Int ->+ -- | 'ruleId'+ Prelude.Text ->+ ActivatedRule+newActivatedRule pPriority_ pRuleId_ =+ ActivatedRule'+ { action = Prelude.Nothing,+ excludedRules = Prelude.Nothing,+ overrideAction = Prelude.Nothing,+ type' = Prelude.Nothing,+ priority = pPriority_,+ ruleId = pRuleId_+ }++-- | Specifies the action that CloudFront or AWS WAF takes when a web request+-- matches the conditions in the @Rule@. Valid values for @Action@ include+-- the following:+--+-- - @ALLOW@: CloudFront responds with the requested object.+--+-- - @BLOCK@: CloudFront responds with an HTTP 403 (Forbidden) status+-- code.+--+-- - @COUNT@: AWS WAF increments a counter of requests that match the+-- conditions in the rule and then continues to inspect the web request+-- based on the remaining rules in the web ACL.+--+-- @ActivatedRule|OverrideAction@ applies only when updating or adding a+-- @RuleGroup@ to a @WebACL@. In this case, you do not use+-- @ActivatedRule|Action@. For all other update requests,+-- @ActivatedRule|Action@ is used instead of+-- @ActivatedRule|OverrideAction@.+activatedRule_action :: Lens.Lens' ActivatedRule (Prelude.Maybe WafAction)+activatedRule_action = Lens.lens (\ActivatedRule' {action} -> action) (\s@ActivatedRule' {} a -> s {action = a} :: ActivatedRule)++-- | An array of rules to exclude from a rule group. This is applicable only+-- when the @ActivatedRule@ refers to a @RuleGroup@.+--+-- Sometimes it is necessary to troubleshoot rule groups that are blocking+-- traffic unexpectedly (false positives). One troubleshooting technique is+-- to identify the specific rule within the rule group that is blocking the+-- legitimate traffic and then disable (exclude) that particular rule. You+-- can exclude rules from both your own rule groups and AWS Marketplace+-- rule groups that have been associated with a web ACL.+--+-- Specifying @ExcludedRules@ does not remove those rules from the rule+-- group. Rather, it changes the action for the rules to @COUNT@.+-- Therefore, requests that match an @ExcludedRule@ are counted but not+-- blocked. The @RuleGroup@ owner will receive COUNT metrics for each+-- @ExcludedRule@.+--+-- If you want to exclude rules from a rule group that is already+-- associated with a web ACL, perform the following steps:+--+-- 1. Use the AWS WAF logs to identify the IDs of the rules that you want+-- to exclude. For more information about the logs, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/logging.html Logging Web ACL Traffic Information>.+--+-- 2. Submit an UpdateWebACL request that has two actions:+--+-- - The first action deletes the existing rule group from the web+-- ACL. That is, in the UpdateWebACL request, the first+-- @Updates:Action@ should be @DELETE@ and+-- @Updates:ActivatedRule:RuleId@ should be the rule group that+-- contains the rules that you want to exclude.+--+-- - The second action inserts the same rule group back in, but+-- specifying the rules to exclude. That is, the second+-- @Updates:Action@ should be @INSERT@,+-- @Updates:ActivatedRule:RuleId@ should be the rule group that you+-- just removed, and @ExcludedRules@ should contain the rules that+-- you want to exclude.+activatedRule_excludedRules :: Lens.Lens' ActivatedRule (Prelude.Maybe [ExcludedRule])+activatedRule_excludedRules = Lens.lens (\ActivatedRule' {excludedRules} -> excludedRules) (\s@ActivatedRule' {} a -> s {excludedRules = a} :: ActivatedRule) Prelude.. Lens.mapping Lens.coerced++-- | Use the @OverrideAction@ to test your @RuleGroup@.+--+-- Any rule in a @RuleGroup@ can potentially block a request. If you set+-- the @OverrideAction@ to @None@, the @RuleGroup@ will block a request if+-- any individual rule in the @RuleGroup@ matches the request and is+-- configured to block that request. However if you first want to test the+-- @RuleGroup@, set the @OverrideAction@ to @Count@. The @RuleGroup@ will+-- then override any block action specified by individual rules contained+-- within the group. Instead of blocking matching requests, those requests+-- will be counted. You can view a record of counted requests using+-- GetSampledRequests.+--+-- @ActivatedRule|OverrideAction@ applies only when updating or adding a+-- @RuleGroup@ to a @WebACL@. In this case you do not use+-- @ActivatedRule|Action@. For all other update requests,+-- @ActivatedRule|Action@ is used instead of+-- @ActivatedRule|OverrideAction@.+activatedRule_overrideAction :: Lens.Lens' ActivatedRule (Prelude.Maybe WafOverrideAction)+activatedRule_overrideAction = Lens.lens (\ActivatedRule' {overrideAction} -> overrideAction) (\s@ActivatedRule' {} a -> s {overrideAction = a} :: ActivatedRule)++-- | The rule type, either @REGULAR@, as defined by Rule, @RATE_BASED@, as+-- defined by RateBasedRule, or @GROUP@, as defined by RuleGroup. The+-- default is REGULAR. Although this field is optional, be aware that if+-- you try to add a RATE_BASED rule to a web ACL without setting the type,+-- the UpdateWebACL request will fail because the request tries to add a+-- REGULAR rule with the specified ID, which does not exist.+activatedRule_type :: Lens.Lens' ActivatedRule (Prelude.Maybe WafRuleType)+activatedRule_type = Lens.lens (\ActivatedRule' {type'} -> type') (\s@ActivatedRule' {} a -> s {type' = a} :: ActivatedRule)++-- | Specifies the order in which the @Rules@ in a @WebACL@ are evaluated.+-- Rules with a lower value for @Priority@ are evaluated before @Rules@+-- with a higher value. The value must be a unique integer. If you add+-- multiple @Rules@ to a @WebACL@, the values don\'t need to be+-- consecutive.+activatedRule_priority :: Lens.Lens' ActivatedRule Prelude.Int+activatedRule_priority = Lens.lens (\ActivatedRule' {priority} -> priority) (\s@ActivatedRule' {} a -> s {priority = a} :: ActivatedRule)++-- | The @RuleId@ for a @Rule@. You use @RuleId@ to get more information+-- about a @Rule@ (see GetRule), update a @Rule@ (see UpdateRule), insert a+-- @Rule@ into a @WebACL@ or delete a one from a @WebACL@ (see+-- UpdateWebACL), or delete a @Rule@ from AWS WAF (see DeleteRule).+--+-- @RuleId@ is returned by CreateRule and by ListRules.+activatedRule_ruleId :: Lens.Lens' ActivatedRule Prelude.Text+activatedRule_ruleId = Lens.lens (\ActivatedRule' {ruleId} -> ruleId) (\s@ActivatedRule' {} a -> s {ruleId = a} :: ActivatedRule)++instance Data.FromJSON ActivatedRule where+ parseJSON =+ Data.withObject+ "ActivatedRule"+ ( \x ->+ ActivatedRule'+ Prelude.<$> (x Data..:? "Action")+ Prelude.<*> (x Data..:? "ExcludedRules" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "OverrideAction")+ Prelude.<*> (x Data..:? "Type")+ Prelude.<*> (x Data..: "Priority")+ Prelude.<*> (x Data..: "RuleId")+ )++instance Prelude.Hashable ActivatedRule where+ hashWithSalt _salt ActivatedRule' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` excludedRules+ `Prelude.hashWithSalt` overrideAction+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` ruleId++instance Prelude.NFData ActivatedRule where+ rnf ActivatedRule' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf excludedRules+ `Prelude.seq` Prelude.rnf overrideAction+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf ruleId++instance Data.ToJSON ActivatedRule where+ toJSON ActivatedRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Action" Data..=) Prelude.<$> action,+ ("ExcludedRules" Data..=) Prelude.<$> excludedRules,+ ("OverrideAction" Data..=)+ Prelude.<$> overrideAction,+ ("Type" Data..=) Prelude.<$> type',+ Prelude.Just ("Priority" Data..= priority),+ Prelude.Just ("RuleId" Data..= ruleId)+ ]+ )
+ gen/Amazonka/WAF/Types/ByteMatchSet.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.ByteMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.ByteMatchSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ByteMatchTuple++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- In a GetByteMatchSet request, @ByteMatchSet@ is a complex type that+-- contains the @ByteMatchSetId@ and @Name@ of a @ByteMatchSet@, and the+-- values that you specified when you updated the @ByteMatchSet@.+--+-- A complex type that contains @ByteMatchTuple@ objects, which specify the+-- parts of web requests that you want AWS WAF to inspect and the values+-- that you want AWS WAF to search for. If a @ByteMatchSet@ contains more+-- than one @ByteMatchTuple@ object, a request needs to match the settings+-- in only one @ByteMatchTuple@ to be considered a match.+--+-- /See:/ 'newByteMatchSet' smart constructor.+data ByteMatchSet = ByteMatchSet'+ { -- | A friendly name or description of the ByteMatchSet. You can\'t change+ -- @Name@ after you create a @ByteMatchSet@.+ name :: Prelude.Maybe Prelude.Text,+ -- | The @ByteMatchSetId@ for a @ByteMatchSet@. You use @ByteMatchSetId@ to+ -- get information about a @ByteMatchSet@ (see GetByteMatchSet), update a+ -- @ByteMatchSet@ (see UpdateByteMatchSet), insert a @ByteMatchSet@ into a+ -- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete a+ -- @ByteMatchSet@ from AWS WAF (see DeleteByteMatchSet).+ --+ -- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+ -- ListByteMatchSets.+ byteMatchSetId :: Prelude.Text,+ -- | Specifies the bytes (typically a string that corresponds with ASCII+ -- characters) that you want AWS WAF to search for in web requests, the+ -- location in requests that you want AWS WAF to search, and other+ -- settings.+ byteMatchTuples :: [ByteMatchTuple]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ByteMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'byteMatchSet_name' - A friendly name or description of the ByteMatchSet. You can\'t change+-- @Name@ after you create a @ByteMatchSet@.+--+-- 'byteMatchSetId', 'byteMatchSet_byteMatchSetId' - The @ByteMatchSetId@ for a @ByteMatchSet@. You use @ByteMatchSetId@ to+-- get information about a @ByteMatchSet@ (see GetByteMatchSet), update a+-- @ByteMatchSet@ (see UpdateByteMatchSet), insert a @ByteMatchSet@ into a+-- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete a+-- @ByteMatchSet@ from AWS WAF (see DeleteByteMatchSet).+--+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+--+-- 'byteMatchTuples', 'byteMatchSet_byteMatchTuples' - Specifies the bytes (typically a string that corresponds with ASCII+-- characters) that you want AWS WAF to search for in web requests, the+-- location in requests that you want AWS WAF to search, and other+-- settings.+newByteMatchSet ::+ -- | 'byteMatchSetId'+ Prelude.Text ->+ ByteMatchSet+newByteMatchSet pByteMatchSetId_ =+ ByteMatchSet'+ { name = Prelude.Nothing,+ byteMatchSetId = pByteMatchSetId_,+ byteMatchTuples = Prelude.mempty+ }++-- | A friendly name or description of the ByteMatchSet. You can\'t change+-- @Name@ after you create a @ByteMatchSet@.+byteMatchSet_name :: Lens.Lens' ByteMatchSet (Prelude.Maybe Prelude.Text)+byteMatchSet_name = Lens.lens (\ByteMatchSet' {name} -> name) (\s@ByteMatchSet' {} a -> s {name = a} :: ByteMatchSet)++-- | The @ByteMatchSetId@ for a @ByteMatchSet@. You use @ByteMatchSetId@ to+-- get information about a @ByteMatchSet@ (see GetByteMatchSet), update a+-- @ByteMatchSet@ (see UpdateByteMatchSet), insert a @ByteMatchSet@ into a+-- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete a+-- @ByteMatchSet@ from AWS WAF (see DeleteByteMatchSet).+--+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+byteMatchSet_byteMatchSetId :: Lens.Lens' ByteMatchSet Prelude.Text+byteMatchSet_byteMatchSetId = Lens.lens (\ByteMatchSet' {byteMatchSetId} -> byteMatchSetId) (\s@ByteMatchSet' {} a -> s {byteMatchSetId = a} :: ByteMatchSet)++-- | Specifies the bytes (typically a string that corresponds with ASCII+-- characters) that you want AWS WAF to search for in web requests, the+-- location in requests that you want AWS WAF to search, and other+-- settings.+byteMatchSet_byteMatchTuples :: Lens.Lens' ByteMatchSet [ByteMatchTuple]+byteMatchSet_byteMatchTuples = Lens.lens (\ByteMatchSet' {byteMatchTuples} -> byteMatchTuples) (\s@ByteMatchSet' {} a -> s {byteMatchTuples = a} :: ByteMatchSet) Prelude.. Lens.coerced++instance Data.FromJSON ByteMatchSet where+ parseJSON =+ Data.withObject+ "ByteMatchSet"+ ( \x ->+ ByteMatchSet'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..: "ByteMatchSetId")+ Prelude.<*> ( x+ Data..:? "ByteMatchTuples"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable ByteMatchSet where+ hashWithSalt _salt ByteMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` byteMatchSetId+ `Prelude.hashWithSalt` byteMatchTuples++instance Prelude.NFData ByteMatchSet where+ rnf ByteMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf byteMatchSetId+ `Prelude.seq` Prelude.rnf byteMatchTuples
+ gen/Amazonka/WAF/Types/ByteMatchSetSummary.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.ByteMatchSetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.ByteMatchSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returned by ListByteMatchSets. Each @ByteMatchSetSummary@ object+-- includes the @Name@ and @ByteMatchSetId@ for one ByteMatchSet.+--+-- /See:/ 'newByteMatchSetSummary' smart constructor.+data ByteMatchSetSummary = ByteMatchSetSummary'+ { -- | The @ByteMatchSetId@ for a @ByteMatchSet@. You use @ByteMatchSetId@ to+ -- get information about a @ByteMatchSet@, update a @ByteMatchSet@, remove+ -- a @ByteMatchSet@ from a @Rule@, and delete a @ByteMatchSet@ from AWS+ -- WAF.+ --+ -- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+ -- ListByteMatchSets.+ byteMatchSetId :: Prelude.Text,+ -- | A friendly name or description of the ByteMatchSet. You can\'t change+ -- @Name@ after you create a @ByteMatchSet@.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ByteMatchSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'byteMatchSetId', 'byteMatchSetSummary_byteMatchSetId' - The @ByteMatchSetId@ for a @ByteMatchSet@. You use @ByteMatchSetId@ to+-- get information about a @ByteMatchSet@, update a @ByteMatchSet@, remove+-- a @ByteMatchSet@ from a @Rule@, and delete a @ByteMatchSet@ from AWS+-- WAF.+--+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+--+-- 'name', 'byteMatchSetSummary_name' - A friendly name or description of the ByteMatchSet. You can\'t change+-- @Name@ after you create a @ByteMatchSet@.+newByteMatchSetSummary ::+ -- | 'byteMatchSetId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ ByteMatchSetSummary+newByteMatchSetSummary pByteMatchSetId_ pName_ =+ ByteMatchSetSummary'+ { byteMatchSetId =+ pByteMatchSetId_,+ name = pName_+ }++-- | The @ByteMatchSetId@ for a @ByteMatchSet@. You use @ByteMatchSetId@ to+-- get information about a @ByteMatchSet@, update a @ByteMatchSet@, remove+-- a @ByteMatchSet@ from a @Rule@, and delete a @ByteMatchSet@ from AWS+-- WAF.+--+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+byteMatchSetSummary_byteMatchSetId :: Lens.Lens' ByteMatchSetSummary Prelude.Text+byteMatchSetSummary_byteMatchSetId = Lens.lens (\ByteMatchSetSummary' {byteMatchSetId} -> byteMatchSetId) (\s@ByteMatchSetSummary' {} a -> s {byteMatchSetId = a} :: ByteMatchSetSummary)++-- | A friendly name or description of the ByteMatchSet. You can\'t change+-- @Name@ after you create a @ByteMatchSet@.+byteMatchSetSummary_name :: Lens.Lens' ByteMatchSetSummary Prelude.Text+byteMatchSetSummary_name = Lens.lens (\ByteMatchSetSummary' {name} -> name) (\s@ByteMatchSetSummary' {} a -> s {name = a} :: ByteMatchSetSummary)++instance Data.FromJSON ByteMatchSetSummary where+ parseJSON =+ Data.withObject+ "ByteMatchSetSummary"+ ( \x ->+ ByteMatchSetSummary'+ Prelude.<$> (x Data..: "ByteMatchSetId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable ByteMatchSetSummary where+ hashWithSalt _salt ByteMatchSetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` byteMatchSetId+ `Prelude.hashWithSalt` name++instance Prelude.NFData ByteMatchSetSummary where+ rnf ByteMatchSetSummary' {..} =+ Prelude.rnf byteMatchSetId+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/ByteMatchSetUpdate.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.ByteMatchSetUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.ByteMatchSetUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ByteMatchTuple+import Amazonka.WAF.Types.ChangeAction++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- In an UpdateByteMatchSet request, @ByteMatchSetUpdate@ specifies whether+-- to insert or delete a ByteMatchTuple and includes the settings for the+-- @ByteMatchTuple@.+--+-- /See:/ 'newByteMatchSetUpdate' smart constructor.+data ByteMatchSetUpdate = ByteMatchSetUpdate'+ { -- | Specifies whether to insert or delete a ByteMatchTuple.+ action :: ChangeAction,+ -- | Information about the part of a web request that you want AWS WAF to+ -- inspect and the value that you want AWS WAF to search for. If you+ -- specify @DELETE@ for the value of @Action@, the @ByteMatchTuple@ values+ -- must exactly match the values in the @ByteMatchTuple@ that you want to+ -- delete from the @ByteMatchSet@.+ byteMatchTuple :: ByteMatchTuple+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ByteMatchSetUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'byteMatchSetUpdate_action' - Specifies whether to insert or delete a ByteMatchTuple.+--+-- 'byteMatchTuple', 'byteMatchSetUpdate_byteMatchTuple' - Information about the part of a web request that you want AWS WAF to+-- inspect and the value that you want AWS WAF to search for. If you+-- specify @DELETE@ for the value of @Action@, the @ByteMatchTuple@ values+-- must exactly match the values in the @ByteMatchTuple@ that you want to+-- delete from the @ByteMatchSet@.+newByteMatchSetUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'byteMatchTuple'+ ByteMatchTuple ->+ ByteMatchSetUpdate+newByteMatchSetUpdate pAction_ pByteMatchTuple_ =+ ByteMatchSetUpdate'+ { action = pAction_,+ byteMatchTuple = pByteMatchTuple_+ }++-- | Specifies whether to insert or delete a ByteMatchTuple.+byteMatchSetUpdate_action :: Lens.Lens' ByteMatchSetUpdate ChangeAction+byteMatchSetUpdate_action = Lens.lens (\ByteMatchSetUpdate' {action} -> action) (\s@ByteMatchSetUpdate' {} a -> s {action = a} :: ByteMatchSetUpdate)++-- | Information about the part of a web request that you want AWS WAF to+-- inspect and the value that you want AWS WAF to search for. If you+-- specify @DELETE@ for the value of @Action@, the @ByteMatchTuple@ values+-- must exactly match the values in the @ByteMatchTuple@ that you want to+-- delete from the @ByteMatchSet@.+byteMatchSetUpdate_byteMatchTuple :: Lens.Lens' ByteMatchSetUpdate ByteMatchTuple+byteMatchSetUpdate_byteMatchTuple = Lens.lens (\ByteMatchSetUpdate' {byteMatchTuple} -> byteMatchTuple) (\s@ByteMatchSetUpdate' {} a -> s {byteMatchTuple = a} :: ByteMatchSetUpdate)++instance Prelude.Hashable ByteMatchSetUpdate where+ hashWithSalt _salt ByteMatchSetUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` byteMatchTuple++instance Prelude.NFData ByteMatchSetUpdate where+ rnf ByteMatchSetUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf byteMatchTuple++instance Data.ToJSON ByteMatchSetUpdate where+ toJSON ByteMatchSetUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ("ByteMatchTuple" Data..= byteMatchTuple)+ ]+ )
+ gen/Amazonka/WAF/Types/ByteMatchTuple.hs view
@@ -0,0 +1,682 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.ByteMatchTuple+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.ByteMatchTuple where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.FieldToMatch+import Amazonka.WAF.Types.PositionalConstraint+import Amazonka.WAF.Types.TextTransformation++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The bytes (typically a string that corresponds with ASCII characters)+-- that you want AWS WAF to search for in web requests, the location in+-- requests that you want AWS WAF to search, and other settings.+--+-- /See:/ 'newByteMatchTuple' smart constructor.+data ByteMatchTuple = ByteMatchTuple'+ { -- | The part of a web request that you want AWS WAF to search, such as a+ -- specified header or a query string. For more information, see+ -- FieldToMatch.+ fieldToMatch :: FieldToMatch,+ -- | The value that you want AWS WAF to search for. AWS WAF searches for the+ -- specified string in the part of web requests that you specified in+ -- @FieldToMatch@. The maximum length of the value is 50 bytes.+ --+ -- Valid values depend on the values that you specified for @FieldToMatch@:+ --+ -- - @HEADER@: The value that you want AWS WAF to search for in the+ -- request header that you specified in FieldToMatch, for example, the+ -- value of the @User-Agent@ or @Referer@ header.+ --+ -- - @METHOD@: The HTTP method, which indicates the type of operation+ -- specified in the request. CloudFront supports the following methods:+ -- @DELETE@, @GET@, @HEAD@, @OPTIONS@, @PATCH@, @POST@, and @PUT@.+ --+ -- - @QUERY_STRING@: The value that you want AWS WAF to search for in the+ -- query string, which is the part of a URL that appears after a @?@+ -- character.+ --+ -- - @URI@: The value that you want AWS WAF to search for in the part of+ -- a URL that identifies a resource, for example,+ -- @\/images\/daily-ad.jpg@.+ --+ -- - @BODY@: The part of a request that contains any additional data that+ -- you want to send to your web server as the HTTP request body, such+ -- as data from a form. The request body immediately follows the+ -- request headers. Note that only the first @8192@ bytes of the+ -- request body are forwarded to AWS WAF for inspection. To allow or+ -- block requests based on the length of the body, you can create a+ -- size constraint set. For more information, see+ -- CreateSizeConstraintSet.+ --+ -- - @SINGLE_QUERY_ARG@: The parameter in the query string that you will+ -- inspect, such as /UserName/ or /SalesRegion/. The maximum length for+ -- @SINGLE_QUERY_ARG@ is 30 characters.+ --+ -- - @ALL_QUERY_ARGS@: Similar to @SINGLE_QUERY_ARG@, but instead of+ -- inspecting a single parameter, AWS WAF inspects all parameters+ -- within the query string for the value or regex pattern that you+ -- specify in @TargetString@.+ --+ -- If @TargetString@ includes alphabetic characters A-Z and a-z, note that+ -- the value is case sensitive.+ --+ -- __If you\'re using the AWS WAF API__+ --+ -- Specify a base64-encoded version of the value. The maximum length of the+ -- value before you base64-encode it is 50 bytes.+ --+ -- For example, suppose the value of @Type@ is @HEADER@ and the value of+ -- @Data@ is @User-Agent@. If you want to search the @User-Agent@ header+ -- for the value @BadBot@, you base64-encode @BadBot@ using MIME+ -- base64-encoding and include the resulting value, @QmFkQm90@, in the+ -- value of @TargetString@.+ --+ -- __If you\'re using the AWS CLI or one of the AWS SDKs__+ --+ -- The value that you want AWS WAF to search for. The SDK automatically+ -- base64 encodes the value.+ targetString :: Data.Base64,+ -- | Text transformations eliminate some of the unusual formatting that+ -- attackers use in web requests in an effort to bypass AWS WAF. If you+ -- specify a transformation, AWS WAF performs the transformation on+ -- @FieldToMatch@ before inspecting it for a match.+ --+ -- You can only specify a single type of TextTransformation.+ --+ -- __CMD_LINE__+ --+ -- When you\'re concerned that attackers are injecting an operating system+ -- command line command and using unusual formatting to disguise some or+ -- all of the command, use this option to perform the following+ -- transformations:+ --+ -- - Delete the following characters: \\ \" \' ^+ --+ -- - Delete spaces before the following characters: \/ (+ --+ -- - Replace the following characters with a space: , ;+ --+ -- - Replace multiple spaces with one space+ --+ -- - Convert uppercase letters (A-Z) to lowercase (a-z)+ --+ -- __COMPRESS_WHITE_SPACE__+ --+ -- Use this option to replace the following characters with a space+ -- character (decimal 32):+ --+ -- - \\f, formfeed, decimal 12+ --+ -- - \\t, tab, decimal 9+ --+ -- - \\n, newline, decimal 10+ --+ -- - \\r, carriage return, decimal 13+ --+ -- - \\v, vertical tab, decimal 11+ --+ -- - non-breaking space, decimal 160+ --+ -- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+ --+ -- __HTML_ENTITY_DECODE__+ --+ -- Use this option to replace HTML-encoded characters with unencoded+ -- characters. @HTML_ENTITY_DECODE@ performs the following operations:+ --+ -- - Replaces @(ampersand)quot;@ with @\"@+ --+ -- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+ --+ -- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+ --+ -- - Replaces @(ampersand)gt;@ with @>@+ --+ -- - Replaces characters that are represented in hexadecimal format,+ -- @(ampersand)#xhhhh;@, with the corresponding characters+ --+ -- - Replaces characters that are represented in decimal format,+ -- @(ampersand)#nnnn;@, with the corresponding characters+ --+ -- __LOWERCASE__+ --+ -- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+ --+ -- __URL_DECODE__+ --+ -- Use this option to decode a URL-encoded value.+ --+ -- __NONE__+ --+ -- Specify @NONE@ if you don\'t want to perform any text transformations.+ textTransformation :: TextTransformation,+ -- | Within the portion of a web request that you want to search (for+ -- example, in the query string, if any), specify where you want AWS WAF to+ -- search. Valid values include the following:+ --+ -- __CONTAINS__+ --+ -- The specified part of the web request must include the value of+ -- @TargetString@, but the location doesn\'t matter.+ --+ -- __CONTAINS_WORD__+ --+ -- The specified part of the web request must include the value of+ -- @TargetString@, and @TargetString@ must contain only alphanumeric+ -- characters or underscore (A-Z, a-z, 0-9, or _). In addition,+ -- @TargetString@ must be a word, which means one of the following:+ --+ -- - @TargetString@ exactly matches the value of the specified part of+ -- the web request, such as the value of a header.+ --+ -- - @TargetString@ is at the beginning of the specified part of the web+ -- request and is followed by a character other than an alphanumeric+ -- character or underscore (_), for example, @BadBot;@.+ --+ -- - @TargetString@ is at the end of the specified part of the web+ -- request and is preceded by a character other than an alphanumeric+ -- character or underscore (_), for example, @;BadBot@.+ --+ -- - @TargetString@ is in the middle of the specified part of the web+ -- request and is preceded and followed by characters other than+ -- alphanumeric characters or underscore (_), for example, @-BadBot;@.+ --+ -- __EXACTLY__+ --+ -- The value of the specified part of the web request must exactly match+ -- the value of @TargetString@.+ --+ -- __STARTS_WITH__+ --+ -- The value of @TargetString@ must appear at the beginning of the+ -- specified part of the web request.+ --+ -- __ENDS_WITH__+ --+ -- The value of @TargetString@ must appear at the end of the specified part+ -- of the web request.+ positionalConstraint :: PositionalConstraint+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ByteMatchTuple' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldToMatch', 'byteMatchTuple_fieldToMatch' - The part of a web request that you want AWS WAF to search, such as a+-- specified header or a query string. For more information, see+-- FieldToMatch.+--+-- 'targetString', 'byteMatchTuple_targetString' - The value that you want AWS WAF to search for. AWS WAF searches for the+-- specified string in the part of web requests that you specified in+-- @FieldToMatch@. The maximum length of the value is 50 bytes.+--+-- Valid values depend on the values that you specified for @FieldToMatch@:+--+-- - @HEADER@: The value that you want AWS WAF to search for in the+-- request header that you specified in FieldToMatch, for example, the+-- value of the @User-Agent@ or @Referer@ header.+--+-- - @METHOD@: The HTTP method, which indicates the type of operation+-- specified in the request. CloudFront supports the following methods:+-- @DELETE@, @GET@, @HEAD@, @OPTIONS@, @PATCH@, @POST@, and @PUT@.+--+-- - @QUERY_STRING@: The value that you want AWS WAF to search for in the+-- query string, which is the part of a URL that appears after a @?@+-- character.+--+-- - @URI@: The value that you want AWS WAF to search for in the part of+-- a URL that identifies a resource, for example,+-- @\/images\/daily-ad.jpg@.+--+-- - @BODY@: The part of a request that contains any additional data that+-- you want to send to your web server as the HTTP request body, such+-- as data from a form. The request body immediately follows the+-- request headers. Note that only the first @8192@ bytes of the+-- request body are forwarded to AWS WAF for inspection. To allow or+-- block requests based on the length of the body, you can create a+-- size constraint set. For more information, see+-- CreateSizeConstraintSet.+--+-- - @SINGLE_QUERY_ARG@: The parameter in the query string that you will+-- inspect, such as /UserName/ or /SalesRegion/. The maximum length for+-- @SINGLE_QUERY_ARG@ is 30 characters.+--+-- - @ALL_QUERY_ARGS@: Similar to @SINGLE_QUERY_ARG@, but instead of+-- inspecting a single parameter, AWS WAF inspects all parameters+-- within the query string for the value or regex pattern that you+-- specify in @TargetString@.+--+-- If @TargetString@ includes alphabetic characters A-Z and a-z, note that+-- the value is case sensitive.+--+-- __If you\'re using the AWS WAF API__+--+-- Specify a base64-encoded version of the value. The maximum length of the+-- value before you base64-encode it is 50 bytes.+--+-- For example, suppose the value of @Type@ is @HEADER@ and the value of+-- @Data@ is @User-Agent@. If you want to search the @User-Agent@ header+-- for the value @BadBot@, you base64-encode @BadBot@ using MIME+-- base64-encoding and include the resulting value, @QmFkQm90@, in the+-- value of @TargetString@.+--+-- __If you\'re using the AWS CLI or one of the AWS SDKs__+--+-- The value that you want AWS WAF to search for. The SDK automatically+-- base64 encodes the value.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'textTransformation', 'byteMatchTuple_textTransformation' - Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @FieldToMatch@ before inspecting it for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- command line command and using unusual formatting to disguise some or+-- all of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+--+-- 'positionalConstraint', 'byteMatchTuple_positionalConstraint' - Within the portion of a web request that you want to search (for+-- example, in the query string, if any), specify where you want AWS WAF to+-- search. Valid values include the following:+--+-- __CONTAINS__+--+-- The specified part of the web request must include the value of+-- @TargetString@, but the location doesn\'t matter.+--+-- __CONTAINS_WORD__+--+-- The specified part of the web request must include the value of+-- @TargetString@, and @TargetString@ must contain only alphanumeric+-- characters or underscore (A-Z, a-z, 0-9, or _). In addition,+-- @TargetString@ must be a word, which means one of the following:+--+-- - @TargetString@ exactly matches the value of the specified part of+-- the web request, such as the value of a header.+--+-- - @TargetString@ is at the beginning of the specified part of the web+-- request and is followed by a character other than an alphanumeric+-- character or underscore (_), for example, @BadBot;@.+--+-- - @TargetString@ is at the end of the specified part of the web+-- request and is preceded by a character other than an alphanumeric+-- character or underscore (_), for example, @;BadBot@.+--+-- - @TargetString@ is in the middle of the specified part of the web+-- request and is preceded and followed by characters other than+-- alphanumeric characters or underscore (_), for example, @-BadBot;@.+--+-- __EXACTLY__+--+-- The value of the specified part of the web request must exactly match+-- the value of @TargetString@.+--+-- __STARTS_WITH__+--+-- The value of @TargetString@ must appear at the beginning of the+-- specified part of the web request.+--+-- __ENDS_WITH__+--+-- The value of @TargetString@ must appear at the end of the specified part+-- of the web request.+newByteMatchTuple ::+ -- | 'fieldToMatch'+ FieldToMatch ->+ -- | 'targetString'+ Prelude.ByteString ->+ -- | 'textTransformation'+ TextTransformation ->+ -- | 'positionalConstraint'+ PositionalConstraint ->+ ByteMatchTuple+newByteMatchTuple+ pFieldToMatch_+ pTargetString_+ pTextTransformation_+ pPositionalConstraint_ =+ ByteMatchTuple'+ { fieldToMatch = pFieldToMatch_,+ targetString = Data._Base64 Lens.# pTargetString_,+ textTransformation = pTextTransformation_,+ positionalConstraint = pPositionalConstraint_+ }++-- | The part of a web request that you want AWS WAF to search, such as a+-- specified header or a query string. For more information, see+-- FieldToMatch.+byteMatchTuple_fieldToMatch :: Lens.Lens' ByteMatchTuple FieldToMatch+byteMatchTuple_fieldToMatch = Lens.lens (\ByteMatchTuple' {fieldToMatch} -> fieldToMatch) (\s@ByteMatchTuple' {} a -> s {fieldToMatch = a} :: ByteMatchTuple)++-- | The value that you want AWS WAF to search for. AWS WAF searches for the+-- specified string in the part of web requests that you specified in+-- @FieldToMatch@. The maximum length of the value is 50 bytes.+--+-- Valid values depend on the values that you specified for @FieldToMatch@:+--+-- - @HEADER@: The value that you want AWS WAF to search for in the+-- request header that you specified in FieldToMatch, for example, the+-- value of the @User-Agent@ or @Referer@ header.+--+-- - @METHOD@: The HTTP method, which indicates the type of operation+-- specified in the request. CloudFront supports the following methods:+-- @DELETE@, @GET@, @HEAD@, @OPTIONS@, @PATCH@, @POST@, and @PUT@.+--+-- - @QUERY_STRING@: The value that you want AWS WAF to search for in the+-- query string, which is the part of a URL that appears after a @?@+-- character.+--+-- - @URI@: The value that you want AWS WAF to search for in the part of+-- a URL that identifies a resource, for example,+-- @\/images\/daily-ad.jpg@.+--+-- - @BODY@: The part of a request that contains any additional data that+-- you want to send to your web server as the HTTP request body, such+-- as data from a form. The request body immediately follows the+-- request headers. Note that only the first @8192@ bytes of the+-- request body are forwarded to AWS WAF for inspection. To allow or+-- block requests based on the length of the body, you can create a+-- size constraint set. For more information, see+-- CreateSizeConstraintSet.+--+-- - @SINGLE_QUERY_ARG@: The parameter in the query string that you will+-- inspect, such as /UserName/ or /SalesRegion/. The maximum length for+-- @SINGLE_QUERY_ARG@ is 30 characters.+--+-- - @ALL_QUERY_ARGS@: Similar to @SINGLE_QUERY_ARG@, but instead of+-- inspecting a single parameter, AWS WAF inspects all parameters+-- within the query string for the value or regex pattern that you+-- specify in @TargetString@.+--+-- If @TargetString@ includes alphabetic characters A-Z and a-z, note that+-- the value is case sensitive.+--+-- __If you\'re using the AWS WAF API__+--+-- Specify a base64-encoded version of the value. The maximum length of the+-- value before you base64-encode it is 50 bytes.+--+-- For example, suppose the value of @Type@ is @HEADER@ and the value of+-- @Data@ is @User-Agent@. If you want to search the @User-Agent@ header+-- for the value @BadBot@, you base64-encode @BadBot@ using MIME+-- base64-encoding and include the resulting value, @QmFkQm90@, in the+-- value of @TargetString@.+--+-- __If you\'re using the AWS CLI or one of the AWS SDKs__+--+-- The value that you want AWS WAF to search for. The SDK automatically+-- base64 encodes the value.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+byteMatchTuple_targetString :: Lens.Lens' ByteMatchTuple Prelude.ByteString+byteMatchTuple_targetString = Lens.lens (\ByteMatchTuple' {targetString} -> targetString) (\s@ByteMatchTuple' {} a -> s {targetString = a} :: ByteMatchTuple) Prelude.. Data._Base64++-- | Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @FieldToMatch@ before inspecting it for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- command line command and using unusual formatting to disguise some or+-- all of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+byteMatchTuple_textTransformation :: Lens.Lens' ByteMatchTuple TextTransformation+byteMatchTuple_textTransformation = Lens.lens (\ByteMatchTuple' {textTransformation} -> textTransformation) (\s@ByteMatchTuple' {} a -> s {textTransformation = a} :: ByteMatchTuple)++-- | Within the portion of a web request that you want to search (for+-- example, in the query string, if any), specify where you want AWS WAF to+-- search. Valid values include the following:+--+-- __CONTAINS__+--+-- The specified part of the web request must include the value of+-- @TargetString@, but the location doesn\'t matter.+--+-- __CONTAINS_WORD__+--+-- The specified part of the web request must include the value of+-- @TargetString@, and @TargetString@ must contain only alphanumeric+-- characters or underscore (A-Z, a-z, 0-9, or _). In addition,+-- @TargetString@ must be a word, which means one of the following:+--+-- - @TargetString@ exactly matches the value of the specified part of+-- the web request, such as the value of a header.+--+-- - @TargetString@ is at the beginning of the specified part of the web+-- request and is followed by a character other than an alphanumeric+-- character or underscore (_), for example, @BadBot;@.+--+-- - @TargetString@ is at the end of the specified part of the web+-- request and is preceded by a character other than an alphanumeric+-- character or underscore (_), for example, @;BadBot@.+--+-- - @TargetString@ is in the middle of the specified part of the web+-- request and is preceded and followed by characters other than+-- alphanumeric characters or underscore (_), for example, @-BadBot;@.+--+-- __EXACTLY__+--+-- The value of the specified part of the web request must exactly match+-- the value of @TargetString@.+--+-- __STARTS_WITH__+--+-- The value of @TargetString@ must appear at the beginning of the+-- specified part of the web request.+--+-- __ENDS_WITH__+--+-- The value of @TargetString@ must appear at the end of the specified part+-- of the web request.+byteMatchTuple_positionalConstraint :: Lens.Lens' ByteMatchTuple PositionalConstraint+byteMatchTuple_positionalConstraint = Lens.lens (\ByteMatchTuple' {positionalConstraint} -> positionalConstraint) (\s@ByteMatchTuple' {} a -> s {positionalConstraint = a} :: ByteMatchTuple)++instance Data.FromJSON ByteMatchTuple where+ parseJSON =+ Data.withObject+ "ByteMatchTuple"+ ( \x ->+ ByteMatchTuple'+ Prelude.<$> (x Data..: "FieldToMatch")+ Prelude.<*> (x Data..: "TargetString")+ Prelude.<*> (x Data..: "TextTransformation")+ Prelude.<*> (x Data..: "PositionalConstraint")+ )++instance Prelude.Hashable ByteMatchTuple where+ hashWithSalt _salt ByteMatchTuple' {..} =+ _salt+ `Prelude.hashWithSalt` fieldToMatch+ `Prelude.hashWithSalt` targetString+ `Prelude.hashWithSalt` textTransformation+ `Prelude.hashWithSalt` positionalConstraint++instance Prelude.NFData ByteMatchTuple where+ rnf ByteMatchTuple' {..} =+ Prelude.rnf fieldToMatch+ `Prelude.seq` Prelude.rnf targetString+ `Prelude.seq` Prelude.rnf textTransformation+ `Prelude.seq` Prelude.rnf positionalConstraint++instance Data.ToJSON ByteMatchTuple where+ toJSON ByteMatchTuple' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("FieldToMatch" Data..= fieldToMatch),+ Prelude.Just ("TargetString" Data..= targetString),+ Prelude.Just+ ("TextTransformation" Data..= textTransformation),+ Prelude.Just+ ( "PositionalConstraint"+ Data..= positionalConstraint+ )+ ]+ )
+ gen/Amazonka/WAF/Types/ChangeAction.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.ChangeAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.ChangeAction+ ( ChangeAction+ ( ..,+ ChangeAction_DELETE,+ ChangeAction_INSERT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChangeAction = ChangeAction'+ { fromChangeAction ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ChangeAction_DELETE :: ChangeAction+pattern ChangeAction_DELETE = ChangeAction' "DELETE"++pattern ChangeAction_INSERT :: ChangeAction+pattern ChangeAction_INSERT = ChangeAction' "INSERT"++{-# COMPLETE+ ChangeAction_DELETE,+ ChangeAction_INSERT,+ ChangeAction'+ #-}
+ gen/Amazonka/WAF/Types/ChangeTokenStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.ChangeTokenStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.ChangeTokenStatus+ ( ChangeTokenStatus+ ( ..,+ ChangeTokenStatus_INSYNC,+ ChangeTokenStatus_PENDING,+ ChangeTokenStatus_PROVISIONED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChangeTokenStatus = ChangeTokenStatus'+ { fromChangeTokenStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ChangeTokenStatus_INSYNC :: ChangeTokenStatus+pattern ChangeTokenStatus_INSYNC = ChangeTokenStatus' "INSYNC"++pattern ChangeTokenStatus_PENDING :: ChangeTokenStatus+pattern ChangeTokenStatus_PENDING = ChangeTokenStatus' "PENDING"++pattern ChangeTokenStatus_PROVISIONED :: ChangeTokenStatus+pattern ChangeTokenStatus_PROVISIONED = ChangeTokenStatus' "PROVISIONED"++{-# COMPLETE+ ChangeTokenStatus_INSYNC,+ ChangeTokenStatus_PENDING,+ ChangeTokenStatus_PROVISIONED,+ ChangeTokenStatus'+ #-}
+ gen/Amazonka/WAF/Types/ComparisonOperator.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.ComparisonOperator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.ComparisonOperator+ ( ComparisonOperator+ ( ..,+ ComparisonOperator_EQ,+ ComparisonOperator_GE,+ ComparisonOperator_GT,+ ComparisonOperator_LE,+ ComparisonOperator_LT,+ ComparisonOperator_NE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ComparisonOperator = ComparisonOperator'+ { fromComparisonOperator ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ComparisonOperator_EQ :: ComparisonOperator+pattern ComparisonOperator_EQ = ComparisonOperator' "EQ"++pattern ComparisonOperator_GE :: ComparisonOperator+pattern ComparisonOperator_GE = ComparisonOperator' "GE"++pattern ComparisonOperator_GT :: ComparisonOperator+pattern ComparisonOperator_GT = ComparisonOperator' "GT"++pattern ComparisonOperator_LE :: ComparisonOperator+pattern ComparisonOperator_LE = ComparisonOperator' "LE"++pattern ComparisonOperator_LT :: ComparisonOperator+pattern ComparisonOperator_LT = ComparisonOperator' "LT"++pattern ComparisonOperator_NE :: ComparisonOperator+pattern ComparisonOperator_NE = ComparisonOperator' "NE"++{-# COMPLETE+ ComparisonOperator_EQ,+ ComparisonOperator_GE,+ ComparisonOperator_GT,+ ComparisonOperator_LE,+ ComparisonOperator_LT,+ ComparisonOperator_NE,+ ComparisonOperator'+ #-}
+ gen/Amazonka/WAF/Types/ExcludedRule.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.ExcludedRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.ExcludedRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The rule to exclude from a rule group. This is applicable only when the+-- @ActivatedRule@ refers to a @RuleGroup@. The rule must belong to the+-- @RuleGroup@ that is specified by the @ActivatedRule@.+--+-- /See:/ 'newExcludedRule' smart constructor.+data ExcludedRule = ExcludedRule'+ { -- | The unique identifier for the rule to exclude from the rule group.+ ruleId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExcludedRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleId', 'excludedRule_ruleId' - The unique identifier for the rule to exclude from the rule group.+newExcludedRule ::+ -- | 'ruleId'+ Prelude.Text ->+ ExcludedRule+newExcludedRule pRuleId_ =+ ExcludedRule' {ruleId = pRuleId_}++-- | The unique identifier for the rule to exclude from the rule group.+excludedRule_ruleId :: Lens.Lens' ExcludedRule Prelude.Text+excludedRule_ruleId = Lens.lens (\ExcludedRule' {ruleId} -> ruleId) (\s@ExcludedRule' {} a -> s {ruleId = a} :: ExcludedRule)++instance Data.FromJSON ExcludedRule where+ parseJSON =+ Data.withObject+ "ExcludedRule"+ ( \x ->+ ExcludedRule' Prelude.<$> (x Data..: "RuleId")+ )++instance Prelude.Hashable ExcludedRule where+ hashWithSalt _salt ExcludedRule' {..} =+ _salt `Prelude.hashWithSalt` ruleId++instance Prelude.NFData ExcludedRule where+ rnf ExcludedRule' {..} = Prelude.rnf ruleId++instance Data.ToJSON ExcludedRule where+ toJSON ExcludedRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("RuleId" Data..= ruleId)]+ )
+ gen/Amazonka/WAF/Types/FieldToMatch.hs view
@@ -0,0 +1,233 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.FieldToMatch+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.FieldToMatch where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.MatchFieldType++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies where in a web request to look for @TargetString@.+--+-- /See:/ 'newFieldToMatch' smart constructor.+data FieldToMatch = FieldToMatch'+ { -- | When the value of @Type@ is @HEADER@, enter the name of the header that+ -- you want AWS WAF to search, for example, @User-Agent@ or @Referer@. The+ -- name of the header is not case sensitive.+ --+ -- When the value of @Type@ is @SINGLE_QUERY_ARG@, enter the name of the+ -- parameter that you want AWS WAF to search, for example, @UserName@ or+ -- @SalesRegion@. The parameter name is not case sensitive.+ --+ -- If the value of @Type@ is any other value, omit @Data@.+ data' :: Prelude.Maybe Prelude.Text,+ -- | The part of the web request that you want AWS WAF to search for a+ -- specified string. Parts of a request that you can search include the+ -- following:+ --+ -- - @HEADER@: A specified request header, for example, the value of the+ -- @User-Agent@ or @Referer@ header. If you choose @HEADER@ for the+ -- type, specify the name of the header in @Data@.+ --+ -- - @METHOD@: The HTTP method, which indicated the type of operation+ -- that the request is asking the origin to perform. Amazon CloudFront+ -- supports the following methods: @DELETE@, @GET@, @HEAD@, @OPTIONS@,+ -- @PATCH@, @POST@, and @PUT@.+ --+ -- - @QUERY_STRING@: A query string, which is the part of a URL that+ -- appears after a @?@ character, if any.+ --+ -- - @URI@: The part of a web request that identifies a resource, for+ -- example, @\/images\/daily-ad.jpg@.+ --+ -- - @BODY@: The part of a request that contains any additional data that+ -- you want to send to your web server as the HTTP request body, such+ -- as data from a form. The request body immediately follows the+ -- request headers. Note that only the first @8192@ bytes of the+ -- request body are forwarded to AWS WAF for inspection. To allow or+ -- block requests based on the length of the body, you can create a+ -- size constraint set. For more information, see+ -- CreateSizeConstraintSet.+ --+ -- - @SINGLE_QUERY_ARG@: The parameter in the query string that you will+ -- inspect, such as /UserName/ or /SalesRegion/. The maximum length for+ -- @SINGLE_QUERY_ARG@ is 30 characters.+ --+ -- - @ALL_QUERY_ARGS@: Similar to @SINGLE_QUERY_ARG@, but rather than+ -- inspecting a single parameter, AWS WAF will inspect all parameters+ -- within the query for the value or regex pattern that you specify in+ -- @TargetString@.+ type' :: MatchFieldType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FieldToMatch' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'data'', 'fieldToMatch_data' - When the value of @Type@ is @HEADER@, enter the name of the header that+-- you want AWS WAF to search, for example, @User-Agent@ or @Referer@. The+-- name of the header is not case sensitive.+--+-- When the value of @Type@ is @SINGLE_QUERY_ARG@, enter the name of the+-- parameter that you want AWS WAF to search, for example, @UserName@ or+-- @SalesRegion@. The parameter name is not case sensitive.+--+-- If the value of @Type@ is any other value, omit @Data@.+--+-- 'type'', 'fieldToMatch_type' - The part of the web request that you want AWS WAF to search for a+-- specified string. Parts of a request that you can search include the+-- following:+--+-- - @HEADER@: A specified request header, for example, the value of the+-- @User-Agent@ or @Referer@ header. If you choose @HEADER@ for the+-- type, specify the name of the header in @Data@.+--+-- - @METHOD@: The HTTP method, which indicated the type of operation+-- that the request is asking the origin to perform. Amazon CloudFront+-- supports the following methods: @DELETE@, @GET@, @HEAD@, @OPTIONS@,+-- @PATCH@, @POST@, and @PUT@.+--+-- - @QUERY_STRING@: A query string, which is the part of a URL that+-- appears after a @?@ character, if any.+--+-- - @URI@: The part of a web request that identifies a resource, for+-- example, @\/images\/daily-ad.jpg@.+--+-- - @BODY@: The part of a request that contains any additional data that+-- you want to send to your web server as the HTTP request body, such+-- as data from a form. The request body immediately follows the+-- request headers. Note that only the first @8192@ bytes of the+-- request body are forwarded to AWS WAF for inspection. To allow or+-- block requests based on the length of the body, you can create a+-- size constraint set. For more information, see+-- CreateSizeConstraintSet.+--+-- - @SINGLE_QUERY_ARG@: The parameter in the query string that you will+-- inspect, such as /UserName/ or /SalesRegion/. The maximum length for+-- @SINGLE_QUERY_ARG@ is 30 characters.+--+-- - @ALL_QUERY_ARGS@: Similar to @SINGLE_QUERY_ARG@, but rather than+-- inspecting a single parameter, AWS WAF will inspect all parameters+-- within the query for the value or regex pattern that you specify in+-- @TargetString@.+newFieldToMatch ::+ -- | 'type''+ MatchFieldType ->+ FieldToMatch+newFieldToMatch pType_ =+ FieldToMatch'+ { data' = Prelude.Nothing,+ type' = pType_+ }++-- | When the value of @Type@ is @HEADER@, enter the name of the header that+-- you want AWS WAF to search, for example, @User-Agent@ or @Referer@. The+-- name of the header is not case sensitive.+--+-- When the value of @Type@ is @SINGLE_QUERY_ARG@, enter the name of the+-- parameter that you want AWS WAF to search, for example, @UserName@ or+-- @SalesRegion@. The parameter name is not case sensitive.+--+-- If the value of @Type@ is any other value, omit @Data@.+fieldToMatch_data :: Lens.Lens' FieldToMatch (Prelude.Maybe Prelude.Text)+fieldToMatch_data = Lens.lens (\FieldToMatch' {data'} -> data') (\s@FieldToMatch' {} a -> s {data' = a} :: FieldToMatch)++-- | The part of the web request that you want AWS WAF to search for a+-- specified string. Parts of a request that you can search include the+-- following:+--+-- - @HEADER@: A specified request header, for example, the value of the+-- @User-Agent@ or @Referer@ header. If you choose @HEADER@ for the+-- type, specify the name of the header in @Data@.+--+-- - @METHOD@: The HTTP method, which indicated the type of operation+-- that the request is asking the origin to perform. Amazon CloudFront+-- supports the following methods: @DELETE@, @GET@, @HEAD@, @OPTIONS@,+-- @PATCH@, @POST@, and @PUT@.+--+-- - @QUERY_STRING@: A query string, which is the part of a URL that+-- appears after a @?@ character, if any.+--+-- - @URI@: The part of a web request that identifies a resource, for+-- example, @\/images\/daily-ad.jpg@.+--+-- - @BODY@: The part of a request that contains any additional data that+-- you want to send to your web server as the HTTP request body, such+-- as data from a form. The request body immediately follows the+-- request headers. Note that only the first @8192@ bytes of the+-- request body are forwarded to AWS WAF for inspection. To allow or+-- block requests based on the length of the body, you can create a+-- size constraint set. For more information, see+-- CreateSizeConstraintSet.+--+-- - @SINGLE_QUERY_ARG@: The parameter in the query string that you will+-- inspect, such as /UserName/ or /SalesRegion/. The maximum length for+-- @SINGLE_QUERY_ARG@ is 30 characters.+--+-- - @ALL_QUERY_ARGS@: Similar to @SINGLE_QUERY_ARG@, but rather than+-- inspecting a single parameter, AWS WAF will inspect all parameters+-- within the query for the value or regex pattern that you specify in+-- @TargetString@.+fieldToMatch_type :: Lens.Lens' FieldToMatch MatchFieldType+fieldToMatch_type = Lens.lens (\FieldToMatch' {type'} -> type') (\s@FieldToMatch' {} a -> s {type' = a} :: FieldToMatch)++instance Data.FromJSON FieldToMatch where+ parseJSON =+ Data.withObject+ "FieldToMatch"+ ( \x ->+ FieldToMatch'+ Prelude.<$> (x Data..:? "Data")+ Prelude.<*> (x Data..: "Type")+ )++instance Prelude.Hashable FieldToMatch where+ hashWithSalt _salt FieldToMatch' {..} =+ _salt+ `Prelude.hashWithSalt` data'+ `Prelude.hashWithSalt` type'++instance Prelude.NFData FieldToMatch where+ rnf FieldToMatch' {..} =+ Prelude.rnf data' `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON FieldToMatch where+ toJSON FieldToMatch' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Data" Data..=) Prelude.<$> data',+ Prelude.Just ("Type" Data..= type')+ ]+ )
+ gen/Amazonka/WAF/Types/GeoMatchConstraint.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.GeoMatchConstraint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.GeoMatchConstraint where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.GeoMatchConstraintType+import Amazonka.WAF.Types.GeoMatchConstraintValue++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The country from which web requests originate that you want AWS WAF to+-- search for.+--+-- /See:/ 'newGeoMatchConstraint' smart constructor.+data GeoMatchConstraint = GeoMatchConstraint'+ { -- | The type of geographical area you want AWS WAF to search for. Currently+ -- @Country@ is the only valid value.+ type' :: GeoMatchConstraintType,+ -- | The country that you want AWS WAF to search for.+ value :: GeoMatchConstraintValue+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeoMatchConstraint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'geoMatchConstraint_type' - The type of geographical area you want AWS WAF to search for. Currently+-- @Country@ is the only valid value.+--+-- 'value', 'geoMatchConstraint_value' - The country that you want AWS WAF to search for.+newGeoMatchConstraint ::+ -- | 'type''+ GeoMatchConstraintType ->+ -- | 'value'+ GeoMatchConstraintValue ->+ GeoMatchConstraint+newGeoMatchConstraint pType_ pValue_ =+ GeoMatchConstraint'+ { type' = pType_,+ value = pValue_+ }++-- | The type of geographical area you want AWS WAF to search for. Currently+-- @Country@ is the only valid value.+geoMatchConstraint_type :: Lens.Lens' GeoMatchConstraint GeoMatchConstraintType+geoMatchConstraint_type = Lens.lens (\GeoMatchConstraint' {type'} -> type') (\s@GeoMatchConstraint' {} a -> s {type' = a} :: GeoMatchConstraint)++-- | The country that you want AWS WAF to search for.+geoMatchConstraint_value :: Lens.Lens' GeoMatchConstraint GeoMatchConstraintValue+geoMatchConstraint_value = Lens.lens (\GeoMatchConstraint' {value} -> value) (\s@GeoMatchConstraint' {} a -> s {value = a} :: GeoMatchConstraint)++instance Data.FromJSON GeoMatchConstraint where+ parseJSON =+ Data.withObject+ "GeoMatchConstraint"+ ( \x ->+ GeoMatchConstraint'+ Prelude.<$> (x Data..: "Type")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable GeoMatchConstraint where+ hashWithSalt _salt GeoMatchConstraint' {..} =+ _salt+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` value++instance Prelude.NFData GeoMatchConstraint where+ rnf GeoMatchConstraint' {..} =+ Prelude.rnf type' `Prelude.seq` Prelude.rnf value++instance Data.ToJSON GeoMatchConstraint where+ toJSON GeoMatchConstraint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Type" Data..= type'),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/WAF/Types/GeoMatchConstraintType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.GeoMatchConstraintType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.GeoMatchConstraintType+ ( GeoMatchConstraintType+ ( ..,+ GeoMatchConstraintType_Country+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GeoMatchConstraintType = GeoMatchConstraintType'+ { fromGeoMatchConstraintType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern GeoMatchConstraintType_Country :: GeoMatchConstraintType+pattern GeoMatchConstraintType_Country = GeoMatchConstraintType' "Country"++{-# COMPLETE+ GeoMatchConstraintType_Country,+ GeoMatchConstraintType'+ #-}
+ gen/Amazonka/WAF/Types/GeoMatchConstraintValue.hs view
@@ -0,0 +1,1306 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.GeoMatchConstraintValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.GeoMatchConstraintValue+ ( GeoMatchConstraintValue+ ( ..,+ GeoMatchConstraintValue_AD,+ GeoMatchConstraintValue_AE,+ GeoMatchConstraintValue_AF,+ GeoMatchConstraintValue_AG,+ GeoMatchConstraintValue_AI,+ GeoMatchConstraintValue_AL,+ GeoMatchConstraintValue_AM,+ GeoMatchConstraintValue_AO,+ GeoMatchConstraintValue_AQ,+ GeoMatchConstraintValue_AR,+ GeoMatchConstraintValue_AS,+ GeoMatchConstraintValue_AT,+ GeoMatchConstraintValue_AU,+ GeoMatchConstraintValue_AW,+ GeoMatchConstraintValue_AX,+ GeoMatchConstraintValue_AZ,+ GeoMatchConstraintValue_BA,+ GeoMatchConstraintValue_BB,+ GeoMatchConstraintValue_BD,+ GeoMatchConstraintValue_BE,+ GeoMatchConstraintValue_BF,+ GeoMatchConstraintValue_BG,+ GeoMatchConstraintValue_BH,+ GeoMatchConstraintValue_BI,+ GeoMatchConstraintValue_BJ,+ GeoMatchConstraintValue_BL,+ GeoMatchConstraintValue_BM,+ GeoMatchConstraintValue_BN,+ GeoMatchConstraintValue_BO,+ GeoMatchConstraintValue_BQ,+ GeoMatchConstraintValue_BR,+ GeoMatchConstraintValue_BS,+ GeoMatchConstraintValue_BT,+ GeoMatchConstraintValue_BV,+ GeoMatchConstraintValue_BW,+ GeoMatchConstraintValue_BY,+ GeoMatchConstraintValue_BZ,+ GeoMatchConstraintValue_CA,+ GeoMatchConstraintValue_CC,+ GeoMatchConstraintValue_CD,+ GeoMatchConstraintValue_CF,+ GeoMatchConstraintValue_CG,+ GeoMatchConstraintValue_CH,+ GeoMatchConstraintValue_CI,+ GeoMatchConstraintValue_CK,+ GeoMatchConstraintValue_CL,+ GeoMatchConstraintValue_CM,+ GeoMatchConstraintValue_CN,+ GeoMatchConstraintValue_CO,+ GeoMatchConstraintValue_CR,+ GeoMatchConstraintValue_CU,+ GeoMatchConstraintValue_CV,+ GeoMatchConstraintValue_CW,+ GeoMatchConstraintValue_CX,+ GeoMatchConstraintValue_CY,+ GeoMatchConstraintValue_CZ,+ GeoMatchConstraintValue_DE,+ GeoMatchConstraintValue_DJ,+ GeoMatchConstraintValue_DK,+ GeoMatchConstraintValue_DM,+ GeoMatchConstraintValue_DO,+ GeoMatchConstraintValue_DZ,+ GeoMatchConstraintValue_EC,+ GeoMatchConstraintValue_EE,+ GeoMatchConstraintValue_EG,+ GeoMatchConstraintValue_EH,+ GeoMatchConstraintValue_ER,+ GeoMatchConstraintValue_ES,+ GeoMatchConstraintValue_ET,+ GeoMatchConstraintValue_FI,+ GeoMatchConstraintValue_FJ,+ GeoMatchConstraintValue_FK,+ GeoMatchConstraintValue_FM,+ GeoMatchConstraintValue_FO,+ GeoMatchConstraintValue_FR,+ GeoMatchConstraintValue_GA,+ GeoMatchConstraintValue_GB,+ GeoMatchConstraintValue_GD,+ GeoMatchConstraintValue_GE,+ GeoMatchConstraintValue_GF,+ GeoMatchConstraintValue_GG,+ GeoMatchConstraintValue_GH,+ GeoMatchConstraintValue_GI,+ GeoMatchConstraintValue_GL,+ GeoMatchConstraintValue_GM,+ GeoMatchConstraintValue_GN,+ GeoMatchConstraintValue_GP,+ GeoMatchConstraintValue_GQ,+ GeoMatchConstraintValue_GR,+ GeoMatchConstraintValue_GS,+ GeoMatchConstraintValue_GT,+ GeoMatchConstraintValue_GU,+ GeoMatchConstraintValue_GW,+ GeoMatchConstraintValue_GY,+ GeoMatchConstraintValue_HK,+ GeoMatchConstraintValue_HM,+ GeoMatchConstraintValue_HN,+ GeoMatchConstraintValue_HR,+ GeoMatchConstraintValue_HT,+ GeoMatchConstraintValue_HU,+ GeoMatchConstraintValue_ID,+ GeoMatchConstraintValue_IE,+ GeoMatchConstraintValue_IL,+ GeoMatchConstraintValue_IM,+ GeoMatchConstraintValue_IN,+ GeoMatchConstraintValue_IO,+ GeoMatchConstraintValue_IQ,+ GeoMatchConstraintValue_IR,+ GeoMatchConstraintValue_IS,+ GeoMatchConstraintValue_IT,+ GeoMatchConstraintValue_JE,+ GeoMatchConstraintValue_JM,+ GeoMatchConstraintValue_JO,+ GeoMatchConstraintValue_JP,+ GeoMatchConstraintValue_KE,+ GeoMatchConstraintValue_KG,+ GeoMatchConstraintValue_KH,+ GeoMatchConstraintValue_KI,+ GeoMatchConstraintValue_KM,+ GeoMatchConstraintValue_KN,+ GeoMatchConstraintValue_KP,+ GeoMatchConstraintValue_KR,+ GeoMatchConstraintValue_KW,+ GeoMatchConstraintValue_KY,+ GeoMatchConstraintValue_KZ,+ GeoMatchConstraintValue_LA,+ GeoMatchConstraintValue_LB,+ GeoMatchConstraintValue_LC,+ GeoMatchConstraintValue_LI,+ GeoMatchConstraintValue_LK,+ GeoMatchConstraintValue_LR,+ GeoMatchConstraintValue_LS,+ GeoMatchConstraintValue_LT,+ GeoMatchConstraintValue_LU,+ GeoMatchConstraintValue_LV,+ GeoMatchConstraintValue_LY,+ GeoMatchConstraintValue_MA,+ GeoMatchConstraintValue_MC,+ GeoMatchConstraintValue_MD,+ GeoMatchConstraintValue_ME,+ GeoMatchConstraintValue_MF,+ GeoMatchConstraintValue_MG,+ GeoMatchConstraintValue_MH,+ GeoMatchConstraintValue_MK,+ GeoMatchConstraintValue_ML,+ GeoMatchConstraintValue_MM,+ GeoMatchConstraintValue_MN,+ GeoMatchConstraintValue_MO,+ GeoMatchConstraintValue_MP,+ GeoMatchConstraintValue_MQ,+ GeoMatchConstraintValue_MR,+ GeoMatchConstraintValue_MS,+ GeoMatchConstraintValue_MT,+ GeoMatchConstraintValue_MU,+ GeoMatchConstraintValue_MV,+ GeoMatchConstraintValue_MW,+ GeoMatchConstraintValue_MX,+ GeoMatchConstraintValue_MY,+ GeoMatchConstraintValue_MZ,+ GeoMatchConstraintValue_NA,+ GeoMatchConstraintValue_NC,+ GeoMatchConstraintValue_NE,+ GeoMatchConstraintValue_NF,+ GeoMatchConstraintValue_NG,+ GeoMatchConstraintValue_NI,+ GeoMatchConstraintValue_NL,+ GeoMatchConstraintValue_NO,+ GeoMatchConstraintValue_NP,+ GeoMatchConstraintValue_NR,+ GeoMatchConstraintValue_NU,+ GeoMatchConstraintValue_NZ,+ GeoMatchConstraintValue_OM,+ GeoMatchConstraintValue_PA,+ GeoMatchConstraintValue_PE,+ GeoMatchConstraintValue_PF,+ GeoMatchConstraintValue_PG,+ GeoMatchConstraintValue_PH,+ GeoMatchConstraintValue_PK,+ GeoMatchConstraintValue_PL,+ GeoMatchConstraintValue_PM,+ GeoMatchConstraintValue_PN,+ GeoMatchConstraintValue_PR,+ GeoMatchConstraintValue_PS,+ GeoMatchConstraintValue_PT,+ GeoMatchConstraintValue_PW,+ GeoMatchConstraintValue_PY,+ GeoMatchConstraintValue_QA,+ GeoMatchConstraintValue_RE,+ GeoMatchConstraintValue_RO,+ GeoMatchConstraintValue_RS,+ GeoMatchConstraintValue_RU,+ GeoMatchConstraintValue_RW,+ GeoMatchConstraintValue_SA,+ GeoMatchConstraintValue_SB,+ GeoMatchConstraintValue_SC,+ GeoMatchConstraintValue_SD,+ GeoMatchConstraintValue_SE,+ GeoMatchConstraintValue_SG,+ GeoMatchConstraintValue_SH,+ GeoMatchConstraintValue_SI,+ GeoMatchConstraintValue_SJ,+ GeoMatchConstraintValue_SK,+ GeoMatchConstraintValue_SL,+ GeoMatchConstraintValue_SM,+ GeoMatchConstraintValue_SN,+ GeoMatchConstraintValue_SO,+ GeoMatchConstraintValue_SR,+ GeoMatchConstraintValue_SS,+ GeoMatchConstraintValue_ST,+ GeoMatchConstraintValue_SV,+ GeoMatchConstraintValue_SX,+ GeoMatchConstraintValue_SY,+ GeoMatchConstraintValue_SZ,+ GeoMatchConstraintValue_TC,+ GeoMatchConstraintValue_TD,+ GeoMatchConstraintValue_TF,+ GeoMatchConstraintValue_TG,+ GeoMatchConstraintValue_TH,+ GeoMatchConstraintValue_TJ,+ GeoMatchConstraintValue_TK,+ GeoMatchConstraintValue_TL,+ GeoMatchConstraintValue_TM,+ GeoMatchConstraintValue_TN,+ GeoMatchConstraintValue_TO,+ GeoMatchConstraintValue_TR,+ GeoMatchConstraintValue_TT,+ GeoMatchConstraintValue_TV,+ GeoMatchConstraintValue_TW,+ GeoMatchConstraintValue_TZ,+ GeoMatchConstraintValue_UA,+ GeoMatchConstraintValue_UG,+ GeoMatchConstraintValue_UM,+ GeoMatchConstraintValue_US,+ GeoMatchConstraintValue_UY,+ GeoMatchConstraintValue_UZ,+ GeoMatchConstraintValue_VA,+ GeoMatchConstraintValue_VC,+ GeoMatchConstraintValue_VE,+ GeoMatchConstraintValue_VG,+ GeoMatchConstraintValue_VI,+ GeoMatchConstraintValue_VN,+ GeoMatchConstraintValue_VU,+ GeoMatchConstraintValue_WF,+ GeoMatchConstraintValue_WS,+ GeoMatchConstraintValue_YE,+ GeoMatchConstraintValue_YT,+ GeoMatchConstraintValue_ZA,+ GeoMatchConstraintValue_ZM,+ GeoMatchConstraintValue_ZW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GeoMatchConstraintValue = GeoMatchConstraintValue'+ { fromGeoMatchConstraintValue ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern GeoMatchConstraintValue_AD :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AD = GeoMatchConstraintValue' "AD"++pattern GeoMatchConstraintValue_AE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AE = GeoMatchConstraintValue' "AE"++pattern GeoMatchConstraintValue_AF :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AF = GeoMatchConstraintValue' "AF"++pattern GeoMatchConstraintValue_AG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AG = GeoMatchConstraintValue' "AG"++pattern GeoMatchConstraintValue_AI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AI = GeoMatchConstraintValue' "AI"++pattern GeoMatchConstraintValue_AL :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AL = GeoMatchConstraintValue' "AL"++pattern GeoMatchConstraintValue_AM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AM = GeoMatchConstraintValue' "AM"++pattern GeoMatchConstraintValue_AO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AO = GeoMatchConstraintValue' "AO"++pattern GeoMatchConstraintValue_AQ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AQ = GeoMatchConstraintValue' "AQ"++pattern GeoMatchConstraintValue_AR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AR = GeoMatchConstraintValue' "AR"++pattern GeoMatchConstraintValue_AS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AS = GeoMatchConstraintValue' "AS"++pattern GeoMatchConstraintValue_AT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AT = GeoMatchConstraintValue' "AT"++pattern GeoMatchConstraintValue_AU :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AU = GeoMatchConstraintValue' "AU"++pattern GeoMatchConstraintValue_AW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AW = GeoMatchConstraintValue' "AW"++pattern GeoMatchConstraintValue_AX :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AX = GeoMatchConstraintValue' "AX"++pattern GeoMatchConstraintValue_AZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_AZ = GeoMatchConstraintValue' "AZ"++pattern GeoMatchConstraintValue_BA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BA = GeoMatchConstraintValue' "BA"++pattern GeoMatchConstraintValue_BB :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BB = GeoMatchConstraintValue' "BB"++pattern GeoMatchConstraintValue_BD :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BD = GeoMatchConstraintValue' "BD"++pattern GeoMatchConstraintValue_BE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BE = GeoMatchConstraintValue' "BE"++pattern GeoMatchConstraintValue_BF :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BF = GeoMatchConstraintValue' "BF"++pattern GeoMatchConstraintValue_BG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BG = GeoMatchConstraintValue' "BG"++pattern GeoMatchConstraintValue_BH :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BH = GeoMatchConstraintValue' "BH"++pattern GeoMatchConstraintValue_BI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BI = GeoMatchConstraintValue' "BI"++pattern GeoMatchConstraintValue_BJ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BJ = GeoMatchConstraintValue' "BJ"++pattern GeoMatchConstraintValue_BL :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BL = GeoMatchConstraintValue' "BL"++pattern GeoMatchConstraintValue_BM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BM = GeoMatchConstraintValue' "BM"++pattern GeoMatchConstraintValue_BN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BN = GeoMatchConstraintValue' "BN"++pattern GeoMatchConstraintValue_BO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BO = GeoMatchConstraintValue' "BO"++pattern GeoMatchConstraintValue_BQ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BQ = GeoMatchConstraintValue' "BQ"++pattern GeoMatchConstraintValue_BR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BR = GeoMatchConstraintValue' "BR"++pattern GeoMatchConstraintValue_BS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BS = GeoMatchConstraintValue' "BS"++pattern GeoMatchConstraintValue_BT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BT = GeoMatchConstraintValue' "BT"++pattern GeoMatchConstraintValue_BV :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BV = GeoMatchConstraintValue' "BV"++pattern GeoMatchConstraintValue_BW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BW = GeoMatchConstraintValue' "BW"++pattern GeoMatchConstraintValue_BY :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BY = GeoMatchConstraintValue' "BY"++pattern GeoMatchConstraintValue_BZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_BZ = GeoMatchConstraintValue' "BZ"++pattern GeoMatchConstraintValue_CA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CA = GeoMatchConstraintValue' "CA"++pattern GeoMatchConstraintValue_CC :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CC = GeoMatchConstraintValue' "CC"++pattern GeoMatchConstraintValue_CD :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CD = GeoMatchConstraintValue' "CD"++pattern GeoMatchConstraintValue_CF :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CF = GeoMatchConstraintValue' "CF"++pattern GeoMatchConstraintValue_CG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CG = GeoMatchConstraintValue' "CG"++pattern GeoMatchConstraintValue_CH :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CH = GeoMatchConstraintValue' "CH"++pattern GeoMatchConstraintValue_CI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CI = GeoMatchConstraintValue' "CI"++pattern GeoMatchConstraintValue_CK :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CK = GeoMatchConstraintValue' "CK"++pattern GeoMatchConstraintValue_CL :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CL = GeoMatchConstraintValue' "CL"++pattern GeoMatchConstraintValue_CM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CM = GeoMatchConstraintValue' "CM"++pattern GeoMatchConstraintValue_CN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CN = GeoMatchConstraintValue' "CN"++pattern GeoMatchConstraintValue_CO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CO = GeoMatchConstraintValue' "CO"++pattern GeoMatchConstraintValue_CR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CR = GeoMatchConstraintValue' "CR"++pattern GeoMatchConstraintValue_CU :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CU = GeoMatchConstraintValue' "CU"++pattern GeoMatchConstraintValue_CV :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CV = GeoMatchConstraintValue' "CV"++pattern GeoMatchConstraintValue_CW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CW = GeoMatchConstraintValue' "CW"++pattern GeoMatchConstraintValue_CX :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CX = GeoMatchConstraintValue' "CX"++pattern GeoMatchConstraintValue_CY :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CY = GeoMatchConstraintValue' "CY"++pattern GeoMatchConstraintValue_CZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_CZ = GeoMatchConstraintValue' "CZ"++pattern GeoMatchConstraintValue_DE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_DE = GeoMatchConstraintValue' "DE"++pattern GeoMatchConstraintValue_DJ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_DJ = GeoMatchConstraintValue' "DJ"++pattern GeoMatchConstraintValue_DK :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_DK = GeoMatchConstraintValue' "DK"++pattern GeoMatchConstraintValue_DM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_DM = GeoMatchConstraintValue' "DM"++pattern GeoMatchConstraintValue_DO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_DO = GeoMatchConstraintValue' "DO"++pattern GeoMatchConstraintValue_DZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_DZ = GeoMatchConstraintValue' "DZ"++pattern GeoMatchConstraintValue_EC :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_EC = GeoMatchConstraintValue' "EC"++pattern GeoMatchConstraintValue_EE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_EE = GeoMatchConstraintValue' "EE"++pattern GeoMatchConstraintValue_EG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_EG = GeoMatchConstraintValue' "EG"++pattern GeoMatchConstraintValue_EH :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_EH = GeoMatchConstraintValue' "EH"++pattern GeoMatchConstraintValue_ER :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ER = GeoMatchConstraintValue' "ER"++pattern GeoMatchConstraintValue_ES :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ES = GeoMatchConstraintValue' "ES"++pattern GeoMatchConstraintValue_ET :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ET = GeoMatchConstraintValue' "ET"++pattern GeoMatchConstraintValue_FI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_FI = GeoMatchConstraintValue' "FI"++pattern GeoMatchConstraintValue_FJ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_FJ = GeoMatchConstraintValue' "FJ"++pattern GeoMatchConstraintValue_FK :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_FK = GeoMatchConstraintValue' "FK"++pattern GeoMatchConstraintValue_FM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_FM = GeoMatchConstraintValue' "FM"++pattern GeoMatchConstraintValue_FO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_FO = GeoMatchConstraintValue' "FO"++pattern GeoMatchConstraintValue_FR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_FR = GeoMatchConstraintValue' "FR"++pattern GeoMatchConstraintValue_GA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GA = GeoMatchConstraintValue' "GA"++pattern GeoMatchConstraintValue_GB :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GB = GeoMatchConstraintValue' "GB"++pattern GeoMatchConstraintValue_GD :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GD = GeoMatchConstraintValue' "GD"++pattern GeoMatchConstraintValue_GE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GE = GeoMatchConstraintValue' "GE"++pattern GeoMatchConstraintValue_GF :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GF = GeoMatchConstraintValue' "GF"++pattern GeoMatchConstraintValue_GG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GG = GeoMatchConstraintValue' "GG"++pattern GeoMatchConstraintValue_GH :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GH = GeoMatchConstraintValue' "GH"++pattern GeoMatchConstraintValue_GI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GI = GeoMatchConstraintValue' "GI"++pattern GeoMatchConstraintValue_GL :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GL = GeoMatchConstraintValue' "GL"++pattern GeoMatchConstraintValue_GM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GM = GeoMatchConstraintValue' "GM"++pattern GeoMatchConstraintValue_GN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GN = GeoMatchConstraintValue' "GN"++pattern GeoMatchConstraintValue_GP :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GP = GeoMatchConstraintValue' "GP"++pattern GeoMatchConstraintValue_GQ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GQ = GeoMatchConstraintValue' "GQ"++pattern GeoMatchConstraintValue_GR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GR = GeoMatchConstraintValue' "GR"++pattern GeoMatchConstraintValue_GS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GS = GeoMatchConstraintValue' "GS"++pattern GeoMatchConstraintValue_GT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GT = GeoMatchConstraintValue' "GT"++pattern GeoMatchConstraintValue_GU :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GU = GeoMatchConstraintValue' "GU"++pattern GeoMatchConstraintValue_GW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GW = GeoMatchConstraintValue' "GW"++pattern GeoMatchConstraintValue_GY :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_GY = GeoMatchConstraintValue' "GY"++pattern GeoMatchConstraintValue_HK :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_HK = GeoMatchConstraintValue' "HK"++pattern GeoMatchConstraintValue_HM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_HM = GeoMatchConstraintValue' "HM"++pattern GeoMatchConstraintValue_HN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_HN = GeoMatchConstraintValue' "HN"++pattern GeoMatchConstraintValue_HR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_HR = GeoMatchConstraintValue' "HR"++pattern GeoMatchConstraintValue_HT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_HT = GeoMatchConstraintValue' "HT"++pattern GeoMatchConstraintValue_HU :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_HU = GeoMatchConstraintValue' "HU"++pattern GeoMatchConstraintValue_ID :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ID = GeoMatchConstraintValue' "ID"++pattern GeoMatchConstraintValue_IE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_IE = GeoMatchConstraintValue' "IE"++pattern GeoMatchConstraintValue_IL :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_IL = GeoMatchConstraintValue' "IL"++pattern GeoMatchConstraintValue_IM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_IM = GeoMatchConstraintValue' "IM"++pattern GeoMatchConstraintValue_IN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_IN = GeoMatchConstraintValue' "IN"++pattern GeoMatchConstraintValue_IO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_IO = GeoMatchConstraintValue' "IO"++pattern GeoMatchConstraintValue_IQ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_IQ = GeoMatchConstraintValue' "IQ"++pattern GeoMatchConstraintValue_IR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_IR = GeoMatchConstraintValue' "IR"++pattern GeoMatchConstraintValue_IS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_IS = GeoMatchConstraintValue' "IS"++pattern GeoMatchConstraintValue_IT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_IT = GeoMatchConstraintValue' "IT"++pattern GeoMatchConstraintValue_JE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_JE = GeoMatchConstraintValue' "JE"++pattern GeoMatchConstraintValue_JM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_JM = GeoMatchConstraintValue' "JM"++pattern GeoMatchConstraintValue_JO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_JO = GeoMatchConstraintValue' "JO"++pattern GeoMatchConstraintValue_JP :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_JP = GeoMatchConstraintValue' "JP"++pattern GeoMatchConstraintValue_KE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KE = GeoMatchConstraintValue' "KE"++pattern GeoMatchConstraintValue_KG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KG = GeoMatchConstraintValue' "KG"++pattern GeoMatchConstraintValue_KH :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KH = GeoMatchConstraintValue' "KH"++pattern GeoMatchConstraintValue_KI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KI = GeoMatchConstraintValue' "KI"++pattern GeoMatchConstraintValue_KM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KM = GeoMatchConstraintValue' "KM"++pattern GeoMatchConstraintValue_KN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KN = GeoMatchConstraintValue' "KN"++pattern GeoMatchConstraintValue_KP :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KP = GeoMatchConstraintValue' "KP"++pattern GeoMatchConstraintValue_KR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KR = GeoMatchConstraintValue' "KR"++pattern GeoMatchConstraintValue_KW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KW = GeoMatchConstraintValue' "KW"++pattern GeoMatchConstraintValue_KY :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KY = GeoMatchConstraintValue' "KY"++pattern GeoMatchConstraintValue_KZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_KZ = GeoMatchConstraintValue' "KZ"++pattern GeoMatchConstraintValue_LA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LA = GeoMatchConstraintValue' "LA"++pattern GeoMatchConstraintValue_LB :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LB = GeoMatchConstraintValue' "LB"++pattern GeoMatchConstraintValue_LC :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LC = GeoMatchConstraintValue' "LC"++pattern GeoMatchConstraintValue_LI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LI = GeoMatchConstraintValue' "LI"++pattern GeoMatchConstraintValue_LK :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LK = GeoMatchConstraintValue' "LK"++pattern GeoMatchConstraintValue_LR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LR = GeoMatchConstraintValue' "LR"++pattern GeoMatchConstraintValue_LS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LS = GeoMatchConstraintValue' "LS"++pattern GeoMatchConstraintValue_LT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LT = GeoMatchConstraintValue' "LT"++pattern GeoMatchConstraintValue_LU :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LU = GeoMatchConstraintValue' "LU"++pattern GeoMatchConstraintValue_LV :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LV = GeoMatchConstraintValue' "LV"++pattern GeoMatchConstraintValue_LY :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_LY = GeoMatchConstraintValue' "LY"++pattern GeoMatchConstraintValue_MA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MA = GeoMatchConstraintValue' "MA"++pattern GeoMatchConstraintValue_MC :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MC = GeoMatchConstraintValue' "MC"++pattern GeoMatchConstraintValue_MD :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MD = GeoMatchConstraintValue' "MD"++pattern GeoMatchConstraintValue_ME :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ME = GeoMatchConstraintValue' "ME"++pattern GeoMatchConstraintValue_MF :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MF = GeoMatchConstraintValue' "MF"++pattern GeoMatchConstraintValue_MG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MG = GeoMatchConstraintValue' "MG"++pattern GeoMatchConstraintValue_MH :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MH = GeoMatchConstraintValue' "MH"++pattern GeoMatchConstraintValue_MK :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MK = GeoMatchConstraintValue' "MK"++pattern GeoMatchConstraintValue_ML :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ML = GeoMatchConstraintValue' "ML"++pattern GeoMatchConstraintValue_MM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MM = GeoMatchConstraintValue' "MM"++pattern GeoMatchConstraintValue_MN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MN = GeoMatchConstraintValue' "MN"++pattern GeoMatchConstraintValue_MO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MO = GeoMatchConstraintValue' "MO"++pattern GeoMatchConstraintValue_MP :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MP = GeoMatchConstraintValue' "MP"++pattern GeoMatchConstraintValue_MQ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MQ = GeoMatchConstraintValue' "MQ"++pattern GeoMatchConstraintValue_MR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MR = GeoMatchConstraintValue' "MR"++pattern GeoMatchConstraintValue_MS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MS = GeoMatchConstraintValue' "MS"++pattern GeoMatchConstraintValue_MT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MT = GeoMatchConstraintValue' "MT"++pattern GeoMatchConstraintValue_MU :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MU = GeoMatchConstraintValue' "MU"++pattern GeoMatchConstraintValue_MV :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MV = GeoMatchConstraintValue' "MV"++pattern GeoMatchConstraintValue_MW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MW = GeoMatchConstraintValue' "MW"++pattern GeoMatchConstraintValue_MX :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MX = GeoMatchConstraintValue' "MX"++pattern GeoMatchConstraintValue_MY :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MY = GeoMatchConstraintValue' "MY"++pattern GeoMatchConstraintValue_MZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_MZ = GeoMatchConstraintValue' "MZ"++pattern GeoMatchConstraintValue_NA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NA = GeoMatchConstraintValue' "NA"++pattern GeoMatchConstraintValue_NC :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NC = GeoMatchConstraintValue' "NC"++pattern GeoMatchConstraintValue_NE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NE = GeoMatchConstraintValue' "NE"++pattern GeoMatchConstraintValue_NF :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NF = GeoMatchConstraintValue' "NF"++pattern GeoMatchConstraintValue_NG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NG = GeoMatchConstraintValue' "NG"++pattern GeoMatchConstraintValue_NI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NI = GeoMatchConstraintValue' "NI"++pattern GeoMatchConstraintValue_NL :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NL = GeoMatchConstraintValue' "NL"++pattern GeoMatchConstraintValue_NO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NO = GeoMatchConstraintValue' "NO"++pattern GeoMatchConstraintValue_NP :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NP = GeoMatchConstraintValue' "NP"++pattern GeoMatchConstraintValue_NR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NR = GeoMatchConstraintValue' "NR"++pattern GeoMatchConstraintValue_NU :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NU = GeoMatchConstraintValue' "NU"++pattern GeoMatchConstraintValue_NZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_NZ = GeoMatchConstraintValue' "NZ"++pattern GeoMatchConstraintValue_OM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_OM = GeoMatchConstraintValue' "OM"++pattern GeoMatchConstraintValue_PA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PA = GeoMatchConstraintValue' "PA"++pattern GeoMatchConstraintValue_PE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PE = GeoMatchConstraintValue' "PE"++pattern GeoMatchConstraintValue_PF :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PF = GeoMatchConstraintValue' "PF"++pattern GeoMatchConstraintValue_PG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PG = GeoMatchConstraintValue' "PG"++pattern GeoMatchConstraintValue_PH :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PH = GeoMatchConstraintValue' "PH"++pattern GeoMatchConstraintValue_PK :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PK = GeoMatchConstraintValue' "PK"++pattern GeoMatchConstraintValue_PL :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PL = GeoMatchConstraintValue' "PL"++pattern GeoMatchConstraintValue_PM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PM = GeoMatchConstraintValue' "PM"++pattern GeoMatchConstraintValue_PN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PN = GeoMatchConstraintValue' "PN"++pattern GeoMatchConstraintValue_PR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PR = GeoMatchConstraintValue' "PR"++pattern GeoMatchConstraintValue_PS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PS = GeoMatchConstraintValue' "PS"++pattern GeoMatchConstraintValue_PT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PT = GeoMatchConstraintValue' "PT"++pattern GeoMatchConstraintValue_PW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PW = GeoMatchConstraintValue' "PW"++pattern GeoMatchConstraintValue_PY :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_PY = GeoMatchConstraintValue' "PY"++pattern GeoMatchConstraintValue_QA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_QA = GeoMatchConstraintValue' "QA"++pattern GeoMatchConstraintValue_RE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_RE = GeoMatchConstraintValue' "RE"++pattern GeoMatchConstraintValue_RO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_RO = GeoMatchConstraintValue' "RO"++pattern GeoMatchConstraintValue_RS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_RS = GeoMatchConstraintValue' "RS"++pattern GeoMatchConstraintValue_RU :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_RU = GeoMatchConstraintValue' "RU"++pattern GeoMatchConstraintValue_RW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_RW = GeoMatchConstraintValue' "RW"++pattern GeoMatchConstraintValue_SA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SA = GeoMatchConstraintValue' "SA"++pattern GeoMatchConstraintValue_SB :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SB = GeoMatchConstraintValue' "SB"++pattern GeoMatchConstraintValue_SC :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SC = GeoMatchConstraintValue' "SC"++pattern GeoMatchConstraintValue_SD :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SD = GeoMatchConstraintValue' "SD"++pattern GeoMatchConstraintValue_SE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SE = GeoMatchConstraintValue' "SE"++pattern GeoMatchConstraintValue_SG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SG = GeoMatchConstraintValue' "SG"++pattern GeoMatchConstraintValue_SH :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SH = GeoMatchConstraintValue' "SH"++pattern GeoMatchConstraintValue_SI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SI = GeoMatchConstraintValue' "SI"++pattern GeoMatchConstraintValue_SJ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SJ = GeoMatchConstraintValue' "SJ"++pattern GeoMatchConstraintValue_SK :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SK = GeoMatchConstraintValue' "SK"++pattern GeoMatchConstraintValue_SL :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SL = GeoMatchConstraintValue' "SL"++pattern GeoMatchConstraintValue_SM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SM = GeoMatchConstraintValue' "SM"++pattern GeoMatchConstraintValue_SN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SN = GeoMatchConstraintValue' "SN"++pattern GeoMatchConstraintValue_SO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SO = GeoMatchConstraintValue' "SO"++pattern GeoMatchConstraintValue_SR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SR = GeoMatchConstraintValue' "SR"++pattern GeoMatchConstraintValue_SS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SS = GeoMatchConstraintValue' "SS"++pattern GeoMatchConstraintValue_ST :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ST = GeoMatchConstraintValue' "ST"++pattern GeoMatchConstraintValue_SV :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SV = GeoMatchConstraintValue' "SV"++pattern GeoMatchConstraintValue_SX :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SX = GeoMatchConstraintValue' "SX"++pattern GeoMatchConstraintValue_SY :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SY = GeoMatchConstraintValue' "SY"++pattern GeoMatchConstraintValue_SZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_SZ = GeoMatchConstraintValue' "SZ"++pattern GeoMatchConstraintValue_TC :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TC = GeoMatchConstraintValue' "TC"++pattern GeoMatchConstraintValue_TD :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TD = GeoMatchConstraintValue' "TD"++pattern GeoMatchConstraintValue_TF :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TF = GeoMatchConstraintValue' "TF"++pattern GeoMatchConstraintValue_TG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TG = GeoMatchConstraintValue' "TG"++pattern GeoMatchConstraintValue_TH :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TH = GeoMatchConstraintValue' "TH"++pattern GeoMatchConstraintValue_TJ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TJ = GeoMatchConstraintValue' "TJ"++pattern GeoMatchConstraintValue_TK :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TK = GeoMatchConstraintValue' "TK"++pattern GeoMatchConstraintValue_TL :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TL = GeoMatchConstraintValue' "TL"++pattern GeoMatchConstraintValue_TM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TM = GeoMatchConstraintValue' "TM"++pattern GeoMatchConstraintValue_TN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TN = GeoMatchConstraintValue' "TN"++pattern GeoMatchConstraintValue_TO :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TO = GeoMatchConstraintValue' "TO"++pattern GeoMatchConstraintValue_TR :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TR = GeoMatchConstraintValue' "TR"++pattern GeoMatchConstraintValue_TT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TT = GeoMatchConstraintValue' "TT"++pattern GeoMatchConstraintValue_TV :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TV = GeoMatchConstraintValue' "TV"++pattern GeoMatchConstraintValue_TW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TW = GeoMatchConstraintValue' "TW"++pattern GeoMatchConstraintValue_TZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_TZ = GeoMatchConstraintValue' "TZ"++pattern GeoMatchConstraintValue_UA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_UA = GeoMatchConstraintValue' "UA"++pattern GeoMatchConstraintValue_UG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_UG = GeoMatchConstraintValue' "UG"++pattern GeoMatchConstraintValue_UM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_UM = GeoMatchConstraintValue' "UM"++pattern GeoMatchConstraintValue_US :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_US = GeoMatchConstraintValue' "US"++pattern GeoMatchConstraintValue_UY :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_UY = GeoMatchConstraintValue' "UY"++pattern GeoMatchConstraintValue_UZ :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_UZ = GeoMatchConstraintValue' "UZ"++pattern GeoMatchConstraintValue_VA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_VA = GeoMatchConstraintValue' "VA"++pattern GeoMatchConstraintValue_VC :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_VC = GeoMatchConstraintValue' "VC"++pattern GeoMatchConstraintValue_VE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_VE = GeoMatchConstraintValue' "VE"++pattern GeoMatchConstraintValue_VG :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_VG = GeoMatchConstraintValue' "VG"++pattern GeoMatchConstraintValue_VI :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_VI = GeoMatchConstraintValue' "VI"++pattern GeoMatchConstraintValue_VN :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_VN = GeoMatchConstraintValue' "VN"++pattern GeoMatchConstraintValue_VU :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_VU = GeoMatchConstraintValue' "VU"++pattern GeoMatchConstraintValue_WF :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_WF = GeoMatchConstraintValue' "WF"++pattern GeoMatchConstraintValue_WS :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_WS = GeoMatchConstraintValue' "WS"++pattern GeoMatchConstraintValue_YE :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_YE = GeoMatchConstraintValue' "YE"++pattern GeoMatchConstraintValue_YT :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_YT = GeoMatchConstraintValue' "YT"++pattern GeoMatchConstraintValue_ZA :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ZA = GeoMatchConstraintValue' "ZA"++pattern GeoMatchConstraintValue_ZM :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ZM = GeoMatchConstraintValue' "ZM"++pattern GeoMatchConstraintValue_ZW :: GeoMatchConstraintValue+pattern GeoMatchConstraintValue_ZW = GeoMatchConstraintValue' "ZW"++{-# COMPLETE+ GeoMatchConstraintValue_AD,+ GeoMatchConstraintValue_AE,+ GeoMatchConstraintValue_AF,+ GeoMatchConstraintValue_AG,+ GeoMatchConstraintValue_AI,+ GeoMatchConstraintValue_AL,+ GeoMatchConstraintValue_AM,+ GeoMatchConstraintValue_AO,+ GeoMatchConstraintValue_AQ,+ GeoMatchConstraintValue_AR,+ GeoMatchConstraintValue_AS,+ GeoMatchConstraintValue_AT,+ GeoMatchConstraintValue_AU,+ GeoMatchConstraintValue_AW,+ GeoMatchConstraintValue_AX,+ GeoMatchConstraintValue_AZ,+ GeoMatchConstraintValue_BA,+ GeoMatchConstraintValue_BB,+ GeoMatchConstraintValue_BD,+ GeoMatchConstraintValue_BE,+ GeoMatchConstraintValue_BF,+ GeoMatchConstraintValue_BG,+ GeoMatchConstraintValue_BH,+ GeoMatchConstraintValue_BI,+ GeoMatchConstraintValue_BJ,+ GeoMatchConstraintValue_BL,+ GeoMatchConstraintValue_BM,+ GeoMatchConstraintValue_BN,+ GeoMatchConstraintValue_BO,+ GeoMatchConstraintValue_BQ,+ GeoMatchConstraintValue_BR,+ GeoMatchConstraintValue_BS,+ GeoMatchConstraintValue_BT,+ GeoMatchConstraintValue_BV,+ GeoMatchConstraintValue_BW,+ GeoMatchConstraintValue_BY,+ GeoMatchConstraintValue_BZ,+ GeoMatchConstraintValue_CA,+ GeoMatchConstraintValue_CC,+ GeoMatchConstraintValue_CD,+ GeoMatchConstraintValue_CF,+ GeoMatchConstraintValue_CG,+ GeoMatchConstraintValue_CH,+ GeoMatchConstraintValue_CI,+ GeoMatchConstraintValue_CK,+ GeoMatchConstraintValue_CL,+ GeoMatchConstraintValue_CM,+ GeoMatchConstraintValue_CN,+ GeoMatchConstraintValue_CO,+ GeoMatchConstraintValue_CR,+ GeoMatchConstraintValue_CU,+ GeoMatchConstraintValue_CV,+ GeoMatchConstraintValue_CW,+ GeoMatchConstraintValue_CX,+ GeoMatchConstraintValue_CY,+ GeoMatchConstraintValue_CZ,+ GeoMatchConstraintValue_DE,+ GeoMatchConstraintValue_DJ,+ GeoMatchConstraintValue_DK,+ GeoMatchConstraintValue_DM,+ GeoMatchConstraintValue_DO,+ GeoMatchConstraintValue_DZ,+ GeoMatchConstraintValue_EC,+ GeoMatchConstraintValue_EE,+ GeoMatchConstraintValue_EG,+ GeoMatchConstraintValue_EH,+ GeoMatchConstraintValue_ER,+ GeoMatchConstraintValue_ES,+ GeoMatchConstraintValue_ET,+ GeoMatchConstraintValue_FI,+ GeoMatchConstraintValue_FJ,+ GeoMatchConstraintValue_FK,+ GeoMatchConstraintValue_FM,+ GeoMatchConstraintValue_FO,+ GeoMatchConstraintValue_FR,+ GeoMatchConstraintValue_GA,+ GeoMatchConstraintValue_GB,+ GeoMatchConstraintValue_GD,+ GeoMatchConstraintValue_GE,+ GeoMatchConstraintValue_GF,+ GeoMatchConstraintValue_GG,+ GeoMatchConstraintValue_GH,+ GeoMatchConstraintValue_GI,+ GeoMatchConstraintValue_GL,+ GeoMatchConstraintValue_GM,+ GeoMatchConstraintValue_GN,+ GeoMatchConstraintValue_GP,+ GeoMatchConstraintValue_GQ,+ GeoMatchConstraintValue_GR,+ GeoMatchConstraintValue_GS,+ GeoMatchConstraintValue_GT,+ GeoMatchConstraintValue_GU,+ GeoMatchConstraintValue_GW,+ GeoMatchConstraintValue_GY,+ GeoMatchConstraintValue_HK,+ GeoMatchConstraintValue_HM,+ GeoMatchConstraintValue_HN,+ GeoMatchConstraintValue_HR,+ GeoMatchConstraintValue_HT,+ GeoMatchConstraintValue_HU,+ GeoMatchConstraintValue_ID,+ GeoMatchConstraintValue_IE,+ GeoMatchConstraintValue_IL,+ GeoMatchConstraintValue_IM,+ GeoMatchConstraintValue_IN,+ GeoMatchConstraintValue_IO,+ GeoMatchConstraintValue_IQ,+ GeoMatchConstraintValue_IR,+ GeoMatchConstraintValue_IS,+ GeoMatchConstraintValue_IT,+ GeoMatchConstraintValue_JE,+ GeoMatchConstraintValue_JM,+ GeoMatchConstraintValue_JO,+ GeoMatchConstraintValue_JP,+ GeoMatchConstraintValue_KE,+ GeoMatchConstraintValue_KG,+ GeoMatchConstraintValue_KH,+ GeoMatchConstraintValue_KI,+ GeoMatchConstraintValue_KM,+ GeoMatchConstraintValue_KN,+ GeoMatchConstraintValue_KP,+ GeoMatchConstraintValue_KR,+ GeoMatchConstraintValue_KW,+ GeoMatchConstraintValue_KY,+ GeoMatchConstraintValue_KZ,+ GeoMatchConstraintValue_LA,+ GeoMatchConstraintValue_LB,+ GeoMatchConstraintValue_LC,+ GeoMatchConstraintValue_LI,+ GeoMatchConstraintValue_LK,+ GeoMatchConstraintValue_LR,+ GeoMatchConstraintValue_LS,+ GeoMatchConstraintValue_LT,+ GeoMatchConstraintValue_LU,+ GeoMatchConstraintValue_LV,+ GeoMatchConstraintValue_LY,+ GeoMatchConstraintValue_MA,+ GeoMatchConstraintValue_MC,+ GeoMatchConstraintValue_MD,+ GeoMatchConstraintValue_ME,+ GeoMatchConstraintValue_MF,+ GeoMatchConstraintValue_MG,+ GeoMatchConstraintValue_MH,+ GeoMatchConstraintValue_MK,+ GeoMatchConstraintValue_ML,+ GeoMatchConstraintValue_MM,+ GeoMatchConstraintValue_MN,+ GeoMatchConstraintValue_MO,+ GeoMatchConstraintValue_MP,+ GeoMatchConstraintValue_MQ,+ GeoMatchConstraintValue_MR,+ GeoMatchConstraintValue_MS,+ GeoMatchConstraintValue_MT,+ GeoMatchConstraintValue_MU,+ GeoMatchConstraintValue_MV,+ GeoMatchConstraintValue_MW,+ GeoMatchConstraintValue_MX,+ GeoMatchConstraintValue_MY,+ GeoMatchConstraintValue_MZ,+ GeoMatchConstraintValue_NA,+ GeoMatchConstraintValue_NC,+ GeoMatchConstraintValue_NE,+ GeoMatchConstraintValue_NF,+ GeoMatchConstraintValue_NG,+ GeoMatchConstraintValue_NI,+ GeoMatchConstraintValue_NL,+ GeoMatchConstraintValue_NO,+ GeoMatchConstraintValue_NP,+ GeoMatchConstraintValue_NR,+ GeoMatchConstraintValue_NU,+ GeoMatchConstraintValue_NZ,+ GeoMatchConstraintValue_OM,+ GeoMatchConstraintValue_PA,+ GeoMatchConstraintValue_PE,+ GeoMatchConstraintValue_PF,+ GeoMatchConstraintValue_PG,+ GeoMatchConstraintValue_PH,+ GeoMatchConstraintValue_PK,+ GeoMatchConstraintValue_PL,+ GeoMatchConstraintValue_PM,+ GeoMatchConstraintValue_PN,+ GeoMatchConstraintValue_PR,+ GeoMatchConstraintValue_PS,+ GeoMatchConstraintValue_PT,+ GeoMatchConstraintValue_PW,+ GeoMatchConstraintValue_PY,+ GeoMatchConstraintValue_QA,+ GeoMatchConstraintValue_RE,+ GeoMatchConstraintValue_RO,+ GeoMatchConstraintValue_RS,+ GeoMatchConstraintValue_RU,+ GeoMatchConstraintValue_RW,+ GeoMatchConstraintValue_SA,+ GeoMatchConstraintValue_SB,+ GeoMatchConstraintValue_SC,+ GeoMatchConstraintValue_SD,+ GeoMatchConstraintValue_SE,+ GeoMatchConstraintValue_SG,+ GeoMatchConstraintValue_SH,+ GeoMatchConstraintValue_SI,+ GeoMatchConstraintValue_SJ,+ GeoMatchConstraintValue_SK,+ GeoMatchConstraintValue_SL,+ GeoMatchConstraintValue_SM,+ GeoMatchConstraintValue_SN,+ GeoMatchConstraintValue_SO,+ GeoMatchConstraintValue_SR,+ GeoMatchConstraintValue_SS,+ GeoMatchConstraintValue_ST,+ GeoMatchConstraintValue_SV,+ GeoMatchConstraintValue_SX,+ GeoMatchConstraintValue_SY,+ GeoMatchConstraintValue_SZ,+ GeoMatchConstraintValue_TC,+ GeoMatchConstraintValue_TD,+ GeoMatchConstraintValue_TF,+ GeoMatchConstraintValue_TG,+ GeoMatchConstraintValue_TH,+ GeoMatchConstraintValue_TJ,+ GeoMatchConstraintValue_TK,+ GeoMatchConstraintValue_TL,+ GeoMatchConstraintValue_TM,+ GeoMatchConstraintValue_TN,+ GeoMatchConstraintValue_TO,+ GeoMatchConstraintValue_TR,+ GeoMatchConstraintValue_TT,+ GeoMatchConstraintValue_TV,+ GeoMatchConstraintValue_TW,+ GeoMatchConstraintValue_TZ,+ GeoMatchConstraintValue_UA,+ GeoMatchConstraintValue_UG,+ GeoMatchConstraintValue_UM,+ GeoMatchConstraintValue_US,+ GeoMatchConstraintValue_UY,+ GeoMatchConstraintValue_UZ,+ GeoMatchConstraintValue_VA,+ GeoMatchConstraintValue_VC,+ GeoMatchConstraintValue_VE,+ GeoMatchConstraintValue_VG,+ GeoMatchConstraintValue_VI,+ GeoMatchConstraintValue_VN,+ GeoMatchConstraintValue_VU,+ GeoMatchConstraintValue_WF,+ GeoMatchConstraintValue_WS,+ GeoMatchConstraintValue_YE,+ GeoMatchConstraintValue_YT,+ GeoMatchConstraintValue_ZA,+ GeoMatchConstraintValue_ZM,+ GeoMatchConstraintValue_ZW,+ GeoMatchConstraintValue'+ #-}
+ gen/Amazonka/WAF/Types/GeoMatchSet.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.GeoMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.GeoMatchSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.GeoMatchConstraint++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Contains one or more countries that AWS WAF will search for.+--+-- /See:/ 'newGeoMatchSet' smart constructor.+data GeoMatchSet = GeoMatchSet'+ { -- | A friendly name or description of the GeoMatchSet. You can\'t change the+ -- name of an @GeoMatchSet@ after you create it.+ name :: Prelude.Maybe Prelude.Text,+ -- | The @GeoMatchSetId@ for an @GeoMatchSet@. You use @GeoMatchSetId@ to get+ -- information about a @GeoMatchSet@ (see GeoMatchSet), update a+ -- @GeoMatchSet@ (see UpdateGeoMatchSet), insert a @GeoMatchSet@ into a+ -- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete a+ -- @GeoMatchSet@ from AWS WAF (see DeleteGeoMatchSet).+ --+ -- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+ -- ListGeoMatchSets.+ geoMatchSetId :: Prelude.Text,+ -- | An array of GeoMatchConstraint objects, which contain the country that+ -- you want AWS WAF to search for.+ geoMatchConstraints :: [GeoMatchConstraint]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeoMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'geoMatchSet_name' - A friendly name or description of the GeoMatchSet. You can\'t change the+-- name of an @GeoMatchSet@ after you create it.+--+-- 'geoMatchSetId', 'geoMatchSet_geoMatchSetId' - The @GeoMatchSetId@ for an @GeoMatchSet@. You use @GeoMatchSetId@ to get+-- information about a @GeoMatchSet@ (see GeoMatchSet), update a+-- @GeoMatchSet@ (see UpdateGeoMatchSet), insert a @GeoMatchSet@ into a+-- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete a+-- @GeoMatchSet@ from AWS WAF (see DeleteGeoMatchSet).+--+-- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+-- ListGeoMatchSets.+--+-- 'geoMatchConstraints', 'geoMatchSet_geoMatchConstraints' - An array of GeoMatchConstraint objects, which contain the country that+-- you want AWS WAF to search for.+newGeoMatchSet ::+ -- | 'geoMatchSetId'+ Prelude.Text ->+ GeoMatchSet+newGeoMatchSet pGeoMatchSetId_ =+ GeoMatchSet'+ { name = Prelude.Nothing,+ geoMatchSetId = pGeoMatchSetId_,+ geoMatchConstraints = Prelude.mempty+ }++-- | A friendly name or description of the GeoMatchSet. You can\'t change the+-- name of an @GeoMatchSet@ after you create it.+geoMatchSet_name :: Lens.Lens' GeoMatchSet (Prelude.Maybe Prelude.Text)+geoMatchSet_name = Lens.lens (\GeoMatchSet' {name} -> name) (\s@GeoMatchSet' {} a -> s {name = a} :: GeoMatchSet)++-- | The @GeoMatchSetId@ for an @GeoMatchSet@. You use @GeoMatchSetId@ to get+-- information about a @GeoMatchSet@ (see GeoMatchSet), update a+-- @GeoMatchSet@ (see UpdateGeoMatchSet), insert a @GeoMatchSet@ into a+-- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete a+-- @GeoMatchSet@ from AWS WAF (see DeleteGeoMatchSet).+--+-- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+-- ListGeoMatchSets.+geoMatchSet_geoMatchSetId :: Lens.Lens' GeoMatchSet Prelude.Text+geoMatchSet_geoMatchSetId = Lens.lens (\GeoMatchSet' {geoMatchSetId} -> geoMatchSetId) (\s@GeoMatchSet' {} a -> s {geoMatchSetId = a} :: GeoMatchSet)++-- | An array of GeoMatchConstraint objects, which contain the country that+-- you want AWS WAF to search for.+geoMatchSet_geoMatchConstraints :: Lens.Lens' GeoMatchSet [GeoMatchConstraint]+geoMatchSet_geoMatchConstraints = Lens.lens (\GeoMatchSet' {geoMatchConstraints} -> geoMatchConstraints) (\s@GeoMatchSet' {} a -> s {geoMatchConstraints = a} :: GeoMatchSet) Prelude.. Lens.coerced++instance Data.FromJSON GeoMatchSet where+ parseJSON =+ Data.withObject+ "GeoMatchSet"+ ( \x ->+ GeoMatchSet'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..: "GeoMatchSetId")+ Prelude.<*> ( x+ Data..:? "GeoMatchConstraints"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable GeoMatchSet where+ hashWithSalt _salt GeoMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` geoMatchSetId+ `Prelude.hashWithSalt` geoMatchConstraints++instance Prelude.NFData GeoMatchSet where+ rnf GeoMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf geoMatchSetId+ `Prelude.seq` Prelude.rnf geoMatchConstraints
+ gen/Amazonka/WAF/Types/GeoMatchSetSummary.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.GeoMatchSetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.GeoMatchSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Contains the identifier and the name of the @GeoMatchSet@.+--+-- /See:/ 'newGeoMatchSetSummary' smart constructor.+data GeoMatchSetSummary = GeoMatchSetSummary'+ { -- | The @GeoMatchSetId@ for an GeoMatchSet. You can use @GeoMatchSetId@ in a+ -- GetGeoMatchSet request to get detailed information about an GeoMatchSet.+ geoMatchSetId :: Prelude.Text,+ -- | A friendly name or description of the GeoMatchSet. You can\'t change the+ -- name of an @GeoMatchSet@ after you create it.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeoMatchSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoMatchSetId', 'geoMatchSetSummary_geoMatchSetId' - The @GeoMatchSetId@ for an GeoMatchSet. You can use @GeoMatchSetId@ in a+-- GetGeoMatchSet request to get detailed information about an GeoMatchSet.+--+-- 'name', 'geoMatchSetSummary_name' - A friendly name or description of the GeoMatchSet. You can\'t change the+-- name of an @GeoMatchSet@ after you create it.+newGeoMatchSetSummary ::+ -- | 'geoMatchSetId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ GeoMatchSetSummary+newGeoMatchSetSummary pGeoMatchSetId_ pName_ =+ GeoMatchSetSummary'+ { geoMatchSetId =+ pGeoMatchSetId_,+ name = pName_+ }++-- | The @GeoMatchSetId@ for an GeoMatchSet. You can use @GeoMatchSetId@ in a+-- GetGeoMatchSet request to get detailed information about an GeoMatchSet.+geoMatchSetSummary_geoMatchSetId :: Lens.Lens' GeoMatchSetSummary Prelude.Text+geoMatchSetSummary_geoMatchSetId = Lens.lens (\GeoMatchSetSummary' {geoMatchSetId} -> geoMatchSetId) (\s@GeoMatchSetSummary' {} a -> s {geoMatchSetId = a} :: GeoMatchSetSummary)++-- | A friendly name or description of the GeoMatchSet. You can\'t change the+-- name of an @GeoMatchSet@ after you create it.+geoMatchSetSummary_name :: Lens.Lens' GeoMatchSetSummary Prelude.Text+geoMatchSetSummary_name = Lens.lens (\GeoMatchSetSummary' {name} -> name) (\s@GeoMatchSetSummary' {} a -> s {name = a} :: GeoMatchSetSummary)++instance Data.FromJSON GeoMatchSetSummary where+ parseJSON =+ Data.withObject+ "GeoMatchSetSummary"+ ( \x ->+ GeoMatchSetSummary'+ Prelude.<$> (x Data..: "GeoMatchSetId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable GeoMatchSetSummary where+ hashWithSalt _salt GeoMatchSetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` geoMatchSetId+ `Prelude.hashWithSalt` name++instance Prelude.NFData GeoMatchSetSummary where+ rnf GeoMatchSetSummary' {..} =+ Prelude.rnf geoMatchSetId+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/GeoMatchSetUpdate.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.GeoMatchSetUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.GeoMatchSetUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ChangeAction+import Amazonka.WAF.Types.GeoMatchConstraint++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies the type of update to perform to an GeoMatchSet with+-- UpdateGeoMatchSet.+--+-- /See:/ 'newGeoMatchSetUpdate' smart constructor.+data GeoMatchSetUpdate = GeoMatchSetUpdate'+ { -- | Specifies whether to insert or delete a country with UpdateGeoMatchSet.+ action :: ChangeAction,+ -- | The country from which web requests originate that you want AWS WAF to+ -- search for.+ geoMatchConstraint :: GeoMatchConstraint+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeoMatchSetUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'geoMatchSetUpdate_action' - Specifies whether to insert or delete a country with UpdateGeoMatchSet.+--+-- 'geoMatchConstraint', 'geoMatchSetUpdate_geoMatchConstraint' - The country from which web requests originate that you want AWS WAF to+-- search for.+newGeoMatchSetUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'geoMatchConstraint'+ GeoMatchConstraint ->+ GeoMatchSetUpdate+newGeoMatchSetUpdate pAction_ pGeoMatchConstraint_ =+ GeoMatchSetUpdate'+ { action = pAction_,+ geoMatchConstraint = pGeoMatchConstraint_+ }++-- | Specifies whether to insert or delete a country with UpdateGeoMatchSet.+geoMatchSetUpdate_action :: Lens.Lens' GeoMatchSetUpdate ChangeAction+geoMatchSetUpdate_action = Lens.lens (\GeoMatchSetUpdate' {action} -> action) (\s@GeoMatchSetUpdate' {} a -> s {action = a} :: GeoMatchSetUpdate)++-- | The country from which web requests originate that you want AWS WAF to+-- search for.+geoMatchSetUpdate_geoMatchConstraint :: Lens.Lens' GeoMatchSetUpdate GeoMatchConstraint+geoMatchSetUpdate_geoMatchConstraint = Lens.lens (\GeoMatchSetUpdate' {geoMatchConstraint} -> geoMatchConstraint) (\s@GeoMatchSetUpdate' {} a -> s {geoMatchConstraint = a} :: GeoMatchSetUpdate)++instance Prelude.Hashable GeoMatchSetUpdate where+ hashWithSalt _salt GeoMatchSetUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` geoMatchConstraint++instance Prelude.NFData GeoMatchSetUpdate where+ rnf GeoMatchSetUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf geoMatchConstraint++instance Data.ToJSON GeoMatchSetUpdate where+ toJSON GeoMatchSetUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ("GeoMatchConstraint" Data..= geoMatchConstraint)+ ]+ )
+ gen/Amazonka/WAF/Types/HTTPHeader.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.HTTPHeader+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.HTTPHeader where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The response from a GetSampledRequests request includes an @HTTPHeader@+-- complex type that appears as @Headers@ in the response syntax.+-- @HTTPHeader@ contains the names and values of all of the headers that+-- appear in one of the web requests that were returned by+-- @GetSampledRequests@.+--+-- /See:/ 'newHTTPHeader' smart constructor.+data HTTPHeader = HTTPHeader'+ { -- | The name of one of the headers in the sampled web request.+ name :: Prelude.Maybe Prelude.Text,+ -- | The value of one of the headers in the sampled web request.+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HTTPHeader' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'hTTPHeader_name' - The name of one of the headers in the sampled web request.+--+-- 'value', 'hTTPHeader_value' - The value of one of the headers in the sampled web request.+newHTTPHeader ::+ HTTPHeader+newHTTPHeader =+ HTTPHeader'+ { name = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The name of one of the headers in the sampled web request.+hTTPHeader_name :: Lens.Lens' HTTPHeader (Prelude.Maybe Prelude.Text)+hTTPHeader_name = Lens.lens (\HTTPHeader' {name} -> name) (\s@HTTPHeader' {} a -> s {name = a} :: HTTPHeader)++-- | The value of one of the headers in the sampled web request.+hTTPHeader_value :: Lens.Lens' HTTPHeader (Prelude.Maybe Prelude.Text)+hTTPHeader_value = Lens.lens (\HTTPHeader' {value} -> value) (\s@HTTPHeader' {} a -> s {value = a} :: HTTPHeader)++instance Data.FromJSON HTTPHeader where+ parseJSON =+ Data.withObject+ "HTTPHeader"+ ( \x ->+ HTTPHeader'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Value")+ )++instance Prelude.Hashable HTTPHeader where+ hashWithSalt _salt HTTPHeader' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` value++instance Prelude.NFData HTTPHeader where+ rnf HTTPHeader' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/WAF/Types/HTTPRequest.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.HTTPRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.HTTPRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.HTTPHeader++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The response from a GetSampledRequests request includes an @HTTPRequest@+-- complex type that appears as @Request@ in the response syntax.+-- @HTTPRequest@ contains information about one of the web requests that+-- were returned by @GetSampledRequests@.+--+-- /See:/ 'newHTTPRequest' smart constructor.+data HTTPRequest = HTTPRequest'+ { -- | The IP address that the request originated from. If the @WebACL@ is+ -- associated with a CloudFront distribution, this is the value of one of+ -- the following fields in CloudFront access logs:+ --+ -- - @c-ip@, if the viewer did not use an HTTP proxy or a load balancer+ -- to send the request+ --+ -- - @x-forwarded-for@, if the viewer did use an HTTP proxy or a load+ -- balancer to send the request+ clientIP :: Prelude.Maybe Prelude.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+ -- <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2>.+ country :: Prelude.Maybe Prelude.Text,+ -- | The HTTP version specified in the sampled web request, for example,+ -- @HTTP\/1.1@.+ hTTPVersion :: Prelude.Maybe Prelude.Text,+ -- | A complex type that contains two values for each header in the sampled+ -- web request: the name of the header and the value of the header.+ headers :: Prelude.Maybe [HTTPHeader],+ -- | The HTTP method specified in the sampled web request. CloudFront+ -- supports the following methods: @DELETE@, @GET@, @HEAD@, @OPTIONS@,+ -- @PATCH@, @POST@, and @PUT@.+ method :: Prelude.Maybe Prelude.Text,+ -- | The part of a web request that identifies the resource, for example,+ -- @\/images\/daily-ad.jpg@.+ uri :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HTTPRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientIP', 'hTTPRequest_clientIP' - The IP address that the request originated from. If the @WebACL@ is+-- associated with a CloudFront distribution, this is the value of one of+-- the following fields in CloudFront access logs:+--+-- - @c-ip@, if the viewer did not use an HTTP proxy or a load balancer+-- to send the request+--+-- - @x-forwarded-for@, if the viewer did use an HTTP proxy or a load+-- balancer to send the request+--+-- 'country', '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+-- <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2>.+--+-- 'hTTPVersion', 'hTTPRequest_hTTPVersion' - The HTTP version specified in the sampled web request, for example,+-- @HTTP\/1.1@.+--+-- 'headers', 'hTTPRequest_headers' - A complex type that contains two values for each header in the sampled+-- web request: the name of the header and the value of the header.+--+-- 'method', 'hTTPRequest_method' - The HTTP method specified in the sampled web request. CloudFront+-- supports the following methods: @DELETE@, @GET@, @HEAD@, @OPTIONS@,+-- @PATCH@, @POST@, and @PUT@.+--+-- 'uri', 'hTTPRequest_uri' - The part of a web request that identifies the resource, for example,+-- @\/images\/daily-ad.jpg@.+newHTTPRequest ::+ HTTPRequest+newHTTPRequest =+ HTTPRequest'+ { clientIP = Prelude.Nothing,+ country = Prelude.Nothing,+ hTTPVersion = Prelude.Nothing,+ headers = Prelude.Nothing,+ method = Prelude.Nothing,+ uri = Prelude.Nothing+ }++-- | The IP address that the request originated from. If the @WebACL@ is+-- associated with a CloudFront distribution, this is the value of one of+-- the following fields in CloudFront access logs:+--+-- - @c-ip@, if the viewer did not use an HTTP proxy or a load balancer+-- to send the request+--+-- - @x-forwarded-for@, if the viewer did use an HTTP proxy or a load+-- balancer to send the request+hTTPRequest_clientIP :: Lens.Lens' HTTPRequest (Prelude.Maybe Prelude.Text)+hTTPRequest_clientIP = Lens.lens (\HTTPRequest' {clientIP} -> clientIP) (\s@HTTPRequest' {} a -> s {clientIP = a} :: HTTPRequest)++-- | The two-letter country code for the country that the request originated+-- from. For a current list of country codes, see the Wikipedia entry+-- <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2>.+hTTPRequest_country :: Lens.Lens' HTTPRequest (Prelude.Maybe Prelude.Text)+hTTPRequest_country = Lens.lens (\HTTPRequest' {country} -> country) (\s@HTTPRequest' {} a -> s {country = a} :: HTTPRequest)++-- | The HTTP version specified in the sampled web request, for example,+-- @HTTP\/1.1@.+hTTPRequest_hTTPVersion :: Lens.Lens' HTTPRequest (Prelude.Maybe Prelude.Text)+hTTPRequest_hTTPVersion = Lens.lens (\HTTPRequest' {hTTPVersion} -> hTTPVersion) (\s@HTTPRequest' {} a -> s {hTTPVersion = a} :: HTTPRequest)++-- | A complex type that contains two values for each header in the sampled+-- web request: the name of the header and the value of the header.+hTTPRequest_headers :: Lens.Lens' HTTPRequest (Prelude.Maybe [HTTPHeader])+hTTPRequest_headers = Lens.lens (\HTTPRequest' {headers} -> headers) (\s@HTTPRequest' {} a -> s {headers = a} :: HTTPRequest) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP method specified in the sampled web request. CloudFront+-- supports the following methods: @DELETE@, @GET@, @HEAD@, @OPTIONS@,+-- @PATCH@, @POST@, and @PUT@.+hTTPRequest_method :: Lens.Lens' HTTPRequest (Prelude.Maybe Prelude.Text)+hTTPRequest_method = Lens.lens (\HTTPRequest' {method} -> method) (\s@HTTPRequest' {} a -> s {method = a} :: HTTPRequest)++-- | The part of a web request that identifies the resource, for example,+-- @\/images\/daily-ad.jpg@.+hTTPRequest_uri :: Lens.Lens' HTTPRequest (Prelude.Maybe Prelude.Text)+hTTPRequest_uri = Lens.lens (\HTTPRequest' {uri} -> uri) (\s@HTTPRequest' {} a -> s {uri = a} :: HTTPRequest)++instance Data.FromJSON HTTPRequest where+ parseJSON =+ Data.withObject+ "HTTPRequest"+ ( \x ->+ HTTPRequest'+ Prelude.<$> (x Data..:? "ClientIP")+ Prelude.<*> (x Data..:? "Country")+ Prelude.<*> (x Data..:? "HTTPVersion")+ Prelude.<*> (x Data..:? "Headers" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Method")+ Prelude.<*> (x Data..:? "URI")+ )++instance Prelude.Hashable HTTPRequest where+ hashWithSalt _salt HTTPRequest' {..} =+ _salt+ `Prelude.hashWithSalt` clientIP+ `Prelude.hashWithSalt` country+ `Prelude.hashWithSalt` hTTPVersion+ `Prelude.hashWithSalt` headers+ `Prelude.hashWithSalt` method+ `Prelude.hashWithSalt` uri++instance Prelude.NFData HTTPRequest where+ rnf HTTPRequest' {..} =+ Prelude.rnf clientIP+ `Prelude.seq` Prelude.rnf country+ `Prelude.seq` Prelude.rnf hTTPVersion+ `Prelude.seq` Prelude.rnf headers+ `Prelude.seq` Prelude.rnf method+ `Prelude.seq` Prelude.rnf uri
+ gen/Amazonka/WAF/Types/IPSet.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.IPSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.IPSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.IPSetDescriptor++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Contains one or more IP addresses or blocks of IP addresses specified in+-- Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4+-- address ranges: \/8 and any range between \/16 through \/32. AWS WAF+-- supports IPv6 address ranges: \/24, \/32, \/48, \/56, \/64, and \/128.+--+-- To specify an individual IP address, you specify the four-part IP+-- address followed by a @\/32@, for example, 192.0.2.0\/32. To block a+-- range of IP addresses, you can specify \/8 or any range between \/16+-- through \/32 (for IPv4) or \/24, \/32, \/48, \/56, \/64, or \/128 (for+-- IPv6). For more information about CIDR notation, see the Wikipedia entry+-- <https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing>.+--+-- /See:/ 'newIPSet' smart constructor.+data IPSet = IPSet'+ { -- | A friendly name or description of the IPSet. You can\'t change the name+ -- of an @IPSet@ after you create it.+ name :: Prelude.Maybe Prelude.Text,+ -- | The @IPSetId@ for an @IPSet@. You use @IPSetId@ to get information about+ -- an @IPSet@ (see GetIPSet), update an @IPSet@ (see UpdateIPSet), insert+ -- an @IPSet@ into a @Rule@ or delete one from a @Rule@ (see UpdateRule),+ -- and delete an @IPSet@ from AWS WAF (see DeleteIPSet).+ --+ -- @IPSetId@ is returned by CreateIPSet and by ListIPSets.+ iPSetId :: Prelude.Text,+ -- | The IP address type (@IPV4@ or @IPV6@) and the IP address range (in CIDR+ -- notation) that web requests originate from. If the @WebACL@ is+ -- associated with a CloudFront distribution and the viewer did not use an+ -- HTTP proxy or a load balancer to send the request, this is the value of+ -- the c-ip field in the CloudFront access logs.+ iPSetDescriptors :: [IPSetDescriptor]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IPSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'iPSet_name' - A friendly name or description of the IPSet. You can\'t change the name+-- of an @IPSet@ after you create it.+--+-- 'iPSetId', 'iPSet_iPSetId' - The @IPSetId@ for an @IPSet@. You use @IPSetId@ to get information about+-- an @IPSet@ (see GetIPSet), update an @IPSet@ (see UpdateIPSet), insert+-- an @IPSet@ into a @Rule@ or delete one from a @Rule@ (see UpdateRule),+-- and delete an @IPSet@ from AWS WAF (see DeleteIPSet).+--+-- @IPSetId@ is returned by CreateIPSet and by ListIPSets.+--+-- 'iPSetDescriptors', 'iPSet_iPSetDescriptors' - The IP address type (@IPV4@ or @IPV6@) and the IP address range (in CIDR+-- notation) that web requests originate from. If the @WebACL@ is+-- associated with a CloudFront distribution and the viewer did not use an+-- HTTP proxy or a load balancer to send the request, this is the value of+-- the c-ip field in the CloudFront access logs.+newIPSet ::+ -- | 'iPSetId'+ Prelude.Text ->+ IPSet+newIPSet pIPSetId_ =+ IPSet'+ { name = Prelude.Nothing,+ iPSetId = pIPSetId_,+ iPSetDescriptors = Prelude.mempty+ }++-- | A friendly name or description of the IPSet. You can\'t change the name+-- of an @IPSet@ after you create it.+iPSet_name :: Lens.Lens' IPSet (Prelude.Maybe Prelude.Text)+iPSet_name = Lens.lens (\IPSet' {name} -> name) (\s@IPSet' {} a -> s {name = a} :: IPSet)++-- | The @IPSetId@ for an @IPSet@. You use @IPSetId@ to get information about+-- an @IPSet@ (see GetIPSet), update an @IPSet@ (see UpdateIPSet), insert+-- an @IPSet@ into a @Rule@ or delete one from a @Rule@ (see UpdateRule),+-- and delete an @IPSet@ from AWS WAF (see DeleteIPSet).+--+-- @IPSetId@ is returned by CreateIPSet and by ListIPSets.+iPSet_iPSetId :: Lens.Lens' IPSet Prelude.Text+iPSet_iPSetId = Lens.lens (\IPSet' {iPSetId} -> iPSetId) (\s@IPSet' {} a -> s {iPSetId = a} :: IPSet)++-- | The IP address type (@IPV4@ or @IPV6@) and the IP address range (in CIDR+-- notation) that web requests originate from. If the @WebACL@ is+-- associated with a CloudFront distribution and the viewer did not use an+-- HTTP proxy or a load balancer to send the request, this is the value of+-- the c-ip field in the CloudFront access logs.+iPSet_iPSetDescriptors :: Lens.Lens' IPSet [IPSetDescriptor]+iPSet_iPSetDescriptors = Lens.lens (\IPSet' {iPSetDescriptors} -> iPSetDescriptors) (\s@IPSet' {} a -> s {iPSetDescriptors = a} :: IPSet) Prelude.. Lens.coerced++instance Data.FromJSON IPSet where+ parseJSON =+ Data.withObject+ "IPSet"+ ( \x ->+ IPSet'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..: "IPSetId")+ Prelude.<*> ( x+ Data..:? "IPSetDescriptors"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable IPSet where+ hashWithSalt _salt IPSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` iPSetId+ `Prelude.hashWithSalt` iPSetDescriptors++instance Prelude.NFData IPSet where+ rnf IPSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf iPSetId+ `Prelude.seq` Prelude.rnf iPSetDescriptors
+ gen/Amazonka/WAF/Types/IPSetDescriptor.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.IPSetDescriptor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.IPSetDescriptor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.IPSetDescriptorType++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies the IP address type (@IPV4@ or @IPV6@) and the IP address+-- range (in CIDR format) that web requests originate from.+--+-- /See:/ 'newIPSetDescriptor' smart constructor.+data IPSetDescriptor = IPSetDescriptor'+ { -- | Specify @IPV4@ or @IPV6@.+ type' :: IPSetDescriptorType,+ -- | Specify an IPv4 address by using CIDR notation. For example:+ --+ -- - To configure AWS WAF to allow, block, or count requests that+ -- originated from the IP address 192.0.2.44, specify @192.0.2.44\/32@.+ --+ -- - To configure AWS WAF to allow, block, or count requests that+ -- originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify+ -- @192.0.2.0\/24@.+ --+ -- For more information about CIDR notation, see the Wikipedia entry+ -- <https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing>.+ --+ -- Specify an IPv6 address by using CIDR notation. For example:+ --+ -- - To configure AWS 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 AWS 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@.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IPSetDescriptor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'iPSetDescriptor_type' - Specify @IPV4@ or @IPV6@.+--+-- 'value', 'iPSetDescriptor_value' - Specify an IPv4 address by using CIDR notation. For example:+--+-- - To configure AWS WAF to allow, block, or count requests that+-- originated from the IP address 192.0.2.44, specify @192.0.2.44\/32@.+--+-- - To configure AWS WAF to allow, block, or count requests that+-- originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify+-- @192.0.2.0\/24@.+--+-- For more information about CIDR notation, see the Wikipedia entry+-- <https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing>.+--+-- Specify an IPv6 address by using CIDR notation. For example:+--+-- - To configure AWS 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 AWS 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@.+newIPSetDescriptor ::+ -- | 'type''+ IPSetDescriptorType ->+ -- | 'value'+ Prelude.Text ->+ IPSetDescriptor+newIPSetDescriptor pType_ pValue_ =+ IPSetDescriptor' {type' = pType_, value = pValue_}++-- | Specify @IPV4@ or @IPV6@.+iPSetDescriptor_type :: Lens.Lens' IPSetDescriptor IPSetDescriptorType+iPSetDescriptor_type = Lens.lens (\IPSetDescriptor' {type'} -> type') (\s@IPSetDescriptor' {} a -> s {type' = a} :: IPSetDescriptor)++-- | Specify an IPv4 address by using CIDR notation. For example:+--+-- - To configure AWS WAF to allow, block, or count requests that+-- originated from the IP address 192.0.2.44, specify @192.0.2.44\/32@.+--+-- - To configure AWS WAF to allow, block, or count requests that+-- originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify+-- @192.0.2.0\/24@.+--+-- For more information about CIDR notation, see the Wikipedia entry+-- <https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing>.+--+-- Specify an IPv6 address by using CIDR notation. For example:+--+-- - To configure AWS 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 AWS 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@.+iPSetDescriptor_value :: Lens.Lens' IPSetDescriptor Prelude.Text+iPSetDescriptor_value = Lens.lens (\IPSetDescriptor' {value} -> value) (\s@IPSetDescriptor' {} a -> s {value = a} :: IPSetDescriptor)++instance Data.FromJSON IPSetDescriptor where+ parseJSON =+ Data.withObject+ "IPSetDescriptor"+ ( \x ->+ IPSetDescriptor'+ Prelude.<$> (x Data..: "Type")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable IPSetDescriptor where+ hashWithSalt _salt IPSetDescriptor' {..} =+ _salt+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` value++instance Prelude.NFData IPSetDescriptor where+ rnf IPSetDescriptor' {..} =+ Prelude.rnf type' `Prelude.seq` Prelude.rnf value++instance Data.ToJSON IPSetDescriptor where+ toJSON IPSetDescriptor' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Type" Data..= type'),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/WAF/Types/IPSetDescriptorType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.IPSetDescriptorType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.IPSetDescriptorType+ ( IPSetDescriptorType+ ( ..,+ IPSetDescriptorType_IPV4,+ IPSetDescriptorType_IPV6+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IPSetDescriptorType = IPSetDescriptorType'+ { fromIPSetDescriptorType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern IPSetDescriptorType_IPV4 :: IPSetDescriptorType+pattern IPSetDescriptorType_IPV4 = IPSetDescriptorType' "IPV4"++pattern IPSetDescriptorType_IPV6 :: IPSetDescriptorType+pattern IPSetDescriptorType_IPV6 = IPSetDescriptorType' "IPV6"++{-# COMPLETE+ IPSetDescriptorType_IPV4,+ IPSetDescriptorType_IPV6,+ IPSetDescriptorType'+ #-}
+ gen/Amazonka/WAF/Types/IPSetSummary.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.IPSetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.IPSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Contains the identifier and the name of the @IPSet@.+--+-- /See:/ 'newIPSetSummary' smart constructor.+data IPSetSummary = IPSetSummary'+ { -- | The @IPSetId@ for an IPSet. You can use @IPSetId@ in a GetIPSet request+ -- to get detailed information about an IPSet.+ iPSetId :: Prelude.Text,+ -- | A friendly name or description of the IPSet. You can\'t change the name+ -- of an @IPSet@ after you create it.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IPSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iPSetId', 'iPSetSummary_iPSetId' - The @IPSetId@ for an IPSet. You can use @IPSetId@ in a GetIPSet request+-- to get detailed information about an IPSet.+--+-- 'name', 'iPSetSummary_name' - A friendly name or description of the IPSet. You can\'t change the name+-- of an @IPSet@ after you create it.+newIPSetSummary ::+ -- | 'iPSetId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ IPSetSummary+newIPSetSummary pIPSetId_ pName_ =+ IPSetSummary' {iPSetId = pIPSetId_, name = pName_}++-- | The @IPSetId@ for an IPSet. You can use @IPSetId@ in a GetIPSet request+-- to get detailed information about an IPSet.+iPSetSummary_iPSetId :: Lens.Lens' IPSetSummary Prelude.Text+iPSetSummary_iPSetId = Lens.lens (\IPSetSummary' {iPSetId} -> iPSetId) (\s@IPSetSummary' {} a -> s {iPSetId = a} :: IPSetSummary)++-- | A friendly name or description of the IPSet. You can\'t change the name+-- of an @IPSet@ after you create it.+iPSetSummary_name :: Lens.Lens' IPSetSummary Prelude.Text+iPSetSummary_name = Lens.lens (\IPSetSummary' {name} -> name) (\s@IPSetSummary' {} a -> s {name = a} :: IPSetSummary)++instance Data.FromJSON IPSetSummary where+ parseJSON =+ Data.withObject+ "IPSetSummary"+ ( \x ->+ IPSetSummary'+ Prelude.<$> (x Data..: "IPSetId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable IPSetSummary where+ hashWithSalt _salt IPSetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` iPSetId+ `Prelude.hashWithSalt` name++instance Prelude.NFData IPSetSummary where+ rnf IPSetSummary' {..} =+ Prelude.rnf iPSetId `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/IPSetUpdate.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.IPSetUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.IPSetUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ChangeAction+import Amazonka.WAF.Types.IPSetDescriptor++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies the type of update to perform to an IPSet with UpdateIPSet.+--+-- /See:/ 'newIPSetUpdate' smart constructor.+data IPSetUpdate = IPSetUpdate'+ { -- | Specifies whether to insert or delete an IP address with UpdateIPSet.+ action :: ChangeAction,+ -- | The IP address type (@IPV4@ or @IPV6@) and the IP address range (in CIDR+ -- notation) that web requests originate from.+ iPSetDescriptor :: IPSetDescriptor+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IPSetUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'iPSetUpdate_action' - Specifies whether to insert or delete an IP address with UpdateIPSet.+--+-- 'iPSetDescriptor', 'iPSetUpdate_iPSetDescriptor' - The IP address type (@IPV4@ or @IPV6@) and the IP address range (in CIDR+-- notation) that web requests originate from.+newIPSetUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'iPSetDescriptor'+ IPSetDescriptor ->+ IPSetUpdate+newIPSetUpdate pAction_ pIPSetDescriptor_ =+ IPSetUpdate'+ { action = pAction_,+ iPSetDescriptor = pIPSetDescriptor_+ }++-- | Specifies whether to insert or delete an IP address with UpdateIPSet.+iPSetUpdate_action :: Lens.Lens' IPSetUpdate ChangeAction+iPSetUpdate_action = Lens.lens (\IPSetUpdate' {action} -> action) (\s@IPSetUpdate' {} a -> s {action = a} :: IPSetUpdate)++-- | The IP address type (@IPV4@ or @IPV6@) and the IP address range (in CIDR+-- notation) that web requests originate from.+iPSetUpdate_iPSetDescriptor :: Lens.Lens' IPSetUpdate IPSetDescriptor+iPSetUpdate_iPSetDescriptor = Lens.lens (\IPSetUpdate' {iPSetDescriptor} -> iPSetDescriptor) (\s@IPSetUpdate' {} a -> s {iPSetDescriptor = a} :: IPSetUpdate)++instance Prelude.Hashable IPSetUpdate where+ hashWithSalt _salt IPSetUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` iPSetDescriptor++instance Prelude.NFData IPSetUpdate where+ rnf IPSetUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf iPSetDescriptor++instance Data.ToJSON IPSetUpdate where+ toJSON IPSetUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ("IPSetDescriptor" Data..= iPSetDescriptor)+ ]+ )
+ gen/Amazonka/WAF/Types/LoggingConfiguration.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.LoggingConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.LoggingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.FieldToMatch++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The Amazon Kinesis Data Firehose, @RedactedFields@ information, and the+-- web ACL Amazon Resource Name (ARN).+--+-- /See:/ 'newLoggingConfiguration' smart constructor.+data LoggingConfiguration = LoggingConfiguration'+ { -- | The parts of the request that you want redacted from the logs. For+ -- example, if you redact the cookie field, the cookie field in the+ -- firehose will be @xxx@.+ redactedFields :: Prelude.Maybe [FieldToMatch],+ -- | The Amazon Resource Name (ARN) of the web ACL that you want to associate+ -- with @LogDestinationConfigs@.+ resourceArn :: Prelude.Text,+ -- | An array of Amazon Kinesis Data Firehose ARNs.+ logDestinationConfigs :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'redactedFields', 'loggingConfiguration_redactedFields' - The parts of the request that you want redacted from the logs. For+-- example, if you redact the cookie field, the cookie field in the+-- firehose will be @xxx@.+--+-- 'resourceArn', 'loggingConfiguration_resourceArn' - The Amazon Resource Name (ARN) of the web ACL that you want to associate+-- with @LogDestinationConfigs@.+--+-- 'logDestinationConfigs', 'loggingConfiguration_logDestinationConfigs' - An array of Amazon Kinesis Data Firehose ARNs.+newLoggingConfiguration ::+ -- | 'resourceArn'+ Prelude.Text ->+ -- | 'logDestinationConfigs'+ Prelude.NonEmpty Prelude.Text ->+ LoggingConfiguration+newLoggingConfiguration+ pResourceArn_+ pLogDestinationConfigs_ =+ LoggingConfiguration'+ { redactedFields =+ Prelude.Nothing,+ resourceArn = pResourceArn_,+ logDestinationConfigs =+ Lens.coerced Lens.# pLogDestinationConfigs_+ }++-- | The parts of the request that you want redacted from the logs. For+-- example, if you redact the cookie field, the cookie field in the+-- firehose will be @xxx@.+loggingConfiguration_redactedFields :: Lens.Lens' LoggingConfiguration (Prelude.Maybe [FieldToMatch])+loggingConfiguration_redactedFields = Lens.lens (\LoggingConfiguration' {redactedFields} -> redactedFields) (\s@LoggingConfiguration' {} a -> s {redactedFields = a} :: LoggingConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the web ACL that you want to associate+-- with @LogDestinationConfigs@.+loggingConfiguration_resourceArn :: Lens.Lens' LoggingConfiguration Prelude.Text+loggingConfiguration_resourceArn = Lens.lens (\LoggingConfiguration' {resourceArn} -> resourceArn) (\s@LoggingConfiguration' {} a -> s {resourceArn = a} :: LoggingConfiguration)++-- | An array of Amazon Kinesis Data Firehose ARNs.+loggingConfiguration_logDestinationConfigs :: Lens.Lens' LoggingConfiguration (Prelude.NonEmpty Prelude.Text)+loggingConfiguration_logDestinationConfigs = Lens.lens (\LoggingConfiguration' {logDestinationConfigs} -> logDestinationConfigs) (\s@LoggingConfiguration' {} a -> s {logDestinationConfigs = a} :: LoggingConfiguration) Prelude.. Lens.coerced++instance Data.FromJSON LoggingConfiguration where+ parseJSON =+ Data.withObject+ "LoggingConfiguration"+ ( \x ->+ LoggingConfiguration'+ Prelude.<$> (x Data..:? "RedactedFields" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "ResourceArn")+ Prelude.<*> (x Data..: "LogDestinationConfigs")+ )++instance Prelude.Hashable LoggingConfiguration where+ hashWithSalt _salt LoggingConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` redactedFields+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` logDestinationConfigs++instance Prelude.NFData LoggingConfiguration where+ rnf LoggingConfiguration' {..} =+ Prelude.rnf redactedFields+ `Prelude.seq` Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf logDestinationConfigs++instance Data.ToJSON LoggingConfiguration where+ toJSON LoggingConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("RedactedFields" Data..=)+ Prelude.<$> redactedFields,+ Prelude.Just ("ResourceArn" Data..= resourceArn),+ Prelude.Just+ ( "LogDestinationConfigs"+ Data..= logDestinationConfigs+ )+ ]+ )
+ gen/Amazonka/WAF/Types/MatchFieldType.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.MatchFieldType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.MatchFieldType+ ( MatchFieldType+ ( ..,+ MatchFieldType_ALL_QUERY_ARGS,+ MatchFieldType_BODY,+ MatchFieldType_HEADER,+ MatchFieldType_METHOD,+ MatchFieldType_QUERY_STRING,+ MatchFieldType_SINGLE_QUERY_ARG,+ MatchFieldType_URI+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MatchFieldType = MatchFieldType'+ { fromMatchFieldType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern MatchFieldType_ALL_QUERY_ARGS :: MatchFieldType+pattern MatchFieldType_ALL_QUERY_ARGS = MatchFieldType' "ALL_QUERY_ARGS"++pattern MatchFieldType_BODY :: MatchFieldType+pattern MatchFieldType_BODY = MatchFieldType' "BODY"++pattern MatchFieldType_HEADER :: MatchFieldType+pattern MatchFieldType_HEADER = MatchFieldType' "HEADER"++pattern MatchFieldType_METHOD :: MatchFieldType+pattern MatchFieldType_METHOD = MatchFieldType' "METHOD"++pattern MatchFieldType_QUERY_STRING :: MatchFieldType+pattern MatchFieldType_QUERY_STRING = MatchFieldType' "QUERY_STRING"++pattern MatchFieldType_SINGLE_QUERY_ARG :: MatchFieldType+pattern MatchFieldType_SINGLE_QUERY_ARG = MatchFieldType' "SINGLE_QUERY_ARG"++pattern MatchFieldType_URI :: MatchFieldType+pattern MatchFieldType_URI = MatchFieldType' "URI"++{-# COMPLETE+ MatchFieldType_ALL_QUERY_ARGS,+ MatchFieldType_BODY,+ MatchFieldType_HEADER,+ MatchFieldType_METHOD,+ MatchFieldType_QUERY_STRING,+ MatchFieldType_SINGLE_QUERY_ARG,+ MatchFieldType_URI,+ MatchFieldType'+ #-}
+ gen/Amazonka/WAF/Types/PositionalConstraint.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.PositionalConstraint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.PositionalConstraint+ ( PositionalConstraint+ ( ..,+ PositionalConstraint_CONTAINS,+ PositionalConstraint_CONTAINS_WORD,+ PositionalConstraint_ENDS_WITH,+ PositionalConstraint_EXACTLY,+ PositionalConstraint_STARTS_WITH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PositionalConstraint = PositionalConstraint'+ { fromPositionalConstraint ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern PositionalConstraint_CONTAINS :: PositionalConstraint+pattern PositionalConstraint_CONTAINS = PositionalConstraint' "CONTAINS"++pattern PositionalConstraint_CONTAINS_WORD :: PositionalConstraint+pattern PositionalConstraint_CONTAINS_WORD = PositionalConstraint' "CONTAINS_WORD"++pattern PositionalConstraint_ENDS_WITH :: PositionalConstraint+pattern PositionalConstraint_ENDS_WITH = PositionalConstraint' "ENDS_WITH"++pattern PositionalConstraint_EXACTLY :: PositionalConstraint+pattern PositionalConstraint_EXACTLY = PositionalConstraint' "EXACTLY"++pattern PositionalConstraint_STARTS_WITH :: PositionalConstraint+pattern PositionalConstraint_STARTS_WITH = PositionalConstraint' "STARTS_WITH"++{-# COMPLETE+ PositionalConstraint_CONTAINS,+ PositionalConstraint_CONTAINS_WORD,+ PositionalConstraint_ENDS_WITH,+ PositionalConstraint_EXACTLY,+ PositionalConstraint_STARTS_WITH,+ PositionalConstraint'+ #-}
+ gen/Amazonka/WAF/Types/Predicate.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.Predicate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.Predicate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.PredicateType++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet,+-- RegexMatchSet, GeoMatchSet, and SizeConstraintSet objects that you want+-- to add to a @Rule@ and, for each object, indicates whether you want to+-- negate the settings, for example, requests that do NOT originate from+-- the IP address 192.0.2.44.+--+-- /See:/ 'newPredicate' smart constructor.+data Predicate = Predicate'+ { -- | Set @Negated@ to @False@ if you want AWS WAF to allow, block, or count+ -- requests based on the settings in the specified ByteMatchSet, IPSet,+ -- SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or+ -- SizeConstraintSet. For example, if an @IPSet@ includes the IP address+ -- @192.0.2.44@, AWS WAF will allow or block requests based on that IP+ -- address.+ --+ -- Set @Negated@ to @True@ if you want AWS WAF to allow or block a request+ -- based on the negation of the settings in the ByteMatchSet, IPSet,+ -- SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or+ -- SizeConstraintSet. For example, if an @IPSet@ includes the IP address+ -- @192.0.2.44@, AWS WAF will allow, block, or count requests based on all+ -- IP addresses /except/ @192.0.2.44@.+ negated :: Prelude.Bool,+ -- | The type of predicate in a @Rule@, such as @ByteMatch@ or @IPSet@.+ type' :: PredicateType,+ -- | A unique identifier for a predicate in a @Rule@, such as+ -- @ByteMatchSetId@ or @IPSetId@. The ID is returned by the corresponding+ -- @Create@ or @List@ command.+ dataId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Predicate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'negated', 'predicate_negated' - Set @Negated@ to @False@ if you want AWS WAF to allow, block, or count+-- requests based on the settings in the specified ByteMatchSet, IPSet,+-- SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or+-- SizeConstraintSet. For example, if an @IPSet@ includes the IP address+-- @192.0.2.44@, AWS WAF will allow or block requests based on that IP+-- address.+--+-- Set @Negated@ to @True@ if you want AWS WAF to allow or block a request+-- based on the negation of the settings in the ByteMatchSet, IPSet,+-- SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or+-- SizeConstraintSet. For example, if an @IPSet@ includes the IP address+-- @192.0.2.44@, AWS WAF will allow, block, or count requests based on all+-- IP addresses /except/ @192.0.2.44@.+--+-- 'type'', 'predicate_type' - The type of predicate in a @Rule@, such as @ByteMatch@ or @IPSet@.+--+-- 'dataId', 'predicate_dataId' - A unique identifier for a predicate in a @Rule@, such as+-- @ByteMatchSetId@ or @IPSetId@. The ID is returned by the corresponding+-- @Create@ or @List@ command.+newPredicate ::+ -- | 'negated'+ Prelude.Bool ->+ -- | 'type''+ PredicateType ->+ -- | 'dataId'+ Prelude.Text ->+ Predicate+newPredicate pNegated_ pType_ pDataId_ =+ Predicate'+ { negated = pNegated_,+ type' = pType_,+ dataId = pDataId_+ }++-- | Set @Negated@ to @False@ if you want AWS WAF to allow, block, or count+-- requests based on the settings in the specified ByteMatchSet, IPSet,+-- SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or+-- SizeConstraintSet. For example, if an @IPSet@ includes the IP address+-- @192.0.2.44@, AWS WAF will allow or block requests based on that IP+-- address.+--+-- Set @Negated@ to @True@ if you want AWS WAF to allow or block a request+-- based on the negation of the settings in the ByteMatchSet, IPSet,+-- SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or+-- SizeConstraintSet. For example, if an @IPSet@ includes the IP address+-- @192.0.2.44@, AWS WAF will allow, block, or count requests based on all+-- IP addresses /except/ @192.0.2.44@.+predicate_negated :: Lens.Lens' Predicate Prelude.Bool+predicate_negated = Lens.lens (\Predicate' {negated} -> negated) (\s@Predicate' {} a -> s {negated = a} :: Predicate)++-- | The type of predicate in a @Rule@, such as @ByteMatch@ or @IPSet@.+predicate_type :: Lens.Lens' Predicate PredicateType+predicate_type = Lens.lens (\Predicate' {type'} -> type') (\s@Predicate' {} a -> s {type' = a} :: Predicate)++-- | A unique identifier for a predicate in a @Rule@, such as+-- @ByteMatchSetId@ or @IPSetId@. The ID is returned by the corresponding+-- @Create@ or @List@ command.+predicate_dataId :: Lens.Lens' Predicate Prelude.Text+predicate_dataId = Lens.lens (\Predicate' {dataId} -> dataId) (\s@Predicate' {} a -> s {dataId = a} :: Predicate)++instance Data.FromJSON Predicate where+ parseJSON =+ Data.withObject+ "Predicate"+ ( \x ->+ Predicate'+ Prelude.<$> (x Data..: "Negated")+ Prelude.<*> (x Data..: "Type")+ Prelude.<*> (x Data..: "DataId")+ )++instance Prelude.Hashable Predicate where+ hashWithSalt _salt Predicate' {..} =+ _salt+ `Prelude.hashWithSalt` negated+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` dataId++instance Prelude.NFData Predicate where+ rnf Predicate' {..} =+ Prelude.rnf negated+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf dataId++instance Data.ToJSON Predicate where+ toJSON Predicate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Negated" Data..= negated),+ Prelude.Just ("Type" Data..= type'),+ Prelude.Just ("DataId" Data..= dataId)+ ]+ )
+ gen/Amazonka/WAF/Types/PredicateType.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.PredicateType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.PredicateType+ ( PredicateType+ ( ..,+ PredicateType_ByteMatch,+ PredicateType_GeoMatch,+ PredicateType_IPMatch,+ PredicateType_RegexMatch,+ PredicateType_SizeConstraint,+ PredicateType_SqlInjectionMatch,+ PredicateType_XssMatch+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PredicateType = PredicateType'+ { fromPredicateType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern PredicateType_ByteMatch :: PredicateType+pattern PredicateType_ByteMatch = PredicateType' "ByteMatch"++pattern PredicateType_GeoMatch :: PredicateType+pattern PredicateType_GeoMatch = PredicateType' "GeoMatch"++pattern PredicateType_IPMatch :: PredicateType+pattern PredicateType_IPMatch = PredicateType' "IPMatch"++pattern PredicateType_RegexMatch :: PredicateType+pattern PredicateType_RegexMatch = PredicateType' "RegexMatch"++pattern PredicateType_SizeConstraint :: PredicateType+pattern PredicateType_SizeConstraint = PredicateType' "SizeConstraint"++pattern PredicateType_SqlInjectionMatch :: PredicateType+pattern PredicateType_SqlInjectionMatch = PredicateType' "SqlInjectionMatch"++pattern PredicateType_XssMatch :: PredicateType+pattern PredicateType_XssMatch = PredicateType' "XssMatch"++{-# COMPLETE+ PredicateType_ByteMatch,+ PredicateType_GeoMatch,+ PredicateType_IPMatch,+ PredicateType_RegexMatch,+ PredicateType_SizeConstraint,+ PredicateType_SqlInjectionMatch,+ PredicateType_XssMatch,+ PredicateType'+ #-}
+ gen/Amazonka/WAF/Types/RateBasedRule.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RateBasedRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RateBasedRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.Predicate+import Amazonka.WAF.Types.RateKey++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- A @RateBasedRule@ is identical to a regular Rule, with one addition: a+-- @RateBasedRule@ counts the number of requests that arrive from a+-- specified IP address every five minutes. For example, based on recent+-- requests that you\'ve seen from an attacker, you might create a+-- @RateBasedRule@ that includes the following conditions:+--+-- - The requests come from 192.0.2.44.+--+-- - They contain the value @BadBot@ in the @User-Agent@ header.+--+-- In the rule, you also define the rate limit as 1,000.+--+-- Requests that meet both of these conditions and exceed 1,000 requests+-- every five minutes trigger the rule\'s action (block or count), which is+-- defined in the web ACL.+--+-- /See:/ 'newRateBasedRule' smart constructor.+data RateBasedRule = RateBasedRule'+ { -- | A friendly name or description for the metrics for a @RateBasedRule@.+ -- The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+ -- maximum length 128 and minimum length one. It can\'t contain whitespace+ -- or metric names reserved for AWS WAF, including \"All\" and+ -- \"Default_Action.\" You can\'t change the name of the metric after you+ -- create the @RateBasedRule@.+ metricName :: Prelude.Maybe Prelude.Text,+ -- | A friendly name or description for a @RateBasedRule@. You can\'t change+ -- the name of a @RateBasedRule@ after you create it.+ name :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier for a @RateBasedRule@. You use @RuleId@ to get more+ -- information about a @RateBasedRule@ (see GetRateBasedRule), update a+ -- @RateBasedRule@ (see UpdateRateBasedRule), insert a @RateBasedRule@ into+ -- a @WebACL@ or delete one from a @WebACL@ (see UpdateWebACL), or delete a+ -- @RateBasedRule@ from AWS WAF (see DeleteRateBasedRule).+ ruleId :: Prelude.Text,+ -- | The @Predicates@ object contains one @Predicate@ element for each+ -- ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to+ -- include in a @RateBasedRule@.+ matchPredicates :: [Predicate],+ -- | The field that AWS WAF uses to determine if requests are likely arriving+ -- from single source and thus subject to rate monitoring. The only valid+ -- value for @RateKey@ is @IP@. @IP@ indicates that requests arriving from+ -- the same IP address are subject to the @RateLimit@ that is specified in+ -- the @RateBasedRule@.+ rateKey :: RateKey,+ -- | The maximum number of requests, which have an identical value in the+ -- field specified by the @RateKey@, allowed in a five-minute period. If+ -- the number of requests exceeds the @RateLimit@ and the other predicates+ -- specified in the rule are also met, AWS WAF triggers the action that is+ -- specified for this rule.+ rateLimit :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RateBasedRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'metricName', 'rateBasedRule_metricName' - A friendly name or description for the metrics for a @RateBasedRule@.+-- The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RateBasedRule@.+--+-- 'name', 'rateBasedRule_name' - A friendly name or description for a @RateBasedRule@. You can\'t change+-- the name of a @RateBasedRule@ after you create it.+--+-- 'ruleId', 'rateBasedRule_ruleId' - A unique identifier for a @RateBasedRule@. You use @RuleId@ to get more+-- information about a @RateBasedRule@ (see GetRateBasedRule), update a+-- @RateBasedRule@ (see UpdateRateBasedRule), insert a @RateBasedRule@ into+-- a @WebACL@ or delete one from a @WebACL@ (see UpdateWebACL), or delete a+-- @RateBasedRule@ from AWS WAF (see DeleteRateBasedRule).+--+-- 'matchPredicates', 'rateBasedRule_matchPredicates' - The @Predicates@ object contains one @Predicate@ element for each+-- ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to+-- include in a @RateBasedRule@.+--+-- 'rateKey', 'rateBasedRule_rateKey' - The field that AWS WAF uses to determine if requests are likely arriving+-- from single source and thus subject to rate monitoring. The only valid+-- value for @RateKey@ is @IP@. @IP@ indicates that requests arriving from+-- the same IP address are subject to the @RateLimit@ that is specified in+-- the @RateBasedRule@.+--+-- 'rateLimit', 'rateBasedRule_rateLimit' - The maximum number of requests, which have an identical value in the+-- field specified by the @RateKey@, allowed in a five-minute period. If+-- the number of requests exceeds the @RateLimit@ and the other predicates+-- specified in the rule are also met, AWS WAF triggers the action that is+-- specified for this rule.+newRateBasedRule ::+ -- | 'ruleId'+ Prelude.Text ->+ -- | 'rateKey'+ RateKey ->+ -- | 'rateLimit'+ Prelude.Natural ->+ RateBasedRule+newRateBasedRule pRuleId_ pRateKey_ pRateLimit_ =+ RateBasedRule'+ { metricName = Prelude.Nothing,+ name = Prelude.Nothing,+ ruleId = pRuleId_,+ matchPredicates = Prelude.mempty,+ rateKey = pRateKey_,+ rateLimit = pRateLimit_+ }++-- | A friendly name or description for the metrics for a @RateBasedRule@.+-- The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RateBasedRule@.+rateBasedRule_metricName :: Lens.Lens' RateBasedRule (Prelude.Maybe Prelude.Text)+rateBasedRule_metricName = Lens.lens (\RateBasedRule' {metricName} -> metricName) (\s@RateBasedRule' {} a -> s {metricName = a} :: RateBasedRule)++-- | A friendly name or description for a @RateBasedRule@. You can\'t change+-- the name of a @RateBasedRule@ after you create it.+rateBasedRule_name :: Lens.Lens' RateBasedRule (Prelude.Maybe Prelude.Text)+rateBasedRule_name = Lens.lens (\RateBasedRule' {name} -> name) (\s@RateBasedRule' {} a -> s {name = a} :: RateBasedRule)++-- | A unique identifier for a @RateBasedRule@. You use @RuleId@ to get more+-- information about a @RateBasedRule@ (see GetRateBasedRule), update a+-- @RateBasedRule@ (see UpdateRateBasedRule), insert a @RateBasedRule@ into+-- a @WebACL@ or delete one from a @WebACL@ (see UpdateWebACL), or delete a+-- @RateBasedRule@ from AWS WAF (see DeleteRateBasedRule).+rateBasedRule_ruleId :: Lens.Lens' RateBasedRule Prelude.Text+rateBasedRule_ruleId = Lens.lens (\RateBasedRule' {ruleId} -> ruleId) (\s@RateBasedRule' {} a -> s {ruleId = a} :: RateBasedRule)++-- | The @Predicates@ object contains one @Predicate@ element for each+-- ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to+-- include in a @RateBasedRule@.+rateBasedRule_matchPredicates :: Lens.Lens' RateBasedRule [Predicate]+rateBasedRule_matchPredicates = Lens.lens (\RateBasedRule' {matchPredicates} -> matchPredicates) (\s@RateBasedRule' {} a -> s {matchPredicates = a} :: RateBasedRule) Prelude.. Lens.coerced++-- | The field that AWS WAF uses to determine if requests are likely arriving+-- from single source and thus subject to rate monitoring. The only valid+-- value for @RateKey@ is @IP@. @IP@ indicates that requests arriving from+-- the same IP address are subject to the @RateLimit@ that is specified in+-- the @RateBasedRule@.+rateBasedRule_rateKey :: Lens.Lens' RateBasedRule RateKey+rateBasedRule_rateKey = Lens.lens (\RateBasedRule' {rateKey} -> rateKey) (\s@RateBasedRule' {} a -> s {rateKey = a} :: RateBasedRule)++-- | The maximum number of requests, which have an identical value in the+-- field specified by the @RateKey@, allowed in a five-minute period. If+-- the number of requests exceeds the @RateLimit@ and the other predicates+-- specified in the rule are also met, AWS WAF triggers the action that is+-- specified for this rule.+rateBasedRule_rateLimit :: Lens.Lens' RateBasedRule Prelude.Natural+rateBasedRule_rateLimit = Lens.lens (\RateBasedRule' {rateLimit} -> rateLimit) (\s@RateBasedRule' {} a -> s {rateLimit = a} :: RateBasedRule)++instance Data.FromJSON RateBasedRule where+ parseJSON =+ Data.withObject+ "RateBasedRule"+ ( \x ->+ RateBasedRule'+ Prelude.<$> (x Data..:? "MetricName")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..: "RuleId")+ Prelude.<*> ( x+ Data..:? "MatchPredicates"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "RateKey")+ Prelude.<*> (x Data..: "RateLimit")+ )++instance Prelude.Hashable RateBasedRule where+ hashWithSalt _salt RateBasedRule' {..} =+ _salt+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` ruleId+ `Prelude.hashWithSalt` matchPredicates+ `Prelude.hashWithSalt` rateKey+ `Prelude.hashWithSalt` rateLimit++instance Prelude.NFData RateBasedRule where+ rnf RateBasedRule' {..} =+ Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf ruleId+ `Prelude.seq` Prelude.rnf matchPredicates+ `Prelude.seq` Prelude.rnf rateKey+ `Prelude.seq` Prelude.rnf rateLimit
+ gen/Amazonka/WAF/Types/RateKey.hs view
@@ -0,0 +1,63 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RateKey+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RateKey+ ( RateKey+ ( ..,+ RateKey_IP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RateKey = RateKey' {fromRateKey :: Data.Text}+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern RateKey_IP :: RateKey+pattern RateKey_IP = RateKey' "IP"++{-# COMPLETE+ RateKey_IP,+ RateKey'+ #-}
+ gen/Amazonka/WAF/Types/RegexMatchSet.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RegexMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RegexMatchSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.RegexMatchTuple++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- In a GetRegexMatchSet request, @RegexMatchSet@ is a complex type that+-- contains the @RegexMatchSetId@ and @Name@ of a @RegexMatchSet@, and the+-- values that you specified when you updated the @RegexMatchSet@.+--+-- The values are contained in a @RegexMatchTuple@ object, which specify+-- the parts of web requests that you want AWS WAF to inspect and the+-- values that you want AWS WAF to search for. If a @RegexMatchSet@+-- contains more than one @RegexMatchTuple@ object, a request needs to+-- match the settings in only one @ByteMatchTuple@ to be considered a+-- match.+--+-- /See:/ 'newRegexMatchSet' smart constructor.+data RegexMatchSet = RegexMatchSet'+ { -- | A friendly name or description of the RegexMatchSet. You can\'t change+ -- @Name@ after you create a @RegexMatchSet@.+ name :: Prelude.Maybe Prelude.Text,+ -- | The @RegexMatchSetId@ for a @RegexMatchSet@. You use @RegexMatchSetId@+ -- to get information about a @RegexMatchSet@ (see GetRegexMatchSet),+ -- update a @RegexMatchSet@ (see UpdateRegexMatchSet), insert a+ -- @RegexMatchSet@ into a @Rule@ or delete one from a @Rule@ (see+ -- UpdateRule), and delete a @RegexMatchSet@ from AWS WAF (see+ -- DeleteRegexMatchSet).+ --+ -- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+ -- ListRegexMatchSets.+ regexMatchSetId :: Prelude.Maybe Prelude.Text,+ -- | Contains an array of RegexMatchTuple objects. Each @RegexMatchTuple@+ -- object contains:+ --+ -- - The part of a web request that you want AWS WAF to inspect, such as+ -- a query string or the value of the @User-Agent@ header.+ --+ -- - The identifier of the pattern (a regular expression) that you want+ -- AWS WAF to look for. For more information, see RegexPatternSet.+ --+ -- - Whether to perform any conversions on the request, such as+ -- converting it to lowercase, before inspecting it for the specified+ -- string.+ regexMatchTuples :: Prelude.Maybe [RegexMatchTuple]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegexMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'regexMatchSet_name' - A friendly name or description of the RegexMatchSet. You can\'t change+-- @Name@ after you create a @RegexMatchSet@.+--+-- 'regexMatchSetId', 'regexMatchSet_regexMatchSetId' - The @RegexMatchSetId@ for a @RegexMatchSet@. You use @RegexMatchSetId@+-- to get information about a @RegexMatchSet@ (see GetRegexMatchSet),+-- update a @RegexMatchSet@ (see UpdateRegexMatchSet), insert a+-- @RegexMatchSet@ into a @Rule@ or delete one from a @Rule@ (see+-- UpdateRule), and delete a @RegexMatchSet@ from AWS WAF (see+-- DeleteRegexMatchSet).+--+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+--+-- 'regexMatchTuples', 'regexMatchSet_regexMatchTuples' - Contains an array of RegexMatchTuple objects. Each @RegexMatchTuple@+-- object contains:+--+-- - The part of a web request that you want AWS WAF to inspect, such as+-- a query string or the value of the @User-Agent@ header.+--+-- - The identifier of the pattern (a regular expression) that you want+-- AWS WAF to look for. For more information, see RegexPatternSet.+--+-- - Whether to perform any conversions on the request, such as+-- converting it to lowercase, before inspecting it for the specified+-- string.+newRegexMatchSet ::+ RegexMatchSet+newRegexMatchSet =+ RegexMatchSet'+ { name = Prelude.Nothing,+ regexMatchSetId = Prelude.Nothing,+ regexMatchTuples = Prelude.Nothing+ }++-- | A friendly name or description of the RegexMatchSet. You can\'t change+-- @Name@ after you create a @RegexMatchSet@.+regexMatchSet_name :: Lens.Lens' RegexMatchSet (Prelude.Maybe Prelude.Text)+regexMatchSet_name = Lens.lens (\RegexMatchSet' {name} -> name) (\s@RegexMatchSet' {} a -> s {name = a} :: RegexMatchSet)++-- | The @RegexMatchSetId@ for a @RegexMatchSet@. You use @RegexMatchSetId@+-- to get information about a @RegexMatchSet@ (see GetRegexMatchSet),+-- update a @RegexMatchSet@ (see UpdateRegexMatchSet), insert a+-- @RegexMatchSet@ into a @Rule@ or delete one from a @Rule@ (see+-- UpdateRule), and delete a @RegexMatchSet@ from AWS WAF (see+-- DeleteRegexMatchSet).+--+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+regexMatchSet_regexMatchSetId :: Lens.Lens' RegexMatchSet (Prelude.Maybe Prelude.Text)+regexMatchSet_regexMatchSetId = Lens.lens (\RegexMatchSet' {regexMatchSetId} -> regexMatchSetId) (\s@RegexMatchSet' {} a -> s {regexMatchSetId = a} :: RegexMatchSet)++-- | Contains an array of RegexMatchTuple objects. Each @RegexMatchTuple@+-- object contains:+--+-- - The part of a web request that you want AWS WAF to inspect, such as+-- a query string or the value of the @User-Agent@ header.+--+-- - The identifier of the pattern (a regular expression) that you want+-- AWS WAF to look for. For more information, see RegexPatternSet.+--+-- - Whether to perform any conversions on the request, such as+-- converting it to lowercase, before inspecting it for the specified+-- string.+regexMatchSet_regexMatchTuples :: Lens.Lens' RegexMatchSet (Prelude.Maybe [RegexMatchTuple])+regexMatchSet_regexMatchTuples = Lens.lens (\RegexMatchSet' {regexMatchTuples} -> regexMatchTuples) (\s@RegexMatchSet' {} a -> s {regexMatchTuples = a} :: RegexMatchSet) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON RegexMatchSet where+ parseJSON =+ Data.withObject+ "RegexMatchSet"+ ( \x ->+ RegexMatchSet'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "RegexMatchSetId")+ Prelude.<*> ( x+ Data..:? "RegexMatchTuples"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable RegexMatchSet where+ hashWithSalt _salt RegexMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` regexMatchSetId+ `Prelude.hashWithSalt` regexMatchTuples++instance Prelude.NFData RegexMatchSet where+ rnf RegexMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf regexMatchSetId+ `Prelude.seq` Prelude.rnf regexMatchTuples
+ gen/Amazonka/WAF/Types/RegexMatchSetSummary.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RegexMatchSetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RegexMatchSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returned by ListRegexMatchSets. Each @RegexMatchSetSummary@ object+-- includes the @Name@ and @RegexMatchSetId@ for one RegexMatchSet.+--+-- /See:/ 'newRegexMatchSetSummary' smart constructor.+data RegexMatchSetSummary = RegexMatchSetSummary'+ { -- | The @RegexMatchSetId@ for a @RegexMatchSet@. You use @RegexMatchSetId@+ -- to get information about a @RegexMatchSet@, update a @RegexMatchSet@,+ -- remove a @RegexMatchSet@ from a @Rule@, and delete a @RegexMatchSet@+ -- from AWS WAF.+ --+ -- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+ -- ListRegexMatchSets.+ regexMatchSetId :: Prelude.Text,+ -- | A friendly name or description of the RegexMatchSet. You can\'t change+ -- @Name@ after you create a @RegexMatchSet@.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegexMatchSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexMatchSetId', 'regexMatchSetSummary_regexMatchSetId' - The @RegexMatchSetId@ for a @RegexMatchSet@. You use @RegexMatchSetId@+-- to get information about a @RegexMatchSet@, update a @RegexMatchSet@,+-- remove a @RegexMatchSet@ from a @Rule@, and delete a @RegexMatchSet@+-- from AWS WAF.+--+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+--+-- 'name', 'regexMatchSetSummary_name' - A friendly name or description of the RegexMatchSet. You can\'t change+-- @Name@ after you create a @RegexMatchSet@.+newRegexMatchSetSummary ::+ -- | 'regexMatchSetId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ RegexMatchSetSummary+newRegexMatchSetSummary pRegexMatchSetId_ pName_ =+ RegexMatchSetSummary'+ { regexMatchSetId =+ pRegexMatchSetId_,+ name = pName_+ }++-- | The @RegexMatchSetId@ for a @RegexMatchSet@. You use @RegexMatchSetId@+-- to get information about a @RegexMatchSet@, update a @RegexMatchSet@,+-- remove a @RegexMatchSet@ from a @Rule@, and delete a @RegexMatchSet@+-- from AWS WAF.+--+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+regexMatchSetSummary_regexMatchSetId :: Lens.Lens' RegexMatchSetSummary Prelude.Text+regexMatchSetSummary_regexMatchSetId = Lens.lens (\RegexMatchSetSummary' {regexMatchSetId} -> regexMatchSetId) (\s@RegexMatchSetSummary' {} a -> s {regexMatchSetId = a} :: RegexMatchSetSummary)++-- | A friendly name or description of the RegexMatchSet. You can\'t change+-- @Name@ after you create a @RegexMatchSet@.+regexMatchSetSummary_name :: Lens.Lens' RegexMatchSetSummary Prelude.Text+regexMatchSetSummary_name = Lens.lens (\RegexMatchSetSummary' {name} -> name) (\s@RegexMatchSetSummary' {} a -> s {name = a} :: RegexMatchSetSummary)++instance Data.FromJSON RegexMatchSetSummary where+ parseJSON =+ Data.withObject+ "RegexMatchSetSummary"+ ( \x ->+ RegexMatchSetSummary'+ Prelude.<$> (x Data..: "RegexMatchSetId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable RegexMatchSetSummary where+ hashWithSalt _salt RegexMatchSetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` regexMatchSetId+ `Prelude.hashWithSalt` name++instance Prelude.NFData RegexMatchSetSummary where+ rnf RegexMatchSetSummary' {..} =+ Prelude.rnf regexMatchSetId+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/RegexMatchSetUpdate.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RegexMatchSetUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RegexMatchSetUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ChangeAction+import Amazonka.WAF.Types.RegexMatchTuple++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- In an UpdateRegexMatchSet request, @RegexMatchSetUpdate@ specifies+-- whether to insert or delete a RegexMatchTuple and includes the settings+-- for the @RegexMatchTuple@.+--+-- /See:/ 'newRegexMatchSetUpdate' smart constructor.+data RegexMatchSetUpdate = RegexMatchSetUpdate'+ { -- | Specifies whether to insert or delete a RegexMatchTuple.+ action :: ChangeAction,+ -- | Information about the part of a web request that you want AWS WAF to+ -- inspect and the identifier of the regular expression (regex) pattern+ -- that you want AWS WAF to search for. If you specify @DELETE@ for the+ -- value of @Action@, the @RegexMatchTuple@ values must exactly match the+ -- values in the @RegexMatchTuple@ that you want to delete from the+ -- @RegexMatchSet@.+ regexMatchTuple :: RegexMatchTuple+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegexMatchSetUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'regexMatchSetUpdate_action' - Specifies whether to insert or delete a RegexMatchTuple.+--+-- 'regexMatchTuple', 'regexMatchSetUpdate_regexMatchTuple' - Information about the part of a web request that you want AWS WAF to+-- inspect and the identifier of the regular expression (regex) pattern+-- that you want AWS WAF to search for. If you specify @DELETE@ for the+-- value of @Action@, the @RegexMatchTuple@ values must exactly match the+-- values in the @RegexMatchTuple@ that you want to delete from the+-- @RegexMatchSet@.+newRegexMatchSetUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'regexMatchTuple'+ RegexMatchTuple ->+ RegexMatchSetUpdate+newRegexMatchSetUpdate pAction_ pRegexMatchTuple_ =+ RegexMatchSetUpdate'+ { action = pAction_,+ regexMatchTuple = pRegexMatchTuple_+ }++-- | Specifies whether to insert or delete a RegexMatchTuple.+regexMatchSetUpdate_action :: Lens.Lens' RegexMatchSetUpdate ChangeAction+regexMatchSetUpdate_action = Lens.lens (\RegexMatchSetUpdate' {action} -> action) (\s@RegexMatchSetUpdate' {} a -> s {action = a} :: RegexMatchSetUpdate)++-- | Information about the part of a web request that you want AWS WAF to+-- inspect and the identifier of the regular expression (regex) pattern+-- that you want AWS WAF to search for. If you specify @DELETE@ for the+-- value of @Action@, the @RegexMatchTuple@ values must exactly match the+-- values in the @RegexMatchTuple@ that you want to delete from the+-- @RegexMatchSet@.+regexMatchSetUpdate_regexMatchTuple :: Lens.Lens' RegexMatchSetUpdate RegexMatchTuple+regexMatchSetUpdate_regexMatchTuple = Lens.lens (\RegexMatchSetUpdate' {regexMatchTuple} -> regexMatchTuple) (\s@RegexMatchSetUpdate' {} a -> s {regexMatchTuple = a} :: RegexMatchSetUpdate)++instance Prelude.Hashable RegexMatchSetUpdate where+ hashWithSalt _salt RegexMatchSetUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` regexMatchTuple++instance Prelude.NFData RegexMatchSetUpdate where+ rnf RegexMatchSetUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf regexMatchTuple++instance Data.ToJSON RegexMatchSetUpdate where+ toJSON RegexMatchSetUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ("RegexMatchTuple" Data..= regexMatchTuple)+ ]+ )
+ gen/Amazonka/WAF/Types/RegexMatchTuple.hs view
@@ -0,0 +1,383 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RegexMatchTuple+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RegexMatchTuple where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.FieldToMatch+import Amazonka.WAF.Types.TextTransformation++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The regular expression pattern that you want AWS WAF to search for in+-- web requests, the location in requests that you want AWS WAF to search,+-- and other settings. Each @RegexMatchTuple@ object contains:+--+-- - The part of a web request that you want AWS WAF to inspect, such as+-- a query string or the value of the @User-Agent@ header.+--+-- - The identifier of the pattern (a regular expression) that you want+-- AWS WAF to look for. For more information, see RegexPatternSet.+--+-- - Whether to perform any conversions on the request, such as+-- converting it to lowercase, before inspecting it for the specified+-- string.+--+-- /See:/ 'newRegexMatchTuple' smart constructor.+data RegexMatchTuple = RegexMatchTuple'+ { -- | Specifies where in a web request to look for the @RegexPatternSet@.+ fieldToMatch :: FieldToMatch,+ -- | Text transformations eliminate some of the unusual formatting that+ -- attackers use in web requests in an effort to bypass AWS WAF. If you+ -- specify a transformation, AWS WAF performs the transformation on+ -- @RegexPatternSet@ before inspecting a request for a match.+ --+ -- You can only specify a single type of TextTransformation.+ --+ -- __CMD_LINE__+ --+ -- When you\'re concerned that attackers are injecting an operating system+ -- commandline command and using unusual formatting to disguise some or all+ -- of the command, use this option to perform the following+ -- transformations:+ --+ -- - Delete the following characters: \\ \" \' ^+ --+ -- - Delete spaces before the following characters: \/ (+ --+ -- - Replace the following characters with a space: , ;+ --+ -- - Replace multiple spaces with one space+ --+ -- - Convert uppercase letters (A-Z) to lowercase (a-z)+ --+ -- __COMPRESS_WHITE_SPACE__+ --+ -- Use this option to replace the following characters with a space+ -- character (decimal 32):+ --+ -- - \\f, formfeed, decimal 12+ --+ -- - \\t, tab, decimal 9+ --+ -- - \\n, newline, decimal 10+ --+ -- - \\r, carriage return, decimal 13+ --+ -- - \\v, vertical tab, decimal 11+ --+ -- - non-breaking space, decimal 160+ --+ -- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+ --+ -- __HTML_ENTITY_DECODE__+ --+ -- Use this option to replace HTML-encoded characters with unencoded+ -- characters. @HTML_ENTITY_DECODE@ performs the following operations:+ --+ -- - Replaces @(ampersand)quot;@ with @\"@+ --+ -- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+ --+ -- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+ --+ -- - Replaces @(ampersand)gt;@ with @>@+ --+ -- - Replaces characters that are represented in hexadecimal format,+ -- @(ampersand)#xhhhh;@, with the corresponding characters+ --+ -- - Replaces characters that are represented in decimal format,+ -- @(ampersand)#nnnn;@, with the corresponding characters+ --+ -- __LOWERCASE__+ --+ -- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+ --+ -- __URL_DECODE__+ --+ -- Use this option to decode a URL-encoded value.+ --+ -- __NONE__+ --+ -- Specify @NONE@ if you don\'t want to perform any text transformations.+ textTransformation :: TextTransformation,+ -- | The @RegexPatternSetId@ for a @RegexPatternSet@. You use+ -- @RegexPatternSetId@ to get information about a @RegexPatternSet@ (see+ -- GetRegexPatternSet), update a @RegexPatternSet@ (see+ -- UpdateRegexPatternSet), insert a @RegexPatternSet@ into a+ -- @RegexMatchSet@ or delete one from a @RegexMatchSet@ (see+ -- UpdateRegexMatchSet), and delete an @RegexPatternSet@ from AWS WAF (see+ -- DeleteRegexPatternSet).+ --+ -- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+ -- ListRegexPatternSets.+ regexPatternSetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegexMatchTuple' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldToMatch', 'regexMatchTuple_fieldToMatch' - Specifies where in a web request to look for the @RegexPatternSet@.+--+-- 'textTransformation', 'regexMatchTuple_textTransformation' - Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @RegexPatternSet@ before inspecting a request for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- commandline command and using unusual formatting to disguise some or all+-- of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+--+-- 'regexPatternSetId', 'regexMatchTuple_regexPatternSetId' - The @RegexPatternSetId@ for a @RegexPatternSet@. You use+-- @RegexPatternSetId@ to get information about a @RegexPatternSet@ (see+-- GetRegexPatternSet), update a @RegexPatternSet@ (see+-- UpdateRegexPatternSet), insert a @RegexPatternSet@ into a+-- @RegexMatchSet@ or delete one from a @RegexMatchSet@ (see+-- UpdateRegexMatchSet), and delete an @RegexPatternSet@ from AWS WAF (see+-- DeleteRegexPatternSet).+--+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+newRegexMatchTuple ::+ -- | 'fieldToMatch'+ FieldToMatch ->+ -- | 'textTransformation'+ TextTransformation ->+ -- | 'regexPatternSetId'+ Prelude.Text ->+ RegexMatchTuple+newRegexMatchTuple+ pFieldToMatch_+ pTextTransformation_+ pRegexPatternSetId_ =+ RegexMatchTuple'+ { fieldToMatch = pFieldToMatch_,+ textTransformation = pTextTransformation_,+ regexPatternSetId = pRegexPatternSetId_+ }++-- | Specifies where in a web request to look for the @RegexPatternSet@.+regexMatchTuple_fieldToMatch :: Lens.Lens' RegexMatchTuple FieldToMatch+regexMatchTuple_fieldToMatch = Lens.lens (\RegexMatchTuple' {fieldToMatch} -> fieldToMatch) (\s@RegexMatchTuple' {} a -> s {fieldToMatch = a} :: RegexMatchTuple)++-- | Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @RegexPatternSet@ before inspecting a request for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- commandline command and using unusual formatting to disguise some or all+-- of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+regexMatchTuple_textTransformation :: Lens.Lens' RegexMatchTuple TextTransformation+regexMatchTuple_textTransformation = Lens.lens (\RegexMatchTuple' {textTransformation} -> textTransformation) (\s@RegexMatchTuple' {} a -> s {textTransformation = a} :: RegexMatchTuple)++-- | The @RegexPatternSetId@ for a @RegexPatternSet@. You use+-- @RegexPatternSetId@ to get information about a @RegexPatternSet@ (see+-- GetRegexPatternSet), update a @RegexPatternSet@ (see+-- UpdateRegexPatternSet), insert a @RegexPatternSet@ into a+-- @RegexMatchSet@ or delete one from a @RegexMatchSet@ (see+-- UpdateRegexMatchSet), and delete an @RegexPatternSet@ from AWS WAF (see+-- DeleteRegexPatternSet).+--+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+regexMatchTuple_regexPatternSetId :: Lens.Lens' RegexMatchTuple Prelude.Text+regexMatchTuple_regexPatternSetId = Lens.lens (\RegexMatchTuple' {regexPatternSetId} -> regexPatternSetId) (\s@RegexMatchTuple' {} a -> s {regexPatternSetId = a} :: RegexMatchTuple)++instance Data.FromJSON RegexMatchTuple where+ parseJSON =+ Data.withObject+ "RegexMatchTuple"+ ( \x ->+ RegexMatchTuple'+ Prelude.<$> (x Data..: "FieldToMatch")+ Prelude.<*> (x Data..: "TextTransformation")+ Prelude.<*> (x Data..: "RegexPatternSetId")+ )++instance Prelude.Hashable RegexMatchTuple where+ hashWithSalt _salt RegexMatchTuple' {..} =+ _salt+ `Prelude.hashWithSalt` fieldToMatch+ `Prelude.hashWithSalt` textTransformation+ `Prelude.hashWithSalt` regexPatternSetId++instance Prelude.NFData RegexMatchTuple where+ rnf RegexMatchTuple' {..} =+ Prelude.rnf fieldToMatch+ `Prelude.seq` Prelude.rnf textTransformation+ `Prelude.seq` Prelude.rnf regexPatternSetId++instance Data.ToJSON RegexMatchTuple where+ toJSON RegexMatchTuple' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("FieldToMatch" Data..= fieldToMatch),+ Prelude.Just+ ("TextTransformation" Data..= textTransformation),+ Prelude.Just+ ("RegexPatternSetId" Data..= regexPatternSetId)+ ]+ )
+ gen/Amazonka/WAF/Types/RegexPatternSet.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RegexPatternSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RegexPatternSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The @RegexPatternSet@ specifies the regular expression (regex) pattern+-- that you want AWS WAF to search for, such as @B[a\@]dB[o0]t@. You can+-- then configure AWS WAF to reject those requests.+--+-- /See:/ 'newRegexPatternSet' smart constructor.+data RegexPatternSet = RegexPatternSet'+ { -- | A friendly name or description of the RegexPatternSet. You can\'t change+ -- @Name@ after you create a @RegexPatternSet@.+ name :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the @RegexPatternSet@. You use @RegexPatternSetId@ to+ -- get information about a @RegexPatternSet@, update a @RegexPatternSet@,+ -- remove a @RegexPatternSet@ from a @RegexMatchSet@, and delete a+ -- @RegexPatternSet@ from AWS WAF.+ --+ -- @RegexMatchSetId@ is returned by CreateRegexPatternSet and by+ -- ListRegexPatternSets.+ regexPatternSetId :: Prelude.Text,+ -- | Specifies the regular expression (regex) patterns that you want AWS WAF+ -- to search for, such as @B[a\@]dB[o0]t@.+ regexPatternStrings :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegexPatternSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'regexPatternSet_name' - A friendly name or description of the RegexPatternSet. You can\'t change+-- @Name@ after you create a @RegexPatternSet@.+--+-- 'regexPatternSetId', 'regexPatternSet_regexPatternSetId' - The identifier for the @RegexPatternSet@. You use @RegexPatternSetId@ to+-- get information about a @RegexPatternSet@, update a @RegexPatternSet@,+-- remove a @RegexPatternSet@ from a @RegexMatchSet@, and delete a+-- @RegexPatternSet@ from AWS WAF.+--+-- @RegexMatchSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+--+-- 'regexPatternStrings', 'regexPatternSet_regexPatternStrings' - Specifies the regular expression (regex) patterns that you want AWS WAF+-- to search for, such as @B[a\@]dB[o0]t@.+newRegexPatternSet ::+ -- | 'regexPatternSetId'+ Prelude.Text ->+ RegexPatternSet+newRegexPatternSet pRegexPatternSetId_ =+ RegexPatternSet'+ { name = Prelude.Nothing,+ regexPatternSetId = pRegexPatternSetId_,+ regexPatternStrings = Prelude.mempty+ }++-- | A friendly name or description of the RegexPatternSet. You can\'t change+-- @Name@ after you create a @RegexPatternSet@.+regexPatternSet_name :: Lens.Lens' RegexPatternSet (Prelude.Maybe Prelude.Text)+regexPatternSet_name = Lens.lens (\RegexPatternSet' {name} -> name) (\s@RegexPatternSet' {} a -> s {name = a} :: RegexPatternSet)++-- | The identifier for the @RegexPatternSet@. You use @RegexPatternSetId@ to+-- get information about a @RegexPatternSet@, update a @RegexPatternSet@,+-- remove a @RegexPatternSet@ from a @RegexMatchSet@, and delete a+-- @RegexPatternSet@ from AWS WAF.+--+-- @RegexMatchSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+regexPatternSet_regexPatternSetId :: Lens.Lens' RegexPatternSet Prelude.Text+regexPatternSet_regexPatternSetId = Lens.lens (\RegexPatternSet' {regexPatternSetId} -> regexPatternSetId) (\s@RegexPatternSet' {} a -> s {regexPatternSetId = a} :: RegexPatternSet)++-- | Specifies the regular expression (regex) patterns that you want AWS WAF+-- to search for, such as @B[a\@]dB[o0]t@.+regexPatternSet_regexPatternStrings :: Lens.Lens' RegexPatternSet [Prelude.Text]+regexPatternSet_regexPatternStrings = Lens.lens (\RegexPatternSet' {regexPatternStrings} -> regexPatternStrings) (\s@RegexPatternSet' {} a -> s {regexPatternStrings = a} :: RegexPatternSet) Prelude.. Lens.coerced++instance Data.FromJSON RegexPatternSet where+ parseJSON =+ Data.withObject+ "RegexPatternSet"+ ( \x ->+ RegexPatternSet'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..: "RegexPatternSetId")+ Prelude.<*> ( x+ Data..:? "RegexPatternStrings"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable RegexPatternSet where+ hashWithSalt _salt RegexPatternSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` regexPatternSetId+ `Prelude.hashWithSalt` regexPatternStrings++instance Prelude.NFData RegexPatternSet where+ rnf RegexPatternSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf regexPatternSetId+ `Prelude.seq` Prelude.rnf regexPatternStrings
+ gen/Amazonka/WAF/Types/RegexPatternSetSummary.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RegexPatternSetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RegexPatternSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Returned by ListRegexPatternSets. Each @RegexPatternSetSummary@ object+-- includes the @Name@ and @RegexPatternSetId@ for one RegexPatternSet.+--+-- /See:/ 'newRegexPatternSetSummary' smart constructor.+data RegexPatternSetSummary = RegexPatternSetSummary'+ { -- | The @RegexPatternSetId@ for a @RegexPatternSet@. You use+ -- @RegexPatternSetId@ to get information about a @RegexPatternSet@, update+ -- a @RegexPatternSet@, remove a @RegexPatternSet@ from a @RegexMatchSet@,+ -- and delete a @RegexPatternSet@ from AWS WAF.+ --+ -- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+ -- ListRegexPatternSets.+ regexPatternSetId :: Prelude.Text,+ -- | A friendly name or description of the RegexPatternSet. You can\'t change+ -- @Name@ after you create a @RegexPatternSet@.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegexPatternSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexPatternSetId', 'regexPatternSetSummary_regexPatternSetId' - The @RegexPatternSetId@ for a @RegexPatternSet@. You use+-- @RegexPatternSetId@ to get information about a @RegexPatternSet@, update+-- a @RegexPatternSet@, remove a @RegexPatternSet@ from a @RegexMatchSet@,+-- and delete a @RegexPatternSet@ from AWS WAF.+--+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+--+-- 'name', 'regexPatternSetSummary_name' - A friendly name or description of the RegexPatternSet. You can\'t change+-- @Name@ after you create a @RegexPatternSet@.+newRegexPatternSetSummary ::+ -- | 'regexPatternSetId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ RegexPatternSetSummary+newRegexPatternSetSummary pRegexPatternSetId_ pName_ =+ RegexPatternSetSummary'+ { regexPatternSetId =+ pRegexPatternSetId_,+ name = pName_+ }++-- | The @RegexPatternSetId@ for a @RegexPatternSet@. You use+-- @RegexPatternSetId@ to get information about a @RegexPatternSet@, update+-- a @RegexPatternSet@, remove a @RegexPatternSet@ from a @RegexMatchSet@,+-- and delete a @RegexPatternSet@ from AWS WAF.+--+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+regexPatternSetSummary_regexPatternSetId :: Lens.Lens' RegexPatternSetSummary Prelude.Text+regexPatternSetSummary_regexPatternSetId = Lens.lens (\RegexPatternSetSummary' {regexPatternSetId} -> regexPatternSetId) (\s@RegexPatternSetSummary' {} a -> s {regexPatternSetId = a} :: RegexPatternSetSummary)++-- | A friendly name or description of the RegexPatternSet. You can\'t change+-- @Name@ after you create a @RegexPatternSet@.+regexPatternSetSummary_name :: Lens.Lens' RegexPatternSetSummary Prelude.Text+regexPatternSetSummary_name = Lens.lens (\RegexPatternSetSummary' {name} -> name) (\s@RegexPatternSetSummary' {} a -> s {name = a} :: RegexPatternSetSummary)++instance Data.FromJSON RegexPatternSetSummary where+ parseJSON =+ Data.withObject+ "RegexPatternSetSummary"+ ( \x ->+ RegexPatternSetSummary'+ Prelude.<$> (x Data..: "RegexPatternSetId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable RegexPatternSetSummary where+ hashWithSalt _salt RegexPatternSetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` regexPatternSetId+ `Prelude.hashWithSalt` name++instance Prelude.NFData RegexPatternSetSummary where+ rnf RegexPatternSetSummary' {..} =+ Prelude.rnf regexPatternSetId+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/RegexPatternSetUpdate.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RegexPatternSetUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RegexPatternSetUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ChangeAction++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- In an UpdateRegexPatternSet request, @RegexPatternSetUpdate@ specifies+-- whether to insert or delete a @RegexPatternString@ and includes the+-- settings for the @RegexPatternString@.+--+-- /See:/ 'newRegexPatternSetUpdate' smart constructor.+data RegexPatternSetUpdate = RegexPatternSetUpdate'+ { -- | Specifies whether to insert or delete a @RegexPatternString@.+ action :: ChangeAction,+ -- | Specifies the regular expression (regex) pattern that you want AWS WAF+ -- to search for, such as @B[a\@]dB[o0]t@.+ regexPatternString :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegexPatternSetUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'regexPatternSetUpdate_action' - Specifies whether to insert or delete a @RegexPatternString@.+--+-- 'regexPatternString', 'regexPatternSetUpdate_regexPatternString' - Specifies the regular expression (regex) pattern that you want AWS WAF+-- to search for, such as @B[a\@]dB[o0]t@.+newRegexPatternSetUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'regexPatternString'+ Prelude.Text ->+ RegexPatternSetUpdate+newRegexPatternSetUpdate+ pAction_+ pRegexPatternString_ =+ RegexPatternSetUpdate'+ { action = pAction_,+ regexPatternString = pRegexPatternString_+ }++-- | Specifies whether to insert or delete a @RegexPatternString@.+regexPatternSetUpdate_action :: Lens.Lens' RegexPatternSetUpdate ChangeAction+regexPatternSetUpdate_action = Lens.lens (\RegexPatternSetUpdate' {action} -> action) (\s@RegexPatternSetUpdate' {} a -> s {action = a} :: RegexPatternSetUpdate)++-- | Specifies the regular expression (regex) pattern that you want AWS WAF+-- to search for, such as @B[a\@]dB[o0]t@.+regexPatternSetUpdate_regexPatternString :: Lens.Lens' RegexPatternSetUpdate Prelude.Text+regexPatternSetUpdate_regexPatternString = Lens.lens (\RegexPatternSetUpdate' {regexPatternString} -> regexPatternString) (\s@RegexPatternSetUpdate' {} a -> s {regexPatternString = a} :: RegexPatternSetUpdate)++instance Prelude.Hashable RegexPatternSetUpdate where+ hashWithSalt _salt RegexPatternSetUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` regexPatternString++instance Prelude.NFData RegexPatternSetUpdate where+ rnf RegexPatternSetUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf regexPatternString++instance Data.ToJSON RegexPatternSetUpdate where+ toJSON RegexPatternSetUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ("RegexPatternString" Data..= regexPatternString)+ ]+ )
+ gen/Amazonka/WAF/Types/Rule.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.Rule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.Rule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.Predicate++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- A combination of ByteMatchSet, IPSet, and\/or SqlInjectionMatchSet+-- objects that identify the web requests that you want to allow, block, or+-- count. For example, you might create a @Rule@ that includes the+-- following predicates:+--+-- - An @IPSet@ that causes AWS WAF to search for web requests that+-- originate from the IP address @192.0.2.44@+--+-- - A @ByteMatchSet@ that causes AWS WAF to search for web requests for+-- which the value of the @User-Agent@ header is @BadBot@.+--+-- To match the settings in this @Rule@, a request must originate from+-- @192.0.2.44@ AND include a @User-Agent@ header for which the value is+-- @BadBot@.+--+-- /See:/ 'newRule' smart constructor.+data Rule = Rule'+ { -- | A friendly name or description for the metrics for this @Rule@. The name+ -- can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum+ -- length 128 and minimum length one. It can\'t contain whitespace or+ -- metric names reserved for AWS WAF, including \"All\" and+ -- \"Default_Action.\" You can\'t change @MetricName@ after you create the+ -- @Rule@.+ metricName :: Prelude.Maybe Prelude.Text,+ -- | The friendly name or description for the @Rule@. You can\'t change the+ -- name of a @Rule@ after you create it.+ name :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier for a @Rule@. You use @RuleId@ to get more+ -- information about a @Rule@ (see GetRule), update a @Rule@ (see+ -- UpdateRule), insert a @Rule@ into a @WebACL@ or delete a one from a+ -- @WebACL@ (see UpdateWebACL), or delete a @Rule@ from AWS WAF (see+ -- DeleteRule).+ --+ -- @RuleId@ is returned by CreateRule and by ListRules.+ ruleId :: Prelude.Text,+ -- | The @Predicates@ object contains one @Predicate@ element for each+ -- ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to+ -- include in a @Rule@.+ predicates :: [Predicate]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Rule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'metricName', 'rule_metricName' - A friendly name or description for the metrics for this @Rule@. The name+-- can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum+-- length 128 and minimum length one. It can\'t contain whitespace or+-- metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change @MetricName@ after you create the+-- @Rule@.+--+-- 'name', 'rule_name' - The friendly name or description for the @Rule@. You can\'t change the+-- name of a @Rule@ after you create it.+--+-- 'ruleId', 'rule_ruleId' - A unique identifier for a @Rule@. You use @RuleId@ to get more+-- information about a @Rule@ (see GetRule), update a @Rule@ (see+-- UpdateRule), insert a @Rule@ into a @WebACL@ or delete a one from a+-- @WebACL@ (see UpdateWebACL), or delete a @Rule@ from AWS WAF (see+-- DeleteRule).+--+-- @RuleId@ is returned by CreateRule and by ListRules.+--+-- 'predicates', 'rule_predicates' - The @Predicates@ object contains one @Predicate@ element for each+-- ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to+-- include in a @Rule@.+newRule ::+ -- | 'ruleId'+ Prelude.Text ->+ Rule+newRule pRuleId_ =+ Rule'+ { metricName = Prelude.Nothing,+ name = Prelude.Nothing,+ ruleId = pRuleId_,+ predicates = Prelude.mempty+ }++-- | A friendly name or description for the metrics for this @Rule@. The name+-- can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum+-- length 128 and minimum length one. It can\'t contain whitespace or+-- metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change @MetricName@ after you create the+-- @Rule@.+rule_metricName :: Lens.Lens' Rule (Prelude.Maybe Prelude.Text)+rule_metricName = Lens.lens (\Rule' {metricName} -> metricName) (\s@Rule' {} a -> s {metricName = a} :: Rule)++-- | The friendly name or description for the @Rule@. You can\'t change the+-- name of a @Rule@ after you create it.+rule_name :: Lens.Lens' Rule (Prelude.Maybe Prelude.Text)+rule_name = Lens.lens (\Rule' {name} -> name) (\s@Rule' {} a -> s {name = a} :: Rule)++-- | A unique identifier for a @Rule@. You use @RuleId@ to get more+-- information about a @Rule@ (see GetRule), update a @Rule@ (see+-- UpdateRule), insert a @Rule@ into a @WebACL@ or delete a one from a+-- @WebACL@ (see UpdateWebACL), or delete a @Rule@ from AWS WAF (see+-- DeleteRule).+--+-- @RuleId@ is returned by CreateRule and by ListRules.+rule_ruleId :: Lens.Lens' Rule Prelude.Text+rule_ruleId = Lens.lens (\Rule' {ruleId} -> ruleId) (\s@Rule' {} a -> s {ruleId = a} :: Rule)++-- | The @Predicates@ object contains one @Predicate@ element for each+-- ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to+-- include in a @Rule@.+rule_predicates :: Lens.Lens' Rule [Predicate]+rule_predicates = Lens.lens (\Rule' {predicates} -> predicates) (\s@Rule' {} a -> s {predicates = a} :: Rule) Prelude.. Lens.coerced++instance Data.FromJSON Rule where+ parseJSON =+ Data.withObject+ "Rule"+ ( \x ->+ Rule'+ Prelude.<$> (x Data..:? "MetricName")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..: "RuleId")+ Prelude.<*> (x Data..:? "Predicates" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Rule where+ hashWithSalt _salt Rule' {..} =+ _salt+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` ruleId+ `Prelude.hashWithSalt` predicates++instance Prelude.NFData Rule where+ rnf Rule' {..} =+ Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf ruleId+ `Prelude.seq` Prelude.rnf predicates
+ gen/Amazonka/WAF/Types/RuleGroup.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RuleGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- A collection of predefined rules that you can add to a web ACL.+--+-- Rule groups are subject to the following limits:+--+-- - Three rule groups per account. You can request an increase to this+-- limit by contacting customer support.+--+-- - One rule group per web ACL.+--+-- - Ten rules per rule group.+--+-- /See:/ 'newRuleGroup' smart constructor.+data RuleGroup = RuleGroup'+ { -- | A friendly name or description for the metrics for this @RuleGroup@. The+ -- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+ -- maximum length 128 and minimum length one. It can\'t contain whitespace+ -- or metric names reserved for AWS WAF, including \"All\" and+ -- \"Default_Action.\" You can\'t change the name of the metric after you+ -- create the @RuleGroup@.+ metricName :: Prelude.Maybe Prelude.Text,+ -- | The friendly name or description for the @RuleGroup@. You can\'t change+ -- the name of a @RuleGroup@ after you create it.+ name :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier for a @RuleGroup@. You use @RuleGroupId@ to get more+ -- information about a @RuleGroup@ (see GetRuleGroup), update a @RuleGroup@+ -- (see UpdateRuleGroup), insert a @RuleGroup@ into a @WebACL@ or delete a+ -- one from a @WebACL@ (see UpdateWebACL), or delete a @RuleGroup@ from AWS+ -- WAF (see DeleteRuleGroup).+ --+ -- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+ ruleGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'metricName', 'ruleGroup_metricName' - A friendly name or description for the metrics for this @RuleGroup@. The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RuleGroup@.+--+-- 'name', 'ruleGroup_name' - The friendly name or description for the @RuleGroup@. You can\'t change+-- the name of a @RuleGroup@ after you create it.+--+-- 'ruleGroupId', 'ruleGroup_ruleGroupId' - A unique identifier for a @RuleGroup@. You use @RuleGroupId@ to get more+-- information about a @RuleGroup@ (see GetRuleGroup), update a @RuleGroup@+-- (see UpdateRuleGroup), insert a @RuleGroup@ into a @WebACL@ or delete a+-- one from a @WebACL@ (see UpdateWebACL), or delete a @RuleGroup@ from AWS+-- WAF (see DeleteRuleGroup).+--+-- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+newRuleGroup ::+ -- | 'ruleGroupId'+ Prelude.Text ->+ RuleGroup+newRuleGroup pRuleGroupId_ =+ RuleGroup'+ { metricName = Prelude.Nothing,+ name = Prelude.Nothing,+ ruleGroupId = pRuleGroupId_+ }++-- | A friendly name or description for the metrics for this @RuleGroup@. The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RuleGroup@.+ruleGroup_metricName :: Lens.Lens' RuleGroup (Prelude.Maybe Prelude.Text)+ruleGroup_metricName = Lens.lens (\RuleGroup' {metricName} -> metricName) (\s@RuleGroup' {} a -> s {metricName = a} :: RuleGroup)++-- | The friendly name or description for the @RuleGroup@. You can\'t change+-- the name of a @RuleGroup@ after you create it.+ruleGroup_name :: Lens.Lens' RuleGroup (Prelude.Maybe Prelude.Text)+ruleGroup_name = Lens.lens (\RuleGroup' {name} -> name) (\s@RuleGroup' {} a -> s {name = a} :: RuleGroup)++-- | A unique identifier for a @RuleGroup@. You use @RuleGroupId@ to get more+-- information about a @RuleGroup@ (see GetRuleGroup), update a @RuleGroup@+-- (see UpdateRuleGroup), insert a @RuleGroup@ into a @WebACL@ or delete a+-- one from a @WebACL@ (see UpdateWebACL), or delete a @RuleGroup@ from AWS+-- WAF (see DeleteRuleGroup).+--+-- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+ruleGroup_ruleGroupId :: Lens.Lens' RuleGroup Prelude.Text+ruleGroup_ruleGroupId = Lens.lens (\RuleGroup' {ruleGroupId} -> ruleGroupId) (\s@RuleGroup' {} a -> s {ruleGroupId = a} :: RuleGroup)++instance Data.FromJSON RuleGroup where+ parseJSON =+ Data.withObject+ "RuleGroup"+ ( \x ->+ RuleGroup'+ Prelude.<$> (x Data..:? "MetricName")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..: "RuleGroupId")+ )++instance Prelude.Hashable RuleGroup where+ hashWithSalt _salt RuleGroup' {..} =+ _salt+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` ruleGroupId++instance Prelude.NFData RuleGroup where+ rnf RuleGroup' {..} =+ Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf ruleGroupId
+ gen/Amazonka/WAF/Types/RuleGroupSummary.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RuleGroupSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RuleGroupSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Contains the identifier and the friendly name or description of the+-- @RuleGroup@.+--+-- /See:/ 'newRuleGroupSummary' smart constructor.+data RuleGroupSummary = RuleGroupSummary'+ { -- | A unique identifier for a @RuleGroup@. You use @RuleGroupId@ to get more+ -- information about a @RuleGroup@ (see GetRuleGroup), update a @RuleGroup@+ -- (see UpdateRuleGroup), insert a @RuleGroup@ into a @WebACL@ or delete+ -- one from a @WebACL@ (see UpdateWebACL), or delete a @RuleGroup@ from AWS+ -- WAF (see DeleteRuleGroup).+ --+ -- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+ ruleGroupId :: Prelude.Text,+ -- | A friendly name or description of the RuleGroup. You can\'t change the+ -- name of a @RuleGroup@ after you create it.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RuleGroupSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleGroupId', 'ruleGroupSummary_ruleGroupId' - A unique identifier for a @RuleGroup@. You use @RuleGroupId@ to get more+-- information about a @RuleGroup@ (see GetRuleGroup), update a @RuleGroup@+-- (see UpdateRuleGroup), insert a @RuleGroup@ into a @WebACL@ or delete+-- one from a @WebACL@ (see UpdateWebACL), or delete a @RuleGroup@ from AWS+-- WAF (see DeleteRuleGroup).+--+-- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+--+-- 'name', 'ruleGroupSummary_name' - A friendly name or description of the RuleGroup. You can\'t change the+-- name of a @RuleGroup@ after you create it.+newRuleGroupSummary ::+ -- | 'ruleGroupId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ RuleGroupSummary+newRuleGroupSummary pRuleGroupId_ pName_ =+ RuleGroupSummary'+ { ruleGroupId = pRuleGroupId_,+ name = pName_+ }++-- | A unique identifier for a @RuleGroup@. You use @RuleGroupId@ to get more+-- information about a @RuleGroup@ (see GetRuleGroup), update a @RuleGroup@+-- (see UpdateRuleGroup), insert a @RuleGroup@ into a @WebACL@ or delete+-- one from a @WebACL@ (see UpdateWebACL), or delete a @RuleGroup@ from AWS+-- WAF (see DeleteRuleGroup).+--+-- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+ruleGroupSummary_ruleGroupId :: Lens.Lens' RuleGroupSummary Prelude.Text+ruleGroupSummary_ruleGroupId = Lens.lens (\RuleGroupSummary' {ruleGroupId} -> ruleGroupId) (\s@RuleGroupSummary' {} a -> s {ruleGroupId = a} :: RuleGroupSummary)++-- | A friendly name or description of the RuleGroup. You can\'t change the+-- name of a @RuleGroup@ after you create it.+ruleGroupSummary_name :: Lens.Lens' RuleGroupSummary Prelude.Text+ruleGroupSummary_name = Lens.lens (\RuleGroupSummary' {name} -> name) (\s@RuleGroupSummary' {} a -> s {name = a} :: RuleGroupSummary)++instance Data.FromJSON RuleGroupSummary where+ parseJSON =+ Data.withObject+ "RuleGroupSummary"+ ( \x ->+ RuleGroupSummary'+ Prelude.<$> (x Data..: "RuleGroupId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable RuleGroupSummary where+ hashWithSalt _salt RuleGroupSummary' {..} =+ _salt+ `Prelude.hashWithSalt` ruleGroupId+ `Prelude.hashWithSalt` name++instance Prelude.NFData RuleGroupSummary where+ rnf RuleGroupSummary' {..} =+ Prelude.rnf ruleGroupId+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/RuleGroupUpdate.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RuleGroupUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RuleGroupUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ActivatedRule+import Amazonka.WAF.Types.ChangeAction++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies an @ActivatedRule@ and indicates whether you want to add it to+-- a @RuleGroup@ or delete it from a @RuleGroup@.+--+-- /See:/ 'newRuleGroupUpdate' smart constructor.+data RuleGroupUpdate = RuleGroupUpdate'+ { -- | Specify @INSERT@ to add an @ActivatedRule@ to a @RuleGroup@. Use+ -- @DELETE@ to remove an @ActivatedRule@ from a @RuleGroup@.+ action :: ChangeAction,+ -- | The @ActivatedRule@ object specifies a @Rule@ that you want to insert or+ -- delete, the priority of the @Rule@ in the @WebACL@, and the action that+ -- you want AWS WAF to take when a web request matches the @Rule@ (@ALLOW@,+ -- @BLOCK@, or @COUNT@).+ activatedRule :: ActivatedRule+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RuleGroupUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'ruleGroupUpdate_action' - Specify @INSERT@ to add an @ActivatedRule@ to a @RuleGroup@. Use+-- @DELETE@ to remove an @ActivatedRule@ from a @RuleGroup@.+--+-- 'activatedRule', 'ruleGroupUpdate_activatedRule' - The @ActivatedRule@ object specifies a @Rule@ that you want to insert or+-- delete, the priority of the @Rule@ in the @WebACL@, and the action that+-- you want AWS WAF to take when a web request matches the @Rule@ (@ALLOW@,+-- @BLOCK@, or @COUNT@).+newRuleGroupUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'activatedRule'+ ActivatedRule ->+ RuleGroupUpdate+newRuleGroupUpdate pAction_ pActivatedRule_ =+ RuleGroupUpdate'+ { action = pAction_,+ activatedRule = pActivatedRule_+ }++-- | Specify @INSERT@ to add an @ActivatedRule@ to a @RuleGroup@. Use+-- @DELETE@ to remove an @ActivatedRule@ from a @RuleGroup@.+ruleGroupUpdate_action :: Lens.Lens' RuleGroupUpdate ChangeAction+ruleGroupUpdate_action = Lens.lens (\RuleGroupUpdate' {action} -> action) (\s@RuleGroupUpdate' {} a -> s {action = a} :: RuleGroupUpdate)++-- | The @ActivatedRule@ object specifies a @Rule@ that you want to insert or+-- delete, the priority of the @Rule@ in the @WebACL@, and the action that+-- you want AWS WAF to take when a web request matches the @Rule@ (@ALLOW@,+-- @BLOCK@, or @COUNT@).+ruleGroupUpdate_activatedRule :: Lens.Lens' RuleGroupUpdate ActivatedRule+ruleGroupUpdate_activatedRule = Lens.lens (\RuleGroupUpdate' {activatedRule} -> activatedRule) (\s@RuleGroupUpdate' {} a -> s {activatedRule = a} :: RuleGroupUpdate)++instance Prelude.Hashable RuleGroupUpdate where+ hashWithSalt _salt RuleGroupUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` activatedRule++instance Prelude.NFData RuleGroupUpdate where+ rnf RuleGroupUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf activatedRule++instance Data.ToJSON RuleGroupUpdate where+ toJSON RuleGroupUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ("ActivatedRule" Data..= activatedRule)+ ]+ )
+ gen/Amazonka/WAF/Types/RuleSummary.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RuleSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RuleSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Contains the identifier and the friendly name or description of the+-- @Rule@.+--+-- /See:/ 'newRuleSummary' smart constructor.+data RuleSummary = RuleSummary'+ { -- | A unique identifier for a @Rule@. You use @RuleId@ to get more+ -- information about a @Rule@ (see GetRule), update a @Rule@ (see+ -- UpdateRule), insert a @Rule@ into a @WebACL@ or delete one from a+ -- @WebACL@ (see UpdateWebACL), or delete a @Rule@ from AWS WAF (see+ -- DeleteRule).+ --+ -- @RuleId@ is returned by CreateRule and by ListRules.+ ruleId :: Prelude.Text,+ -- | A friendly name or description of the Rule. You can\'t change the name+ -- of a @Rule@ after you create it.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RuleSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleId', 'ruleSummary_ruleId' - A unique identifier for a @Rule@. You use @RuleId@ to get more+-- information about a @Rule@ (see GetRule), update a @Rule@ (see+-- UpdateRule), insert a @Rule@ into a @WebACL@ or delete one from a+-- @WebACL@ (see UpdateWebACL), or delete a @Rule@ from AWS WAF (see+-- DeleteRule).+--+-- @RuleId@ is returned by CreateRule and by ListRules.+--+-- 'name', 'ruleSummary_name' - A friendly name or description of the Rule. You can\'t change the name+-- of a @Rule@ after you create it.+newRuleSummary ::+ -- | 'ruleId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ RuleSummary+newRuleSummary pRuleId_ pName_ =+ RuleSummary' {ruleId = pRuleId_, name = pName_}++-- | A unique identifier for a @Rule@. You use @RuleId@ to get more+-- information about a @Rule@ (see GetRule), update a @Rule@ (see+-- UpdateRule), insert a @Rule@ into a @WebACL@ or delete one from a+-- @WebACL@ (see UpdateWebACL), or delete a @Rule@ from AWS WAF (see+-- DeleteRule).+--+-- @RuleId@ is returned by CreateRule and by ListRules.+ruleSummary_ruleId :: Lens.Lens' RuleSummary Prelude.Text+ruleSummary_ruleId = Lens.lens (\RuleSummary' {ruleId} -> ruleId) (\s@RuleSummary' {} a -> s {ruleId = a} :: RuleSummary)++-- | A friendly name or description of the Rule. You can\'t change the name+-- of a @Rule@ after you create it.+ruleSummary_name :: Lens.Lens' RuleSummary Prelude.Text+ruleSummary_name = Lens.lens (\RuleSummary' {name} -> name) (\s@RuleSummary' {} a -> s {name = a} :: RuleSummary)++instance Data.FromJSON RuleSummary where+ parseJSON =+ Data.withObject+ "RuleSummary"+ ( \x ->+ RuleSummary'+ Prelude.<$> (x Data..: "RuleId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable RuleSummary where+ hashWithSalt _salt RuleSummary' {..} =+ _salt+ `Prelude.hashWithSalt` ruleId+ `Prelude.hashWithSalt` name++instance Prelude.NFData RuleSummary where+ rnf RuleSummary' {..} =+ Prelude.rnf ruleId `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/RuleUpdate.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.RuleUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.RuleUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ChangeAction+import Amazonka.WAF.Types.Predicate++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies a @Predicate@ (such as an @IPSet@) and indicates whether you+-- want to add it to a @Rule@ or delete it from a @Rule@.+--+-- /See:/ 'newRuleUpdate' smart constructor.+data RuleUpdate = RuleUpdate'+ { -- | Specify @INSERT@ to add a @Predicate@ to a @Rule@. Use @DELETE@ to+ -- remove a @Predicate@ from a @Rule@.+ action :: ChangeAction,+ -- | The ID of the @Predicate@ (such as an @IPSet@) that you want to add to a+ -- @Rule@.+ predicate :: Predicate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RuleUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'ruleUpdate_action' - Specify @INSERT@ to add a @Predicate@ to a @Rule@. Use @DELETE@ to+-- remove a @Predicate@ from a @Rule@.+--+-- 'predicate', 'ruleUpdate_predicate' - The ID of the @Predicate@ (such as an @IPSet@) that you want to add to a+-- @Rule@.+newRuleUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'predicate'+ Predicate ->+ RuleUpdate+newRuleUpdate pAction_ pPredicate_ =+ RuleUpdate'+ { action = pAction_,+ predicate = pPredicate_+ }++-- | Specify @INSERT@ to add a @Predicate@ to a @Rule@. Use @DELETE@ to+-- remove a @Predicate@ from a @Rule@.+ruleUpdate_action :: Lens.Lens' RuleUpdate ChangeAction+ruleUpdate_action = Lens.lens (\RuleUpdate' {action} -> action) (\s@RuleUpdate' {} a -> s {action = a} :: RuleUpdate)++-- | The ID of the @Predicate@ (such as an @IPSet@) that you want to add to a+-- @Rule@.+ruleUpdate_predicate :: Lens.Lens' RuleUpdate Predicate+ruleUpdate_predicate = Lens.lens (\RuleUpdate' {predicate} -> predicate) (\s@RuleUpdate' {} a -> s {predicate = a} :: RuleUpdate)++instance Prelude.Hashable RuleUpdate where+ hashWithSalt _salt RuleUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` predicate++instance Prelude.NFData RuleUpdate where+ rnf RuleUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf predicate++instance Data.ToJSON RuleUpdate where+ toJSON RuleUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just ("Predicate" Data..= predicate)+ ]+ )
+ gen/Amazonka/WAF/Types/SampledHTTPRequest.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SampledHTTPRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SampledHTTPRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.HTTPRequest++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The response from a GetSampledRequests request includes a+-- @SampledHTTPRequests@ complex type that appears as @SampledRequests@ in+-- the response syntax. @SampledHTTPRequests@ contains one+-- @SampledHTTPRequest@ object for each web request that is returned by+-- @GetSampledRequests@.+--+-- /See:/ 'newSampledHTTPRequest' smart constructor.+data SampledHTTPRequest = SampledHTTPRequest'+ { -- | The action for the @Rule@ that the request matched: @ALLOW@, @BLOCK@, or+ -- @COUNT@.+ action :: Prelude.Maybe Prelude.Text,+ -- | This value is returned if the @GetSampledRequests@ request specifies the+ -- ID of a @RuleGroup@ rather than the ID of an individual rule.+ -- @RuleWithinRuleGroup@ is the rule within the specified @RuleGroup@ that+ -- matched the request listed in the response.+ ruleWithinRuleGroup :: Prelude.Maybe Prelude.Text,+ -- | The time at which AWS WAF received the request from your AWS resource,+ -- in Unix time format (in seconds).+ timestamp :: Prelude.Maybe Data.POSIX,+ -- | A complex type that contains detailed information about the request.+ request :: HTTPRequest,+ -- | A value that indicates how one result in the response relates+ -- proportionally to other results in the response. A result that has a+ -- weight of @2@ represents roughly twice as many CloudFront web requests+ -- as a result that has a weight of @1@.+ weight :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SampledHTTPRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'sampledHTTPRequest_action' - The action for the @Rule@ that the request matched: @ALLOW@, @BLOCK@, or+-- @COUNT@.+--+-- 'ruleWithinRuleGroup', 'sampledHTTPRequest_ruleWithinRuleGroup' - This value is returned if the @GetSampledRequests@ request specifies the+-- ID of a @RuleGroup@ rather than the ID of an individual rule.+-- @RuleWithinRuleGroup@ is the rule within the specified @RuleGroup@ that+-- matched the request listed in the response.+--+-- 'timestamp', 'sampledHTTPRequest_timestamp' - The time at which AWS WAF received the request from your AWS resource,+-- in Unix time format (in seconds).+--+-- 'request', 'sampledHTTPRequest_request' - A complex type that contains detailed information about the request.+--+-- 'weight', 'sampledHTTPRequest_weight' - A value that indicates how one result in the response relates+-- proportionally to other results in the response. A result that has a+-- weight of @2@ represents roughly twice as many CloudFront web requests+-- as a result that has a weight of @1@.+newSampledHTTPRequest ::+ -- | 'request'+ HTTPRequest ->+ -- | 'weight'+ Prelude.Natural ->+ SampledHTTPRequest+newSampledHTTPRequest pRequest_ pWeight_ =+ SampledHTTPRequest'+ { action = Prelude.Nothing,+ ruleWithinRuleGroup = Prelude.Nothing,+ timestamp = Prelude.Nothing,+ request = pRequest_,+ weight = pWeight_+ }++-- | The action for the @Rule@ that the request matched: @ALLOW@, @BLOCK@, or+-- @COUNT@.+sampledHTTPRequest_action :: Lens.Lens' SampledHTTPRequest (Prelude.Maybe Prelude.Text)+sampledHTTPRequest_action = Lens.lens (\SampledHTTPRequest' {action} -> action) (\s@SampledHTTPRequest' {} a -> s {action = a} :: SampledHTTPRequest)++-- | This value is returned if the @GetSampledRequests@ request specifies the+-- ID of a @RuleGroup@ rather than the ID of an individual rule.+-- @RuleWithinRuleGroup@ is the rule within the specified @RuleGroup@ that+-- matched the request listed in the response.+sampledHTTPRequest_ruleWithinRuleGroup :: Lens.Lens' SampledHTTPRequest (Prelude.Maybe Prelude.Text)+sampledHTTPRequest_ruleWithinRuleGroup = Lens.lens (\SampledHTTPRequest' {ruleWithinRuleGroup} -> ruleWithinRuleGroup) (\s@SampledHTTPRequest' {} a -> s {ruleWithinRuleGroup = a} :: SampledHTTPRequest)++-- | The time at which AWS WAF received the request from your AWS resource,+-- in Unix time format (in seconds).+sampledHTTPRequest_timestamp :: Lens.Lens' SampledHTTPRequest (Prelude.Maybe Prelude.UTCTime)+sampledHTTPRequest_timestamp = Lens.lens (\SampledHTTPRequest' {timestamp} -> timestamp) (\s@SampledHTTPRequest' {} a -> s {timestamp = a} :: SampledHTTPRequest) Prelude.. Lens.mapping Data._Time++-- | A complex type that contains detailed information about the request.+sampledHTTPRequest_request :: Lens.Lens' SampledHTTPRequest HTTPRequest+sampledHTTPRequest_request = Lens.lens (\SampledHTTPRequest' {request} -> request) (\s@SampledHTTPRequest' {} a -> s {request = a} :: SampledHTTPRequest)++-- | A value that indicates how one result in the response relates+-- proportionally to other results in the response. A result that has a+-- weight of @2@ represents roughly twice as many CloudFront web requests+-- as a result that has a weight of @1@.+sampledHTTPRequest_weight :: Lens.Lens' SampledHTTPRequest Prelude.Natural+sampledHTTPRequest_weight = Lens.lens (\SampledHTTPRequest' {weight} -> weight) (\s@SampledHTTPRequest' {} a -> s {weight = a} :: SampledHTTPRequest)++instance Data.FromJSON SampledHTTPRequest where+ parseJSON =+ Data.withObject+ "SampledHTTPRequest"+ ( \x ->+ SampledHTTPRequest'+ Prelude.<$> (x Data..:? "Action")+ Prelude.<*> (x Data..:? "RuleWithinRuleGroup")+ Prelude.<*> (x Data..:? "Timestamp")+ Prelude.<*> (x Data..: "Request")+ Prelude.<*> (x Data..: "Weight")+ )++instance Prelude.Hashable SampledHTTPRequest where+ hashWithSalt _salt SampledHTTPRequest' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` ruleWithinRuleGroup+ `Prelude.hashWithSalt` timestamp+ `Prelude.hashWithSalt` request+ `Prelude.hashWithSalt` weight++instance Prelude.NFData SampledHTTPRequest where+ rnf SampledHTTPRequest' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf ruleWithinRuleGroup+ `Prelude.seq` Prelude.rnf timestamp+ `Prelude.seq` Prelude.rnf request+ `Prelude.seq` Prelude.rnf weight
+ gen/Amazonka/WAF/Types/SizeConstraint.hs view
@@ -0,0 +1,473 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SizeConstraint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SizeConstraint where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ComparisonOperator+import Amazonka.WAF.Types.FieldToMatch+import Amazonka.WAF.Types.TextTransformation++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies a constraint on the size of a part of the web request. AWS WAF+-- uses the @Size@, @ComparisonOperator@, and @FieldToMatch@ to build an+-- expression in the form of \"@Size@ @ComparisonOperator@ size in bytes of+-- @FieldToMatch@\". If that expression is true, the @SizeConstraint@ is+-- considered to match.+--+-- /See:/ 'newSizeConstraint' smart constructor.+data SizeConstraint = SizeConstraint'+ { -- | Specifies where in a web request to look for the size constraint.+ fieldToMatch :: FieldToMatch,+ -- | Text transformations eliminate some of the unusual formatting that+ -- attackers use in web requests in an effort to bypass AWS WAF. If you+ -- specify a transformation, AWS WAF performs the transformation on+ -- @FieldToMatch@ before inspecting it for a match.+ --+ -- You can only specify a single type of TextTransformation.+ --+ -- Note that if you choose @BODY@ for the value of @Type@, you must choose+ -- @NONE@ for @TextTransformation@ because CloudFront forwards only the+ -- first 8192 bytes for inspection.+ --+ -- __NONE__+ --+ -- Specify @NONE@ if you don\'t want to perform any text transformations.+ --+ -- __CMD_LINE__+ --+ -- When you\'re concerned that attackers are injecting an operating system+ -- command line command and using unusual formatting to disguise some or+ -- all of the command, use this option to perform the following+ -- transformations:+ --+ -- - Delete the following characters: \\ \" \' ^+ --+ -- - Delete spaces before the following characters: \/ (+ --+ -- - Replace the following characters with a space: , ;+ --+ -- - Replace multiple spaces with one space+ --+ -- - Convert uppercase letters (A-Z) to lowercase (a-z)+ --+ -- __COMPRESS_WHITE_SPACE__+ --+ -- Use this option to replace the following characters with a space+ -- character (decimal 32):+ --+ -- - \\f, formfeed, decimal 12+ --+ -- - \\t, tab, decimal 9+ --+ -- - \\n, newline, decimal 10+ --+ -- - \\r, carriage return, decimal 13+ --+ -- - \\v, vertical tab, decimal 11+ --+ -- - non-breaking space, decimal 160+ --+ -- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+ --+ -- __HTML_ENTITY_DECODE__+ --+ -- Use this option to replace HTML-encoded characters with unencoded+ -- characters. @HTML_ENTITY_DECODE@ performs the following operations:+ --+ -- - Replaces @(ampersand)quot;@ with @\"@+ --+ -- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+ --+ -- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+ --+ -- - Replaces @(ampersand)gt;@ with @>@+ --+ -- - Replaces characters that are represented in hexadecimal format,+ -- @(ampersand)#xhhhh;@, with the corresponding characters+ --+ -- - Replaces characters that are represented in decimal format,+ -- @(ampersand)#nnnn;@, with the corresponding characters+ --+ -- __LOWERCASE__+ --+ -- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+ --+ -- __URL_DECODE__+ --+ -- Use this option to decode a URL-encoded value.+ textTransformation :: TextTransformation,+ -- | The type of comparison you want AWS WAF to perform. AWS WAF uses this in+ -- combination with the provided @Size@ and @FieldToMatch@ to build an+ -- expression in the form of \"@Size@ @ComparisonOperator@ size in bytes of+ -- @FieldToMatch@\". If that expression is true, the @SizeConstraint@ is+ -- considered to match.+ --+ -- __EQ__: Used to test if the @Size@ is equal to the size of the+ -- @FieldToMatch@+ --+ -- __NE__: Used to test if the @Size@ is not equal to the size of the+ -- @FieldToMatch@+ --+ -- __LE__: Used to test if the @Size@ is less than or equal to the size of+ -- the @FieldToMatch@+ --+ -- __LT__: Used to test if the @Size@ is strictly less than the size of the+ -- @FieldToMatch@+ --+ -- __GE__: Used to test if the @Size@ is greater than or equal to the size+ -- of the @FieldToMatch@+ --+ -- __GT__: Used to test if the @Size@ is strictly greater than the size of+ -- the @FieldToMatch@+ comparisonOperator :: ComparisonOperator,+ -- | The size in bytes that you want AWS WAF to compare against the size of+ -- the specified @FieldToMatch@. AWS WAF uses this in combination with+ -- @ComparisonOperator@ and @FieldToMatch@ to build an expression in the+ -- form of \"@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@\".+ -- If that expression is true, the @SizeConstraint@ is considered to match.+ --+ -- Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).+ --+ -- If you specify @URI@ for the value of @Type@, the \/ in the URI counts+ -- as one character. For example, the URI @\/logo.jpg@ is nine characters+ -- long.+ size :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SizeConstraint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldToMatch', 'sizeConstraint_fieldToMatch' - Specifies where in a web request to look for the size constraint.+--+-- 'textTransformation', 'sizeConstraint_textTransformation' - Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @FieldToMatch@ before inspecting it for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- Note that if you choose @BODY@ for the value of @Type@, you must choose+-- @NONE@ for @TextTransformation@ because CloudFront forwards only the+-- first 8192 bytes for inspection.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- command line command and using unusual formatting to disguise some or+-- all of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+--+-- 'comparisonOperator', 'sizeConstraint_comparisonOperator' - The type of comparison you want AWS WAF to perform. AWS WAF uses this in+-- combination with the provided @Size@ and @FieldToMatch@ to build an+-- expression in the form of \"@Size@ @ComparisonOperator@ size in bytes of+-- @FieldToMatch@\". If that expression is true, the @SizeConstraint@ is+-- considered to match.+--+-- __EQ__: Used to test if the @Size@ is equal to the size of the+-- @FieldToMatch@+--+-- __NE__: Used to test if the @Size@ is not equal to the size of the+-- @FieldToMatch@+--+-- __LE__: Used to test if the @Size@ is less than or equal to the size of+-- the @FieldToMatch@+--+-- __LT__: Used to test if the @Size@ is strictly less than the size of the+-- @FieldToMatch@+--+-- __GE__: Used to test if the @Size@ is greater than or equal to the size+-- of the @FieldToMatch@+--+-- __GT__: Used to test if the @Size@ is strictly greater than the size of+-- the @FieldToMatch@+--+-- 'size', 'sizeConstraint_size' - The size in bytes that you want AWS WAF to compare against the size of+-- the specified @FieldToMatch@. AWS WAF uses this in combination with+-- @ComparisonOperator@ and @FieldToMatch@ to build an expression in the+-- form of \"@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@\".+-- If that expression is true, the @SizeConstraint@ is considered to match.+--+-- Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).+--+-- If you specify @URI@ for the value of @Type@, the \/ in the URI counts+-- as one character. For example, the URI @\/logo.jpg@ is nine characters+-- long.+newSizeConstraint ::+ -- | 'fieldToMatch'+ FieldToMatch ->+ -- | 'textTransformation'+ TextTransformation ->+ -- | 'comparisonOperator'+ ComparisonOperator ->+ -- | 'size'+ Prelude.Natural ->+ SizeConstraint+newSizeConstraint+ pFieldToMatch_+ pTextTransformation_+ pComparisonOperator_+ pSize_ =+ SizeConstraint'+ { fieldToMatch = pFieldToMatch_,+ textTransformation = pTextTransformation_,+ comparisonOperator = pComparisonOperator_,+ size = pSize_+ }++-- | Specifies where in a web request to look for the size constraint.+sizeConstraint_fieldToMatch :: Lens.Lens' SizeConstraint FieldToMatch+sizeConstraint_fieldToMatch = Lens.lens (\SizeConstraint' {fieldToMatch} -> fieldToMatch) (\s@SizeConstraint' {} a -> s {fieldToMatch = a} :: SizeConstraint)++-- | Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @FieldToMatch@ before inspecting it for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- Note that if you choose @BODY@ for the value of @Type@, you must choose+-- @NONE@ for @TextTransformation@ because CloudFront forwards only the+-- first 8192 bytes for inspection.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- command line command and using unusual formatting to disguise some or+-- all of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+sizeConstraint_textTransformation :: Lens.Lens' SizeConstraint TextTransformation+sizeConstraint_textTransformation = Lens.lens (\SizeConstraint' {textTransformation} -> textTransformation) (\s@SizeConstraint' {} a -> s {textTransformation = a} :: SizeConstraint)++-- | The type of comparison you want AWS WAF to perform. AWS WAF uses this in+-- combination with the provided @Size@ and @FieldToMatch@ to build an+-- expression in the form of \"@Size@ @ComparisonOperator@ size in bytes of+-- @FieldToMatch@\". If that expression is true, the @SizeConstraint@ is+-- considered to match.+--+-- __EQ__: Used to test if the @Size@ is equal to the size of the+-- @FieldToMatch@+--+-- __NE__: Used to test if the @Size@ is not equal to the size of the+-- @FieldToMatch@+--+-- __LE__: Used to test if the @Size@ is less than or equal to the size of+-- the @FieldToMatch@+--+-- __LT__: Used to test if the @Size@ is strictly less than the size of the+-- @FieldToMatch@+--+-- __GE__: Used to test if the @Size@ is greater than or equal to the size+-- of the @FieldToMatch@+--+-- __GT__: Used to test if the @Size@ is strictly greater than the size of+-- the @FieldToMatch@+sizeConstraint_comparisonOperator :: Lens.Lens' SizeConstraint ComparisonOperator+sizeConstraint_comparisonOperator = Lens.lens (\SizeConstraint' {comparisonOperator} -> comparisonOperator) (\s@SizeConstraint' {} a -> s {comparisonOperator = a} :: SizeConstraint)++-- | The size in bytes that you want AWS WAF to compare against the size of+-- the specified @FieldToMatch@. AWS WAF uses this in combination with+-- @ComparisonOperator@ and @FieldToMatch@ to build an expression in the+-- form of \"@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@\".+-- If that expression is true, the @SizeConstraint@ is considered to match.+--+-- Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).+--+-- If you specify @URI@ for the value of @Type@, the \/ in the URI counts+-- as one character. For example, the URI @\/logo.jpg@ is nine characters+-- long.+sizeConstraint_size :: Lens.Lens' SizeConstraint Prelude.Natural+sizeConstraint_size = Lens.lens (\SizeConstraint' {size} -> size) (\s@SizeConstraint' {} a -> s {size = a} :: SizeConstraint)++instance Data.FromJSON SizeConstraint where+ parseJSON =+ Data.withObject+ "SizeConstraint"+ ( \x ->+ SizeConstraint'+ Prelude.<$> (x Data..: "FieldToMatch")+ Prelude.<*> (x Data..: "TextTransformation")+ Prelude.<*> (x Data..: "ComparisonOperator")+ Prelude.<*> (x Data..: "Size")+ )++instance Prelude.Hashable SizeConstraint where+ hashWithSalt _salt SizeConstraint' {..} =+ _salt+ `Prelude.hashWithSalt` fieldToMatch+ `Prelude.hashWithSalt` textTransformation+ `Prelude.hashWithSalt` comparisonOperator+ `Prelude.hashWithSalt` size++instance Prelude.NFData SizeConstraint where+ rnf SizeConstraint' {..} =+ Prelude.rnf fieldToMatch+ `Prelude.seq` Prelude.rnf textTransformation+ `Prelude.seq` Prelude.rnf comparisonOperator+ `Prelude.seq` Prelude.rnf size++instance Data.ToJSON SizeConstraint where+ toJSON SizeConstraint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("FieldToMatch" Data..= fieldToMatch),+ Prelude.Just+ ("TextTransformation" Data..= textTransformation),+ Prelude.Just+ ("ComparisonOperator" Data..= comparisonOperator),+ Prelude.Just ("Size" Data..= size)+ ]+ )
+ gen/Amazonka/WAF/Types/SizeConstraintSet.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SizeConstraintSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SizeConstraintSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.SizeConstraint++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- A complex type that contains @SizeConstraint@ objects, which specify the+-- parts of web requests that you want AWS WAF to inspect the size of. If a+-- @SizeConstraintSet@ contains more than one @SizeConstraint@ object, a+-- request only needs to match one constraint to be considered a match.+--+-- /See:/ 'newSizeConstraintSet' smart constructor.+data SizeConstraintSet = SizeConstraintSet'+ { -- | The name, if any, of the @SizeConstraintSet@.+ name :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier for a @SizeConstraintSet@. You use+ -- @SizeConstraintSetId@ to get information about a @SizeConstraintSet@+ -- (see GetSizeConstraintSet), update a @SizeConstraintSet@ (see+ -- UpdateSizeConstraintSet), insert a @SizeConstraintSet@ into a @Rule@ or+ -- delete one from a @Rule@ (see UpdateRule), and delete a+ -- @SizeConstraintSet@ from AWS WAF (see DeleteSizeConstraintSet).+ --+ -- @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and by+ -- ListSizeConstraintSets.+ sizeConstraintSetId :: Prelude.Text,+ -- | Specifies the parts of web requests that you want to inspect the size+ -- of.+ sizeConstraints :: [SizeConstraint]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SizeConstraintSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'sizeConstraintSet_name' - The name, if any, of the @SizeConstraintSet@.+--+-- 'sizeConstraintSetId', 'sizeConstraintSet_sizeConstraintSetId' - A unique identifier for a @SizeConstraintSet@. You use+-- @SizeConstraintSetId@ to get information about a @SizeConstraintSet@+-- (see GetSizeConstraintSet), update a @SizeConstraintSet@ (see+-- UpdateSizeConstraintSet), insert a @SizeConstraintSet@ into a @Rule@ or+-- delete one from a @Rule@ (see UpdateRule), and delete a+-- @SizeConstraintSet@ from AWS WAF (see DeleteSizeConstraintSet).+--+-- @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and by+-- ListSizeConstraintSets.+--+-- 'sizeConstraints', 'sizeConstraintSet_sizeConstraints' - Specifies the parts of web requests that you want to inspect the size+-- of.+newSizeConstraintSet ::+ -- | 'sizeConstraintSetId'+ Prelude.Text ->+ SizeConstraintSet+newSizeConstraintSet pSizeConstraintSetId_ =+ SizeConstraintSet'+ { name = Prelude.Nothing,+ sizeConstraintSetId = pSizeConstraintSetId_,+ sizeConstraints = Prelude.mempty+ }++-- | The name, if any, of the @SizeConstraintSet@.+sizeConstraintSet_name :: Lens.Lens' SizeConstraintSet (Prelude.Maybe Prelude.Text)+sizeConstraintSet_name = Lens.lens (\SizeConstraintSet' {name} -> name) (\s@SizeConstraintSet' {} a -> s {name = a} :: SizeConstraintSet)++-- | A unique identifier for a @SizeConstraintSet@. You use+-- @SizeConstraintSetId@ to get information about a @SizeConstraintSet@+-- (see GetSizeConstraintSet), update a @SizeConstraintSet@ (see+-- UpdateSizeConstraintSet), insert a @SizeConstraintSet@ into a @Rule@ or+-- delete one from a @Rule@ (see UpdateRule), and delete a+-- @SizeConstraintSet@ from AWS WAF (see DeleteSizeConstraintSet).+--+-- @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and by+-- ListSizeConstraintSets.+sizeConstraintSet_sizeConstraintSetId :: Lens.Lens' SizeConstraintSet Prelude.Text+sizeConstraintSet_sizeConstraintSetId = Lens.lens (\SizeConstraintSet' {sizeConstraintSetId} -> sizeConstraintSetId) (\s@SizeConstraintSet' {} a -> s {sizeConstraintSetId = a} :: SizeConstraintSet)++-- | Specifies the parts of web requests that you want to inspect the size+-- of.+sizeConstraintSet_sizeConstraints :: Lens.Lens' SizeConstraintSet [SizeConstraint]+sizeConstraintSet_sizeConstraints = Lens.lens (\SizeConstraintSet' {sizeConstraints} -> sizeConstraints) (\s@SizeConstraintSet' {} a -> s {sizeConstraints = a} :: SizeConstraintSet) Prelude.. Lens.coerced++instance Data.FromJSON SizeConstraintSet where+ parseJSON =+ Data.withObject+ "SizeConstraintSet"+ ( \x ->+ SizeConstraintSet'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..: "SizeConstraintSetId")+ Prelude.<*> ( x+ Data..:? "SizeConstraints"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable SizeConstraintSet where+ hashWithSalt _salt SizeConstraintSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` sizeConstraintSetId+ `Prelude.hashWithSalt` sizeConstraints++instance Prelude.NFData SizeConstraintSet where+ rnf SizeConstraintSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf sizeConstraintSetId+ `Prelude.seq` Prelude.rnf sizeConstraints
+ gen/Amazonka/WAF/Types/SizeConstraintSetSummary.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SizeConstraintSetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SizeConstraintSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The @Id@ and @Name@ of a @SizeConstraintSet@.+--+-- /See:/ 'newSizeConstraintSetSummary' smart constructor.+data SizeConstraintSetSummary = SizeConstraintSetSummary'+ { -- | A unique identifier for a @SizeConstraintSet@. You use+ -- @SizeConstraintSetId@ to get information about a @SizeConstraintSet@+ -- (see GetSizeConstraintSet), update a @SizeConstraintSet@ (see+ -- UpdateSizeConstraintSet), insert a @SizeConstraintSet@ into a @Rule@ or+ -- delete one from a @Rule@ (see UpdateRule), and delete a+ -- @SizeConstraintSet@ from AWS WAF (see DeleteSizeConstraintSet).+ --+ -- @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and by+ -- ListSizeConstraintSets.+ sizeConstraintSetId :: Prelude.Text,+ -- | The name of the @SizeConstraintSet@, if any.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SizeConstraintSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sizeConstraintSetId', 'sizeConstraintSetSummary_sizeConstraintSetId' - A unique identifier for a @SizeConstraintSet@. You use+-- @SizeConstraintSetId@ to get information about a @SizeConstraintSet@+-- (see GetSizeConstraintSet), update a @SizeConstraintSet@ (see+-- UpdateSizeConstraintSet), insert a @SizeConstraintSet@ into a @Rule@ or+-- delete one from a @Rule@ (see UpdateRule), and delete a+-- @SizeConstraintSet@ from AWS WAF (see DeleteSizeConstraintSet).+--+-- @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and by+-- ListSizeConstraintSets.+--+-- 'name', 'sizeConstraintSetSummary_name' - The name of the @SizeConstraintSet@, if any.+newSizeConstraintSetSummary ::+ -- | 'sizeConstraintSetId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ SizeConstraintSetSummary+newSizeConstraintSetSummary+ pSizeConstraintSetId_+ pName_ =+ SizeConstraintSetSummary'+ { sizeConstraintSetId =+ pSizeConstraintSetId_,+ name = pName_+ }++-- | A unique identifier for a @SizeConstraintSet@. You use+-- @SizeConstraintSetId@ to get information about a @SizeConstraintSet@+-- (see GetSizeConstraintSet), update a @SizeConstraintSet@ (see+-- UpdateSizeConstraintSet), insert a @SizeConstraintSet@ into a @Rule@ or+-- delete one from a @Rule@ (see UpdateRule), and delete a+-- @SizeConstraintSet@ from AWS WAF (see DeleteSizeConstraintSet).+--+-- @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and by+-- ListSizeConstraintSets.+sizeConstraintSetSummary_sizeConstraintSetId :: Lens.Lens' SizeConstraintSetSummary Prelude.Text+sizeConstraintSetSummary_sizeConstraintSetId = Lens.lens (\SizeConstraintSetSummary' {sizeConstraintSetId} -> sizeConstraintSetId) (\s@SizeConstraintSetSummary' {} a -> s {sizeConstraintSetId = a} :: SizeConstraintSetSummary)++-- | The name of the @SizeConstraintSet@, if any.+sizeConstraintSetSummary_name :: Lens.Lens' SizeConstraintSetSummary Prelude.Text+sizeConstraintSetSummary_name = Lens.lens (\SizeConstraintSetSummary' {name} -> name) (\s@SizeConstraintSetSummary' {} a -> s {name = a} :: SizeConstraintSetSummary)++instance Data.FromJSON SizeConstraintSetSummary where+ parseJSON =+ Data.withObject+ "SizeConstraintSetSummary"+ ( \x ->+ SizeConstraintSetSummary'+ Prelude.<$> (x Data..: "SizeConstraintSetId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable SizeConstraintSetSummary where+ hashWithSalt _salt SizeConstraintSetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` sizeConstraintSetId+ `Prelude.hashWithSalt` name++instance Prelude.NFData SizeConstraintSetSummary where+ rnf SizeConstraintSetSummary' {..} =+ Prelude.rnf sizeConstraintSetId+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/SizeConstraintSetUpdate.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SizeConstraintSetUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SizeConstraintSetUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ChangeAction+import Amazonka.WAF.Types.SizeConstraint++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies the part of a web request that you want to inspect the size of+-- and indicates whether you want to add the specification to a+-- SizeConstraintSet or delete it from a @SizeConstraintSet@.+--+-- /See:/ 'newSizeConstraintSetUpdate' smart constructor.+data SizeConstraintSetUpdate = SizeConstraintSetUpdate'+ { -- | Specify @INSERT@ to add a SizeConstraintSetUpdate to a+ -- SizeConstraintSet. Use @DELETE@ to remove a @SizeConstraintSetUpdate@+ -- from a @SizeConstraintSet@.+ action :: ChangeAction,+ -- | Specifies a constraint on the size of a part of the web request. AWS WAF+ -- uses the @Size@, @ComparisonOperator@, and @FieldToMatch@ to build an+ -- expression in the form of \"@Size@ @ComparisonOperator@ size in bytes of+ -- @FieldToMatch@\". If that expression is true, the @SizeConstraint@ is+ -- considered to match.+ sizeConstraint :: SizeConstraint+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SizeConstraintSetUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'sizeConstraintSetUpdate_action' - Specify @INSERT@ to add a SizeConstraintSetUpdate to a+-- SizeConstraintSet. Use @DELETE@ to remove a @SizeConstraintSetUpdate@+-- from a @SizeConstraintSet@.+--+-- 'sizeConstraint', 'sizeConstraintSetUpdate_sizeConstraint' - Specifies a constraint on the size of a part of the web request. AWS WAF+-- uses the @Size@, @ComparisonOperator@, and @FieldToMatch@ to build an+-- expression in the form of \"@Size@ @ComparisonOperator@ size in bytes of+-- @FieldToMatch@\". If that expression is true, the @SizeConstraint@ is+-- considered to match.+newSizeConstraintSetUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'sizeConstraint'+ SizeConstraint ->+ SizeConstraintSetUpdate+newSizeConstraintSetUpdate pAction_ pSizeConstraint_ =+ SizeConstraintSetUpdate'+ { action = pAction_,+ sizeConstraint = pSizeConstraint_+ }++-- | Specify @INSERT@ to add a SizeConstraintSetUpdate to a+-- SizeConstraintSet. Use @DELETE@ to remove a @SizeConstraintSetUpdate@+-- from a @SizeConstraintSet@.+sizeConstraintSetUpdate_action :: Lens.Lens' SizeConstraintSetUpdate ChangeAction+sizeConstraintSetUpdate_action = Lens.lens (\SizeConstraintSetUpdate' {action} -> action) (\s@SizeConstraintSetUpdate' {} a -> s {action = a} :: SizeConstraintSetUpdate)++-- | Specifies a constraint on the size of a part of the web request. AWS WAF+-- uses the @Size@, @ComparisonOperator@, and @FieldToMatch@ to build an+-- expression in the form of \"@Size@ @ComparisonOperator@ size in bytes of+-- @FieldToMatch@\". If that expression is true, the @SizeConstraint@ is+-- considered to match.+sizeConstraintSetUpdate_sizeConstraint :: Lens.Lens' SizeConstraintSetUpdate SizeConstraint+sizeConstraintSetUpdate_sizeConstraint = Lens.lens (\SizeConstraintSetUpdate' {sizeConstraint} -> sizeConstraint) (\s@SizeConstraintSetUpdate' {} a -> s {sizeConstraint = a} :: SizeConstraintSetUpdate)++instance Prelude.Hashable SizeConstraintSetUpdate where+ hashWithSalt _salt SizeConstraintSetUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` sizeConstraint++instance Prelude.NFData SizeConstraintSetUpdate where+ rnf SizeConstraintSetUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf sizeConstraint++instance Data.ToJSON SizeConstraintSetUpdate where+ toJSON SizeConstraintSetUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ("SizeConstraint" Data..= sizeConstraint)+ ]+ )
+ gen/Amazonka/WAF/Types/SqlInjectionMatchSet.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SqlInjectionMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SqlInjectionMatchSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.SqlInjectionMatchTuple++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- A complex type that contains @SqlInjectionMatchTuple@ objects, which+-- specify the parts of web requests that you want AWS WAF to inspect for+-- snippets of malicious SQL code and, if you want AWS WAF to inspect a+-- header, the name of the header. If a @SqlInjectionMatchSet@ contains+-- more than one @SqlInjectionMatchTuple@ object, a request needs to+-- include snippets of SQL code in only one of the specified parts of the+-- request to be considered a match.+--+-- /See:/ 'newSqlInjectionMatchSet' smart constructor.+data SqlInjectionMatchSet = SqlInjectionMatchSet'+ { -- | The name, if any, of the @SqlInjectionMatchSet@.+ name :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier for a @SqlInjectionMatchSet@. You use+ -- @SqlInjectionMatchSetId@ to get information about a+ -- @SqlInjectionMatchSet@ (see GetSqlInjectionMatchSet), update a+ -- @SqlInjectionMatchSet@ (see UpdateSqlInjectionMatchSet), insert a+ -- @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see+ -- UpdateRule), and delete a @SqlInjectionMatchSet@ from AWS WAF (see+ -- DeleteSqlInjectionMatchSet).+ --+ -- @SqlInjectionMatchSetId@ is returned by CreateSqlInjectionMatchSet and+ -- by ListSqlInjectionMatchSets.+ sqlInjectionMatchSetId :: Prelude.Text,+ -- | Specifies the parts of web requests that you want to inspect for+ -- snippets of malicious SQL code.+ sqlInjectionMatchTuples :: [SqlInjectionMatchTuple]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SqlInjectionMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'sqlInjectionMatchSet_name' - The name, if any, of the @SqlInjectionMatchSet@.+--+-- 'sqlInjectionMatchSetId', 'sqlInjectionMatchSet_sqlInjectionMatchSetId' - A unique identifier for a @SqlInjectionMatchSet@. You use+-- @SqlInjectionMatchSetId@ to get information about a+-- @SqlInjectionMatchSet@ (see GetSqlInjectionMatchSet), update a+-- @SqlInjectionMatchSet@ (see UpdateSqlInjectionMatchSet), insert a+-- @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see+-- UpdateRule), and delete a @SqlInjectionMatchSet@ from AWS WAF (see+-- DeleteSqlInjectionMatchSet).+--+-- @SqlInjectionMatchSetId@ is returned by CreateSqlInjectionMatchSet and+-- by ListSqlInjectionMatchSets.+--+-- 'sqlInjectionMatchTuples', 'sqlInjectionMatchSet_sqlInjectionMatchTuples' - Specifies the parts of web requests that you want to inspect for+-- snippets of malicious SQL code.+newSqlInjectionMatchSet ::+ -- | 'sqlInjectionMatchSetId'+ Prelude.Text ->+ SqlInjectionMatchSet+newSqlInjectionMatchSet pSqlInjectionMatchSetId_ =+ SqlInjectionMatchSet'+ { name = Prelude.Nothing,+ sqlInjectionMatchSetId = pSqlInjectionMatchSetId_,+ sqlInjectionMatchTuples = Prelude.mempty+ }++-- | The name, if any, of the @SqlInjectionMatchSet@.+sqlInjectionMatchSet_name :: Lens.Lens' SqlInjectionMatchSet (Prelude.Maybe Prelude.Text)+sqlInjectionMatchSet_name = Lens.lens (\SqlInjectionMatchSet' {name} -> name) (\s@SqlInjectionMatchSet' {} a -> s {name = a} :: SqlInjectionMatchSet)++-- | A unique identifier for a @SqlInjectionMatchSet@. You use+-- @SqlInjectionMatchSetId@ to get information about a+-- @SqlInjectionMatchSet@ (see GetSqlInjectionMatchSet), update a+-- @SqlInjectionMatchSet@ (see UpdateSqlInjectionMatchSet), insert a+-- @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see+-- UpdateRule), and delete a @SqlInjectionMatchSet@ from AWS WAF (see+-- DeleteSqlInjectionMatchSet).+--+-- @SqlInjectionMatchSetId@ is returned by CreateSqlInjectionMatchSet and+-- by ListSqlInjectionMatchSets.+sqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens.Lens' SqlInjectionMatchSet Prelude.Text+sqlInjectionMatchSet_sqlInjectionMatchSetId = Lens.lens (\SqlInjectionMatchSet' {sqlInjectionMatchSetId} -> sqlInjectionMatchSetId) (\s@SqlInjectionMatchSet' {} a -> s {sqlInjectionMatchSetId = a} :: SqlInjectionMatchSet)++-- | Specifies the parts of web requests that you want to inspect for+-- snippets of malicious SQL code.+sqlInjectionMatchSet_sqlInjectionMatchTuples :: Lens.Lens' SqlInjectionMatchSet [SqlInjectionMatchTuple]+sqlInjectionMatchSet_sqlInjectionMatchTuples = Lens.lens (\SqlInjectionMatchSet' {sqlInjectionMatchTuples} -> sqlInjectionMatchTuples) (\s@SqlInjectionMatchSet' {} a -> s {sqlInjectionMatchTuples = a} :: SqlInjectionMatchSet) Prelude.. Lens.coerced++instance Data.FromJSON SqlInjectionMatchSet where+ parseJSON =+ Data.withObject+ "SqlInjectionMatchSet"+ ( \x ->+ SqlInjectionMatchSet'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..: "SqlInjectionMatchSetId")+ Prelude.<*> ( x+ Data..:? "SqlInjectionMatchTuples"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable SqlInjectionMatchSet where+ hashWithSalt _salt SqlInjectionMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` sqlInjectionMatchSetId+ `Prelude.hashWithSalt` sqlInjectionMatchTuples++instance Prelude.NFData SqlInjectionMatchSet where+ rnf SqlInjectionMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf sqlInjectionMatchSetId+ `Prelude.seq` Prelude.rnf sqlInjectionMatchTuples
+ gen/Amazonka/WAF/Types/SqlInjectionMatchSetSummary.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SqlInjectionMatchSetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SqlInjectionMatchSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The @Id@ and @Name@ of a @SqlInjectionMatchSet@.+--+-- /See:/ 'newSqlInjectionMatchSetSummary' smart constructor.+data SqlInjectionMatchSetSummary = SqlInjectionMatchSetSummary'+ { -- | A unique identifier for a @SqlInjectionMatchSet@. You use+ -- @SqlInjectionMatchSetId@ to get information about a+ -- @SqlInjectionMatchSet@ (see GetSqlInjectionMatchSet), update a+ -- @SqlInjectionMatchSet@ (see UpdateSqlInjectionMatchSet), insert a+ -- @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see+ -- UpdateRule), and delete a @SqlInjectionMatchSet@ from AWS WAF (see+ -- DeleteSqlInjectionMatchSet).+ --+ -- @SqlInjectionMatchSetId@ is returned by CreateSqlInjectionMatchSet and+ -- by ListSqlInjectionMatchSets.+ sqlInjectionMatchSetId :: Prelude.Text,+ -- | The name of the @SqlInjectionMatchSet@, if any, specified by @Id@.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SqlInjectionMatchSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sqlInjectionMatchSetId', 'sqlInjectionMatchSetSummary_sqlInjectionMatchSetId' - A unique identifier for a @SqlInjectionMatchSet@. You use+-- @SqlInjectionMatchSetId@ to get information about a+-- @SqlInjectionMatchSet@ (see GetSqlInjectionMatchSet), update a+-- @SqlInjectionMatchSet@ (see UpdateSqlInjectionMatchSet), insert a+-- @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see+-- UpdateRule), and delete a @SqlInjectionMatchSet@ from AWS WAF (see+-- DeleteSqlInjectionMatchSet).+--+-- @SqlInjectionMatchSetId@ is returned by CreateSqlInjectionMatchSet and+-- by ListSqlInjectionMatchSets.+--+-- 'name', 'sqlInjectionMatchSetSummary_name' - The name of the @SqlInjectionMatchSet@, if any, specified by @Id@.+newSqlInjectionMatchSetSummary ::+ -- | 'sqlInjectionMatchSetId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ SqlInjectionMatchSetSummary+newSqlInjectionMatchSetSummary+ pSqlInjectionMatchSetId_+ pName_ =+ SqlInjectionMatchSetSummary'+ { sqlInjectionMatchSetId =+ pSqlInjectionMatchSetId_,+ name = pName_+ }++-- | A unique identifier for a @SqlInjectionMatchSet@. You use+-- @SqlInjectionMatchSetId@ to get information about a+-- @SqlInjectionMatchSet@ (see GetSqlInjectionMatchSet), update a+-- @SqlInjectionMatchSet@ (see UpdateSqlInjectionMatchSet), insert a+-- @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see+-- UpdateRule), and delete a @SqlInjectionMatchSet@ from AWS WAF (see+-- DeleteSqlInjectionMatchSet).+--+-- @SqlInjectionMatchSetId@ is returned by CreateSqlInjectionMatchSet and+-- by ListSqlInjectionMatchSets.+sqlInjectionMatchSetSummary_sqlInjectionMatchSetId :: Lens.Lens' SqlInjectionMatchSetSummary Prelude.Text+sqlInjectionMatchSetSummary_sqlInjectionMatchSetId = Lens.lens (\SqlInjectionMatchSetSummary' {sqlInjectionMatchSetId} -> sqlInjectionMatchSetId) (\s@SqlInjectionMatchSetSummary' {} a -> s {sqlInjectionMatchSetId = a} :: SqlInjectionMatchSetSummary)++-- | The name of the @SqlInjectionMatchSet@, if any, specified by @Id@.+sqlInjectionMatchSetSummary_name :: Lens.Lens' SqlInjectionMatchSetSummary Prelude.Text+sqlInjectionMatchSetSummary_name = Lens.lens (\SqlInjectionMatchSetSummary' {name} -> name) (\s@SqlInjectionMatchSetSummary' {} a -> s {name = a} :: SqlInjectionMatchSetSummary)++instance Data.FromJSON SqlInjectionMatchSetSummary where+ parseJSON =+ Data.withObject+ "SqlInjectionMatchSetSummary"+ ( \x ->+ SqlInjectionMatchSetSummary'+ Prelude.<$> (x Data..: "SqlInjectionMatchSetId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable SqlInjectionMatchSetSummary where+ hashWithSalt _salt SqlInjectionMatchSetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` sqlInjectionMatchSetId+ `Prelude.hashWithSalt` name++instance Prelude.NFData SqlInjectionMatchSetSummary where+ rnf SqlInjectionMatchSetSummary' {..} =+ Prelude.rnf sqlInjectionMatchSetId+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/SqlInjectionMatchSetUpdate.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SqlInjectionMatchSetUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SqlInjectionMatchSetUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ChangeAction+import Amazonka.WAF.Types.SqlInjectionMatchTuple++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies the part of a web request that you want to inspect for+-- snippets of malicious SQL code and indicates whether you want to add the+-- specification to a SqlInjectionMatchSet or delete it from a+-- @SqlInjectionMatchSet@.+--+-- /See:/ 'newSqlInjectionMatchSetUpdate' smart constructor.+data SqlInjectionMatchSetUpdate = SqlInjectionMatchSetUpdate'+ { -- | Specify @INSERT@ to add a SqlInjectionMatchSetUpdate to a+ -- SqlInjectionMatchSet. Use @DELETE@ to remove a+ -- @SqlInjectionMatchSetUpdate@ from a @SqlInjectionMatchSet@.+ action :: ChangeAction,+ -- | Specifies the part of a web request that you want AWS WAF to inspect for+ -- snippets of malicious SQL code and, if you want AWS WAF to inspect a+ -- header, the name of the header.+ sqlInjectionMatchTuple :: SqlInjectionMatchTuple+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SqlInjectionMatchSetUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'sqlInjectionMatchSetUpdate_action' - Specify @INSERT@ to add a SqlInjectionMatchSetUpdate to a+-- SqlInjectionMatchSet. Use @DELETE@ to remove a+-- @SqlInjectionMatchSetUpdate@ from a @SqlInjectionMatchSet@.+--+-- 'sqlInjectionMatchTuple', 'sqlInjectionMatchSetUpdate_sqlInjectionMatchTuple' - Specifies the part of a web request that you want AWS WAF to inspect for+-- snippets of malicious SQL code and, if you want AWS WAF to inspect a+-- header, the name of the header.+newSqlInjectionMatchSetUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'sqlInjectionMatchTuple'+ SqlInjectionMatchTuple ->+ SqlInjectionMatchSetUpdate+newSqlInjectionMatchSetUpdate+ pAction_+ pSqlInjectionMatchTuple_ =+ SqlInjectionMatchSetUpdate'+ { action = pAction_,+ sqlInjectionMatchTuple =+ pSqlInjectionMatchTuple_+ }++-- | Specify @INSERT@ to add a SqlInjectionMatchSetUpdate to a+-- SqlInjectionMatchSet. Use @DELETE@ to remove a+-- @SqlInjectionMatchSetUpdate@ from a @SqlInjectionMatchSet@.+sqlInjectionMatchSetUpdate_action :: Lens.Lens' SqlInjectionMatchSetUpdate ChangeAction+sqlInjectionMatchSetUpdate_action = Lens.lens (\SqlInjectionMatchSetUpdate' {action} -> action) (\s@SqlInjectionMatchSetUpdate' {} a -> s {action = a} :: SqlInjectionMatchSetUpdate)++-- | Specifies the part of a web request that you want AWS WAF to inspect for+-- snippets of malicious SQL code and, if you want AWS WAF to inspect a+-- header, the name of the header.+sqlInjectionMatchSetUpdate_sqlInjectionMatchTuple :: Lens.Lens' SqlInjectionMatchSetUpdate SqlInjectionMatchTuple+sqlInjectionMatchSetUpdate_sqlInjectionMatchTuple = Lens.lens (\SqlInjectionMatchSetUpdate' {sqlInjectionMatchTuple} -> sqlInjectionMatchTuple) (\s@SqlInjectionMatchSetUpdate' {} a -> s {sqlInjectionMatchTuple = a} :: SqlInjectionMatchSetUpdate)++instance Prelude.Hashable SqlInjectionMatchSetUpdate where+ hashWithSalt _salt SqlInjectionMatchSetUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` sqlInjectionMatchTuple++instance Prelude.NFData SqlInjectionMatchSetUpdate where+ rnf SqlInjectionMatchSetUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf sqlInjectionMatchTuple++instance Data.ToJSON SqlInjectionMatchSetUpdate where+ toJSON SqlInjectionMatchSetUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ( "SqlInjectionMatchTuple"+ Data..= sqlInjectionMatchTuple+ )+ ]+ )
+ gen/Amazonka/WAF/Types/SqlInjectionMatchTuple.hs view
@@ -0,0 +1,333 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SqlInjectionMatchTuple+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SqlInjectionMatchTuple where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.FieldToMatch+import Amazonka.WAF.Types.TextTransformation++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies the part of a web request that you want AWS WAF to inspect for+-- snippets of malicious SQL code and, if you want AWS WAF to inspect a+-- header, the name of the header.+--+-- /See:/ 'newSqlInjectionMatchTuple' smart constructor.+data SqlInjectionMatchTuple = SqlInjectionMatchTuple'+ { -- | Specifies where in a web request to look for snippets of malicious SQL+ -- code.+ fieldToMatch :: FieldToMatch,+ -- | Text transformations eliminate some of the unusual formatting that+ -- attackers use in web requests in an effort to bypass AWS WAF. If you+ -- specify a transformation, AWS WAF performs the transformation on+ -- @FieldToMatch@ before inspecting it for a match.+ --+ -- You can only specify a single type of TextTransformation.+ --+ -- __CMD_LINE__+ --+ -- When you\'re concerned that attackers are injecting an operating system+ -- command line command and using unusual formatting to disguise some or+ -- all of the command, use this option to perform the following+ -- transformations:+ --+ -- - Delete the following characters: \\ \" \' ^+ --+ -- - Delete spaces before the following characters: \/ (+ --+ -- - Replace the following characters with a space: , ;+ --+ -- - Replace multiple spaces with one space+ --+ -- - Convert uppercase letters (A-Z) to lowercase (a-z)+ --+ -- __COMPRESS_WHITE_SPACE__+ --+ -- Use this option to replace the following characters with a space+ -- character (decimal 32):+ --+ -- - \\f, formfeed, decimal 12+ --+ -- - \\t, tab, decimal 9+ --+ -- - \\n, newline, decimal 10+ --+ -- - \\r, carriage return, decimal 13+ --+ -- - \\v, vertical tab, decimal 11+ --+ -- - non-breaking space, decimal 160+ --+ -- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+ --+ -- __HTML_ENTITY_DECODE__+ --+ -- Use this option to replace HTML-encoded characters with unencoded+ -- characters. @HTML_ENTITY_DECODE@ performs the following operations:+ --+ -- - Replaces @(ampersand)quot;@ with @\"@+ --+ -- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+ --+ -- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+ --+ -- - Replaces @(ampersand)gt;@ with @>@+ --+ -- - Replaces characters that are represented in hexadecimal format,+ -- @(ampersand)#xhhhh;@, with the corresponding characters+ --+ -- - Replaces characters that are represented in decimal format,+ -- @(ampersand)#nnnn;@, with the corresponding characters+ --+ -- __LOWERCASE__+ --+ -- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+ --+ -- __URL_DECODE__+ --+ -- Use this option to decode a URL-encoded value.+ --+ -- __NONE__+ --+ -- Specify @NONE@ if you don\'t want to perform any text transformations.+ textTransformation :: TextTransformation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SqlInjectionMatchTuple' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldToMatch', 'sqlInjectionMatchTuple_fieldToMatch' - Specifies where in a web request to look for snippets of malicious SQL+-- code.+--+-- 'textTransformation', 'sqlInjectionMatchTuple_textTransformation' - Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @FieldToMatch@ before inspecting it for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- command line command and using unusual formatting to disguise some or+-- all of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+newSqlInjectionMatchTuple ::+ -- | 'fieldToMatch'+ FieldToMatch ->+ -- | 'textTransformation'+ TextTransformation ->+ SqlInjectionMatchTuple+newSqlInjectionMatchTuple+ pFieldToMatch_+ pTextTransformation_ =+ SqlInjectionMatchTuple'+ { fieldToMatch =+ pFieldToMatch_,+ textTransformation = pTextTransformation_+ }++-- | Specifies where in a web request to look for snippets of malicious SQL+-- code.+sqlInjectionMatchTuple_fieldToMatch :: Lens.Lens' SqlInjectionMatchTuple FieldToMatch+sqlInjectionMatchTuple_fieldToMatch = Lens.lens (\SqlInjectionMatchTuple' {fieldToMatch} -> fieldToMatch) (\s@SqlInjectionMatchTuple' {} a -> s {fieldToMatch = a} :: SqlInjectionMatchTuple)++-- | Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @FieldToMatch@ before inspecting it for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- command line command and using unusual formatting to disguise some or+-- all of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+sqlInjectionMatchTuple_textTransformation :: Lens.Lens' SqlInjectionMatchTuple TextTransformation+sqlInjectionMatchTuple_textTransformation = Lens.lens (\SqlInjectionMatchTuple' {textTransformation} -> textTransformation) (\s@SqlInjectionMatchTuple' {} a -> s {textTransformation = a} :: SqlInjectionMatchTuple)++instance Data.FromJSON SqlInjectionMatchTuple where+ parseJSON =+ Data.withObject+ "SqlInjectionMatchTuple"+ ( \x ->+ SqlInjectionMatchTuple'+ Prelude.<$> (x Data..: "FieldToMatch")+ Prelude.<*> (x Data..: "TextTransformation")+ )++instance Prelude.Hashable SqlInjectionMatchTuple where+ hashWithSalt _salt SqlInjectionMatchTuple' {..} =+ _salt+ `Prelude.hashWithSalt` fieldToMatch+ `Prelude.hashWithSalt` textTransformation++instance Prelude.NFData SqlInjectionMatchTuple where+ rnf SqlInjectionMatchTuple' {..} =+ Prelude.rnf fieldToMatch+ `Prelude.seq` Prelude.rnf textTransformation++instance Data.ToJSON SqlInjectionMatchTuple where+ toJSON SqlInjectionMatchTuple' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("FieldToMatch" Data..= fieldToMatch),+ Prelude.Just+ ("TextTransformation" Data..= textTransformation)+ ]+ )
+ gen/Amazonka/WAF/Types/SubscribedRuleGroupSummary.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.SubscribedRuleGroupSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.SubscribedRuleGroupSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- A summary of the rule groups you are subscribed to.+--+-- /See:/ 'newSubscribedRuleGroupSummary' smart constructor.+data SubscribedRuleGroupSummary = SubscribedRuleGroupSummary'+ { -- | A unique identifier for a @RuleGroup@.+ ruleGroupId :: Prelude.Text,+ -- | A friendly name or description of the @RuleGroup@. You can\'t change the+ -- name of a @RuleGroup@ after you create it.+ name :: Prelude.Text,+ -- | A friendly name or description for the metrics for this @RuleGroup@. The+ -- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+ -- maximum length 128 and minimum length one. It can\'t contain whitespace+ -- or metric names reserved for AWS WAF, including \"All\" and+ -- \"Default_Action.\" You can\'t change the name of the metric after you+ -- create the @RuleGroup@.+ metricName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SubscribedRuleGroupSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleGroupId', 'subscribedRuleGroupSummary_ruleGroupId' - A unique identifier for a @RuleGroup@.+--+-- 'name', 'subscribedRuleGroupSummary_name' - A friendly name or description of the @RuleGroup@. You can\'t change the+-- name of a @RuleGroup@ after you create it.+--+-- 'metricName', 'subscribedRuleGroupSummary_metricName' - A friendly name or description for the metrics for this @RuleGroup@. The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RuleGroup@.+newSubscribedRuleGroupSummary ::+ -- | 'ruleGroupId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'metricName'+ Prelude.Text ->+ SubscribedRuleGroupSummary+newSubscribedRuleGroupSummary+ pRuleGroupId_+ pName_+ pMetricName_ =+ SubscribedRuleGroupSummary'+ { ruleGroupId =+ pRuleGroupId_,+ name = pName_,+ metricName = pMetricName_+ }++-- | A unique identifier for a @RuleGroup@.+subscribedRuleGroupSummary_ruleGroupId :: Lens.Lens' SubscribedRuleGroupSummary Prelude.Text+subscribedRuleGroupSummary_ruleGroupId = Lens.lens (\SubscribedRuleGroupSummary' {ruleGroupId} -> ruleGroupId) (\s@SubscribedRuleGroupSummary' {} a -> s {ruleGroupId = a} :: SubscribedRuleGroupSummary)++-- | A friendly name or description of the @RuleGroup@. You can\'t change the+-- name of a @RuleGroup@ after you create it.+subscribedRuleGroupSummary_name :: Lens.Lens' SubscribedRuleGroupSummary Prelude.Text+subscribedRuleGroupSummary_name = Lens.lens (\SubscribedRuleGroupSummary' {name} -> name) (\s@SubscribedRuleGroupSummary' {} a -> s {name = a} :: SubscribedRuleGroupSummary)++-- | A friendly name or description for the metrics for this @RuleGroup@. The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change the name of the metric after you+-- create the @RuleGroup@.+subscribedRuleGroupSummary_metricName :: Lens.Lens' SubscribedRuleGroupSummary Prelude.Text+subscribedRuleGroupSummary_metricName = Lens.lens (\SubscribedRuleGroupSummary' {metricName} -> metricName) (\s@SubscribedRuleGroupSummary' {} a -> s {metricName = a} :: SubscribedRuleGroupSummary)++instance Data.FromJSON SubscribedRuleGroupSummary where+ parseJSON =+ Data.withObject+ "SubscribedRuleGroupSummary"+ ( \x ->+ SubscribedRuleGroupSummary'+ Prelude.<$> (x Data..: "RuleGroupId")+ Prelude.<*> (x Data..: "Name")+ Prelude.<*> (x Data..: "MetricName")+ )++instance Prelude.Hashable SubscribedRuleGroupSummary where+ hashWithSalt _salt SubscribedRuleGroupSummary' {..} =+ _salt+ `Prelude.hashWithSalt` ruleGroupId+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` metricName++instance Prelude.NFData SubscribedRuleGroupSummary where+ rnf SubscribedRuleGroupSummary' {..} =+ Prelude.rnf ruleGroupId+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf metricName
+ gen/Amazonka/WAF/Types/Tag.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.Tag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- A tag associated with an AWS resource. Tags are key:value pairs that you+-- can use to categorize and manage your resources, for purposes like+-- billing. For example, 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 AWS resource, up to 50 tags for a resource.+--+-- Tagging is only available through the API, SDKs, and CLI. You can\'t+-- manage or view tags through the AWS WAF Classic console. You can tag the+-- AWS resources that you manage through AWS WAF Classic: web ACLs, rule+-- groups, and rules.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { key :: Prelude.Text,+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' -+--+-- 'value', 'tag_value' -+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag' {key = pKey_, value = pValue_}++tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+ parseJSON =+ Data.withObject+ "Tag"+ ( \x ->+ Tag'+ Prelude.<$> (x Data..: "Key")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable Tag where+ hashWithSalt _salt Tag' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+ rnf Tag' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+ toJSON Tag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Key" Data..= key),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/WAF/Types/TagInfoForResource.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.TagInfoForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.TagInfoForResource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.Tag++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Information for a tag associated with an AWS resource. Tags are+-- key:value pairs that you can use to categorize and manage your+-- resources, for purposes like billing. For example, 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 AWS resource, up to 50 tags for+-- a resource.+--+-- Tagging is only available through the API, SDKs, and CLI. You can\'t+-- manage or view tags through the AWS WAF Classic console. You can tag the+-- AWS resources that you manage through AWS WAF Classic: web ACLs, rule+-- groups, and rules.+--+-- /See:/ 'newTagInfoForResource' smart constructor.+data TagInfoForResource = TagInfoForResource'+ { resourceARN :: Prelude.Maybe Prelude.Text,+ tagList :: Prelude.Maybe (Prelude.NonEmpty Tag)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagInfoForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'tagInfoForResource_resourceARN' -+--+-- 'tagList', 'tagInfoForResource_tagList' -+newTagInfoForResource ::+ TagInfoForResource+newTagInfoForResource =+ TagInfoForResource'+ { resourceARN = Prelude.Nothing,+ tagList = Prelude.Nothing+ }++tagInfoForResource_resourceARN :: Lens.Lens' TagInfoForResource (Prelude.Maybe Prelude.Text)+tagInfoForResource_resourceARN = Lens.lens (\TagInfoForResource' {resourceARN} -> resourceARN) (\s@TagInfoForResource' {} a -> s {resourceARN = a} :: TagInfoForResource)++tagInfoForResource_tagList :: Lens.Lens' TagInfoForResource (Prelude.Maybe (Prelude.NonEmpty Tag))+tagInfoForResource_tagList = Lens.lens (\TagInfoForResource' {tagList} -> tagList) (\s@TagInfoForResource' {} a -> s {tagList = a} :: TagInfoForResource) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TagInfoForResource where+ parseJSON =+ Data.withObject+ "TagInfoForResource"+ ( \x ->+ TagInfoForResource'+ Prelude.<$> (x Data..:? "ResourceARN")+ Prelude.<*> (x Data..:? "TagList")+ )++instance Prelude.Hashable TagInfoForResource where+ hashWithSalt _salt TagInfoForResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` tagList++instance Prelude.NFData TagInfoForResource where+ rnf TagInfoForResource' {..} =+ Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf tagList
+ gen/Amazonka/WAF/Types/TextTransformation.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.TextTransformation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.TextTransformation+ ( TextTransformation+ ( ..,+ TextTransformation_CMD_LINE,+ TextTransformation_COMPRESS_WHITE_SPACE,+ TextTransformation_HTML_ENTITY_DECODE,+ TextTransformation_LOWERCASE,+ TextTransformation_NONE,+ TextTransformation_URL_DECODE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TextTransformation = TextTransformation'+ { fromTextTransformation ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern TextTransformation_CMD_LINE :: TextTransformation+pattern TextTransformation_CMD_LINE = TextTransformation' "CMD_LINE"++pattern TextTransformation_COMPRESS_WHITE_SPACE :: TextTransformation+pattern TextTransformation_COMPRESS_WHITE_SPACE = TextTransformation' "COMPRESS_WHITE_SPACE"++pattern TextTransformation_HTML_ENTITY_DECODE :: TextTransformation+pattern TextTransformation_HTML_ENTITY_DECODE = TextTransformation' "HTML_ENTITY_DECODE"++pattern TextTransformation_LOWERCASE :: TextTransformation+pattern TextTransformation_LOWERCASE = TextTransformation' "LOWERCASE"++pattern TextTransformation_NONE :: TextTransformation+pattern TextTransformation_NONE = TextTransformation' "NONE"++pattern TextTransformation_URL_DECODE :: TextTransformation+pattern TextTransformation_URL_DECODE = TextTransformation' "URL_DECODE"++{-# COMPLETE+ TextTransformation_CMD_LINE,+ TextTransformation_COMPRESS_WHITE_SPACE,+ TextTransformation_HTML_ENTITY_DECODE,+ TextTransformation_LOWERCASE,+ TextTransformation_NONE,+ TextTransformation_URL_DECODE,+ TextTransformation'+ #-}
+ gen/Amazonka/WAF/Types/TimeWindow.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.TimeWindow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.TimeWindow where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- In a GetSampledRequests request, the @StartTime@ and @EndTime@ objects+-- specify the time range for which you want AWS WAF to return a sample of+-- web requests.+--+-- You must specify the times in Coordinated Universal Time (UTC) format.+-- UTC format includes the special designator, @Z@. For example,+-- @\"2016-09-27T14:50Z\"@.+--+-- In a GetSampledRequests response, the @StartTime@ and @EndTime@ objects+-- specify the time range for which AWS WAF actually returned a sample of+-- web requests. AWS WAF gets the specified number of requests from among+-- the first 5,000 requests that your AWS resource receives during the+-- specified time period. If your resource receives more than 5,000+-- requests during that period, AWS WAF stops sampling after the 5,000th+-- request. In that case, @EndTime@ is the time that AWS WAF received the+-- 5,000th request.+--+-- /See:/ 'newTimeWindow' smart constructor.+data TimeWindow = TimeWindow'+ { -- | The beginning of the time range from which you want @GetSampledRequests@+ -- to return a sample of the requests that your AWS resource received. You+ -- must specify the date and time 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.+ startTime :: Data.POSIX,+ -- | The end of the time range from which you want @GetSampledRequests@ to+ -- return a sample of the requests that your AWS resource received. You+ -- must specify the date and time 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 :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeWindow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'startTime', 'timeWindow_startTime' - The beginning of the time range from which you want @GetSampledRequests@+-- to return a sample of the requests that your AWS resource received. You+-- must specify the date and time 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', 'timeWindow_endTime' - The end of the time range from which you want @GetSampledRequests@ to+-- return a sample of the requests that your AWS resource received. You+-- must specify the date and time 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.+newTimeWindow ::+ -- | 'startTime'+ Prelude.UTCTime ->+ -- | 'endTime'+ Prelude.UTCTime ->+ TimeWindow+newTimeWindow pStartTime_ pEndTime_ =+ TimeWindow'+ { startTime =+ Data._Time Lens.# pStartTime_,+ endTime = Data._Time Lens.# pEndTime_+ }++-- | The beginning of the time range from which you want @GetSampledRequests@+-- to return a sample of the requests that your AWS resource received. You+-- must specify the date and time 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.Lens' TimeWindow Prelude.UTCTime+timeWindow_startTime = Lens.lens (\TimeWindow' {startTime} -> startTime) (\s@TimeWindow' {} a -> s {startTime = a} :: TimeWindow) Prelude.. Data._Time++-- | The end of the time range from which you want @GetSampledRequests@ to+-- return a sample of the requests that your AWS resource received. You+-- must specify the date and time 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.Lens' TimeWindow Prelude.UTCTime+timeWindow_endTime = Lens.lens (\TimeWindow' {endTime} -> endTime) (\s@TimeWindow' {} a -> s {endTime = a} :: TimeWindow) Prelude.. Data._Time++instance Data.FromJSON TimeWindow where+ parseJSON =+ Data.withObject+ "TimeWindow"+ ( \x ->+ TimeWindow'+ Prelude.<$> (x Data..: "StartTime")+ Prelude.<*> (x Data..: "EndTime")+ )++instance Prelude.Hashable TimeWindow where+ hashWithSalt _salt TimeWindow' {..} =+ _salt+ `Prelude.hashWithSalt` startTime+ `Prelude.hashWithSalt` endTime++instance Prelude.NFData TimeWindow where+ rnf TimeWindow' {..} =+ Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf endTime++instance Data.ToJSON TimeWindow where+ toJSON TimeWindow' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("StartTime" Data..= startTime),+ Prelude.Just ("EndTime" Data..= endTime)+ ]+ )
+ gen/Amazonka/WAF/Types/WafAction.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.WafAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.WafAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.WafActionType++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- For the action that is associated with a rule in a @WebACL@, specifies+-- the action that you want AWS WAF to perform when a web request matches+-- all of the conditions in a rule. For the default action in a @WebACL@,+-- specifies the action that you want AWS WAF to take when a web request+-- doesn\'t match all of the conditions in any of the rules in a @WebACL@.+--+-- /See:/ 'newWafAction' smart constructor.+data WafAction = WafAction'+ { -- | Specifies how you want AWS WAF to respond to requests that match the+ -- settings in a @Rule@. Valid settings include the following:+ --+ -- - @ALLOW@: AWS WAF allows requests+ --+ -- - @BLOCK@: AWS WAF blocks requests+ --+ -- - @COUNT@: AWS WAF increments a counter of the requests that match all+ -- of the conditions in the rule. AWS WAF then continues to inspect the+ -- web request based on the remaining rules in the web ACL. You can\'t+ -- specify @COUNT@ for the default action for a @WebACL@.+ type' :: WafActionType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WafAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'wafAction_type' - Specifies how you want AWS WAF to respond to requests that match the+-- settings in a @Rule@. Valid settings include the following:+--+-- - @ALLOW@: AWS WAF allows requests+--+-- - @BLOCK@: AWS WAF blocks requests+--+-- - @COUNT@: AWS WAF increments a counter of the requests that match all+-- of the conditions in the rule. AWS WAF then continues to inspect the+-- web request based on the remaining rules in the web ACL. You can\'t+-- specify @COUNT@ for the default action for a @WebACL@.+newWafAction ::+ -- | 'type''+ WafActionType ->+ WafAction+newWafAction pType_ = WafAction' {type' = pType_}++-- | Specifies how you want AWS WAF to respond to requests that match the+-- settings in a @Rule@. Valid settings include the following:+--+-- - @ALLOW@: AWS WAF allows requests+--+-- - @BLOCK@: AWS WAF blocks requests+--+-- - @COUNT@: AWS WAF increments a counter of the requests that match all+-- of the conditions in the rule. AWS WAF then continues to inspect the+-- web request based on the remaining rules in the web ACL. You can\'t+-- specify @COUNT@ for the default action for a @WebACL@.+wafAction_type :: Lens.Lens' WafAction WafActionType+wafAction_type = Lens.lens (\WafAction' {type'} -> type') (\s@WafAction' {} a -> s {type' = a} :: WafAction)++instance Data.FromJSON WafAction where+ parseJSON =+ Data.withObject+ "WafAction"+ (\x -> WafAction' Prelude.<$> (x Data..: "Type"))++instance Prelude.Hashable WafAction where+ hashWithSalt _salt WafAction' {..} =+ _salt `Prelude.hashWithSalt` type'++instance Prelude.NFData WafAction where+ rnf WafAction' {..} = Prelude.rnf type'++instance Data.ToJSON WafAction where+ toJSON WafAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Type" Data..= type')]+ )
+ gen/Amazonka/WAF/Types/WafActionType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.WafActionType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.WafActionType+ ( WafActionType+ ( ..,+ WafActionType_ALLOW,+ WafActionType_BLOCK,+ WafActionType_COUNT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WafActionType = WafActionType'+ { fromWafActionType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern WafActionType_ALLOW :: WafActionType+pattern WafActionType_ALLOW = WafActionType' "ALLOW"++pattern WafActionType_BLOCK :: WafActionType+pattern WafActionType_BLOCK = WafActionType' "BLOCK"++pattern WafActionType_COUNT :: WafActionType+pattern WafActionType_COUNT = WafActionType' "COUNT"++{-# COMPLETE+ WafActionType_ALLOW,+ WafActionType_BLOCK,+ WafActionType_COUNT,+ WafActionType'+ #-}
+ gen/Amazonka/WAF/Types/WafOverrideAction.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.WafOverrideAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.WafOverrideAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.WafOverrideActionType++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The action to take if any rule within the @RuleGroup@ matches a request.+--+-- /See:/ 'newWafOverrideAction' smart constructor.+data WafOverrideAction = WafOverrideAction'+ { -- | @COUNT@ overrides the action specified by the individual rule within a+ -- @RuleGroup@ . If set to @NONE@, the rule\'s action will take place.+ type' :: WafOverrideActionType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WafOverrideAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'wafOverrideAction_type' - @COUNT@ overrides the action specified by the individual rule within a+-- @RuleGroup@ . If set to @NONE@, the rule\'s action will take place.+newWafOverrideAction ::+ -- | 'type''+ WafOverrideActionType ->+ WafOverrideAction+newWafOverrideAction pType_ =+ WafOverrideAction' {type' = pType_}++-- | @COUNT@ overrides the action specified by the individual rule within a+-- @RuleGroup@ . If set to @NONE@, the rule\'s action will take place.+wafOverrideAction_type :: Lens.Lens' WafOverrideAction WafOverrideActionType+wafOverrideAction_type = Lens.lens (\WafOverrideAction' {type'} -> type') (\s@WafOverrideAction' {} a -> s {type' = a} :: WafOverrideAction)++instance Data.FromJSON WafOverrideAction where+ parseJSON =+ Data.withObject+ "WafOverrideAction"+ ( \x ->+ WafOverrideAction' Prelude.<$> (x Data..: "Type")+ )++instance Prelude.Hashable WafOverrideAction where+ hashWithSalt _salt WafOverrideAction' {..} =+ _salt `Prelude.hashWithSalt` type'++instance Prelude.NFData WafOverrideAction where+ rnf WafOverrideAction' {..} = Prelude.rnf type'++instance Data.ToJSON WafOverrideAction where+ toJSON WafOverrideAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Type" Data..= type')]+ )
+ gen/Amazonka/WAF/Types/WafOverrideActionType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.WafOverrideActionType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.WafOverrideActionType+ ( WafOverrideActionType+ ( ..,+ WafOverrideActionType_COUNT,+ WafOverrideActionType_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WafOverrideActionType = WafOverrideActionType'+ { fromWafOverrideActionType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern WafOverrideActionType_COUNT :: WafOverrideActionType+pattern WafOverrideActionType_COUNT = WafOverrideActionType' "COUNT"++pattern WafOverrideActionType_NONE :: WafOverrideActionType+pattern WafOverrideActionType_NONE = WafOverrideActionType' "NONE"++{-# COMPLETE+ WafOverrideActionType_COUNT,+ WafOverrideActionType_NONE,+ WafOverrideActionType'+ #-}
+ gen/Amazonka/WAF/Types/WafRuleType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.WafRuleType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.WafRuleType+ ( WafRuleType+ ( ..,+ WafRuleType_GROUP,+ WafRuleType_RATE_BASED,+ WafRuleType_REGULAR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WafRuleType = WafRuleType'+ { fromWafRuleType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern WafRuleType_GROUP :: WafRuleType+pattern WafRuleType_GROUP = WafRuleType' "GROUP"++pattern WafRuleType_RATE_BASED :: WafRuleType+pattern WafRuleType_RATE_BASED = WafRuleType' "RATE_BASED"++pattern WafRuleType_REGULAR :: WafRuleType+pattern WafRuleType_REGULAR = WafRuleType' "REGULAR"++{-# COMPLETE+ WafRuleType_GROUP,+ WafRuleType_RATE_BASED,+ WafRuleType_REGULAR,+ WafRuleType'+ #-}
+ gen/Amazonka/WAF/Types/WebACL.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.WebACL+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.WebACL where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ActivatedRule+import Amazonka.WAF.Types.WafAction++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Contains the @Rules@ that identify the requests that you want to allow,+-- block, or count. In a @WebACL@, you also specify a default action+-- (@ALLOW@ or @BLOCK@), and the action for each @Rule@ that you add to a+-- @WebACL@, for example, block requests from specified IP addresses or+-- block requests from specified referrers. You also associate the @WebACL@+-- with a CloudFront distribution to identify the requests that you want+-- AWS WAF to filter. If you add more than one @Rule@ to a @WebACL@, a+-- request needs to match only one of the specifications to be allowed,+-- blocked, or counted. For more information, see UpdateWebACL.+--+-- /See:/ 'newWebACL' smart constructor.+data WebACL = WebACL'+ { -- | A friendly name or description for the metrics for this @WebACL@. The+ -- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+ -- maximum length 128 and minimum length one. It can\'t contain whitespace+ -- or metric names reserved for AWS WAF, including \"All\" and+ -- \"Default_Action.\" You can\'t change @MetricName@ after you create the+ -- @WebACL@.+ metricName :: Prelude.Maybe Prelude.Text,+ -- | A friendly name or description of the @WebACL@. You can\'t change the+ -- name of a @WebACL@ after you create it.+ name :: Prelude.Maybe Prelude.Text,+ -- | Tha Amazon Resource Name (ARN) of the web ACL.+ webACLArn :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier for a @WebACL@. You use @WebACLId@ to get+ -- information about a @WebACL@ (see GetWebACL), update a @WebACL@ (see+ -- UpdateWebACL), and delete a @WebACL@ from AWS WAF (see DeleteWebACL).+ --+ -- @WebACLId@ is returned by CreateWebACL and by ListWebACLs.+ webACLId :: Prelude.Text,+ -- | The action to perform if none of the @Rules@ contained in the @WebACL@+ -- match. The action is specified by the WafAction object.+ defaultAction :: WafAction,+ -- | An array that contains the action for each @Rule@ in a @WebACL@, the+ -- priority of the @Rule@, and the ID of the @Rule@.+ rules :: [ActivatedRule]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WebACL' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'metricName', 'webACL_metricName' - A friendly name or description for the metrics for this @WebACL@. The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change @MetricName@ after you create the+-- @WebACL@.+--+-- 'name', 'webACL_name' - A friendly name or description of the @WebACL@. You can\'t change the+-- name of a @WebACL@ after you create it.+--+-- 'webACLArn', 'webACL_webACLArn' - Tha Amazon Resource Name (ARN) of the web ACL.+--+-- 'webACLId', 'webACL_webACLId' - A unique identifier for a @WebACL@. You use @WebACLId@ to get+-- information about a @WebACL@ (see GetWebACL), update a @WebACL@ (see+-- UpdateWebACL), and delete a @WebACL@ from AWS WAF (see DeleteWebACL).+--+-- @WebACLId@ is returned by CreateWebACL and by ListWebACLs.+--+-- 'defaultAction', 'webACL_defaultAction' - The action to perform if none of the @Rules@ contained in the @WebACL@+-- match. The action is specified by the WafAction object.+--+-- 'rules', 'webACL_rules' - An array that contains the action for each @Rule@ in a @WebACL@, the+-- priority of the @Rule@, and the ID of the @Rule@.+newWebACL ::+ -- | 'webACLId'+ Prelude.Text ->+ -- | 'defaultAction'+ WafAction ->+ WebACL+newWebACL pWebACLId_ pDefaultAction_ =+ WebACL'+ { metricName = Prelude.Nothing,+ name = Prelude.Nothing,+ webACLArn = Prelude.Nothing,+ webACLId = pWebACLId_,+ defaultAction = pDefaultAction_,+ rules = Prelude.mempty+ }++-- | A friendly name or description for the metrics for this @WebACL@. The+-- name can contain only alphanumeric characters (A-Z, a-z, 0-9), with+-- maximum length 128 and minimum length one. It can\'t contain whitespace+-- or metric names reserved for AWS WAF, including \"All\" and+-- \"Default_Action.\" You can\'t change @MetricName@ after you create the+-- @WebACL@.+webACL_metricName :: Lens.Lens' WebACL (Prelude.Maybe Prelude.Text)+webACL_metricName = Lens.lens (\WebACL' {metricName} -> metricName) (\s@WebACL' {} a -> s {metricName = a} :: WebACL)++-- | A friendly name or description of the @WebACL@. You can\'t change the+-- name of a @WebACL@ after you create it.+webACL_name :: Lens.Lens' WebACL (Prelude.Maybe Prelude.Text)+webACL_name = Lens.lens (\WebACL' {name} -> name) (\s@WebACL' {} a -> s {name = a} :: WebACL)++-- | Tha Amazon Resource Name (ARN) of the web ACL.+webACL_webACLArn :: Lens.Lens' WebACL (Prelude.Maybe Prelude.Text)+webACL_webACLArn = Lens.lens (\WebACL' {webACLArn} -> webACLArn) (\s@WebACL' {} a -> s {webACLArn = a} :: WebACL)++-- | A unique identifier for a @WebACL@. You use @WebACLId@ to get+-- information about a @WebACL@ (see GetWebACL), update a @WebACL@ (see+-- UpdateWebACL), and delete a @WebACL@ from AWS WAF (see DeleteWebACL).+--+-- @WebACLId@ is returned by CreateWebACL and by ListWebACLs.+webACL_webACLId :: Lens.Lens' WebACL Prelude.Text+webACL_webACLId = Lens.lens (\WebACL' {webACLId} -> webACLId) (\s@WebACL' {} a -> s {webACLId = a} :: WebACL)++-- | The action to perform if none of the @Rules@ contained in the @WebACL@+-- match. The action is specified by the WafAction object.+webACL_defaultAction :: Lens.Lens' WebACL WafAction+webACL_defaultAction = Lens.lens (\WebACL' {defaultAction} -> defaultAction) (\s@WebACL' {} a -> s {defaultAction = a} :: WebACL)++-- | An array that contains the action for each @Rule@ in a @WebACL@, the+-- priority of the @Rule@, and the ID of the @Rule@.+webACL_rules :: Lens.Lens' WebACL [ActivatedRule]+webACL_rules = Lens.lens (\WebACL' {rules} -> rules) (\s@WebACL' {} a -> s {rules = a} :: WebACL) Prelude.. Lens.coerced++instance Data.FromJSON WebACL where+ parseJSON =+ Data.withObject+ "WebACL"+ ( \x ->+ WebACL'+ Prelude.<$> (x Data..:? "MetricName")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "WebACLArn")+ Prelude.<*> (x Data..: "WebACLId")+ Prelude.<*> (x Data..: "DefaultAction")+ Prelude.<*> (x Data..:? "Rules" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable WebACL where+ hashWithSalt _salt WebACL' {..} =+ _salt+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` webACLArn+ `Prelude.hashWithSalt` webACLId+ `Prelude.hashWithSalt` defaultAction+ `Prelude.hashWithSalt` rules++instance Prelude.NFData WebACL where+ rnf WebACL' {..} =+ Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf webACLArn+ `Prelude.seq` Prelude.rnf webACLId+ `Prelude.seq` Prelude.rnf defaultAction+ `Prelude.seq` Prelude.rnf rules
+ gen/Amazonka/WAF/Types/WebACLSummary.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.WebACLSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.WebACLSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Contains the identifier and the name or description of the WebACL.+--+-- /See:/ 'newWebACLSummary' smart constructor.+data WebACLSummary = WebACLSummary'+ { -- | A unique identifier for a @WebACL@. You use @WebACLId@ to get+ -- information about a @WebACL@ (see GetWebACL), update a @WebACL@ (see+ -- UpdateWebACL), and delete a @WebACL@ from AWS WAF (see DeleteWebACL).+ --+ -- @WebACLId@ is returned by CreateWebACL and by ListWebACLs.+ webACLId :: Prelude.Text,+ -- | A friendly name or description of the WebACL. You can\'t change the name+ -- of a @WebACL@ after you create it.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WebACLSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'webACLId', 'webACLSummary_webACLId' - A unique identifier for a @WebACL@. You use @WebACLId@ to get+-- information about a @WebACL@ (see GetWebACL), update a @WebACL@ (see+-- UpdateWebACL), and delete a @WebACL@ from AWS WAF (see DeleteWebACL).+--+-- @WebACLId@ is returned by CreateWebACL and by ListWebACLs.+--+-- 'name', 'webACLSummary_name' - A friendly name or description of the WebACL. You can\'t change the name+-- of a @WebACL@ after you create it.+newWebACLSummary ::+ -- | 'webACLId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ WebACLSummary+newWebACLSummary pWebACLId_ pName_ =+ WebACLSummary'+ { webACLId = pWebACLId_,+ name = pName_+ }++-- | A unique identifier for a @WebACL@. You use @WebACLId@ to get+-- information about a @WebACL@ (see GetWebACL), update a @WebACL@ (see+-- UpdateWebACL), and delete a @WebACL@ from AWS WAF (see DeleteWebACL).+--+-- @WebACLId@ is returned by CreateWebACL and by ListWebACLs.+webACLSummary_webACLId :: Lens.Lens' WebACLSummary Prelude.Text+webACLSummary_webACLId = Lens.lens (\WebACLSummary' {webACLId} -> webACLId) (\s@WebACLSummary' {} a -> s {webACLId = a} :: WebACLSummary)++-- | A friendly name or description of the WebACL. You can\'t change the name+-- of a @WebACL@ after you create it.+webACLSummary_name :: Lens.Lens' WebACLSummary Prelude.Text+webACLSummary_name = Lens.lens (\WebACLSummary' {name} -> name) (\s@WebACLSummary' {} a -> s {name = a} :: WebACLSummary)++instance Data.FromJSON WebACLSummary where+ parseJSON =+ Data.withObject+ "WebACLSummary"+ ( \x ->+ WebACLSummary'+ Prelude.<$> (x Data..: "WebACLId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable WebACLSummary where+ hashWithSalt _salt WebACLSummary' {..} =+ _salt+ `Prelude.hashWithSalt` webACLId+ `Prelude.hashWithSalt` name++instance Prelude.NFData WebACLSummary where+ rnf WebACLSummary' {..} =+ Prelude.rnf webACLId `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/WebACLUpdate.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.WebACLUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.WebACLUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ActivatedRule+import Amazonka.WAF.Types.ChangeAction++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies whether to insert a @Rule@ into or delete a @Rule@ from a+-- @WebACL@.+--+-- /See:/ 'newWebACLUpdate' smart constructor.+data WebACLUpdate = WebACLUpdate'+ { -- | Specifies whether to insert a @Rule@ into or delete a @Rule@ from a+ -- @WebACL@.+ action :: ChangeAction,+ -- | The @ActivatedRule@ object in an UpdateWebACL request specifies a @Rule@+ -- that you want to insert or delete, the priority of the @Rule@ in the+ -- @WebACL@, and the action that you want AWS WAF to take when a web+ -- request matches the @Rule@ (@ALLOW@, @BLOCK@, or @COUNT@).+ activatedRule :: ActivatedRule+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WebACLUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'webACLUpdate_action' - Specifies whether to insert a @Rule@ into or delete a @Rule@ from a+-- @WebACL@.+--+-- 'activatedRule', 'webACLUpdate_activatedRule' - The @ActivatedRule@ object in an UpdateWebACL request specifies a @Rule@+-- that you want to insert or delete, the priority of the @Rule@ in the+-- @WebACL@, and the action that you want AWS WAF to take when a web+-- request matches the @Rule@ (@ALLOW@, @BLOCK@, or @COUNT@).+newWebACLUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'activatedRule'+ ActivatedRule ->+ WebACLUpdate+newWebACLUpdate pAction_ pActivatedRule_ =+ WebACLUpdate'+ { action = pAction_,+ activatedRule = pActivatedRule_+ }++-- | Specifies whether to insert a @Rule@ into or delete a @Rule@ from a+-- @WebACL@.+webACLUpdate_action :: Lens.Lens' WebACLUpdate ChangeAction+webACLUpdate_action = Lens.lens (\WebACLUpdate' {action} -> action) (\s@WebACLUpdate' {} a -> s {action = a} :: WebACLUpdate)++-- | The @ActivatedRule@ object in an UpdateWebACL request specifies a @Rule@+-- that you want to insert or delete, the priority of the @Rule@ in the+-- @WebACL@, and the action that you want AWS WAF to take when a web+-- request matches the @Rule@ (@ALLOW@, @BLOCK@, or @COUNT@).+webACLUpdate_activatedRule :: Lens.Lens' WebACLUpdate ActivatedRule+webACLUpdate_activatedRule = Lens.lens (\WebACLUpdate' {activatedRule} -> activatedRule) (\s@WebACLUpdate' {} a -> s {activatedRule = a} :: WebACLUpdate)++instance Prelude.Hashable WebACLUpdate where+ hashWithSalt _salt WebACLUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` activatedRule++instance Prelude.NFData WebACLUpdate where+ rnf WebACLUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf activatedRule++instance Data.ToJSON WebACLUpdate where+ toJSON WebACLUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ("ActivatedRule" Data..= activatedRule)+ ]+ )
+ gen/Amazonka/WAF/Types/XssMatchSet.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.XssMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.XssMatchSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.XssMatchTuple++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- A complex type that contains @XssMatchTuple@ objects, which specify the+-- parts of web requests that you want AWS WAF to inspect for cross-site+-- scripting attacks and, if you want AWS WAF to inspect a header, the name+-- of the header. If a @XssMatchSet@ contains more than one @XssMatchTuple@+-- object, a request needs to include cross-site scripting attacks in only+-- one of the specified parts of the request to be considered a match.+--+-- /See:/ 'newXssMatchSet' smart constructor.+data XssMatchSet = XssMatchSet'+ { -- | The name, if any, of the @XssMatchSet@.+ name :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier for an @XssMatchSet@. You use @XssMatchSetId@ to get+ -- information about an @XssMatchSet@ (see GetXssMatchSet), update an+ -- @XssMatchSet@ (see UpdateXssMatchSet), insert an @XssMatchSet@ into a+ -- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete an+ -- @XssMatchSet@ from AWS WAF (see DeleteXssMatchSet).+ --+ -- @XssMatchSetId@ is returned by CreateXssMatchSet and by+ -- ListXssMatchSets.+ xssMatchSetId :: Prelude.Text,+ -- | Specifies the parts of web requests that you want to inspect for+ -- cross-site scripting attacks.+ xssMatchTuples :: [XssMatchTuple]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'XssMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'xssMatchSet_name' - The name, if any, of the @XssMatchSet@.+--+-- 'xssMatchSetId', 'xssMatchSet_xssMatchSetId' - A unique identifier for an @XssMatchSet@. You use @XssMatchSetId@ to get+-- information about an @XssMatchSet@ (see GetXssMatchSet), update an+-- @XssMatchSet@ (see UpdateXssMatchSet), insert an @XssMatchSet@ into a+-- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete an+-- @XssMatchSet@ from AWS WAF (see DeleteXssMatchSet).+--+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+--+-- 'xssMatchTuples', 'xssMatchSet_xssMatchTuples' - Specifies the parts of web requests that you want to inspect for+-- cross-site scripting attacks.+newXssMatchSet ::+ -- | 'xssMatchSetId'+ Prelude.Text ->+ XssMatchSet+newXssMatchSet pXssMatchSetId_ =+ XssMatchSet'+ { name = Prelude.Nothing,+ xssMatchSetId = pXssMatchSetId_,+ xssMatchTuples = Prelude.mempty+ }++-- | The name, if any, of the @XssMatchSet@.+xssMatchSet_name :: Lens.Lens' XssMatchSet (Prelude.Maybe Prelude.Text)+xssMatchSet_name = Lens.lens (\XssMatchSet' {name} -> name) (\s@XssMatchSet' {} a -> s {name = a} :: XssMatchSet)++-- | A unique identifier for an @XssMatchSet@. You use @XssMatchSetId@ to get+-- information about an @XssMatchSet@ (see GetXssMatchSet), update an+-- @XssMatchSet@ (see UpdateXssMatchSet), insert an @XssMatchSet@ into a+-- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete an+-- @XssMatchSet@ from AWS WAF (see DeleteXssMatchSet).+--+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+xssMatchSet_xssMatchSetId :: Lens.Lens' XssMatchSet Prelude.Text+xssMatchSet_xssMatchSetId = Lens.lens (\XssMatchSet' {xssMatchSetId} -> xssMatchSetId) (\s@XssMatchSet' {} a -> s {xssMatchSetId = a} :: XssMatchSet)++-- | Specifies the parts of web requests that you want to inspect for+-- cross-site scripting attacks.+xssMatchSet_xssMatchTuples :: Lens.Lens' XssMatchSet [XssMatchTuple]+xssMatchSet_xssMatchTuples = Lens.lens (\XssMatchSet' {xssMatchTuples} -> xssMatchTuples) (\s@XssMatchSet' {} a -> s {xssMatchTuples = a} :: XssMatchSet) Prelude.. Lens.coerced++instance Data.FromJSON XssMatchSet where+ parseJSON =+ Data.withObject+ "XssMatchSet"+ ( \x ->+ XssMatchSet'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..: "XssMatchSetId")+ Prelude.<*> ( x+ Data..:? "XssMatchTuples"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable XssMatchSet where+ hashWithSalt _salt XssMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` xssMatchSetId+ `Prelude.hashWithSalt` xssMatchTuples++instance Prelude.NFData XssMatchSet where+ rnf XssMatchSet' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf xssMatchSetId+ `Prelude.seq` Prelude.rnf xssMatchTuples
+ gen/Amazonka/WAF/Types/XssMatchSetSummary.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.XssMatchSetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.XssMatchSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- The @Id@ and @Name@ of an @XssMatchSet@.+--+-- /See:/ 'newXssMatchSetSummary' smart constructor.+data XssMatchSetSummary = XssMatchSetSummary'+ { -- | A unique identifier for an @XssMatchSet@. You use @XssMatchSetId@ to get+ -- information about a @XssMatchSet@ (see GetXssMatchSet), update an+ -- @XssMatchSet@ (see UpdateXssMatchSet), insert an @XssMatchSet@ into a+ -- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete an+ -- @XssMatchSet@ from AWS WAF (see DeleteXssMatchSet).+ --+ -- @XssMatchSetId@ is returned by CreateXssMatchSet and by+ -- ListXssMatchSets.+ xssMatchSetId :: Prelude.Text,+ -- | The name of the @XssMatchSet@, if any, specified by @Id@.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'XssMatchSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'xssMatchSetId', 'xssMatchSetSummary_xssMatchSetId' - A unique identifier for an @XssMatchSet@. You use @XssMatchSetId@ to get+-- information about a @XssMatchSet@ (see GetXssMatchSet), update an+-- @XssMatchSet@ (see UpdateXssMatchSet), insert an @XssMatchSet@ into a+-- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete an+-- @XssMatchSet@ from AWS WAF (see DeleteXssMatchSet).+--+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+--+-- 'name', 'xssMatchSetSummary_name' - The name of the @XssMatchSet@, if any, specified by @Id@.+newXssMatchSetSummary ::+ -- | 'xssMatchSetId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ XssMatchSetSummary+newXssMatchSetSummary pXssMatchSetId_ pName_ =+ XssMatchSetSummary'+ { xssMatchSetId =+ pXssMatchSetId_,+ name = pName_+ }++-- | A unique identifier for an @XssMatchSet@. You use @XssMatchSetId@ to get+-- information about a @XssMatchSet@ (see GetXssMatchSet), update an+-- @XssMatchSet@ (see UpdateXssMatchSet), insert an @XssMatchSet@ into a+-- @Rule@ or delete one from a @Rule@ (see UpdateRule), and delete an+-- @XssMatchSet@ from AWS WAF (see DeleteXssMatchSet).+--+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+xssMatchSetSummary_xssMatchSetId :: Lens.Lens' XssMatchSetSummary Prelude.Text+xssMatchSetSummary_xssMatchSetId = Lens.lens (\XssMatchSetSummary' {xssMatchSetId} -> xssMatchSetId) (\s@XssMatchSetSummary' {} a -> s {xssMatchSetId = a} :: XssMatchSetSummary)++-- | The name of the @XssMatchSet@, if any, specified by @Id@.+xssMatchSetSummary_name :: Lens.Lens' XssMatchSetSummary Prelude.Text+xssMatchSetSummary_name = Lens.lens (\XssMatchSetSummary' {name} -> name) (\s@XssMatchSetSummary' {} a -> s {name = a} :: XssMatchSetSummary)++instance Data.FromJSON XssMatchSetSummary where+ parseJSON =+ Data.withObject+ "XssMatchSetSummary"+ ( \x ->+ XssMatchSetSummary'+ Prelude.<$> (x Data..: "XssMatchSetId")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable XssMatchSetSummary where+ hashWithSalt _salt XssMatchSetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` xssMatchSetId+ `Prelude.hashWithSalt` name++instance Prelude.NFData XssMatchSetSummary where+ rnf XssMatchSetSummary' {..} =+ Prelude.rnf xssMatchSetId+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/WAF/Types/XssMatchSetUpdate.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.XssMatchSetUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.XssMatchSetUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.ChangeAction+import Amazonka.WAF.Types.XssMatchTuple++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies the part of a web request that you want to inspect for+-- cross-site scripting attacks and indicates whether you want to add the+-- specification to an XssMatchSet or delete it from an @XssMatchSet@.+--+-- /See:/ 'newXssMatchSetUpdate' smart constructor.+data XssMatchSetUpdate = XssMatchSetUpdate'+ { -- | Specify @INSERT@ to add an XssMatchSetUpdate to an XssMatchSet. Use+ -- @DELETE@ to remove an @XssMatchSetUpdate@ from an @XssMatchSet@.+ action :: ChangeAction,+ -- | Specifies the part of a web request that you want AWS WAF to inspect for+ -- cross-site scripting attacks and, if you want AWS WAF to inspect a+ -- header, the name of the header.+ xssMatchTuple :: XssMatchTuple+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'XssMatchSetUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'xssMatchSetUpdate_action' - Specify @INSERT@ to add an XssMatchSetUpdate to an XssMatchSet. Use+-- @DELETE@ to remove an @XssMatchSetUpdate@ from an @XssMatchSet@.+--+-- 'xssMatchTuple', 'xssMatchSetUpdate_xssMatchTuple' - Specifies the part of a web request that you want AWS WAF to inspect for+-- cross-site scripting attacks and, if you want AWS WAF to inspect a+-- header, the name of the header.+newXssMatchSetUpdate ::+ -- | 'action'+ ChangeAction ->+ -- | 'xssMatchTuple'+ XssMatchTuple ->+ XssMatchSetUpdate+newXssMatchSetUpdate pAction_ pXssMatchTuple_ =+ XssMatchSetUpdate'+ { action = pAction_,+ xssMatchTuple = pXssMatchTuple_+ }++-- | Specify @INSERT@ to add an XssMatchSetUpdate to an XssMatchSet. Use+-- @DELETE@ to remove an @XssMatchSetUpdate@ from an @XssMatchSet@.+xssMatchSetUpdate_action :: Lens.Lens' XssMatchSetUpdate ChangeAction+xssMatchSetUpdate_action = Lens.lens (\XssMatchSetUpdate' {action} -> action) (\s@XssMatchSetUpdate' {} a -> s {action = a} :: XssMatchSetUpdate)++-- | Specifies the part of a web request that you want AWS WAF to inspect for+-- cross-site scripting attacks and, if you want AWS WAF to inspect a+-- header, the name of the header.+xssMatchSetUpdate_xssMatchTuple :: Lens.Lens' XssMatchSetUpdate XssMatchTuple+xssMatchSetUpdate_xssMatchTuple = Lens.lens (\XssMatchSetUpdate' {xssMatchTuple} -> xssMatchTuple) (\s@XssMatchSetUpdate' {} a -> s {xssMatchTuple = a} :: XssMatchSetUpdate)++instance Prelude.Hashable XssMatchSetUpdate where+ hashWithSalt _salt XssMatchSetUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` xssMatchTuple++instance Prelude.NFData XssMatchSetUpdate where+ rnf XssMatchSetUpdate' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf xssMatchTuple++instance Data.ToJSON XssMatchSetUpdate where+ toJSON XssMatchSetUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Action" Data..= action),+ Prelude.Just+ ("XssMatchTuple" Data..= xssMatchTuple)+ ]+ )
+ gen/Amazonka/WAF/Types/XssMatchTuple.hs view
@@ -0,0 +1,330 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Types.XssMatchTuple+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Types.XssMatchTuple where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Types.FieldToMatch+import Amazonka.WAF.Types.TextTransformation++-- | This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Specifies the part of a web request that you want AWS WAF to inspect for+-- cross-site scripting attacks and, if you want AWS WAF to inspect a+-- header, the name of the header.+--+-- /See:/ 'newXssMatchTuple' smart constructor.+data XssMatchTuple = XssMatchTuple'+ { -- | Specifies where in a web request to look for cross-site scripting+ -- attacks.+ fieldToMatch :: FieldToMatch,+ -- | Text transformations eliminate some of the unusual formatting that+ -- attackers use in web requests in an effort to bypass AWS WAF. If you+ -- specify a transformation, AWS WAF performs the transformation on+ -- @FieldToMatch@ before inspecting it for a match.+ --+ -- You can only specify a single type of TextTransformation.+ --+ -- __CMD_LINE__+ --+ -- When you\'re concerned that attackers are injecting an operating system+ -- command line command and using unusual formatting to disguise some or+ -- all of the command, use this option to perform the following+ -- transformations:+ --+ -- - Delete the following characters: \\ \" \' ^+ --+ -- - Delete spaces before the following characters: \/ (+ --+ -- - Replace the following characters with a space: , ;+ --+ -- - Replace multiple spaces with one space+ --+ -- - Convert uppercase letters (A-Z) to lowercase (a-z)+ --+ -- __COMPRESS_WHITE_SPACE__+ --+ -- Use this option to replace the following characters with a space+ -- character (decimal 32):+ --+ -- - \\f, formfeed, decimal 12+ --+ -- - \\t, tab, decimal 9+ --+ -- - \\n, newline, decimal 10+ --+ -- - \\r, carriage return, decimal 13+ --+ -- - \\v, vertical tab, decimal 11+ --+ -- - non-breaking space, decimal 160+ --+ -- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+ --+ -- __HTML_ENTITY_DECODE__+ --+ -- Use this option to replace HTML-encoded characters with unencoded+ -- characters. @HTML_ENTITY_DECODE@ performs the following operations:+ --+ -- - Replaces @(ampersand)quot;@ with @\"@+ --+ -- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+ --+ -- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+ --+ -- - Replaces @(ampersand)gt;@ with @>@+ --+ -- - Replaces characters that are represented in hexadecimal format,+ -- @(ampersand)#xhhhh;@, with the corresponding characters+ --+ -- - Replaces characters that are represented in decimal format,+ -- @(ampersand)#nnnn;@, with the corresponding characters+ --+ -- __LOWERCASE__+ --+ -- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+ --+ -- __URL_DECODE__+ --+ -- Use this option to decode a URL-encoded value.+ --+ -- __NONE__+ --+ -- Specify @NONE@ if you don\'t want to perform any text transformations.+ textTransformation :: TextTransformation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'XssMatchTuple' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldToMatch', 'xssMatchTuple_fieldToMatch' - Specifies where in a web request to look for cross-site scripting+-- attacks.+--+-- 'textTransformation', 'xssMatchTuple_textTransformation' - Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @FieldToMatch@ before inspecting it for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- command line command and using unusual formatting to disguise some or+-- all of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+newXssMatchTuple ::+ -- | 'fieldToMatch'+ FieldToMatch ->+ -- | 'textTransformation'+ TextTransformation ->+ XssMatchTuple+newXssMatchTuple pFieldToMatch_ pTextTransformation_ =+ XssMatchTuple'+ { fieldToMatch = pFieldToMatch_,+ textTransformation = pTextTransformation_+ }++-- | Specifies where in a web request to look for cross-site scripting+-- attacks.+xssMatchTuple_fieldToMatch :: Lens.Lens' XssMatchTuple FieldToMatch+xssMatchTuple_fieldToMatch = Lens.lens (\XssMatchTuple' {fieldToMatch} -> fieldToMatch) (\s@XssMatchTuple' {} a -> s {fieldToMatch = a} :: XssMatchTuple)++-- | Text transformations eliminate some of the unusual formatting that+-- attackers use in web requests in an effort to bypass AWS WAF. If you+-- specify a transformation, AWS WAF performs the transformation on+-- @FieldToMatch@ before inspecting it for a match.+--+-- You can only specify a single type of TextTransformation.+--+-- __CMD_LINE__+--+-- When you\'re concerned that attackers are injecting an operating system+-- command line command and using unusual formatting to disguise some or+-- all of the command, use this option to perform the following+-- transformations:+--+-- - Delete the following characters: \\ \" \' ^+--+-- - Delete spaces before the following characters: \/ (+--+-- - Replace the following characters with a space: , ;+--+-- - Replace multiple spaces with one space+--+-- - Convert uppercase letters (A-Z) to lowercase (a-z)+--+-- __COMPRESS_WHITE_SPACE__+--+-- Use this option to replace the following characters with a space+-- character (decimal 32):+--+-- - \\f, formfeed, decimal 12+--+-- - \\t, tab, decimal 9+--+-- - \\n, newline, decimal 10+--+-- - \\r, carriage return, decimal 13+--+-- - \\v, vertical tab, decimal 11+--+-- - non-breaking space, decimal 160+--+-- @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space.+--+-- __HTML_ENTITY_DECODE__+--+-- Use this option to replace HTML-encoded characters with unencoded+-- characters. @HTML_ENTITY_DECODE@ performs the following operations:+--+-- - Replaces @(ampersand)quot;@ with @\"@+--+-- - Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160+--+-- - Replaces @(ampersand)lt;@ with a \"less than\" symbol+--+-- - Replaces @(ampersand)gt;@ with @>@+--+-- - Replaces characters that are represented in hexadecimal format,+-- @(ampersand)#xhhhh;@, with the corresponding characters+--+-- - Replaces characters that are represented in decimal format,+-- @(ampersand)#nnnn;@, with the corresponding characters+--+-- __LOWERCASE__+--+-- Use this option to convert uppercase letters (A-Z) to lowercase (a-z).+--+-- __URL_DECODE__+--+-- Use this option to decode a URL-encoded value.+--+-- __NONE__+--+-- Specify @NONE@ if you don\'t want to perform any text transformations.+xssMatchTuple_textTransformation :: Lens.Lens' XssMatchTuple TextTransformation+xssMatchTuple_textTransformation = Lens.lens (\XssMatchTuple' {textTransformation} -> textTransformation) (\s@XssMatchTuple' {} a -> s {textTransformation = a} :: XssMatchTuple)++instance Data.FromJSON XssMatchTuple where+ parseJSON =+ Data.withObject+ "XssMatchTuple"+ ( \x ->+ XssMatchTuple'+ Prelude.<$> (x Data..: "FieldToMatch")+ Prelude.<*> (x Data..: "TextTransformation")+ )++instance Prelude.Hashable XssMatchTuple where+ hashWithSalt _salt XssMatchTuple' {..} =+ _salt+ `Prelude.hashWithSalt` fieldToMatch+ `Prelude.hashWithSalt` textTransformation++instance Prelude.NFData XssMatchTuple where+ rnf XssMatchTuple' {..} =+ Prelude.rnf fieldToMatch+ `Prelude.seq` Prelude.rnf textTransformation++instance Data.ToJSON XssMatchTuple where+ toJSON XssMatchTuple' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("FieldToMatch" Data..= fieldToMatch),+ Prelude.Just+ ("TextTransformation" Data..= textTransformation)+ ]+ )
+ gen/Amazonka/WAF/UntagResource.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+module Amazonka.WAF.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceARN,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { resourceARN :: Prelude.Text,+ tagKeys :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'untagResource_resourceARN' -+--+-- 'tagKeys', 'untagResource_tagKeys' -+newUntagResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ -- | 'tagKeys'+ Prelude.NonEmpty Prelude.Text ->+ UntagResource+newUntagResource pResourceARN_ pTagKeys_ =+ UntagResource'+ { resourceARN = pResourceARN_,+ tagKeys = Lens.coerced Lens.# pTagKeys_+ }++untagResource_resourceARN :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceARN = Lens.lens (\UntagResource' {resourceARN} -> resourceARN) (\s@UntagResource' {} a -> s {resourceARN = a} :: UntagResource)++untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UntagResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UntagResource where+ toJSON UntagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceARN" Data..= resourceARN),+ Prelude.Just ("TagKeys" Data..= tagKeys)+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateByteMatchSet.hs view
@@ -0,0 +1,296 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateByteMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet.+-- For each @ByteMatchTuple@ object, you specify the following values:+--+-- - Whether to insert or delete the object from the array. If you want+-- to change a @ByteMatchSetUpdate@ object, you delete the existing+-- object and add a new one.+--+-- - The part of a web request that you want AWS WAF to inspect, such as+-- a query string or the value of the @User-Agent@ header.+--+-- - The bytes (typically a string that corresponds with ASCII+-- characters) that you want AWS WAF to look for. For more information,+-- including how you specify the values for the AWS WAF API and the AWS+-- CLI or SDKs, see @TargetString@ in the ByteMatchTuple data type.+--+-- - Where to look, such as at the beginning or the end of a query+-- string.+--+-- - Whether to perform any conversions on the request, such as+-- converting it to lowercase, before inspecting it for the specified+-- string.+--+-- For example, you can add a @ByteMatchSetUpdate@ object that matches web+-- requests in which @User-Agent@ headers contain the string @BadBot@. You+-- can then configure AWS WAF to block those requests.+--+-- To create and configure a @ByteMatchSet@, perform the following steps:+--+-- 1. Create a @ByteMatchSet.@ For more information, see+-- CreateByteMatchSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of an @UpdateByteMatchSet@ request.+--+-- 3. Submit an @UpdateByteMatchSet@ request to specify the part of the+-- request that you want AWS WAF to inspect (for example, the header or+-- the URI) and the value that you want AWS WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateByteMatchSet+ ( -- * Creating a Request+ UpdateByteMatchSet (..),+ newUpdateByteMatchSet,++ -- * Request Lenses+ updateByteMatchSet_byteMatchSetId,+ updateByteMatchSet_changeToken,+ updateByteMatchSet_updates,++ -- * Destructuring the Response+ UpdateByteMatchSetResponse (..),+ newUpdateByteMatchSetResponse,++ -- * Response Lenses+ updateByteMatchSetResponse_changeToken,+ updateByteMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateByteMatchSet' smart constructor.+data UpdateByteMatchSet = UpdateByteMatchSet'+ { -- | The @ByteMatchSetId@ of the ByteMatchSet that you want to update.+ -- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+ -- ListByteMatchSets.+ byteMatchSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text,+ -- | An array of @ByteMatchSetUpdate@ objects that you want to insert into or+ -- delete from a ByteMatchSet. For more information, see the applicable+ -- data types:+ --+ -- - ByteMatchSetUpdate: Contains @Action@ and @ByteMatchTuple@+ --+ -- - ByteMatchTuple: Contains @FieldToMatch@, @PositionalConstraint@,+ -- @TargetString@, and @TextTransformation@+ --+ -- - FieldToMatch: Contains @Data@ and @Type@+ updates :: Prelude.NonEmpty ByteMatchSetUpdate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateByteMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'byteMatchSetId', 'updateByteMatchSet_byteMatchSetId' - The @ByteMatchSetId@ of the ByteMatchSet that you want to update.+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+--+-- 'changeToken', 'updateByteMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+--+-- 'updates', 'updateByteMatchSet_updates' - An array of @ByteMatchSetUpdate@ objects that you want to insert into or+-- delete from a ByteMatchSet. For more information, see the applicable+-- data types:+--+-- - ByteMatchSetUpdate: Contains @Action@ and @ByteMatchTuple@+--+-- - ByteMatchTuple: Contains @FieldToMatch@, @PositionalConstraint@,+-- @TargetString@, and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+newUpdateByteMatchSet ::+ -- | 'byteMatchSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty ByteMatchSetUpdate ->+ UpdateByteMatchSet+newUpdateByteMatchSet+ pByteMatchSetId_+ pChangeToken_+ pUpdates_ =+ UpdateByteMatchSet'+ { byteMatchSetId =+ pByteMatchSetId_,+ changeToken = pChangeToken_,+ updates = Lens.coerced Lens.# pUpdates_+ }++-- | The @ByteMatchSetId@ of the ByteMatchSet that you want to update.+-- @ByteMatchSetId@ is returned by CreateByteMatchSet and by+-- ListByteMatchSets.+updateByteMatchSet_byteMatchSetId :: Lens.Lens' UpdateByteMatchSet Prelude.Text+updateByteMatchSet_byteMatchSetId = Lens.lens (\UpdateByteMatchSet' {byteMatchSetId} -> byteMatchSetId) (\s@UpdateByteMatchSet' {} a -> s {byteMatchSetId = a} :: UpdateByteMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+updateByteMatchSet_changeToken :: Lens.Lens' UpdateByteMatchSet Prelude.Text+updateByteMatchSet_changeToken = Lens.lens (\UpdateByteMatchSet' {changeToken} -> changeToken) (\s@UpdateByteMatchSet' {} a -> s {changeToken = a} :: UpdateByteMatchSet)++-- | An array of @ByteMatchSetUpdate@ objects that you want to insert into or+-- delete from a ByteMatchSet. For more information, see the applicable+-- data types:+--+-- - ByteMatchSetUpdate: Contains @Action@ and @ByteMatchTuple@+--+-- - ByteMatchTuple: Contains @FieldToMatch@, @PositionalConstraint@,+-- @TargetString@, and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+updateByteMatchSet_updates :: Lens.Lens' UpdateByteMatchSet (Prelude.NonEmpty ByteMatchSetUpdate)+updateByteMatchSet_updates = Lens.lens (\UpdateByteMatchSet' {updates} -> updates) (\s@UpdateByteMatchSet' {} a -> s {updates = a} :: UpdateByteMatchSet) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateByteMatchSet where+ type+ AWSResponse UpdateByteMatchSet =+ UpdateByteMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateByteMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateByteMatchSet where+ hashWithSalt _salt UpdateByteMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` byteMatchSetId+ `Prelude.hashWithSalt` changeToken+ `Prelude.hashWithSalt` updates++instance Prelude.NFData UpdateByteMatchSet where+ rnf UpdateByteMatchSet' {..} =+ Prelude.rnf byteMatchSetId+ `Prelude.seq` Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf updates++instance Data.ToHeaders UpdateByteMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateByteMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateByteMatchSet where+ toJSON UpdateByteMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ByteMatchSetId" Data..= byteMatchSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken),+ Prelude.Just ("Updates" Data..= updates)+ ]+ )++instance Data.ToPath UpdateByteMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateByteMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateByteMatchSetResponse' smart constructor.+data UpdateByteMatchSetResponse = UpdateByteMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateByteMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateByteMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateByteMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateByteMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateByteMatchSetResponse_httpStatus' - The response's http status code.+newUpdateByteMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateByteMatchSetResponse+newUpdateByteMatchSetResponse pHttpStatus_ =+ UpdateByteMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateByteMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+updateByteMatchSetResponse_changeToken :: Lens.Lens' UpdateByteMatchSetResponse (Prelude.Maybe Prelude.Text)+updateByteMatchSetResponse_changeToken = Lens.lens (\UpdateByteMatchSetResponse' {changeToken} -> changeToken) (\s@UpdateByteMatchSetResponse' {} a -> s {changeToken = a} :: UpdateByteMatchSetResponse)++-- | The response's http status code.+updateByteMatchSetResponse_httpStatus :: Lens.Lens' UpdateByteMatchSetResponse Prelude.Int+updateByteMatchSetResponse_httpStatus = Lens.lens (\UpdateByteMatchSetResponse' {httpStatus} -> httpStatus) (\s@UpdateByteMatchSetResponse' {} a -> s {httpStatus = a} :: UpdateByteMatchSetResponse)++instance Prelude.NFData UpdateByteMatchSetResponse where+ rnf UpdateByteMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateGeoMatchSet.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateGeoMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes GeoMatchConstraint objects in an @GeoMatchSet@. For+-- each @GeoMatchConstraint@ object, you specify the following values:+--+-- - Whether to insert or delete the object from the array. If you want+-- to change an @GeoMatchConstraint@ object, you delete the existing+-- object and add a new one.+--+-- - The @Type@. The only valid value for @Type@ is @Country@.+--+-- - The @Value@, which is a two character code for the country to add to+-- the @GeoMatchConstraint@ object. Valid codes are listed in+-- GeoMatchConstraint$Value.+--+-- To create and configure an @GeoMatchSet@, perform the following steps:+--+-- 1. Submit a CreateGeoMatchSet request.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateGeoMatchSet request.+--+-- 3. Submit an @UpdateGeoMatchSet@ request to specify the country that+-- you want AWS WAF to watch for.+--+-- When you update an @GeoMatchSet@, you specify the country that you want+-- to add and\/or the country that you want to delete. If you want to+-- change a country, you delete the existing country and add the new one.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateGeoMatchSet+ ( -- * Creating a Request+ UpdateGeoMatchSet (..),+ newUpdateGeoMatchSet,++ -- * Request Lenses+ updateGeoMatchSet_geoMatchSetId,+ updateGeoMatchSet_changeToken,+ updateGeoMatchSet_updates,++ -- * Destructuring the Response+ UpdateGeoMatchSetResponse (..),+ newUpdateGeoMatchSetResponse,++ -- * Response Lenses+ updateGeoMatchSetResponse_changeToken,+ updateGeoMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateGeoMatchSet' smart constructor.+data UpdateGeoMatchSet = UpdateGeoMatchSet'+ { -- | The @GeoMatchSetId@ of the GeoMatchSet that you want to update.+ -- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+ -- ListGeoMatchSets.+ geoMatchSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text,+ -- | An array of @GeoMatchSetUpdate@ objects that you want to insert into or+ -- delete from an GeoMatchSet. For more information, see the applicable+ -- data types:+ --+ -- - GeoMatchSetUpdate: Contains @Action@ and @GeoMatchConstraint@+ --+ -- - GeoMatchConstraint: Contains @Type@ and @Value@+ --+ -- You can have only one @Type@ and @Value@ per @GeoMatchConstraint@.+ -- To add multiple countries, include multiple @GeoMatchSetUpdate@+ -- objects in your request.+ updates :: Prelude.NonEmpty GeoMatchSetUpdate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGeoMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoMatchSetId', 'updateGeoMatchSet_geoMatchSetId' - The @GeoMatchSetId@ of the GeoMatchSet that you want to update.+-- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+-- ListGeoMatchSets.+--+-- 'changeToken', 'updateGeoMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+--+-- 'updates', 'updateGeoMatchSet_updates' - An array of @GeoMatchSetUpdate@ objects that you want to insert into or+-- delete from an GeoMatchSet. For more information, see the applicable+-- data types:+--+-- - GeoMatchSetUpdate: Contains @Action@ and @GeoMatchConstraint@+--+-- - GeoMatchConstraint: Contains @Type@ and @Value@+--+-- You can have only one @Type@ and @Value@ per @GeoMatchConstraint@.+-- To add multiple countries, include multiple @GeoMatchSetUpdate@+-- objects in your request.+newUpdateGeoMatchSet ::+ -- | 'geoMatchSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty GeoMatchSetUpdate ->+ UpdateGeoMatchSet+newUpdateGeoMatchSet+ pGeoMatchSetId_+ pChangeToken_+ pUpdates_ =+ UpdateGeoMatchSet'+ { geoMatchSetId = pGeoMatchSetId_,+ changeToken = pChangeToken_,+ updates = Lens.coerced Lens.# pUpdates_+ }++-- | The @GeoMatchSetId@ of the GeoMatchSet that you want to update.+-- @GeoMatchSetId@ is returned by CreateGeoMatchSet and by+-- ListGeoMatchSets.+updateGeoMatchSet_geoMatchSetId :: Lens.Lens' UpdateGeoMatchSet Prelude.Text+updateGeoMatchSet_geoMatchSetId = Lens.lens (\UpdateGeoMatchSet' {geoMatchSetId} -> geoMatchSetId) (\s@UpdateGeoMatchSet' {} a -> s {geoMatchSetId = a} :: UpdateGeoMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+updateGeoMatchSet_changeToken :: Lens.Lens' UpdateGeoMatchSet Prelude.Text+updateGeoMatchSet_changeToken = Lens.lens (\UpdateGeoMatchSet' {changeToken} -> changeToken) (\s@UpdateGeoMatchSet' {} a -> s {changeToken = a} :: UpdateGeoMatchSet)++-- | An array of @GeoMatchSetUpdate@ objects that you want to insert into or+-- delete from an GeoMatchSet. For more information, see the applicable+-- data types:+--+-- - GeoMatchSetUpdate: Contains @Action@ and @GeoMatchConstraint@+--+-- - GeoMatchConstraint: Contains @Type@ and @Value@+--+-- You can have only one @Type@ and @Value@ per @GeoMatchConstraint@.+-- To add multiple countries, include multiple @GeoMatchSetUpdate@+-- objects in your request.+updateGeoMatchSet_updates :: Lens.Lens' UpdateGeoMatchSet (Prelude.NonEmpty GeoMatchSetUpdate)+updateGeoMatchSet_updates = Lens.lens (\UpdateGeoMatchSet' {updates} -> updates) (\s@UpdateGeoMatchSet' {} a -> s {updates = a} :: UpdateGeoMatchSet) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateGeoMatchSet where+ type+ AWSResponse UpdateGeoMatchSet =+ UpdateGeoMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateGeoMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateGeoMatchSet where+ hashWithSalt _salt UpdateGeoMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` geoMatchSetId+ `Prelude.hashWithSalt` changeToken+ `Prelude.hashWithSalt` updates++instance Prelude.NFData UpdateGeoMatchSet where+ rnf UpdateGeoMatchSet' {..} =+ Prelude.rnf geoMatchSetId+ `Prelude.seq` Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf updates++instance Data.ToHeaders UpdateGeoMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateGeoMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateGeoMatchSet where+ toJSON UpdateGeoMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("GeoMatchSetId" Data..= geoMatchSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken),+ Prelude.Just ("Updates" Data..= updates)+ ]+ )++instance Data.ToPath UpdateGeoMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateGeoMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGeoMatchSetResponse' smart constructor.+data UpdateGeoMatchSetResponse = UpdateGeoMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateGeoMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGeoMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateGeoMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateGeoMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateGeoMatchSetResponse_httpStatus' - The response's http status code.+newUpdateGeoMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateGeoMatchSetResponse+newUpdateGeoMatchSetResponse pHttpStatus_ =+ UpdateGeoMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateGeoMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+updateGeoMatchSetResponse_changeToken :: Lens.Lens' UpdateGeoMatchSetResponse (Prelude.Maybe Prelude.Text)+updateGeoMatchSetResponse_changeToken = Lens.lens (\UpdateGeoMatchSetResponse' {changeToken} -> changeToken) (\s@UpdateGeoMatchSetResponse' {} a -> s {changeToken = a} :: UpdateGeoMatchSetResponse)++-- | The response's http status code.+updateGeoMatchSetResponse_httpStatus :: Lens.Lens' UpdateGeoMatchSetResponse Prelude.Int+updateGeoMatchSetResponse_httpStatus = Lens.lens (\UpdateGeoMatchSetResponse' {httpStatus} -> httpStatus) (\s@UpdateGeoMatchSetResponse' {} a -> s {httpStatus = a} :: UpdateGeoMatchSetResponse)++instance Prelude.NFData UpdateGeoMatchSetResponse where+ rnf UpdateGeoMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateIPSet.hs view
@@ -0,0 +1,294 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateIPSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes IPSetDescriptor objects in an @IPSet@. For each+-- @IPSetDescriptor@ object, you specify the following values:+--+-- - Whether to insert or delete the object from the array. If you want+-- to change an @IPSetDescriptor@ object, you delete the existing+-- object and add a new one.+--+-- - The IP address version, @IPv4@ or @IPv6@.+--+-- - The IP address in CIDR notation, for example, @192.0.2.0\/24@ (for+-- the range of IP addresses from @192.0.2.0@ to @192.0.2.255@) or+-- @192.0.2.44\/32@ (for the individual IP address @192.0.2.44@).+--+-- AWS WAF supports IPv4 address ranges: \/8 and any range between \/16+-- through \/32. AWS WAF supports IPv6 address ranges: \/24, \/32, \/48,+-- \/56, \/64, and \/128. For more information about CIDR notation, see the+-- Wikipedia entry+-- <https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing>.+--+-- IPv6 addresses can be represented using any of the following formats:+--+-- - 1111:0000:0000:0000:0000:0000:0000:0111\/128+--+-- - 1111:0:0:0:0:0:0:0111\/128+--+-- - 1111::0111\/128+--+-- - 1111::111\/128+--+-- You use an @IPSet@ to specify which web requests you want to allow or+-- block based on the IP addresses that the requests originated from. For+-- example, if you\'re receiving a lot of requests from one or a small+-- number of IP addresses and you want to block the requests, you can+-- create an @IPSet@ that specifies those IP addresses, and then configure+-- AWS WAF to block the requests.+--+-- To create and configure an @IPSet@, perform the following steps:+--+-- 1. Submit a CreateIPSet request.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateIPSet request.+--+-- 3. Submit an @UpdateIPSet@ request to specify the IP addresses that you+-- want AWS WAF to watch for.+--+-- When you update an @IPSet@, you specify the IP addresses that you want+-- to add and\/or the IP addresses that you want to delete. If you want to+-- change an IP address, you delete the existing IP address and add the new+-- one.+--+-- You can insert a maximum of 1000 addresses in a single request.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateIPSet+ ( -- * Creating a Request+ UpdateIPSet (..),+ newUpdateIPSet,++ -- * Request Lenses+ updateIPSet_iPSetId,+ updateIPSet_changeToken,+ updateIPSet_updates,++ -- * Destructuring the Response+ UpdateIPSetResponse (..),+ newUpdateIPSetResponse,++ -- * Response Lenses+ updateIPSetResponse_changeToken,+ updateIPSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateIPSet' smart constructor.+data UpdateIPSet = UpdateIPSet'+ { -- | The @IPSetId@ of the IPSet that you want to update. @IPSetId@ is+ -- returned by CreateIPSet and by ListIPSets.+ iPSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text,+ -- | An array of @IPSetUpdate@ objects that you want to insert into or delete+ -- from an IPSet. For more information, see the applicable data types:+ --+ -- - IPSetUpdate: Contains @Action@ and @IPSetDescriptor@+ --+ -- - IPSetDescriptor: Contains @Type@ and @Value@+ --+ -- You can insert a maximum of 1000 addresses in a single request.+ updates :: Prelude.NonEmpty IPSetUpdate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateIPSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iPSetId', 'updateIPSet_iPSetId' - The @IPSetId@ of the IPSet that you want to update. @IPSetId@ is+-- returned by CreateIPSet and by ListIPSets.+--+-- 'changeToken', 'updateIPSet_changeToken' - The value returned by the most recent call to GetChangeToken.+--+-- 'updates', 'updateIPSet_updates' - An array of @IPSetUpdate@ objects that you want to insert into or delete+-- from an IPSet. For more information, see the applicable data types:+--+-- - IPSetUpdate: Contains @Action@ and @IPSetDescriptor@+--+-- - IPSetDescriptor: Contains @Type@ and @Value@+--+-- You can insert a maximum of 1000 addresses in a single request.+newUpdateIPSet ::+ -- | 'iPSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty IPSetUpdate ->+ UpdateIPSet+newUpdateIPSet pIPSetId_ pChangeToken_ pUpdates_ =+ UpdateIPSet'+ { iPSetId = pIPSetId_,+ changeToken = pChangeToken_,+ updates = Lens.coerced Lens.# pUpdates_+ }++-- | The @IPSetId@ of the IPSet that you want to update. @IPSetId@ is+-- returned by CreateIPSet and by ListIPSets.+updateIPSet_iPSetId :: Lens.Lens' UpdateIPSet Prelude.Text+updateIPSet_iPSetId = Lens.lens (\UpdateIPSet' {iPSetId} -> iPSetId) (\s@UpdateIPSet' {} a -> s {iPSetId = a} :: UpdateIPSet)++-- | The value returned by the most recent call to GetChangeToken.+updateIPSet_changeToken :: Lens.Lens' UpdateIPSet Prelude.Text+updateIPSet_changeToken = Lens.lens (\UpdateIPSet' {changeToken} -> changeToken) (\s@UpdateIPSet' {} a -> s {changeToken = a} :: UpdateIPSet)++-- | An array of @IPSetUpdate@ objects that you want to insert into or delete+-- from an IPSet. For more information, see the applicable data types:+--+-- - IPSetUpdate: Contains @Action@ and @IPSetDescriptor@+--+-- - IPSetDescriptor: Contains @Type@ and @Value@+--+-- You can insert a maximum of 1000 addresses in a single request.+updateIPSet_updates :: Lens.Lens' UpdateIPSet (Prelude.NonEmpty IPSetUpdate)+updateIPSet_updates = Lens.lens (\UpdateIPSet' {updates} -> updates) (\s@UpdateIPSet' {} a -> s {updates = a} :: UpdateIPSet) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateIPSet where+ type AWSResponse UpdateIPSet = UpdateIPSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateIPSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateIPSet where+ hashWithSalt _salt UpdateIPSet' {..} =+ _salt+ `Prelude.hashWithSalt` iPSetId+ `Prelude.hashWithSalt` changeToken+ `Prelude.hashWithSalt` updates++instance Prelude.NFData UpdateIPSet where+ rnf UpdateIPSet' {..} =+ Prelude.rnf iPSetId+ `Prelude.seq` Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf updates++instance Data.ToHeaders UpdateIPSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateIPSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateIPSet where+ toJSON UpdateIPSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("IPSetId" Data..= iPSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken),+ Prelude.Just ("Updates" Data..= updates)+ ]+ )++instance Data.ToPath UpdateIPSet where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateIPSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateIPSetResponse' smart constructor.+data UpdateIPSetResponse = UpdateIPSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateIPSet@ request. You+ -- can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateIPSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateIPSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateIPSet@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateIPSetResponse_httpStatus' - The response's http status code.+newUpdateIPSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateIPSetResponse+newUpdateIPSetResponse pHttpStatus_ =+ UpdateIPSetResponse'+ { changeToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateIPSet@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+updateIPSetResponse_changeToken :: Lens.Lens' UpdateIPSetResponse (Prelude.Maybe Prelude.Text)+updateIPSetResponse_changeToken = Lens.lens (\UpdateIPSetResponse' {changeToken} -> changeToken) (\s@UpdateIPSetResponse' {} a -> s {changeToken = a} :: UpdateIPSetResponse)++-- | The response's http status code.+updateIPSetResponse_httpStatus :: Lens.Lens' UpdateIPSetResponse Prelude.Int+updateIPSetResponse_httpStatus = Lens.lens (\UpdateIPSetResponse' {httpStatus} -> httpStatus) (\s@UpdateIPSetResponse' {} a -> s {httpStatus = a} :: UpdateIPSetResponse)++instance Prelude.NFData UpdateIPSetResponse where+ rnf UpdateIPSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateRateBasedRule.hs view
@@ -0,0 +1,292 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateRateBasedRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes Predicate objects in a rule and updates the+-- @RateLimit@ in the rule.+--+-- Each @Predicate@ object identifies a predicate, such as a ByteMatchSet+-- or an IPSet, that specifies the web requests that you want to block or+-- count. The @RateLimit@ specifies the number of requests every five+-- minutes that triggers the rule.+--+-- If you add more than one predicate to a @RateBasedRule@, a request must+-- match all the predicates and exceed the @RateLimit@ to be counted or+-- blocked. For example, suppose you add the following to a+-- @RateBasedRule@:+--+-- - An @IPSet@ that matches the IP address @192.0.2.44\/32@+--+-- - A @ByteMatchSet@ that matches @BadBot@ in the @User-Agent@ header+--+-- Further, you specify a @RateLimit@ of 1,000.+--+-- You then add the @RateBasedRule@ to a @WebACL@ and specify that you want+-- to block requests that satisfy the rule. For a request to be blocked, it+-- must come from the IP address 192.0.2.44 /and/ the @User-Agent@ header+-- in the request must contain the value @BadBot@. Further, requests that+-- match these two conditions much be received at a rate of more than 1,000+-- every five minutes. If the rate drops below this limit, AWS WAF no+-- longer blocks the requests.+--+-- As a second example, suppose you want to limit requests to a particular+-- page on your site. To do this, you could add the following to a+-- @RateBasedRule@:+--+-- - A @ByteMatchSet@ with @FieldToMatch@ of @URI@+--+-- - A @PositionalConstraint@ of @STARTS_WITH@+--+-- - A @TargetString@ of @login@+--+-- Further, you specify a @RateLimit@ of 1,000.+--+-- By adding this @RateBasedRule@ to a @WebACL@, you could limit requests+-- to your login page without affecting the rest of your site.+module Amazonka.WAF.UpdateRateBasedRule+ ( -- * Creating a Request+ UpdateRateBasedRule (..),+ newUpdateRateBasedRule,++ -- * Request Lenses+ updateRateBasedRule_ruleId,+ updateRateBasedRule_changeToken,+ updateRateBasedRule_updates,+ updateRateBasedRule_rateLimit,++ -- * Destructuring the Response+ UpdateRateBasedRuleResponse (..),+ newUpdateRateBasedRuleResponse,++ -- * Response Lenses+ updateRateBasedRuleResponse_changeToken,+ updateRateBasedRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateRateBasedRule' smart constructor.+data UpdateRateBasedRule = UpdateRateBasedRule'+ { -- | The @RuleId@ of the @RateBasedRule@ that you want to update. @RuleId@ is+ -- returned by @CreateRateBasedRule@ and by ListRateBasedRules.+ ruleId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text,+ -- | An array of @RuleUpdate@ objects that you want to insert into or delete+ -- from a RateBasedRule.+ updates :: [RuleUpdate],+ -- | The maximum number of requests, which have an identical value in the+ -- field specified by the @RateKey@, allowed in a five-minute period. If+ -- the number of requests exceeds the @RateLimit@ and the other predicates+ -- specified in the rule are also met, AWS WAF triggers the action that is+ -- specified for this rule.+ rateLimit :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRateBasedRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleId', 'updateRateBasedRule_ruleId' - The @RuleId@ of the @RateBasedRule@ that you want to update. @RuleId@ is+-- returned by @CreateRateBasedRule@ and by ListRateBasedRules.+--+-- 'changeToken', 'updateRateBasedRule_changeToken' - The value returned by the most recent call to GetChangeToken.+--+-- 'updates', 'updateRateBasedRule_updates' - An array of @RuleUpdate@ objects that you want to insert into or delete+-- from a RateBasedRule.+--+-- 'rateLimit', 'updateRateBasedRule_rateLimit' - The maximum number of requests, which have an identical value in the+-- field specified by the @RateKey@, allowed in a five-minute period. If+-- the number of requests exceeds the @RateLimit@ and the other predicates+-- specified in the rule are also met, AWS WAF triggers the action that is+-- specified for this rule.+newUpdateRateBasedRule ::+ -- | 'ruleId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ -- | 'rateLimit'+ Prelude.Natural ->+ UpdateRateBasedRule+newUpdateRateBasedRule+ pRuleId_+ pChangeToken_+ pRateLimit_ =+ UpdateRateBasedRule'+ { ruleId = pRuleId_,+ changeToken = pChangeToken_,+ updates = Prelude.mempty,+ rateLimit = pRateLimit_+ }++-- | The @RuleId@ of the @RateBasedRule@ that you want to update. @RuleId@ is+-- returned by @CreateRateBasedRule@ and by ListRateBasedRules.+updateRateBasedRule_ruleId :: Lens.Lens' UpdateRateBasedRule Prelude.Text+updateRateBasedRule_ruleId = Lens.lens (\UpdateRateBasedRule' {ruleId} -> ruleId) (\s@UpdateRateBasedRule' {} a -> s {ruleId = a} :: UpdateRateBasedRule)++-- | The value returned by the most recent call to GetChangeToken.+updateRateBasedRule_changeToken :: Lens.Lens' UpdateRateBasedRule Prelude.Text+updateRateBasedRule_changeToken = Lens.lens (\UpdateRateBasedRule' {changeToken} -> changeToken) (\s@UpdateRateBasedRule' {} a -> s {changeToken = a} :: UpdateRateBasedRule)++-- | An array of @RuleUpdate@ objects that you want to insert into or delete+-- from a RateBasedRule.+updateRateBasedRule_updates :: Lens.Lens' UpdateRateBasedRule [RuleUpdate]+updateRateBasedRule_updates = Lens.lens (\UpdateRateBasedRule' {updates} -> updates) (\s@UpdateRateBasedRule' {} a -> s {updates = a} :: UpdateRateBasedRule) Prelude.. Lens.coerced++-- | The maximum number of requests, which have an identical value in the+-- field specified by the @RateKey@, allowed in a five-minute period. If+-- the number of requests exceeds the @RateLimit@ and the other predicates+-- specified in the rule are also met, AWS WAF triggers the action that is+-- specified for this rule.+updateRateBasedRule_rateLimit :: Lens.Lens' UpdateRateBasedRule Prelude.Natural+updateRateBasedRule_rateLimit = Lens.lens (\UpdateRateBasedRule' {rateLimit} -> rateLimit) (\s@UpdateRateBasedRule' {} a -> s {rateLimit = a} :: UpdateRateBasedRule)++instance Core.AWSRequest UpdateRateBasedRule where+ type+ AWSResponse UpdateRateBasedRule =+ UpdateRateBasedRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateRateBasedRuleResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateRateBasedRule where+ hashWithSalt _salt UpdateRateBasedRule' {..} =+ _salt+ `Prelude.hashWithSalt` ruleId+ `Prelude.hashWithSalt` changeToken+ `Prelude.hashWithSalt` updates+ `Prelude.hashWithSalt` rateLimit++instance Prelude.NFData UpdateRateBasedRule where+ rnf UpdateRateBasedRule' {..} =+ Prelude.rnf ruleId+ `Prelude.seq` Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf updates+ `Prelude.seq` Prelude.rnf rateLimit++instance Data.ToHeaders UpdateRateBasedRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateRateBasedRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateRateBasedRule where+ toJSON UpdateRateBasedRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("RuleId" Data..= ruleId),+ Prelude.Just ("ChangeToken" Data..= changeToken),+ Prelude.Just ("Updates" Data..= updates),+ Prelude.Just ("RateLimit" Data..= rateLimit)+ ]+ )++instance Data.ToPath UpdateRateBasedRule where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateRateBasedRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRateBasedRuleResponse' smart constructor.+data UpdateRateBasedRuleResponse = UpdateRateBasedRuleResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateRateBasedRule@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRateBasedRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateRateBasedRuleResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateRateBasedRule@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateRateBasedRuleResponse_httpStatus' - The response's http status code.+newUpdateRateBasedRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateRateBasedRuleResponse+newUpdateRateBasedRuleResponse pHttpStatus_ =+ UpdateRateBasedRuleResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateRateBasedRule@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+updateRateBasedRuleResponse_changeToken :: Lens.Lens' UpdateRateBasedRuleResponse (Prelude.Maybe Prelude.Text)+updateRateBasedRuleResponse_changeToken = Lens.lens (\UpdateRateBasedRuleResponse' {changeToken} -> changeToken) (\s@UpdateRateBasedRuleResponse' {} a -> s {changeToken = a} :: UpdateRateBasedRuleResponse)++-- | The response's http status code.+updateRateBasedRuleResponse_httpStatus :: Lens.Lens' UpdateRateBasedRuleResponse Prelude.Int+updateRateBasedRuleResponse_httpStatus = Lens.lens (\UpdateRateBasedRuleResponse' {httpStatus} -> httpStatus) (\s@UpdateRateBasedRuleResponse' {} a -> s {httpStatus = a} :: UpdateRateBasedRuleResponse)++instance Prelude.NFData UpdateRateBasedRuleResponse where+ rnf UpdateRateBasedRuleResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateRegexMatchSet.hs view
@@ -0,0 +1,272 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateRegexMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet.+-- For each @RegexMatchSetUpdate@ object, you specify the following values:+--+-- - Whether to insert or delete the object from the array. If you want+-- to change a @RegexMatchSetUpdate@ object, you delete the existing+-- object and add a new one.+--+-- - The part of a web request that you want AWS WAF to inspectupdate,+-- such as a query string or the value of the @User-Agent@ header.+--+-- - The identifier of the pattern (a regular expression) that you want+-- AWS WAF to look for. For more information, see RegexPatternSet.+--+-- - Whether to perform any conversions on the request, such as+-- converting it to lowercase, before inspecting it for the specified+-- string.+--+-- For example, you can create a @RegexPatternSet@ that matches any+-- requests with @User-Agent@ headers that contain the string+-- @B[a\@]dB[o0]t@. You can then configure AWS WAF to reject those+-- requests.+--+-- To create and configure a @RegexMatchSet@, perform the following steps:+--+-- 1. Create a @RegexMatchSet.@ For more information, see+-- CreateRegexMatchSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of an @UpdateRegexMatchSet@ request.+--+-- 3. Submit an @UpdateRegexMatchSet@ request to specify the part of the+-- request that you want AWS WAF to inspect (for example, the header or+-- the URI) and the identifier of the @RegexPatternSet@ that contain+-- the regular expression patters you want AWS WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateRegexMatchSet+ ( -- * Creating a Request+ UpdateRegexMatchSet (..),+ newUpdateRegexMatchSet,++ -- * Request Lenses+ updateRegexMatchSet_regexMatchSetId,+ updateRegexMatchSet_updates,+ updateRegexMatchSet_changeToken,++ -- * Destructuring the Response+ UpdateRegexMatchSetResponse (..),+ newUpdateRegexMatchSetResponse,++ -- * Response Lenses+ updateRegexMatchSetResponse_changeToken,+ updateRegexMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateRegexMatchSet' smart constructor.+data UpdateRegexMatchSet = UpdateRegexMatchSet'+ { -- | The @RegexMatchSetId@ of the RegexMatchSet that you want to update.+ -- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+ -- ListRegexMatchSets.+ regexMatchSetId :: Prelude.Text,+ -- | An array of @RegexMatchSetUpdate@ objects that you want to insert into+ -- or delete from a RegexMatchSet. For more information, see+ -- RegexMatchTuple.+ updates :: Prelude.NonEmpty RegexMatchSetUpdate,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRegexMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexMatchSetId', 'updateRegexMatchSet_regexMatchSetId' - The @RegexMatchSetId@ of the RegexMatchSet that you want to update.+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+--+-- 'updates', 'updateRegexMatchSet_updates' - An array of @RegexMatchSetUpdate@ objects that you want to insert into+-- or delete from a RegexMatchSet. For more information, see+-- RegexMatchTuple.+--+-- 'changeToken', 'updateRegexMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newUpdateRegexMatchSet ::+ -- | 'regexMatchSetId'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty RegexMatchSetUpdate ->+ -- | 'changeToken'+ Prelude.Text ->+ UpdateRegexMatchSet+newUpdateRegexMatchSet+ pRegexMatchSetId_+ pUpdates_+ pChangeToken_ =+ UpdateRegexMatchSet'+ { regexMatchSetId =+ pRegexMatchSetId_,+ updates = Lens.coerced Lens.# pUpdates_,+ changeToken = pChangeToken_+ }++-- | The @RegexMatchSetId@ of the RegexMatchSet that you want to update.+-- @RegexMatchSetId@ is returned by CreateRegexMatchSet and by+-- ListRegexMatchSets.+updateRegexMatchSet_regexMatchSetId :: Lens.Lens' UpdateRegexMatchSet Prelude.Text+updateRegexMatchSet_regexMatchSetId = Lens.lens (\UpdateRegexMatchSet' {regexMatchSetId} -> regexMatchSetId) (\s@UpdateRegexMatchSet' {} a -> s {regexMatchSetId = a} :: UpdateRegexMatchSet)++-- | An array of @RegexMatchSetUpdate@ objects that you want to insert into+-- or delete from a RegexMatchSet. For more information, see+-- RegexMatchTuple.+updateRegexMatchSet_updates :: Lens.Lens' UpdateRegexMatchSet (Prelude.NonEmpty RegexMatchSetUpdate)+updateRegexMatchSet_updates = Lens.lens (\UpdateRegexMatchSet' {updates} -> updates) (\s@UpdateRegexMatchSet' {} a -> s {updates = a} :: UpdateRegexMatchSet) Prelude.. Lens.coerced++-- | The value returned by the most recent call to GetChangeToken.+updateRegexMatchSet_changeToken :: Lens.Lens' UpdateRegexMatchSet Prelude.Text+updateRegexMatchSet_changeToken = Lens.lens (\UpdateRegexMatchSet' {changeToken} -> changeToken) (\s@UpdateRegexMatchSet' {} a -> s {changeToken = a} :: UpdateRegexMatchSet)++instance Core.AWSRequest UpdateRegexMatchSet where+ type+ AWSResponse UpdateRegexMatchSet =+ UpdateRegexMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateRegexMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateRegexMatchSet where+ hashWithSalt _salt UpdateRegexMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` regexMatchSetId+ `Prelude.hashWithSalt` updates+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData UpdateRegexMatchSet where+ rnf UpdateRegexMatchSet' {..} =+ Prelude.rnf regexMatchSetId+ `Prelude.seq` Prelude.rnf updates+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders UpdateRegexMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateRegexMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateRegexMatchSet where+ toJSON UpdateRegexMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("RegexMatchSetId" Data..= regexMatchSetId),+ Prelude.Just ("Updates" Data..= updates),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath UpdateRegexMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateRegexMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRegexMatchSetResponse' smart constructor.+data UpdateRegexMatchSetResponse = UpdateRegexMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateRegexMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRegexMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateRegexMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateRegexMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateRegexMatchSetResponse_httpStatus' - The response's http status code.+newUpdateRegexMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateRegexMatchSetResponse+newUpdateRegexMatchSetResponse pHttpStatus_ =+ UpdateRegexMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateRegexMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+updateRegexMatchSetResponse_changeToken :: Lens.Lens' UpdateRegexMatchSetResponse (Prelude.Maybe Prelude.Text)+updateRegexMatchSetResponse_changeToken = Lens.lens (\UpdateRegexMatchSetResponse' {changeToken} -> changeToken) (\s@UpdateRegexMatchSetResponse' {} a -> s {changeToken = a} :: UpdateRegexMatchSetResponse)++-- | The response's http status code.+updateRegexMatchSetResponse_httpStatus :: Lens.Lens' UpdateRegexMatchSetResponse Prelude.Int+updateRegexMatchSetResponse_httpStatus = Lens.lens (\UpdateRegexMatchSetResponse' {httpStatus} -> httpStatus) (\s@UpdateRegexMatchSetResponse' {} a -> s {httpStatus = a} :: UpdateRegexMatchSetResponse)++instance Prelude.NFData UpdateRegexMatchSetResponse where+ rnf UpdateRegexMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateRegexPatternSet.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateRegexPatternSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes @RegexPatternString@ objects in a RegexPatternSet.+-- For each @RegexPatternString@ object, you specify the following values:+--+-- - Whether to insert or delete the @RegexPatternString@.+--+-- - The regular expression pattern that you want to insert or delete.+-- For more information, see RegexPatternSet.+--+-- For example, you can create a @RegexPatternString@ such as+-- @B[a\@]dB[o0]t@. AWS WAF will match this @RegexPatternString@ to:+--+-- - BadBot+--+-- - BadB0t+--+-- - B\@dBot+--+-- - B\@dB0t+--+-- To create and configure a @RegexPatternSet@, perform the following+-- steps:+--+-- 1. Create a @RegexPatternSet.@ For more information, see+-- CreateRegexPatternSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of an @UpdateRegexPatternSet@ request.+--+-- 3. Submit an @UpdateRegexPatternSet@ request to specify the regular+-- expression pattern that you want AWS WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateRegexPatternSet+ ( -- * Creating a Request+ UpdateRegexPatternSet (..),+ newUpdateRegexPatternSet,++ -- * Request Lenses+ updateRegexPatternSet_regexPatternSetId,+ updateRegexPatternSet_updates,+ updateRegexPatternSet_changeToken,++ -- * Destructuring the Response+ UpdateRegexPatternSetResponse (..),+ newUpdateRegexPatternSetResponse,++ -- * Response Lenses+ updateRegexPatternSetResponse_changeToken,+ updateRegexPatternSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateRegexPatternSet' smart constructor.+data UpdateRegexPatternSet = UpdateRegexPatternSet'+ { -- | The @RegexPatternSetId@ of the RegexPatternSet that you want to update.+ -- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+ -- ListRegexPatternSets.+ regexPatternSetId :: Prelude.Text,+ -- | An array of @RegexPatternSetUpdate@ objects that you want to insert into+ -- or delete from a RegexPatternSet.+ updates :: Prelude.NonEmpty RegexPatternSetUpdate,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRegexPatternSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regexPatternSetId', 'updateRegexPatternSet_regexPatternSetId' - The @RegexPatternSetId@ of the RegexPatternSet that you want to update.+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+--+-- 'updates', 'updateRegexPatternSet_updates' - An array of @RegexPatternSetUpdate@ objects that you want to insert into+-- or delete from a RegexPatternSet.+--+-- 'changeToken', 'updateRegexPatternSet_changeToken' - The value returned by the most recent call to GetChangeToken.+newUpdateRegexPatternSet ::+ -- | 'regexPatternSetId'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty RegexPatternSetUpdate ->+ -- | 'changeToken'+ Prelude.Text ->+ UpdateRegexPatternSet+newUpdateRegexPatternSet+ pRegexPatternSetId_+ pUpdates_+ pChangeToken_ =+ UpdateRegexPatternSet'+ { regexPatternSetId =+ pRegexPatternSetId_,+ updates = Lens.coerced Lens.# pUpdates_,+ changeToken = pChangeToken_+ }++-- | The @RegexPatternSetId@ of the RegexPatternSet that you want to update.+-- @RegexPatternSetId@ is returned by CreateRegexPatternSet and by+-- ListRegexPatternSets.+updateRegexPatternSet_regexPatternSetId :: Lens.Lens' UpdateRegexPatternSet Prelude.Text+updateRegexPatternSet_regexPatternSetId = Lens.lens (\UpdateRegexPatternSet' {regexPatternSetId} -> regexPatternSetId) (\s@UpdateRegexPatternSet' {} a -> s {regexPatternSetId = a} :: UpdateRegexPatternSet)++-- | An array of @RegexPatternSetUpdate@ objects that you want to insert into+-- or delete from a RegexPatternSet.+updateRegexPatternSet_updates :: Lens.Lens' UpdateRegexPatternSet (Prelude.NonEmpty RegexPatternSetUpdate)+updateRegexPatternSet_updates = Lens.lens (\UpdateRegexPatternSet' {updates} -> updates) (\s@UpdateRegexPatternSet' {} a -> s {updates = a} :: UpdateRegexPatternSet) Prelude.. Lens.coerced++-- | The value returned by the most recent call to GetChangeToken.+updateRegexPatternSet_changeToken :: Lens.Lens' UpdateRegexPatternSet Prelude.Text+updateRegexPatternSet_changeToken = Lens.lens (\UpdateRegexPatternSet' {changeToken} -> changeToken) (\s@UpdateRegexPatternSet' {} a -> s {changeToken = a} :: UpdateRegexPatternSet)++instance Core.AWSRequest UpdateRegexPatternSet where+ type+ AWSResponse UpdateRegexPatternSet =+ UpdateRegexPatternSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateRegexPatternSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateRegexPatternSet where+ hashWithSalt _salt UpdateRegexPatternSet' {..} =+ _salt+ `Prelude.hashWithSalt` regexPatternSetId+ `Prelude.hashWithSalt` updates+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData UpdateRegexPatternSet where+ rnf UpdateRegexPatternSet' {..} =+ Prelude.rnf regexPatternSetId+ `Prelude.seq` Prelude.rnf updates+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders UpdateRegexPatternSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateRegexPatternSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateRegexPatternSet where+ toJSON UpdateRegexPatternSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("RegexPatternSetId" Data..= regexPatternSetId),+ Prelude.Just ("Updates" Data..= updates),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath UpdateRegexPatternSet where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateRegexPatternSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRegexPatternSetResponse' smart constructor.+data UpdateRegexPatternSetResponse = UpdateRegexPatternSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateRegexPatternSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRegexPatternSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateRegexPatternSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateRegexPatternSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateRegexPatternSetResponse_httpStatus' - The response's http status code.+newUpdateRegexPatternSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateRegexPatternSetResponse+newUpdateRegexPatternSetResponse pHttpStatus_ =+ UpdateRegexPatternSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateRegexPatternSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+updateRegexPatternSetResponse_changeToken :: Lens.Lens' UpdateRegexPatternSetResponse (Prelude.Maybe Prelude.Text)+updateRegexPatternSetResponse_changeToken = Lens.lens (\UpdateRegexPatternSetResponse' {changeToken} -> changeToken) (\s@UpdateRegexPatternSetResponse' {} a -> s {changeToken = a} :: UpdateRegexPatternSetResponse)++-- | The response's http status code.+updateRegexPatternSetResponse_httpStatus :: Lens.Lens' UpdateRegexPatternSetResponse Prelude.Int+updateRegexPatternSetResponse_httpStatus = Lens.lens (\UpdateRegexPatternSetResponse' {httpStatus} -> httpStatus) (\s@UpdateRegexPatternSetResponse' {} a -> s {httpStatus = a} :: UpdateRegexPatternSetResponse)++instance Prelude.NFData UpdateRegexPatternSetResponse where+ rnf UpdateRegexPatternSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateRule.hs view
@@ -0,0 +1,272 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes Predicate objects in a @Rule@. Each @Predicate@+-- object identifies a predicate, such as a ByteMatchSet or an IPSet, that+-- specifies the web requests that you want to allow, block, or count. If+-- you add more than one predicate to a @Rule@, a request must match all of+-- the specifications to be allowed, blocked, or counted. For example,+-- suppose that you add the following to a @Rule@:+--+-- - A @ByteMatchSet@ that matches the value @BadBot@ in the @User-Agent@+-- header+--+-- - An @IPSet@ that matches the IP address @192.0.2.44@+--+-- You then add the @Rule@ to a @WebACL@ and specify that you want to block+-- requests that satisfy the @Rule@. For a request to be blocked, the+-- @User-Agent@ header in the request must contain the value @BadBot@ /and/+-- the request must originate from the IP address 192.0.2.44.+--+-- To create and configure a @Rule@, perform the following steps:+--+-- 1. Create and update the predicates that you want to include in the+-- @Rule@.+--+-- 2. Create the @Rule@. See CreateRule.+--+-- 3. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateRule request.+--+-- 4. Submit an @UpdateRule@ request to add predicates to the @Rule@.+--+-- 5. Create and update a @WebACL@ that contains the @Rule@. See+-- CreateWebACL.+--+-- If you want to replace one @ByteMatchSet@ or @IPSet@ with another, you+-- delete the existing one and add the new one.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateRule+ ( -- * Creating a Request+ UpdateRule (..),+ newUpdateRule,++ -- * Request Lenses+ updateRule_ruleId,+ updateRule_changeToken,+ updateRule_updates,++ -- * Destructuring the Response+ UpdateRuleResponse (..),+ newUpdateRuleResponse,++ -- * Response Lenses+ updateRuleResponse_changeToken,+ updateRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateRule' smart constructor.+data UpdateRule = UpdateRule'+ { -- | The @RuleId@ of the @Rule@ that you want to update. @RuleId@ is returned+ -- by @CreateRule@ and by ListRules.+ ruleId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text,+ -- | An array of @RuleUpdate@ objects that you want to insert into or delete+ -- from a Rule. For more information, see the applicable data types:+ --+ -- - RuleUpdate: Contains @Action@ and @Predicate@+ --+ -- - Predicate: Contains @DataId@, @Negated@, and @Type@+ --+ -- - FieldToMatch: Contains @Data@ and @Type@+ updates :: [RuleUpdate]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleId', 'updateRule_ruleId' - The @RuleId@ of the @Rule@ that you want to update. @RuleId@ is returned+-- by @CreateRule@ and by ListRules.+--+-- 'changeToken', 'updateRule_changeToken' - The value returned by the most recent call to GetChangeToken.+--+-- 'updates', 'updateRule_updates' - An array of @RuleUpdate@ objects that you want to insert into or delete+-- from a Rule. For more information, see the applicable data types:+--+-- - RuleUpdate: Contains @Action@ and @Predicate@+--+-- - Predicate: Contains @DataId@, @Negated@, and @Type@+--+-- - FieldToMatch: Contains @Data@ and @Type@+newUpdateRule ::+ -- | 'ruleId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ UpdateRule+newUpdateRule pRuleId_ pChangeToken_ =+ UpdateRule'+ { ruleId = pRuleId_,+ changeToken = pChangeToken_,+ updates = Prelude.mempty+ }++-- | The @RuleId@ of the @Rule@ that you want to update. @RuleId@ is returned+-- by @CreateRule@ and by ListRules.+updateRule_ruleId :: Lens.Lens' UpdateRule Prelude.Text+updateRule_ruleId = Lens.lens (\UpdateRule' {ruleId} -> ruleId) (\s@UpdateRule' {} a -> s {ruleId = a} :: UpdateRule)++-- | The value returned by the most recent call to GetChangeToken.+updateRule_changeToken :: Lens.Lens' UpdateRule Prelude.Text+updateRule_changeToken = Lens.lens (\UpdateRule' {changeToken} -> changeToken) (\s@UpdateRule' {} a -> s {changeToken = a} :: UpdateRule)++-- | An array of @RuleUpdate@ objects that you want to insert into or delete+-- from a Rule. For more information, see the applicable data types:+--+-- - RuleUpdate: Contains @Action@ and @Predicate@+--+-- - Predicate: Contains @DataId@, @Negated@, and @Type@+--+-- - FieldToMatch: Contains @Data@ and @Type@+updateRule_updates :: Lens.Lens' UpdateRule [RuleUpdate]+updateRule_updates = Lens.lens (\UpdateRule' {updates} -> updates) (\s@UpdateRule' {} a -> s {updates = a} :: UpdateRule) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateRule where+ type AWSResponse UpdateRule = UpdateRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateRuleResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateRule where+ hashWithSalt _salt UpdateRule' {..} =+ _salt+ `Prelude.hashWithSalt` ruleId+ `Prelude.hashWithSalt` changeToken+ `Prelude.hashWithSalt` updates++instance Prelude.NFData UpdateRule where+ rnf UpdateRule' {..} =+ Prelude.rnf ruleId+ `Prelude.seq` Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf updates++instance Data.ToHeaders UpdateRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSWAF_20150824.UpdateRule" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateRule where+ toJSON UpdateRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("RuleId" Data..= ruleId),+ Prelude.Just ("ChangeToken" Data..= changeToken),+ Prelude.Just ("Updates" Data..= updates)+ ]+ )++instance Data.ToPath UpdateRule where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRuleResponse' smart constructor.+data UpdateRuleResponse = UpdateRuleResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateRule@ request. You+ -- can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateRuleResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateRule@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateRuleResponse_httpStatus' - The response's http status code.+newUpdateRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateRuleResponse+newUpdateRuleResponse pHttpStatus_ =+ UpdateRuleResponse'+ { changeToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateRule@ request. You+-- can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+updateRuleResponse_changeToken :: Lens.Lens' UpdateRuleResponse (Prelude.Maybe Prelude.Text)+updateRuleResponse_changeToken = Lens.lens (\UpdateRuleResponse' {changeToken} -> changeToken) (\s@UpdateRuleResponse' {} a -> s {changeToken = a} :: UpdateRuleResponse)++-- | The response's http status code.+updateRuleResponse_httpStatus :: Lens.Lens' UpdateRuleResponse Prelude.Int+updateRuleResponse_httpStatus = Lens.lens (\UpdateRuleResponse' {httpStatus} -> httpStatus) (\s@UpdateRuleResponse' {} a -> s {httpStatus = a} :: UpdateRuleResponse)++instance Prelude.NFData UpdateRuleResponse where+ rnf UpdateRuleResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateRuleGroup.hs view
@@ -0,0 +1,276 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes ActivatedRule objects in a @RuleGroup@.+--+-- You can only insert @REGULAR@ rules into a rule group.+--+-- You can have a maximum of ten rules per rule group.+--+-- To create and configure a @RuleGroup@, perform the following steps:+--+-- 1. Create and update the @Rules@ that you want to include in the+-- @RuleGroup@. See CreateRule.+--+-- 2. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateRuleGroup request.+--+-- 3. Submit an @UpdateRuleGroup@ request to add @Rules@ to the+-- @RuleGroup@.+--+-- 4. Create and update a @WebACL@ that contains the @RuleGroup@. See+-- CreateWebACL.+--+-- If you want to replace one @Rule@ with another, you delete the existing+-- one and add the new one.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateRuleGroup+ ( -- * Creating a Request+ UpdateRuleGroup (..),+ newUpdateRuleGroup,++ -- * Request Lenses+ updateRuleGroup_ruleGroupId,+ updateRuleGroup_updates,+ updateRuleGroup_changeToken,++ -- * Destructuring the Response+ UpdateRuleGroupResponse (..),+ newUpdateRuleGroupResponse,++ -- * Response Lenses+ updateRuleGroupResponse_changeToken,+ updateRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateRuleGroup' smart constructor.+data UpdateRuleGroup = UpdateRuleGroup'+ { -- | The @RuleGroupId@ of the RuleGroup that you want to update.+ -- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+ ruleGroupId :: Prelude.Text,+ -- | An array of @RuleGroupUpdate@ objects that you want to insert into or+ -- delete from a RuleGroup.+ --+ -- You can only insert @REGULAR@ rules into a rule group.+ --+ -- @ActivatedRule|OverrideAction@ applies only when updating or adding a+ -- @RuleGroup@ to a @WebACL@. In this case you do not use+ -- @ActivatedRule|Action@. For all other update requests,+ -- @ActivatedRule|Action@ is used instead of+ -- @ActivatedRule|OverrideAction@.+ updates :: Prelude.NonEmpty RuleGroupUpdate,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ruleGroupId', 'updateRuleGroup_ruleGroupId' - The @RuleGroupId@ of the RuleGroup that you want to update.+-- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+--+-- 'updates', 'updateRuleGroup_updates' - An array of @RuleGroupUpdate@ objects that you want to insert into or+-- delete from a RuleGroup.+--+-- You can only insert @REGULAR@ rules into a rule group.+--+-- @ActivatedRule|OverrideAction@ applies only when updating or adding a+-- @RuleGroup@ to a @WebACL@. In this case you do not use+-- @ActivatedRule|Action@. For all other update requests,+-- @ActivatedRule|Action@ is used instead of+-- @ActivatedRule|OverrideAction@.+--+-- 'changeToken', 'updateRuleGroup_changeToken' - The value returned by the most recent call to GetChangeToken.+newUpdateRuleGroup ::+ -- | 'ruleGroupId'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty RuleGroupUpdate ->+ -- | 'changeToken'+ Prelude.Text ->+ UpdateRuleGroup+newUpdateRuleGroup+ pRuleGroupId_+ pUpdates_+ pChangeToken_ =+ UpdateRuleGroup'+ { ruleGroupId = pRuleGroupId_,+ updates = Lens.coerced Lens.# pUpdates_,+ changeToken = pChangeToken_+ }++-- | The @RuleGroupId@ of the RuleGroup that you want to update.+-- @RuleGroupId@ is returned by CreateRuleGroup and by ListRuleGroups.+updateRuleGroup_ruleGroupId :: Lens.Lens' UpdateRuleGroup Prelude.Text+updateRuleGroup_ruleGroupId = Lens.lens (\UpdateRuleGroup' {ruleGroupId} -> ruleGroupId) (\s@UpdateRuleGroup' {} a -> s {ruleGroupId = a} :: UpdateRuleGroup)++-- | An array of @RuleGroupUpdate@ objects that you want to insert into or+-- delete from a RuleGroup.+--+-- You can only insert @REGULAR@ rules into a rule group.+--+-- @ActivatedRule|OverrideAction@ applies only when updating or adding a+-- @RuleGroup@ to a @WebACL@. In this case you do not use+-- @ActivatedRule|Action@. For all other update requests,+-- @ActivatedRule|Action@ is used instead of+-- @ActivatedRule|OverrideAction@.+updateRuleGroup_updates :: Lens.Lens' UpdateRuleGroup (Prelude.NonEmpty RuleGroupUpdate)+updateRuleGroup_updates = Lens.lens (\UpdateRuleGroup' {updates} -> updates) (\s@UpdateRuleGroup' {} a -> s {updates = a} :: UpdateRuleGroup) Prelude.. Lens.coerced++-- | The value returned by the most recent call to GetChangeToken.+updateRuleGroup_changeToken :: Lens.Lens' UpdateRuleGroup Prelude.Text+updateRuleGroup_changeToken = Lens.lens (\UpdateRuleGroup' {changeToken} -> changeToken) (\s@UpdateRuleGroup' {} a -> s {changeToken = a} :: UpdateRuleGroup)++instance Core.AWSRequest UpdateRuleGroup where+ type+ AWSResponse UpdateRuleGroup =+ UpdateRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateRuleGroupResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateRuleGroup where+ hashWithSalt _salt UpdateRuleGroup' {..} =+ _salt+ `Prelude.hashWithSalt` ruleGroupId+ `Prelude.hashWithSalt` updates+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData UpdateRuleGroup where+ rnf UpdateRuleGroup' {..} =+ Prelude.rnf ruleGroupId+ `Prelude.seq` Prelude.rnf updates+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders UpdateRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateRuleGroup where+ toJSON UpdateRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("RuleGroupId" Data..= ruleGroupId),+ Prelude.Just ("Updates" Data..= updates),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath UpdateRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRuleGroupResponse' smart constructor.+data UpdateRuleGroupResponse = UpdateRuleGroupResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateRuleGroup@ request.+ -- You can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateRuleGroupResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateRuleGroup@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateRuleGroupResponse_httpStatus' - The response's http status code.+newUpdateRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateRuleGroupResponse+newUpdateRuleGroupResponse pHttpStatus_ =+ UpdateRuleGroupResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateRuleGroup@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+updateRuleGroupResponse_changeToken :: Lens.Lens' UpdateRuleGroupResponse (Prelude.Maybe Prelude.Text)+updateRuleGroupResponse_changeToken = Lens.lens (\UpdateRuleGroupResponse' {changeToken} -> changeToken) (\s@UpdateRuleGroupResponse' {} a -> s {changeToken = a} :: UpdateRuleGroupResponse)++-- | The response's http status code.+updateRuleGroupResponse_httpStatus :: Lens.Lens' UpdateRuleGroupResponse Prelude.Int+updateRuleGroupResponse_httpStatus = Lens.lens (\UpdateRuleGroupResponse' {httpStatus} -> httpStatus) (\s@UpdateRuleGroupResponse' {} a -> s {httpStatus = a} :: UpdateRuleGroupResponse)++instance Prelude.NFData UpdateRuleGroupResponse where+ rnf UpdateRuleGroupResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateSizeConstraintSet.hs view
@@ -0,0 +1,306 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateSizeConstraintSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes SizeConstraint objects (filters) in a+-- SizeConstraintSet. For each @SizeConstraint@ object, you specify the+-- following values:+--+-- - Whether to insert or delete the object from the array. If you want+-- to change a @SizeConstraintSetUpdate@ object, you delete the+-- existing object and add a new one.+--+-- - The part of a web request that you want AWS WAF to evaluate, such as+-- the length of a query string or the length of the @User-Agent@+-- header.+--+-- - Whether to perform any transformations on the request, such as+-- converting it to lowercase, before checking its length. Note that+-- transformations of the request body are not supported because the+-- AWS resource forwards only the first @8192@ bytes of your request to+-- AWS WAF.+--+-- You can only specify a single type of TextTransformation.+--+-- - A @ComparisonOperator@ used for evaluating the selected part of the+-- request against the specified @Size@, such as equals, greater than,+-- less than, and so on.+--+-- - The length, in bytes, that you want AWS WAF to watch for in selected+-- part of the request. The length is computed after applying the+-- transformation.+--+-- For example, you can add a @SizeConstraintSetUpdate@ object that matches+-- web requests in which the length of the @User-Agent@ header is greater+-- than 100 bytes. You can then configure AWS WAF to block those requests.+--+-- To create and configure a @SizeConstraintSet@, perform the following+-- steps:+--+-- 1. Create a @SizeConstraintSet.@ For more information, see+-- CreateSizeConstraintSet.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of an @UpdateSizeConstraintSet@ request.+--+-- 3. Submit an @UpdateSizeConstraintSet@ request to specify the part of+-- the request that you want AWS WAF to inspect (for example, the+-- header or the URI) and the value that you want AWS WAF to watch for.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateSizeConstraintSet+ ( -- * Creating a Request+ UpdateSizeConstraintSet (..),+ newUpdateSizeConstraintSet,++ -- * Request Lenses+ updateSizeConstraintSet_sizeConstraintSetId,+ updateSizeConstraintSet_changeToken,+ updateSizeConstraintSet_updates,++ -- * Destructuring the Response+ UpdateSizeConstraintSetResponse (..),+ newUpdateSizeConstraintSetResponse,++ -- * Response Lenses+ updateSizeConstraintSetResponse_changeToken,+ updateSizeConstraintSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateSizeConstraintSet' smart constructor.+data UpdateSizeConstraintSet = UpdateSizeConstraintSet'+ { -- | The @SizeConstraintSetId@ of the SizeConstraintSet that you want to+ -- update. @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and+ -- by ListSizeConstraintSets.+ sizeConstraintSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text,+ -- | An array of @SizeConstraintSetUpdate@ objects that you want to insert+ -- into or delete from a SizeConstraintSet. For more information, see the+ -- applicable data types:+ --+ -- - SizeConstraintSetUpdate: Contains @Action@ and @SizeConstraint@+ --+ -- - SizeConstraint: Contains @FieldToMatch@, @TextTransformation@,+ -- @ComparisonOperator@, and @Size@+ --+ -- - FieldToMatch: Contains @Data@ and @Type@+ updates :: Prelude.NonEmpty SizeConstraintSetUpdate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSizeConstraintSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sizeConstraintSetId', 'updateSizeConstraintSet_sizeConstraintSetId' - The @SizeConstraintSetId@ of the SizeConstraintSet that you want to+-- update. @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and+-- by ListSizeConstraintSets.+--+-- 'changeToken', 'updateSizeConstraintSet_changeToken' - The value returned by the most recent call to GetChangeToken.+--+-- 'updates', 'updateSizeConstraintSet_updates' - An array of @SizeConstraintSetUpdate@ objects that you want to insert+-- into or delete from a SizeConstraintSet. For more information, see the+-- applicable data types:+--+-- - SizeConstraintSetUpdate: Contains @Action@ and @SizeConstraint@+--+-- - SizeConstraint: Contains @FieldToMatch@, @TextTransformation@,+-- @ComparisonOperator@, and @Size@+--+-- - FieldToMatch: Contains @Data@ and @Type@+newUpdateSizeConstraintSet ::+ -- | 'sizeConstraintSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty SizeConstraintSetUpdate ->+ UpdateSizeConstraintSet+newUpdateSizeConstraintSet+ pSizeConstraintSetId_+ pChangeToken_+ pUpdates_ =+ UpdateSizeConstraintSet'+ { sizeConstraintSetId =+ pSizeConstraintSetId_,+ changeToken = pChangeToken_,+ updates = Lens.coerced Lens.# pUpdates_+ }++-- | The @SizeConstraintSetId@ of the SizeConstraintSet that you want to+-- update. @SizeConstraintSetId@ is returned by CreateSizeConstraintSet and+-- by ListSizeConstraintSets.+updateSizeConstraintSet_sizeConstraintSetId :: Lens.Lens' UpdateSizeConstraintSet Prelude.Text+updateSizeConstraintSet_sizeConstraintSetId = Lens.lens (\UpdateSizeConstraintSet' {sizeConstraintSetId} -> sizeConstraintSetId) (\s@UpdateSizeConstraintSet' {} a -> s {sizeConstraintSetId = a} :: UpdateSizeConstraintSet)++-- | The value returned by the most recent call to GetChangeToken.+updateSizeConstraintSet_changeToken :: Lens.Lens' UpdateSizeConstraintSet Prelude.Text+updateSizeConstraintSet_changeToken = Lens.lens (\UpdateSizeConstraintSet' {changeToken} -> changeToken) (\s@UpdateSizeConstraintSet' {} a -> s {changeToken = a} :: UpdateSizeConstraintSet)++-- | An array of @SizeConstraintSetUpdate@ objects that you want to insert+-- into or delete from a SizeConstraintSet. For more information, see the+-- applicable data types:+--+-- - SizeConstraintSetUpdate: Contains @Action@ and @SizeConstraint@+--+-- - SizeConstraint: Contains @FieldToMatch@, @TextTransformation@,+-- @ComparisonOperator@, and @Size@+--+-- - FieldToMatch: Contains @Data@ and @Type@+updateSizeConstraintSet_updates :: Lens.Lens' UpdateSizeConstraintSet (Prelude.NonEmpty SizeConstraintSetUpdate)+updateSizeConstraintSet_updates = Lens.lens (\UpdateSizeConstraintSet' {updates} -> updates) (\s@UpdateSizeConstraintSet' {} a -> s {updates = a} :: UpdateSizeConstraintSet) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateSizeConstraintSet where+ type+ AWSResponse UpdateSizeConstraintSet =+ UpdateSizeConstraintSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSizeConstraintSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateSizeConstraintSet where+ hashWithSalt _salt UpdateSizeConstraintSet' {..} =+ _salt+ `Prelude.hashWithSalt` sizeConstraintSetId+ `Prelude.hashWithSalt` changeToken+ `Prelude.hashWithSalt` updates++instance Prelude.NFData UpdateSizeConstraintSet where+ rnf UpdateSizeConstraintSet' {..} =+ Prelude.rnf sizeConstraintSetId+ `Prelude.seq` Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf updates++instance Data.ToHeaders UpdateSizeConstraintSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateSizeConstraintSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSizeConstraintSet where+ toJSON UpdateSizeConstraintSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("SizeConstraintSetId" Data..= sizeConstraintSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken),+ Prelude.Just ("Updates" Data..= updates)+ ]+ )++instance Data.ToPath UpdateSizeConstraintSet where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateSizeConstraintSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSizeConstraintSetResponse' smart constructor.+data UpdateSizeConstraintSetResponse = UpdateSizeConstraintSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateSizeConstraintSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSizeConstraintSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateSizeConstraintSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateSizeConstraintSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateSizeConstraintSetResponse_httpStatus' - The response's http status code.+newUpdateSizeConstraintSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSizeConstraintSetResponse+newUpdateSizeConstraintSetResponse pHttpStatus_ =+ UpdateSizeConstraintSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateSizeConstraintSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+updateSizeConstraintSetResponse_changeToken :: Lens.Lens' UpdateSizeConstraintSetResponse (Prelude.Maybe Prelude.Text)+updateSizeConstraintSetResponse_changeToken = Lens.lens (\UpdateSizeConstraintSetResponse' {changeToken} -> changeToken) (\s@UpdateSizeConstraintSetResponse' {} a -> s {changeToken = a} :: UpdateSizeConstraintSetResponse)++-- | The response's http status code.+updateSizeConstraintSetResponse_httpStatus :: Lens.Lens' UpdateSizeConstraintSetResponse Prelude.Int+updateSizeConstraintSetResponse_httpStatus = Lens.lens (\UpdateSizeConstraintSetResponse' {httpStatus} -> httpStatus) (\s@UpdateSizeConstraintSetResponse' {} a -> s {httpStatus = a} :: UpdateSizeConstraintSetResponse)++instance+ Prelude.NFData+ UpdateSizeConstraintSetResponse+ where+ rnf UpdateSizeConstraintSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateSqlInjectionMatchSet.hs view
@@ -0,0 +1,310 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateSqlInjectionMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes SqlInjectionMatchTuple objects (filters) in a+-- SqlInjectionMatchSet. For each @SqlInjectionMatchTuple@ object, you+-- specify the following values:+--+-- - @Action@: Whether to insert the object into or delete the object+-- from the array. To change a @SqlInjectionMatchTuple@, you delete the+-- existing object and add a new one.+--+-- - @FieldToMatch@: The part of web requests that you want AWS WAF to+-- inspect and, if you want AWS WAF to inspect a header or custom query+-- parameter, the name of the header or parameter.+--+-- - @TextTransformation@: Which text transformation, if any, to perform+-- on the web request before inspecting the request for snippets of+-- malicious SQL code.+--+-- You can only specify a single type of TextTransformation.+--+-- You use @SqlInjectionMatchSet@ objects to specify which CloudFront+-- requests that you want to allow, block, or count. For example, if+-- you\'re receiving requests that contain snippets of SQL code in the+-- query string and you want to block the requests, you can create a+-- @SqlInjectionMatchSet@ with the applicable settings, and then configure+-- AWS WAF to block the requests.+--+-- To create and configure a @SqlInjectionMatchSet@, perform the following+-- steps:+--+-- 1. Submit a CreateSqlInjectionMatchSet request.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateIPSet request.+--+-- 3. Submit an @UpdateSqlInjectionMatchSet@ request to specify the parts+-- of web requests that you want AWS WAF to inspect for snippets of SQL+-- code.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateSqlInjectionMatchSet+ ( -- * Creating a Request+ UpdateSqlInjectionMatchSet (..),+ newUpdateSqlInjectionMatchSet,++ -- * Request Lenses+ updateSqlInjectionMatchSet_sqlInjectionMatchSetId,+ updateSqlInjectionMatchSet_changeToken,+ updateSqlInjectionMatchSet_updates,++ -- * Destructuring the Response+ UpdateSqlInjectionMatchSetResponse (..),+ newUpdateSqlInjectionMatchSetResponse,++ -- * Response Lenses+ updateSqlInjectionMatchSetResponse_changeToken,+ updateSqlInjectionMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to update a SqlInjectionMatchSet.+--+-- /See:/ 'newUpdateSqlInjectionMatchSet' smart constructor.+data UpdateSqlInjectionMatchSet = UpdateSqlInjectionMatchSet'+ { -- | The @SqlInjectionMatchSetId@ of the @SqlInjectionMatchSet@ that you want+ -- to update. @SqlInjectionMatchSetId@ is returned by+ -- CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.+ sqlInjectionMatchSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text,+ -- | An array of @SqlInjectionMatchSetUpdate@ objects that you want to insert+ -- into or delete from a SqlInjectionMatchSet. For more information, see+ -- the applicable data types:+ --+ -- - SqlInjectionMatchSetUpdate: Contains @Action@ and+ -- @SqlInjectionMatchTuple@+ --+ -- - SqlInjectionMatchTuple: Contains @FieldToMatch@ and+ -- @TextTransformation@+ --+ -- - FieldToMatch: Contains @Data@ and @Type@+ updates :: Prelude.NonEmpty SqlInjectionMatchSetUpdate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSqlInjectionMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sqlInjectionMatchSetId', 'updateSqlInjectionMatchSet_sqlInjectionMatchSetId' - The @SqlInjectionMatchSetId@ of the @SqlInjectionMatchSet@ that you want+-- to update. @SqlInjectionMatchSetId@ is returned by+-- CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.+--+-- 'changeToken', 'updateSqlInjectionMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+--+-- 'updates', 'updateSqlInjectionMatchSet_updates' - An array of @SqlInjectionMatchSetUpdate@ objects that you want to insert+-- into or delete from a SqlInjectionMatchSet. For more information, see+-- the applicable data types:+--+-- - SqlInjectionMatchSetUpdate: Contains @Action@ and+-- @SqlInjectionMatchTuple@+--+-- - SqlInjectionMatchTuple: Contains @FieldToMatch@ and+-- @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+newUpdateSqlInjectionMatchSet ::+ -- | 'sqlInjectionMatchSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty SqlInjectionMatchSetUpdate ->+ UpdateSqlInjectionMatchSet+newUpdateSqlInjectionMatchSet+ pSqlInjectionMatchSetId_+ pChangeToken_+ pUpdates_ =+ UpdateSqlInjectionMatchSet'+ { sqlInjectionMatchSetId =+ pSqlInjectionMatchSetId_,+ changeToken = pChangeToken_,+ updates = Lens.coerced Lens.# pUpdates_+ }++-- | The @SqlInjectionMatchSetId@ of the @SqlInjectionMatchSet@ that you want+-- to update. @SqlInjectionMatchSetId@ is returned by+-- CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.+updateSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens.Lens' UpdateSqlInjectionMatchSet Prelude.Text+updateSqlInjectionMatchSet_sqlInjectionMatchSetId = Lens.lens (\UpdateSqlInjectionMatchSet' {sqlInjectionMatchSetId} -> sqlInjectionMatchSetId) (\s@UpdateSqlInjectionMatchSet' {} a -> s {sqlInjectionMatchSetId = a} :: UpdateSqlInjectionMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+updateSqlInjectionMatchSet_changeToken :: Lens.Lens' UpdateSqlInjectionMatchSet Prelude.Text+updateSqlInjectionMatchSet_changeToken = Lens.lens (\UpdateSqlInjectionMatchSet' {changeToken} -> changeToken) (\s@UpdateSqlInjectionMatchSet' {} a -> s {changeToken = a} :: UpdateSqlInjectionMatchSet)++-- | An array of @SqlInjectionMatchSetUpdate@ objects that you want to insert+-- into or delete from a SqlInjectionMatchSet. For more information, see+-- the applicable data types:+--+-- - SqlInjectionMatchSetUpdate: Contains @Action@ and+-- @SqlInjectionMatchTuple@+--+-- - SqlInjectionMatchTuple: Contains @FieldToMatch@ and+-- @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+updateSqlInjectionMatchSet_updates :: Lens.Lens' UpdateSqlInjectionMatchSet (Prelude.NonEmpty SqlInjectionMatchSetUpdate)+updateSqlInjectionMatchSet_updates = Lens.lens (\UpdateSqlInjectionMatchSet' {updates} -> updates) (\s@UpdateSqlInjectionMatchSet' {} a -> s {updates = a} :: UpdateSqlInjectionMatchSet) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateSqlInjectionMatchSet where+ type+ AWSResponse UpdateSqlInjectionMatchSet =+ UpdateSqlInjectionMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSqlInjectionMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateSqlInjectionMatchSet where+ hashWithSalt _salt UpdateSqlInjectionMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` sqlInjectionMatchSetId+ `Prelude.hashWithSalt` changeToken+ `Prelude.hashWithSalt` updates++instance Prelude.NFData UpdateSqlInjectionMatchSet where+ rnf UpdateSqlInjectionMatchSet' {..} =+ Prelude.rnf sqlInjectionMatchSetId+ `Prelude.seq` Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf updates++instance Data.ToHeaders UpdateSqlInjectionMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateSqlInjectionMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSqlInjectionMatchSet where+ toJSON UpdateSqlInjectionMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "SqlInjectionMatchSetId"+ Data..= sqlInjectionMatchSetId+ ),+ Prelude.Just ("ChangeToken" Data..= changeToken),+ Prelude.Just ("Updates" Data..= updates)+ ]+ )++instance Data.ToPath UpdateSqlInjectionMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateSqlInjectionMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | The response to an UpdateSqlInjectionMatchSets request.+--+-- /See:/ 'newUpdateSqlInjectionMatchSetResponse' smart constructor.+data UpdateSqlInjectionMatchSetResponse = UpdateSqlInjectionMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the+ -- @UpdateSqlInjectionMatchSet@ request. You can also use this value to+ -- query the status of the request. For more information, see+ -- GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSqlInjectionMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateSqlInjectionMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the+-- @UpdateSqlInjectionMatchSet@ request. You can also use this value to+-- query the status of the request. For more information, see+-- GetChangeTokenStatus.+--+-- 'httpStatus', 'updateSqlInjectionMatchSetResponse_httpStatus' - The response's http status code.+newUpdateSqlInjectionMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSqlInjectionMatchSetResponse+newUpdateSqlInjectionMatchSetResponse pHttpStatus_ =+ UpdateSqlInjectionMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the+-- @UpdateSqlInjectionMatchSet@ request. You can also use this value to+-- query the status of the request. For more information, see+-- GetChangeTokenStatus.+updateSqlInjectionMatchSetResponse_changeToken :: Lens.Lens' UpdateSqlInjectionMatchSetResponse (Prelude.Maybe Prelude.Text)+updateSqlInjectionMatchSetResponse_changeToken = Lens.lens (\UpdateSqlInjectionMatchSetResponse' {changeToken} -> changeToken) (\s@UpdateSqlInjectionMatchSetResponse' {} a -> s {changeToken = a} :: UpdateSqlInjectionMatchSetResponse)++-- | The response's http status code.+updateSqlInjectionMatchSetResponse_httpStatus :: Lens.Lens' UpdateSqlInjectionMatchSetResponse Prelude.Int+updateSqlInjectionMatchSetResponse_httpStatus = Lens.lens (\UpdateSqlInjectionMatchSetResponse' {httpStatus} -> httpStatus) (\s@UpdateSqlInjectionMatchSetResponse' {} a -> s {httpStatus = a} :: UpdateSqlInjectionMatchSetResponse)++instance+ Prelude.NFData+ UpdateSqlInjectionMatchSetResponse+ where+ rnf UpdateSqlInjectionMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateWebACL.hs view
@@ -0,0 +1,342 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateWebACL+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes ActivatedRule objects in a @WebACL@. Each @Rule@+-- identifies web requests that you want to allow, block, or count. When+-- you update a @WebACL@, you specify the following values:+--+-- - A default action for the @WebACL@, either @ALLOW@ or @BLOCK@. AWS+-- WAF performs the default action if a request doesn\'t match the+-- criteria in any of the @Rules@ in a @WebACL@.+--+-- - The @Rules@ that you want to add or delete. If you want to replace+-- one @Rule@ with another, you delete the existing @Rule@ and add the+-- new one.+--+-- - For each @Rule@, whether you want AWS WAF to allow requests, block+-- requests, or count requests that match the conditions in the @Rule@.+--+-- - The order in which you want AWS WAF to evaluate the @Rules@ in a+-- @WebACL@. If you add more than one @Rule@ to a @WebACL@, AWS WAF+-- evaluates each request against the @Rules@ in order based on the+-- value of @Priority@. (The @Rule@ that has the lowest value for+-- @Priority@ is evaluated first.) When a web request matches all the+-- predicates (such as @ByteMatchSets@ and @IPSets@) in a @Rule@, AWS+-- WAF immediately takes the corresponding action, allow or block, and+-- doesn\'t evaluate the request against the remaining @Rules@ in the+-- @WebACL@, if any.+--+-- To create and configure a @WebACL@, perform the following steps:+--+-- 1. Create and update the predicates that you want to include in+-- @Rules@. For more information, see CreateByteMatchSet,+-- UpdateByteMatchSet, CreateIPSet, UpdateIPSet,+-- CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.+--+-- 2. Create and update the @Rules@ that you want to include in the+-- @WebACL@. For more information, see CreateRule and UpdateRule.+--+-- 3. Create a @WebACL@. See CreateWebACL.+--+-- 4. Use @GetChangeToken@ to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateWebACL request.+--+-- 5. Submit an @UpdateWebACL@ request to specify the @Rules@ that you+-- want to include in the @WebACL@, to specify the default action, and+-- to associate the @WebACL@ with a CloudFront distribution.+--+-- The @ActivatedRule@ can be a rule group. If you specify a rule group+-- as your @ActivatedRule@ , you can exclude specific rules from that+-- rule group.+--+-- If you already have a rule group associated with a web ACL and want+-- to submit an @UpdateWebACL@ request to exclude certain rules from+-- that rule group, you must first remove the rule group from the web+-- ACL, the re-insert it again, specifying the excluded rules. For+-- details, see ActivatedRule$ExcludedRules .+--+-- Be aware that if you try to add a RATE_BASED rule to a web ACL without+-- setting the rule type when first creating the rule, the UpdateWebACL+-- request will fail because the request tries to add a REGULAR rule (the+-- default rule type) with the specified ID, which does not exist.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateWebACL+ ( -- * Creating a Request+ UpdateWebACL (..),+ newUpdateWebACL,++ -- * Request Lenses+ updateWebACL_defaultAction,+ updateWebACL_updates,+ updateWebACL_webACLId,+ updateWebACL_changeToken,++ -- * Destructuring the Response+ UpdateWebACLResponse (..),+ newUpdateWebACLResponse,++ -- * Response Lenses+ updateWebACLResponse_changeToken,+ updateWebACLResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | /See:/ 'newUpdateWebACL' smart constructor.+data UpdateWebACL = UpdateWebACL'+ { -- | A default action for the web ACL, either ALLOW or BLOCK. AWS WAF+ -- performs the default action if a request doesn\'t match the criteria in+ -- any of the rules in a web ACL.+ defaultAction :: Prelude.Maybe WafAction,+ -- | An array of updates to make to the WebACL.+ --+ -- An array of @WebACLUpdate@ objects that you want to insert into or+ -- delete from a WebACL. For more information, see the applicable data+ -- types:+ --+ -- - WebACLUpdate: Contains @Action@ and @ActivatedRule@+ --+ -- - ActivatedRule: Contains @Action@, @OverrideAction@, @Priority@,+ -- @RuleId@, and @Type@. @ActivatedRule|OverrideAction@ applies only+ -- when updating or adding a @RuleGroup@ to a @WebACL@. In this case,+ -- you do not use @ActivatedRule|Action@. For all other update+ -- requests, @ActivatedRule|Action@ is used instead of+ -- @ActivatedRule|OverrideAction@.+ --+ -- - WafAction: Contains @Type@+ updates :: Prelude.Maybe [WebACLUpdate],+ -- | The @WebACLId@ of the WebACL that you want to update. @WebACLId@ is+ -- returned by CreateWebACL and by ListWebACLs.+ webACLId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWebACL' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultAction', 'updateWebACL_defaultAction' - A default action for the web ACL, either ALLOW or BLOCK. AWS WAF+-- performs the default action if a request doesn\'t match the criteria in+-- any of the rules in a web ACL.+--+-- 'updates', 'updateWebACL_updates' - An array of updates to make to the WebACL.+--+-- An array of @WebACLUpdate@ objects that you want to insert into or+-- delete from a WebACL. For more information, see the applicable data+-- types:+--+-- - WebACLUpdate: Contains @Action@ and @ActivatedRule@+--+-- - ActivatedRule: Contains @Action@, @OverrideAction@, @Priority@,+-- @RuleId@, and @Type@. @ActivatedRule|OverrideAction@ applies only+-- when updating or adding a @RuleGroup@ to a @WebACL@. In this case,+-- you do not use @ActivatedRule|Action@. For all other update+-- requests, @ActivatedRule|Action@ is used instead of+-- @ActivatedRule|OverrideAction@.+--+-- - WafAction: Contains @Type@+--+-- 'webACLId', 'updateWebACL_webACLId' - The @WebACLId@ of the WebACL that you want to update. @WebACLId@ is+-- returned by CreateWebACL and by ListWebACLs.+--+-- 'changeToken', 'updateWebACL_changeToken' - The value returned by the most recent call to GetChangeToken.+newUpdateWebACL ::+ -- | 'webACLId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ UpdateWebACL+newUpdateWebACL pWebACLId_ pChangeToken_ =+ UpdateWebACL'+ { defaultAction = Prelude.Nothing,+ updates = Prelude.Nothing,+ webACLId = pWebACLId_,+ changeToken = pChangeToken_+ }++-- | A default action for the web ACL, either ALLOW or BLOCK. AWS WAF+-- performs the default action if a request doesn\'t match the criteria in+-- any of the rules in a web ACL.+updateWebACL_defaultAction :: Lens.Lens' UpdateWebACL (Prelude.Maybe WafAction)+updateWebACL_defaultAction = Lens.lens (\UpdateWebACL' {defaultAction} -> defaultAction) (\s@UpdateWebACL' {} a -> s {defaultAction = a} :: UpdateWebACL)++-- | An array of updates to make to the WebACL.+--+-- An array of @WebACLUpdate@ objects that you want to insert into or+-- delete from a WebACL. For more information, see the applicable data+-- types:+--+-- - WebACLUpdate: Contains @Action@ and @ActivatedRule@+--+-- - ActivatedRule: Contains @Action@, @OverrideAction@, @Priority@,+-- @RuleId@, and @Type@. @ActivatedRule|OverrideAction@ applies only+-- when updating or adding a @RuleGroup@ to a @WebACL@. In this case,+-- you do not use @ActivatedRule|Action@. For all other update+-- requests, @ActivatedRule|Action@ is used instead of+-- @ActivatedRule|OverrideAction@.+--+-- - WafAction: Contains @Type@+updateWebACL_updates :: Lens.Lens' UpdateWebACL (Prelude.Maybe [WebACLUpdate])+updateWebACL_updates = Lens.lens (\UpdateWebACL' {updates} -> updates) (\s@UpdateWebACL' {} a -> s {updates = a} :: UpdateWebACL) Prelude.. Lens.mapping Lens.coerced++-- | The @WebACLId@ of the WebACL that you want to update. @WebACLId@ is+-- returned by CreateWebACL and by ListWebACLs.+updateWebACL_webACLId :: Lens.Lens' UpdateWebACL Prelude.Text+updateWebACL_webACLId = Lens.lens (\UpdateWebACL' {webACLId} -> webACLId) (\s@UpdateWebACL' {} a -> s {webACLId = a} :: UpdateWebACL)++-- | The value returned by the most recent call to GetChangeToken.+updateWebACL_changeToken :: Lens.Lens' UpdateWebACL Prelude.Text+updateWebACL_changeToken = Lens.lens (\UpdateWebACL' {changeToken} -> changeToken) (\s@UpdateWebACL' {} a -> s {changeToken = a} :: UpdateWebACL)++instance Core.AWSRequest UpdateWebACL where+ type AWSResponse UpdateWebACL = UpdateWebACLResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateWebACLResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateWebACL where+ hashWithSalt _salt UpdateWebACL' {..} =+ _salt+ `Prelude.hashWithSalt` defaultAction+ `Prelude.hashWithSalt` updates+ `Prelude.hashWithSalt` webACLId+ `Prelude.hashWithSalt` changeToken++instance Prelude.NFData UpdateWebACL where+ rnf UpdateWebACL' {..} =+ Prelude.rnf defaultAction+ `Prelude.seq` Prelude.rnf updates+ `Prelude.seq` Prelude.rnf webACLId+ `Prelude.seq` Prelude.rnf changeToken++instance Data.ToHeaders UpdateWebACL where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateWebACL" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateWebACL where+ toJSON UpdateWebACL' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DefaultAction" Data..=) Prelude.<$> defaultAction,+ ("Updates" Data..=) Prelude.<$> updates,+ Prelude.Just ("WebACLId" Data..= webACLId),+ Prelude.Just ("ChangeToken" Data..= changeToken)+ ]+ )++instance Data.ToPath UpdateWebACL where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateWebACL where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateWebACLResponse' smart constructor.+data UpdateWebACLResponse = UpdateWebACLResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateWebACL@ request.+ -- You can also use this value to query the status of the request. For more+ -- information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWebACLResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateWebACLResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateWebACL@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateWebACLResponse_httpStatus' - The response's http status code.+newUpdateWebACLResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateWebACLResponse+newUpdateWebACLResponse pHttpStatus_ =+ UpdateWebACLResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateWebACL@ request.+-- You can also use this value to query the status of the request. For more+-- information, see GetChangeTokenStatus.+updateWebACLResponse_changeToken :: Lens.Lens' UpdateWebACLResponse (Prelude.Maybe Prelude.Text)+updateWebACLResponse_changeToken = Lens.lens (\UpdateWebACLResponse' {changeToken} -> changeToken) (\s@UpdateWebACLResponse' {} a -> s {changeToken = a} :: UpdateWebACLResponse)++-- | The response's http status code.+updateWebACLResponse_httpStatus :: Lens.Lens' UpdateWebACLResponse Prelude.Int+updateWebACLResponse_httpStatus = Lens.lens (\UpdateWebACLResponse' {httpStatus} -> httpStatus) (\s@UpdateWebACLResponse' {} a -> s {httpStatus = a} :: UpdateWebACLResponse)++instance Prelude.NFData UpdateWebACLResponse where+ rnf UpdateWebACLResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/UpdateXssMatchSet.hs view
@@ -0,0 +1,293 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.UpdateXssMatchSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is __AWS WAF Classic__ documentation. For more information, see+-- <https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html AWS WAF Classic>+-- in the developer guide.+--+-- __For the latest version of AWS WAF__, use the AWS WAFV2 API and see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html AWS WAF Developer Guide>.+-- With the latest version, AWS WAF has a single set of endpoints for+-- regional and global use.+--+-- Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet.+-- For each @XssMatchTuple@ object, you specify the following values:+--+-- - @Action@: Whether to insert the object into or delete the object+-- from the array. To change an @XssMatchTuple@, you delete the+-- existing object and add a new one.+--+-- - @FieldToMatch@: The part of web requests that you want AWS WAF to+-- inspect and, if you want AWS WAF to inspect a header or custom query+-- parameter, the name of the header or parameter.+--+-- - @TextTransformation@: Which text transformation, if any, to perform+-- on the web request before inspecting the request for cross-site+-- scripting attacks.+--+-- You can only specify a single type of TextTransformation.+--+-- You use @XssMatchSet@ objects to specify which CloudFront requests that+-- you want to allow, block, or count. For example, if you\'re receiving+-- requests that contain cross-site scripting attacks in the request body+-- and you want to block the requests, you can create an @XssMatchSet@ with+-- the applicable settings, and then configure AWS WAF to block the+-- requests.+--+-- To create and configure an @XssMatchSet@, perform the following steps:+--+-- 1. Submit a CreateXssMatchSet request.+--+-- 2. Use GetChangeToken to get the change token that you provide in the+-- @ChangeToken@ parameter of an UpdateIPSet request.+--+-- 3. Submit an @UpdateXssMatchSet@ request to specify the parts of web+-- requests that you want AWS WAF to inspect for cross-site scripting+-- attacks.+--+-- For more information about how to use the AWS WAF API to allow or block+-- HTTP requests, see the+-- <https://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide>.+module Amazonka.WAF.UpdateXssMatchSet+ ( -- * Creating a Request+ UpdateXssMatchSet (..),+ newUpdateXssMatchSet,++ -- * Request Lenses+ updateXssMatchSet_xssMatchSetId,+ updateXssMatchSet_changeToken,+ updateXssMatchSet_updates,++ -- * Destructuring the Response+ UpdateXssMatchSetResponse (..),+ newUpdateXssMatchSetResponse,++ -- * Response Lenses+ updateXssMatchSetResponse_changeToken,+ updateXssMatchSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WAF.Types++-- | A request to update an XssMatchSet.+--+-- /See:/ 'newUpdateXssMatchSet' smart constructor.+data UpdateXssMatchSet = UpdateXssMatchSet'+ { -- | The @XssMatchSetId@ of the @XssMatchSet@ that you want to update.+ -- @XssMatchSetId@ is returned by CreateXssMatchSet and by+ -- ListXssMatchSets.+ xssMatchSetId :: Prelude.Text,+ -- | The value returned by the most recent call to GetChangeToken.+ changeToken :: Prelude.Text,+ -- | An array of @XssMatchSetUpdate@ objects that you want to insert into or+ -- delete from an XssMatchSet. For more information, see the applicable+ -- data types:+ --+ -- - XssMatchSetUpdate: Contains @Action@ and @XssMatchTuple@+ --+ -- - XssMatchTuple: Contains @FieldToMatch@ and @TextTransformation@+ --+ -- - FieldToMatch: Contains @Data@ and @Type@+ updates :: Prelude.NonEmpty XssMatchSetUpdate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateXssMatchSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'xssMatchSetId', 'updateXssMatchSet_xssMatchSetId' - The @XssMatchSetId@ of the @XssMatchSet@ that you want to update.+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+--+-- 'changeToken', 'updateXssMatchSet_changeToken' - The value returned by the most recent call to GetChangeToken.+--+-- 'updates', 'updateXssMatchSet_updates' - An array of @XssMatchSetUpdate@ objects that you want to insert into or+-- delete from an XssMatchSet. For more information, see the applicable+-- data types:+--+-- - XssMatchSetUpdate: Contains @Action@ and @XssMatchTuple@+--+-- - XssMatchTuple: Contains @FieldToMatch@ and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+newUpdateXssMatchSet ::+ -- | 'xssMatchSetId'+ Prelude.Text ->+ -- | 'changeToken'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty XssMatchSetUpdate ->+ UpdateXssMatchSet+newUpdateXssMatchSet+ pXssMatchSetId_+ pChangeToken_+ pUpdates_ =+ UpdateXssMatchSet'+ { xssMatchSetId = pXssMatchSetId_,+ changeToken = pChangeToken_,+ updates = Lens.coerced Lens.# pUpdates_+ }++-- | The @XssMatchSetId@ of the @XssMatchSet@ that you want to update.+-- @XssMatchSetId@ is returned by CreateXssMatchSet and by+-- ListXssMatchSets.+updateXssMatchSet_xssMatchSetId :: Lens.Lens' UpdateXssMatchSet Prelude.Text+updateXssMatchSet_xssMatchSetId = Lens.lens (\UpdateXssMatchSet' {xssMatchSetId} -> xssMatchSetId) (\s@UpdateXssMatchSet' {} a -> s {xssMatchSetId = a} :: UpdateXssMatchSet)++-- | The value returned by the most recent call to GetChangeToken.+updateXssMatchSet_changeToken :: Lens.Lens' UpdateXssMatchSet Prelude.Text+updateXssMatchSet_changeToken = Lens.lens (\UpdateXssMatchSet' {changeToken} -> changeToken) (\s@UpdateXssMatchSet' {} a -> s {changeToken = a} :: UpdateXssMatchSet)++-- | An array of @XssMatchSetUpdate@ objects that you want to insert into or+-- delete from an XssMatchSet. For more information, see the applicable+-- data types:+--+-- - XssMatchSetUpdate: Contains @Action@ and @XssMatchTuple@+--+-- - XssMatchTuple: Contains @FieldToMatch@ and @TextTransformation@+--+-- - FieldToMatch: Contains @Data@ and @Type@+updateXssMatchSet_updates :: Lens.Lens' UpdateXssMatchSet (Prelude.NonEmpty XssMatchSetUpdate)+updateXssMatchSet_updates = Lens.lens (\UpdateXssMatchSet' {updates} -> updates) (\s@UpdateXssMatchSet' {} a -> s {updates = a} :: UpdateXssMatchSet) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateXssMatchSet where+ type+ AWSResponse UpdateXssMatchSet =+ UpdateXssMatchSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateXssMatchSetResponse'+ Prelude.<$> (x Data..?> "ChangeToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateXssMatchSet where+ hashWithSalt _salt UpdateXssMatchSet' {..} =+ _salt+ `Prelude.hashWithSalt` xssMatchSetId+ `Prelude.hashWithSalt` changeToken+ `Prelude.hashWithSalt` updates++instance Prelude.NFData UpdateXssMatchSet where+ rnf UpdateXssMatchSet' {..} =+ Prelude.rnf xssMatchSetId+ `Prelude.seq` Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf updates++instance Data.ToHeaders UpdateXssMatchSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSWAF_20150824.UpdateXssMatchSet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateXssMatchSet where+ toJSON UpdateXssMatchSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("XssMatchSetId" Data..= xssMatchSetId),+ Prelude.Just ("ChangeToken" Data..= changeToken),+ Prelude.Just ("Updates" Data..= updates)+ ]+ )++instance Data.ToPath UpdateXssMatchSet where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateXssMatchSet where+ toQuery = Prelude.const Prelude.mempty++-- | The response to an UpdateXssMatchSets request.+--+-- /See:/ 'newUpdateXssMatchSetResponse' smart constructor.+data UpdateXssMatchSetResponse = UpdateXssMatchSetResponse'+ { -- | The @ChangeToken@ that you used to submit the @UpdateXssMatchSet@+ -- request. You can also use this value to query the status of the request.+ -- For more information, see GetChangeTokenStatus.+ changeToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateXssMatchSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'changeToken', 'updateXssMatchSetResponse_changeToken' - The @ChangeToken@ that you used to submit the @UpdateXssMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+--+-- 'httpStatus', 'updateXssMatchSetResponse_httpStatus' - The response's http status code.+newUpdateXssMatchSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateXssMatchSetResponse+newUpdateXssMatchSetResponse pHttpStatus_ =+ UpdateXssMatchSetResponse'+ { changeToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @ChangeToken@ that you used to submit the @UpdateXssMatchSet@+-- request. You can also use this value to query the status of the request.+-- For more information, see GetChangeTokenStatus.+updateXssMatchSetResponse_changeToken :: Lens.Lens' UpdateXssMatchSetResponse (Prelude.Maybe Prelude.Text)+updateXssMatchSetResponse_changeToken = Lens.lens (\UpdateXssMatchSetResponse' {changeToken} -> changeToken) (\s@UpdateXssMatchSetResponse' {} a -> s {changeToken = a} :: UpdateXssMatchSetResponse)++-- | The response's http status code.+updateXssMatchSetResponse_httpStatus :: Lens.Lens' UpdateXssMatchSetResponse Prelude.Int+updateXssMatchSetResponse_httpStatus = Lens.lens (\UpdateXssMatchSetResponse' {httpStatus} -> httpStatus) (\s@UpdateXssMatchSetResponse' {} a -> s {httpStatus = a} :: UpdateXssMatchSetResponse)++instance Prelude.NFData UpdateXssMatchSetResponse where+ rnf UpdateXssMatchSetResponse' {..} =+ Prelude.rnf changeToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WAF/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.WAF.Waiters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.WAF.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.WAF.Lens+import Amazonka.WAF.Types
− gen/Network/AWS/WAF.hs
@@ -1,764 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ This is the /AWS WAF API Reference/ for using AWS WAF with Amazon CloudFront. The AWS WAF actions and data types listed in the reference are available for protecting Amazon CloudFront distributions. You can use these actions and data types via the endpoint /waf.amazonaws.com/ . This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .-------module Network.AWS.WAF- (- -- * Service Configuration- waf-- -- * Errors- -- $errors-- -- ** WAFInvalidAccountException- , _WAFInvalidAccountException-- -- ** WAFSubscriptionNotFoundException- , _WAFSubscriptionNotFoundException-- -- ** WAFReferencedItemException- , _WAFReferencedItemException-- -- ** WAFInvalidRegexPatternException- , _WAFInvalidRegexPatternException-- -- ** WAFInvalidOperationException- , _WAFInvalidOperationException-- -- ** WAFNonexistentItemException- , _WAFNonexistentItemException-- -- ** WAFInvalidParameterException- , _WAFInvalidParameterException-- -- ** WAFLimitsExceededException- , _WAFLimitsExceededException-- -- ** WAFInvalidPermissionPolicyException- , _WAFInvalidPermissionPolicyException-- -- ** WAFStaleDataException- , _WAFStaleDataException-- -- ** WAFInternalErrorException- , _WAFInternalErrorException-- -- ** WAFNonexistentContainerException- , _WAFNonexistentContainerException-- -- ** WAFDisallowedNameException- , _WAFDisallowedNameException-- -- ** WAFNonEmptyEntityException- , _WAFNonEmptyEntityException-- -- * Waiters- -- $waiters-- -- * Operations- -- $operations-- -- ** ListActivatedRulesInRuleGroup- , module Network.AWS.WAF.ListActivatedRulesInRuleGroup-- -- ** ListRateBasedRules- , module Network.AWS.WAF.ListRateBasedRules-- -- ** GetSizeConstraintSet- , module Network.AWS.WAF.GetSizeConstraintSet-- -- ** DeleteRateBasedRule- , module Network.AWS.WAF.DeleteRateBasedRule-- -- ** UpdateRateBasedRule- , module Network.AWS.WAF.UpdateRateBasedRule-- -- ** UpdateRule- , module Network.AWS.WAF.UpdateRule-- -- ** DeleteRule- , module Network.AWS.WAF.DeleteRule-- -- ** CreateIPSet- , module Network.AWS.WAF.CreateIPSet-- -- ** GetRuleGroup- , module Network.AWS.WAF.GetRuleGroup-- -- ** GetChangeTokenStatus- , module Network.AWS.WAF.GetChangeTokenStatus-- -- ** DeleteWebACL- , module Network.AWS.WAF.DeleteWebACL-- -- ** UpdateWebACL- , module Network.AWS.WAF.UpdateWebACL-- -- ** ListWebACLs (Paginated)- , module Network.AWS.WAF.ListWebACLs-- -- ** ListRules (Paginated)- , module Network.AWS.WAF.ListRules-- -- ** CreateRule- , module Network.AWS.WAF.CreateRule-- -- ** CreateWebACL- , module Network.AWS.WAF.CreateWebACL-- -- ** GetGeoMatchSet- , module Network.AWS.WAF.GetGeoMatchSet-- -- ** ListByteMatchSets (Paginated)- , module Network.AWS.WAF.ListByteMatchSets-- -- ** ListGeoMatchSets- , module Network.AWS.WAF.ListGeoMatchSets-- -- ** CreateRuleGroup- , module Network.AWS.WAF.CreateRuleGroup-- -- ** DeleteRegexMatchSet- , module Network.AWS.WAF.DeleteRegexMatchSet-- -- ** UpdateRegexMatchSet- , module Network.AWS.WAF.UpdateRegexMatchSet-- -- ** GetIPSet- , module Network.AWS.WAF.GetIPSet-- -- ** GetWebACL- , module Network.AWS.WAF.GetWebACL-- -- ** GetRule- , module Network.AWS.WAF.GetRule-- -- ** DeleteXSSMatchSet- , module Network.AWS.WAF.DeleteXSSMatchSet-- -- ** UpdateXSSMatchSet- , module Network.AWS.WAF.UpdateXSSMatchSet-- -- ** ListXSSMatchSets (Paginated)- , module Network.AWS.WAF.ListXSSMatchSets-- -- ** CreateGeoMatchSet- , module Network.AWS.WAF.CreateGeoMatchSet-- -- ** GetChangeToken- , module Network.AWS.WAF.GetChangeToken-- -- ** ListSizeConstraintSets (Paginated)- , module Network.AWS.WAF.ListSizeConstraintSets-- -- ** GetSampledRequests- , module Network.AWS.WAF.GetSampledRequests-- -- ** GetSqlInjectionMatchSet- , module Network.AWS.WAF.GetSqlInjectionMatchSet-- -- ** ListSubscribedRuleGroups- , module Network.AWS.WAF.ListSubscribedRuleGroups-- -- ** CreateSqlInjectionMatchSet- , module Network.AWS.WAF.CreateSqlInjectionMatchSet-- -- ** GetXSSMatchSet- , module Network.AWS.WAF.GetXSSMatchSet-- -- ** CreateByteMatchSet- , module Network.AWS.WAF.CreateByteMatchSet-- -- ** UpdateByteMatchSet- , module Network.AWS.WAF.UpdateByteMatchSet-- -- ** DeleteByteMatchSet- , module Network.AWS.WAF.DeleteByteMatchSet-- -- ** PutPermissionPolicy- , module Network.AWS.WAF.PutPermissionPolicy-- -- ** GetRateBasedRuleManagedKeys- , module Network.AWS.WAF.GetRateBasedRuleManagedKeys-- -- ** DeletePermissionPolicy- , module Network.AWS.WAF.DeletePermissionPolicy-- -- ** GetRegexMatchSet- , module Network.AWS.WAF.GetRegexMatchSet-- -- ** DeleteIPSet- , module Network.AWS.WAF.DeleteIPSet-- -- ** UpdateIPSet- , module Network.AWS.WAF.UpdateIPSet-- -- ** ListIPSets (Paginated)- , module Network.AWS.WAF.ListIPSets-- -- ** ListRegexMatchSets- , module Network.AWS.WAF.ListRegexMatchSets-- -- ** CreateXSSMatchSet- , module Network.AWS.WAF.CreateXSSMatchSet-- -- ** DeleteGeoMatchSet- , module Network.AWS.WAF.DeleteGeoMatchSet-- -- ** UpdateGeoMatchSet- , module Network.AWS.WAF.UpdateGeoMatchSet-- -- ** GetByteMatchSet- , module Network.AWS.WAF.GetByteMatchSet-- -- ** GetPermissionPolicy- , module Network.AWS.WAF.GetPermissionPolicy-- -- ** ListRuleGroups- , module Network.AWS.WAF.ListRuleGroups-- -- ** DeleteRuleGroup- , module Network.AWS.WAF.DeleteRuleGroup-- -- ** UpdateRuleGroup- , module Network.AWS.WAF.UpdateRuleGroup-- -- ** CreateRegexMatchSet- , module Network.AWS.WAF.CreateRegexMatchSet-- -- ** GetRateBasedRule- , module Network.AWS.WAF.GetRateBasedRule-- -- ** CreateRegexPatternSet- , module Network.AWS.WAF.CreateRegexPatternSet-- -- ** DeleteSizeConstraintSet- , module Network.AWS.WAF.DeleteSizeConstraintSet-- -- ** UpdateSizeConstraintSet- , module Network.AWS.WAF.UpdateSizeConstraintSet-- -- ** DeleteRegexPatternSet- , module Network.AWS.WAF.DeleteRegexPatternSet-- -- ** UpdateRegexPatternSet- , module Network.AWS.WAF.UpdateRegexPatternSet-- -- ** CreateSizeConstraintSet- , module Network.AWS.WAF.CreateSizeConstraintSet-- -- ** ListRegexPatternSets- , module Network.AWS.WAF.ListRegexPatternSets-- -- ** ListSqlInjectionMatchSets (Paginated)- , module Network.AWS.WAF.ListSqlInjectionMatchSets-- -- ** GetRegexPatternSet- , module Network.AWS.WAF.GetRegexPatternSet-- -- ** CreateRateBasedRule- , module Network.AWS.WAF.CreateRateBasedRule-- -- ** DeleteSqlInjectionMatchSet- , module Network.AWS.WAF.DeleteSqlInjectionMatchSet-- -- ** UpdateSqlInjectionMatchSet- , module Network.AWS.WAF.UpdateSqlInjectionMatchSet-- -- * Types-- -- ** ChangeAction- , ChangeAction (..)-- -- ** ChangeTokenStatus- , ChangeTokenStatus (..)-- -- ** ComparisonOperator- , ComparisonOperator (..)-- -- ** GeoMatchConstraintType- , GeoMatchConstraintType (..)-- -- ** GeoMatchConstraintValue- , GeoMatchConstraintValue (..)-- -- ** IPSetDescriptorType- , IPSetDescriptorType (..)-- -- ** MatchFieldType- , MatchFieldType (..)-- -- ** PositionalConstraint- , PositionalConstraint (..)-- -- ** PredicateType- , PredicateType (..)-- -- ** RateKey- , RateKey (..)-- -- ** TextTransformation- , TextTransformation (..)-- -- ** WafActionType- , WafActionType (..)-- -- ** WafOverrideActionType- , WafOverrideActionType (..)-- -- ** WafRuleType- , WafRuleType (..)-- -- ** ActivatedRule- , ActivatedRule- , activatedRule- , arOverrideAction- , arAction- , arType- , arPriority- , arRuleId-- -- ** ByteMatchSet- , ByteMatchSet- , byteMatchSet- , bmsName- , bmsByteMatchSetId- , bmsByteMatchTuples-- -- ** ByteMatchSetSummary- , ByteMatchSetSummary- , byteMatchSetSummary- , bmssByteMatchSetId- , bmssName-- -- ** ByteMatchSetUpdate- , ByteMatchSetUpdate- , byteMatchSetUpdate- , bmsuAction- , bmsuByteMatchTuple-- -- ** ByteMatchTuple- , ByteMatchTuple- , byteMatchTuple- , bmtFieldToMatch- , bmtTargetString- , bmtTextTransformation- , bmtPositionalConstraint-- -- ** FieldToMatch- , FieldToMatch- , fieldToMatch- , ftmData- , ftmType-- -- ** GeoMatchConstraint- , GeoMatchConstraint- , geoMatchConstraint- , gmcType- , gmcValue-- -- ** GeoMatchSet- , GeoMatchSet- , geoMatchSet- , gmsName- , gmsGeoMatchSetId- , gmsGeoMatchConstraints-- -- ** GeoMatchSetSummary- , GeoMatchSetSummary- , geoMatchSetSummary- , gmssGeoMatchSetId- , gmssName-- -- ** GeoMatchSetUpdate- , GeoMatchSetUpdate- , geoMatchSetUpdate- , gmsuAction- , gmsuGeoMatchConstraint-- -- ** HTTPHeader- , HTTPHeader- , hTTPHeader- , httphValue- , httphName-- -- ** HTTPRequest- , HTTPRequest- , hTTPRequest- , httprHTTPVersion- , httprCountry- , httprURI- , httprHeaders- , httprMethod- , httprClientIP-- -- ** IPSet- , IPSet- , ipSet- , isName- , isIPSetId- , isIPSetDescriptors-- -- ** IPSetDescriptor- , IPSetDescriptor- , ipSetDescriptor- , isdType- , isdValue-- -- ** IPSetSummary- , IPSetSummary- , ipSetSummary- , issIPSetId- , issName-- -- ** IPSetUpdate- , IPSetUpdate- , ipSetUpdate- , isuAction- , isuIPSetDescriptor-- -- ** Predicate- , Predicate- , predicate- , pNegated- , pType- , pDataId-- -- ** RateBasedRule- , RateBasedRule- , rateBasedRule- , rbrMetricName- , rbrName- , rbrRuleId- , rbrMatchPredicates- , rbrRateKey- , rbrRateLimit-- -- ** RegexMatchSet- , RegexMatchSet- , regexMatchSet- , rmsName- , rmsRegexMatchTuples- , rmsRegexMatchSetId-- -- ** RegexMatchSetSummary- , RegexMatchSetSummary- , regexMatchSetSummary- , rmssRegexMatchSetId- , rmssName-- -- ** RegexMatchSetUpdate- , RegexMatchSetUpdate- , regexMatchSetUpdate- , rmsuAction- , rmsuRegexMatchTuple-- -- ** RegexMatchTuple- , RegexMatchTuple- , regexMatchTuple- , rmtFieldToMatch- , rmtTextTransformation- , rmtRegexPatternSetId-- -- ** RegexPatternSet- , RegexPatternSet- , regexPatternSet- , rpsName- , rpsRegexPatternSetId- , rpsRegexPatternStrings-- -- ** RegexPatternSetSummary- , RegexPatternSetSummary- , regexPatternSetSummary- , rpssRegexPatternSetId- , rpssName-- -- ** RegexPatternSetUpdate- , RegexPatternSetUpdate- , regexPatternSetUpdate- , rpsuAction- , rpsuRegexPatternString-- -- ** Rule- , Rule- , rule- , rMetricName- , rName- , rRuleId- , rPredicates-- -- ** RuleGroup- , RuleGroup- , ruleGroup- , rgMetricName- , rgName- , rgRuleGroupId-- -- ** RuleGroupSummary- , RuleGroupSummary- , ruleGroupSummary- , rgsRuleGroupId- , rgsName-- -- ** RuleGroupUpdate- , RuleGroupUpdate- , ruleGroupUpdate- , rguAction- , rguActivatedRule-- -- ** RuleSummary- , RuleSummary- , ruleSummary- , rsRuleId- , rsName-- -- ** RuleUpdate- , RuleUpdate- , ruleUpdate- , ruAction- , ruPredicate-- -- ** SampledHTTPRequest- , SampledHTTPRequest- , sampledHTTPRequest- , shttprRuleWithinRuleGroup- , shttprAction- , shttprTimestamp- , shttprRequest- , shttprWeight-- -- ** SizeConstraint- , SizeConstraint- , sizeConstraint- , scFieldToMatch- , scTextTransformation- , scComparisonOperator- , scSize-- -- ** SizeConstraintSet- , SizeConstraintSet- , sizeConstraintSet- , scsName- , scsSizeConstraintSetId- , scsSizeConstraints-- -- ** SizeConstraintSetSummary- , SizeConstraintSetSummary- , sizeConstraintSetSummary- , scssSizeConstraintSetId- , scssName-- -- ** SizeConstraintSetUpdate- , SizeConstraintSetUpdate- , sizeConstraintSetUpdate- , scsuAction- , scsuSizeConstraint-- -- ** SqlInjectionMatchSet- , SqlInjectionMatchSet- , sqlInjectionMatchSet- , simsName- , simsSqlInjectionMatchSetId- , simsSqlInjectionMatchTuples-- -- ** SqlInjectionMatchSetSummary- , SqlInjectionMatchSetSummary- , sqlInjectionMatchSetSummary- , simssSqlInjectionMatchSetId- , simssName-- -- ** SqlInjectionMatchSetUpdate- , SqlInjectionMatchSetUpdate- , sqlInjectionMatchSetUpdate- , simsuAction- , simsuSqlInjectionMatchTuple-- -- ** SqlInjectionMatchTuple- , SqlInjectionMatchTuple- , sqlInjectionMatchTuple- , simtFieldToMatch- , simtTextTransformation-- -- ** SubscribedRuleGroupSummary- , SubscribedRuleGroupSummary- , subscribedRuleGroupSummary- , srgsRuleGroupId- , srgsName- , srgsMetricName-- -- ** TimeWindow- , TimeWindow- , timeWindow- , twStartTime- , twEndTime-- -- ** WafAction- , WafAction- , wafAction- , waType-- -- ** WafOverrideAction- , WafOverrideAction- , wafOverrideAction- , woaType-- -- ** WebACL- , WebACL- , webACL- , waMetricName- , waName- , waWebACLId- , waDefaultAction- , waRules-- -- ** WebACLSummary- , WebACLSummary- , webACLSummary- , wasWebACLId- , wasName-- -- ** WebACLUpdate- , WebACLUpdate- , webACLUpdate- , wauAction- , wauActivatedRule-- -- ** XSSMatchSet- , XSSMatchSet- , xssMatchSet- , xmsName- , xmsXSSMatchSetId- , xmsXSSMatchTuples-- -- ** XSSMatchSetSummary- , XSSMatchSetSummary- , xssMatchSetSummary- , xmssXSSMatchSetId- , xmssName-- -- ** XSSMatchSetUpdate- , XSSMatchSetUpdate- , xssMatchSetUpdate- , xmsuAction- , xmsuXSSMatchTuple-- -- ** XSSMatchTuple- , XSSMatchTuple- , xssMatchTuple- , xmtFieldToMatch- , xmtTextTransformation- ) where--import Network.AWS.WAF.CreateByteMatchSet-import Network.AWS.WAF.CreateGeoMatchSet-import Network.AWS.WAF.CreateIPSet-import Network.AWS.WAF.CreateRateBasedRule-import Network.AWS.WAF.CreateRegexMatchSet-import Network.AWS.WAF.CreateRegexPatternSet-import Network.AWS.WAF.CreateRule-import Network.AWS.WAF.CreateRuleGroup-import Network.AWS.WAF.CreateSizeConstraintSet-import Network.AWS.WAF.CreateSqlInjectionMatchSet-import Network.AWS.WAF.CreateWebACL-import Network.AWS.WAF.CreateXSSMatchSet-import Network.AWS.WAF.DeleteByteMatchSet-import Network.AWS.WAF.DeleteGeoMatchSet-import Network.AWS.WAF.DeleteIPSet-import Network.AWS.WAF.DeletePermissionPolicy-import Network.AWS.WAF.DeleteRateBasedRule-import Network.AWS.WAF.DeleteRegexMatchSet-import Network.AWS.WAF.DeleteRegexPatternSet-import Network.AWS.WAF.DeleteRule-import Network.AWS.WAF.DeleteRuleGroup-import Network.AWS.WAF.DeleteSizeConstraintSet-import Network.AWS.WAF.DeleteSqlInjectionMatchSet-import Network.AWS.WAF.DeleteWebACL-import Network.AWS.WAF.DeleteXSSMatchSet-import Network.AWS.WAF.GetByteMatchSet-import Network.AWS.WAF.GetChangeToken-import Network.AWS.WAF.GetChangeTokenStatus-import Network.AWS.WAF.GetGeoMatchSet-import Network.AWS.WAF.GetIPSet-import Network.AWS.WAF.GetPermissionPolicy-import Network.AWS.WAF.GetRateBasedRule-import Network.AWS.WAF.GetRateBasedRuleManagedKeys-import Network.AWS.WAF.GetRegexMatchSet-import Network.AWS.WAF.GetRegexPatternSet-import Network.AWS.WAF.GetRule-import Network.AWS.WAF.GetRuleGroup-import Network.AWS.WAF.GetSampledRequests-import Network.AWS.WAF.GetSizeConstraintSet-import Network.AWS.WAF.GetSqlInjectionMatchSet-import Network.AWS.WAF.GetWebACL-import Network.AWS.WAF.GetXSSMatchSet-import Network.AWS.WAF.ListActivatedRulesInRuleGroup-import Network.AWS.WAF.ListByteMatchSets-import Network.AWS.WAF.ListGeoMatchSets-import Network.AWS.WAF.ListIPSets-import Network.AWS.WAF.ListRateBasedRules-import Network.AWS.WAF.ListRegexMatchSets-import Network.AWS.WAF.ListRegexPatternSets-import Network.AWS.WAF.ListRuleGroups-import Network.AWS.WAF.ListRules-import Network.AWS.WAF.ListSizeConstraintSets-import Network.AWS.WAF.ListSqlInjectionMatchSets-import Network.AWS.WAF.ListSubscribedRuleGroups-import Network.AWS.WAF.ListWebACLs-import Network.AWS.WAF.ListXSSMatchSets-import Network.AWS.WAF.PutPermissionPolicy-import Network.AWS.WAF.Types-import Network.AWS.WAF.UpdateByteMatchSet-import Network.AWS.WAF.UpdateGeoMatchSet-import Network.AWS.WAF.UpdateIPSet-import Network.AWS.WAF.UpdateRateBasedRule-import Network.AWS.WAF.UpdateRegexMatchSet-import Network.AWS.WAF.UpdateRegexPatternSet-import Network.AWS.WAF.UpdateRule-import Network.AWS.WAF.UpdateRuleGroup-import Network.AWS.WAF.UpdateSizeConstraintSet-import Network.AWS.WAF.UpdateSqlInjectionMatchSet-import Network.AWS.WAF.UpdateWebACL-import Network.AWS.WAF.UpdateXSSMatchSet-import Network.AWS.WAF.Waiters--{- $errors-Error matchers are designed for use with the functions provided by-<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.-This allows catching (and rethrowing) service specific errors returned-by 'WAF'.--}--{- $operations-Some AWS operations return results that are incomplete and require subsequent-requests in order to obtain the entire result set. The process of sending-subsequent requests to continue where a previous request left off is called-pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to-1000 objects at a time, and you must send subsequent requests with the-appropriate Marker in order to retrieve the next page of results.--Operations that have an 'AWSPager' instance can transparently perform subsequent-requests, correctly setting Markers and other request facets to iterate through-the entire result set of a truncated API operation. Operations which support-this have an additional note in the documentation.--Many operations have the ability to filter results on the server side. See the-individual operation parameters for details.--}--{- $waiters-Waiters poll by repeatedly sending a request until some remote success condition-configured by the 'Wait' specification is fulfilled. The 'Wait' specification-determines how many attempts should be made, in addition to delay and retry strategies.--}
− gen/Network/AWS/WAF/CreateByteMatchSet.hs
@@ -1,170 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateByteMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a @ByteMatchSet@ . You then use 'UpdateByteMatchSet' to identify the part of a web request that you want AWS WAF to inspect, such as the values of the @User-Agent@ header or the query string. For example, you can create a @ByteMatchSet@ that matches any requests with @User-Agent@ headers that contain the string @BadBot@ . You can then configure AWS WAF to reject those requests.--------- To create and configure a @ByteMatchSet@ , perform the following steps:------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateByteMatchSet@ request.------ * Submit a @CreateByteMatchSet@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an @UpdateByteMatchSet@ request.------ * Submit an 'UpdateByteMatchSet' request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateByteMatchSet- (- -- * Creating a Request- createByteMatchSet- , CreateByteMatchSet- -- * Request Lenses- , cbmsName- , cbmsChangeToken-- -- * Destructuring the Response- , createByteMatchSetResponse- , CreateByteMatchSetResponse- -- * Response Lenses- , cbmsrsByteMatchSet- , cbmsrsChangeToken- , cbmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createByteMatchSet' smart constructor.-data CreateByteMatchSet = CreateByteMatchSet'- { _cbmsName :: !Text- , _cbmsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateByteMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbmsName' - A friendly name or description of the 'ByteMatchSet' . You can't change @Name@ after you create a @ByteMatchSet@ .------ * 'cbmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createByteMatchSet- :: Text -- ^ 'cbmsName'- -> Text -- ^ 'cbmsChangeToken'- -> CreateByteMatchSet-createByteMatchSet pName_ pChangeToken_ =- CreateByteMatchSet' {_cbmsName = pName_, _cbmsChangeToken = pChangeToken_}----- | A friendly name or description of the 'ByteMatchSet' . You can't change @Name@ after you create a @ByteMatchSet@ .-cbmsName :: Lens' CreateByteMatchSet Text-cbmsName = lens _cbmsName (\ s a -> s{_cbmsName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-cbmsChangeToken :: Lens' CreateByteMatchSet Text-cbmsChangeToken = lens _cbmsChangeToken (\ s a -> s{_cbmsChangeToken = a})--instance AWSRequest CreateByteMatchSet where- type Rs CreateByteMatchSet =- CreateByteMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateByteMatchSetResponse' <$>- (x .?> "ByteMatchSet") <*> (x .?> "ChangeToken") <*>- (pure (fromEnum s)))--instance Hashable CreateByteMatchSet where--instance NFData CreateByteMatchSet where--instance ToHeaders CreateByteMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateByteMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateByteMatchSet where- toJSON CreateByteMatchSet'{..}- = object- (catMaybes- [Just ("Name" .= _cbmsName),- Just ("ChangeToken" .= _cbmsChangeToken)])--instance ToPath CreateByteMatchSet where- toPath = const "/"--instance ToQuery CreateByteMatchSet where- toQuery = const mempty---- | /See:/ 'createByteMatchSetResponse' smart constructor.-data CreateByteMatchSetResponse = CreateByteMatchSetResponse'- { _cbmsrsByteMatchSet :: !(Maybe ByteMatchSet)- , _cbmsrsChangeToken :: !(Maybe Text)- , _cbmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateByteMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbmsrsByteMatchSet' - A 'ByteMatchSet' that contains no @ByteMatchTuple@ objects.------ * 'cbmsrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateByteMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'cbmsrsResponseStatus' - -- | The response status code.-createByteMatchSetResponse- :: Int -- ^ 'cbmsrsResponseStatus'- -> CreateByteMatchSetResponse-createByteMatchSetResponse pResponseStatus_ =- CreateByteMatchSetResponse'- { _cbmsrsByteMatchSet = Nothing- , _cbmsrsChangeToken = Nothing- , _cbmsrsResponseStatus = pResponseStatus_- }----- | A 'ByteMatchSet' that contains no @ByteMatchTuple@ objects.-cbmsrsByteMatchSet :: Lens' CreateByteMatchSetResponse (Maybe ByteMatchSet)-cbmsrsByteMatchSet = lens _cbmsrsByteMatchSet (\ s a -> s{_cbmsrsByteMatchSet = a})---- | The @ChangeToken@ that you used to submit the @CreateByteMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-cbmsrsChangeToken :: Lens' CreateByteMatchSetResponse (Maybe Text)-cbmsrsChangeToken = lens _cbmsrsChangeToken (\ s a -> s{_cbmsrsChangeToken = a})---- | -- | The response status code.-cbmsrsResponseStatus :: Lens' CreateByteMatchSetResponse Int-cbmsrsResponseStatus = lens _cbmsrsResponseStatus (\ s a -> s{_cbmsrsResponseStatus = a})--instance NFData CreateByteMatchSetResponse where
− gen/Network/AWS/WAF/CreateGeoMatchSet.hs
@@ -1,169 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateGeoMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates an 'GeoMatchSet' , which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an @GeoMatchSet@ that contains those countries and then configure AWS WAF to block the requests.--------- To create and configure a @GeoMatchSet@ , perform the following steps:------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateGeoMatchSet@ request.------ * Submit a @CreateGeoMatchSet@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateGeoMatchSet' request.------ * Submit an @UpdateGeoMatchSetSet@ request to specify the countries that you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateGeoMatchSet- (- -- * Creating a Request- createGeoMatchSet- , CreateGeoMatchSet- -- * Request Lenses- , cgmsName- , cgmsChangeToken-- -- * Destructuring the Response- , createGeoMatchSetResponse- , CreateGeoMatchSetResponse- -- * Response Lenses- , cgmsrsGeoMatchSet- , cgmsrsChangeToken- , cgmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createGeoMatchSet' smart constructor.-data CreateGeoMatchSet = CreateGeoMatchSet'- { _cgmsName :: !Text- , _cgmsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateGeoMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgmsName' - A friendly name or description of the 'GeoMatchSet' . You can't change @Name@ after you create the @GeoMatchSet@ .------ * 'cgmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createGeoMatchSet- :: Text -- ^ 'cgmsName'- -> Text -- ^ 'cgmsChangeToken'- -> CreateGeoMatchSet-createGeoMatchSet pName_ pChangeToken_ =- CreateGeoMatchSet' {_cgmsName = pName_, _cgmsChangeToken = pChangeToken_}----- | A friendly name or description of the 'GeoMatchSet' . You can't change @Name@ after you create the @GeoMatchSet@ .-cgmsName :: Lens' CreateGeoMatchSet Text-cgmsName = lens _cgmsName (\ s a -> s{_cgmsName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-cgmsChangeToken :: Lens' CreateGeoMatchSet Text-cgmsChangeToken = lens _cgmsChangeToken (\ s a -> s{_cgmsChangeToken = a})--instance AWSRequest CreateGeoMatchSet where- type Rs CreateGeoMatchSet = CreateGeoMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateGeoMatchSetResponse' <$>- (x .?> "GeoMatchSet") <*> (x .?> "ChangeToken") <*>- (pure (fromEnum s)))--instance Hashable CreateGeoMatchSet where--instance NFData CreateGeoMatchSet where--instance ToHeaders CreateGeoMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateGeoMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateGeoMatchSet where- toJSON CreateGeoMatchSet'{..}- = object- (catMaybes- [Just ("Name" .= _cgmsName),- Just ("ChangeToken" .= _cgmsChangeToken)])--instance ToPath CreateGeoMatchSet where- toPath = const "/"--instance ToQuery CreateGeoMatchSet where- toQuery = const mempty---- | /See:/ 'createGeoMatchSetResponse' smart constructor.-data CreateGeoMatchSetResponse = CreateGeoMatchSetResponse'- { _cgmsrsGeoMatchSet :: !(Maybe GeoMatchSet)- , _cgmsrsChangeToken :: !(Maybe Text)- , _cgmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateGeoMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgmsrsGeoMatchSet' - The 'GeoMatchSet' returned in the @CreateGeoMatchSet@ response. The @GeoMatchSet@ contains no @GeoMatchConstraints@ .------ * 'cgmsrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateGeoMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'cgmsrsResponseStatus' - -- | The response status code.-createGeoMatchSetResponse- :: Int -- ^ 'cgmsrsResponseStatus'- -> CreateGeoMatchSetResponse-createGeoMatchSetResponse pResponseStatus_ =- CreateGeoMatchSetResponse'- { _cgmsrsGeoMatchSet = Nothing- , _cgmsrsChangeToken = Nothing- , _cgmsrsResponseStatus = pResponseStatus_- }----- | The 'GeoMatchSet' returned in the @CreateGeoMatchSet@ response. The @GeoMatchSet@ contains no @GeoMatchConstraints@ .-cgmsrsGeoMatchSet :: Lens' CreateGeoMatchSetResponse (Maybe GeoMatchSet)-cgmsrsGeoMatchSet = lens _cgmsrsGeoMatchSet (\ s a -> s{_cgmsrsGeoMatchSet = a})---- | The @ChangeToken@ that you used to submit the @CreateGeoMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-cgmsrsChangeToken :: Lens' CreateGeoMatchSetResponse (Maybe Text)-cgmsrsChangeToken = lens _cgmsrsChangeToken (\ s a -> s{_cgmsrsChangeToken = a})---- | -- | The response status code.-cgmsrsResponseStatus :: Lens' CreateGeoMatchSetResponse Int-cgmsrsResponseStatus = lens _cgmsrsResponseStatus (\ s a -> s{_cgmsrsResponseStatus = a})--instance NFData CreateGeoMatchSetResponse where
− gen/Network/AWS/WAF/CreateIPSet.hs
@@ -1,169 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateIPSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates an 'IPSet' , which you use to specify which web requests you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an @IPSet@ that contains those IP addresses and then configure AWS WAF to block the requests.--------- To create and configure an @IPSet@ , perform the following steps:------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateIPSet@ request.------ * Submit a @CreateIPSet@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateIPSet' request.------ * Submit an @UpdateIPSet@ request to specify the IP addresses that you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateIPSet- (- -- * Creating a Request- createIPSet- , CreateIPSet- -- * Request Lenses- , cisName- , cisChangeToken-- -- * Destructuring the Response- , createIPSetResponse- , CreateIPSetResponse- -- * Response Lenses- , cisrsChangeToken- , cisrsIPSet- , cisrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createIPSet' smart constructor.-data CreateIPSet = CreateIPSet'- { _cisName :: !Text- , _cisChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateIPSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cisName' - A friendly name or description of the 'IPSet' . You can't change @Name@ after you create the @IPSet@ .------ * 'cisChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createIPSet- :: Text -- ^ 'cisName'- -> Text -- ^ 'cisChangeToken'- -> CreateIPSet-createIPSet pName_ pChangeToken_ =- CreateIPSet' {_cisName = pName_, _cisChangeToken = pChangeToken_}----- | A friendly name or description of the 'IPSet' . You can't change @Name@ after you create the @IPSet@ .-cisName :: Lens' CreateIPSet Text-cisName = lens _cisName (\ s a -> s{_cisName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-cisChangeToken :: Lens' CreateIPSet Text-cisChangeToken = lens _cisChangeToken (\ s a -> s{_cisChangeToken = a})--instance AWSRequest CreateIPSet where- type Rs CreateIPSet = CreateIPSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateIPSetResponse' <$>- (x .?> "ChangeToken") <*> (x .?> "IPSet") <*>- (pure (fromEnum s)))--instance Hashable CreateIPSet where--instance NFData CreateIPSet where--instance ToHeaders CreateIPSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateIPSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateIPSet where- toJSON CreateIPSet'{..}- = object- (catMaybes- [Just ("Name" .= _cisName),- Just ("ChangeToken" .= _cisChangeToken)])--instance ToPath CreateIPSet where- toPath = const "/"--instance ToQuery CreateIPSet where- toQuery = const mempty---- | /See:/ 'createIPSetResponse' smart constructor.-data CreateIPSetResponse = CreateIPSetResponse'- { _cisrsChangeToken :: !(Maybe Text)- , _cisrsIPSet :: !(Maybe IPSet)- , _cisrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateIPSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cisrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateIPSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'cisrsIPSet' - The 'IPSet' returned in the @CreateIPSet@ response.------ * 'cisrsResponseStatus' - -- | The response status code.-createIPSetResponse- :: Int -- ^ 'cisrsResponseStatus'- -> CreateIPSetResponse-createIPSetResponse pResponseStatus_ =- CreateIPSetResponse'- { _cisrsChangeToken = Nothing- , _cisrsIPSet = Nothing- , _cisrsResponseStatus = pResponseStatus_- }----- | The @ChangeToken@ that you used to submit the @CreateIPSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-cisrsChangeToken :: Lens' CreateIPSetResponse (Maybe Text)-cisrsChangeToken = lens _cisrsChangeToken (\ s a -> s{_cisrsChangeToken = a})---- | The 'IPSet' returned in the @CreateIPSet@ response.-cisrsIPSet :: Lens' CreateIPSetResponse (Maybe IPSet)-cisrsIPSet = lens _cisrsIPSet (\ s a -> s{_cisrsIPSet = a})---- | -- | The response status code.-cisrsResponseStatus :: Lens' CreateIPSetResponse Int-cisrsResponseStatus = lens _cisrsResponseStatus (\ s a -> s{_cisrsResponseStatus = a})--instance NFData CreateIPSetResponse where
− gen/Network/AWS/WAF/CreateRateBasedRule.hs
@@ -1,237 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateRateBasedRule--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a 'RateBasedRule' . The @RateBasedRule@ contains a @RateLimit@ , which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The @RateBasedRule@ also contains the @IPSet@ objects, @ByteMatchSet@ objects, and other predicates that identify the requests that you want to count or block if these requests exceed the @RateLimit@ .--------- If you add more than one predicate to a @RateBasedRule@ , a request not only must exceed the @RateLimit@ , but it also must match all the specifications to be counted or blocked. For example, suppose you add the following to a @RateBasedRule@ :------ * An @IPSet@ that matches the IP address @192.0.2.44/32@------ * A @ByteMatchSet@ that matches @BadBot@ in the @User-Agent@ header------------ Further, you specify a @RateLimit@ of 15,000.------ You then add the @RateBasedRule@ to a @WebACL@ and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 /and/ the @User-Agent@ header in the request must contain the value @BadBot@ . Further, requests that match these two conditions must be received at a rate of more than 15,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a five-minute period, AWS WAF no longer blocks the requests.------ As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a @RateBasedRule@ :------ * A @ByteMatchSet@ with @FieldToMatch@ of @URI@------ * A @PositionalConstraint@ of @STARTS_WITH@------ * A @TargetString@ of @login@------------ Further, you specify a @RateLimit@ of 15,000.------ By adding this @RateBasedRule@ to a @WebACL@ , you could limit requests to your login page without affecting the rest of your site.------ To create and configure a @RateBasedRule@ , perform the following steps:------ * Create and update the predicates that you want to include in the rule. For more information, see 'CreateByteMatchSet' , 'CreateIPSet' , and 'CreateSqlInjectionMatchSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateRule@ request.------ * Submit a @CreateRateBasedRule@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateRule' request.------ * Submit an @UpdateRateBasedRule@ request to specify the predicates that you want to include in the rule.------ * Create and update a @WebACL@ that contains the @RateBasedRule@ . For more information, see 'CreateWebACL' .------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateRateBasedRule- (- -- * Creating a Request- createRateBasedRule- , CreateRateBasedRule- -- * Request Lenses- , crbrName- , crbrMetricName- , crbrRateKey- , crbrRateLimit- , crbrChangeToken-- -- * Destructuring the Response- , createRateBasedRuleResponse- , CreateRateBasedRuleResponse- -- * Response Lenses- , crbrrsRule- , crbrrsChangeToken- , crbrrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createRateBasedRule' smart constructor.-data CreateRateBasedRule = CreateRateBasedRule'- { _crbrName :: !Text- , _crbrMetricName :: !Text- , _crbrRateKey :: !RateKey- , _crbrRateLimit :: !Nat- , _crbrChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRateBasedRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crbrName' - A friendly name or description of the 'RateBasedRule' . You can't change the name of a @RateBasedRule@ after you create it.------ * 'crbrMetricName' - A friendly name or description for the metrics for this @RateBasedRule@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RateBasedRule@ .------ * 'crbrRateKey' - The field that AWS WAF uses to determine if requests are likely arriving from a single source and thus subject to rate monitoring. The only valid value for @RateKey@ is @IP@ . @IP@ indicates that requests that arrive from the same IP address are subject to the @RateLimit@ that is specified in the @RateBasedRule@ .------ * 'crbrRateLimit' - The maximum number of requests, which have an identical value in the field that is specified by @RateKey@ , allowed in a five-minute period. If the number of requests exceeds the @RateLimit@ and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.------ * 'crbrChangeToken' - The @ChangeToken@ that you used to submit the @CreateRateBasedRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-createRateBasedRule- :: Text -- ^ 'crbrName'- -> Text -- ^ 'crbrMetricName'- -> RateKey -- ^ 'crbrRateKey'- -> Natural -- ^ 'crbrRateLimit'- -> Text -- ^ 'crbrChangeToken'- -> CreateRateBasedRule-createRateBasedRule pName_ pMetricName_ pRateKey_ pRateLimit_ pChangeToken_ =- CreateRateBasedRule'- { _crbrName = pName_- , _crbrMetricName = pMetricName_- , _crbrRateKey = pRateKey_- , _crbrRateLimit = _Nat # pRateLimit_- , _crbrChangeToken = pChangeToken_- }----- | A friendly name or description of the 'RateBasedRule' . You can't change the name of a @RateBasedRule@ after you create it.-crbrName :: Lens' CreateRateBasedRule Text-crbrName = lens _crbrName (\ s a -> s{_crbrName = a})---- | A friendly name or description for the metrics for this @RateBasedRule@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RateBasedRule@ .-crbrMetricName :: Lens' CreateRateBasedRule Text-crbrMetricName = lens _crbrMetricName (\ s a -> s{_crbrMetricName = a})---- | The field that AWS WAF uses to determine if requests are likely arriving from a single source and thus subject to rate monitoring. The only valid value for @RateKey@ is @IP@ . @IP@ indicates that requests that arrive from the same IP address are subject to the @RateLimit@ that is specified in the @RateBasedRule@ .-crbrRateKey :: Lens' CreateRateBasedRule RateKey-crbrRateKey = lens _crbrRateKey (\ s a -> s{_crbrRateKey = a})---- | The maximum number of requests, which have an identical value in the field that is specified by @RateKey@ , allowed in a five-minute period. If the number of requests exceeds the @RateLimit@ and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.-crbrRateLimit :: Lens' CreateRateBasedRule Natural-crbrRateLimit = lens _crbrRateLimit (\ s a -> s{_crbrRateLimit = a}) . _Nat---- | The @ChangeToken@ that you used to submit the @CreateRateBasedRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-crbrChangeToken :: Lens' CreateRateBasedRule Text-crbrChangeToken = lens _crbrChangeToken (\ s a -> s{_crbrChangeToken = a})--instance AWSRequest CreateRateBasedRule where- type Rs CreateRateBasedRule =- CreateRateBasedRuleResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateRateBasedRuleResponse' <$>- (x .?> "Rule") <*> (x .?> "ChangeToken") <*>- (pure (fromEnum s)))--instance Hashable CreateRateBasedRule where--instance NFData CreateRateBasedRule where--instance ToHeaders CreateRateBasedRule where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateRateBasedRule" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateRateBasedRule where- toJSON CreateRateBasedRule'{..}- = object- (catMaybes- [Just ("Name" .= _crbrName),- Just ("MetricName" .= _crbrMetricName),- Just ("RateKey" .= _crbrRateKey),- Just ("RateLimit" .= _crbrRateLimit),- Just ("ChangeToken" .= _crbrChangeToken)])--instance ToPath CreateRateBasedRule where- toPath = const "/"--instance ToQuery CreateRateBasedRule where- toQuery = const mempty---- | /See:/ 'createRateBasedRuleResponse' smart constructor.-data CreateRateBasedRuleResponse = CreateRateBasedRuleResponse'- { _crbrrsRule :: !(Maybe RateBasedRule)- , _crbrrsChangeToken :: !(Maybe Text)- , _crbrrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRateBasedRuleResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crbrrsRule' - The 'RateBasedRule' that is returned in the @CreateRateBasedRule@ response.------ * 'crbrrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateRateBasedRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'crbrrsResponseStatus' - -- | The response status code.-createRateBasedRuleResponse- :: Int -- ^ 'crbrrsResponseStatus'- -> CreateRateBasedRuleResponse-createRateBasedRuleResponse pResponseStatus_ =- CreateRateBasedRuleResponse'- { _crbrrsRule = Nothing- , _crbrrsChangeToken = Nothing- , _crbrrsResponseStatus = pResponseStatus_- }----- | The 'RateBasedRule' that is returned in the @CreateRateBasedRule@ response.-crbrrsRule :: Lens' CreateRateBasedRuleResponse (Maybe RateBasedRule)-crbrrsRule = lens _crbrrsRule (\ s a -> s{_crbrrsRule = a})---- | The @ChangeToken@ that you used to submit the @CreateRateBasedRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-crbrrsChangeToken :: Lens' CreateRateBasedRuleResponse (Maybe Text)-crbrrsChangeToken = lens _crbrrsChangeToken (\ s a -> s{_crbrrsChangeToken = a})---- | -- | The response status code.-crbrrsResponseStatus :: Lens' CreateRateBasedRuleResponse Int-crbrrsResponseStatus = lens _crbrrsResponseStatus (\ s a -> s{_crbrrsResponseStatus = a})--instance NFData CreateRateBasedRuleResponse where
− gen/Network/AWS/WAF/CreateRegexMatchSet.hs
@@ -1,171 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateRegexMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a 'RegexMatchSet' . You then use 'UpdateRegexMatchSet' to identify the part of a web request that you want AWS WAF to inspect, such as the values of the @User-Agent@ header or the query string. For example, you can create a @RegexMatchSet@ that contains a @RegexMatchTuple@ that looks for any requests with @User-Agent@ headers that match a @RegexPatternSet@ with pattern @B[a@]dB[o0]t@ . You can then configure AWS WAF to reject those requests.--------- To create and configure a @RegexMatchSet@ , perform the following steps:------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateRegexMatchSet@ request.------ * Submit a @CreateRegexMatchSet@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an @UpdateRegexMatchSet@ request.------ * Submit an 'UpdateRegexMatchSet' request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a @RegexPatternSet@ , that you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateRegexMatchSet- (- -- * Creating a Request- createRegexMatchSet- , CreateRegexMatchSet- -- * Request Lenses- , crmsName- , crmsChangeToken-- -- * Destructuring the Response- , createRegexMatchSetResponse- , CreateRegexMatchSetResponse- -- * Response Lenses- , crmsrsRegexMatchSet- , crmsrsChangeToken- , crmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createRegexMatchSet' smart constructor.-data CreateRegexMatchSet = CreateRegexMatchSet'- { _crmsName :: !Text- , _crmsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRegexMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crmsName' - A friendly name or description of the 'RegexMatchSet' . You can't change @Name@ after you create a @RegexMatchSet@ .------ * 'crmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createRegexMatchSet- :: Text -- ^ 'crmsName'- -> Text -- ^ 'crmsChangeToken'- -> CreateRegexMatchSet-createRegexMatchSet pName_ pChangeToken_ =- CreateRegexMatchSet' {_crmsName = pName_, _crmsChangeToken = pChangeToken_}----- | A friendly name or description of the 'RegexMatchSet' . You can't change @Name@ after you create a @RegexMatchSet@ .-crmsName :: Lens' CreateRegexMatchSet Text-crmsName = lens _crmsName (\ s a -> s{_crmsName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-crmsChangeToken :: Lens' CreateRegexMatchSet Text-crmsChangeToken = lens _crmsChangeToken (\ s a -> s{_crmsChangeToken = a})--instance AWSRequest CreateRegexMatchSet where- type Rs CreateRegexMatchSet =- CreateRegexMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateRegexMatchSetResponse' <$>- (x .?> "RegexMatchSet") <*> (x .?> "ChangeToken") <*>- (pure (fromEnum s)))--instance Hashable CreateRegexMatchSet where--instance NFData CreateRegexMatchSet where--instance ToHeaders CreateRegexMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateRegexMatchSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateRegexMatchSet where- toJSON CreateRegexMatchSet'{..}- = object- (catMaybes- [Just ("Name" .= _crmsName),- Just ("ChangeToken" .= _crmsChangeToken)])--instance ToPath CreateRegexMatchSet where- toPath = const "/"--instance ToQuery CreateRegexMatchSet where- toQuery = const mempty---- | /See:/ 'createRegexMatchSetResponse' smart constructor.-data CreateRegexMatchSetResponse = CreateRegexMatchSetResponse'- { _crmsrsRegexMatchSet :: !(Maybe RegexMatchSet)- , _crmsrsChangeToken :: !(Maybe Text)- , _crmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRegexMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crmsrsRegexMatchSet' - A 'RegexMatchSet' that contains no @RegexMatchTuple@ objects.------ * 'crmsrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateRegexMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'crmsrsResponseStatus' - -- | The response status code.-createRegexMatchSetResponse- :: Int -- ^ 'crmsrsResponseStatus'- -> CreateRegexMatchSetResponse-createRegexMatchSetResponse pResponseStatus_ =- CreateRegexMatchSetResponse'- { _crmsrsRegexMatchSet = Nothing- , _crmsrsChangeToken = Nothing- , _crmsrsResponseStatus = pResponseStatus_- }----- | A 'RegexMatchSet' that contains no @RegexMatchTuple@ objects.-crmsrsRegexMatchSet :: Lens' CreateRegexMatchSetResponse (Maybe RegexMatchSet)-crmsrsRegexMatchSet = lens _crmsrsRegexMatchSet (\ s a -> s{_crmsrsRegexMatchSet = a})---- | The @ChangeToken@ that you used to submit the @CreateRegexMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-crmsrsChangeToken :: Lens' CreateRegexMatchSetResponse (Maybe Text)-crmsrsChangeToken = lens _crmsrsChangeToken (\ s a -> s{_crmsrsChangeToken = a})---- | -- | The response status code.-crmsrsResponseStatus :: Lens' CreateRegexMatchSetResponse Int-crmsrsResponseStatus = lens _crmsrsResponseStatus (\ s a -> s{_crmsrsResponseStatus = a})--instance NFData CreateRegexMatchSetResponse where
− gen/Network/AWS/WAF/CreateRegexPatternSet.hs
@@ -1,171 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateRegexPatternSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a @RegexPatternSet@ . You then use 'UpdateRegexPatternSet' to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as @B[a@]dB[o0]t@ . You can then configure AWS WAF to reject those requests.--------- To create and configure a @RegexPatternSet@ , perform the following steps:------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateRegexPatternSet@ request.------ * Submit a @CreateRegexPatternSet@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an @UpdateRegexPatternSet@ request.------ * Submit an 'UpdateRegexPatternSet' request to specify the string that you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateRegexPatternSet- (- -- * Creating a Request- createRegexPatternSet- , CreateRegexPatternSet- -- * Request Lenses- , crpsName- , crpsChangeToken-- -- * Destructuring the Response- , createRegexPatternSetResponse- , CreateRegexPatternSetResponse- -- * Response Lenses- , crpsrsRegexPatternSet- , crpsrsChangeToken- , crpsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createRegexPatternSet' smart constructor.-data CreateRegexPatternSet = CreateRegexPatternSet'- { _crpsName :: !Text- , _crpsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRegexPatternSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crpsName' - A friendly name or description of the 'RegexPatternSet' . You can't change @Name@ after you create a @RegexPatternSet@ .------ * 'crpsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createRegexPatternSet- :: Text -- ^ 'crpsName'- -> Text -- ^ 'crpsChangeToken'- -> CreateRegexPatternSet-createRegexPatternSet pName_ pChangeToken_ =- CreateRegexPatternSet' {_crpsName = pName_, _crpsChangeToken = pChangeToken_}----- | A friendly name or description of the 'RegexPatternSet' . You can't change @Name@ after you create a @RegexPatternSet@ .-crpsName :: Lens' CreateRegexPatternSet Text-crpsName = lens _crpsName (\ s a -> s{_crpsName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-crpsChangeToken :: Lens' CreateRegexPatternSet Text-crpsChangeToken = lens _crpsChangeToken (\ s a -> s{_crpsChangeToken = a})--instance AWSRequest CreateRegexPatternSet where- type Rs CreateRegexPatternSet =- CreateRegexPatternSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateRegexPatternSetResponse' <$>- (x .?> "RegexPatternSet") <*> (x .?> "ChangeToken")- <*> (pure (fromEnum s)))--instance Hashable CreateRegexPatternSet where--instance NFData CreateRegexPatternSet where--instance ToHeaders CreateRegexPatternSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateRegexPatternSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateRegexPatternSet where- toJSON CreateRegexPatternSet'{..}- = object- (catMaybes- [Just ("Name" .= _crpsName),- Just ("ChangeToken" .= _crpsChangeToken)])--instance ToPath CreateRegexPatternSet where- toPath = const "/"--instance ToQuery CreateRegexPatternSet where- toQuery = const mempty---- | /See:/ 'createRegexPatternSetResponse' smart constructor.-data CreateRegexPatternSetResponse = CreateRegexPatternSetResponse'- { _crpsrsRegexPatternSet :: !(Maybe RegexPatternSet)- , _crpsrsChangeToken :: !(Maybe Text)- , _crpsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRegexPatternSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crpsrsRegexPatternSet' - A 'RegexPatternSet' that contains no objects.------ * 'crpsrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateRegexPatternSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'crpsrsResponseStatus' - -- | The response status code.-createRegexPatternSetResponse- :: Int -- ^ 'crpsrsResponseStatus'- -> CreateRegexPatternSetResponse-createRegexPatternSetResponse pResponseStatus_ =- CreateRegexPatternSetResponse'- { _crpsrsRegexPatternSet = Nothing- , _crpsrsChangeToken = Nothing- , _crpsrsResponseStatus = pResponseStatus_- }----- | A 'RegexPatternSet' that contains no objects.-crpsrsRegexPatternSet :: Lens' CreateRegexPatternSetResponse (Maybe RegexPatternSet)-crpsrsRegexPatternSet = lens _crpsrsRegexPatternSet (\ s a -> s{_crpsrsRegexPatternSet = a})---- | The @ChangeToken@ that you used to submit the @CreateRegexPatternSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-crpsrsChangeToken :: Lens' CreateRegexPatternSetResponse (Maybe Text)-crpsrsChangeToken = lens _crpsrsChangeToken (\ s a -> s{_crpsrsChangeToken = a})---- | -- | The response status code.-crpsrsResponseStatus :: Lens' CreateRegexPatternSetResponse Int-crpsrsResponseStatus = lens _crpsrsResponseStatus (\ s a -> s{_crpsrsResponseStatus = a})--instance NFData CreateRegexPatternSetResponse where
− gen/Network/AWS/WAF/CreateRule.hs
@@ -1,195 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateRule--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a @Rule@ , which contains the @IPSet@ objects, @ByteMatchSet@ objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a @Rule@ , a request must match all of the specifications to be allowed or blocked. For example, suppose you add the following to a @Rule@ :--------- * An @IPSet@ that matches the IP address @192.0.2.44/32@------ * A @ByteMatchSet@ that matches @BadBot@ in the @User-Agent@ header------------ You then add the @Rule@ to a @WebACL@ and specify that you want to blocks requests that satisfy the @Rule@ . For a request to be blocked, it must come from the IP address 192.0.2.44 /and/ the @User-Agent@ header in the request must contain the value @BadBot@ .------ To create and configure a @Rule@ , perform the following steps:------ * Create and update the predicates that you want to include in the @Rule@ . For more information, see 'CreateByteMatchSet' , 'CreateIPSet' , and 'CreateSqlInjectionMatchSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateRule@ request.------ * Submit a @CreateRule@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateRule' request.------ * Submit an @UpdateRule@ request to specify the predicates that you want to include in the @Rule@ .------ * Create and update a @WebACL@ that contains the @Rule@ . For more information, see 'CreateWebACL' .------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateRule- (- -- * Creating a Request- createRule- , CreateRule- -- * Request Lenses- , crName- , crMetricName- , crChangeToken-- -- * Destructuring the Response- , createRuleResponse- , CreateRuleResponse- -- * Response Lenses- , crrsRule- , crrsChangeToken- , crrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createRule' smart constructor.-data CreateRule = CreateRule'- { _crName :: !Text- , _crMetricName :: !Text- , _crChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crName' - A friendly name or description of the 'Rule' . You can't change the name of a @Rule@ after you create it.------ * 'crMetricName' - A friendly name or description for the metrics for this @Rule@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @Rule@ .------ * 'crChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createRule- :: Text -- ^ 'crName'- -> Text -- ^ 'crMetricName'- -> Text -- ^ 'crChangeToken'- -> CreateRule-createRule pName_ pMetricName_ pChangeToken_ =- CreateRule'- { _crName = pName_- , _crMetricName = pMetricName_- , _crChangeToken = pChangeToken_- }----- | A friendly name or description of the 'Rule' . You can't change the name of a @Rule@ after you create it.-crName :: Lens' CreateRule Text-crName = lens _crName (\ s a -> s{_crName = a})---- | A friendly name or description for the metrics for this @Rule@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @Rule@ .-crMetricName :: Lens' CreateRule Text-crMetricName = lens _crMetricName (\ s a -> s{_crMetricName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-crChangeToken :: Lens' CreateRule Text-crChangeToken = lens _crChangeToken (\ s a -> s{_crChangeToken = a})--instance AWSRequest CreateRule where- type Rs CreateRule = CreateRuleResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateRuleResponse' <$>- (x .?> "Rule") <*> (x .?> "ChangeToken") <*>- (pure (fromEnum s)))--instance Hashable CreateRule where--instance NFData CreateRule where--instance ToHeaders CreateRule where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateRule" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateRule where- toJSON CreateRule'{..}- = object- (catMaybes- [Just ("Name" .= _crName),- Just ("MetricName" .= _crMetricName),- Just ("ChangeToken" .= _crChangeToken)])--instance ToPath CreateRule where- toPath = const "/"--instance ToQuery CreateRule where- toQuery = const mempty---- | /See:/ 'createRuleResponse' smart constructor.-data CreateRuleResponse = CreateRuleResponse'- { _crrsRule :: !(Maybe Rule)- , _crrsChangeToken :: !(Maybe Text)- , _crrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRuleResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crrsRule' - The 'Rule' returned in the @CreateRule@ response.------ * 'crrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'crrsResponseStatus' - -- | The response status code.-createRuleResponse- :: Int -- ^ 'crrsResponseStatus'- -> CreateRuleResponse-createRuleResponse pResponseStatus_ =- CreateRuleResponse'- { _crrsRule = Nothing- , _crrsChangeToken = Nothing- , _crrsResponseStatus = pResponseStatus_- }----- | The 'Rule' returned in the @CreateRule@ response.-crrsRule :: Lens' CreateRuleResponse (Maybe Rule)-crrsRule = lens _crrsRule (\ s a -> s{_crrsRule = a})---- | The @ChangeToken@ that you used to submit the @CreateRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-crrsChangeToken :: Lens' CreateRuleResponse (Maybe Text)-crrsChangeToken = lens _crrsChangeToken (\ s a -> s{_crrsChangeToken = a})---- | -- | The response status code.-crrsResponseStatus :: Lens' CreateRuleResponse Int-crrsResponseStatus = lens _crrsResponseStatus (\ s a -> s{_crrsResponseStatus = a})--instance NFData CreateRuleResponse where
− gen/Network/AWS/WAF/CreateRuleGroup.hs
@@ -1,181 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateRuleGroup--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a @RuleGroup@ . A rule group is a collection of predefined rules that you add to a web ACL. You use 'UpdateRuleGroup' to add rules to the rule group.--------- Rule groups are subject to the following limits:------ * Three rule groups per account. You can request an increase to this limit by contacting customer support.------ * One rule group per web ACL.------ * Ten rules per rule group.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateRuleGroup- (- -- * Creating a Request- createRuleGroup- , CreateRuleGroup- -- * Request Lenses- , crgName- , crgMetricName- , crgChangeToken-- -- * Destructuring the Response- , createRuleGroupResponse- , CreateRuleGroupResponse- -- * Response Lenses- , crgrsChangeToken- , crgrsRuleGroup- , crgrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createRuleGroup' smart constructor.-data CreateRuleGroup = CreateRuleGroup'- { _crgName :: !Text- , _crgMetricName :: !Text- , _crgChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRuleGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crgName' - A friendly name or description of the 'RuleGroup' . You can't change @Name@ after you create a @RuleGroup@ .------ * 'crgMetricName' - A friendly name or description for the metrics for this @RuleGroup@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RuleGroup@ .------ * 'crgChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createRuleGroup- :: Text -- ^ 'crgName'- -> Text -- ^ 'crgMetricName'- -> Text -- ^ 'crgChangeToken'- -> CreateRuleGroup-createRuleGroup pName_ pMetricName_ pChangeToken_ =- CreateRuleGroup'- { _crgName = pName_- , _crgMetricName = pMetricName_- , _crgChangeToken = pChangeToken_- }----- | A friendly name or description of the 'RuleGroup' . You can't change @Name@ after you create a @RuleGroup@ .-crgName :: Lens' CreateRuleGroup Text-crgName = lens _crgName (\ s a -> s{_crgName = a})---- | A friendly name or description for the metrics for this @RuleGroup@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RuleGroup@ .-crgMetricName :: Lens' CreateRuleGroup Text-crgMetricName = lens _crgMetricName (\ s a -> s{_crgMetricName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-crgChangeToken :: Lens' CreateRuleGroup Text-crgChangeToken = lens _crgChangeToken (\ s a -> s{_crgChangeToken = a})--instance AWSRequest CreateRuleGroup where- type Rs CreateRuleGroup = CreateRuleGroupResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateRuleGroupResponse' <$>- (x .?> "ChangeToken") <*> (x .?> "RuleGroup") <*>- (pure (fromEnum s)))--instance Hashable CreateRuleGroup where--instance NFData CreateRuleGroup where--instance ToHeaders CreateRuleGroup where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateRuleGroup" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateRuleGroup where- toJSON CreateRuleGroup'{..}- = object- (catMaybes- [Just ("Name" .= _crgName),- Just ("MetricName" .= _crgMetricName),- Just ("ChangeToken" .= _crgChangeToken)])--instance ToPath CreateRuleGroup where- toPath = const "/"--instance ToQuery CreateRuleGroup where- toQuery = const mempty---- | /See:/ 'createRuleGroupResponse' smart constructor.-data CreateRuleGroupResponse = CreateRuleGroupResponse'- { _crgrsChangeToken :: !(Maybe Text)- , _crgrsRuleGroup :: !(Maybe RuleGroup)- , _crgrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateRuleGroupResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crgrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateRuleGroup@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'crgrsRuleGroup' - An empty 'RuleGroup' .------ * 'crgrsResponseStatus' - -- | The response status code.-createRuleGroupResponse- :: Int -- ^ 'crgrsResponseStatus'- -> CreateRuleGroupResponse-createRuleGroupResponse pResponseStatus_ =- CreateRuleGroupResponse'- { _crgrsChangeToken = Nothing- , _crgrsRuleGroup = Nothing- , _crgrsResponseStatus = pResponseStatus_- }----- | The @ChangeToken@ that you used to submit the @CreateRuleGroup@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-crgrsChangeToken :: Lens' CreateRuleGroupResponse (Maybe Text)-crgrsChangeToken = lens _crgrsChangeToken (\ s a -> s{_crgrsChangeToken = a})---- | An empty 'RuleGroup' .-crgrsRuleGroup :: Lens' CreateRuleGroupResponse (Maybe RuleGroup)-crgrsRuleGroup = lens _crgrsRuleGroup (\ s a -> s{_crgrsRuleGroup = a})---- | -- | The response status code.-crgrsResponseStatus :: Lens' CreateRuleGroupResponse Int-crgrsResponseStatus = lens _crgrsResponseStatus (\ s a -> s{_crgrsResponseStatus = a})--instance NFData CreateRuleGroupResponse where
− gen/Network/AWS/WAF/CreateSizeConstraintSet.hs
@@ -1,172 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateSizeConstraintSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a @SizeConstraintSet@ . You then use 'UpdateSizeConstraintSet' to identify the part of a web request that you want AWS WAF to check for length, such as the length of the @User-Agent@ header or the length of the query string. For example, you can create a @SizeConstraintSet@ that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.--------- To create and configure a @SizeConstraintSet@ , perform the following steps:------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateSizeConstraintSet@ request.------ * Submit a @CreateSizeConstraintSet@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an @UpdateSizeConstraintSet@ request.------ * Submit an 'UpdateSizeConstraintSet' request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateSizeConstraintSet- (- -- * Creating a Request- createSizeConstraintSet- , CreateSizeConstraintSet- -- * Request Lenses- , cscsName- , cscsChangeToken-- -- * Destructuring the Response- , createSizeConstraintSetResponse- , CreateSizeConstraintSetResponse- -- * Response Lenses- , cscsrsSizeConstraintSet- , cscsrsChangeToken- , cscsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createSizeConstraintSet' smart constructor.-data CreateSizeConstraintSet = CreateSizeConstraintSet'- { _cscsName :: !Text- , _cscsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateSizeConstraintSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cscsName' - A friendly name or description of the 'SizeConstraintSet' . You can't change @Name@ after you create a @SizeConstraintSet@ .------ * 'cscsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createSizeConstraintSet- :: Text -- ^ 'cscsName'- -> Text -- ^ 'cscsChangeToken'- -> CreateSizeConstraintSet-createSizeConstraintSet pName_ pChangeToken_ =- CreateSizeConstraintSet'- {_cscsName = pName_, _cscsChangeToken = pChangeToken_}----- | A friendly name or description of the 'SizeConstraintSet' . You can't change @Name@ after you create a @SizeConstraintSet@ .-cscsName :: Lens' CreateSizeConstraintSet Text-cscsName = lens _cscsName (\ s a -> s{_cscsName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-cscsChangeToken :: Lens' CreateSizeConstraintSet Text-cscsChangeToken = lens _cscsChangeToken (\ s a -> s{_cscsChangeToken = a})--instance AWSRequest CreateSizeConstraintSet where- type Rs CreateSizeConstraintSet =- CreateSizeConstraintSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateSizeConstraintSetResponse' <$>- (x .?> "SizeConstraintSet") <*> (x .?> "ChangeToken")- <*> (pure (fromEnum s)))--instance Hashable CreateSizeConstraintSet where--instance NFData CreateSizeConstraintSet where--instance ToHeaders CreateSizeConstraintSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateSizeConstraintSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateSizeConstraintSet where- toJSON CreateSizeConstraintSet'{..}- = object- (catMaybes- [Just ("Name" .= _cscsName),- Just ("ChangeToken" .= _cscsChangeToken)])--instance ToPath CreateSizeConstraintSet where- toPath = const "/"--instance ToQuery CreateSizeConstraintSet where- toQuery = const mempty---- | /See:/ 'createSizeConstraintSetResponse' smart constructor.-data CreateSizeConstraintSetResponse = CreateSizeConstraintSetResponse'- { _cscsrsSizeConstraintSet :: !(Maybe SizeConstraintSet)- , _cscsrsChangeToken :: !(Maybe Text)- , _cscsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateSizeConstraintSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cscsrsSizeConstraintSet' - A 'SizeConstraintSet' that contains no @SizeConstraint@ objects.------ * 'cscsrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateSizeConstraintSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'cscsrsResponseStatus' - -- | The response status code.-createSizeConstraintSetResponse- :: Int -- ^ 'cscsrsResponseStatus'- -> CreateSizeConstraintSetResponse-createSizeConstraintSetResponse pResponseStatus_ =- CreateSizeConstraintSetResponse'- { _cscsrsSizeConstraintSet = Nothing- , _cscsrsChangeToken = Nothing- , _cscsrsResponseStatus = pResponseStatus_- }----- | A 'SizeConstraintSet' that contains no @SizeConstraint@ objects.-cscsrsSizeConstraintSet :: Lens' CreateSizeConstraintSetResponse (Maybe SizeConstraintSet)-cscsrsSizeConstraintSet = lens _cscsrsSizeConstraintSet (\ s a -> s{_cscsrsSizeConstraintSet = a})---- | The @ChangeToken@ that you used to submit the @CreateSizeConstraintSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-cscsrsChangeToken :: Lens' CreateSizeConstraintSetResponse (Maybe Text)-cscsrsChangeToken = lens _cscsrsChangeToken (\ s a -> s{_cscsrsChangeToken = a})---- | -- | The response status code.-cscsrsResponseStatus :: Lens' CreateSizeConstraintSetResponse Int-cscsrsResponseStatus = lens _cscsrsResponseStatus (\ s a -> s{_cscsrsResponseStatus = a})--instance NFData CreateSizeConstraintSetResponse where
− gen/Network/AWS/WAF/CreateSqlInjectionMatchSet.hs
@@ -1,182 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateSqlInjectionMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a 'SqlInjectionMatchSet' , which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.--------- To create and configure a @SqlInjectionMatchSet@ , perform the following steps:------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateSqlInjectionMatchSet@ request.------ * Submit a @CreateSqlInjectionMatchSet@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateSqlInjectionMatchSet' request.------ * Submit an 'UpdateSqlInjectionMatchSet' request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateSqlInjectionMatchSet- (- -- * Creating a Request- createSqlInjectionMatchSet- , CreateSqlInjectionMatchSet- -- * Request Lenses- , csimsName- , csimsChangeToken-- -- * Destructuring the Response- , createSqlInjectionMatchSetResponse- , CreateSqlInjectionMatchSetResponse- -- * Response Lenses- , csimsrsSqlInjectionMatchSet- , csimsrsChangeToken- , csimsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to create a 'SqlInjectionMatchSet' .------------ /See:/ 'createSqlInjectionMatchSet' smart constructor.-data CreateSqlInjectionMatchSet = CreateSqlInjectionMatchSet'- { _csimsName :: !Text- , _csimsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateSqlInjectionMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csimsName' - A friendly name or description for the 'SqlInjectionMatchSet' that you're creating. You can't change @Name@ after you create the @SqlInjectionMatchSet@ .------ * 'csimsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createSqlInjectionMatchSet- :: Text -- ^ 'csimsName'- -> Text -- ^ 'csimsChangeToken'- -> CreateSqlInjectionMatchSet-createSqlInjectionMatchSet pName_ pChangeToken_ =- CreateSqlInjectionMatchSet'- {_csimsName = pName_, _csimsChangeToken = pChangeToken_}----- | A friendly name or description for the 'SqlInjectionMatchSet' that you're creating. You can't change @Name@ after you create the @SqlInjectionMatchSet@ .-csimsName :: Lens' CreateSqlInjectionMatchSet Text-csimsName = lens _csimsName (\ s a -> s{_csimsName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-csimsChangeToken :: Lens' CreateSqlInjectionMatchSet Text-csimsChangeToken = lens _csimsChangeToken (\ s a -> s{_csimsChangeToken = a})--instance AWSRequest CreateSqlInjectionMatchSet where- type Rs CreateSqlInjectionMatchSet =- CreateSqlInjectionMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateSqlInjectionMatchSetResponse' <$>- (x .?> "SqlInjectionMatchSet") <*>- (x .?> "ChangeToken")- <*> (pure (fromEnum s)))--instance Hashable CreateSqlInjectionMatchSet where--instance NFData CreateSqlInjectionMatchSet where--instance ToHeaders CreateSqlInjectionMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateSqlInjectionMatchSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateSqlInjectionMatchSet where- toJSON CreateSqlInjectionMatchSet'{..}- = object- (catMaybes- [Just ("Name" .= _csimsName),- Just ("ChangeToken" .= _csimsChangeToken)])--instance ToPath CreateSqlInjectionMatchSet where- toPath = const "/"--instance ToQuery CreateSqlInjectionMatchSet where- toQuery = const mempty---- | The response to a @CreateSqlInjectionMatchSet@ request.------------ /See:/ 'createSqlInjectionMatchSetResponse' smart constructor.-data CreateSqlInjectionMatchSetResponse = CreateSqlInjectionMatchSetResponse'- { _csimsrsSqlInjectionMatchSet :: !(Maybe SqlInjectionMatchSet)- , _csimsrsChangeToken :: !(Maybe Text)- , _csimsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateSqlInjectionMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csimsrsSqlInjectionMatchSet' - A 'SqlInjectionMatchSet' .------ * 'csimsrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateSqlInjectionMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'csimsrsResponseStatus' - -- | The response status code.-createSqlInjectionMatchSetResponse- :: Int -- ^ 'csimsrsResponseStatus'- -> CreateSqlInjectionMatchSetResponse-createSqlInjectionMatchSetResponse pResponseStatus_ =- CreateSqlInjectionMatchSetResponse'- { _csimsrsSqlInjectionMatchSet = Nothing- , _csimsrsChangeToken = Nothing- , _csimsrsResponseStatus = pResponseStatus_- }----- | A 'SqlInjectionMatchSet' .-csimsrsSqlInjectionMatchSet :: Lens' CreateSqlInjectionMatchSetResponse (Maybe SqlInjectionMatchSet)-csimsrsSqlInjectionMatchSet = lens _csimsrsSqlInjectionMatchSet (\ s a -> s{_csimsrsSqlInjectionMatchSet = a})---- | The @ChangeToken@ that you used to submit the @CreateSqlInjectionMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-csimsrsChangeToken :: Lens' CreateSqlInjectionMatchSetResponse (Maybe Text)-csimsrsChangeToken = lens _csimsrsChangeToken (\ s a -> s{_csimsrsChangeToken = a})---- | -- | The response status code.-csimsrsResponseStatus :: Lens' CreateSqlInjectionMatchSetResponse Int-csimsrsResponseStatus = lens _csimsrsResponseStatus (\ s a -> s{_csimsrsResponseStatus = a})--instance NFData CreateSqlInjectionMatchSetResponse- where
− gen/Network/AWS/WAF/CreateWebACL.hs
@@ -1,200 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateWebACL--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a @WebACL@ , which contains the @Rules@ that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates @Rules@ in order based on the value of @Priority@ for each @Rule@ .--------- You also specify a default action, either @ALLOW@ or @BLOCK@ . If a web request doesn't match any of the @Rules@ in a @WebACL@ , AWS WAF responds to the request with the default action.------ To create and configure a @WebACL@ , perform the following steps:------ * Create and update the @ByteMatchSet@ objects and other predicates that you want to include in @Rules@ . For more information, see 'CreateByteMatchSet' , 'UpdateByteMatchSet' , 'CreateIPSet' , 'UpdateIPSet' , 'CreateSqlInjectionMatchSet' , and 'UpdateSqlInjectionMatchSet' .------ * Create and update the @Rules@ that you want to include in the @WebACL@ . For more information, see 'CreateRule' and 'UpdateRule' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateWebACL@ request.------ * Submit a @CreateWebACL@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateWebACL' request.------ * Submit an 'UpdateWebACL' request to specify the @Rules@ that you want to include in the @WebACL@ , to specify the default action, and to associate the @WebACL@ with a CloudFront distribution.------------ For more information about how to use the AWS WAF API, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateWebACL- (- -- * Creating a Request- createWebACL- , CreateWebACL- -- * Request Lenses- , cwaName- , cwaMetricName- , cwaDefaultAction- , cwaChangeToken-- -- * Destructuring the Response- , createWebACLResponse- , CreateWebACLResponse- -- * Response Lenses- , cwarsWebACL- , cwarsChangeToken- , cwarsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'createWebACL' smart constructor.-data CreateWebACL = CreateWebACL'- { _cwaName :: !Text- , _cwaMetricName :: !Text- , _cwaDefaultAction :: !WafAction- , _cwaChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateWebACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cwaName' - A friendly name or description of the 'WebACL' . You can't change @Name@ after you create the @WebACL@ .------ * 'cwaMetricName' - A friendly name or description for the metrics for this @WebACL@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change @MetricName@ after you create the @WebACL@ .------ * 'cwaDefaultAction' - The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the @Rule@ objects that are associated with the @WebACL@ .------ * 'cwaChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createWebACL- :: Text -- ^ 'cwaName'- -> Text -- ^ 'cwaMetricName'- -> WafAction -- ^ 'cwaDefaultAction'- -> Text -- ^ 'cwaChangeToken'- -> CreateWebACL-createWebACL pName_ pMetricName_ pDefaultAction_ pChangeToken_ =- CreateWebACL'- { _cwaName = pName_- , _cwaMetricName = pMetricName_- , _cwaDefaultAction = pDefaultAction_- , _cwaChangeToken = pChangeToken_- }----- | A friendly name or description of the 'WebACL' . You can't change @Name@ after you create the @WebACL@ .-cwaName :: Lens' CreateWebACL Text-cwaName = lens _cwaName (\ s a -> s{_cwaName = a})---- | A friendly name or description for the metrics for this @WebACL@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change @MetricName@ after you create the @WebACL@ .-cwaMetricName :: Lens' CreateWebACL Text-cwaMetricName = lens _cwaMetricName (\ s a -> s{_cwaMetricName = a})---- | The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the @Rule@ objects that are associated with the @WebACL@ .-cwaDefaultAction :: Lens' CreateWebACL WafAction-cwaDefaultAction = lens _cwaDefaultAction (\ s a -> s{_cwaDefaultAction = a})---- | The value returned by the most recent call to 'GetChangeToken' .-cwaChangeToken :: Lens' CreateWebACL Text-cwaChangeToken = lens _cwaChangeToken (\ s a -> s{_cwaChangeToken = a})--instance AWSRequest CreateWebACL where- type Rs CreateWebACL = CreateWebACLResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateWebACLResponse' <$>- (x .?> "WebACL") <*> (x .?> "ChangeToken") <*>- (pure (fromEnum s)))--instance Hashable CreateWebACL where--instance NFData CreateWebACL where--instance ToHeaders CreateWebACL where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateWebACL" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateWebACL where- toJSON CreateWebACL'{..}- = object- (catMaybes- [Just ("Name" .= _cwaName),- Just ("MetricName" .= _cwaMetricName),- Just ("DefaultAction" .= _cwaDefaultAction),- Just ("ChangeToken" .= _cwaChangeToken)])--instance ToPath CreateWebACL where- toPath = const "/"--instance ToQuery CreateWebACL where- toQuery = const mempty---- | /See:/ 'createWebACLResponse' smart constructor.-data CreateWebACLResponse = CreateWebACLResponse'- { _cwarsWebACL :: !(Maybe WebACL)- , _cwarsChangeToken :: !(Maybe Text)- , _cwarsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateWebACLResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cwarsWebACL' - The 'WebACL' returned in the @CreateWebACL@ response.------ * 'cwarsChangeToken' - The @ChangeToken@ that you used to submit the @CreateWebACL@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'cwarsResponseStatus' - -- | The response status code.-createWebACLResponse- :: Int -- ^ 'cwarsResponseStatus'- -> CreateWebACLResponse-createWebACLResponse pResponseStatus_ =- CreateWebACLResponse'- { _cwarsWebACL = Nothing- , _cwarsChangeToken = Nothing- , _cwarsResponseStatus = pResponseStatus_- }----- | The 'WebACL' returned in the @CreateWebACL@ response.-cwarsWebACL :: Lens' CreateWebACLResponse (Maybe WebACL)-cwarsWebACL = lens _cwarsWebACL (\ s a -> s{_cwarsWebACL = a})---- | The @ChangeToken@ that you used to submit the @CreateWebACL@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-cwarsChangeToken :: Lens' CreateWebACLResponse (Maybe Text)-cwarsChangeToken = lens _cwarsChangeToken (\ s a -> s{_cwarsChangeToken = a})---- | -- | The response status code.-cwarsResponseStatus :: Lens' CreateWebACLResponse Int-cwarsResponseStatus = lens _cwarsResponseStatus (\ s a -> s{_cwarsResponseStatus = a})--instance NFData CreateWebACLResponse where
− gen/Network/AWS/WAF/CreateXSSMatchSet.hs
@@ -1,177 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.CreateXSSMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Creates an 'XssMatchSet' , which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.--------- To create and configure an @XssMatchSet@ , perform the following steps:------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @CreateXssMatchSet@ request.------ * Submit a @CreateXssMatchSet@ request.------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateXssMatchSet' request.------ * Submit an 'UpdateXssMatchSet' request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.CreateXSSMatchSet- (- -- * Creating a Request- createXSSMatchSet- , CreateXSSMatchSet- -- * Request Lenses- , cxmsName- , cxmsChangeToken-- -- * Destructuring the Response- , createXSSMatchSetResponse- , CreateXSSMatchSetResponse- -- * Response Lenses- , cxmsrsXSSMatchSet- , cxmsrsChangeToken- , cxmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to create an 'XssMatchSet' .------------ /See:/ 'createXSSMatchSet' smart constructor.-data CreateXSSMatchSet = CreateXSSMatchSet'- { _cxmsName :: !Text- , _cxmsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateXSSMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cxmsName' - A friendly name or description for the 'XssMatchSet' that you're creating. You can't change @Name@ after you create the @XssMatchSet@ .------ * 'cxmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-createXSSMatchSet- :: Text -- ^ 'cxmsName'- -> Text -- ^ 'cxmsChangeToken'- -> CreateXSSMatchSet-createXSSMatchSet pName_ pChangeToken_ =- CreateXSSMatchSet' {_cxmsName = pName_, _cxmsChangeToken = pChangeToken_}----- | A friendly name or description for the 'XssMatchSet' that you're creating. You can't change @Name@ after you create the @XssMatchSet@ .-cxmsName :: Lens' CreateXSSMatchSet Text-cxmsName = lens _cxmsName (\ s a -> s{_cxmsName = a})---- | The value returned by the most recent call to 'GetChangeToken' .-cxmsChangeToken :: Lens' CreateXSSMatchSet Text-cxmsChangeToken = lens _cxmsChangeToken (\ s a -> s{_cxmsChangeToken = a})--instance AWSRequest CreateXSSMatchSet where- type Rs CreateXSSMatchSet = CreateXSSMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- CreateXSSMatchSetResponse' <$>- (x .?> "XssMatchSet") <*> (x .?> "ChangeToken") <*>- (pure (fromEnum s)))--instance Hashable CreateXSSMatchSet where--instance NFData CreateXSSMatchSet where--instance ToHeaders CreateXSSMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.CreateXssMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateXSSMatchSet where- toJSON CreateXSSMatchSet'{..}- = object- (catMaybes- [Just ("Name" .= _cxmsName),- Just ("ChangeToken" .= _cxmsChangeToken)])--instance ToPath CreateXSSMatchSet where- toPath = const "/"--instance ToQuery CreateXSSMatchSet where- toQuery = const mempty---- | The response to a @CreateXssMatchSet@ request.------------ /See:/ 'createXSSMatchSetResponse' smart constructor.-data CreateXSSMatchSetResponse = CreateXSSMatchSetResponse'- { _cxmsrsXSSMatchSet :: !(Maybe XSSMatchSet)- , _cxmsrsChangeToken :: !(Maybe Text)- , _cxmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateXSSMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cxmsrsXSSMatchSet' - An 'XssMatchSet' .------ * 'cxmsrsChangeToken' - The @ChangeToken@ that you used to submit the @CreateXssMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'cxmsrsResponseStatus' - -- | The response status code.-createXSSMatchSetResponse- :: Int -- ^ 'cxmsrsResponseStatus'- -> CreateXSSMatchSetResponse-createXSSMatchSetResponse pResponseStatus_ =- CreateXSSMatchSetResponse'- { _cxmsrsXSSMatchSet = Nothing- , _cxmsrsChangeToken = Nothing- , _cxmsrsResponseStatus = pResponseStatus_- }----- | An 'XssMatchSet' .-cxmsrsXSSMatchSet :: Lens' CreateXSSMatchSetResponse (Maybe XSSMatchSet)-cxmsrsXSSMatchSet = lens _cxmsrsXSSMatchSet (\ s a -> s{_cxmsrsXSSMatchSet = a})---- | The @ChangeToken@ that you used to submit the @CreateXssMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-cxmsrsChangeToken :: Lens' CreateXSSMatchSetResponse (Maybe Text)-cxmsrsChangeToken = lens _cxmsrsChangeToken (\ s a -> s{_cxmsrsChangeToken = a})---- | -- | The response status code.-cxmsrsResponseStatus :: Lens' CreateXSSMatchSetResponse Int-cxmsrsResponseStatus = lens _cxmsrsResponseStatus (\ s a -> s{_cxmsrsResponseStatus = a})--instance NFData CreateXSSMatchSetResponse where
− gen/Network/AWS/WAF/DeleteByteMatchSet.hs
@@ -1,157 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteByteMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'ByteMatchSet' . You can't delete a @ByteMatchSet@ if it's still used in any @Rules@ or if it still includes any 'ByteMatchTuple' objects (any filters).--------- If you just want to remove a @ByteMatchSet@ from a @Rule@ , use 'UpdateRule' .------ To permanently delete a @ByteMatchSet@ , perform the following steps:------ * Update the @ByteMatchSet@ to remove filters, if any. For more information, see 'UpdateByteMatchSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteByteMatchSet@ request.------ * Submit a @DeleteByteMatchSet@ request.----------module Network.AWS.WAF.DeleteByteMatchSet- (- -- * Creating a Request- deleteByteMatchSet- , DeleteByteMatchSet- -- * Request Lenses- , dbmsByteMatchSetId- , dbmsChangeToken-- -- * Destructuring the Response- , deleteByteMatchSetResponse- , DeleteByteMatchSetResponse- -- * Response Lenses- , dbmsrsChangeToken- , dbmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteByteMatchSet' smart constructor.-data DeleteByteMatchSet = DeleteByteMatchSet'- { _dbmsByteMatchSetId :: !Text- , _dbmsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteByteMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbmsByteMatchSetId' - The @ByteMatchSetId@ of the 'ByteMatchSet' that you want to delete. @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .------ * 'dbmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteByteMatchSet- :: Text -- ^ 'dbmsByteMatchSetId'- -> Text -- ^ 'dbmsChangeToken'- -> DeleteByteMatchSet-deleteByteMatchSet pByteMatchSetId_ pChangeToken_ =- DeleteByteMatchSet'- {_dbmsByteMatchSetId = pByteMatchSetId_, _dbmsChangeToken = pChangeToken_}----- | The @ByteMatchSetId@ of the 'ByteMatchSet' that you want to delete. @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .-dbmsByteMatchSetId :: Lens' DeleteByteMatchSet Text-dbmsByteMatchSetId = lens _dbmsByteMatchSetId (\ s a -> s{_dbmsByteMatchSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-dbmsChangeToken :: Lens' DeleteByteMatchSet Text-dbmsChangeToken = lens _dbmsChangeToken (\ s a -> s{_dbmsChangeToken = a})--instance AWSRequest DeleteByteMatchSet where- type Rs DeleteByteMatchSet =- DeleteByteMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteByteMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteByteMatchSet where--instance NFData DeleteByteMatchSet where--instance ToHeaders DeleteByteMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteByteMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteByteMatchSet where- toJSON DeleteByteMatchSet'{..}- = object- (catMaybes- [Just ("ByteMatchSetId" .= _dbmsByteMatchSetId),- Just ("ChangeToken" .= _dbmsChangeToken)])--instance ToPath DeleteByteMatchSet where- toPath = const "/"--instance ToQuery DeleteByteMatchSet where- toQuery = const mempty---- | /See:/ 'deleteByteMatchSetResponse' smart constructor.-data DeleteByteMatchSetResponse = DeleteByteMatchSetResponse'- { _dbmsrsChangeToken :: !(Maybe Text)- , _dbmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteByteMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbmsrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteByteMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'dbmsrsResponseStatus' - -- | The response status code.-deleteByteMatchSetResponse- :: Int -- ^ 'dbmsrsResponseStatus'- -> DeleteByteMatchSetResponse-deleteByteMatchSetResponse pResponseStatus_ =- DeleteByteMatchSetResponse'- {_dbmsrsChangeToken = Nothing, _dbmsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteByteMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-dbmsrsChangeToken :: Lens' DeleteByteMatchSetResponse (Maybe Text)-dbmsrsChangeToken = lens _dbmsrsChangeToken (\ s a -> s{_dbmsrsChangeToken = a})---- | -- | The response status code.-dbmsrsResponseStatus :: Lens' DeleteByteMatchSetResponse Int-dbmsrsResponseStatus = lens _dbmsrsResponseStatus (\ s a -> s{_dbmsrsResponseStatus = a})--instance NFData DeleteByteMatchSetResponse where
− gen/Network/AWS/WAF/DeleteGeoMatchSet.hs
@@ -1,156 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteGeoMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'GeoMatchSet' . You can't delete a @GeoMatchSet@ if it's still used in any @Rules@ or if it still includes any countries.--------- If you just want to remove a @GeoMatchSet@ from a @Rule@ , use 'UpdateRule' .------ To permanently delete a @GeoMatchSet@ from AWS WAF, perform the following steps:------ * Update the @GeoMatchSet@ to remove any countries. For more information, see 'UpdateGeoMatchSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteGeoMatchSet@ request.------ * Submit a @DeleteGeoMatchSet@ request.----------module Network.AWS.WAF.DeleteGeoMatchSet- (- -- * Creating a Request- deleteGeoMatchSet- , DeleteGeoMatchSet- -- * Request Lenses- , dgmsGeoMatchSetId- , dgmsChangeToken-- -- * Destructuring the Response- , deleteGeoMatchSetResponse- , DeleteGeoMatchSetResponse- -- * Response Lenses- , dgmsrsChangeToken- , dgmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteGeoMatchSet' smart constructor.-data DeleteGeoMatchSet = DeleteGeoMatchSet'- { _dgmsGeoMatchSetId :: !Text- , _dgmsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteGeoMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dgmsGeoMatchSetId' - The @GeoMatchSetID@ of the 'GeoMatchSet' that you want to delete. @GeoMatchSetId@ is returned by 'CreateGeoMatchSet' and by 'ListGeoMatchSets' .------ * 'dgmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteGeoMatchSet- :: Text -- ^ 'dgmsGeoMatchSetId'- -> Text -- ^ 'dgmsChangeToken'- -> DeleteGeoMatchSet-deleteGeoMatchSet pGeoMatchSetId_ pChangeToken_ =- DeleteGeoMatchSet'- {_dgmsGeoMatchSetId = pGeoMatchSetId_, _dgmsChangeToken = pChangeToken_}----- | The @GeoMatchSetID@ of the 'GeoMatchSet' that you want to delete. @GeoMatchSetId@ is returned by 'CreateGeoMatchSet' and by 'ListGeoMatchSets' .-dgmsGeoMatchSetId :: Lens' DeleteGeoMatchSet Text-dgmsGeoMatchSetId = lens _dgmsGeoMatchSetId (\ s a -> s{_dgmsGeoMatchSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-dgmsChangeToken :: Lens' DeleteGeoMatchSet Text-dgmsChangeToken = lens _dgmsChangeToken (\ s a -> s{_dgmsChangeToken = a})--instance AWSRequest DeleteGeoMatchSet where- type Rs DeleteGeoMatchSet = DeleteGeoMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteGeoMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteGeoMatchSet where--instance NFData DeleteGeoMatchSet where--instance ToHeaders DeleteGeoMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteGeoMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteGeoMatchSet where- toJSON DeleteGeoMatchSet'{..}- = object- (catMaybes- [Just ("GeoMatchSetId" .= _dgmsGeoMatchSetId),- Just ("ChangeToken" .= _dgmsChangeToken)])--instance ToPath DeleteGeoMatchSet where- toPath = const "/"--instance ToQuery DeleteGeoMatchSet where- toQuery = const mempty---- | /See:/ 'deleteGeoMatchSetResponse' smart constructor.-data DeleteGeoMatchSetResponse = DeleteGeoMatchSetResponse'- { _dgmsrsChangeToken :: !(Maybe Text)- , _dgmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteGeoMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dgmsrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteGeoMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'dgmsrsResponseStatus' - -- | The response status code.-deleteGeoMatchSetResponse- :: Int -- ^ 'dgmsrsResponseStatus'- -> DeleteGeoMatchSetResponse-deleteGeoMatchSetResponse pResponseStatus_ =- DeleteGeoMatchSetResponse'- {_dgmsrsChangeToken = Nothing, _dgmsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteGeoMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-dgmsrsChangeToken :: Lens' DeleteGeoMatchSetResponse (Maybe Text)-dgmsrsChangeToken = lens _dgmsrsChangeToken (\ s a -> s{_dgmsrsChangeToken = a})---- | -- | The response status code.-dgmsrsResponseStatus :: Lens' DeleteGeoMatchSetResponse Int-dgmsrsResponseStatus = lens _dgmsrsResponseStatus (\ s a -> s{_dgmsrsResponseStatus = a})--instance NFData DeleteGeoMatchSetResponse where
− gen/Network/AWS/WAF/DeleteIPSet.hs
@@ -1,155 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteIPSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes an 'IPSet' . You can't delete an @IPSet@ if it's still used in any @Rules@ or if it still includes any IP addresses.--------- If you just want to remove an @IPSet@ from a @Rule@ , use 'UpdateRule' .------ To permanently delete an @IPSet@ from AWS WAF, perform the following steps:------ * Update the @IPSet@ to remove IP address ranges, if any. For more information, see 'UpdateIPSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteIPSet@ request.------ * Submit a @DeleteIPSet@ request.----------module Network.AWS.WAF.DeleteIPSet- (- -- * Creating a Request- deleteIPSet- , DeleteIPSet- -- * Request Lenses- , disIPSetId- , disChangeToken-- -- * Destructuring the Response- , deleteIPSetResponse- , DeleteIPSetResponse- -- * Response Lenses- , disrsChangeToken- , disrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteIPSet' smart constructor.-data DeleteIPSet = DeleteIPSet'- { _disIPSetId :: !Text- , _disChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteIPSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'disIPSetId' - The @IPSetId@ of the 'IPSet' that you want to delete. @IPSetId@ is returned by 'CreateIPSet' and by 'ListIPSets' .------ * 'disChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteIPSet- :: Text -- ^ 'disIPSetId'- -> Text -- ^ 'disChangeToken'- -> DeleteIPSet-deleteIPSet pIPSetId_ pChangeToken_ =- DeleteIPSet' {_disIPSetId = pIPSetId_, _disChangeToken = pChangeToken_}----- | The @IPSetId@ of the 'IPSet' that you want to delete. @IPSetId@ is returned by 'CreateIPSet' and by 'ListIPSets' .-disIPSetId :: Lens' DeleteIPSet Text-disIPSetId = lens _disIPSetId (\ s a -> s{_disIPSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-disChangeToken :: Lens' DeleteIPSet Text-disChangeToken = lens _disChangeToken (\ s a -> s{_disChangeToken = a})--instance AWSRequest DeleteIPSet where- type Rs DeleteIPSet = DeleteIPSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteIPSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteIPSet where--instance NFData DeleteIPSet where--instance ToHeaders DeleteIPSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteIPSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteIPSet where- toJSON DeleteIPSet'{..}- = object- (catMaybes- [Just ("IPSetId" .= _disIPSetId),- Just ("ChangeToken" .= _disChangeToken)])--instance ToPath DeleteIPSet where- toPath = const "/"--instance ToQuery DeleteIPSet where- toQuery = const mempty---- | /See:/ 'deleteIPSetResponse' smart constructor.-data DeleteIPSetResponse = DeleteIPSetResponse'- { _disrsChangeToken :: !(Maybe Text)- , _disrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteIPSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'disrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteIPSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'disrsResponseStatus' - -- | The response status code.-deleteIPSetResponse- :: Int -- ^ 'disrsResponseStatus'- -> DeleteIPSetResponse-deleteIPSetResponse pResponseStatus_ =- DeleteIPSetResponse'- {_disrsChangeToken = Nothing, _disrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteIPSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-disrsChangeToken :: Lens' DeleteIPSetResponse (Maybe Text)-disrsChangeToken = lens _disrsChangeToken (\ s a -> s{_disrsChangeToken = a})---- | -- | The response status code.-disrsResponseStatus :: Lens' DeleteIPSetResponse Int-disrsResponseStatus = lens _disrsResponseStatus (\ s a -> s{_disrsResponseStatus = a})--instance NFData DeleteIPSetResponse where
− gen/Network/AWS/WAF/DeletePermissionPolicy.hs
@@ -1,127 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeletePermissionPolicy--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes an IAM policy from the specified RuleGroup.--------- The user making the request must be the owner of the RuleGroup.----module Network.AWS.WAF.DeletePermissionPolicy- (- -- * Creating a Request- deletePermissionPolicy- , DeletePermissionPolicy- -- * Request Lenses- , dppResourceARN-- -- * Destructuring the Response- , deletePermissionPolicyResponse- , DeletePermissionPolicyResponse- -- * Response Lenses- , dpprsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deletePermissionPolicy' smart constructor.-newtype DeletePermissionPolicy = DeletePermissionPolicy'- { _dppResourceARN :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeletePermissionPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dppResourceARN' - The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete the policy. The user making the request must be the owner of the RuleGroup.-deletePermissionPolicy- :: Text -- ^ 'dppResourceARN'- -> DeletePermissionPolicy-deletePermissionPolicy pResourceARN_ =- DeletePermissionPolicy' {_dppResourceARN = pResourceARN_}----- | The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete the policy. The user making the request must be the owner of the RuleGroup.-dppResourceARN :: Lens' DeletePermissionPolicy Text-dppResourceARN = lens _dppResourceARN (\ s a -> s{_dppResourceARN = a})--instance AWSRequest DeletePermissionPolicy where- type Rs DeletePermissionPolicy =- DeletePermissionPolicyResponse- request = postJSON waf- response- = receiveEmpty- (\ s h x ->- DeletePermissionPolicyResponse' <$>- (pure (fromEnum s)))--instance Hashable DeletePermissionPolicy where--instance NFData DeletePermissionPolicy where--instance ToHeaders DeletePermissionPolicy where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeletePermissionPolicy" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeletePermissionPolicy where- toJSON DeletePermissionPolicy'{..}- = object- (catMaybes [Just ("ResourceArn" .= _dppResourceARN)])--instance ToPath DeletePermissionPolicy where- toPath = const "/"--instance ToQuery DeletePermissionPolicy where- toQuery = const mempty---- | /See:/ 'deletePermissionPolicyResponse' smart constructor.-newtype DeletePermissionPolicyResponse = DeletePermissionPolicyResponse'- { _dpprsResponseStatus :: Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeletePermissionPolicyResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dpprsResponseStatus' - -- | The response status code.-deletePermissionPolicyResponse- :: Int -- ^ 'dpprsResponseStatus'- -> DeletePermissionPolicyResponse-deletePermissionPolicyResponse pResponseStatus_ =- DeletePermissionPolicyResponse' {_dpprsResponseStatus = pResponseStatus_}----- | -- | The response status code.-dpprsResponseStatus :: Lens' DeletePermissionPolicyResponse Int-dpprsResponseStatus = lens _dpprsResponseStatus (\ s a -> s{_dpprsResponseStatus = a})--instance NFData DeletePermissionPolicyResponse where
− gen/Network/AWS/WAF/DeleteRateBasedRule.hs
@@ -1,158 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteRateBasedRule--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'RateBasedRule' . You can't delete a rule if it's still used in any @WebACL@ objects or if it still includes any predicates, such as @ByteMatchSet@ objects.--------- If you just want to remove a rule from a @WebACL@ , use 'UpdateWebACL' .------ To permanently delete a @RateBasedRule@ from AWS WAF, perform the following steps:------ * Update the @RateBasedRule@ to remove predicates, if any. For more information, see 'UpdateRateBasedRule' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteRateBasedRule@ request.------ * Submit a @DeleteRateBasedRule@ request.----------module Network.AWS.WAF.DeleteRateBasedRule- (- -- * Creating a Request- deleteRateBasedRule- , DeleteRateBasedRule- -- * Request Lenses- , drbrRuleId- , drbrChangeToken-- -- * Destructuring the Response- , deleteRateBasedRuleResponse- , DeleteRateBasedRuleResponse- -- * Response Lenses- , drbrrsChangeToken- , drbrrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteRateBasedRule' smart constructor.-data DeleteRateBasedRule = DeleteRateBasedRule'- { _drbrRuleId :: !Text- , _drbrChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRateBasedRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drbrRuleId' - The @RuleId@ of the 'RateBasedRule' that you want to delete. @RuleId@ is returned by 'CreateRateBasedRule' and by 'ListRateBasedRules' .------ * 'drbrChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteRateBasedRule- :: Text -- ^ 'drbrRuleId'- -> Text -- ^ 'drbrChangeToken'- -> DeleteRateBasedRule-deleteRateBasedRule pRuleId_ pChangeToken_ =- DeleteRateBasedRule'- {_drbrRuleId = pRuleId_, _drbrChangeToken = pChangeToken_}----- | The @RuleId@ of the 'RateBasedRule' that you want to delete. @RuleId@ is returned by 'CreateRateBasedRule' and by 'ListRateBasedRules' .-drbrRuleId :: Lens' DeleteRateBasedRule Text-drbrRuleId = lens _drbrRuleId (\ s a -> s{_drbrRuleId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-drbrChangeToken :: Lens' DeleteRateBasedRule Text-drbrChangeToken = lens _drbrChangeToken (\ s a -> s{_drbrChangeToken = a})--instance AWSRequest DeleteRateBasedRule where- type Rs DeleteRateBasedRule =- DeleteRateBasedRuleResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteRateBasedRuleResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteRateBasedRule where--instance NFData DeleteRateBasedRule where--instance ToHeaders DeleteRateBasedRule where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteRateBasedRule" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteRateBasedRule where- toJSON DeleteRateBasedRule'{..}- = object- (catMaybes- [Just ("RuleId" .= _drbrRuleId),- Just ("ChangeToken" .= _drbrChangeToken)])--instance ToPath DeleteRateBasedRule where- toPath = const "/"--instance ToQuery DeleteRateBasedRule where- toQuery = const mempty---- | /See:/ 'deleteRateBasedRuleResponse' smart constructor.-data DeleteRateBasedRuleResponse = DeleteRateBasedRuleResponse'- { _drbrrsChangeToken :: !(Maybe Text)- , _drbrrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRateBasedRuleResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drbrrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteRateBasedRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'drbrrsResponseStatus' - -- | The response status code.-deleteRateBasedRuleResponse- :: Int -- ^ 'drbrrsResponseStatus'- -> DeleteRateBasedRuleResponse-deleteRateBasedRuleResponse pResponseStatus_ =- DeleteRateBasedRuleResponse'- {_drbrrsChangeToken = Nothing, _drbrrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteRateBasedRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-drbrrsChangeToken :: Lens' DeleteRateBasedRuleResponse (Maybe Text)-drbrrsChangeToken = lens _drbrrsChangeToken (\ s a -> s{_drbrrsChangeToken = a})---- | -- | The response status code.-drbrrsResponseStatus :: Lens' DeleteRateBasedRuleResponse Int-drbrrsResponseStatus = lens _drbrrsResponseStatus (\ s a -> s{_drbrrsResponseStatus = a})--instance NFData DeleteRateBasedRuleResponse where
− gen/Network/AWS/WAF/DeleteRegexMatchSet.hs
@@ -1,158 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteRegexMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'RegexMatchSet' . You can't delete a @RegexMatchSet@ if it's still used in any @Rules@ or if it still includes any @RegexMatchTuples@ objects (any filters).--------- If you just want to remove a @RegexMatchSet@ from a @Rule@ , use 'UpdateRule' .------ To permanently delete a @RegexMatchSet@ , perform the following steps:------ * Update the @RegexMatchSet@ to remove filters, if any. For more information, see 'UpdateRegexMatchSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteRegexMatchSet@ request.------ * Submit a @DeleteRegexMatchSet@ request.----------module Network.AWS.WAF.DeleteRegexMatchSet- (- -- * Creating a Request- deleteRegexMatchSet- , DeleteRegexMatchSet- -- * Request Lenses- , drmsRegexMatchSetId- , drmsChangeToken-- -- * Destructuring the Response- , deleteRegexMatchSetResponse- , DeleteRegexMatchSetResponse- -- * Response Lenses- , drmsrsChangeToken- , drmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteRegexMatchSet' smart constructor.-data DeleteRegexMatchSet = DeleteRegexMatchSet'- { _drmsRegexMatchSetId :: !Text- , _drmsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRegexMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drmsRegexMatchSetId' - The @RegexMatchSetId@ of the 'RegexMatchSet' that you want to delete. @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .------ * 'drmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteRegexMatchSet- :: Text -- ^ 'drmsRegexMatchSetId'- -> Text -- ^ 'drmsChangeToken'- -> DeleteRegexMatchSet-deleteRegexMatchSet pRegexMatchSetId_ pChangeToken_ =- DeleteRegexMatchSet'- {_drmsRegexMatchSetId = pRegexMatchSetId_, _drmsChangeToken = pChangeToken_}----- | The @RegexMatchSetId@ of the 'RegexMatchSet' that you want to delete. @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .-drmsRegexMatchSetId :: Lens' DeleteRegexMatchSet Text-drmsRegexMatchSetId = lens _drmsRegexMatchSetId (\ s a -> s{_drmsRegexMatchSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-drmsChangeToken :: Lens' DeleteRegexMatchSet Text-drmsChangeToken = lens _drmsChangeToken (\ s a -> s{_drmsChangeToken = a})--instance AWSRequest DeleteRegexMatchSet where- type Rs DeleteRegexMatchSet =- DeleteRegexMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteRegexMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteRegexMatchSet where--instance NFData DeleteRegexMatchSet where--instance ToHeaders DeleteRegexMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteRegexMatchSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteRegexMatchSet where- toJSON DeleteRegexMatchSet'{..}- = object- (catMaybes- [Just ("RegexMatchSetId" .= _drmsRegexMatchSetId),- Just ("ChangeToken" .= _drmsChangeToken)])--instance ToPath DeleteRegexMatchSet where- toPath = const "/"--instance ToQuery DeleteRegexMatchSet where- toQuery = const mempty---- | /See:/ 'deleteRegexMatchSetResponse' smart constructor.-data DeleteRegexMatchSetResponse = DeleteRegexMatchSetResponse'- { _drmsrsChangeToken :: !(Maybe Text)- , _drmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRegexMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drmsrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteRegexMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'drmsrsResponseStatus' - -- | The response status code.-deleteRegexMatchSetResponse- :: Int -- ^ 'drmsrsResponseStatus'- -> DeleteRegexMatchSetResponse-deleteRegexMatchSetResponse pResponseStatus_ =- DeleteRegexMatchSetResponse'- {_drmsrsChangeToken = Nothing, _drmsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteRegexMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-drmsrsChangeToken :: Lens' DeleteRegexMatchSetResponse (Maybe Text)-drmsrsChangeToken = lens _drmsrsChangeToken (\ s a -> s{_drmsrsChangeToken = a})---- | -- | The response status code.-drmsrsResponseStatus :: Lens' DeleteRegexMatchSetResponse Int-drmsrsResponseStatus = lens _drmsrsResponseStatus (\ s a -> s{_drmsrsResponseStatus = a})--instance NFData DeleteRegexMatchSetResponse where
− gen/Network/AWS/WAF/DeleteRegexPatternSet.hs
@@ -1,149 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteRegexPatternSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'RegexPatternSet' . You can't delete a @RegexPatternSet@ if it's still used in any @RegexMatchSet@ or if the @RegexPatternSet@ is not empty.-------module Network.AWS.WAF.DeleteRegexPatternSet- (- -- * Creating a Request- deleteRegexPatternSet- , DeleteRegexPatternSet- -- * Request Lenses- , drpsRegexPatternSetId- , drpsChangeToken-- -- * Destructuring the Response- , deleteRegexPatternSetResponse- , DeleteRegexPatternSetResponse- -- * Response Lenses- , drpsrsChangeToken- , drpsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteRegexPatternSet' smart constructor.-data DeleteRegexPatternSet = DeleteRegexPatternSet'- { _drpsRegexPatternSetId :: !Text- , _drpsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRegexPatternSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drpsRegexPatternSetId' - The @RegexPatternSetId@ of the 'RegexPatternSet' that you want to delete. @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .------ * 'drpsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteRegexPatternSet- :: Text -- ^ 'drpsRegexPatternSetId'- -> Text -- ^ 'drpsChangeToken'- -> DeleteRegexPatternSet-deleteRegexPatternSet pRegexPatternSetId_ pChangeToken_ =- DeleteRegexPatternSet'- { _drpsRegexPatternSetId = pRegexPatternSetId_- , _drpsChangeToken = pChangeToken_- }----- | The @RegexPatternSetId@ of the 'RegexPatternSet' that you want to delete. @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .-drpsRegexPatternSetId :: Lens' DeleteRegexPatternSet Text-drpsRegexPatternSetId = lens _drpsRegexPatternSetId (\ s a -> s{_drpsRegexPatternSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-drpsChangeToken :: Lens' DeleteRegexPatternSet Text-drpsChangeToken = lens _drpsChangeToken (\ s a -> s{_drpsChangeToken = a})--instance AWSRequest DeleteRegexPatternSet where- type Rs DeleteRegexPatternSet =- DeleteRegexPatternSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteRegexPatternSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteRegexPatternSet where--instance NFData DeleteRegexPatternSet where--instance ToHeaders DeleteRegexPatternSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteRegexPatternSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteRegexPatternSet where- toJSON DeleteRegexPatternSet'{..}- = object- (catMaybes- [Just- ("RegexPatternSetId" .= _drpsRegexPatternSetId),- Just ("ChangeToken" .= _drpsChangeToken)])--instance ToPath DeleteRegexPatternSet where- toPath = const "/"--instance ToQuery DeleteRegexPatternSet where- toQuery = const mempty---- | /See:/ 'deleteRegexPatternSetResponse' smart constructor.-data DeleteRegexPatternSetResponse = DeleteRegexPatternSetResponse'- { _drpsrsChangeToken :: !(Maybe Text)- , _drpsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRegexPatternSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drpsrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteRegexPatternSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'drpsrsResponseStatus' - -- | The response status code.-deleteRegexPatternSetResponse- :: Int -- ^ 'drpsrsResponseStatus'- -> DeleteRegexPatternSetResponse-deleteRegexPatternSetResponse pResponseStatus_ =- DeleteRegexPatternSetResponse'- {_drpsrsChangeToken = Nothing, _drpsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteRegexPatternSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-drpsrsChangeToken :: Lens' DeleteRegexPatternSetResponse (Maybe Text)-drpsrsChangeToken = lens _drpsrsChangeToken (\ s a -> s{_drpsrsChangeToken = a})---- | -- | The response status code.-drpsrsResponseStatus :: Lens' DeleteRegexPatternSetResponse Int-drpsrsResponseStatus = lens _drpsrsResponseStatus (\ s a -> s{_drpsrsResponseStatus = a})--instance NFData DeleteRegexPatternSetResponse where
− gen/Network/AWS/WAF/DeleteRule.hs
@@ -1,155 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteRule--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'Rule' . You can't delete a @Rule@ if it's still used in any @WebACL@ objects or if it still includes any predicates, such as @ByteMatchSet@ objects.--------- If you just want to remove a @Rule@ from a @WebACL@ , use 'UpdateWebACL' .------ To permanently delete a @Rule@ from AWS WAF, perform the following steps:------ * Update the @Rule@ to remove predicates, if any. For more information, see 'UpdateRule' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteRule@ request.------ * Submit a @DeleteRule@ request.----------module Network.AWS.WAF.DeleteRule- (- -- * Creating a Request- deleteRule- , DeleteRule- -- * Request Lenses- , drRuleId- , drChangeToken-- -- * Destructuring the Response- , deleteRuleResponse- , DeleteRuleResponse- -- * Response Lenses- , drrsChangeToken- , drrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteRule' smart constructor.-data DeleteRule = DeleteRule'- { _drRuleId :: !Text- , _drChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drRuleId' - The @RuleId@ of the 'Rule' that you want to delete. @RuleId@ is returned by 'CreateRule' and by 'ListRules' .------ * 'drChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteRule- :: Text -- ^ 'drRuleId'- -> Text -- ^ 'drChangeToken'- -> DeleteRule-deleteRule pRuleId_ pChangeToken_ =- DeleteRule' {_drRuleId = pRuleId_, _drChangeToken = pChangeToken_}----- | The @RuleId@ of the 'Rule' that you want to delete. @RuleId@ is returned by 'CreateRule' and by 'ListRules' .-drRuleId :: Lens' DeleteRule Text-drRuleId = lens _drRuleId (\ s a -> s{_drRuleId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-drChangeToken :: Lens' DeleteRule Text-drChangeToken = lens _drChangeToken (\ s a -> s{_drChangeToken = a})--instance AWSRequest DeleteRule where- type Rs DeleteRule = DeleteRuleResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteRuleResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteRule where--instance NFData DeleteRule where--instance ToHeaders DeleteRule where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteRule" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteRule where- toJSON DeleteRule'{..}- = object- (catMaybes- [Just ("RuleId" .= _drRuleId),- Just ("ChangeToken" .= _drChangeToken)])--instance ToPath DeleteRule where- toPath = const "/"--instance ToQuery DeleteRule where- toQuery = const mempty---- | /See:/ 'deleteRuleResponse' smart constructor.-data DeleteRuleResponse = DeleteRuleResponse'- { _drrsChangeToken :: !(Maybe Text)- , _drrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRuleResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'drrsResponseStatus' - -- | The response status code.-deleteRuleResponse- :: Int -- ^ 'drrsResponseStatus'- -> DeleteRuleResponse-deleteRuleResponse pResponseStatus_ =- DeleteRuleResponse'- {_drrsChangeToken = Nothing, _drrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-drrsChangeToken :: Lens' DeleteRuleResponse (Maybe Text)-drrsChangeToken = lens _drrsChangeToken (\ s a -> s{_drrsChangeToken = a})---- | -- | The response status code.-drrsResponseStatus :: Lens' DeleteRuleResponse Int-drrsResponseStatus = lens _drrsResponseStatus (\ s a -> s{_drrsResponseStatus = a})--instance NFData DeleteRuleResponse where
− gen/Network/AWS/WAF/DeleteRuleGroup.hs
@@ -1,156 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteRuleGroup--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'RuleGroup' . You can't delete a @RuleGroup@ if it's still used in any @WebACL@ objects or if it still includes any rules.--------- If you just want to remove a @RuleGroup@ from a @WebACL@ , use 'UpdateWebACL' .------ To permanently delete a @RuleGroup@ from AWS WAF, perform the following steps:------ * Update the @RuleGroup@ to remove rules, if any. For more information, see 'UpdateRuleGroup' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteRuleGroup@ request.------ * Submit a @DeleteRuleGroup@ request.----------module Network.AWS.WAF.DeleteRuleGroup- (- -- * Creating a Request- deleteRuleGroup- , DeleteRuleGroup- -- * Request Lenses- , drgRuleGroupId- , drgChangeToken-- -- * Destructuring the Response- , deleteRuleGroupResponse- , DeleteRuleGroupResponse- -- * Response Lenses- , drgrsChangeToken- , drgrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteRuleGroup' smart constructor.-data DeleteRuleGroup = DeleteRuleGroup'- { _drgRuleGroupId :: !Text- , _drgChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRuleGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drgRuleGroupId' - The @RuleGroupId@ of the 'RuleGroup' that you want to delete. @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .------ * 'drgChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteRuleGroup- :: Text -- ^ 'drgRuleGroupId'- -> Text -- ^ 'drgChangeToken'- -> DeleteRuleGroup-deleteRuleGroup pRuleGroupId_ pChangeToken_ =- DeleteRuleGroup'- {_drgRuleGroupId = pRuleGroupId_, _drgChangeToken = pChangeToken_}----- | The @RuleGroupId@ of the 'RuleGroup' that you want to delete. @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .-drgRuleGroupId :: Lens' DeleteRuleGroup Text-drgRuleGroupId = lens _drgRuleGroupId (\ s a -> s{_drgRuleGroupId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-drgChangeToken :: Lens' DeleteRuleGroup Text-drgChangeToken = lens _drgChangeToken (\ s a -> s{_drgChangeToken = a})--instance AWSRequest DeleteRuleGroup where- type Rs DeleteRuleGroup = DeleteRuleGroupResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteRuleGroupResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteRuleGroup where--instance NFData DeleteRuleGroup where--instance ToHeaders DeleteRuleGroup where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteRuleGroup" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteRuleGroup where- toJSON DeleteRuleGroup'{..}- = object- (catMaybes- [Just ("RuleGroupId" .= _drgRuleGroupId),- Just ("ChangeToken" .= _drgChangeToken)])--instance ToPath DeleteRuleGroup where- toPath = const "/"--instance ToQuery DeleteRuleGroup where- toQuery = const mempty---- | /See:/ 'deleteRuleGroupResponse' smart constructor.-data DeleteRuleGroupResponse = DeleteRuleGroupResponse'- { _drgrsChangeToken :: !(Maybe Text)- , _drgrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRuleGroupResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drgrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteRuleGroup@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'drgrsResponseStatus' - -- | The response status code.-deleteRuleGroupResponse- :: Int -- ^ 'drgrsResponseStatus'- -> DeleteRuleGroupResponse-deleteRuleGroupResponse pResponseStatus_ =- DeleteRuleGroupResponse'- {_drgrsChangeToken = Nothing, _drgrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteRuleGroup@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-drgrsChangeToken :: Lens' DeleteRuleGroupResponse (Maybe Text)-drgrsChangeToken = lens _drgrsChangeToken (\ s a -> s{_drgrsChangeToken = a})---- | -- | The response status code.-drgrsResponseStatus :: Lens' DeleteRuleGroupResponse Int-drgrsResponseStatus = lens _drgrsResponseStatus (\ s a -> s{_drgrsResponseStatus = a})--instance NFData DeleteRuleGroupResponse where
− gen/Network/AWS/WAF/DeleteSizeConstraintSet.hs
@@ -1,161 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteSizeConstraintSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'SizeConstraintSet' . You can't delete a @SizeConstraintSet@ if it's still used in any @Rules@ or if it still includes any 'SizeConstraint' objects (any filters).--------- If you just want to remove a @SizeConstraintSet@ from a @Rule@ , use 'UpdateRule' .------ To permanently delete a @SizeConstraintSet@ , perform the following steps:------ * Update the @SizeConstraintSet@ to remove filters, if any. For more information, see 'UpdateSizeConstraintSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteSizeConstraintSet@ request.------ * Submit a @DeleteSizeConstraintSet@ request.----------module Network.AWS.WAF.DeleteSizeConstraintSet- (- -- * Creating a Request- deleteSizeConstraintSet- , DeleteSizeConstraintSet- -- * Request Lenses- , dscsSizeConstraintSetId- , dscsChangeToken-- -- * Destructuring the Response- , deleteSizeConstraintSetResponse- , DeleteSizeConstraintSetResponse- -- * Response Lenses- , dscsrsChangeToken- , dscsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteSizeConstraintSet' smart constructor.-data DeleteSizeConstraintSet = DeleteSizeConstraintSet'- { _dscsSizeConstraintSetId :: !Text- , _dscsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteSizeConstraintSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dscsSizeConstraintSetId' - The @SizeConstraintSetId@ of the 'SizeConstraintSet' that you want to delete. @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .------ * 'dscsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteSizeConstraintSet- :: Text -- ^ 'dscsSizeConstraintSetId'- -> Text -- ^ 'dscsChangeToken'- -> DeleteSizeConstraintSet-deleteSizeConstraintSet pSizeConstraintSetId_ pChangeToken_ =- DeleteSizeConstraintSet'- { _dscsSizeConstraintSetId = pSizeConstraintSetId_- , _dscsChangeToken = pChangeToken_- }----- | The @SizeConstraintSetId@ of the 'SizeConstraintSet' that you want to delete. @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .-dscsSizeConstraintSetId :: Lens' DeleteSizeConstraintSet Text-dscsSizeConstraintSetId = lens _dscsSizeConstraintSetId (\ s a -> s{_dscsSizeConstraintSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-dscsChangeToken :: Lens' DeleteSizeConstraintSet Text-dscsChangeToken = lens _dscsChangeToken (\ s a -> s{_dscsChangeToken = a})--instance AWSRequest DeleteSizeConstraintSet where- type Rs DeleteSizeConstraintSet =- DeleteSizeConstraintSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteSizeConstraintSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteSizeConstraintSet where--instance NFData DeleteSizeConstraintSet where--instance ToHeaders DeleteSizeConstraintSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteSizeConstraintSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteSizeConstraintSet where- toJSON DeleteSizeConstraintSet'{..}- = object- (catMaybes- [Just- ("SizeConstraintSetId" .= _dscsSizeConstraintSetId),- Just ("ChangeToken" .= _dscsChangeToken)])--instance ToPath DeleteSizeConstraintSet where- toPath = const "/"--instance ToQuery DeleteSizeConstraintSet where- toQuery = const mempty---- | /See:/ 'deleteSizeConstraintSetResponse' smart constructor.-data DeleteSizeConstraintSetResponse = DeleteSizeConstraintSetResponse'- { _dscsrsChangeToken :: !(Maybe Text)- , _dscsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteSizeConstraintSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dscsrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteSizeConstraintSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'dscsrsResponseStatus' - -- | The response status code.-deleteSizeConstraintSetResponse- :: Int -- ^ 'dscsrsResponseStatus'- -> DeleteSizeConstraintSetResponse-deleteSizeConstraintSetResponse pResponseStatus_ =- DeleteSizeConstraintSetResponse'- {_dscsrsChangeToken = Nothing, _dscsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteSizeConstraintSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-dscsrsChangeToken :: Lens' DeleteSizeConstraintSetResponse (Maybe Text)-dscsrsChangeToken = lens _dscsrsChangeToken (\ s a -> s{_dscsrsChangeToken = a})---- | -- | The response status code.-dscsrsResponseStatus :: Lens' DeleteSizeConstraintSetResponse Int-dscsrsResponseStatus = lens _dscsrsResponseStatus (\ s a -> s{_dscsrsResponseStatus = a})--instance NFData DeleteSizeConstraintSetResponse where
− gen/Network/AWS/WAF/DeleteSqlInjectionMatchSet.hs
@@ -1,171 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteSqlInjectionMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'SqlInjectionMatchSet' . You can't delete a @SqlInjectionMatchSet@ if it's still used in any @Rules@ or if it still contains any 'SqlInjectionMatchTuple' objects.--------- If you just want to remove a @SqlInjectionMatchSet@ from a @Rule@ , use 'UpdateRule' .------ To permanently delete a @SqlInjectionMatchSet@ from AWS WAF, perform the following steps:------ * Update the @SqlInjectionMatchSet@ to remove filters, if any. For more information, see 'UpdateSqlInjectionMatchSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteSqlInjectionMatchSet@ request.------ * Submit a @DeleteSqlInjectionMatchSet@ request.----------module Network.AWS.WAF.DeleteSqlInjectionMatchSet- (- -- * Creating a Request- deleteSqlInjectionMatchSet- , DeleteSqlInjectionMatchSet- -- * Request Lenses- , dsimsSqlInjectionMatchSetId- , dsimsChangeToken-- -- * Destructuring the Response- , deleteSqlInjectionMatchSetResponse- , DeleteSqlInjectionMatchSetResponse- -- * Response Lenses- , dsimsrsChangeToken- , dsimsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to delete a 'SqlInjectionMatchSet' from AWS WAF.------------ /See:/ 'deleteSqlInjectionMatchSet' smart constructor.-data DeleteSqlInjectionMatchSet = DeleteSqlInjectionMatchSet'- { _dsimsSqlInjectionMatchSetId :: !Text- , _dsimsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteSqlInjectionMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsimsSqlInjectionMatchSetId' - The @SqlInjectionMatchSetId@ of the 'SqlInjectionMatchSet' that you want to delete. @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .------ * 'dsimsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteSqlInjectionMatchSet- :: Text -- ^ 'dsimsSqlInjectionMatchSetId'- -> Text -- ^ 'dsimsChangeToken'- -> DeleteSqlInjectionMatchSet-deleteSqlInjectionMatchSet pSqlInjectionMatchSetId_ pChangeToken_ =- DeleteSqlInjectionMatchSet'- { _dsimsSqlInjectionMatchSetId = pSqlInjectionMatchSetId_- , _dsimsChangeToken = pChangeToken_- }----- | The @SqlInjectionMatchSetId@ of the 'SqlInjectionMatchSet' that you want to delete. @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .-dsimsSqlInjectionMatchSetId :: Lens' DeleteSqlInjectionMatchSet Text-dsimsSqlInjectionMatchSetId = lens _dsimsSqlInjectionMatchSetId (\ s a -> s{_dsimsSqlInjectionMatchSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-dsimsChangeToken :: Lens' DeleteSqlInjectionMatchSet Text-dsimsChangeToken = lens _dsimsChangeToken (\ s a -> s{_dsimsChangeToken = a})--instance AWSRequest DeleteSqlInjectionMatchSet where- type Rs DeleteSqlInjectionMatchSet =- DeleteSqlInjectionMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteSqlInjectionMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteSqlInjectionMatchSet where--instance NFData DeleteSqlInjectionMatchSet where--instance ToHeaders DeleteSqlInjectionMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteSqlInjectionMatchSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteSqlInjectionMatchSet where- toJSON DeleteSqlInjectionMatchSet'{..}- = object- (catMaybes- [Just- ("SqlInjectionMatchSetId" .=- _dsimsSqlInjectionMatchSetId),- Just ("ChangeToken" .= _dsimsChangeToken)])--instance ToPath DeleteSqlInjectionMatchSet where- toPath = const "/"--instance ToQuery DeleteSqlInjectionMatchSet where- toQuery = const mempty---- | The response to a request to delete a 'SqlInjectionMatchSet' from AWS WAF.------------ /See:/ 'deleteSqlInjectionMatchSetResponse' smart constructor.-data DeleteSqlInjectionMatchSetResponse = DeleteSqlInjectionMatchSetResponse'- { _dsimsrsChangeToken :: !(Maybe Text)- , _dsimsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteSqlInjectionMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsimsrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteSqlInjectionMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'dsimsrsResponseStatus' - -- | The response status code.-deleteSqlInjectionMatchSetResponse- :: Int -- ^ 'dsimsrsResponseStatus'- -> DeleteSqlInjectionMatchSetResponse-deleteSqlInjectionMatchSetResponse pResponseStatus_ =- DeleteSqlInjectionMatchSetResponse'- {_dsimsrsChangeToken = Nothing, _dsimsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteSqlInjectionMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-dsimsrsChangeToken :: Lens' DeleteSqlInjectionMatchSetResponse (Maybe Text)-dsimsrsChangeToken = lens _dsimsrsChangeToken (\ s a -> s{_dsimsrsChangeToken = a})---- | -- | The response status code.-dsimsrsResponseStatus :: Lens' DeleteSqlInjectionMatchSetResponse Int-dsimsrsResponseStatus = lens _dsimsrsResponseStatus (\ s a -> s{_dsimsrsResponseStatus = a})--instance NFData DeleteSqlInjectionMatchSetResponse- where
− gen/Network/AWS/WAF/DeleteWebACL.hs
@@ -1,153 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteWebACL--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes a 'WebACL' . You can't delete a @WebACL@ if it still contains any @Rules@ .--------- To delete a @WebACL@ , perform the following steps:------ * Update the @WebACL@ to remove @Rules@ , if any. For more information, see 'UpdateWebACL' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteWebACL@ request.------ * Submit a @DeleteWebACL@ request.----------module Network.AWS.WAF.DeleteWebACL- (- -- * Creating a Request- deleteWebACL- , DeleteWebACL- -- * Request Lenses- , dwaWebACLId- , dwaChangeToken-- -- * Destructuring the Response- , deleteWebACLResponse- , DeleteWebACLResponse- -- * Response Lenses- , dwarsChangeToken- , dwarsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'deleteWebACL' smart constructor.-data DeleteWebACL = DeleteWebACL'- { _dwaWebACLId :: !Text- , _dwaChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteWebACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dwaWebACLId' - The @WebACLId@ of the 'WebACL' that you want to delete. @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .------ * 'dwaChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteWebACL- :: Text -- ^ 'dwaWebACLId'- -> Text -- ^ 'dwaChangeToken'- -> DeleteWebACL-deleteWebACL pWebACLId_ pChangeToken_ =- DeleteWebACL' {_dwaWebACLId = pWebACLId_, _dwaChangeToken = pChangeToken_}----- | The @WebACLId@ of the 'WebACL' that you want to delete. @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .-dwaWebACLId :: Lens' DeleteWebACL Text-dwaWebACLId = lens _dwaWebACLId (\ s a -> s{_dwaWebACLId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-dwaChangeToken :: Lens' DeleteWebACL Text-dwaChangeToken = lens _dwaChangeToken (\ s a -> s{_dwaChangeToken = a})--instance AWSRequest DeleteWebACL where- type Rs DeleteWebACL = DeleteWebACLResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteWebACLResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteWebACL where--instance NFData DeleteWebACL where--instance ToHeaders DeleteWebACL where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteWebACL" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteWebACL where- toJSON DeleteWebACL'{..}- = object- (catMaybes- [Just ("WebACLId" .= _dwaWebACLId),- Just ("ChangeToken" .= _dwaChangeToken)])--instance ToPath DeleteWebACL where- toPath = const "/"--instance ToQuery DeleteWebACL where- toQuery = const mempty---- | /See:/ 'deleteWebACLResponse' smart constructor.-data DeleteWebACLResponse = DeleteWebACLResponse'- { _dwarsChangeToken :: !(Maybe Text)- , _dwarsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteWebACLResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dwarsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteWebACL@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'dwarsResponseStatus' - -- | The response status code.-deleteWebACLResponse- :: Int -- ^ 'dwarsResponseStatus'- -> DeleteWebACLResponse-deleteWebACLResponse pResponseStatus_ =- DeleteWebACLResponse'- {_dwarsChangeToken = Nothing, _dwarsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteWebACL@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-dwarsChangeToken :: Lens' DeleteWebACLResponse (Maybe Text)-dwarsChangeToken = lens _dwarsChangeToken (\ s a -> s{_dwarsChangeToken = a})---- | -- | The response status code.-dwarsResponseStatus :: Lens' DeleteWebACLResponse Int-dwarsResponseStatus = lens _dwarsResponseStatus (\ s a -> s{_dwarsResponseStatus = a})--instance NFData DeleteWebACLResponse where
− gen/Network/AWS/WAF/DeleteXSSMatchSet.hs
@@ -1,164 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.DeleteXSSMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Permanently deletes an 'XssMatchSet' . You can't delete an @XssMatchSet@ if it's still used in any @Rules@ or if it still contains any 'XssMatchTuple' objects.--------- If you just want to remove an @XssMatchSet@ from a @Rule@ , use 'UpdateRule' .------ To permanently delete an @XssMatchSet@ from AWS WAF, perform the following steps:------ * Update the @XssMatchSet@ to remove filters, if any. For more information, see 'UpdateXssMatchSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of a @DeleteXssMatchSet@ request.------ * Submit a @DeleteXssMatchSet@ request.----------module Network.AWS.WAF.DeleteXSSMatchSet- (- -- * Creating a Request- deleteXSSMatchSet- , DeleteXSSMatchSet- -- * Request Lenses- , dxmsXSSMatchSetId- , dxmsChangeToken-- -- * Destructuring the Response- , deleteXSSMatchSetResponse- , DeleteXSSMatchSetResponse- -- * Response Lenses- , dxmsrsChangeToken- , dxmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to delete an 'XssMatchSet' from AWS WAF.------------ /See:/ 'deleteXSSMatchSet' smart constructor.-data DeleteXSSMatchSet = DeleteXSSMatchSet'- { _dxmsXSSMatchSetId :: !Text- , _dxmsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteXSSMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dxmsXSSMatchSetId' - The @XssMatchSetId@ of the 'XssMatchSet' that you want to delete. @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .------ * 'dxmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-deleteXSSMatchSet- :: Text -- ^ 'dxmsXSSMatchSetId'- -> Text -- ^ 'dxmsChangeToken'- -> DeleteXSSMatchSet-deleteXSSMatchSet pXSSMatchSetId_ pChangeToken_ =- DeleteXSSMatchSet'- {_dxmsXSSMatchSetId = pXSSMatchSetId_, _dxmsChangeToken = pChangeToken_}----- | The @XssMatchSetId@ of the 'XssMatchSet' that you want to delete. @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .-dxmsXSSMatchSetId :: Lens' DeleteXSSMatchSet Text-dxmsXSSMatchSetId = lens _dxmsXSSMatchSetId (\ s a -> s{_dxmsXSSMatchSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-dxmsChangeToken :: Lens' DeleteXSSMatchSet Text-dxmsChangeToken = lens _dxmsChangeToken (\ s a -> s{_dxmsChangeToken = a})--instance AWSRequest DeleteXSSMatchSet where- type Rs DeleteXSSMatchSet = DeleteXSSMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- DeleteXSSMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable DeleteXSSMatchSet where--instance NFData DeleteXSSMatchSet where--instance ToHeaders DeleteXSSMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.DeleteXssMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteXSSMatchSet where- toJSON DeleteXSSMatchSet'{..}- = object- (catMaybes- [Just ("XssMatchSetId" .= _dxmsXSSMatchSetId),- Just ("ChangeToken" .= _dxmsChangeToken)])--instance ToPath DeleteXSSMatchSet where- toPath = const "/"--instance ToQuery DeleteXSSMatchSet where- toQuery = const mempty---- | The response to a request to delete an 'XssMatchSet' from AWS WAF.------------ /See:/ 'deleteXSSMatchSetResponse' smart constructor.-data DeleteXSSMatchSetResponse = DeleteXSSMatchSetResponse'- { _dxmsrsChangeToken :: !(Maybe Text)- , _dxmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteXSSMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dxmsrsChangeToken' - The @ChangeToken@ that you used to submit the @DeleteXssMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'dxmsrsResponseStatus' - -- | The response status code.-deleteXSSMatchSetResponse- :: Int -- ^ 'dxmsrsResponseStatus'- -> DeleteXSSMatchSetResponse-deleteXSSMatchSetResponse pResponseStatus_ =- DeleteXSSMatchSetResponse'- {_dxmsrsChangeToken = Nothing, _dxmsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @DeleteXssMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-dxmsrsChangeToken :: Lens' DeleteXSSMatchSetResponse (Maybe Text)-dxmsrsChangeToken = lens _dxmsrsChangeToken (\ s a -> s{_dxmsrsChangeToken = a})---- | -- | The response status code.-dxmsrsResponseStatus :: Lens' DeleteXSSMatchSetResponse Int-dxmsrsResponseStatus = lens _dxmsrsResponseStatus (\ s a -> s{_dxmsrsResponseStatus = a})--instance NFData DeleteXSSMatchSetResponse where
− gen/Network/AWS/WAF/GetByteMatchSet.hs
@@ -1,133 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetByteMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'ByteMatchSet' specified by @ByteMatchSetId@ .-------module Network.AWS.WAF.GetByteMatchSet- (- -- * Creating a Request- getByteMatchSet- , GetByteMatchSet- -- * Request Lenses- , gbmsByteMatchSetId-- -- * Destructuring the Response- , getByteMatchSetResponse- , GetByteMatchSetResponse- -- * Response Lenses- , gbmsrsByteMatchSet- , gbmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getByteMatchSet' smart constructor.-newtype GetByteMatchSet = GetByteMatchSet'- { _gbmsByteMatchSetId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetByteMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbmsByteMatchSetId' - The @ByteMatchSetId@ of the 'ByteMatchSet' that you want to get. @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .-getByteMatchSet- :: Text -- ^ 'gbmsByteMatchSetId'- -> GetByteMatchSet-getByteMatchSet pByteMatchSetId_ =- GetByteMatchSet' {_gbmsByteMatchSetId = pByteMatchSetId_}----- | The @ByteMatchSetId@ of the 'ByteMatchSet' that you want to get. @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .-gbmsByteMatchSetId :: Lens' GetByteMatchSet Text-gbmsByteMatchSetId = lens _gbmsByteMatchSetId (\ s a -> s{_gbmsByteMatchSetId = a})--instance AWSRequest GetByteMatchSet where- type Rs GetByteMatchSet = GetByteMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetByteMatchSetResponse' <$>- (x .?> "ByteMatchSet") <*> (pure (fromEnum s)))--instance Hashable GetByteMatchSet where--instance NFData GetByteMatchSet where--instance ToHeaders GetByteMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetByteMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetByteMatchSet where- toJSON GetByteMatchSet'{..}- = object- (catMaybes- [Just ("ByteMatchSetId" .= _gbmsByteMatchSetId)])--instance ToPath GetByteMatchSet where- toPath = const "/"--instance ToQuery GetByteMatchSet where- toQuery = const mempty---- | /See:/ 'getByteMatchSetResponse' smart constructor.-data GetByteMatchSetResponse = GetByteMatchSetResponse'- { _gbmsrsByteMatchSet :: !(Maybe ByteMatchSet)- , _gbmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetByteMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbmsrsByteMatchSet' - Information about the 'ByteMatchSet' that you specified in the @GetByteMatchSet@ request. For more information, see the following topics: * 'ByteMatchSet' : Contains @ByteMatchSetId@ , @ByteMatchTuples@ , and @Name@ * @ByteMatchTuples@ : Contains an array of 'ByteMatchTuple' objects. Each @ByteMatchTuple@ object contains 'FieldToMatch' , @PositionalConstraint@ , @TargetString@ , and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@------ * 'gbmsrsResponseStatus' - -- | The response status code.-getByteMatchSetResponse- :: Int -- ^ 'gbmsrsResponseStatus'- -> GetByteMatchSetResponse-getByteMatchSetResponse pResponseStatus_ =- GetByteMatchSetResponse'- {_gbmsrsByteMatchSet = Nothing, _gbmsrsResponseStatus = pResponseStatus_}----- | Information about the 'ByteMatchSet' that you specified in the @GetByteMatchSet@ request. For more information, see the following topics: * 'ByteMatchSet' : Contains @ByteMatchSetId@ , @ByteMatchTuples@ , and @Name@ * @ByteMatchTuples@ : Contains an array of 'ByteMatchTuple' objects. Each @ByteMatchTuple@ object contains 'FieldToMatch' , @PositionalConstraint@ , @TargetString@ , and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@-gbmsrsByteMatchSet :: Lens' GetByteMatchSetResponse (Maybe ByteMatchSet)-gbmsrsByteMatchSet = lens _gbmsrsByteMatchSet (\ s a -> s{_gbmsrsByteMatchSet = a})---- | -- | The response status code.-gbmsrsResponseStatus :: Lens' GetByteMatchSetResponse Int-gbmsrsResponseStatus = lens _gbmsrsResponseStatus (\ s a -> s{_gbmsrsResponseStatus = a})--instance NFData GetByteMatchSetResponse where
− gen/Network/AWS/WAF/GetChangeToken.hs
@@ -1,123 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetChangeToken--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF.--------- Each create, update, or delete request must use a unique change token. If your application submits a @GetChangeToken@ request and then submits a second @GetChangeToken@ request before submitting a create, update, or delete request, the second @GetChangeToken@ request returns the same value as the first @GetChangeToken@ request.------ When you use a change token in a create, update, or delete request, the status of the change token changes to @PENDING@ , which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use @GetChangeTokenStatus@ to determine the status of your change token.----module Network.AWS.WAF.GetChangeToken- (- -- * Creating a Request- getChangeToken- , GetChangeToken-- -- * Destructuring the Response- , getChangeTokenResponse- , GetChangeTokenResponse- -- * Response Lenses- , gctrsChangeToken- , gctrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getChangeToken' smart constructor.-data GetChangeToken =- GetChangeToken'- deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetChangeToken' with the minimum fields required to make a request.----getChangeToken- :: GetChangeToken-getChangeToken = GetChangeToken'---instance AWSRequest GetChangeToken where- type Rs GetChangeToken = GetChangeTokenResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetChangeTokenResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable GetChangeToken where--instance NFData GetChangeToken where--instance ToHeaders GetChangeToken where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetChangeToken" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetChangeToken where- toJSON = const (Object mempty)--instance ToPath GetChangeToken where- toPath = const "/"--instance ToQuery GetChangeToken where- toQuery = const mempty---- | /See:/ 'getChangeTokenResponse' smart constructor.-data GetChangeTokenResponse = GetChangeTokenResponse'- { _gctrsChangeToken :: !(Maybe Text)- , _gctrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetChangeTokenResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gctrsChangeToken' - The @ChangeToken@ that you used in the request. Use this value in a @GetChangeTokenStatus@ request to get the current status of the request.------ * 'gctrsResponseStatus' - -- | The response status code.-getChangeTokenResponse- :: Int -- ^ 'gctrsResponseStatus'- -> GetChangeTokenResponse-getChangeTokenResponse pResponseStatus_ =- GetChangeTokenResponse'- {_gctrsChangeToken = Nothing, _gctrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used in the request. Use this value in a @GetChangeTokenStatus@ request to get the current status of the request.-gctrsChangeToken :: Lens' GetChangeTokenResponse (Maybe Text)-gctrsChangeToken = lens _gctrsChangeToken (\ s a -> s{_gctrsChangeToken = a})---- | -- | The response status code.-gctrsResponseStatus :: Lens' GetChangeTokenResponse Int-gctrsResponseStatus = lens _gctrsResponseStatus (\ s a -> s{_gctrsResponseStatus = a})--instance NFData GetChangeTokenResponse where
− gen/Network/AWS/WAF/GetChangeTokenStatus.hs
@@ -1,145 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetChangeTokenStatus--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the status of a @ChangeToken@ that you got by calling 'GetChangeToken' . @ChangeTokenStatus@ is one of the following values:--------- * @PROVISIONED@ : You requested the change token by calling @GetChangeToken@ , but you haven't used it yet in a call to create, update, or delete an AWS WAF object.------ * @PENDING@ : AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.------ * @IN_SYNC@ : Propagation is complete.----------module Network.AWS.WAF.GetChangeTokenStatus- (- -- * Creating a Request- getChangeTokenStatus- , GetChangeTokenStatus- -- * Request Lenses- , gctsChangeToken-- -- * Destructuring the Response- , getChangeTokenStatusResponse- , GetChangeTokenStatusResponse- -- * Response Lenses- , gctsrsChangeTokenStatus- , gctsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getChangeTokenStatus' smart constructor.-newtype GetChangeTokenStatus = GetChangeTokenStatus'- { _gctsChangeToken :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetChangeTokenStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gctsChangeToken' - The change token for which you want to get the status. This change token was previously returned in the @GetChangeToken@ response.-getChangeTokenStatus- :: Text -- ^ 'gctsChangeToken'- -> GetChangeTokenStatus-getChangeTokenStatus pChangeToken_ =- GetChangeTokenStatus' {_gctsChangeToken = pChangeToken_}----- | The change token for which you want to get the status. This change token was previously returned in the @GetChangeToken@ response.-gctsChangeToken :: Lens' GetChangeTokenStatus Text-gctsChangeToken = lens _gctsChangeToken (\ s a -> s{_gctsChangeToken = a})--instance AWSRequest GetChangeTokenStatus where- type Rs GetChangeTokenStatus =- GetChangeTokenStatusResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetChangeTokenStatusResponse' <$>- (x .?> "ChangeTokenStatus") <*> (pure (fromEnum s)))--instance Hashable GetChangeTokenStatus where--instance NFData GetChangeTokenStatus where--instance ToHeaders GetChangeTokenStatus where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetChangeTokenStatus" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetChangeTokenStatus where- toJSON GetChangeTokenStatus'{..}- = object- (catMaybes- [Just ("ChangeToken" .= _gctsChangeToken)])--instance ToPath GetChangeTokenStatus where- toPath = const "/"--instance ToQuery GetChangeTokenStatus where- toQuery = const mempty---- | /See:/ 'getChangeTokenStatusResponse' smart constructor.-data GetChangeTokenStatusResponse = GetChangeTokenStatusResponse'- { _gctsrsChangeTokenStatus :: !(Maybe ChangeTokenStatus)- , _gctsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetChangeTokenStatusResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gctsrsChangeTokenStatus' - The status of the change token.------ * 'gctsrsResponseStatus' - -- | The response status code.-getChangeTokenStatusResponse- :: Int -- ^ 'gctsrsResponseStatus'- -> GetChangeTokenStatusResponse-getChangeTokenStatusResponse pResponseStatus_ =- GetChangeTokenStatusResponse'- { _gctsrsChangeTokenStatus = Nothing- , _gctsrsResponseStatus = pResponseStatus_- }----- | The status of the change token.-gctsrsChangeTokenStatus :: Lens' GetChangeTokenStatusResponse (Maybe ChangeTokenStatus)-gctsrsChangeTokenStatus = lens _gctsrsChangeTokenStatus (\ s a -> s{_gctsrsChangeTokenStatus = a})---- | -- | The response status code.-gctsrsResponseStatus :: Lens' GetChangeTokenStatusResponse Int-gctsrsResponseStatus = lens _gctsrsResponseStatus (\ s a -> s{_gctsrsResponseStatus = a})--instance NFData GetChangeTokenStatusResponse where
− gen/Network/AWS/WAF/GetGeoMatchSet.hs
@@ -1,133 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetGeoMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'GeoMatchSet' that is specified by @GeoMatchSetId@ .-------module Network.AWS.WAF.GetGeoMatchSet- (- -- * Creating a Request- getGeoMatchSet- , GetGeoMatchSet- -- * Request Lenses- , ggmsGeoMatchSetId-- -- * Destructuring the Response- , getGeoMatchSetResponse- , GetGeoMatchSetResponse- -- * Response Lenses- , ggmsrsGeoMatchSet- , ggmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getGeoMatchSet' smart constructor.-newtype GetGeoMatchSet = GetGeoMatchSet'- { _ggmsGeoMatchSetId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetGeoMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ggmsGeoMatchSetId' - The @GeoMatchSetId@ of the 'GeoMatchSet' that you want to get. @GeoMatchSetId@ is returned by 'CreateGeoMatchSet' and by 'ListGeoMatchSets' .-getGeoMatchSet- :: Text -- ^ 'ggmsGeoMatchSetId'- -> GetGeoMatchSet-getGeoMatchSet pGeoMatchSetId_ =- GetGeoMatchSet' {_ggmsGeoMatchSetId = pGeoMatchSetId_}----- | The @GeoMatchSetId@ of the 'GeoMatchSet' that you want to get. @GeoMatchSetId@ is returned by 'CreateGeoMatchSet' and by 'ListGeoMatchSets' .-ggmsGeoMatchSetId :: Lens' GetGeoMatchSet Text-ggmsGeoMatchSetId = lens _ggmsGeoMatchSetId (\ s a -> s{_ggmsGeoMatchSetId = a})--instance AWSRequest GetGeoMatchSet where- type Rs GetGeoMatchSet = GetGeoMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetGeoMatchSetResponse' <$>- (x .?> "GeoMatchSet") <*> (pure (fromEnum s)))--instance Hashable GetGeoMatchSet where--instance NFData GetGeoMatchSet where--instance ToHeaders GetGeoMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetGeoMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetGeoMatchSet where- toJSON GetGeoMatchSet'{..}- = object- (catMaybes- [Just ("GeoMatchSetId" .= _ggmsGeoMatchSetId)])--instance ToPath GetGeoMatchSet where- toPath = const "/"--instance ToQuery GetGeoMatchSet where- toQuery = const mempty---- | /See:/ 'getGeoMatchSetResponse' smart constructor.-data GetGeoMatchSetResponse = GetGeoMatchSetResponse'- { _ggmsrsGeoMatchSet :: !(Maybe GeoMatchSet)- , _ggmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetGeoMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ggmsrsGeoMatchSet' - Information about the 'GeoMatchSet' that you specified in the @GetGeoMatchSet@ request. This includes the @Type@ , which for a @GeoMatchContraint@ is always @Country@ , as well as the @Value@ , which is the identifier for a specific country.------ * 'ggmsrsResponseStatus' - -- | The response status code.-getGeoMatchSetResponse- :: Int -- ^ 'ggmsrsResponseStatus'- -> GetGeoMatchSetResponse-getGeoMatchSetResponse pResponseStatus_ =- GetGeoMatchSetResponse'- {_ggmsrsGeoMatchSet = Nothing, _ggmsrsResponseStatus = pResponseStatus_}----- | Information about the 'GeoMatchSet' that you specified in the @GetGeoMatchSet@ request. This includes the @Type@ , which for a @GeoMatchContraint@ is always @Country@ , as well as the @Value@ , which is the identifier for a specific country.-ggmsrsGeoMatchSet :: Lens' GetGeoMatchSetResponse (Maybe GeoMatchSet)-ggmsrsGeoMatchSet = lens _ggmsrsGeoMatchSet (\ s a -> s{_ggmsrsGeoMatchSet = a})---- | -- | The response status code.-ggmsrsResponseStatus :: Lens' GetGeoMatchSetResponse Int-ggmsrsResponseStatus = lens _ggmsrsResponseStatus (\ s a -> s{_ggmsrsResponseStatus = a})--instance NFData GetGeoMatchSetResponse where
− gen/Network/AWS/WAF/GetIPSet.hs
@@ -1,131 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetIPSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'IPSet' that is specified by @IPSetId@ .-------module Network.AWS.WAF.GetIPSet- (- -- * Creating a Request- getIPSet- , GetIPSet- -- * Request Lenses- , gisIPSetId-- -- * Destructuring the Response- , getIPSetResponse- , GetIPSetResponse- -- * Response Lenses- , gisrsIPSet- , gisrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getIPSet' smart constructor.-newtype GetIPSet = GetIPSet'- { _gisIPSetId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetIPSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gisIPSetId' - The @IPSetId@ of the 'IPSet' that you want to get. @IPSetId@ is returned by 'CreateIPSet' and by 'ListIPSets' .-getIPSet- :: Text -- ^ 'gisIPSetId'- -> GetIPSet-getIPSet pIPSetId_ = GetIPSet' {_gisIPSetId = pIPSetId_}----- | The @IPSetId@ of the 'IPSet' that you want to get. @IPSetId@ is returned by 'CreateIPSet' and by 'ListIPSets' .-gisIPSetId :: Lens' GetIPSet Text-gisIPSetId = lens _gisIPSetId (\ s a -> s{_gisIPSetId = a})--instance AWSRequest GetIPSet where- type Rs GetIPSet = GetIPSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetIPSetResponse' <$>- (x .?> "IPSet") <*> (pure (fromEnum s)))--instance Hashable GetIPSet where--instance NFData GetIPSet where--instance ToHeaders GetIPSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetIPSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetIPSet where- toJSON GetIPSet'{..}- = object- (catMaybes [Just ("IPSetId" .= _gisIPSetId)])--instance ToPath GetIPSet where- toPath = const "/"--instance ToQuery GetIPSet where- toQuery = const mempty---- | /See:/ 'getIPSetResponse' smart constructor.-data GetIPSetResponse = GetIPSetResponse'- { _gisrsIPSet :: !(Maybe IPSet)- , _gisrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetIPSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gisrsIPSet' - Information about the 'IPSet' that you specified in the @GetIPSet@ request. For more information, see the following topics: * 'IPSet' : Contains @IPSetDescriptors@ , @IPSetId@ , and @Name@ * @IPSetDescriptors@ : Contains an array of 'IPSetDescriptor' objects. Each @IPSetDescriptor@ object contains @Type@ and @Value@------ * 'gisrsResponseStatus' - -- | The response status code.-getIPSetResponse- :: Int -- ^ 'gisrsResponseStatus'- -> GetIPSetResponse-getIPSetResponse pResponseStatus_ =- GetIPSetResponse'- {_gisrsIPSet = Nothing, _gisrsResponseStatus = pResponseStatus_}----- | Information about the 'IPSet' that you specified in the @GetIPSet@ request. For more information, see the following topics: * 'IPSet' : Contains @IPSetDescriptors@ , @IPSetId@ , and @Name@ * @IPSetDescriptors@ : Contains an array of 'IPSetDescriptor' objects. Each @IPSetDescriptor@ object contains @Type@ and @Value@-gisrsIPSet :: Lens' GetIPSetResponse (Maybe IPSet)-gisrsIPSet = lens _gisrsIPSet (\ s a -> s{_gisrsIPSet = a})---- | -- | The response status code.-gisrsResponseStatus :: Lens' GetIPSetResponse Int-gisrsResponseStatus = lens _gisrsResponseStatus (\ s a -> s{_gisrsResponseStatus = a})--instance NFData GetIPSetResponse where
− gen/Network/AWS/WAF/GetPermissionPolicy.hs
@@ -1,134 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetPermissionPolicy--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the IAM policy attached to the RuleGroup.-------module Network.AWS.WAF.GetPermissionPolicy- (- -- * Creating a Request- getPermissionPolicy- , GetPermissionPolicy- -- * Request Lenses- , gppResourceARN-- -- * Destructuring the Response- , getPermissionPolicyResponse- , GetPermissionPolicyResponse- -- * Response Lenses- , gpprsPolicy- , gpprsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getPermissionPolicy' smart constructor.-newtype GetPermissionPolicy = GetPermissionPolicy'- { _gppResourceARN :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetPermissionPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gppResourceARN' - The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy.-getPermissionPolicy- :: Text -- ^ 'gppResourceARN'- -> GetPermissionPolicy-getPermissionPolicy pResourceARN_ =- GetPermissionPolicy' {_gppResourceARN = pResourceARN_}----- | The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy.-gppResourceARN :: Lens' GetPermissionPolicy Text-gppResourceARN = lens _gppResourceARN (\ s a -> s{_gppResourceARN = a})--instance AWSRequest GetPermissionPolicy where- type Rs GetPermissionPolicy =- GetPermissionPolicyResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetPermissionPolicyResponse' <$>- (x .?> "Policy") <*> (pure (fromEnum s)))--instance Hashable GetPermissionPolicy where--instance NFData GetPermissionPolicy where--instance ToHeaders GetPermissionPolicy where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetPermissionPolicy" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetPermissionPolicy where- toJSON GetPermissionPolicy'{..}- = object- (catMaybes [Just ("ResourceArn" .= _gppResourceARN)])--instance ToPath GetPermissionPolicy where- toPath = const "/"--instance ToQuery GetPermissionPolicy where- toQuery = const mempty---- | /See:/ 'getPermissionPolicyResponse' smart constructor.-data GetPermissionPolicyResponse = GetPermissionPolicyResponse'- { _gpprsPolicy :: !(Maybe Text)- , _gpprsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetPermissionPolicyResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpprsPolicy' - The IAM policy attached to the specified RuleGroup.------ * 'gpprsResponseStatus' - -- | The response status code.-getPermissionPolicyResponse- :: Int -- ^ 'gpprsResponseStatus'- -> GetPermissionPolicyResponse-getPermissionPolicyResponse pResponseStatus_ =- GetPermissionPolicyResponse'- {_gpprsPolicy = Nothing, _gpprsResponseStatus = pResponseStatus_}----- | The IAM policy attached to the specified RuleGroup.-gpprsPolicy :: Lens' GetPermissionPolicyResponse (Maybe Text)-gpprsPolicy = lens _gpprsPolicy (\ s a -> s{_gpprsPolicy = a})---- | -- | The response status code.-gpprsResponseStatus :: Lens' GetPermissionPolicyResponse Int-gpprsResponseStatus = lens _gpprsResponseStatus (\ s a -> s{_gpprsResponseStatus = a})--instance NFData GetPermissionPolicyResponse where
− gen/Network/AWS/WAF/GetRateBasedRule.hs
@@ -1,130 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetRateBasedRule--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'RateBasedRule' that is specified by the @RuleId@ that you included in the @GetRateBasedRule@ request.-------module Network.AWS.WAF.GetRateBasedRule- (- -- * Creating a Request- getRateBasedRule- , GetRateBasedRule- -- * Request Lenses- , grbrRuleId-- -- * Destructuring the Response- , getRateBasedRuleResponse- , GetRateBasedRuleResponse- -- * Response Lenses- , grbrrsRule- , grbrrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getRateBasedRule' smart constructor.-newtype GetRateBasedRule = GetRateBasedRule'- { _grbrRuleId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRateBasedRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grbrRuleId' - The @RuleId@ of the 'RateBasedRule' that you want to get. @RuleId@ is returned by 'CreateRateBasedRule' and by 'ListRateBasedRules' .-getRateBasedRule- :: Text -- ^ 'grbrRuleId'- -> GetRateBasedRule-getRateBasedRule pRuleId_ = GetRateBasedRule' {_grbrRuleId = pRuleId_}----- | The @RuleId@ of the 'RateBasedRule' that you want to get. @RuleId@ is returned by 'CreateRateBasedRule' and by 'ListRateBasedRules' .-grbrRuleId :: Lens' GetRateBasedRule Text-grbrRuleId = lens _grbrRuleId (\ s a -> s{_grbrRuleId = a})--instance AWSRequest GetRateBasedRule where- type Rs GetRateBasedRule = GetRateBasedRuleResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetRateBasedRuleResponse' <$>- (x .?> "Rule") <*> (pure (fromEnum s)))--instance Hashable GetRateBasedRule where--instance NFData GetRateBasedRule where--instance ToHeaders GetRateBasedRule where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetRateBasedRule" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetRateBasedRule where- toJSON GetRateBasedRule'{..}- = object (catMaybes [Just ("RuleId" .= _grbrRuleId)])--instance ToPath GetRateBasedRule where- toPath = const "/"--instance ToQuery GetRateBasedRule where- toQuery = const mempty---- | /See:/ 'getRateBasedRuleResponse' smart constructor.-data GetRateBasedRuleResponse = GetRateBasedRuleResponse'- { _grbrrsRule :: !(Maybe RateBasedRule)- , _grbrrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRateBasedRuleResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grbrrsRule' - Information about the 'RateBasedRule' that you specified in the @GetRateBasedRule@ request.------ * 'grbrrsResponseStatus' - -- | The response status code.-getRateBasedRuleResponse- :: Int -- ^ 'grbrrsResponseStatus'- -> GetRateBasedRuleResponse-getRateBasedRuleResponse pResponseStatus_ =- GetRateBasedRuleResponse'- {_grbrrsRule = Nothing, _grbrrsResponseStatus = pResponseStatus_}----- | Information about the 'RateBasedRule' that you specified in the @GetRateBasedRule@ request.-grbrrsRule :: Lens' GetRateBasedRuleResponse (Maybe RateBasedRule)-grbrrsRule = lens _grbrrsRule (\ s a -> s{_grbrrsRule = a})---- | -- | The response status code.-grbrrsResponseStatus :: Lens' GetRateBasedRuleResponse Int-grbrrsResponseStatus = lens _grbrrsResponseStatus (\ s a -> s{_grbrrsResponseStatus = a})--instance NFData GetRateBasedRuleResponse where
− gen/Network/AWS/WAF/GetRateBasedRuleManagedKeys.hs
@@ -1,159 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetRateBasedRuleManagedKeys--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of IP addresses currently being blocked by the 'RateBasedRule' that is specified by the @RuleId@ . The maximum number of managed keys that will be blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the 10,000 addresses with the highest rates will be blocked.-------module Network.AWS.WAF.GetRateBasedRuleManagedKeys- (- -- * Creating a Request- getRateBasedRuleManagedKeys- , GetRateBasedRuleManagedKeys- -- * Request Lenses- , grbrmkNextMarker- , grbrmkRuleId-- -- * Destructuring the Response- , getRateBasedRuleManagedKeysResponse- , GetRateBasedRuleManagedKeysResponse- -- * Response Lenses- , grbrmkrsNextMarker- , grbrmkrsManagedKeys- , grbrmkrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getRateBasedRuleManagedKeys' smart constructor.-data GetRateBasedRuleManagedKeys = GetRateBasedRuleManagedKeys'- { _grbrmkNextMarker :: !(Maybe Text)- , _grbrmkRuleId :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRateBasedRuleManagedKeys' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grbrmkNextMarker' - A null value and not currently used. Do not include this in your request.------ * 'grbrmkRuleId' - The @RuleId@ of the 'RateBasedRule' for which you want to get a list of @ManagedKeys@ . @RuleId@ is returned by 'CreateRateBasedRule' and by 'ListRateBasedRules' .-getRateBasedRuleManagedKeys- :: Text -- ^ 'grbrmkRuleId'- -> GetRateBasedRuleManagedKeys-getRateBasedRuleManagedKeys pRuleId_ =- GetRateBasedRuleManagedKeys'- {_grbrmkNextMarker = Nothing, _grbrmkRuleId = pRuleId_}----- | A null value and not currently used. Do not include this in your request.-grbrmkNextMarker :: Lens' GetRateBasedRuleManagedKeys (Maybe Text)-grbrmkNextMarker = lens _grbrmkNextMarker (\ s a -> s{_grbrmkNextMarker = a})---- | The @RuleId@ of the 'RateBasedRule' for which you want to get a list of @ManagedKeys@ . @RuleId@ is returned by 'CreateRateBasedRule' and by 'ListRateBasedRules' .-grbrmkRuleId :: Lens' GetRateBasedRuleManagedKeys Text-grbrmkRuleId = lens _grbrmkRuleId (\ s a -> s{_grbrmkRuleId = a})--instance AWSRequest GetRateBasedRuleManagedKeys where- type Rs GetRateBasedRuleManagedKeys =- GetRateBasedRuleManagedKeysResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetRateBasedRuleManagedKeysResponse' <$>- (x .?> "NextMarker") <*>- (x .?> "ManagedKeys" .!@ mempty)- <*> (pure (fromEnum s)))--instance Hashable GetRateBasedRuleManagedKeys where--instance NFData GetRateBasedRuleManagedKeys where--instance ToHeaders GetRateBasedRuleManagedKeys where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetRateBasedRuleManagedKeys" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetRateBasedRuleManagedKeys where- toJSON GetRateBasedRuleManagedKeys'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _grbrmkNextMarker,- Just ("RuleId" .= _grbrmkRuleId)])--instance ToPath GetRateBasedRuleManagedKeys where- toPath = const "/"--instance ToQuery GetRateBasedRuleManagedKeys where- toQuery = const mempty---- | /See:/ 'getRateBasedRuleManagedKeysResponse' smart constructor.-data GetRateBasedRuleManagedKeysResponse = GetRateBasedRuleManagedKeysResponse'- { _grbrmkrsNextMarker :: !(Maybe Text)- , _grbrmkrsManagedKeys :: !(Maybe [Text])- , _grbrmkrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRateBasedRuleManagedKeysResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grbrmkrsNextMarker' - A null value and not currently used.------ * 'grbrmkrsManagedKeys' - An array of IP addresses that currently are blocked by the specified 'RateBasedRule' .------ * 'grbrmkrsResponseStatus' - -- | The response status code.-getRateBasedRuleManagedKeysResponse- :: Int -- ^ 'grbrmkrsResponseStatus'- -> GetRateBasedRuleManagedKeysResponse-getRateBasedRuleManagedKeysResponse pResponseStatus_ =- GetRateBasedRuleManagedKeysResponse'- { _grbrmkrsNextMarker = Nothing- , _grbrmkrsManagedKeys = Nothing- , _grbrmkrsResponseStatus = pResponseStatus_- }----- | A null value and not currently used.-grbrmkrsNextMarker :: Lens' GetRateBasedRuleManagedKeysResponse (Maybe Text)-grbrmkrsNextMarker = lens _grbrmkrsNextMarker (\ s a -> s{_grbrmkrsNextMarker = a})---- | An array of IP addresses that currently are blocked by the specified 'RateBasedRule' .-grbrmkrsManagedKeys :: Lens' GetRateBasedRuleManagedKeysResponse [Text]-grbrmkrsManagedKeys = lens _grbrmkrsManagedKeys (\ s a -> s{_grbrmkrsManagedKeys = a}) . _Default . _Coerce---- | -- | The response status code.-grbrmkrsResponseStatus :: Lens' GetRateBasedRuleManagedKeysResponse Int-grbrmkrsResponseStatus = lens _grbrmkrsResponseStatus (\ s a -> s{_grbrmkrsResponseStatus = a})--instance NFData GetRateBasedRuleManagedKeysResponse- where
− gen/Network/AWS/WAF/GetRegexMatchSet.hs
@@ -1,133 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetRegexMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'RegexMatchSet' specified by @RegexMatchSetId@ .-------module Network.AWS.WAF.GetRegexMatchSet- (- -- * Creating a Request- getRegexMatchSet- , GetRegexMatchSet- -- * Request Lenses- , grmsRegexMatchSetId-- -- * Destructuring the Response- , getRegexMatchSetResponse- , GetRegexMatchSetResponse- -- * Response Lenses- , grmsrsRegexMatchSet- , grmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getRegexMatchSet' smart constructor.-newtype GetRegexMatchSet = GetRegexMatchSet'- { _grmsRegexMatchSetId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRegexMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grmsRegexMatchSetId' - The @RegexMatchSetId@ of the 'RegexMatchSet' that you want to get. @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .-getRegexMatchSet- :: Text -- ^ 'grmsRegexMatchSetId'- -> GetRegexMatchSet-getRegexMatchSet pRegexMatchSetId_ =- GetRegexMatchSet' {_grmsRegexMatchSetId = pRegexMatchSetId_}----- | The @RegexMatchSetId@ of the 'RegexMatchSet' that you want to get. @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .-grmsRegexMatchSetId :: Lens' GetRegexMatchSet Text-grmsRegexMatchSetId = lens _grmsRegexMatchSetId (\ s a -> s{_grmsRegexMatchSetId = a})--instance AWSRequest GetRegexMatchSet where- type Rs GetRegexMatchSet = GetRegexMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetRegexMatchSetResponse' <$>- (x .?> "RegexMatchSet") <*> (pure (fromEnum s)))--instance Hashable GetRegexMatchSet where--instance NFData GetRegexMatchSet where--instance ToHeaders GetRegexMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetRegexMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetRegexMatchSet where- toJSON GetRegexMatchSet'{..}- = object- (catMaybes- [Just ("RegexMatchSetId" .= _grmsRegexMatchSetId)])--instance ToPath GetRegexMatchSet where- toPath = const "/"--instance ToQuery GetRegexMatchSet where- toQuery = const mempty---- | /See:/ 'getRegexMatchSetResponse' smart constructor.-data GetRegexMatchSetResponse = GetRegexMatchSetResponse'- { _grmsrsRegexMatchSet :: !(Maybe RegexMatchSet)- , _grmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRegexMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grmsrsRegexMatchSet' - Information about the 'RegexMatchSet' that you specified in the @GetRegexMatchSet@ request. For more information, see 'RegexMatchTuple' .------ * 'grmsrsResponseStatus' - -- | The response status code.-getRegexMatchSetResponse- :: Int -- ^ 'grmsrsResponseStatus'- -> GetRegexMatchSetResponse-getRegexMatchSetResponse pResponseStatus_ =- GetRegexMatchSetResponse'- {_grmsrsRegexMatchSet = Nothing, _grmsrsResponseStatus = pResponseStatus_}----- | Information about the 'RegexMatchSet' that you specified in the @GetRegexMatchSet@ request. For more information, see 'RegexMatchTuple' .-grmsrsRegexMatchSet :: Lens' GetRegexMatchSetResponse (Maybe RegexMatchSet)-grmsrsRegexMatchSet = lens _grmsrsRegexMatchSet (\ s a -> s{_grmsrsRegexMatchSet = a})---- | -- | The response status code.-grmsrsResponseStatus :: Lens' GetRegexMatchSetResponse Int-grmsrsResponseStatus = lens _grmsrsResponseStatus (\ s a -> s{_grmsrsResponseStatus = a})--instance NFData GetRegexMatchSetResponse where
− gen/Network/AWS/WAF/GetRegexPatternSet.hs
@@ -1,135 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetRegexPatternSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'RegexPatternSet' specified by @RegexPatternSetId@ .-------module Network.AWS.WAF.GetRegexPatternSet- (- -- * Creating a Request- getRegexPatternSet- , GetRegexPatternSet- -- * Request Lenses- , grpsRegexPatternSetId-- -- * Destructuring the Response- , getRegexPatternSetResponse- , GetRegexPatternSetResponse- -- * Response Lenses- , grpsrsRegexPatternSet- , grpsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getRegexPatternSet' smart constructor.-newtype GetRegexPatternSet = GetRegexPatternSet'- { _grpsRegexPatternSetId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRegexPatternSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grpsRegexPatternSetId' - The @RegexPatternSetId@ of the 'RegexPatternSet' that you want to get. @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .-getRegexPatternSet- :: Text -- ^ 'grpsRegexPatternSetId'- -> GetRegexPatternSet-getRegexPatternSet pRegexPatternSetId_ =- GetRegexPatternSet' {_grpsRegexPatternSetId = pRegexPatternSetId_}----- | The @RegexPatternSetId@ of the 'RegexPatternSet' that you want to get. @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .-grpsRegexPatternSetId :: Lens' GetRegexPatternSet Text-grpsRegexPatternSetId = lens _grpsRegexPatternSetId (\ s a -> s{_grpsRegexPatternSetId = a})--instance AWSRequest GetRegexPatternSet where- type Rs GetRegexPatternSet =- GetRegexPatternSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetRegexPatternSetResponse' <$>- (x .?> "RegexPatternSet") <*> (pure (fromEnum s)))--instance Hashable GetRegexPatternSet where--instance NFData GetRegexPatternSet where--instance ToHeaders GetRegexPatternSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetRegexPatternSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetRegexPatternSet where- toJSON GetRegexPatternSet'{..}- = object- (catMaybes- [Just- ("RegexPatternSetId" .= _grpsRegexPatternSetId)])--instance ToPath GetRegexPatternSet where- toPath = const "/"--instance ToQuery GetRegexPatternSet where- toQuery = const mempty---- | /See:/ 'getRegexPatternSetResponse' smart constructor.-data GetRegexPatternSetResponse = GetRegexPatternSetResponse'- { _grpsrsRegexPatternSet :: !(Maybe RegexPatternSet)- , _grpsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRegexPatternSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grpsrsRegexPatternSet' - Information about the 'RegexPatternSet' that you specified in the @GetRegexPatternSet@ request, including the identifier of the pattern set and the regular expression patterns you want AWS WAF to search for.------ * 'grpsrsResponseStatus' - -- | The response status code.-getRegexPatternSetResponse- :: Int -- ^ 'grpsrsResponseStatus'- -> GetRegexPatternSetResponse-getRegexPatternSetResponse pResponseStatus_ =- GetRegexPatternSetResponse'- {_grpsrsRegexPatternSet = Nothing, _grpsrsResponseStatus = pResponseStatus_}----- | Information about the 'RegexPatternSet' that you specified in the @GetRegexPatternSet@ request, including the identifier of the pattern set and the regular expression patterns you want AWS WAF to search for.-grpsrsRegexPatternSet :: Lens' GetRegexPatternSetResponse (Maybe RegexPatternSet)-grpsrsRegexPatternSet = lens _grpsrsRegexPatternSet (\ s a -> s{_grpsrsRegexPatternSet = a})---- | -- | The response status code.-grpsrsResponseStatus :: Lens' GetRegexPatternSetResponse Int-grpsrsResponseStatus = lens _grpsrsResponseStatus (\ s a -> s{_grpsrsResponseStatus = a})--instance NFData GetRegexPatternSetResponse where
− gen/Network/AWS/WAF/GetRule.hs
@@ -1,129 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetRule--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'Rule' that is specified by the @RuleId@ that you included in the @GetRule@ request.-------module Network.AWS.WAF.GetRule- (- -- * Creating a Request- getRule- , GetRule- -- * Request Lenses- , grRuleId-- -- * Destructuring the Response- , getRuleResponse- , GetRuleResponse- -- * Response Lenses- , grrsRule- , grrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getRule' smart constructor.-newtype GetRule = GetRule'- { _grRuleId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grRuleId' - The @RuleId@ of the 'Rule' that you want to get. @RuleId@ is returned by 'CreateRule' and by 'ListRules' .-getRule- :: Text -- ^ 'grRuleId'- -> GetRule-getRule pRuleId_ = GetRule' {_grRuleId = pRuleId_}----- | The @RuleId@ of the 'Rule' that you want to get. @RuleId@ is returned by 'CreateRule' and by 'ListRules' .-grRuleId :: Lens' GetRule Text-grRuleId = lens _grRuleId (\ s a -> s{_grRuleId = a})--instance AWSRequest GetRule where- type Rs GetRule = GetRuleResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetRuleResponse' <$>- (x .?> "Rule") <*> (pure (fromEnum s)))--instance Hashable GetRule where--instance NFData GetRule where--instance ToHeaders GetRule where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetRule" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetRule where- toJSON GetRule'{..}- = object (catMaybes [Just ("RuleId" .= _grRuleId)])--instance ToPath GetRule where- toPath = const "/"--instance ToQuery GetRule where- toQuery = const mempty---- | /See:/ 'getRuleResponse' smart constructor.-data GetRuleResponse = GetRuleResponse'- { _grrsRule :: !(Maybe Rule)- , _grrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRuleResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grrsRule' - Information about the 'Rule' that you specified in the @GetRule@ request. For more information, see the following topics: * 'Rule' : Contains @MetricName@ , @Name@ , an array of @Predicate@ objects, and @RuleId@ * 'Predicate' : Each @Predicate@ object contains @DataId@ , @Negated@ , and @Type@------ * 'grrsResponseStatus' - -- | The response status code.-getRuleResponse- :: Int -- ^ 'grrsResponseStatus'- -> GetRuleResponse-getRuleResponse pResponseStatus_ =- GetRuleResponse' {_grrsRule = Nothing, _grrsResponseStatus = pResponseStatus_}----- | Information about the 'Rule' that you specified in the @GetRule@ request. For more information, see the following topics: * 'Rule' : Contains @MetricName@ , @Name@ , an array of @Predicate@ objects, and @RuleId@ * 'Predicate' : Each @Predicate@ object contains @DataId@ , @Negated@ , and @Type@-grrsRule :: Lens' GetRuleResponse (Maybe Rule)-grrsRule = lens _grrsRule (\ s a -> s{_grrsRule = a})---- | -- | The response status code.-grrsResponseStatus :: Lens' GetRuleResponse Int-grrsResponseStatus = lens _grrsResponseStatus (\ s a -> s{_grrsResponseStatus = a})--instance NFData GetRuleResponse where
− gen/Network/AWS/WAF/GetRuleGroup.hs
@@ -1,133 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetRuleGroup--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'RuleGroup' that is specified by the @RuleGroupId@ that you included in the @GetRuleGroup@ request.--------- To view the rules in a rule group, use 'ListActivatedRulesInRuleGroup' .----module Network.AWS.WAF.GetRuleGroup- (- -- * Creating a Request- getRuleGroup- , GetRuleGroup- -- * Request Lenses- , grgRuleGroupId-- -- * Destructuring the Response- , getRuleGroupResponse- , GetRuleGroupResponse- -- * Response Lenses- , grgrsRuleGroup- , grgrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getRuleGroup' smart constructor.-newtype GetRuleGroup = GetRuleGroup'- { _grgRuleGroupId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRuleGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grgRuleGroupId' - The @RuleGroupId@ of the 'RuleGroup' that you want to get. @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .-getRuleGroup- :: Text -- ^ 'grgRuleGroupId'- -> GetRuleGroup-getRuleGroup pRuleGroupId_ = GetRuleGroup' {_grgRuleGroupId = pRuleGroupId_}----- | The @RuleGroupId@ of the 'RuleGroup' that you want to get. @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .-grgRuleGroupId :: Lens' GetRuleGroup Text-grgRuleGroupId = lens _grgRuleGroupId (\ s a -> s{_grgRuleGroupId = a})--instance AWSRequest GetRuleGroup where- type Rs GetRuleGroup = GetRuleGroupResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetRuleGroupResponse' <$>- (x .?> "RuleGroup") <*> (pure (fromEnum s)))--instance Hashable GetRuleGroup where--instance NFData GetRuleGroup where--instance ToHeaders GetRuleGroup where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetRuleGroup" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetRuleGroup where- toJSON GetRuleGroup'{..}- = object- (catMaybes [Just ("RuleGroupId" .= _grgRuleGroupId)])--instance ToPath GetRuleGroup where- toPath = const "/"--instance ToQuery GetRuleGroup where- toQuery = const mempty---- | /See:/ 'getRuleGroupResponse' smart constructor.-data GetRuleGroupResponse = GetRuleGroupResponse'- { _grgrsRuleGroup :: !(Maybe RuleGroup)- , _grgrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetRuleGroupResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grgrsRuleGroup' - Information about the 'RuleGroup' that you specified in the @GetRuleGroup@ request.------ * 'grgrsResponseStatus' - -- | The response status code.-getRuleGroupResponse- :: Int -- ^ 'grgrsResponseStatus'- -> GetRuleGroupResponse-getRuleGroupResponse pResponseStatus_ =- GetRuleGroupResponse'- {_grgrsRuleGroup = Nothing, _grgrsResponseStatus = pResponseStatus_}----- | Information about the 'RuleGroup' that you specified in the @GetRuleGroup@ request.-grgrsRuleGroup :: Lens' GetRuleGroupResponse (Maybe RuleGroup)-grgrsRuleGroup = lens _grgrsRuleGroup (\ s a -> s{_grgrsRuleGroup = a})---- | -- | The response status code.-grgrsResponseStatus :: Lens' GetRuleGroupResponse Int-grgrsResponseStatus = lens _grgrsResponseStatus (\ s a -> s{_grgrsResponseStatus = a})--instance NFData GetRuleGroupResponse where
− gen/Network/AWS/WAF/GetSampledRequests.hs
@@ -1,194 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetSampledRequests--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.--------- @GetSampledRequests@ returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, @GetSampledRequests@ returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.----module Network.AWS.WAF.GetSampledRequests- (- -- * Creating a Request- getSampledRequests- , GetSampledRequests- -- * Request Lenses- , gsrWebACLId- , gsrRuleId- , gsrTimeWindow- , gsrMaxItems-- -- * Destructuring the Response- , getSampledRequestsResponse- , GetSampledRequestsResponse- -- * Response Lenses- , gsrrsSampledRequests- , gsrrsPopulationSize- , gsrrsTimeWindow- , gsrrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getSampledRequests' smart constructor.-data GetSampledRequests = GetSampledRequests'- { _gsrWebACLId :: !Text- , _gsrRuleId :: !Text- , _gsrTimeWindow :: !TimeWindow- , _gsrMaxItems :: !Nat- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetSampledRequests' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsrWebACLId' - The @WebACLId@ of the @WebACL@ for which you want @GetSampledRequests@ to return a sample of requests.------ * 'gsrRuleId' - @RuleId@ is one of three values: * The @RuleId@ of the @Rule@ or the @RuleGroupId@ of the @RuleGroup@ for which you want @GetSampledRequests@ to return a sample of requests. * @Default_Action@ , which causes @GetSampledRequests@ to return a sample of the requests that didn't match any of the rules in the specified @WebACL@ .------ * 'gsrTimeWindow' - The start date and time and the end date and time of the range for which you want @GetSampledRequests@ to return a sample of requests. Specify the date and time in the following format: @"2016-09-27T14:50Z"@ . You can specify any time range in the previous three hours.------ * 'gsrMaxItems' - The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of @MaxItems@ , @GetSampledRequests@ returns information about all of them.-getSampledRequests- :: Text -- ^ 'gsrWebACLId'- -> Text -- ^ 'gsrRuleId'- -> TimeWindow -- ^ 'gsrTimeWindow'- -> Natural -- ^ 'gsrMaxItems'- -> GetSampledRequests-getSampledRequests pWebACLId_ pRuleId_ pTimeWindow_ pMaxItems_ =- GetSampledRequests'- { _gsrWebACLId = pWebACLId_- , _gsrRuleId = pRuleId_- , _gsrTimeWindow = pTimeWindow_- , _gsrMaxItems = _Nat # pMaxItems_- }----- | The @WebACLId@ of the @WebACL@ for which you want @GetSampledRequests@ to return a sample of requests.-gsrWebACLId :: Lens' GetSampledRequests Text-gsrWebACLId = lens _gsrWebACLId (\ s a -> s{_gsrWebACLId = a})---- | @RuleId@ is one of three values: * The @RuleId@ of the @Rule@ or the @RuleGroupId@ of the @RuleGroup@ for which you want @GetSampledRequests@ to return a sample of requests. * @Default_Action@ , which causes @GetSampledRequests@ to return a sample of the requests that didn't match any of the rules in the specified @WebACL@ .-gsrRuleId :: Lens' GetSampledRequests Text-gsrRuleId = lens _gsrRuleId (\ s a -> s{_gsrRuleId = a})---- | The start date and time and the end date and time of the range for which you want @GetSampledRequests@ to return a sample of requests. Specify the date and time in the following format: @"2016-09-27T14:50Z"@ . You can specify any time range in the previous three hours.-gsrTimeWindow :: Lens' GetSampledRequests TimeWindow-gsrTimeWindow = lens _gsrTimeWindow (\ s a -> s{_gsrTimeWindow = a})---- | The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of @MaxItems@ , @GetSampledRequests@ returns information about all of them.-gsrMaxItems :: Lens' GetSampledRequests Natural-gsrMaxItems = lens _gsrMaxItems (\ s a -> s{_gsrMaxItems = a}) . _Nat--instance AWSRequest GetSampledRequests where- type Rs GetSampledRequests =- GetSampledRequestsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetSampledRequestsResponse' <$>- (x .?> "SampledRequests" .!@ mempty) <*>- (x .?> "PopulationSize")- <*> (x .?> "TimeWindow")- <*> (pure (fromEnum s)))--instance Hashable GetSampledRequests where--instance NFData GetSampledRequests where--instance ToHeaders GetSampledRequests where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetSampledRequests" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetSampledRequests where- toJSON GetSampledRequests'{..}- = object- (catMaybes- [Just ("WebAclId" .= _gsrWebACLId),- Just ("RuleId" .= _gsrRuleId),- Just ("TimeWindow" .= _gsrTimeWindow),- Just ("MaxItems" .= _gsrMaxItems)])--instance ToPath GetSampledRequests where- toPath = const "/"--instance ToQuery GetSampledRequests where- toQuery = const mempty---- | /See:/ 'getSampledRequestsResponse' smart constructor.-data GetSampledRequestsResponse = GetSampledRequestsResponse'- { _gsrrsSampledRequests :: !(Maybe [SampledHTTPRequest])- , _gsrrsPopulationSize :: !(Maybe Integer)- , _gsrrsTimeWindow :: !(Maybe TimeWindow)- , _gsrrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetSampledRequestsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsrrsSampledRequests' - A complex type that contains detailed information about each of the requests in the sample.------ * 'gsrrsPopulationSize' - The total number of requests from which @GetSampledRequests@ got a sample of @MaxItems@ requests. If @PopulationSize@ is less than @MaxItems@ , the sample includes every request that your AWS resource received during the specified time range.------ * 'gsrrsTimeWindow' - Usually, @TimeWindow@ is the time range that you specified in the @GetSampledRequests@ request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, @GetSampledRequests@ returns the time range for the first 5,000 requests.------ * 'gsrrsResponseStatus' - -- | The response status code.-getSampledRequestsResponse- :: Int -- ^ 'gsrrsResponseStatus'- -> GetSampledRequestsResponse-getSampledRequestsResponse pResponseStatus_ =- GetSampledRequestsResponse'- { _gsrrsSampledRequests = Nothing- , _gsrrsPopulationSize = Nothing- , _gsrrsTimeWindow = Nothing- , _gsrrsResponseStatus = pResponseStatus_- }----- | A complex type that contains detailed information about each of the requests in the sample.-gsrrsSampledRequests :: Lens' GetSampledRequestsResponse [SampledHTTPRequest]-gsrrsSampledRequests = lens _gsrrsSampledRequests (\ s a -> s{_gsrrsSampledRequests = a}) . _Default . _Coerce---- | The total number of requests from which @GetSampledRequests@ got a sample of @MaxItems@ requests. If @PopulationSize@ is less than @MaxItems@ , the sample includes every request that your AWS resource received during the specified time range.-gsrrsPopulationSize :: Lens' GetSampledRequestsResponse (Maybe Integer)-gsrrsPopulationSize = lens _gsrrsPopulationSize (\ s a -> s{_gsrrsPopulationSize = a})---- | Usually, @TimeWindow@ is the time range that you specified in the @GetSampledRequests@ request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, @GetSampledRequests@ returns the time range for the first 5,000 requests.-gsrrsTimeWindow :: Lens' GetSampledRequestsResponse (Maybe TimeWindow)-gsrrsTimeWindow = lens _gsrrsTimeWindow (\ s a -> s{_gsrrsTimeWindow = a})---- | -- | The response status code.-gsrrsResponseStatus :: Lens' GetSampledRequestsResponse Int-gsrrsResponseStatus = lens _gsrrsResponseStatus (\ s a -> s{_gsrrsResponseStatus = a})--instance NFData GetSampledRequestsResponse where
− gen/Network/AWS/WAF/GetSizeConstraintSet.hs
@@ -1,138 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetSizeConstraintSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'SizeConstraintSet' specified by @SizeConstraintSetId@ .-------module Network.AWS.WAF.GetSizeConstraintSet- (- -- * Creating a Request- getSizeConstraintSet- , GetSizeConstraintSet- -- * Request Lenses- , gscsSizeConstraintSetId-- -- * Destructuring the Response- , getSizeConstraintSetResponse- , GetSizeConstraintSetResponse- -- * Response Lenses- , gscsrsSizeConstraintSet- , gscsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getSizeConstraintSet' smart constructor.-newtype GetSizeConstraintSet = GetSizeConstraintSet'- { _gscsSizeConstraintSetId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetSizeConstraintSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gscsSizeConstraintSetId' - The @SizeConstraintSetId@ of the 'SizeConstraintSet' that you want to get. @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .-getSizeConstraintSet- :: Text -- ^ 'gscsSizeConstraintSetId'- -> GetSizeConstraintSet-getSizeConstraintSet pSizeConstraintSetId_ =- GetSizeConstraintSet' {_gscsSizeConstraintSetId = pSizeConstraintSetId_}----- | The @SizeConstraintSetId@ of the 'SizeConstraintSet' that you want to get. @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .-gscsSizeConstraintSetId :: Lens' GetSizeConstraintSet Text-gscsSizeConstraintSetId = lens _gscsSizeConstraintSetId (\ s a -> s{_gscsSizeConstraintSetId = a})--instance AWSRequest GetSizeConstraintSet where- type Rs GetSizeConstraintSet =- GetSizeConstraintSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetSizeConstraintSetResponse' <$>- (x .?> "SizeConstraintSet") <*> (pure (fromEnum s)))--instance Hashable GetSizeConstraintSet where--instance NFData GetSizeConstraintSet where--instance ToHeaders GetSizeConstraintSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetSizeConstraintSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetSizeConstraintSet where- toJSON GetSizeConstraintSet'{..}- = object- (catMaybes- [Just- ("SizeConstraintSetId" .= _gscsSizeConstraintSetId)])--instance ToPath GetSizeConstraintSet where- toPath = const "/"--instance ToQuery GetSizeConstraintSet where- toQuery = const mempty---- | /See:/ 'getSizeConstraintSetResponse' smart constructor.-data GetSizeConstraintSetResponse = GetSizeConstraintSetResponse'- { _gscsrsSizeConstraintSet :: !(Maybe SizeConstraintSet)- , _gscsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetSizeConstraintSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gscsrsSizeConstraintSet' - Information about the 'SizeConstraintSet' that you specified in the @GetSizeConstraintSet@ request. For more information, see the following topics: * 'SizeConstraintSet' : Contains @SizeConstraintSetId@ , @SizeConstraints@ , and @Name@ * @SizeConstraints@ : Contains an array of 'SizeConstraint' objects. Each @SizeConstraint@ object contains 'FieldToMatch' , @TextTransformation@ , @ComparisonOperator@ , and @Size@ * 'FieldToMatch' : Contains @Data@ and @Type@------ * 'gscsrsResponseStatus' - -- | The response status code.-getSizeConstraintSetResponse- :: Int -- ^ 'gscsrsResponseStatus'- -> GetSizeConstraintSetResponse-getSizeConstraintSetResponse pResponseStatus_ =- GetSizeConstraintSetResponse'- { _gscsrsSizeConstraintSet = Nothing- , _gscsrsResponseStatus = pResponseStatus_- }----- | Information about the 'SizeConstraintSet' that you specified in the @GetSizeConstraintSet@ request. For more information, see the following topics: * 'SizeConstraintSet' : Contains @SizeConstraintSetId@ , @SizeConstraints@ , and @Name@ * @SizeConstraints@ : Contains an array of 'SizeConstraint' objects. Each @SizeConstraint@ object contains 'FieldToMatch' , @TextTransformation@ , @ComparisonOperator@ , and @Size@ * 'FieldToMatch' : Contains @Data@ and @Type@-gscsrsSizeConstraintSet :: Lens' GetSizeConstraintSetResponse (Maybe SizeConstraintSet)-gscsrsSizeConstraintSet = lens _gscsrsSizeConstraintSet (\ s a -> s{_gscsrsSizeConstraintSet = a})---- | -- | The response status code.-gscsrsResponseStatus :: Lens' GetSizeConstraintSetResponse Int-gscsrsResponseStatus = lens _gscsrsResponseStatus (\ s a -> s{_gscsrsResponseStatus = a})--instance NFData GetSizeConstraintSetResponse where
− gen/Network/AWS/WAF/GetSqlInjectionMatchSet.hs
@@ -1,149 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetSqlInjectionMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'SqlInjectionMatchSet' that is specified by @SqlInjectionMatchSetId@ .-------module Network.AWS.WAF.GetSqlInjectionMatchSet- (- -- * Creating a Request- getSqlInjectionMatchSet- , GetSqlInjectionMatchSet- -- * Request Lenses- , gsimsSqlInjectionMatchSetId-- -- * Destructuring the Response- , getSqlInjectionMatchSetResponse- , GetSqlInjectionMatchSetResponse- -- * Response Lenses- , gsimsrsSqlInjectionMatchSet- , gsimsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to get a 'SqlInjectionMatchSet' .------------ /See:/ 'getSqlInjectionMatchSet' smart constructor.-newtype GetSqlInjectionMatchSet = GetSqlInjectionMatchSet'- { _gsimsSqlInjectionMatchSetId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetSqlInjectionMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsimsSqlInjectionMatchSetId' - The @SqlInjectionMatchSetId@ of the 'SqlInjectionMatchSet' that you want to get. @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .-getSqlInjectionMatchSet- :: Text -- ^ 'gsimsSqlInjectionMatchSetId'- -> GetSqlInjectionMatchSet-getSqlInjectionMatchSet pSqlInjectionMatchSetId_ =- GetSqlInjectionMatchSet'- {_gsimsSqlInjectionMatchSetId = pSqlInjectionMatchSetId_}----- | The @SqlInjectionMatchSetId@ of the 'SqlInjectionMatchSet' that you want to get. @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .-gsimsSqlInjectionMatchSetId :: Lens' GetSqlInjectionMatchSet Text-gsimsSqlInjectionMatchSetId = lens _gsimsSqlInjectionMatchSetId (\ s a -> s{_gsimsSqlInjectionMatchSetId = a})--instance AWSRequest GetSqlInjectionMatchSet where- type Rs GetSqlInjectionMatchSet =- GetSqlInjectionMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetSqlInjectionMatchSetResponse' <$>- (x .?> "SqlInjectionMatchSet") <*>- (pure (fromEnum s)))--instance Hashable GetSqlInjectionMatchSet where--instance NFData GetSqlInjectionMatchSet where--instance ToHeaders GetSqlInjectionMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetSqlInjectionMatchSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetSqlInjectionMatchSet where- toJSON GetSqlInjectionMatchSet'{..}- = object- (catMaybes- [Just- ("SqlInjectionMatchSetId" .=- _gsimsSqlInjectionMatchSetId)])--instance ToPath GetSqlInjectionMatchSet where- toPath = const "/"--instance ToQuery GetSqlInjectionMatchSet where- toQuery = const mempty---- | The response to a 'GetSqlInjectionMatchSet' request.------------ /See:/ 'getSqlInjectionMatchSetResponse' smart constructor.-data GetSqlInjectionMatchSetResponse = GetSqlInjectionMatchSetResponse'- { _gsimsrsSqlInjectionMatchSet :: !(Maybe SqlInjectionMatchSet)- , _gsimsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetSqlInjectionMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsimsrsSqlInjectionMatchSet' - Information about the 'SqlInjectionMatchSet' that you specified in the @GetSqlInjectionMatchSet@ request. For more information, see the following topics: * 'SqlInjectionMatchSet' : Contains @Name@ , @SqlInjectionMatchSetId@ , and an array of @SqlInjectionMatchTuple@ objects * 'SqlInjectionMatchTuple' : Each @SqlInjectionMatchTuple@ object contains @FieldToMatch@ and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@------ * 'gsimsrsResponseStatus' - -- | The response status code.-getSqlInjectionMatchSetResponse- :: Int -- ^ 'gsimsrsResponseStatus'- -> GetSqlInjectionMatchSetResponse-getSqlInjectionMatchSetResponse pResponseStatus_ =- GetSqlInjectionMatchSetResponse'- { _gsimsrsSqlInjectionMatchSet = Nothing- , _gsimsrsResponseStatus = pResponseStatus_- }----- | Information about the 'SqlInjectionMatchSet' that you specified in the @GetSqlInjectionMatchSet@ request. For more information, see the following topics: * 'SqlInjectionMatchSet' : Contains @Name@ , @SqlInjectionMatchSetId@ , and an array of @SqlInjectionMatchTuple@ objects * 'SqlInjectionMatchTuple' : Each @SqlInjectionMatchTuple@ object contains @FieldToMatch@ and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@-gsimsrsSqlInjectionMatchSet :: Lens' GetSqlInjectionMatchSetResponse (Maybe SqlInjectionMatchSet)-gsimsrsSqlInjectionMatchSet = lens _gsimsrsSqlInjectionMatchSet (\ s a -> s{_gsimsrsSqlInjectionMatchSet = a})---- | -- | The response status code.-gsimsrsResponseStatus :: Lens' GetSqlInjectionMatchSetResponse Int-gsimsrsResponseStatus = lens _gsimsrsResponseStatus (\ s a -> s{_gsimsrsResponseStatus = a})--instance NFData GetSqlInjectionMatchSetResponse where
− gen/Network/AWS/WAF/GetWebACL.hs
@@ -1,131 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetWebACL--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'WebACL' that is specified by @WebACLId@ .-------module Network.AWS.WAF.GetWebACL- (- -- * Creating a Request- getWebACL- , GetWebACL- -- * Request Lenses- , gwaWebACLId-- -- * Destructuring the Response- , getWebACLResponse- , GetWebACLResponse- -- * Response Lenses- , gwarsWebACL- , gwarsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'getWebACL' smart constructor.-newtype GetWebACL = GetWebACL'- { _gwaWebACLId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetWebACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gwaWebACLId' - The @WebACLId@ of the 'WebACL' that you want to get. @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .-getWebACL- :: Text -- ^ 'gwaWebACLId'- -> GetWebACL-getWebACL pWebACLId_ = GetWebACL' {_gwaWebACLId = pWebACLId_}----- | The @WebACLId@ of the 'WebACL' that you want to get. @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .-gwaWebACLId :: Lens' GetWebACL Text-gwaWebACLId = lens _gwaWebACLId (\ s a -> s{_gwaWebACLId = a})--instance AWSRequest GetWebACL where- type Rs GetWebACL = GetWebACLResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetWebACLResponse' <$>- (x .?> "WebACL") <*> (pure (fromEnum s)))--instance Hashable GetWebACL where--instance NFData GetWebACL where--instance ToHeaders GetWebACL where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetWebACL" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetWebACL where- toJSON GetWebACL'{..}- = object- (catMaybes [Just ("WebACLId" .= _gwaWebACLId)])--instance ToPath GetWebACL where- toPath = const "/"--instance ToQuery GetWebACL where- toQuery = const mempty---- | /See:/ 'getWebACLResponse' smart constructor.-data GetWebACLResponse = GetWebACLResponse'- { _gwarsWebACL :: !(Maybe WebACL)- , _gwarsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetWebACLResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gwarsWebACL' - Information about the 'WebACL' that you specified in the @GetWebACL@ request. For more information, see the following topics: * 'WebACL' : Contains @DefaultAction@ , @MetricName@ , @Name@ , an array of @Rule@ objects, and @WebACLId@ * @DefaultAction@ (Data type is 'WafAction' ): Contains @Type@ * @Rules@ : Contains an array of @ActivatedRule@ objects, which contain @Action@ , @Priority@ , and @RuleId@ * @Action@ : Contains @Type@------ * 'gwarsResponseStatus' - -- | The response status code.-getWebACLResponse- :: Int -- ^ 'gwarsResponseStatus'- -> GetWebACLResponse-getWebACLResponse pResponseStatus_ =- GetWebACLResponse'- {_gwarsWebACL = Nothing, _gwarsResponseStatus = pResponseStatus_}----- | Information about the 'WebACL' that you specified in the @GetWebACL@ request. For more information, see the following topics: * 'WebACL' : Contains @DefaultAction@ , @MetricName@ , @Name@ , an array of @Rule@ objects, and @WebACLId@ * @DefaultAction@ (Data type is 'WafAction' ): Contains @Type@ * @Rules@ : Contains an array of @ActivatedRule@ objects, which contain @Action@ , @Priority@ , and @RuleId@ * @Action@ : Contains @Type@-gwarsWebACL :: Lens' GetWebACLResponse (Maybe WebACL)-gwarsWebACL = lens _gwarsWebACL (\ s a -> s{_gwarsWebACL = a})---- | -- | The response status code.-gwarsResponseStatus :: Lens' GetWebACLResponse Int-gwarsResponseStatus = lens _gwarsResponseStatus (\ s a -> s{_gwarsResponseStatus = a})--instance NFData GetWebACLResponse where
− gen/Network/AWS/WAF/GetXSSMatchSet.hs
@@ -1,141 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.GetXSSMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the 'XssMatchSet' that is specified by @XssMatchSetId@ .-------module Network.AWS.WAF.GetXSSMatchSet- (- -- * Creating a Request- getXSSMatchSet- , GetXSSMatchSet- -- * Request Lenses- , gxmsXSSMatchSetId-- -- * Destructuring the Response- , getXSSMatchSetResponse- , GetXSSMatchSetResponse- -- * Response Lenses- , gxmsrsXSSMatchSet- , gxmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to get an 'XssMatchSet' .------------ /See:/ 'getXSSMatchSet' smart constructor.-newtype GetXSSMatchSet = GetXSSMatchSet'- { _gxmsXSSMatchSetId :: Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetXSSMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gxmsXSSMatchSetId' - The @XssMatchSetId@ of the 'XssMatchSet' that you want to get. @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .-getXSSMatchSet- :: Text -- ^ 'gxmsXSSMatchSetId'- -> GetXSSMatchSet-getXSSMatchSet pXSSMatchSetId_ =- GetXSSMatchSet' {_gxmsXSSMatchSetId = pXSSMatchSetId_}----- | The @XssMatchSetId@ of the 'XssMatchSet' that you want to get. @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .-gxmsXSSMatchSetId :: Lens' GetXSSMatchSet Text-gxmsXSSMatchSetId = lens _gxmsXSSMatchSetId (\ s a -> s{_gxmsXSSMatchSetId = a})--instance AWSRequest GetXSSMatchSet where- type Rs GetXSSMatchSet = GetXSSMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- GetXSSMatchSetResponse' <$>- (x .?> "XssMatchSet") <*> (pure (fromEnum s)))--instance Hashable GetXSSMatchSet where--instance NFData GetXSSMatchSet where--instance ToHeaders GetXSSMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.GetXssMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON GetXSSMatchSet where- toJSON GetXSSMatchSet'{..}- = object- (catMaybes- [Just ("XssMatchSetId" .= _gxmsXSSMatchSetId)])--instance ToPath GetXSSMatchSet where- toPath = const "/"--instance ToQuery GetXSSMatchSet where- toQuery = const mempty---- | The response to a 'GetXssMatchSet' request.------------ /See:/ 'getXSSMatchSetResponse' smart constructor.-data GetXSSMatchSetResponse = GetXSSMatchSetResponse'- { _gxmsrsXSSMatchSet :: !(Maybe XSSMatchSet)- , _gxmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetXSSMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gxmsrsXSSMatchSet' - Information about the 'XssMatchSet' that you specified in the @GetXssMatchSet@ request. For more information, see the following topics: * 'XssMatchSet' : Contains @Name@ , @XssMatchSetId@ , and an array of @XssMatchTuple@ objects * 'XssMatchTuple' : Each @XssMatchTuple@ object contains @FieldToMatch@ and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@------ * 'gxmsrsResponseStatus' - -- | The response status code.-getXSSMatchSetResponse- :: Int -- ^ 'gxmsrsResponseStatus'- -> GetXSSMatchSetResponse-getXSSMatchSetResponse pResponseStatus_ =- GetXSSMatchSetResponse'- {_gxmsrsXSSMatchSet = Nothing, _gxmsrsResponseStatus = pResponseStatus_}----- | Information about the 'XssMatchSet' that you specified in the @GetXssMatchSet@ request. For more information, see the following topics: * 'XssMatchSet' : Contains @Name@ , @XssMatchSetId@ , and an array of @XssMatchTuple@ objects * 'XssMatchTuple' : Each @XssMatchTuple@ object contains @FieldToMatch@ and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@-gxmsrsXSSMatchSet :: Lens' GetXSSMatchSetResponse (Maybe XSSMatchSet)-gxmsrsXSSMatchSet = lens _gxmsrsXSSMatchSet (\ s a -> s{_gxmsrsXSSMatchSet = a})---- | -- | The response status code.-gxmsrsResponseStatus :: Lens' GetXSSMatchSetResponse Int-gxmsrsResponseStatus = lens _gxmsrsResponseStatus (\ s a -> s{_gxmsrsResponseStatus = a})--instance NFData GetXSSMatchSetResponse where
− gen/Network/AWS/WAF/ListActivatedRulesInRuleGroup.hs
@@ -1,172 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListActivatedRulesInRuleGroup--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'ActivatedRule' objects.-------module Network.AWS.WAF.ListActivatedRulesInRuleGroup- (- -- * Creating a Request- listActivatedRulesInRuleGroup- , ListActivatedRulesInRuleGroup- -- * Request Lenses- , larirgRuleGroupId- , larirgNextMarker- , larirgLimit-- -- * Destructuring the Response- , listActivatedRulesInRuleGroupResponse- , ListActivatedRulesInRuleGroupResponse- -- * Response Lenses- , larirgrsNextMarker- , larirgrsActivatedRules- , larirgrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listActivatedRulesInRuleGroup' smart constructor.-data ListActivatedRulesInRuleGroup = ListActivatedRulesInRuleGroup'- { _larirgRuleGroupId :: !(Maybe Text)- , _larirgNextMarker :: !(Maybe Text)- , _larirgLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListActivatedRulesInRuleGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'larirgRuleGroupId' - The @RuleGroupId@ of the 'RuleGroup' for which you want to get a list of 'ActivatedRule' objects.------ * 'larirgNextMarker' - If you specify a value for @Limit@ and you have more @ActivatedRules@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @ActivatedRules@ . For the second and subsequent @ListActivatedRulesInRuleGroup@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @ActivatedRules@ .------ * 'larirgLimit' - Specifies the number of @ActivatedRules@ that you want AWS WAF to return for this request. If you have more @ActivatedRules@ than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @ActivatedRules@ .-listActivatedRulesInRuleGroup- :: ListActivatedRulesInRuleGroup-listActivatedRulesInRuleGroup =- ListActivatedRulesInRuleGroup'- { _larirgRuleGroupId = Nothing- , _larirgNextMarker = Nothing- , _larirgLimit = Nothing- }----- | The @RuleGroupId@ of the 'RuleGroup' for which you want to get a list of 'ActivatedRule' objects.-larirgRuleGroupId :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)-larirgRuleGroupId = lens _larirgRuleGroupId (\ s a -> s{_larirgRuleGroupId = a})---- | If you specify a value for @Limit@ and you have more @ActivatedRules@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @ActivatedRules@ . For the second and subsequent @ListActivatedRulesInRuleGroup@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @ActivatedRules@ .-larirgNextMarker :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)-larirgNextMarker = lens _larirgNextMarker (\ s a -> s{_larirgNextMarker = a})---- | Specifies the number of @ActivatedRules@ that you want AWS WAF to return for this request. If you have more @ActivatedRules@ than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @ActivatedRules@ .-larirgLimit :: Lens' ListActivatedRulesInRuleGroup (Maybe Natural)-larirgLimit = lens _larirgLimit (\ s a -> s{_larirgLimit = a}) . mapping _Nat--instance AWSRequest ListActivatedRulesInRuleGroup- where- type Rs ListActivatedRulesInRuleGroup =- ListActivatedRulesInRuleGroupResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListActivatedRulesInRuleGroupResponse' <$>- (x .?> "NextMarker") <*>- (x .?> "ActivatedRules" .!@ mempty)- <*> (pure (fromEnum s)))--instance Hashable ListActivatedRulesInRuleGroup where--instance NFData ListActivatedRulesInRuleGroup where--instance ToHeaders ListActivatedRulesInRuleGroup- where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListActivatedRulesInRuleGroup" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListActivatedRulesInRuleGroup where- toJSON ListActivatedRulesInRuleGroup'{..}- = object- (catMaybes- [("RuleGroupId" .=) <$> _larirgRuleGroupId,- ("NextMarker" .=) <$> _larirgNextMarker,- ("Limit" .=) <$> _larirgLimit])--instance ToPath ListActivatedRulesInRuleGroup where- toPath = const "/"--instance ToQuery ListActivatedRulesInRuleGroup where- toQuery = const mempty---- | /See:/ 'listActivatedRulesInRuleGroupResponse' smart constructor.-data ListActivatedRulesInRuleGroupResponse = ListActivatedRulesInRuleGroupResponse'- { _larirgrsNextMarker :: !(Maybe Text)- , _larirgrsActivatedRules :: !(Maybe [ActivatedRule])- , _larirgrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListActivatedRulesInRuleGroupResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'larirgrsNextMarker' - If you have more @ActivatedRules@ than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @ActivatedRules@ , submit another @ListActivatedRulesInRuleGroup@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'larirgrsActivatedRules' - An array of @ActivatedRules@ objects.------ * 'larirgrsResponseStatus' - -- | The response status code.-listActivatedRulesInRuleGroupResponse- :: Int -- ^ 'larirgrsResponseStatus'- -> ListActivatedRulesInRuleGroupResponse-listActivatedRulesInRuleGroupResponse pResponseStatus_ =- ListActivatedRulesInRuleGroupResponse'- { _larirgrsNextMarker = Nothing- , _larirgrsActivatedRules = Nothing- , _larirgrsResponseStatus = pResponseStatus_- }----- | If you have more @ActivatedRules@ than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @ActivatedRules@ , submit another @ListActivatedRulesInRuleGroup@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-larirgrsNextMarker :: Lens' ListActivatedRulesInRuleGroupResponse (Maybe Text)-larirgrsNextMarker = lens _larirgrsNextMarker (\ s a -> s{_larirgrsNextMarker = a})---- | An array of @ActivatedRules@ objects.-larirgrsActivatedRules :: Lens' ListActivatedRulesInRuleGroupResponse [ActivatedRule]-larirgrsActivatedRules = lens _larirgrsActivatedRules (\ s a -> s{_larirgrsActivatedRules = a}) . _Default . _Coerce---- | -- | The response status code.-larirgrsResponseStatus :: Lens' ListActivatedRulesInRuleGroupResponse Int-larirgrsResponseStatus = lens _larirgrsResponseStatus (\ s a -> s{_larirgrsResponseStatus = a})--instance NFData ListActivatedRulesInRuleGroupResponse- where
− gen/Network/AWS/WAF/ListByteMatchSets.hs
@@ -1,164 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListByteMatchSets--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'ByteMatchSetSummary' objects.------------ This operation returns paginated results.-module Network.AWS.WAF.ListByteMatchSets- (- -- * Creating a Request- listByteMatchSets- , ListByteMatchSets- -- * Request Lenses- , lbmsNextMarker- , lbmsLimit-- -- * Destructuring the Response- , listByteMatchSetsResponse- , ListByteMatchSetsResponse- -- * Response Lenses- , lbmsrsByteMatchSets- , lbmsrsNextMarker- , lbmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listByteMatchSets' smart constructor.-data ListByteMatchSets = ListByteMatchSets'- { _lbmsNextMarker :: !(Maybe Text)- , _lbmsLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListByteMatchSets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbmsNextMarker' - If you specify a value for @Limit@ and you have more @ByteMatchSets@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @ByteMatchSets@ . For the second and subsequent @ListByteMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @ByteMatchSets@ .------ * 'lbmsLimit' - Specifies the number of @ByteMatchSet@ objects that you want AWS WAF to return for this request. If you have more @ByteMatchSets@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @ByteMatchSet@ objects.-listByteMatchSets- :: ListByteMatchSets-listByteMatchSets =- ListByteMatchSets' {_lbmsNextMarker = Nothing, _lbmsLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @ByteMatchSets@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @ByteMatchSets@ . For the second and subsequent @ListByteMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @ByteMatchSets@ .-lbmsNextMarker :: Lens' ListByteMatchSets (Maybe Text)-lbmsNextMarker = lens _lbmsNextMarker (\ s a -> s{_lbmsNextMarker = a})---- | Specifies the number of @ByteMatchSet@ objects that you want AWS WAF to return for this request. If you have more @ByteMatchSets@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @ByteMatchSet@ objects.-lbmsLimit :: Lens' ListByteMatchSets (Maybe Natural)-lbmsLimit = lens _lbmsLimit (\ s a -> s{_lbmsLimit = a}) . mapping _Nat--instance AWSPager ListByteMatchSets where- page rq rs- | stop (rs ^. lbmsrsNextMarker) = Nothing- | stop (rs ^. lbmsrsByteMatchSets) = Nothing- | otherwise =- Just $ rq & lbmsNextMarker .~ rs ^. lbmsrsNextMarker--instance AWSRequest ListByteMatchSets where- type Rs ListByteMatchSets = ListByteMatchSetsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListByteMatchSetsResponse' <$>- (x .?> "ByteMatchSets" .!@ mempty) <*>- (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListByteMatchSets where--instance NFData ListByteMatchSets where--instance ToHeaders ListByteMatchSets where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListByteMatchSets" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListByteMatchSets where- toJSON ListByteMatchSets'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lbmsNextMarker,- ("Limit" .=) <$> _lbmsLimit])--instance ToPath ListByteMatchSets where- toPath = const "/"--instance ToQuery ListByteMatchSets where- toQuery = const mempty---- | /See:/ 'listByteMatchSetsResponse' smart constructor.-data ListByteMatchSetsResponse = ListByteMatchSetsResponse'- { _lbmsrsByteMatchSets :: !(Maybe [ByteMatchSetSummary])- , _lbmsrsNextMarker :: !(Maybe Text)- , _lbmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListByteMatchSetsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbmsrsByteMatchSets' - An array of 'ByteMatchSetSummary' objects.------ * 'lbmsrsNextMarker' - If you have more @ByteMatchSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @ByteMatchSet@ objects, submit another @ListByteMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lbmsrsResponseStatus' - -- | The response status code.-listByteMatchSetsResponse- :: Int -- ^ 'lbmsrsResponseStatus'- -> ListByteMatchSetsResponse-listByteMatchSetsResponse pResponseStatus_ =- ListByteMatchSetsResponse'- { _lbmsrsByteMatchSets = Nothing- , _lbmsrsNextMarker = Nothing- , _lbmsrsResponseStatus = pResponseStatus_- }----- | An array of 'ByteMatchSetSummary' objects.-lbmsrsByteMatchSets :: Lens' ListByteMatchSetsResponse [ByteMatchSetSummary]-lbmsrsByteMatchSets = lens _lbmsrsByteMatchSets (\ s a -> s{_lbmsrsByteMatchSets = a}) . _Default . _Coerce---- | If you have more @ByteMatchSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @ByteMatchSet@ objects, submit another @ListByteMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lbmsrsNextMarker :: Lens' ListByteMatchSetsResponse (Maybe Text)-lbmsrsNextMarker = lens _lbmsrsNextMarker (\ s a -> s{_lbmsrsNextMarker = a})---- | -- | The response status code.-lbmsrsResponseStatus :: Lens' ListByteMatchSetsResponse Int-lbmsrsResponseStatus = lens _lbmsrsResponseStatus (\ s a -> s{_lbmsrsResponseStatus = a})--instance NFData ListByteMatchSetsResponse where
− gen/Network/AWS/WAF/ListGeoMatchSets.hs
@@ -1,154 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListGeoMatchSets--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'GeoMatchSetSummary' objects in the response.-------module Network.AWS.WAF.ListGeoMatchSets- (- -- * Creating a Request- listGeoMatchSets- , ListGeoMatchSets- -- * Request Lenses- , lgmsNextMarker- , lgmsLimit-- -- * Destructuring the Response- , listGeoMatchSetsResponse- , ListGeoMatchSetsResponse- -- * Response Lenses- , lgmsrsGeoMatchSets- , lgmsrsNextMarker- , lgmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listGeoMatchSets' smart constructor.-data ListGeoMatchSets = ListGeoMatchSets'- { _lgmsNextMarker :: !(Maybe Text)- , _lgmsLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListGeoMatchSets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lgmsNextMarker' - If you specify a value for @Limit@ and you have more @GeoMatchSet@ s than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @GeoMatchSet@ objects. For the second and subsequent @ListGeoMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @GeoMatchSet@ objects.------ * 'lgmsLimit' - Specifies the number of @GeoMatchSet@ objects that you want AWS WAF to return for this request. If you have more @GeoMatchSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @GeoMatchSet@ objects.-listGeoMatchSets- :: ListGeoMatchSets-listGeoMatchSets =- ListGeoMatchSets' {_lgmsNextMarker = Nothing, _lgmsLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @GeoMatchSet@ s than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @GeoMatchSet@ objects. For the second and subsequent @ListGeoMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @GeoMatchSet@ objects.-lgmsNextMarker :: Lens' ListGeoMatchSets (Maybe Text)-lgmsNextMarker = lens _lgmsNextMarker (\ s a -> s{_lgmsNextMarker = a})---- | Specifies the number of @GeoMatchSet@ objects that you want AWS WAF to return for this request. If you have more @GeoMatchSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @GeoMatchSet@ objects.-lgmsLimit :: Lens' ListGeoMatchSets (Maybe Natural)-lgmsLimit = lens _lgmsLimit (\ s a -> s{_lgmsLimit = a}) . mapping _Nat--instance AWSRequest ListGeoMatchSets where- type Rs ListGeoMatchSets = ListGeoMatchSetsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListGeoMatchSetsResponse' <$>- (x .?> "GeoMatchSets" .!@ mempty) <*>- (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListGeoMatchSets where--instance NFData ListGeoMatchSets where--instance ToHeaders ListGeoMatchSets where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListGeoMatchSets" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListGeoMatchSets where- toJSON ListGeoMatchSets'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lgmsNextMarker,- ("Limit" .=) <$> _lgmsLimit])--instance ToPath ListGeoMatchSets where- toPath = const "/"--instance ToQuery ListGeoMatchSets where- toQuery = const mempty---- | /See:/ 'listGeoMatchSetsResponse' smart constructor.-data ListGeoMatchSetsResponse = ListGeoMatchSetsResponse'- { _lgmsrsGeoMatchSets :: !(Maybe [GeoMatchSetSummary])- , _lgmsrsNextMarker :: !(Maybe Text)- , _lgmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListGeoMatchSetsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lgmsrsGeoMatchSets' - An array of 'GeoMatchSetSummary' objects.------ * 'lgmsrsNextMarker' - If you have more @GeoMatchSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @GeoMatchSet@ objects, submit another @ListGeoMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lgmsrsResponseStatus' - -- | The response status code.-listGeoMatchSetsResponse- :: Int -- ^ 'lgmsrsResponseStatus'- -> ListGeoMatchSetsResponse-listGeoMatchSetsResponse pResponseStatus_ =- ListGeoMatchSetsResponse'- { _lgmsrsGeoMatchSets = Nothing- , _lgmsrsNextMarker = Nothing- , _lgmsrsResponseStatus = pResponseStatus_- }----- | An array of 'GeoMatchSetSummary' objects.-lgmsrsGeoMatchSets :: Lens' ListGeoMatchSetsResponse [GeoMatchSetSummary]-lgmsrsGeoMatchSets = lens _lgmsrsGeoMatchSets (\ s a -> s{_lgmsrsGeoMatchSets = a}) . _Default . _Coerce---- | If you have more @GeoMatchSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @GeoMatchSet@ objects, submit another @ListGeoMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lgmsrsNextMarker :: Lens' ListGeoMatchSetsResponse (Maybe Text)-lgmsrsNextMarker = lens _lgmsrsNextMarker (\ s a -> s{_lgmsrsNextMarker = a})---- | -- | The response status code.-lgmsrsResponseStatus :: Lens' ListGeoMatchSetsResponse Int-lgmsrsResponseStatus = lens _lgmsrsResponseStatus (\ s a -> s{_lgmsrsResponseStatus = a})--instance NFData ListGeoMatchSetsResponse where
− gen/Network/AWS/WAF/ListIPSets.hs
@@ -1,162 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListIPSets--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'IPSetSummary' objects in the response.------------ This operation returns paginated results.-module Network.AWS.WAF.ListIPSets- (- -- * Creating a Request- listIPSets- , ListIPSets- -- * Request Lenses- , lisNextMarker- , lisLimit-- -- * Destructuring the Response- , listIPSetsResponse- , ListIPSetsResponse- -- * Response Lenses- , lisrsNextMarker- , lisrsIPSets- , lisrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listIPSets' smart constructor.-data ListIPSets = ListIPSets'- { _lisNextMarker :: !(Maybe Text)- , _lisLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListIPSets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lisNextMarker' - If you specify a value for @Limit@ and you have more @IPSets@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @IPSets@ . For the second and subsequent @ListIPSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @IPSets@ .------ * 'lisLimit' - Specifies the number of @IPSet@ objects that you want AWS WAF to return for this request. If you have more @IPSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @IPSet@ objects.-listIPSets- :: ListIPSets-listIPSets = ListIPSets' {_lisNextMarker = Nothing, _lisLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @IPSets@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @IPSets@ . For the second and subsequent @ListIPSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @IPSets@ .-lisNextMarker :: Lens' ListIPSets (Maybe Text)-lisNextMarker = lens _lisNextMarker (\ s a -> s{_lisNextMarker = a})---- | Specifies the number of @IPSet@ objects that you want AWS WAF to return for this request. If you have more @IPSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @IPSet@ objects.-lisLimit :: Lens' ListIPSets (Maybe Natural)-lisLimit = lens _lisLimit (\ s a -> s{_lisLimit = a}) . mapping _Nat--instance AWSPager ListIPSets where- page rq rs- | stop (rs ^. lisrsNextMarker) = Nothing- | stop (rs ^. lisrsIPSets) = Nothing- | otherwise =- Just $ rq & lisNextMarker .~ rs ^. lisrsNextMarker--instance AWSRequest ListIPSets where- type Rs ListIPSets = ListIPSetsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListIPSetsResponse' <$>- (x .?> "NextMarker") <*> (x .?> "IPSets" .!@ mempty)- <*> (pure (fromEnum s)))--instance Hashable ListIPSets where--instance NFData ListIPSets where--instance ToHeaders ListIPSets where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListIPSets" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListIPSets where- toJSON ListIPSets'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lisNextMarker,- ("Limit" .=) <$> _lisLimit])--instance ToPath ListIPSets where- toPath = const "/"--instance ToQuery ListIPSets where- toQuery = const mempty---- | /See:/ 'listIPSetsResponse' smart constructor.-data ListIPSetsResponse = ListIPSetsResponse'- { _lisrsNextMarker :: !(Maybe Text)- , _lisrsIPSets :: !(Maybe [IPSetSummary])- , _lisrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListIPSetsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lisrsNextMarker' - If you have more @IPSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @IPSet@ objects, submit another @ListIPSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lisrsIPSets' - An array of 'IPSetSummary' objects.------ * 'lisrsResponseStatus' - -- | The response status code.-listIPSetsResponse- :: Int -- ^ 'lisrsResponseStatus'- -> ListIPSetsResponse-listIPSetsResponse pResponseStatus_ =- ListIPSetsResponse'- { _lisrsNextMarker = Nothing- , _lisrsIPSets = Nothing- , _lisrsResponseStatus = pResponseStatus_- }----- | If you have more @IPSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @IPSet@ objects, submit another @ListIPSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lisrsNextMarker :: Lens' ListIPSetsResponse (Maybe Text)-lisrsNextMarker = lens _lisrsNextMarker (\ s a -> s{_lisrsNextMarker = a})---- | An array of 'IPSetSummary' objects.-lisrsIPSets :: Lens' ListIPSetsResponse [IPSetSummary]-lisrsIPSets = lens _lisrsIPSets (\ s a -> s{_lisrsIPSets = a}) . _Default . _Coerce---- | -- | The response status code.-lisrsResponseStatus :: Lens' ListIPSetsResponse Int-lisrsResponseStatus = lens _lisrsResponseStatus (\ s a -> s{_lisrsResponseStatus = a})--instance NFData ListIPSetsResponse where
− gen/Network/AWS/WAF/ListRateBasedRules.hs
@@ -1,154 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListRateBasedRules--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'RuleSummary' objects.-------module Network.AWS.WAF.ListRateBasedRules- (- -- * Creating a Request- listRateBasedRules- , ListRateBasedRules- -- * Request Lenses- , lrbrNextMarker- , lrbrLimit-- -- * Destructuring the Response- , listRateBasedRulesResponse- , ListRateBasedRulesResponse- -- * Response Lenses- , lrbrrsRules- , lrbrrsNextMarker- , lrbrrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listRateBasedRules' smart constructor.-data ListRateBasedRules = ListRateBasedRules'- { _lrbrNextMarker :: !(Maybe Text)- , _lrbrLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRateBasedRules' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrbrNextMarker' - If you specify a value for @Limit@ and you have more @Rules@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @Rules@ . For the second and subsequent @ListRateBasedRules@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @Rules@ .------ * 'lrbrLimit' - Specifies the number of @Rules@ that you want AWS WAF to return for this request. If you have more @Rules@ than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @Rules@ .-listRateBasedRules- :: ListRateBasedRules-listRateBasedRules =- ListRateBasedRules' {_lrbrNextMarker = Nothing, _lrbrLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @Rules@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @Rules@ . For the second and subsequent @ListRateBasedRules@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @Rules@ .-lrbrNextMarker :: Lens' ListRateBasedRules (Maybe Text)-lrbrNextMarker = lens _lrbrNextMarker (\ s a -> s{_lrbrNextMarker = a})---- | Specifies the number of @Rules@ that you want AWS WAF to return for this request. If you have more @Rules@ than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @Rules@ .-lrbrLimit :: Lens' ListRateBasedRules (Maybe Natural)-lrbrLimit = lens _lrbrLimit (\ s a -> s{_lrbrLimit = a}) . mapping _Nat--instance AWSRequest ListRateBasedRules where- type Rs ListRateBasedRules =- ListRateBasedRulesResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListRateBasedRulesResponse' <$>- (x .?> "Rules" .!@ mempty) <*> (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListRateBasedRules where--instance NFData ListRateBasedRules where--instance ToHeaders ListRateBasedRules where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListRateBasedRules" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListRateBasedRules where- toJSON ListRateBasedRules'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lrbrNextMarker,- ("Limit" .=) <$> _lrbrLimit])--instance ToPath ListRateBasedRules where- toPath = const "/"--instance ToQuery ListRateBasedRules where- toQuery = const mempty---- | /See:/ 'listRateBasedRulesResponse' smart constructor.-data ListRateBasedRulesResponse = ListRateBasedRulesResponse'- { _lrbrrsRules :: !(Maybe [RuleSummary])- , _lrbrrsNextMarker :: !(Maybe Text)- , _lrbrrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRateBasedRulesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrbrrsRules' - An array of 'RuleSummary' objects.------ * 'lrbrrsNextMarker' - If you have more @Rules@ than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @Rules@ , submit another @ListRateBasedRules@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lrbrrsResponseStatus' - -- | The response status code.-listRateBasedRulesResponse- :: Int -- ^ 'lrbrrsResponseStatus'- -> ListRateBasedRulesResponse-listRateBasedRulesResponse pResponseStatus_ =- ListRateBasedRulesResponse'- { _lrbrrsRules = Nothing- , _lrbrrsNextMarker = Nothing- , _lrbrrsResponseStatus = pResponseStatus_- }----- | An array of 'RuleSummary' objects.-lrbrrsRules :: Lens' ListRateBasedRulesResponse [RuleSummary]-lrbrrsRules = lens _lrbrrsRules (\ s a -> s{_lrbrrsRules = a}) . _Default . _Coerce---- | If you have more @Rules@ than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @Rules@ , submit another @ListRateBasedRules@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lrbrrsNextMarker :: Lens' ListRateBasedRulesResponse (Maybe Text)-lrbrrsNextMarker = lens _lrbrrsNextMarker (\ s a -> s{_lrbrrsNextMarker = a})---- | -- | The response status code.-lrbrrsResponseStatus :: Lens' ListRateBasedRulesResponse Int-lrbrrsResponseStatus = lens _lrbrrsResponseStatus (\ s a -> s{_lrbrrsResponseStatus = a})--instance NFData ListRateBasedRulesResponse where
− gen/Network/AWS/WAF/ListRegexMatchSets.hs
@@ -1,155 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListRegexMatchSets--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'RegexMatchSetSummary' objects.-------module Network.AWS.WAF.ListRegexMatchSets- (- -- * Creating a Request- listRegexMatchSets- , ListRegexMatchSets- -- * Request Lenses- , lrmsNextMarker- , lrmsLimit-- -- * Destructuring the Response- , listRegexMatchSetsResponse- , ListRegexMatchSetsResponse- -- * Response Lenses- , lrmsrsRegexMatchSets- , lrmsrsNextMarker- , lrmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listRegexMatchSets' smart constructor.-data ListRegexMatchSets = ListRegexMatchSets'- { _lrmsNextMarker :: !(Maybe Text)- , _lrmsLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRegexMatchSets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrmsNextMarker' - If you specify a value for @Limit@ and you have more @RegexMatchSet@ objects than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @ByteMatchSets@ . For the second and subsequent @ListRegexMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @RegexMatchSet@ objects.------ * 'lrmsLimit' - Specifies the number of @RegexMatchSet@ objects that you want AWS WAF to return for this request. If you have more @RegexMatchSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @RegexMatchSet@ objects.-listRegexMatchSets- :: ListRegexMatchSets-listRegexMatchSets =- ListRegexMatchSets' {_lrmsNextMarker = Nothing, _lrmsLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @RegexMatchSet@ objects than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @ByteMatchSets@ . For the second and subsequent @ListRegexMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @RegexMatchSet@ objects.-lrmsNextMarker :: Lens' ListRegexMatchSets (Maybe Text)-lrmsNextMarker = lens _lrmsNextMarker (\ s a -> s{_lrmsNextMarker = a})---- | Specifies the number of @RegexMatchSet@ objects that you want AWS WAF to return for this request. If you have more @RegexMatchSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @RegexMatchSet@ objects.-lrmsLimit :: Lens' ListRegexMatchSets (Maybe Natural)-lrmsLimit = lens _lrmsLimit (\ s a -> s{_lrmsLimit = a}) . mapping _Nat--instance AWSRequest ListRegexMatchSets where- type Rs ListRegexMatchSets =- ListRegexMatchSetsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListRegexMatchSetsResponse' <$>- (x .?> "RegexMatchSets" .!@ mempty) <*>- (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListRegexMatchSets where--instance NFData ListRegexMatchSets where--instance ToHeaders ListRegexMatchSets where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListRegexMatchSets" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListRegexMatchSets where- toJSON ListRegexMatchSets'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lrmsNextMarker,- ("Limit" .=) <$> _lrmsLimit])--instance ToPath ListRegexMatchSets where- toPath = const "/"--instance ToQuery ListRegexMatchSets where- toQuery = const mempty---- | /See:/ 'listRegexMatchSetsResponse' smart constructor.-data ListRegexMatchSetsResponse = ListRegexMatchSetsResponse'- { _lrmsrsRegexMatchSets :: !(Maybe [RegexMatchSetSummary])- , _lrmsrsNextMarker :: !(Maybe Text)- , _lrmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRegexMatchSetsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrmsrsRegexMatchSets' - An array of 'RegexMatchSetSummary' objects.------ * 'lrmsrsNextMarker' - If you have more @RegexMatchSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @RegexMatchSet@ objects, submit another @ListRegexMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lrmsrsResponseStatus' - -- | The response status code.-listRegexMatchSetsResponse- :: Int -- ^ 'lrmsrsResponseStatus'- -> ListRegexMatchSetsResponse-listRegexMatchSetsResponse pResponseStatus_ =- ListRegexMatchSetsResponse'- { _lrmsrsRegexMatchSets = Nothing- , _lrmsrsNextMarker = Nothing- , _lrmsrsResponseStatus = pResponseStatus_- }----- | An array of 'RegexMatchSetSummary' objects.-lrmsrsRegexMatchSets :: Lens' ListRegexMatchSetsResponse [RegexMatchSetSummary]-lrmsrsRegexMatchSets = lens _lrmsrsRegexMatchSets (\ s a -> s{_lrmsrsRegexMatchSets = a}) . _Default . _Coerce---- | If you have more @RegexMatchSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @RegexMatchSet@ objects, submit another @ListRegexMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lrmsrsNextMarker :: Lens' ListRegexMatchSetsResponse (Maybe Text)-lrmsrsNextMarker = lens _lrmsrsNextMarker (\ s a -> s{_lrmsrsNextMarker = a})---- | -- | The response status code.-lrmsrsResponseStatus :: Lens' ListRegexMatchSetsResponse Int-lrmsrsResponseStatus = lens _lrmsrsResponseStatus (\ s a -> s{_lrmsrsResponseStatus = a})--instance NFData ListRegexMatchSetsResponse where
− gen/Network/AWS/WAF/ListRegexPatternSets.hs
@@ -1,156 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListRegexPatternSets--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'RegexPatternSetSummary' objects.-------module Network.AWS.WAF.ListRegexPatternSets- (- -- * Creating a Request- listRegexPatternSets- , ListRegexPatternSets- -- * Request Lenses- , lrpsNextMarker- , lrpsLimit-- -- * Destructuring the Response- , listRegexPatternSetsResponse- , ListRegexPatternSetsResponse- -- * Response Lenses- , lrpsrsRegexPatternSets- , lrpsrsNextMarker- , lrpsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listRegexPatternSets' smart constructor.-data ListRegexPatternSets = ListRegexPatternSets'- { _lrpsNextMarker :: !(Maybe Text)- , _lrpsLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRegexPatternSets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrpsNextMarker' - If you specify a value for @Limit@ and you have more @RegexPatternSet@ objects than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @RegexPatternSet@ objects. For the second and subsequent @ListRegexPatternSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @RegexPatternSet@ objects.------ * 'lrpsLimit' - Specifies the number of @RegexPatternSet@ objects that you want AWS WAF to return for this request. If you have more @RegexPatternSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @RegexPatternSet@ objects.-listRegexPatternSets- :: ListRegexPatternSets-listRegexPatternSets =- ListRegexPatternSets' {_lrpsNextMarker = Nothing, _lrpsLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @RegexPatternSet@ objects than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @RegexPatternSet@ objects. For the second and subsequent @ListRegexPatternSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @RegexPatternSet@ objects.-lrpsNextMarker :: Lens' ListRegexPatternSets (Maybe Text)-lrpsNextMarker = lens _lrpsNextMarker (\ s a -> s{_lrpsNextMarker = a})---- | Specifies the number of @RegexPatternSet@ objects that you want AWS WAF to return for this request. If you have more @RegexPatternSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @RegexPatternSet@ objects.-lrpsLimit :: Lens' ListRegexPatternSets (Maybe Natural)-lrpsLimit = lens _lrpsLimit (\ s a -> s{_lrpsLimit = a}) . mapping _Nat--instance AWSRequest ListRegexPatternSets where- type Rs ListRegexPatternSets =- ListRegexPatternSetsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListRegexPatternSetsResponse' <$>- (x .?> "RegexPatternSets" .!@ mempty) <*>- (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListRegexPatternSets where--instance NFData ListRegexPatternSets where--instance ToHeaders ListRegexPatternSets where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListRegexPatternSets" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListRegexPatternSets where- toJSON ListRegexPatternSets'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lrpsNextMarker,- ("Limit" .=) <$> _lrpsLimit])--instance ToPath ListRegexPatternSets where- toPath = const "/"--instance ToQuery ListRegexPatternSets where- toQuery = const mempty---- | /See:/ 'listRegexPatternSetsResponse' smart constructor.-data ListRegexPatternSetsResponse = ListRegexPatternSetsResponse'- { _lrpsrsRegexPatternSets :: !(Maybe [RegexPatternSetSummary])- , _lrpsrsNextMarker :: !(Maybe Text)- , _lrpsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRegexPatternSetsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrpsrsRegexPatternSets' - An array of 'RegexPatternSetSummary' objects.------ * 'lrpsrsNextMarker' - If you have more @RegexPatternSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @RegexPatternSet@ objects, submit another @ListRegexPatternSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lrpsrsResponseStatus' - -- | The response status code.-listRegexPatternSetsResponse- :: Int -- ^ 'lrpsrsResponseStatus'- -> ListRegexPatternSetsResponse-listRegexPatternSetsResponse pResponseStatus_ =- ListRegexPatternSetsResponse'- { _lrpsrsRegexPatternSets = Nothing- , _lrpsrsNextMarker = Nothing- , _lrpsrsResponseStatus = pResponseStatus_- }----- | An array of 'RegexPatternSetSummary' objects.-lrpsrsRegexPatternSets :: Lens' ListRegexPatternSetsResponse [RegexPatternSetSummary]-lrpsrsRegexPatternSets = lens _lrpsrsRegexPatternSets (\ s a -> s{_lrpsrsRegexPatternSets = a}) . _Default . _Coerce---- | If you have more @RegexPatternSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @RegexPatternSet@ objects, submit another @ListRegexPatternSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lrpsrsNextMarker :: Lens' ListRegexPatternSetsResponse (Maybe Text)-lrpsrsNextMarker = lens _lrpsrsNextMarker (\ s a -> s{_lrpsrsNextMarker = a})---- | -- | The response status code.-lrpsrsResponseStatus :: Lens' ListRegexPatternSetsResponse Int-lrpsrsResponseStatus = lens _lrpsrsResponseStatus (\ s a -> s{_lrpsrsResponseStatus = a})--instance NFData ListRegexPatternSetsResponse where
− gen/Network/AWS/WAF/ListRuleGroups.hs
@@ -1,153 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListRuleGroups--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'RuleGroup' objects.-------module Network.AWS.WAF.ListRuleGroups- (- -- * Creating a Request- listRuleGroups- , ListRuleGroups- -- * Request Lenses- , lrgNextMarker- , lrgLimit-- -- * Destructuring the Response- , listRuleGroupsResponse- , ListRuleGroupsResponse- -- * Response Lenses- , lrgrsRuleGroups- , lrgrsNextMarker- , lrgrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listRuleGroups' smart constructor.-data ListRuleGroups = ListRuleGroups'- { _lrgNextMarker :: !(Maybe Text)- , _lrgLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRuleGroups' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrgNextMarker' - If you specify a value for @Limit@ and you have more @RuleGroups@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @RuleGroups@ . For the second and subsequent @ListRuleGroups@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @RuleGroups@ .------ * 'lrgLimit' - Specifies the number of @RuleGroups@ that you want AWS WAF to return for this request. If you have more @RuleGroups@ than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @RuleGroups@ .-listRuleGroups- :: ListRuleGroups-listRuleGroups = ListRuleGroups' {_lrgNextMarker = Nothing, _lrgLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @RuleGroups@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @RuleGroups@ . For the second and subsequent @ListRuleGroups@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @RuleGroups@ .-lrgNextMarker :: Lens' ListRuleGroups (Maybe Text)-lrgNextMarker = lens _lrgNextMarker (\ s a -> s{_lrgNextMarker = a})---- | Specifies the number of @RuleGroups@ that you want AWS WAF to return for this request. If you have more @RuleGroups@ than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @RuleGroups@ .-lrgLimit :: Lens' ListRuleGroups (Maybe Natural)-lrgLimit = lens _lrgLimit (\ s a -> s{_lrgLimit = a}) . mapping _Nat--instance AWSRequest ListRuleGroups where- type Rs ListRuleGroups = ListRuleGroupsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListRuleGroupsResponse' <$>- (x .?> "RuleGroups" .!@ mempty) <*>- (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListRuleGroups where--instance NFData ListRuleGroups where--instance ToHeaders ListRuleGroups where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListRuleGroups" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListRuleGroups where- toJSON ListRuleGroups'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lrgNextMarker,- ("Limit" .=) <$> _lrgLimit])--instance ToPath ListRuleGroups where- toPath = const "/"--instance ToQuery ListRuleGroups where- toQuery = const mempty---- | /See:/ 'listRuleGroupsResponse' smart constructor.-data ListRuleGroupsResponse = ListRuleGroupsResponse'- { _lrgrsRuleGroups :: !(Maybe [RuleGroupSummary])- , _lrgrsNextMarker :: !(Maybe Text)- , _lrgrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRuleGroupsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrgrsRuleGroups' - An array of 'RuleGroup' objects.------ * 'lrgrsNextMarker' - If you have more @RuleGroups@ than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @RuleGroups@ , submit another @ListRuleGroups@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lrgrsResponseStatus' - -- | The response status code.-listRuleGroupsResponse- :: Int -- ^ 'lrgrsResponseStatus'- -> ListRuleGroupsResponse-listRuleGroupsResponse pResponseStatus_ =- ListRuleGroupsResponse'- { _lrgrsRuleGroups = Nothing- , _lrgrsNextMarker = Nothing- , _lrgrsResponseStatus = pResponseStatus_- }----- | An array of 'RuleGroup' objects.-lrgrsRuleGroups :: Lens' ListRuleGroupsResponse [RuleGroupSummary]-lrgrsRuleGroups = lens _lrgrsRuleGroups (\ s a -> s{_lrgrsRuleGroups = a}) . _Default . _Coerce---- | If you have more @RuleGroups@ than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @RuleGroups@ , submit another @ListRuleGroups@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lrgrsNextMarker :: Lens' ListRuleGroupsResponse (Maybe Text)-lrgrsNextMarker = lens _lrgrsNextMarker (\ s a -> s{_lrgrsNextMarker = a})---- | -- | The response status code.-lrgrsResponseStatus :: Lens' ListRuleGroupsResponse Int-lrgrsResponseStatus = lens _lrgrsResponseStatus (\ s a -> s{_lrgrsResponseStatus = a})--instance NFData ListRuleGroupsResponse where
− gen/Network/AWS/WAF/ListRules.hs
@@ -1,162 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListRules--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'RuleSummary' objects.------------ This operation returns paginated results.-module Network.AWS.WAF.ListRules- (- -- * Creating a Request- listRules- , ListRules- -- * Request Lenses- , lrNextMarker- , lrLimit-- -- * Destructuring the Response- , listRulesResponse- , ListRulesResponse- -- * Response Lenses- , lrrsRules- , lrrsNextMarker- , lrrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listRules' smart constructor.-data ListRules = ListRules'- { _lrNextMarker :: !(Maybe Text)- , _lrLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRules' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrNextMarker' - If you specify a value for @Limit@ and you have more @Rules@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @Rules@ . For the second and subsequent @ListRules@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @Rules@ .------ * 'lrLimit' - Specifies the number of @Rules@ that you want AWS WAF to return for this request. If you have more @Rules@ than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @Rules@ .-listRules- :: ListRules-listRules = ListRules' {_lrNextMarker = Nothing, _lrLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @Rules@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @Rules@ . For the second and subsequent @ListRules@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @Rules@ .-lrNextMarker :: Lens' ListRules (Maybe Text)-lrNextMarker = lens _lrNextMarker (\ s a -> s{_lrNextMarker = a})---- | Specifies the number of @Rules@ that you want AWS WAF to return for this request. If you have more @Rules@ than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @Rules@ .-lrLimit :: Lens' ListRules (Maybe Natural)-lrLimit = lens _lrLimit (\ s a -> s{_lrLimit = a}) . mapping _Nat--instance AWSPager ListRules where- page rq rs- | stop (rs ^. lrrsNextMarker) = Nothing- | stop (rs ^. lrrsRules) = Nothing- | otherwise =- Just $ rq & lrNextMarker .~ rs ^. lrrsNextMarker--instance AWSRequest ListRules where- type Rs ListRules = ListRulesResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListRulesResponse' <$>- (x .?> "Rules" .!@ mempty) <*> (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListRules where--instance NFData ListRules where--instance ToHeaders ListRules where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListRules" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListRules where- toJSON ListRules'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lrNextMarker,- ("Limit" .=) <$> _lrLimit])--instance ToPath ListRules where- toPath = const "/"--instance ToQuery ListRules where- toQuery = const mempty---- | /See:/ 'listRulesResponse' smart constructor.-data ListRulesResponse = ListRulesResponse'- { _lrrsRules :: !(Maybe [RuleSummary])- , _lrrsNextMarker :: !(Maybe Text)- , _lrrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListRulesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrrsRules' - An array of 'RuleSummary' objects.------ * 'lrrsNextMarker' - If you have more @Rules@ than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @Rules@ , submit another @ListRules@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lrrsResponseStatus' - -- | The response status code.-listRulesResponse- :: Int -- ^ 'lrrsResponseStatus'- -> ListRulesResponse-listRulesResponse pResponseStatus_ =- ListRulesResponse'- { _lrrsRules = Nothing- , _lrrsNextMarker = Nothing- , _lrrsResponseStatus = pResponseStatus_- }----- | An array of 'RuleSummary' objects.-lrrsRules :: Lens' ListRulesResponse [RuleSummary]-lrrsRules = lens _lrrsRules (\ s a -> s{_lrrsRules = a}) . _Default . _Coerce---- | If you have more @Rules@ than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @Rules@ , submit another @ListRules@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lrrsNextMarker :: Lens' ListRulesResponse (Maybe Text)-lrrsNextMarker = lens _lrrsNextMarker (\ s a -> s{_lrrsNextMarker = a})---- | -- | The response status code.-lrrsResponseStatus :: Lens' ListRulesResponse Int-lrrsResponseStatus = lens _lrrsResponseStatus (\ s a -> s{_lrrsResponseStatus = a})--instance NFData ListRulesResponse where
− gen/Network/AWS/WAF/ListSizeConstraintSets.hs
@@ -1,166 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListSizeConstraintSets--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'SizeConstraintSetSummary' objects.------------ This operation returns paginated results.-module Network.AWS.WAF.ListSizeConstraintSets- (- -- * Creating a Request- listSizeConstraintSets- , ListSizeConstraintSets- -- * Request Lenses- , lscsNextMarker- , lscsLimit-- -- * Destructuring the Response- , listSizeConstraintSetsResponse- , ListSizeConstraintSetsResponse- -- * Response Lenses- , lscsrsSizeConstraintSets- , lscsrsNextMarker- , lscsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listSizeConstraintSets' smart constructor.-data ListSizeConstraintSets = ListSizeConstraintSets'- { _lscsNextMarker :: !(Maybe Text)- , _lscsLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListSizeConstraintSets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lscsNextMarker' - If you specify a value for @Limit@ and you have more @SizeConstraintSets@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @SizeConstraintSets@ . For the second and subsequent @ListSizeConstraintSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @SizeConstraintSets@ .------ * 'lscsLimit' - Specifies the number of @SizeConstraintSet@ objects that you want AWS WAF to return for this request. If you have more @SizeConstraintSets@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @SizeConstraintSet@ objects.-listSizeConstraintSets- :: ListSizeConstraintSets-listSizeConstraintSets =- ListSizeConstraintSets' {_lscsNextMarker = Nothing, _lscsLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @SizeConstraintSets@ than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @SizeConstraintSets@ . For the second and subsequent @ListSizeConstraintSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @SizeConstraintSets@ .-lscsNextMarker :: Lens' ListSizeConstraintSets (Maybe Text)-lscsNextMarker = lens _lscsNextMarker (\ s a -> s{_lscsNextMarker = a})---- | Specifies the number of @SizeConstraintSet@ objects that you want AWS WAF to return for this request. If you have more @SizeConstraintSets@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @SizeConstraintSet@ objects.-lscsLimit :: Lens' ListSizeConstraintSets (Maybe Natural)-lscsLimit = lens _lscsLimit (\ s a -> s{_lscsLimit = a}) . mapping _Nat--instance AWSPager ListSizeConstraintSets where- page rq rs- | stop (rs ^. lscsrsNextMarker) = Nothing- | stop (rs ^. lscsrsSizeConstraintSets) = Nothing- | otherwise =- Just $ rq & lscsNextMarker .~ rs ^. lscsrsNextMarker--instance AWSRequest ListSizeConstraintSets where- type Rs ListSizeConstraintSets =- ListSizeConstraintSetsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListSizeConstraintSetsResponse' <$>- (x .?> "SizeConstraintSets" .!@ mempty) <*>- (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListSizeConstraintSets where--instance NFData ListSizeConstraintSets where--instance ToHeaders ListSizeConstraintSets where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListSizeConstraintSets" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListSizeConstraintSets where- toJSON ListSizeConstraintSets'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lscsNextMarker,- ("Limit" .=) <$> _lscsLimit])--instance ToPath ListSizeConstraintSets where- toPath = const "/"--instance ToQuery ListSizeConstraintSets where- toQuery = const mempty---- | /See:/ 'listSizeConstraintSetsResponse' smart constructor.-data ListSizeConstraintSetsResponse = ListSizeConstraintSetsResponse'- { _lscsrsSizeConstraintSets :: !(Maybe [SizeConstraintSetSummary])- , _lscsrsNextMarker :: !(Maybe Text)- , _lscsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListSizeConstraintSetsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lscsrsSizeConstraintSets' - An array of 'SizeConstraintSetSummary' objects.------ * 'lscsrsNextMarker' - If you have more @SizeConstraintSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @SizeConstraintSet@ objects, submit another @ListSizeConstraintSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lscsrsResponseStatus' - -- | The response status code.-listSizeConstraintSetsResponse- :: Int -- ^ 'lscsrsResponseStatus'- -> ListSizeConstraintSetsResponse-listSizeConstraintSetsResponse pResponseStatus_ =- ListSizeConstraintSetsResponse'- { _lscsrsSizeConstraintSets = Nothing- , _lscsrsNextMarker = Nothing- , _lscsrsResponseStatus = pResponseStatus_- }----- | An array of 'SizeConstraintSetSummary' objects.-lscsrsSizeConstraintSets :: Lens' ListSizeConstraintSetsResponse [SizeConstraintSetSummary]-lscsrsSizeConstraintSets = lens _lscsrsSizeConstraintSets (\ s a -> s{_lscsrsSizeConstraintSets = a}) . _Default . _Coerce---- | If you have more @SizeConstraintSet@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @SizeConstraintSet@ objects, submit another @ListSizeConstraintSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lscsrsNextMarker :: Lens' ListSizeConstraintSetsResponse (Maybe Text)-lscsrsNextMarker = lens _lscsrsNextMarker (\ s a -> s{_lscsrsNextMarker = a})---- | -- | The response status code.-lscsrsResponseStatus :: Lens' ListSizeConstraintSetsResponse Int-lscsrsResponseStatus = lens _lscsrsResponseStatus (\ s a -> s{_lscsrsResponseStatus = a})--instance NFData ListSizeConstraintSetsResponse where
− gen/Network/AWS/WAF/ListSqlInjectionMatchSets.hs
@@ -1,176 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListSqlInjectionMatchSets--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'SqlInjectionMatchSet' objects.------------ This operation returns paginated results.-module Network.AWS.WAF.ListSqlInjectionMatchSets- (- -- * Creating a Request- listSqlInjectionMatchSets- , ListSqlInjectionMatchSets- -- * Request Lenses- , lsimsNextMarker- , lsimsLimit-- -- * Destructuring the Response- , listSqlInjectionMatchSetsResponse- , ListSqlInjectionMatchSetsResponse- -- * Response Lenses- , lsimsrsNextMarker- , lsimsrsSqlInjectionMatchSets- , lsimsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to list the 'SqlInjectionMatchSet' objects created by the current AWS account.------------ /See:/ 'listSqlInjectionMatchSets' smart constructor.-data ListSqlInjectionMatchSets = ListSqlInjectionMatchSets'- { _lsimsNextMarker :: !(Maybe Text)- , _lsimsLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListSqlInjectionMatchSets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lsimsNextMarker' - If you specify a value for @Limit@ and you have more 'SqlInjectionMatchSet' objects than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @SqlInjectionMatchSets@ . For the second and subsequent @ListSqlInjectionMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @SqlInjectionMatchSets@ .------ * 'lsimsLimit' - Specifies the number of 'SqlInjectionMatchSet' objects that you want AWS WAF to return for this request. If you have more @SqlInjectionMatchSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @Rules@ .-listSqlInjectionMatchSets- :: ListSqlInjectionMatchSets-listSqlInjectionMatchSets =- ListSqlInjectionMatchSets' {_lsimsNextMarker = Nothing, _lsimsLimit = Nothing}----- | If you specify a value for @Limit@ and you have more 'SqlInjectionMatchSet' objects than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @SqlInjectionMatchSets@ . For the second and subsequent @ListSqlInjectionMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @SqlInjectionMatchSets@ .-lsimsNextMarker :: Lens' ListSqlInjectionMatchSets (Maybe Text)-lsimsNextMarker = lens _lsimsNextMarker (\ s a -> s{_lsimsNextMarker = a})---- | Specifies the number of 'SqlInjectionMatchSet' objects that you want AWS WAF to return for this request. If you have more @SqlInjectionMatchSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @Rules@ .-lsimsLimit :: Lens' ListSqlInjectionMatchSets (Maybe Natural)-lsimsLimit = lens _lsimsLimit (\ s a -> s{_lsimsLimit = a}) . mapping _Nat--instance AWSPager ListSqlInjectionMatchSets where- page rq rs- | stop (rs ^. lsimsrsNextMarker) = Nothing- | stop (rs ^. lsimsrsSqlInjectionMatchSets) = Nothing- | otherwise =- Just $ rq &- lsimsNextMarker .~ rs ^. lsimsrsNextMarker--instance AWSRequest ListSqlInjectionMatchSets where- type Rs ListSqlInjectionMatchSets =- ListSqlInjectionMatchSetsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListSqlInjectionMatchSetsResponse' <$>- (x .?> "NextMarker") <*>- (x .?> "SqlInjectionMatchSets" .!@ mempty)- <*> (pure (fromEnum s)))--instance Hashable ListSqlInjectionMatchSets where--instance NFData ListSqlInjectionMatchSets where--instance ToHeaders ListSqlInjectionMatchSets where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListSqlInjectionMatchSets" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListSqlInjectionMatchSets where- toJSON ListSqlInjectionMatchSets'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lsimsNextMarker,- ("Limit" .=) <$> _lsimsLimit])--instance ToPath ListSqlInjectionMatchSets where- toPath = const "/"--instance ToQuery ListSqlInjectionMatchSets where- toQuery = const mempty---- | The response to a 'ListSqlInjectionMatchSets' request.------------ /See:/ 'listSqlInjectionMatchSetsResponse' smart constructor.-data ListSqlInjectionMatchSetsResponse = ListSqlInjectionMatchSetsResponse'- { _lsimsrsNextMarker :: !(Maybe Text)- , _lsimsrsSqlInjectionMatchSets :: !(Maybe [SqlInjectionMatchSetSummary])- , _lsimsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListSqlInjectionMatchSetsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lsimsrsNextMarker' - If you have more 'SqlInjectionMatchSet' objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @SqlInjectionMatchSet@ objects, submit another @ListSqlInjectionMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lsimsrsSqlInjectionMatchSets' - An array of 'SqlInjectionMatchSetSummary' objects.------ * 'lsimsrsResponseStatus' - -- | The response status code.-listSqlInjectionMatchSetsResponse- :: Int -- ^ 'lsimsrsResponseStatus'- -> ListSqlInjectionMatchSetsResponse-listSqlInjectionMatchSetsResponse pResponseStatus_ =- ListSqlInjectionMatchSetsResponse'- { _lsimsrsNextMarker = Nothing- , _lsimsrsSqlInjectionMatchSets = Nothing- , _lsimsrsResponseStatus = pResponseStatus_- }----- | If you have more 'SqlInjectionMatchSet' objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @SqlInjectionMatchSet@ objects, submit another @ListSqlInjectionMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lsimsrsNextMarker :: Lens' ListSqlInjectionMatchSetsResponse (Maybe Text)-lsimsrsNextMarker = lens _lsimsrsNextMarker (\ s a -> s{_lsimsrsNextMarker = a})---- | An array of 'SqlInjectionMatchSetSummary' objects.-lsimsrsSqlInjectionMatchSets :: Lens' ListSqlInjectionMatchSetsResponse [SqlInjectionMatchSetSummary]-lsimsrsSqlInjectionMatchSets = lens _lsimsrsSqlInjectionMatchSets (\ s a -> s{_lsimsrsSqlInjectionMatchSets = a}) . _Default . _Coerce---- | -- | The response status code.-lsimsrsResponseStatus :: Lens' ListSqlInjectionMatchSetsResponse Int-lsimsrsResponseStatus = lens _lsimsrsResponseStatus (\ s a -> s{_lsimsrsResponseStatus = a})--instance NFData ListSqlInjectionMatchSetsResponse- where
− gen/Network/AWS/WAF/ListSubscribedRuleGroups.hs
@@ -1,157 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListSubscribedRuleGroups--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'RuleGroup' objects that you are subscribed to.-------module Network.AWS.WAF.ListSubscribedRuleGroups- (- -- * Creating a Request- listSubscribedRuleGroups- , ListSubscribedRuleGroups- -- * Request Lenses- , lsrgNextMarker- , lsrgLimit-- -- * Destructuring the Response- , listSubscribedRuleGroupsResponse- , ListSubscribedRuleGroupsResponse- -- * Response Lenses- , lsrgrsRuleGroups- , lsrgrsNextMarker- , lsrgrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listSubscribedRuleGroups' smart constructor.-data ListSubscribedRuleGroups = ListSubscribedRuleGroups'- { _lsrgNextMarker :: !(Maybe Text)- , _lsrgLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListSubscribedRuleGroups' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lsrgNextMarker' - If you specify a value for @Limit@ and you have more @ByteMatchSets@ subscribed rule groups than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of subscribed rule groups. For the second and subsequent @ListSubscribedRuleGroupsRequest@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of subscribed rule groups.------ * 'lsrgLimit' - Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of objects.-listSubscribedRuleGroups- :: ListSubscribedRuleGroups-listSubscribedRuleGroups =- ListSubscribedRuleGroups' {_lsrgNextMarker = Nothing, _lsrgLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @ByteMatchSets@ subscribed rule groups than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of subscribed rule groups. For the second and subsequent @ListSubscribedRuleGroupsRequest@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of subscribed rule groups.-lsrgNextMarker :: Lens' ListSubscribedRuleGroups (Maybe Text)-lsrgNextMarker = lens _lsrgNextMarker (\ s a -> s{_lsrgNextMarker = a})---- | Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of objects.-lsrgLimit :: Lens' ListSubscribedRuleGroups (Maybe Natural)-lsrgLimit = lens _lsrgLimit (\ s a -> s{_lsrgLimit = a}) . mapping _Nat--instance AWSRequest ListSubscribedRuleGroups where- type Rs ListSubscribedRuleGroups =- ListSubscribedRuleGroupsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListSubscribedRuleGroupsResponse' <$>- (x .?> "RuleGroups" .!@ mempty) <*>- (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListSubscribedRuleGroups where--instance NFData ListSubscribedRuleGroups where--instance ToHeaders ListSubscribedRuleGroups where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListSubscribedRuleGroups" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListSubscribedRuleGroups where- toJSON ListSubscribedRuleGroups'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lsrgNextMarker,- ("Limit" .=) <$> _lsrgLimit])--instance ToPath ListSubscribedRuleGroups where- toPath = const "/"--instance ToQuery ListSubscribedRuleGroups where- toQuery = const mempty---- | /See:/ 'listSubscribedRuleGroupsResponse' smart constructor.-data ListSubscribedRuleGroupsResponse = ListSubscribedRuleGroupsResponse'- { _lsrgrsRuleGroups :: !(Maybe [SubscribedRuleGroupSummary])- , _lsrgrsNextMarker :: !(Maybe Text)- , _lsrgrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListSubscribedRuleGroupsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lsrgrsRuleGroups' - An array of 'RuleGroup' objects.------ * 'lsrgrsNextMarker' - If you have more objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more objects, submit another @ListSubscribedRuleGroups@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lsrgrsResponseStatus' - -- | The response status code.-listSubscribedRuleGroupsResponse- :: Int -- ^ 'lsrgrsResponseStatus'- -> ListSubscribedRuleGroupsResponse-listSubscribedRuleGroupsResponse pResponseStatus_ =- ListSubscribedRuleGroupsResponse'- { _lsrgrsRuleGroups = Nothing- , _lsrgrsNextMarker = Nothing- , _lsrgrsResponseStatus = pResponseStatus_- }----- | An array of 'RuleGroup' objects.-lsrgrsRuleGroups :: Lens' ListSubscribedRuleGroupsResponse [SubscribedRuleGroupSummary]-lsrgrsRuleGroups = lens _lsrgrsRuleGroups (\ s a -> s{_lsrgrsRuleGroups = a}) . _Default . _Coerce---- | If you have more objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more objects, submit another @ListSubscribedRuleGroups@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lsrgrsNextMarker :: Lens' ListSubscribedRuleGroupsResponse (Maybe Text)-lsrgrsNextMarker = lens _lsrgrsNextMarker (\ s a -> s{_lsrgrsNextMarker = a})---- | -- | The response status code.-lsrgrsResponseStatus :: Lens' ListSubscribedRuleGroupsResponse Int-lsrgrsResponseStatus = lens _lsrgrsResponseStatus (\ s a -> s{_lsrgrsResponseStatus = a})--instance NFData ListSubscribedRuleGroupsResponse- where
− gen/Network/AWS/WAF/ListWebACLs.hs
@@ -1,162 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListWebACLs--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'WebACLSummary' objects in the response.------------ This operation returns paginated results.-module Network.AWS.WAF.ListWebACLs- (- -- * Creating a Request- listWebACLs- , ListWebACLs- -- * Request Lenses- , lwaNextMarker- , lwaLimit-- -- * Destructuring the Response- , listWebACLsResponse- , ListWebACLsResponse- -- * Response Lenses- , lwarsWebACLs- , lwarsNextMarker- , lwarsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'listWebACLs' smart constructor.-data ListWebACLs = ListWebACLs'- { _lwaNextMarker :: !(Maybe Text)- , _lwaLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListWebACLs' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lwaNextMarker' - If you specify a value for @Limit@ and you have more @WebACL@ objects than the number that you specify for @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @WebACL@ objects. For the second and subsequent @ListWebACLs@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @WebACL@ objects.------ * 'lwaLimit' - Specifies the number of @WebACL@ objects that you want AWS WAF to return for this request. If you have more @WebACL@ objects than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @WebACL@ objects.-listWebACLs- :: ListWebACLs-listWebACLs = ListWebACLs' {_lwaNextMarker = Nothing, _lwaLimit = Nothing}----- | If you specify a value for @Limit@ and you have more @WebACL@ objects than the number that you specify for @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @WebACL@ objects. For the second and subsequent @ListWebACLs@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @WebACL@ objects.-lwaNextMarker :: Lens' ListWebACLs (Maybe Text)-lwaNextMarker = lens _lwaNextMarker (\ s a -> s{_lwaNextMarker = a})---- | Specifies the number of @WebACL@ objects that you want AWS WAF to return for this request. If you have more @WebACL@ objects than the number that you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @WebACL@ objects.-lwaLimit :: Lens' ListWebACLs (Maybe Natural)-lwaLimit = lens _lwaLimit (\ s a -> s{_lwaLimit = a}) . mapping _Nat--instance AWSPager ListWebACLs where- page rq rs- | stop (rs ^. lwarsNextMarker) = Nothing- | stop (rs ^. lwarsWebACLs) = Nothing- | otherwise =- Just $ rq & lwaNextMarker .~ rs ^. lwarsNextMarker--instance AWSRequest ListWebACLs where- type Rs ListWebACLs = ListWebACLsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListWebACLsResponse' <$>- (x .?> "WebACLs" .!@ mempty) <*> (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListWebACLs where--instance NFData ListWebACLs where--instance ToHeaders ListWebACLs where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListWebACLs" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListWebACLs where- toJSON ListWebACLs'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lwaNextMarker,- ("Limit" .=) <$> _lwaLimit])--instance ToPath ListWebACLs where- toPath = const "/"--instance ToQuery ListWebACLs where- toQuery = const mempty---- | /See:/ 'listWebACLsResponse' smart constructor.-data ListWebACLsResponse = ListWebACLsResponse'- { _lwarsWebACLs :: !(Maybe [WebACLSummary])- , _lwarsNextMarker :: !(Maybe Text)- , _lwarsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListWebACLsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lwarsWebACLs' - An array of 'WebACLSummary' objects.------ * 'lwarsNextMarker' - If you have more @WebACL@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @WebACL@ objects, submit another @ListWebACLs@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lwarsResponseStatus' - -- | The response status code.-listWebACLsResponse- :: Int -- ^ 'lwarsResponseStatus'- -> ListWebACLsResponse-listWebACLsResponse pResponseStatus_ =- ListWebACLsResponse'- { _lwarsWebACLs = Nothing- , _lwarsNextMarker = Nothing- , _lwarsResponseStatus = pResponseStatus_- }----- | An array of 'WebACLSummary' objects.-lwarsWebACLs :: Lens' ListWebACLsResponse [WebACLSummary]-lwarsWebACLs = lens _lwarsWebACLs (\ s a -> s{_lwarsWebACLs = a}) . _Default . _Coerce---- | If you have more @WebACL@ objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @WebACL@ objects, submit another @ListWebACLs@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lwarsNextMarker :: Lens' ListWebACLsResponse (Maybe Text)-lwarsNextMarker = lens _lwarsNextMarker (\ s a -> s{_lwarsNextMarker = a})---- | -- | The response status code.-lwarsResponseStatus :: Lens' ListWebACLsResponse Int-lwarsResponseStatus = lens _lwarsResponseStatus (\ s a -> s{_lwarsResponseStatus = a})--instance NFData ListWebACLsResponse where
− gen/Network/AWS/WAF/ListXSSMatchSets.hs
@@ -1,172 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.ListXSSMatchSets--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an array of 'XssMatchSet' objects.------------ This operation returns paginated results.-module Network.AWS.WAF.ListXSSMatchSets- (- -- * Creating a Request- listXSSMatchSets- , ListXSSMatchSets- -- * Request Lenses- , lxmsNextMarker- , lxmsLimit-- -- * Destructuring the Response- , listXSSMatchSetsResponse- , ListXSSMatchSetsResponse- -- * Response Lenses- , lxmsrsXSSMatchSets- , lxmsrsNextMarker- , lxmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to list the 'XssMatchSet' objects created by the current AWS account.------------ /See:/ 'listXSSMatchSets' smart constructor.-data ListXSSMatchSets = ListXSSMatchSets'- { _lxmsNextMarker :: !(Maybe Text)- , _lxmsLimit :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListXSSMatchSets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lxmsNextMarker' - If you specify a value for @Limit@ and you have more 'XssMatchSet' objects than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @XssMatchSets@ . For the second and subsequent @ListXssMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @XssMatchSets@ .------ * 'lxmsLimit' - Specifies the number of 'XssMatchSet' objects that you want AWS WAF to return for this request. If you have more @XssMatchSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @Rules@ .-listXSSMatchSets- :: ListXSSMatchSets-listXSSMatchSets =- ListXSSMatchSets' {_lxmsNextMarker = Nothing, _lxmsLimit = Nothing}----- | If you specify a value for @Limit@ and you have more 'XssMatchSet' objects than the value of @Limit@ , AWS WAF returns a @NextMarker@ value in the response that allows you to list another group of @XssMatchSets@ . For the second and subsequent @ListXssMatchSets@ requests, specify the value of @NextMarker@ from the previous response to get information about another batch of @XssMatchSets@ .-lxmsNextMarker :: Lens' ListXSSMatchSets (Maybe Text)-lxmsNextMarker = lens _lxmsNextMarker (\ s a -> s{_lxmsNextMarker = a})---- | Specifies the number of 'XssMatchSet' objects that you want AWS WAF to return for this request. If you have more @XssMatchSet@ objects than the number you specify for @Limit@ , the response includes a @NextMarker@ value that you can use to get another batch of @Rules@ .-lxmsLimit :: Lens' ListXSSMatchSets (Maybe Natural)-lxmsLimit = lens _lxmsLimit (\ s a -> s{_lxmsLimit = a}) . mapping _Nat--instance AWSPager ListXSSMatchSets where- page rq rs- | stop (rs ^. lxmsrsNextMarker) = Nothing- | stop (rs ^. lxmsrsXSSMatchSets) = Nothing- | otherwise =- Just $ rq & lxmsNextMarker .~ rs ^. lxmsrsNextMarker--instance AWSRequest ListXSSMatchSets where- type Rs ListXSSMatchSets = ListXSSMatchSetsResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- ListXSSMatchSetsResponse' <$>- (x .?> "XssMatchSets" .!@ mempty) <*>- (x .?> "NextMarker")- <*> (pure (fromEnum s)))--instance Hashable ListXSSMatchSets where--instance NFData ListXSSMatchSets where--instance ToHeaders ListXSSMatchSets where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.ListXssMatchSets" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON ListXSSMatchSets where- toJSON ListXSSMatchSets'{..}- = object- (catMaybes- [("NextMarker" .=) <$> _lxmsNextMarker,- ("Limit" .=) <$> _lxmsLimit])--instance ToPath ListXSSMatchSets where- toPath = const "/"--instance ToQuery ListXSSMatchSets where- toQuery = const mempty---- | The response to a 'ListXssMatchSets' request.------------ /See:/ 'listXSSMatchSetsResponse' smart constructor.-data ListXSSMatchSetsResponse = ListXSSMatchSetsResponse'- { _lxmsrsXSSMatchSets :: !(Maybe [XSSMatchSetSummary])- , _lxmsrsNextMarker :: !(Maybe Text)- , _lxmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListXSSMatchSetsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lxmsrsXSSMatchSets' - An array of 'XssMatchSetSummary' objects.------ * 'lxmsrsNextMarker' - If you have more 'XssMatchSet' objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @XssMatchSet@ objects, submit another @ListXssMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.------ * 'lxmsrsResponseStatus' - -- | The response status code.-listXSSMatchSetsResponse- :: Int -- ^ 'lxmsrsResponseStatus'- -> ListXSSMatchSetsResponse-listXSSMatchSetsResponse pResponseStatus_ =- ListXSSMatchSetsResponse'- { _lxmsrsXSSMatchSets = Nothing- , _lxmsrsNextMarker = Nothing- , _lxmsrsResponseStatus = pResponseStatus_- }----- | An array of 'XssMatchSetSummary' objects.-lxmsrsXSSMatchSets :: Lens' ListXSSMatchSetsResponse [XSSMatchSetSummary]-lxmsrsXSSMatchSets = lens _lxmsrsXSSMatchSets (\ s a -> s{_lxmsrsXSSMatchSets = a}) . _Default . _Coerce---- | If you have more 'XssMatchSet' objects than the number that you specified for @Limit@ in the request, the response includes a @NextMarker@ value. To list more @XssMatchSet@ objects, submit another @ListXssMatchSets@ request, and specify the @NextMarker@ value from the response in the @NextMarker@ value in the next request.-lxmsrsNextMarker :: Lens' ListXSSMatchSetsResponse (Maybe Text)-lxmsrsNextMarker = lens _lxmsrsNextMarker (\ s a -> s{_lxmsrsNextMarker = a})---- | -- | The response status code.-lxmsrsResponseStatus :: Lens' ListXSSMatchSetsResponse Int-lxmsrsResponseStatus = lens _lxmsrsResponseStatus (\ s a -> s{_lxmsrsResponseStatus = a})--instance NFData ListXSSMatchSetsResponse where
− gen/Network/AWS/WAF/PutPermissionPolicy.hs
@@ -1,159 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.PutPermissionPolicy--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Attaches a IAM policy to the specified resource. The only supported use for this action is to share a RuleGroup across accounts.--------- The @PutPermissionPolicy@ is subject to the following restrictions:------ * You can attach only one policy with each @PutPermissionPolicy@ request.------ * The policy must include an @Effect@ , @Action@ and @Principal@ .------ * @Effect@ must specify @Allow@ .------ * The @Action@ in the policy must be @waf:UpdateWebACL@ and @waf-regional:UpdateWebACL@ . Any extra or wildcard actions in the policy will be rejected.------ * The policy cannot include a @Resource@ parameter.------ * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.------ * The user making the request must be the owner of the RuleGroup.------ * Your policy must be composed using IAM Policy version 2012-10-17.------------ For more information, see <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html IAM Policies> .------ An example of a valid policy parameter is shown in the Examples section below.----module Network.AWS.WAF.PutPermissionPolicy- (- -- * Creating a Request- putPermissionPolicy- , PutPermissionPolicy- -- * Request Lenses- , pppResourceARN- , pppPolicy-- -- * Destructuring the Response- , putPermissionPolicyResponse- , PutPermissionPolicyResponse- -- * Response Lenses- , ppprsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'putPermissionPolicy' smart constructor.-data PutPermissionPolicy = PutPermissionPolicy'- { _pppResourceARN :: !Text- , _pppPolicy :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutPermissionPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pppResourceARN' - The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.------ * 'pppPolicy' - The policy to attach to the specified RuleGroup.-putPermissionPolicy- :: Text -- ^ 'pppResourceARN'- -> Text -- ^ 'pppPolicy'- -> PutPermissionPolicy-putPermissionPolicy pResourceARN_ pPolicy_ =- PutPermissionPolicy' {_pppResourceARN = pResourceARN_, _pppPolicy = pPolicy_}----- | The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.-pppResourceARN :: Lens' PutPermissionPolicy Text-pppResourceARN = lens _pppResourceARN (\ s a -> s{_pppResourceARN = a})---- | The policy to attach to the specified RuleGroup.-pppPolicy :: Lens' PutPermissionPolicy Text-pppPolicy = lens _pppPolicy (\ s a -> s{_pppPolicy = a})--instance AWSRequest PutPermissionPolicy where- type Rs PutPermissionPolicy =- PutPermissionPolicyResponse- request = postJSON waf- response- = receiveEmpty- (\ s h x ->- PutPermissionPolicyResponse' <$> (pure (fromEnum s)))--instance Hashable PutPermissionPolicy where--instance NFData PutPermissionPolicy where--instance ToHeaders PutPermissionPolicy where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.PutPermissionPolicy" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON PutPermissionPolicy where- toJSON PutPermissionPolicy'{..}- = object- (catMaybes- [Just ("ResourceArn" .= _pppResourceARN),- Just ("Policy" .= _pppPolicy)])--instance ToPath PutPermissionPolicy where- toPath = const "/"--instance ToQuery PutPermissionPolicy where- toQuery = const mempty---- | /See:/ 'putPermissionPolicyResponse' smart constructor.-newtype PutPermissionPolicyResponse = PutPermissionPolicyResponse'- { _ppprsResponseStatus :: Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutPermissionPolicyResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ppprsResponseStatus' - -- | The response status code.-putPermissionPolicyResponse- :: Int -- ^ 'ppprsResponseStatus'- -> PutPermissionPolicyResponse-putPermissionPolicyResponse pResponseStatus_ =- PutPermissionPolicyResponse' {_ppprsResponseStatus = pResponseStatus_}----- | -- | The response status code.-ppprsResponseStatus :: Lens' PutPermissionPolicyResponse Int-ppprsResponseStatus = lens _ppprsResponseStatus (\ s a -> s{_ppprsResponseStatus = a})--instance NFData PutPermissionPolicyResponse where
− gen/Network/AWS/WAF/Types.hs
@@ -1,649 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.Types--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.WAF.Types- (- -- * Service Configuration- waf-- -- * Errors- , _WAFInvalidAccountException- , _WAFSubscriptionNotFoundException- , _WAFReferencedItemException- , _WAFInvalidRegexPatternException- , _WAFInvalidOperationException- , _WAFNonexistentItemException- , _WAFInvalidParameterException- , _WAFLimitsExceededException- , _WAFInvalidPermissionPolicyException- , _WAFStaleDataException- , _WAFInternalErrorException- , _WAFNonexistentContainerException- , _WAFDisallowedNameException- , _WAFNonEmptyEntityException-- -- * ChangeAction- , ChangeAction (..)-- -- * ChangeTokenStatus- , ChangeTokenStatus (..)-- -- * ComparisonOperator- , ComparisonOperator (..)-- -- * GeoMatchConstraintType- , GeoMatchConstraintType (..)-- -- * GeoMatchConstraintValue- , GeoMatchConstraintValue (..)-- -- * IPSetDescriptorType- , IPSetDescriptorType (..)-- -- * MatchFieldType- , MatchFieldType (..)-- -- * PositionalConstraint- , PositionalConstraint (..)-- -- * PredicateType- , PredicateType (..)-- -- * RateKey- , RateKey (..)-- -- * TextTransformation- , TextTransformation (..)-- -- * WafActionType- , WafActionType (..)-- -- * WafOverrideActionType- , WafOverrideActionType (..)-- -- * WafRuleType- , WafRuleType (..)-- -- * ActivatedRule- , ActivatedRule- , activatedRule- , arOverrideAction- , arAction- , arType- , arPriority- , arRuleId-- -- * ByteMatchSet- , ByteMatchSet- , byteMatchSet- , bmsName- , bmsByteMatchSetId- , bmsByteMatchTuples-- -- * ByteMatchSetSummary- , ByteMatchSetSummary- , byteMatchSetSummary- , bmssByteMatchSetId- , bmssName-- -- * ByteMatchSetUpdate- , ByteMatchSetUpdate- , byteMatchSetUpdate- , bmsuAction- , bmsuByteMatchTuple-- -- * ByteMatchTuple- , ByteMatchTuple- , byteMatchTuple- , bmtFieldToMatch- , bmtTargetString- , bmtTextTransformation- , bmtPositionalConstraint-- -- * FieldToMatch- , FieldToMatch- , fieldToMatch- , ftmData- , ftmType-- -- * GeoMatchConstraint- , GeoMatchConstraint- , geoMatchConstraint- , gmcType- , gmcValue-- -- * GeoMatchSet- , GeoMatchSet- , geoMatchSet- , gmsName- , gmsGeoMatchSetId- , gmsGeoMatchConstraints-- -- * GeoMatchSetSummary- , GeoMatchSetSummary- , geoMatchSetSummary- , gmssGeoMatchSetId- , gmssName-- -- * GeoMatchSetUpdate- , GeoMatchSetUpdate- , geoMatchSetUpdate- , gmsuAction- , gmsuGeoMatchConstraint-- -- * HTTPHeader- , HTTPHeader- , hTTPHeader- , httphValue- , httphName-- -- * HTTPRequest- , HTTPRequest- , hTTPRequest- , httprHTTPVersion- , httprCountry- , httprURI- , httprHeaders- , httprMethod- , httprClientIP-- -- * IPSet- , IPSet- , ipSet- , isName- , isIPSetId- , isIPSetDescriptors-- -- * IPSetDescriptor- , IPSetDescriptor- , ipSetDescriptor- , isdType- , isdValue-- -- * IPSetSummary- , IPSetSummary- , ipSetSummary- , issIPSetId- , issName-- -- * IPSetUpdate- , IPSetUpdate- , ipSetUpdate- , isuAction- , isuIPSetDescriptor-- -- * Predicate- , Predicate- , predicate- , pNegated- , pType- , pDataId-- -- * RateBasedRule- , RateBasedRule- , rateBasedRule- , rbrMetricName- , rbrName- , rbrRuleId- , rbrMatchPredicates- , rbrRateKey- , rbrRateLimit-- -- * RegexMatchSet- , RegexMatchSet- , regexMatchSet- , rmsName- , rmsRegexMatchTuples- , rmsRegexMatchSetId-- -- * RegexMatchSetSummary- , RegexMatchSetSummary- , regexMatchSetSummary- , rmssRegexMatchSetId- , rmssName-- -- * RegexMatchSetUpdate- , RegexMatchSetUpdate- , regexMatchSetUpdate- , rmsuAction- , rmsuRegexMatchTuple-- -- * RegexMatchTuple- , RegexMatchTuple- , regexMatchTuple- , rmtFieldToMatch- , rmtTextTransformation- , rmtRegexPatternSetId-- -- * RegexPatternSet- , RegexPatternSet- , regexPatternSet- , rpsName- , rpsRegexPatternSetId- , rpsRegexPatternStrings-- -- * RegexPatternSetSummary- , RegexPatternSetSummary- , regexPatternSetSummary- , rpssRegexPatternSetId- , rpssName-- -- * RegexPatternSetUpdate- , RegexPatternSetUpdate- , regexPatternSetUpdate- , rpsuAction- , rpsuRegexPatternString-- -- * Rule- , Rule- , rule- , rMetricName- , rName- , rRuleId- , rPredicates-- -- * RuleGroup- , RuleGroup- , ruleGroup- , rgMetricName- , rgName- , rgRuleGroupId-- -- * RuleGroupSummary- , RuleGroupSummary- , ruleGroupSummary- , rgsRuleGroupId- , rgsName-- -- * RuleGroupUpdate- , RuleGroupUpdate- , ruleGroupUpdate- , rguAction- , rguActivatedRule-- -- * RuleSummary- , RuleSummary- , ruleSummary- , rsRuleId- , rsName-- -- * RuleUpdate- , RuleUpdate- , ruleUpdate- , ruAction- , ruPredicate-- -- * SampledHTTPRequest- , SampledHTTPRequest- , sampledHTTPRequest- , shttprRuleWithinRuleGroup- , shttprAction- , shttprTimestamp- , shttprRequest- , shttprWeight-- -- * SizeConstraint- , SizeConstraint- , sizeConstraint- , scFieldToMatch- , scTextTransformation- , scComparisonOperator- , scSize-- -- * SizeConstraintSet- , SizeConstraintSet- , sizeConstraintSet- , scsName- , scsSizeConstraintSetId- , scsSizeConstraints-- -- * SizeConstraintSetSummary- , SizeConstraintSetSummary- , sizeConstraintSetSummary- , scssSizeConstraintSetId- , scssName-- -- * SizeConstraintSetUpdate- , SizeConstraintSetUpdate- , sizeConstraintSetUpdate- , scsuAction- , scsuSizeConstraint-- -- * SqlInjectionMatchSet- , SqlInjectionMatchSet- , sqlInjectionMatchSet- , simsName- , simsSqlInjectionMatchSetId- , simsSqlInjectionMatchTuples-- -- * SqlInjectionMatchSetSummary- , SqlInjectionMatchSetSummary- , sqlInjectionMatchSetSummary- , simssSqlInjectionMatchSetId- , simssName-- -- * SqlInjectionMatchSetUpdate- , SqlInjectionMatchSetUpdate- , sqlInjectionMatchSetUpdate- , simsuAction- , simsuSqlInjectionMatchTuple-- -- * SqlInjectionMatchTuple- , SqlInjectionMatchTuple- , sqlInjectionMatchTuple- , simtFieldToMatch- , simtTextTransformation-- -- * SubscribedRuleGroupSummary- , SubscribedRuleGroupSummary- , subscribedRuleGroupSummary- , srgsRuleGroupId- , srgsName- , srgsMetricName-- -- * TimeWindow- , TimeWindow- , timeWindow- , twStartTime- , twEndTime-- -- * WafAction- , WafAction- , wafAction- , waType-- -- * WafOverrideAction- , WafOverrideAction- , wafOverrideAction- , woaType-- -- * WebACL- , WebACL- , webACL- , waMetricName- , waName- , waWebACLId- , waDefaultAction- , waRules-- -- * WebACLSummary- , WebACLSummary- , webACLSummary- , wasWebACLId- , wasName-- -- * WebACLUpdate- , WebACLUpdate- , webACLUpdate- , wauAction- , wauActivatedRule-- -- * XSSMatchSet- , XSSMatchSet- , xssMatchSet- , xmsName- , xmsXSSMatchSetId- , xmsXSSMatchTuples-- -- * XSSMatchSetSummary- , XSSMatchSetSummary- , xssMatchSetSummary- , xmssXSSMatchSetId- , xmssName-- -- * XSSMatchSetUpdate- , XSSMatchSetUpdate- , xssMatchSetUpdate- , xmsuAction- , xmsuXSSMatchTuple-- -- * XSSMatchTuple- , XSSMatchTuple- , xssMatchTuple- , xmtFieldToMatch- , xmtTextTransformation- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Sign.V4-import Network.AWS.WAF.Types.Product-import Network.AWS.WAF.Types.Sum---- | API version @2015-08-24@ of the Amazon WAF SDK configuration.-waf :: Service-waf =- Service- { _svcAbbrev = "WAF"- , _svcSigner = v4- , _svcPrefix = "waf"- , _svcVersion = "2015-08-24"- , _svcEndpoint = defaultEndpoint waf- , _svcTimeout = Just 70- , _svcCheck = statusSuccess- , _svcError = parseJSONError "WAF"- , _svcRetry = retry- }- where- retry =- Exponential- { _retryBase = 5.0e-2- , _retryGrowth = 2- , _retryAttempts = 5- , _retryCheck = check- }- check e- | has (hasCode "ThrottledException" . hasStatus 400) e =- Just "throttled_exception"- | has (hasStatus 429) e = Just "too_many_requests"- | has (hasCode "ThrottlingException" . hasStatus 400) e =- Just "throttling_exception"- | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"- | has (hasStatus 504) e = Just "gateway_timeout"- | has (hasCode "RequestThrottledException" . hasStatus 400) e =- Just "request_throttled_exception"- | has (hasStatus 502) e = Just "bad_gateway"- | has (hasStatus 503) e = Just "service_unavailable"- | has (hasStatus 500) e = Just "general_server_error"- | has (hasStatus 509) e = Just "limit_exceeded"- | otherwise = Nothing----- | The operation failed because you tried to create, update, or delete an object by using an invalid account identifier.-------_WAFInvalidAccountException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFInvalidAccountException =- _MatchServiceError waf "WAFInvalidAccountException"----- | The specified subscription does not exist.-------_WAFSubscriptionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFSubscriptionNotFoundException =- _MatchServiceError waf "WAFSubscriptionNotFoundException"----- | The operation failed because you tried to delete an object that is still in use. For example:--------- * You tried to delete a @ByteMatchSet@ that is still referenced by a @Rule@ .------ * You tried to delete a @Rule@ that is still referenced by a @WebACL@ .----------_WAFReferencedItemException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFReferencedItemException =- _MatchServiceError waf "WAFReferencedItemException"----- | The regular expression (regex) you specified in @RegexPatternString@ is invalid.-------_WAFInvalidRegexPatternException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFInvalidRegexPatternException =- _MatchServiceError waf "WAFInvalidRegexPatternException"----- | The operation failed because there was nothing to do. For example:--------- * You tried to remove a @Rule@ from a @WebACL@ , but the @Rule@ isn't in the specified @WebACL@ .------ * You tried to remove an IP address from an @IPSet@ , but the IP address isn't in the specified @IPSet@ .------ * You tried to remove a @ByteMatchTuple@ from a @ByteMatchSet@ , but the @ByteMatchTuple@ isn't in the specified @WebACL@ .------ * You tried to add a @Rule@ to a @WebACL@ , but the @Rule@ already exists in the specified @WebACL@ .------ * You tried to add an IP address to an @IPSet@ , but the IP address already exists in the specified @IPSet@ .------ * You tried to add a @ByteMatchTuple@ to a @ByteMatchSet@ , but the @ByteMatchTuple@ already exists in the specified @WebACL@ .----------_WAFInvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFInvalidOperationException =- _MatchServiceError waf "WAFInvalidOperationException"----- | The operation failed because the referenced object doesn't exist.-------_WAFNonexistentItemException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFNonexistentItemException =- _MatchServiceError waf "WAFNonexistentItemException"----- | The operation failed because AWS WAF didn't recognize a parameter in the request. For example:--------- * You specified an invalid parameter name.------ * You specified an invalid value.------ * You tried to update an object (@ByteMatchSet@ , @IPSet@ , @Rule@ , or @WebACL@ ) using an action other than @INSERT@ or @DELETE@ .------ * You tried to create a @WebACL@ with a @DefaultAction@ @Type@ other than @ALLOW@ , @BLOCK@ , or @COUNT@ .------ * You tried to create a @RateBasedRule@ with a @RateKey@ value other than @IP@ .------ * You tried to update a @WebACL@ with a @WafAction@ @Type@ other than @ALLOW@ , @BLOCK@ , or @COUNT@ .------ * You tried to update a @ByteMatchSet@ with a @FieldToMatch@ @Type@ other than HEADER, METHOD, QUERY_STRING, URI, or BODY.------ * You tried to update a @ByteMatchSet@ with a @Field@ of @HEADER@ but no value for @Data@ .------ * Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.----------_WAFInvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFInvalidParameterException =- _MatchServiceError waf "WAFInvalidParameterException"----- | The operation exceeds a resource limit, for example, the maximum number of @WebACL@ objects that you can create for an AWS account. For more information, see <http://docs.aws.amazon.com/waf/latest/developerguide/limits.html Limits> in the /AWS WAF Developer Guide/ .-------_WAFLimitsExceededException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFLimitsExceededException =- _MatchServiceError waf "WAFLimitsExceededException"----- | The operation failed because the specified policy is not in the proper format.--------- The policy is subject to the following restrictions:------ * You can attach only one policy with each @PutPermissionPolicy@ request.------ * The policy must include an @Effect@ , @Action@ and @Principal@ .------ * @Effect@ must specify @Allow@ .------ * The @Action@ in the policy must be @waf:UpdateWebACL@ or @waf-regional:UpdateWebACL@ . Any extra or wildcard actions in the policy will be rejected.------ * The policy cannot include a @Resource@ parameter.------ * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.------ * The user making the request must be the owner of the RuleGroup.------ * Your policy must be composed using IAM Policy version 2012-10-17.----------_WAFInvalidPermissionPolicyException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFInvalidPermissionPolicyException =- _MatchServiceError waf "WAFInvalidPermissionPolicyException"----- | The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.-------_WAFStaleDataException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFStaleDataException = _MatchServiceError waf "WAFStaleDataException"----- | The operation failed because of a system problem, even though the request was valid. Retry your request.-------_WAFInternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFInternalErrorException = _MatchServiceError waf "WAFInternalErrorException"----- | The operation failed because you tried to add an object to or delete an object from another object that doesn't exist. For example:--------- * You tried to add a @Rule@ to or delete a @Rule@ from a @WebACL@ that doesn't exist.------ * You tried to add a @ByteMatchSet@ to or delete a @ByteMatchSet@ from a @Rule@ that doesn't exist.------ * You tried to add an IP address to or delete an IP address from an @IPSet@ that doesn't exist.------ * You tried to add a @ByteMatchTuple@ to or delete a @ByteMatchTuple@ from a @ByteMatchSet@ that doesn't exist.----------_WAFNonexistentContainerException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFNonexistentContainerException =- _MatchServiceError waf "WAFNonexistentContainerException"----- | The name specified is invalid.-------_WAFDisallowedNameException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFDisallowedNameException =- _MatchServiceError waf "WAFDisallowedNameException"----- | The operation failed because you tried to delete an object that isn't empty. For example:--------- * You tried to delete a @WebACL@ that still contains one or more @Rule@ objects.------ * You tried to delete a @Rule@ that still contains one or more @ByteMatchSet@ objects or other predicates.------ * You tried to delete a @ByteMatchSet@ that contains one or more @ByteMatchTuple@ objects.------ * You tried to delete an @IPSet@ that references one or more IP addresses.----------_WAFNonEmptyEntityException :: AsError a => Getting (First ServiceError) a ServiceError-_WAFNonEmptyEntityException =- _MatchServiceError waf "WAFNonEmptyEntityException"-
− gen/Network/AWS/WAF/Types/Product.hs
@@ -1,2821 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.Types.Product--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.WAF.Types.Product where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.WAF.Types.Sum---- | The @ActivatedRule@ object in an 'UpdateWebACL' request specifies a @Rule@ that you want to insert or delete, the priority of the @Rule@ in the @WebACL@ , and the action that you want AWS WAF to take when a web request matches the @Rule@ (@ALLOW@ , @BLOCK@ , or @COUNT@ ).--------- To specify whether to insert or delete a @Rule@ , use the @Action@ parameter in the 'WebACLUpdate' data type.--------- /See:/ 'activatedRule' smart constructor.-data ActivatedRule = ActivatedRule'- { _arOverrideAction :: !(Maybe WafOverrideAction)- , _arAction :: !(Maybe WafAction)- , _arType :: !(Maybe WafRuleType)- , _arPriority :: !Int- , _arRuleId :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ActivatedRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'arOverrideAction' - Use the @OverrideAction@ to test your @RuleGroup@ . Any rule in a @RuleGroup@ can potentially block a request. If you set the @OverrideAction@ to @None@ , the @RuleGroup@ will block a request if any individual rule in the @RuleGroup@ matches the request and is configured to block that request. However if you first want to test the @RuleGroup@ , set the @OverrideAction@ to @Count@ . The @RuleGroup@ will then override any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests will be counted. You can view a record of counted requests using 'GetSampledRequests' . @ActivatedRule|OverrideAction@ applies only when updating or adding a @RuleGroup@ to a @WebACL@ . In this case you do not use @ActivatedRule|Action@ . For all other update requests, @ActivatedRule|Action@ is used instead of @ActivatedRule|OverrideAction@ .------ * 'arAction' - Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the @Rule@ . Valid values for @Action@ include the following: * @ALLOW@ : CloudFront responds with the requested object. * @BLOCK@ : CloudFront responds with an HTTP 403 (Forbidden) status code. * @COUNT@ : AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL. @ActivatedRule|OverrideAction@ applies only when updating or adding a @RuleGroup@ to a @WebACL@ . In this case you do not use @ActivatedRule|Action@ . For all other update requests, @ActivatedRule|Action@ is used instead of @ActivatedRule|OverrideAction@ .------ * 'arType' - The rule type, either @REGULAR@ , as defined by 'Rule' , @RATE_BASED@ , as defined by 'RateBasedRule' , or @GROUP@ , as defined by 'RuleGroup' . The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the 'UpdateWebACL' request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.------ * 'arPriority' - Specifies the order in which the @Rules@ in a @WebACL@ are evaluated. Rules with a lower value for @Priority@ are evaluated before @Rules@ with a higher value. The value must be a unique integer. If you add multiple @Rules@ to a @WebACL@ , the values don't need to be consecutive.------ * 'arRuleId' - The @RuleId@ for a @Rule@ . You use @RuleId@ to get more information about a @Rule@ (see 'GetRule' ), update a @Rule@ (see 'UpdateRule' ), insert a @Rule@ into a @WebACL@ or delete a one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @Rule@ from AWS WAF (see 'DeleteRule' ). @RuleId@ is returned by 'CreateRule' and by 'ListRules' .-activatedRule- :: Int -- ^ 'arPriority'- -> Text -- ^ 'arRuleId'- -> ActivatedRule-activatedRule pPriority_ pRuleId_ =- ActivatedRule'- { _arOverrideAction = Nothing- , _arAction = Nothing- , _arType = Nothing- , _arPriority = pPriority_- , _arRuleId = pRuleId_- }----- | Use the @OverrideAction@ to test your @RuleGroup@ . Any rule in a @RuleGroup@ can potentially block a request. If you set the @OverrideAction@ to @None@ , the @RuleGroup@ will block a request if any individual rule in the @RuleGroup@ matches the request and is configured to block that request. However if you first want to test the @RuleGroup@ , set the @OverrideAction@ to @Count@ . The @RuleGroup@ will then override any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests will be counted. You can view a record of counted requests using 'GetSampledRequests' . @ActivatedRule|OverrideAction@ applies only when updating or adding a @RuleGroup@ to a @WebACL@ . In this case you do not use @ActivatedRule|Action@ . For all other update requests, @ActivatedRule|Action@ is used instead of @ActivatedRule|OverrideAction@ .-arOverrideAction :: Lens' ActivatedRule (Maybe WafOverrideAction)-arOverrideAction = lens _arOverrideAction (\ s a -> s{_arOverrideAction = a})---- | Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the @Rule@ . Valid values for @Action@ include the following: * @ALLOW@ : CloudFront responds with the requested object. * @BLOCK@ : CloudFront responds with an HTTP 403 (Forbidden) status code. * @COUNT@ : AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL. @ActivatedRule|OverrideAction@ applies only when updating or adding a @RuleGroup@ to a @WebACL@ . In this case you do not use @ActivatedRule|Action@ . For all other update requests, @ActivatedRule|Action@ is used instead of @ActivatedRule|OverrideAction@ .-arAction :: Lens' ActivatedRule (Maybe WafAction)-arAction = lens _arAction (\ s a -> s{_arAction = a})---- | The rule type, either @REGULAR@ , as defined by 'Rule' , @RATE_BASED@ , as defined by 'RateBasedRule' , or @GROUP@ , as defined by 'RuleGroup' . The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the 'UpdateWebACL' request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.-arType :: Lens' ActivatedRule (Maybe WafRuleType)-arType = lens _arType (\ s a -> s{_arType = a})---- | Specifies the order in which the @Rules@ in a @WebACL@ are evaluated. Rules with a lower value for @Priority@ are evaluated before @Rules@ with a higher value. The value must be a unique integer. If you add multiple @Rules@ to a @WebACL@ , the values don't need to be consecutive.-arPriority :: Lens' ActivatedRule Int-arPriority = lens _arPriority (\ s a -> s{_arPriority = a})---- | The @RuleId@ for a @Rule@ . You use @RuleId@ to get more information about a @Rule@ (see 'GetRule' ), update a @Rule@ (see 'UpdateRule' ), insert a @Rule@ into a @WebACL@ or delete a one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @Rule@ from AWS WAF (see 'DeleteRule' ). @RuleId@ is returned by 'CreateRule' and by 'ListRules' .-arRuleId :: Lens' ActivatedRule Text-arRuleId = lens _arRuleId (\ s a -> s{_arRuleId = a})--instance FromJSON ActivatedRule where- parseJSON- = withObject "ActivatedRule"- (\ x ->- ActivatedRule' <$>- (x .:? "OverrideAction") <*> (x .:? "Action") <*>- (x .:? "Type")- <*> (x .: "Priority")- <*> (x .: "RuleId"))--instance Hashable ActivatedRule where--instance NFData ActivatedRule where--instance ToJSON ActivatedRule where- toJSON ActivatedRule'{..}- = object- (catMaybes- [("OverrideAction" .=) <$> _arOverrideAction,- ("Action" .=) <$> _arAction, ("Type" .=) <$> _arType,- Just ("Priority" .= _arPriority),- Just ("RuleId" .= _arRuleId)])---- | In a 'GetByteMatchSet' request, @ByteMatchSet@ is a complex type that contains the @ByteMatchSetId@ and @Name@ of a @ByteMatchSet@ , and the values that you specified when you updated the @ByteMatchSet@ .--------- A complex type that contains @ByteMatchTuple@ objects, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a @ByteMatchSet@ contains more than one @ByteMatchTuple@ object, a request needs to match the settings in only one @ByteMatchTuple@ to be considered a match.--------- /See:/ 'byteMatchSet' smart constructor.-data ByteMatchSet = ByteMatchSet'- { _bmsName :: !(Maybe Text)- , _bmsByteMatchSetId :: !Text- , _bmsByteMatchTuples :: ![ByteMatchTuple]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ByteMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bmsName' - A friendly name or description of the 'ByteMatchSet' . You can't change @Name@ after you create a @ByteMatchSet@ .------ * 'bmsByteMatchSetId' - The @ByteMatchSetId@ for a @ByteMatchSet@ . You use @ByteMatchSetId@ to get information about a @ByteMatchSet@ (see 'GetByteMatchSet' ), update a @ByteMatchSet@ (see 'UpdateByteMatchSet' ), insert a @ByteMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @ByteMatchSet@ from AWS WAF (see 'DeleteByteMatchSet' ). @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .------ * 'bmsByteMatchTuples' - Specifies the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.-byteMatchSet- :: Text -- ^ 'bmsByteMatchSetId'- -> ByteMatchSet-byteMatchSet pByteMatchSetId_ =- ByteMatchSet'- { _bmsName = Nothing- , _bmsByteMatchSetId = pByteMatchSetId_- , _bmsByteMatchTuples = mempty- }----- | A friendly name or description of the 'ByteMatchSet' . You can't change @Name@ after you create a @ByteMatchSet@ .-bmsName :: Lens' ByteMatchSet (Maybe Text)-bmsName = lens _bmsName (\ s a -> s{_bmsName = a})---- | The @ByteMatchSetId@ for a @ByteMatchSet@ . You use @ByteMatchSetId@ to get information about a @ByteMatchSet@ (see 'GetByteMatchSet' ), update a @ByteMatchSet@ (see 'UpdateByteMatchSet' ), insert a @ByteMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @ByteMatchSet@ from AWS WAF (see 'DeleteByteMatchSet' ). @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .-bmsByteMatchSetId :: Lens' ByteMatchSet Text-bmsByteMatchSetId = lens _bmsByteMatchSetId (\ s a -> s{_bmsByteMatchSetId = a})---- | Specifies the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.-bmsByteMatchTuples :: Lens' ByteMatchSet [ByteMatchTuple]-bmsByteMatchTuples = lens _bmsByteMatchTuples (\ s a -> s{_bmsByteMatchTuples = a}) . _Coerce--instance FromJSON ByteMatchSet where- parseJSON- = withObject "ByteMatchSet"- (\ x ->- ByteMatchSet' <$>- (x .:? "Name") <*> (x .: "ByteMatchSetId") <*>- (x .:? "ByteMatchTuples" .!= mempty))--instance Hashable ByteMatchSet where--instance NFData ByteMatchSet where---- | Returned by 'ListByteMatchSets' . Each @ByteMatchSetSummary@ object includes the @Name@ and @ByteMatchSetId@ for one 'ByteMatchSet' .------------ /See:/ 'byteMatchSetSummary' smart constructor.-data ByteMatchSetSummary = ByteMatchSetSummary'- { _bmssByteMatchSetId :: !Text- , _bmssName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ByteMatchSetSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bmssByteMatchSetId' - The @ByteMatchSetId@ for a @ByteMatchSet@ . You use @ByteMatchSetId@ to get information about a @ByteMatchSet@ , update a @ByteMatchSet@ , remove a @ByteMatchSet@ from a @Rule@ , and delete a @ByteMatchSet@ from AWS WAF. @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .------ * 'bmssName' - A friendly name or description of the 'ByteMatchSet' . You can't change @Name@ after you create a @ByteMatchSet@ .-byteMatchSetSummary- :: Text -- ^ 'bmssByteMatchSetId'- -> Text -- ^ 'bmssName'- -> ByteMatchSetSummary-byteMatchSetSummary pByteMatchSetId_ pName_ =- ByteMatchSetSummary'- {_bmssByteMatchSetId = pByteMatchSetId_, _bmssName = pName_}----- | The @ByteMatchSetId@ for a @ByteMatchSet@ . You use @ByteMatchSetId@ to get information about a @ByteMatchSet@ , update a @ByteMatchSet@ , remove a @ByteMatchSet@ from a @Rule@ , and delete a @ByteMatchSet@ from AWS WAF. @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .-bmssByteMatchSetId :: Lens' ByteMatchSetSummary Text-bmssByteMatchSetId = lens _bmssByteMatchSetId (\ s a -> s{_bmssByteMatchSetId = a})---- | A friendly name or description of the 'ByteMatchSet' . You can't change @Name@ after you create a @ByteMatchSet@ .-bmssName :: Lens' ByteMatchSetSummary Text-bmssName = lens _bmssName (\ s a -> s{_bmssName = a})--instance FromJSON ByteMatchSetSummary where- parseJSON- = withObject "ByteMatchSetSummary"- (\ x ->- ByteMatchSetSummary' <$>- (x .: "ByteMatchSetId") <*> (x .: "Name"))--instance Hashable ByteMatchSetSummary where--instance NFData ByteMatchSetSummary where---- | In an 'UpdateByteMatchSet' request, @ByteMatchSetUpdate@ specifies whether to insert or delete a 'ByteMatchTuple' and includes the settings for the @ByteMatchTuple@ .------------ /See:/ 'byteMatchSetUpdate' smart constructor.-data ByteMatchSetUpdate = ByteMatchSetUpdate'- { _bmsuAction :: !ChangeAction- , _bmsuByteMatchTuple :: !ByteMatchTuple- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ByteMatchSetUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bmsuAction' - Specifies whether to insert or delete a 'ByteMatchTuple' .------ * 'bmsuByteMatchTuple' - Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. If you specify @DELETE@ for the value of @Action@ , the @ByteMatchTuple@ values must exactly match the values in the @ByteMatchTuple@ that you want to delete from the @ByteMatchSet@ .-byteMatchSetUpdate- :: ChangeAction -- ^ 'bmsuAction'- -> ByteMatchTuple -- ^ 'bmsuByteMatchTuple'- -> ByteMatchSetUpdate-byteMatchSetUpdate pAction_ pByteMatchTuple_ =- ByteMatchSetUpdate'- {_bmsuAction = pAction_, _bmsuByteMatchTuple = pByteMatchTuple_}----- | Specifies whether to insert or delete a 'ByteMatchTuple' .-bmsuAction :: Lens' ByteMatchSetUpdate ChangeAction-bmsuAction = lens _bmsuAction (\ s a -> s{_bmsuAction = a})---- | Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. If you specify @DELETE@ for the value of @Action@ , the @ByteMatchTuple@ values must exactly match the values in the @ByteMatchTuple@ that you want to delete from the @ByteMatchSet@ .-bmsuByteMatchTuple :: Lens' ByteMatchSetUpdate ByteMatchTuple-bmsuByteMatchTuple = lens _bmsuByteMatchTuple (\ s a -> s{_bmsuByteMatchTuple = a})--instance Hashable ByteMatchSetUpdate where--instance NFData ByteMatchSetUpdate where--instance ToJSON ByteMatchSetUpdate where- toJSON ByteMatchSetUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _bmsuAction),- Just ("ByteMatchTuple" .= _bmsuByteMatchTuple)])---- | The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.------------ /See:/ 'byteMatchTuple' smart constructor.-data ByteMatchTuple = ByteMatchTuple'- { _bmtFieldToMatch :: !FieldToMatch- , _bmtTargetString :: !Base64- , _bmtTextTransformation :: !TextTransformation- , _bmtPositionalConstraint :: !PositionalConstraint- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ByteMatchTuple' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bmtFieldToMatch' - The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see 'FieldToMatch' .------ * 'bmtTargetString' - The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in @FieldToMatch@ . The maximum length of the value is 50 bytes. Valid values depend on the values that you specified for @FieldToMatch@ : * @HEADER@ : The value that you want AWS WAF to search for in the request header that you specified in 'FieldToMatch' , for example, the value of the @User-Agent@ or @Referer@ header. * @METHOD@ : The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: @DELETE@ , @GET@ , @HEAD@ , @OPTIONS@ , @PATCH@ , @POST@ , and @PUT@ . * @QUERY_STRING@ : The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a @?@ character. * @URI@ : The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, @/images/daily-ad.jpg@ . * @BODY@ : The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first @8192@ bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see 'CreateSizeConstraintSet' . If @TargetString@ includes alphabetic characters A-Z and a-z, note that the value is case sensitive. __If you're using the AWS WAF API__ Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes. For example, suppose the value of @Type@ is @HEADER@ and the value of @Data@ is @User-Agent@ . If you want to search the @User-Agent@ header for the value @BadBot@ , you base64-encode @BadBot@ using MIME base64 encoding and include the resulting value, @QmFkQm90@ , in the value of @TargetString@ . __If you're using the AWS CLI or one of the AWS SDKs__ The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.------ * 'bmtTextTransformation' - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @TargetString@ before inspecting a request for a match. __CMD_LINE__ When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value. __NONE__ Specify @NONE@ if you don't want to perform any text transformations.------ * 'bmtPositionalConstraint' - Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following: __CONTAINS__ The specified part of the web request must include the value of @TargetString@ , but the location doesn't matter. __CONTAINS_WORD__ The specified part of the web request must include the value of @TargetString@ , and @TargetString@ must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, @TargetString@ must be a word, which means one of the following: * @TargetString@ exactly matches the value of the specified part of the web request, such as the value of a header. * @TargetString@ is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example, @BadBot;@ . * @TargetString@ is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example, @;BadBot@ . * @TargetString@ is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example, @-BadBot;@ . __EXACTLY__ The value of the specified part of the web request must exactly match the value of @TargetString@ . __STARTS_WITH__ The value of @TargetString@ must appear at the beginning of the specified part of the web request. __ENDS_WITH__ The value of @TargetString@ must appear at the end of the specified part of the web request.-byteMatchTuple- :: FieldToMatch -- ^ 'bmtFieldToMatch'- -> ByteString -- ^ 'bmtTargetString'- -> TextTransformation -- ^ 'bmtTextTransformation'- -> PositionalConstraint -- ^ 'bmtPositionalConstraint'- -> ByteMatchTuple-byteMatchTuple pFieldToMatch_ pTargetString_ pTextTransformation_ pPositionalConstraint_ =- ByteMatchTuple'- { _bmtFieldToMatch = pFieldToMatch_- , _bmtTargetString = _Base64 # pTargetString_- , _bmtTextTransformation = pTextTransformation_- , _bmtPositionalConstraint = pPositionalConstraint_- }----- | The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see 'FieldToMatch' .-bmtFieldToMatch :: Lens' ByteMatchTuple FieldToMatch-bmtFieldToMatch = lens _bmtFieldToMatch (\ s a -> s{_bmtFieldToMatch = a})---- | The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in @FieldToMatch@ . The maximum length of the value is 50 bytes. Valid values depend on the values that you specified for @FieldToMatch@ : * @HEADER@ : The value that you want AWS WAF to search for in the request header that you specified in 'FieldToMatch' , for example, the value of the @User-Agent@ or @Referer@ header. * @METHOD@ : The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: @DELETE@ , @GET@ , @HEAD@ , @OPTIONS@ , @PATCH@ , @POST@ , and @PUT@ . * @QUERY_STRING@ : The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a @?@ character. * @URI@ : The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, @/images/daily-ad.jpg@ . * @BODY@ : The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first @8192@ bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see 'CreateSizeConstraintSet' . If @TargetString@ includes alphabetic characters A-Z and a-z, note that the value is case sensitive. __If you're using the AWS WAF API__ Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes. For example, suppose the value of @Type@ is @HEADER@ and the value of @Data@ is @User-Agent@ . If you want to search the @User-Agent@ header for the value @BadBot@ , you base64-encode @BadBot@ using MIME base64 encoding and include the resulting value, @QmFkQm90@ , in the value of @TargetString@ . __If you're using the AWS CLI or one of the AWS SDKs__ The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.-bmtTargetString :: Lens' ByteMatchTuple ByteString-bmtTargetString = lens _bmtTargetString (\ s a -> s{_bmtTargetString = a}) . _Base64---- | Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @TargetString@ before inspecting a request for a match. __CMD_LINE__ When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value. __NONE__ Specify @NONE@ if you don't want to perform any text transformations.-bmtTextTransformation :: Lens' ByteMatchTuple TextTransformation-bmtTextTransformation = lens _bmtTextTransformation (\ s a -> s{_bmtTextTransformation = a})---- | Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following: __CONTAINS__ The specified part of the web request must include the value of @TargetString@ , but the location doesn't matter. __CONTAINS_WORD__ The specified part of the web request must include the value of @TargetString@ , and @TargetString@ must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, @TargetString@ must be a word, which means one of the following: * @TargetString@ exactly matches the value of the specified part of the web request, such as the value of a header. * @TargetString@ is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example, @BadBot;@ . * @TargetString@ is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example, @;BadBot@ . * @TargetString@ is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example, @-BadBot;@ . __EXACTLY__ The value of the specified part of the web request must exactly match the value of @TargetString@ . __STARTS_WITH__ The value of @TargetString@ must appear at the beginning of the specified part of the web request. __ENDS_WITH__ The value of @TargetString@ must appear at the end of the specified part of the web request.-bmtPositionalConstraint :: Lens' ByteMatchTuple PositionalConstraint-bmtPositionalConstraint = lens _bmtPositionalConstraint (\ s a -> s{_bmtPositionalConstraint = a})--instance FromJSON ByteMatchTuple where- parseJSON- = withObject "ByteMatchTuple"- (\ x ->- ByteMatchTuple' <$>- (x .: "FieldToMatch") <*> (x .: "TargetString") <*>- (x .: "TextTransformation")- <*> (x .: "PositionalConstraint"))--instance Hashable ByteMatchTuple where--instance NFData ByteMatchTuple where--instance ToJSON ByteMatchTuple where- toJSON ByteMatchTuple'{..}- = object- (catMaybes- [Just ("FieldToMatch" .= _bmtFieldToMatch),- Just ("TargetString" .= _bmtTargetString),- Just- ("TextTransformation" .= _bmtTextTransformation),- Just- ("PositionalConstraint" .=- _bmtPositionalConstraint)])---- | Specifies where in a web request to look for @TargetString@ .------------ /See:/ 'fieldToMatch' smart constructor.-data FieldToMatch = FieldToMatch'- { _ftmData :: !(Maybe Text)- , _ftmType :: !MatchFieldType- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'FieldToMatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ftmData' - When the value of @Type@ is @HEADER@ , enter the name of the header that you want AWS WAF to search, for example, @User-Agent@ or @Referer@ . If the value of @Type@ is any other value, omit @Data@ . The name of the header is not case sensitive.------ * 'ftmType' - The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following: * @HEADER@ : A specified request header, for example, the value of the @User-Agent@ or @Referer@ header. If you choose @HEADER@ for the type, specify the name of the header in @Data@ . * @METHOD@ : The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: @DELETE@ , @GET@ , @HEAD@ , @OPTIONS@ , @PATCH@ , @POST@ , and @PUT@ . * @QUERY_STRING@ : A query string, which is the part of a URL that appears after a @?@ character, if any. * @URI@ : The part of a web request that identifies a resource, for example, @/images/daily-ad.jpg@ . * @BODY@ : The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first @8192@ bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see 'CreateSizeConstraintSet' .-fieldToMatch- :: MatchFieldType -- ^ 'ftmType'- -> FieldToMatch-fieldToMatch pType_ = FieldToMatch' {_ftmData = Nothing, _ftmType = pType_}----- | When the value of @Type@ is @HEADER@ , enter the name of the header that you want AWS WAF to search, for example, @User-Agent@ or @Referer@ . If the value of @Type@ is any other value, omit @Data@ . The name of the header is not case sensitive.-ftmData :: Lens' FieldToMatch (Maybe Text)-ftmData = lens _ftmData (\ s a -> s{_ftmData = a})---- | The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following: * @HEADER@ : A specified request header, for example, the value of the @User-Agent@ or @Referer@ header. If you choose @HEADER@ for the type, specify the name of the header in @Data@ . * @METHOD@ : The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: @DELETE@ , @GET@ , @HEAD@ , @OPTIONS@ , @PATCH@ , @POST@ , and @PUT@ . * @QUERY_STRING@ : A query string, which is the part of a URL that appears after a @?@ character, if any. * @URI@ : The part of a web request that identifies a resource, for example, @/images/daily-ad.jpg@ . * @BODY@ : The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first @8192@ bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see 'CreateSizeConstraintSet' .-ftmType :: Lens' FieldToMatch MatchFieldType-ftmType = lens _ftmType (\ s a -> s{_ftmType = a})--instance FromJSON FieldToMatch where- parseJSON- = withObject "FieldToMatch"- (\ x ->- FieldToMatch' <$> (x .:? "Data") <*> (x .: "Type"))--instance Hashable FieldToMatch where--instance NFData FieldToMatch where--instance ToJSON FieldToMatch where- toJSON FieldToMatch'{..}- = object- (catMaybes- [("Data" .=) <$> _ftmData,- Just ("Type" .= _ftmType)])---- | The country from which web requests originate that you want AWS WAF to search for.------------ /See:/ 'geoMatchConstraint' smart constructor.-data GeoMatchConstraint = GeoMatchConstraint'- { _gmcType :: !GeoMatchConstraintType- , _gmcValue :: !GeoMatchConstraintValue- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GeoMatchConstraint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmcType' - The type of geographical area you want AWS WAF to search for. Currently @Country@ is the only valid value.------ * 'gmcValue' - The country that you want AWS WAF to search for.-geoMatchConstraint- :: GeoMatchConstraintType -- ^ 'gmcType'- -> GeoMatchConstraintValue -- ^ 'gmcValue'- -> GeoMatchConstraint-geoMatchConstraint pType_ pValue_ =- GeoMatchConstraint' {_gmcType = pType_, _gmcValue = pValue_}----- | The type of geographical area you want AWS WAF to search for. Currently @Country@ is the only valid value.-gmcType :: Lens' GeoMatchConstraint GeoMatchConstraintType-gmcType = lens _gmcType (\ s a -> s{_gmcType = a})---- | The country that you want AWS WAF to search for.-gmcValue :: Lens' GeoMatchConstraint GeoMatchConstraintValue-gmcValue = lens _gmcValue (\ s a -> s{_gmcValue = a})--instance FromJSON GeoMatchConstraint where- parseJSON- = withObject "GeoMatchConstraint"- (\ x ->- GeoMatchConstraint' <$>- (x .: "Type") <*> (x .: "Value"))--instance Hashable GeoMatchConstraint where--instance NFData GeoMatchConstraint where--instance ToJSON GeoMatchConstraint where- toJSON GeoMatchConstraint'{..}- = object- (catMaybes- [Just ("Type" .= _gmcType),- Just ("Value" .= _gmcValue)])---- | Contains one or more countries that AWS WAF will search for.------------ /See:/ 'geoMatchSet' smart constructor.-data GeoMatchSet = GeoMatchSet'- { _gmsName :: !(Maybe Text)- , _gmsGeoMatchSetId :: !Text- , _gmsGeoMatchConstraints :: ![GeoMatchConstraint]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GeoMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmsName' - A friendly name or description of the 'GeoMatchSet' . You can't change the name of an @GeoMatchSet@ after you create it.------ * 'gmsGeoMatchSetId' - The @GeoMatchSetId@ for an @GeoMatchSet@ . You use @GeoMatchSetId@ to get information about a @GeoMatchSet@ (see 'GeoMatchSet' ), update a @GeoMatchSet@ (see 'UpdateGeoMatchSet' ), insert a @GeoMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @GeoMatchSet@ from AWS WAF (see 'DeleteGeoMatchSet' ). @GeoMatchSetId@ is returned by 'CreateGeoMatchSet' and by 'ListGeoMatchSets' .------ * 'gmsGeoMatchConstraints' - An array of 'GeoMatchConstraint' objects, which contain the country that you want AWS WAF to search for.-geoMatchSet- :: Text -- ^ 'gmsGeoMatchSetId'- -> GeoMatchSet-geoMatchSet pGeoMatchSetId_ =- GeoMatchSet'- { _gmsName = Nothing- , _gmsGeoMatchSetId = pGeoMatchSetId_- , _gmsGeoMatchConstraints = mempty- }----- | A friendly name or description of the 'GeoMatchSet' . You can't change the name of an @GeoMatchSet@ after you create it.-gmsName :: Lens' GeoMatchSet (Maybe Text)-gmsName = lens _gmsName (\ s a -> s{_gmsName = a})---- | The @GeoMatchSetId@ for an @GeoMatchSet@ . You use @GeoMatchSetId@ to get information about a @GeoMatchSet@ (see 'GeoMatchSet' ), update a @GeoMatchSet@ (see 'UpdateGeoMatchSet' ), insert a @GeoMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @GeoMatchSet@ from AWS WAF (see 'DeleteGeoMatchSet' ). @GeoMatchSetId@ is returned by 'CreateGeoMatchSet' and by 'ListGeoMatchSets' .-gmsGeoMatchSetId :: Lens' GeoMatchSet Text-gmsGeoMatchSetId = lens _gmsGeoMatchSetId (\ s a -> s{_gmsGeoMatchSetId = a})---- | An array of 'GeoMatchConstraint' objects, which contain the country that you want AWS WAF to search for.-gmsGeoMatchConstraints :: Lens' GeoMatchSet [GeoMatchConstraint]-gmsGeoMatchConstraints = lens _gmsGeoMatchConstraints (\ s a -> s{_gmsGeoMatchConstraints = a}) . _Coerce--instance FromJSON GeoMatchSet where- parseJSON- = withObject "GeoMatchSet"- (\ x ->- GeoMatchSet' <$>- (x .:? "Name") <*> (x .: "GeoMatchSetId") <*>- (x .:? "GeoMatchConstraints" .!= mempty))--instance Hashable GeoMatchSet where--instance NFData GeoMatchSet where---- | Contains the identifier and the name of the @GeoMatchSet@ .------------ /See:/ 'geoMatchSetSummary' smart constructor.-data GeoMatchSetSummary = GeoMatchSetSummary'- { _gmssGeoMatchSetId :: !Text- , _gmssName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GeoMatchSetSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmssGeoMatchSetId' - The @GeoMatchSetId@ for an 'GeoMatchSet' . You can use @GeoMatchSetId@ in a 'GetGeoMatchSet' request to get detailed information about an 'GeoMatchSet' .------ * 'gmssName' - A friendly name or description of the 'GeoMatchSet' . You can't change the name of an @GeoMatchSet@ after you create it.-geoMatchSetSummary- :: Text -- ^ 'gmssGeoMatchSetId'- -> Text -- ^ 'gmssName'- -> GeoMatchSetSummary-geoMatchSetSummary pGeoMatchSetId_ pName_ =- GeoMatchSetSummary' {_gmssGeoMatchSetId = pGeoMatchSetId_, _gmssName = pName_}----- | The @GeoMatchSetId@ for an 'GeoMatchSet' . You can use @GeoMatchSetId@ in a 'GetGeoMatchSet' request to get detailed information about an 'GeoMatchSet' .-gmssGeoMatchSetId :: Lens' GeoMatchSetSummary Text-gmssGeoMatchSetId = lens _gmssGeoMatchSetId (\ s a -> s{_gmssGeoMatchSetId = a})---- | A friendly name or description of the 'GeoMatchSet' . You can't change the name of an @GeoMatchSet@ after you create it.-gmssName :: Lens' GeoMatchSetSummary Text-gmssName = lens _gmssName (\ s a -> s{_gmssName = a})--instance FromJSON GeoMatchSetSummary where- parseJSON- = withObject "GeoMatchSetSummary"- (\ x ->- GeoMatchSetSummary' <$>- (x .: "GeoMatchSetId") <*> (x .: "Name"))--instance Hashable GeoMatchSetSummary where--instance NFData GeoMatchSetSummary where---- | Specifies the type of update to perform to an 'GeoMatchSet' with 'UpdateGeoMatchSet' .------------ /See:/ 'geoMatchSetUpdate' smart constructor.-data GeoMatchSetUpdate = GeoMatchSetUpdate'- { _gmsuAction :: !ChangeAction- , _gmsuGeoMatchConstraint :: !GeoMatchConstraint- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GeoMatchSetUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmsuAction' - Specifies whether to insert or delete a country with 'UpdateGeoMatchSet' .------ * 'gmsuGeoMatchConstraint' - The country from which web requests originate that you want AWS WAF to search for.-geoMatchSetUpdate- :: ChangeAction -- ^ 'gmsuAction'- -> GeoMatchConstraint -- ^ 'gmsuGeoMatchConstraint'- -> GeoMatchSetUpdate-geoMatchSetUpdate pAction_ pGeoMatchConstraint_ =- GeoMatchSetUpdate'- {_gmsuAction = pAction_, _gmsuGeoMatchConstraint = pGeoMatchConstraint_}----- | Specifies whether to insert or delete a country with 'UpdateGeoMatchSet' .-gmsuAction :: Lens' GeoMatchSetUpdate ChangeAction-gmsuAction = lens _gmsuAction (\ s a -> s{_gmsuAction = a})---- | The country from which web requests originate that you want AWS WAF to search for.-gmsuGeoMatchConstraint :: Lens' GeoMatchSetUpdate GeoMatchConstraint-gmsuGeoMatchConstraint = lens _gmsuGeoMatchConstraint (\ s a -> s{_gmsuGeoMatchConstraint = a})--instance Hashable GeoMatchSetUpdate where--instance NFData GeoMatchSetUpdate where--instance ToJSON GeoMatchSetUpdate where- toJSON GeoMatchSetUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _gmsuAction),- Just- ("GeoMatchConstraint" .= _gmsuGeoMatchConstraint)])---- | The response from a 'GetSampledRequests' request includes an @HTTPHeader@ complex type that appears as @Headers@ in the response syntax. @HTTPHeader@ contains the names and values of all of the headers that appear in one of the web requests that were returned by @GetSampledRequests@ .------------ /See:/ 'hTTPHeader' smart constructor.-data HTTPHeader = HTTPHeader'- { _httphValue :: !(Maybe Text)- , _httphName :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'HTTPHeader' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'httphValue' - The value of one of the headers in the sampled web request.------ * 'httphName' - The name of one of the headers in the sampled web request.-hTTPHeader- :: HTTPHeader-hTTPHeader = HTTPHeader' {_httphValue = Nothing, _httphName = Nothing}----- | The value of one of the headers in the sampled web request.-httphValue :: Lens' HTTPHeader (Maybe Text)-httphValue = lens _httphValue (\ s a -> s{_httphValue = a})---- | The name of one of the headers in the sampled web request.-httphName :: Lens' HTTPHeader (Maybe Text)-httphName = lens _httphName (\ s a -> s{_httphName = a})--instance FromJSON HTTPHeader where- parseJSON- = withObject "HTTPHeader"- (\ x ->- HTTPHeader' <$> (x .:? "Value") <*> (x .:? "Name"))--instance Hashable HTTPHeader where--instance NFData HTTPHeader where---- | The response from a 'GetSampledRequests' request includes an @HTTPRequest@ complex type that appears as @Request@ in the response syntax. @HTTPRequest@ contains information about one of the web requests that were returned by @GetSampledRequests@ .------------ /See:/ 'hTTPRequest' smart constructor.-data HTTPRequest = HTTPRequest'- { _httprHTTPVersion :: !(Maybe Text)- , _httprCountry :: !(Maybe Text)- , _httprURI :: !(Maybe Text)- , _httprHeaders :: !(Maybe [HTTPHeader])- , _httprMethod :: !(Maybe Text)- , _httprClientIP :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'HTTPRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'httprHTTPVersion' - The HTTP version specified in the sampled web request, for example, @HTTP/1.1@ .------ * 'httprCountry' - The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2> .------ * 'httprURI' - The part of a web request that identifies the resource, for example, @/images/daily-ad.jpg@ .------ * 'httprHeaders' - A complex type that contains two values for each header in the sampled web request: the name of the header and the value of the header.------ * 'httprMethod' - The HTTP method specified in the sampled web request. CloudFront supports the following methods: @DELETE@ , @GET@ , @HEAD@ , @OPTIONS@ , @PATCH@ , @POST@ , and @PUT@ .------ * 'httprClientIP' - The IP address that the request originated from. If the @WebACL@ is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs: * @c-ip@ , if the viewer did not use an HTTP proxy or a load balancer to send the request * @x-forwarded-for@ , if the viewer did use an HTTP proxy or a load balancer to send the request-hTTPRequest- :: HTTPRequest-hTTPRequest =- HTTPRequest'- { _httprHTTPVersion = Nothing- , _httprCountry = Nothing- , _httprURI = Nothing- , _httprHeaders = Nothing- , _httprMethod = Nothing- , _httprClientIP = Nothing- }----- | The HTTP version specified in the sampled web request, for example, @HTTP/1.1@ .-httprHTTPVersion :: Lens' HTTPRequest (Maybe Text)-httprHTTPVersion = lens _httprHTTPVersion (\ s a -> s{_httprHTTPVersion = a})---- | The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2> .-httprCountry :: Lens' HTTPRequest (Maybe Text)-httprCountry = lens _httprCountry (\ s a -> s{_httprCountry = a})---- | The part of a web request that identifies the resource, for example, @/images/daily-ad.jpg@ .-httprURI :: Lens' HTTPRequest (Maybe Text)-httprURI = lens _httprURI (\ s a -> s{_httprURI = a})---- | A complex type that contains two values for each header in the sampled web request: the name of the header and the value of the header.-httprHeaders :: Lens' HTTPRequest [HTTPHeader]-httprHeaders = lens _httprHeaders (\ s a -> s{_httprHeaders = a}) . _Default . _Coerce---- | The HTTP method specified in the sampled web request. CloudFront supports the following methods: @DELETE@ , @GET@ , @HEAD@ , @OPTIONS@ , @PATCH@ , @POST@ , and @PUT@ .-httprMethod :: Lens' HTTPRequest (Maybe Text)-httprMethod = lens _httprMethod (\ s a -> s{_httprMethod = a})---- | The IP address that the request originated from. If the @WebACL@ is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs: * @c-ip@ , if the viewer did not use an HTTP proxy or a load balancer to send the request * @x-forwarded-for@ , if the viewer did use an HTTP proxy or a load balancer to send the request-httprClientIP :: Lens' HTTPRequest (Maybe Text)-httprClientIP = lens _httprClientIP (\ s a -> s{_httprClientIP = a})--instance FromJSON HTTPRequest where- parseJSON- = withObject "HTTPRequest"- (\ x ->- HTTPRequest' <$>- (x .:? "HTTPVersion") <*> (x .:? "Country") <*>- (x .:? "URI")- <*> (x .:? "Headers" .!= mempty)- <*> (x .:? "Method")- <*> (x .:? "ClientIP"))--instance Hashable HTTPRequest where--instance NFData HTTPRequest where---- | Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6.--------- To specify an individual IP address, you specify the four-part IP address followed by a @/32@ , for example, 192.0.2.0/31. To block a range of IP addresses, you can specify a @/128@ , @/64@ , @/56@ , @/48@ , @/32@ , @/24@ , @/16@ , or @/8@ CIDR. For more information about CIDR notation, see the Wikipedia entry <https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing> .--------- /See:/ 'ipSet' smart constructor.-data IPSet = IPSet'- { _isName :: !(Maybe Text)- , _isIPSetId :: !Text- , _isIPSetDescriptors :: ![IPSetDescriptor]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'IPSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isName' - A friendly name or description of the 'IPSet' . You can't change the name of an @IPSet@ after you create it.------ * 'isIPSetId' - The @IPSetId@ for an @IPSet@ . You use @IPSetId@ to get information about an @IPSet@ (see 'GetIPSet' ), update an @IPSet@ (see 'UpdateIPSet' ), insert an @IPSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete an @IPSet@ from AWS WAF (see 'DeleteIPSet' ). @IPSetId@ is returned by 'CreateIPSet' and by 'ListIPSets' .------ * 'isIPSetDescriptors' - The IP address type (@IPV4@ or @IPV6@ ) and the IP address range (in CIDR notation) that web requests originate from. If the @WebACL@ is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.-ipSet- :: Text -- ^ 'isIPSetId'- -> IPSet-ipSet pIPSetId_ =- IPSet'- {_isName = Nothing, _isIPSetId = pIPSetId_, _isIPSetDescriptors = mempty}----- | A friendly name or description of the 'IPSet' . You can't change the name of an @IPSet@ after you create it.-isName :: Lens' IPSet (Maybe Text)-isName = lens _isName (\ s a -> s{_isName = a})---- | The @IPSetId@ for an @IPSet@ . You use @IPSetId@ to get information about an @IPSet@ (see 'GetIPSet' ), update an @IPSet@ (see 'UpdateIPSet' ), insert an @IPSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete an @IPSet@ from AWS WAF (see 'DeleteIPSet' ). @IPSetId@ is returned by 'CreateIPSet' and by 'ListIPSets' .-isIPSetId :: Lens' IPSet Text-isIPSetId = lens _isIPSetId (\ s a -> s{_isIPSetId = a})---- | The IP address type (@IPV4@ or @IPV6@ ) and the IP address range (in CIDR notation) that web requests originate from. If the @WebACL@ is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.-isIPSetDescriptors :: Lens' IPSet [IPSetDescriptor]-isIPSetDescriptors = lens _isIPSetDescriptors (\ s a -> s{_isIPSetDescriptors = a}) . _Coerce--instance FromJSON IPSet where- parseJSON- = withObject "IPSet"- (\ x ->- IPSet' <$>- (x .:? "Name") <*> (x .: "IPSetId") <*>- (x .:? "IPSetDescriptors" .!= mempty))--instance Hashable IPSet where--instance NFData IPSet where---- | Specifies the IP address type (@IPV4@ or @IPV6@ ) and the IP address range (in CIDR format) that web requests originate from.------------ /See:/ 'ipSetDescriptor' smart constructor.-data IPSetDescriptor = IPSetDescriptor'- { _isdType :: !IPSetDescriptorType- , _isdValue :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'IPSetDescriptor' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isdType' - Specify @IPV4@ or @IPV6@ .------ * 'isdValue' - Specify an IPv4 address by using CIDR notation. For example: * To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify @192.0.2.44/32@ . * To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify @192.0.2.0/24@ . For more information about CIDR notation, see the Wikipedia entry <https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing> . Specify an IPv6 address by using CIDR notation. For example: * To configure AWS 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 AWS 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@ .-ipSetDescriptor- :: IPSetDescriptorType -- ^ 'isdType'- -> Text -- ^ 'isdValue'- -> IPSetDescriptor-ipSetDescriptor pType_ pValue_ =- IPSetDescriptor' {_isdType = pType_, _isdValue = pValue_}----- | Specify @IPV4@ or @IPV6@ .-isdType :: Lens' IPSetDescriptor IPSetDescriptorType-isdType = lens _isdType (\ s a -> s{_isdType = a})---- | Specify an IPv4 address by using CIDR notation. For example: * To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify @192.0.2.44/32@ . * To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify @192.0.2.0/24@ . For more information about CIDR notation, see the Wikipedia entry <https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing> . Specify an IPv6 address by using CIDR notation. For example: * To configure AWS 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 AWS 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@ .-isdValue :: Lens' IPSetDescriptor Text-isdValue = lens _isdValue (\ s a -> s{_isdValue = a})--instance FromJSON IPSetDescriptor where- parseJSON- = withObject "IPSetDescriptor"- (\ x ->- IPSetDescriptor' <$>- (x .: "Type") <*> (x .: "Value"))--instance Hashable IPSetDescriptor where--instance NFData IPSetDescriptor where--instance ToJSON IPSetDescriptor where- toJSON IPSetDescriptor'{..}- = object- (catMaybes- [Just ("Type" .= _isdType),- Just ("Value" .= _isdValue)])---- | Contains the identifier and the name of the @IPSet@ .------------ /See:/ 'ipSetSummary' smart constructor.-data IPSetSummary = IPSetSummary'- { _issIPSetId :: !Text- , _issName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'IPSetSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'issIPSetId' - The @IPSetId@ for an 'IPSet' . You can use @IPSetId@ in a 'GetIPSet' request to get detailed information about an 'IPSet' .------ * 'issName' - A friendly name or description of the 'IPSet' . You can't change the name of an @IPSet@ after you create it.-ipSetSummary- :: Text -- ^ 'issIPSetId'- -> Text -- ^ 'issName'- -> IPSetSummary-ipSetSummary pIPSetId_ pName_ =- IPSetSummary' {_issIPSetId = pIPSetId_, _issName = pName_}----- | The @IPSetId@ for an 'IPSet' . You can use @IPSetId@ in a 'GetIPSet' request to get detailed information about an 'IPSet' .-issIPSetId :: Lens' IPSetSummary Text-issIPSetId = lens _issIPSetId (\ s a -> s{_issIPSetId = a})---- | A friendly name or description of the 'IPSet' . You can't change the name of an @IPSet@ after you create it.-issName :: Lens' IPSetSummary Text-issName = lens _issName (\ s a -> s{_issName = a})--instance FromJSON IPSetSummary where- parseJSON- = withObject "IPSetSummary"- (\ x ->- IPSetSummary' <$> (x .: "IPSetId") <*> (x .: "Name"))--instance Hashable IPSetSummary where--instance NFData IPSetSummary where---- | Specifies the type of update to perform to an 'IPSet' with 'UpdateIPSet' .------------ /See:/ 'ipSetUpdate' smart constructor.-data IPSetUpdate = IPSetUpdate'- { _isuAction :: !ChangeAction- , _isuIPSetDescriptor :: !IPSetDescriptor- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'IPSetUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isuAction' - Specifies whether to insert or delete an IP address with 'UpdateIPSet' .------ * 'isuIPSetDescriptor' - The IP address type (@IPV4@ or @IPV6@ ) and the IP address range (in CIDR notation) that web requests originate from.-ipSetUpdate- :: ChangeAction -- ^ 'isuAction'- -> IPSetDescriptor -- ^ 'isuIPSetDescriptor'- -> IPSetUpdate-ipSetUpdate pAction_ pIPSetDescriptor_ =- IPSetUpdate' {_isuAction = pAction_, _isuIPSetDescriptor = pIPSetDescriptor_}----- | Specifies whether to insert or delete an IP address with 'UpdateIPSet' .-isuAction :: Lens' IPSetUpdate ChangeAction-isuAction = lens _isuAction (\ s a -> s{_isuAction = a})---- | The IP address type (@IPV4@ or @IPV6@ ) and the IP address range (in CIDR notation) that web requests originate from.-isuIPSetDescriptor :: Lens' IPSetUpdate IPSetDescriptor-isuIPSetDescriptor = lens _isuIPSetDescriptor (\ s a -> s{_isuIPSetDescriptor = a})--instance Hashable IPSetUpdate where--instance NFData IPSetUpdate where--instance ToJSON IPSetUpdate where- toJSON IPSetUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _isuAction),- Just ("IPSetDescriptor" .= _isuIPSetDescriptor)])---- | Specifies the 'ByteMatchSet' , 'IPSet' , 'SqlInjectionMatchSet' , 'XssMatchSet' , 'RegexMatchSet' , 'GeoMatchSet' , and 'SizeConstraintSet' objects that you want to add to a @Rule@ and, for each object, indicates whether you want to negate the settings, for example, requests that do NOT originate from the IP address 192.0.2.44.------------ /See:/ 'predicate' smart constructor.-data Predicate = Predicate'- { _pNegated :: !Bool- , _pType :: !PredicateType- , _pDataId :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Predicate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pNegated' - Set @Negated@ to @False@ if you want AWS WAF to allow, block, or count requests based on the settings in the specified 'ByteMatchSet' , 'IPSet' , 'SqlInjectionMatchSet' , 'XssMatchSet' , 'RegexMatchSet' , 'GeoMatchSet' , or 'SizeConstraintSet' . For example, if an @IPSet@ includes the IP address @192.0.2.44@ , AWS WAF will allow or block requests based on that IP address. Set @Negated@ to @True@ if you want AWS WAF to allow or block a request based on the negation of the settings in the 'ByteMatchSet' , 'IPSet' , 'SqlInjectionMatchSet' , 'XssMatchSet' , 'RegexMatchSet' , 'GeoMatchSet' , or 'SizeConstraintSet' . For example, if an @IPSet@ includes the IP address @192.0.2.44@ , AWS WAF will allow, block, or count requests based on all IP addresses /except/ @192.0.2.44@ .------ * 'pType' - The type of predicate in a @Rule@ , such as @ByteMatchSet@ or @IPSet@ .------ * 'pDataId' - A unique identifier for a predicate in a @Rule@ , such as @ByteMatchSetId@ or @IPSetId@ . The ID is returned by the corresponding @Create@ or @List@ command.-predicate- :: Bool -- ^ 'pNegated'- -> PredicateType -- ^ 'pType'- -> Text -- ^ 'pDataId'- -> Predicate-predicate pNegated_ pType_ pDataId_ =- Predicate' {_pNegated = pNegated_, _pType = pType_, _pDataId = pDataId_}----- | Set @Negated@ to @False@ if you want AWS WAF to allow, block, or count requests based on the settings in the specified 'ByteMatchSet' , 'IPSet' , 'SqlInjectionMatchSet' , 'XssMatchSet' , 'RegexMatchSet' , 'GeoMatchSet' , or 'SizeConstraintSet' . For example, if an @IPSet@ includes the IP address @192.0.2.44@ , AWS WAF will allow or block requests based on that IP address. Set @Negated@ to @True@ if you want AWS WAF to allow or block a request based on the negation of the settings in the 'ByteMatchSet' , 'IPSet' , 'SqlInjectionMatchSet' , 'XssMatchSet' , 'RegexMatchSet' , 'GeoMatchSet' , or 'SizeConstraintSet' . For example, if an @IPSet@ includes the IP address @192.0.2.44@ , AWS WAF will allow, block, or count requests based on all IP addresses /except/ @192.0.2.44@ .-pNegated :: Lens' Predicate Bool-pNegated = lens _pNegated (\ s a -> s{_pNegated = a})---- | The type of predicate in a @Rule@ , such as @ByteMatchSet@ or @IPSet@ .-pType :: Lens' Predicate PredicateType-pType = lens _pType (\ s a -> s{_pType = a})---- | A unique identifier for a predicate in a @Rule@ , such as @ByteMatchSetId@ or @IPSetId@ . The ID is returned by the corresponding @Create@ or @List@ command.-pDataId :: Lens' Predicate Text-pDataId = lens _pDataId (\ s a -> s{_pDataId = a})--instance FromJSON Predicate where- parseJSON- = withObject "Predicate"- (\ x ->- Predicate' <$>- (x .: "Negated") <*> (x .: "Type") <*>- (x .: "DataId"))--instance Hashable Predicate where--instance NFData Predicate where--instance ToJSON Predicate where- toJSON Predicate'{..}- = object- (catMaybes- [Just ("Negated" .= _pNegated),- Just ("Type" .= _pType),- Just ("DataId" .= _pDataId)])---- | A @RateBasedRule@ is identical to a regular 'Rule' , with one addition: a @RateBasedRule@ counts the number of requests that arrive from a specified IP address every five minutes. For example, based on recent requests that you've seen from an attacker, you might create a @RateBasedRule@ that includes the following conditions:--------- * The requests come from 192.0.2.44.------ * They contain the value @BadBot@ in the @User-Agent@ header.------------ In the rule, you also define the rate limit as 15,000.------ Requests that meet both of these conditions and exceed 15,000 requests every five minutes trigger the rule's action (block or count), which is defined in the web ACL.--------- /See:/ 'rateBasedRule' smart constructor.-data RateBasedRule = RateBasedRule'- { _rbrMetricName :: !(Maybe Text)- , _rbrName :: !(Maybe Text)- , _rbrRuleId :: !Text- , _rbrMatchPredicates :: ![Predicate]- , _rbrRateKey :: !RateKey- , _rbrRateLimit :: !Nat- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RateBasedRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rbrMetricName' - A friendly name or description for the metrics for a @RateBasedRule@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RateBasedRule@ .------ * 'rbrName' - A friendly name or description for a @RateBasedRule@ . You can't change the name of a @RateBasedRule@ after you create it.------ * 'rbrRuleId' - A unique identifier for a @RateBasedRule@ . You use @RuleId@ to get more information about a @RateBasedRule@ (see 'GetRateBasedRule' ), update a @RateBasedRule@ (see 'UpdateRateBasedRule' ), insert a @RateBasedRule@ into a @WebACL@ or delete one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @RateBasedRule@ from AWS WAF (see 'DeleteRateBasedRule' ).------ * 'rbrMatchPredicates' - The @Predicates@ object contains one @Predicate@ element for each 'ByteMatchSet' , 'IPSet' , or 'SqlInjectionMatchSet' object that you want to include in a @RateBasedRule@ .------ * 'rbrRateKey' - The field that AWS WAF uses to determine if requests are likely arriving from single source and thus subject to rate monitoring. The only valid value for @RateKey@ is @IP@ . @IP@ indicates that requests arriving from the same IP address are subject to the @RateLimit@ that is specified in the @RateBasedRule@ .------ * 'rbrRateLimit' - The maximum number of requests, which have an identical value in the field specified by the @RateKey@ , allowed in a five-minute period. If the number of requests exceeds the @RateLimit@ and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.-rateBasedRule- :: Text -- ^ 'rbrRuleId'- -> RateKey -- ^ 'rbrRateKey'- -> Natural -- ^ 'rbrRateLimit'- -> RateBasedRule-rateBasedRule pRuleId_ pRateKey_ pRateLimit_ =- RateBasedRule'- { _rbrMetricName = Nothing- , _rbrName = Nothing- , _rbrRuleId = pRuleId_- , _rbrMatchPredicates = mempty- , _rbrRateKey = pRateKey_- , _rbrRateLimit = _Nat # pRateLimit_- }----- | A friendly name or description for the metrics for a @RateBasedRule@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RateBasedRule@ .-rbrMetricName :: Lens' RateBasedRule (Maybe Text)-rbrMetricName = lens _rbrMetricName (\ s a -> s{_rbrMetricName = a})---- | A friendly name or description for a @RateBasedRule@ . You can't change the name of a @RateBasedRule@ after you create it.-rbrName :: Lens' RateBasedRule (Maybe Text)-rbrName = lens _rbrName (\ s a -> s{_rbrName = a})---- | A unique identifier for a @RateBasedRule@ . You use @RuleId@ to get more information about a @RateBasedRule@ (see 'GetRateBasedRule' ), update a @RateBasedRule@ (see 'UpdateRateBasedRule' ), insert a @RateBasedRule@ into a @WebACL@ or delete one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @RateBasedRule@ from AWS WAF (see 'DeleteRateBasedRule' ).-rbrRuleId :: Lens' RateBasedRule Text-rbrRuleId = lens _rbrRuleId (\ s a -> s{_rbrRuleId = a})---- | The @Predicates@ object contains one @Predicate@ element for each 'ByteMatchSet' , 'IPSet' , or 'SqlInjectionMatchSet' object that you want to include in a @RateBasedRule@ .-rbrMatchPredicates :: Lens' RateBasedRule [Predicate]-rbrMatchPredicates = lens _rbrMatchPredicates (\ s a -> s{_rbrMatchPredicates = a}) . _Coerce---- | The field that AWS WAF uses to determine if requests are likely arriving from single source and thus subject to rate monitoring. The only valid value for @RateKey@ is @IP@ . @IP@ indicates that requests arriving from the same IP address are subject to the @RateLimit@ that is specified in the @RateBasedRule@ .-rbrRateKey :: Lens' RateBasedRule RateKey-rbrRateKey = lens _rbrRateKey (\ s a -> s{_rbrRateKey = a})---- | The maximum number of requests, which have an identical value in the field specified by the @RateKey@ , allowed in a five-minute period. If the number of requests exceeds the @RateLimit@ and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.-rbrRateLimit :: Lens' RateBasedRule Natural-rbrRateLimit = lens _rbrRateLimit (\ s a -> s{_rbrRateLimit = a}) . _Nat--instance FromJSON RateBasedRule where- parseJSON- = withObject "RateBasedRule"- (\ x ->- RateBasedRule' <$>- (x .:? "MetricName") <*> (x .:? "Name") <*>- (x .: "RuleId")- <*> (x .:? "MatchPredicates" .!= mempty)- <*> (x .: "RateKey")- <*> (x .: "RateLimit"))--instance Hashable RateBasedRule where--instance NFData RateBasedRule where---- | In a 'GetRegexMatchSet' request, @RegexMatchSet@ is a complex type that contains the @RegexMatchSetId@ and @Name@ of a @RegexMatchSet@ , and the values that you specified when you updated the @RegexMatchSet@ .--------- The values are contained in a @RegexMatchTuple@ object, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a @RegexMatchSet@ contains more than one @RegexMatchTuple@ object, a request needs to match the settings in only one @ByteMatchTuple@ to be considered a match.--------- /See:/ 'regexMatchSet' smart constructor.-data RegexMatchSet = RegexMatchSet'- { _rmsName :: !(Maybe Text)- , _rmsRegexMatchTuples :: !(Maybe [RegexMatchTuple])- , _rmsRegexMatchSetId :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RegexMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmsName' - A friendly name or description of the 'RegexMatchSet' . You can't change @Name@ after you create a @RegexMatchSet@ .------ * 'rmsRegexMatchTuples' - Contains an array of 'RegexMatchTuple' objects. Each @RegexMatchTuple@ object contains: * The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the @User-Agent@ header. * The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see 'RegexPatternSet' . * Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.------ * 'rmsRegexMatchSetId' - The @RegexMatchSetId@ for a @RegexMatchSet@ . You use @RegexMatchSetId@ to get information about a @RegexMatchSet@ (see 'GetRegexMatchSet' ), update a @RegexMatchSet@ (see 'UpdateRegexMatchSet' ), insert a @RegexMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @RegexMatchSet@ from AWS WAF (see 'DeleteRegexMatchSet' ). @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .-regexMatchSet- :: RegexMatchSet-regexMatchSet =- RegexMatchSet'- { _rmsName = Nothing- , _rmsRegexMatchTuples = Nothing- , _rmsRegexMatchSetId = Nothing- }----- | A friendly name or description of the 'RegexMatchSet' . You can't change @Name@ after you create a @RegexMatchSet@ .-rmsName :: Lens' RegexMatchSet (Maybe Text)-rmsName = lens _rmsName (\ s a -> s{_rmsName = a})---- | Contains an array of 'RegexMatchTuple' objects. Each @RegexMatchTuple@ object contains: * The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the @User-Agent@ header. * The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see 'RegexPatternSet' . * Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.-rmsRegexMatchTuples :: Lens' RegexMatchSet [RegexMatchTuple]-rmsRegexMatchTuples = lens _rmsRegexMatchTuples (\ s a -> s{_rmsRegexMatchTuples = a}) . _Default . _Coerce---- | The @RegexMatchSetId@ for a @RegexMatchSet@ . You use @RegexMatchSetId@ to get information about a @RegexMatchSet@ (see 'GetRegexMatchSet' ), update a @RegexMatchSet@ (see 'UpdateRegexMatchSet' ), insert a @RegexMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @RegexMatchSet@ from AWS WAF (see 'DeleteRegexMatchSet' ). @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .-rmsRegexMatchSetId :: Lens' RegexMatchSet (Maybe Text)-rmsRegexMatchSetId = lens _rmsRegexMatchSetId (\ s a -> s{_rmsRegexMatchSetId = a})--instance FromJSON RegexMatchSet where- parseJSON- = withObject "RegexMatchSet"- (\ x ->- RegexMatchSet' <$>- (x .:? "Name") <*>- (x .:? "RegexMatchTuples" .!= mempty)- <*> (x .:? "RegexMatchSetId"))--instance Hashable RegexMatchSet where--instance NFData RegexMatchSet where---- | Returned by 'ListRegexMatchSets' . Each @RegexMatchSetSummary@ object includes the @Name@ and @RegexMatchSetId@ for one 'RegexMatchSet' .------------ /See:/ 'regexMatchSetSummary' smart constructor.-data RegexMatchSetSummary = RegexMatchSetSummary'- { _rmssRegexMatchSetId :: !Text- , _rmssName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RegexMatchSetSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmssRegexMatchSetId' - The @RegexMatchSetId@ for a @RegexMatchSet@ . You use @RegexMatchSetId@ to get information about a @RegexMatchSet@ , update a @RegexMatchSet@ , remove a @RegexMatchSet@ from a @Rule@ , and delete a @RegexMatchSet@ from AWS WAF. @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .------ * 'rmssName' - A friendly name or description of the 'RegexMatchSet' . You can't change @Name@ after you create a @RegexMatchSet@ .-regexMatchSetSummary- :: Text -- ^ 'rmssRegexMatchSetId'- -> Text -- ^ 'rmssName'- -> RegexMatchSetSummary-regexMatchSetSummary pRegexMatchSetId_ pName_ =- RegexMatchSetSummary'- {_rmssRegexMatchSetId = pRegexMatchSetId_, _rmssName = pName_}----- | The @RegexMatchSetId@ for a @RegexMatchSet@ . You use @RegexMatchSetId@ to get information about a @RegexMatchSet@ , update a @RegexMatchSet@ , remove a @RegexMatchSet@ from a @Rule@ , and delete a @RegexMatchSet@ from AWS WAF. @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .-rmssRegexMatchSetId :: Lens' RegexMatchSetSummary Text-rmssRegexMatchSetId = lens _rmssRegexMatchSetId (\ s a -> s{_rmssRegexMatchSetId = a})---- | A friendly name or description of the 'RegexMatchSet' . You can't change @Name@ after you create a @RegexMatchSet@ .-rmssName :: Lens' RegexMatchSetSummary Text-rmssName = lens _rmssName (\ s a -> s{_rmssName = a})--instance FromJSON RegexMatchSetSummary where- parseJSON- = withObject "RegexMatchSetSummary"- (\ x ->- RegexMatchSetSummary' <$>- (x .: "RegexMatchSetId") <*> (x .: "Name"))--instance Hashable RegexMatchSetSummary where--instance NFData RegexMatchSetSummary where---- | In an 'UpdateRegexMatchSet' request, @RegexMatchSetUpdate@ specifies whether to insert or delete a 'RegexMatchTuple' and includes the settings for the @RegexMatchTuple@ .------------ /See:/ 'regexMatchSetUpdate' smart constructor.-data RegexMatchSetUpdate = RegexMatchSetUpdate'- { _rmsuAction :: !ChangeAction- , _rmsuRegexMatchTuple :: !RegexMatchTuple- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RegexMatchSetUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmsuAction' - Specifies whether to insert or delete a 'RegexMatchTuple' .------ * 'rmsuRegexMatchTuple' - Information about the part of a web request that you want AWS WAF to inspect and the identifier of the regular expression (regex) pattern that you want AWS WAF to search for. If you specify @DELETE@ for the value of @Action@ , the @RegexMatchTuple@ values must exactly match the values in the @RegexMatchTuple@ that you want to delete from the @RegexMatchSet@ .-regexMatchSetUpdate- :: ChangeAction -- ^ 'rmsuAction'- -> RegexMatchTuple -- ^ 'rmsuRegexMatchTuple'- -> RegexMatchSetUpdate-regexMatchSetUpdate pAction_ pRegexMatchTuple_ =- RegexMatchSetUpdate'- {_rmsuAction = pAction_, _rmsuRegexMatchTuple = pRegexMatchTuple_}----- | Specifies whether to insert or delete a 'RegexMatchTuple' .-rmsuAction :: Lens' RegexMatchSetUpdate ChangeAction-rmsuAction = lens _rmsuAction (\ s a -> s{_rmsuAction = a})---- | Information about the part of a web request that you want AWS WAF to inspect and the identifier of the regular expression (regex) pattern that you want AWS WAF to search for. If you specify @DELETE@ for the value of @Action@ , the @RegexMatchTuple@ values must exactly match the values in the @RegexMatchTuple@ that you want to delete from the @RegexMatchSet@ .-rmsuRegexMatchTuple :: Lens' RegexMatchSetUpdate RegexMatchTuple-rmsuRegexMatchTuple = lens _rmsuRegexMatchTuple (\ s a -> s{_rmsuRegexMatchTuple = a})--instance Hashable RegexMatchSetUpdate where--instance NFData RegexMatchSetUpdate where--instance ToJSON RegexMatchSetUpdate where- toJSON RegexMatchSetUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _rmsuAction),- Just ("RegexMatchTuple" .= _rmsuRegexMatchTuple)])---- | The regular expression pattern that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings. Each @RegexMatchTuple@ object contains:--------- * The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the @User-Agent@ header.------ * The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see 'RegexPatternSet' .------ * Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.--------------- /See:/ 'regexMatchTuple' smart constructor.-data RegexMatchTuple = RegexMatchTuple'- { _rmtFieldToMatch :: !FieldToMatch- , _rmtTextTransformation :: !TextTransformation- , _rmtRegexPatternSetId :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RegexMatchTuple' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmtFieldToMatch' - Specifies where in a web request to look for the @RegexPatternSet@ .------ * 'rmtTextTransformation' - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @RegexPatternSet@ before inspecting a request for a match. __CMD_LINE__ When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value. __NONE__ Specify @NONE@ if you don't want to perform any text transformations.------ * 'rmtRegexPatternSetId' - The @RegexPatternSetId@ for a @RegexPatternSet@ . You use @RegexPatternSetId@ to get information about a @RegexPatternSet@ (see 'GetRegexPatternSet' ), update a @RegexPatternSet@ (see 'UpdateRegexPatternSet' ), insert a @RegexPatternSet@ into a @RegexMatchSet@ or delete one from a @RegexMatchSet@ (see 'UpdateRegexMatchSet' ), and delete an @RegexPatternSet@ from AWS WAF (see 'DeleteRegexPatternSet' ). @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .-regexMatchTuple- :: FieldToMatch -- ^ 'rmtFieldToMatch'- -> TextTransformation -- ^ 'rmtTextTransformation'- -> Text -- ^ 'rmtRegexPatternSetId'- -> RegexMatchTuple-regexMatchTuple pFieldToMatch_ pTextTransformation_ pRegexPatternSetId_ =- RegexMatchTuple'- { _rmtFieldToMatch = pFieldToMatch_- , _rmtTextTransformation = pTextTransformation_- , _rmtRegexPatternSetId = pRegexPatternSetId_- }----- | Specifies where in a web request to look for the @RegexPatternSet@ .-rmtFieldToMatch :: Lens' RegexMatchTuple FieldToMatch-rmtFieldToMatch = lens _rmtFieldToMatch (\ s a -> s{_rmtFieldToMatch = a})---- | Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @RegexPatternSet@ before inspecting a request for a match. __CMD_LINE__ When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value. __NONE__ Specify @NONE@ if you don't want to perform any text transformations.-rmtTextTransformation :: Lens' RegexMatchTuple TextTransformation-rmtTextTransformation = lens _rmtTextTransformation (\ s a -> s{_rmtTextTransformation = a})---- | The @RegexPatternSetId@ for a @RegexPatternSet@ . You use @RegexPatternSetId@ to get information about a @RegexPatternSet@ (see 'GetRegexPatternSet' ), update a @RegexPatternSet@ (see 'UpdateRegexPatternSet' ), insert a @RegexPatternSet@ into a @RegexMatchSet@ or delete one from a @RegexMatchSet@ (see 'UpdateRegexMatchSet' ), and delete an @RegexPatternSet@ from AWS WAF (see 'DeleteRegexPatternSet' ). @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .-rmtRegexPatternSetId :: Lens' RegexMatchTuple Text-rmtRegexPatternSetId = lens _rmtRegexPatternSetId (\ s a -> s{_rmtRegexPatternSetId = a})--instance FromJSON RegexMatchTuple where- parseJSON- = withObject "RegexMatchTuple"- (\ x ->- RegexMatchTuple' <$>- (x .: "FieldToMatch") <*> (x .: "TextTransformation")- <*> (x .: "RegexPatternSetId"))--instance Hashable RegexMatchTuple where--instance NFData RegexMatchTuple where--instance ToJSON RegexMatchTuple where- toJSON RegexMatchTuple'{..}- = object- (catMaybes- [Just ("FieldToMatch" .= _rmtFieldToMatch),- Just- ("TextTransformation" .= _rmtTextTransformation),- Just ("RegexPatternSetId" .= _rmtRegexPatternSetId)])---- | The @RegexPatternSet@ specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as @B[a@]dB[o0]t@ . You can then configure AWS WAF to reject those requests.------------ /See:/ 'regexPatternSet' smart constructor.-data RegexPatternSet = RegexPatternSet'- { _rpsName :: !(Maybe Text)- , _rpsRegexPatternSetId :: !Text- , _rpsRegexPatternStrings :: ![Text]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RegexPatternSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rpsName' - A friendly name or description of the 'RegexPatternSet' . You can't change @Name@ after you create a @RegexPatternSet@ .------ * 'rpsRegexPatternSetId' - The identifier for the @RegexPatternSet@ . You use @RegexPatternSetId@ to get information about a @RegexPatternSet@ , update a @RegexPatternSet@ , remove a @RegexPatternSet@ from a @RegexMatchSet@ , and delete a @RegexPatternSet@ from AWS WAF. @RegexMatchSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .------ * 'rpsRegexPatternStrings' - Specifies the regular expression (regex) patterns that you want AWS WAF to search for, such as @B[a@]dB[o0]t@ .-regexPatternSet- :: Text -- ^ 'rpsRegexPatternSetId'- -> RegexPatternSet-regexPatternSet pRegexPatternSetId_ =- RegexPatternSet'- { _rpsName = Nothing- , _rpsRegexPatternSetId = pRegexPatternSetId_- , _rpsRegexPatternStrings = mempty- }----- | A friendly name or description of the 'RegexPatternSet' . You can't change @Name@ after you create a @RegexPatternSet@ .-rpsName :: Lens' RegexPatternSet (Maybe Text)-rpsName = lens _rpsName (\ s a -> s{_rpsName = a})---- | The identifier for the @RegexPatternSet@ . You use @RegexPatternSetId@ to get information about a @RegexPatternSet@ , update a @RegexPatternSet@ , remove a @RegexPatternSet@ from a @RegexMatchSet@ , and delete a @RegexPatternSet@ from AWS WAF. @RegexMatchSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .-rpsRegexPatternSetId :: Lens' RegexPatternSet Text-rpsRegexPatternSetId = lens _rpsRegexPatternSetId (\ s a -> s{_rpsRegexPatternSetId = a})---- | Specifies the regular expression (regex) patterns that you want AWS WAF to search for, such as @B[a@]dB[o0]t@ .-rpsRegexPatternStrings :: Lens' RegexPatternSet [Text]-rpsRegexPatternStrings = lens _rpsRegexPatternStrings (\ s a -> s{_rpsRegexPatternStrings = a}) . _Coerce--instance FromJSON RegexPatternSet where- parseJSON- = withObject "RegexPatternSet"- (\ x ->- RegexPatternSet' <$>- (x .:? "Name") <*> (x .: "RegexPatternSetId") <*>- (x .:? "RegexPatternStrings" .!= mempty))--instance Hashable RegexPatternSet where--instance NFData RegexPatternSet where---- | Returned by 'ListRegexPatternSets' . Each @RegexPatternSetSummary@ object includes the @Name@ and @RegexPatternSetId@ for one 'RegexPatternSet' .------------ /See:/ 'regexPatternSetSummary' smart constructor.-data RegexPatternSetSummary = RegexPatternSetSummary'- { _rpssRegexPatternSetId :: !Text- , _rpssName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RegexPatternSetSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rpssRegexPatternSetId' - The @RegexPatternSetId@ for a @RegexPatternSet@ . You use @RegexPatternSetId@ to get information about a @RegexPatternSet@ , update a @RegexPatternSet@ , remove a @RegexPatternSet@ from a @RegexMatchSet@ , and delete a @RegexPatternSet@ from AWS WAF. @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .------ * 'rpssName' - A friendly name or description of the 'RegexPatternSet' . You can't change @Name@ after you create a @RegexPatternSet@ .-regexPatternSetSummary- :: Text -- ^ 'rpssRegexPatternSetId'- -> Text -- ^ 'rpssName'- -> RegexPatternSetSummary-regexPatternSetSummary pRegexPatternSetId_ pName_ =- RegexPatternSetSummary'- {_rpssRegexPatternSetId = pRegexPatternSetId_, _rpssName = pName_}----- | The @RegexPatternSetId@ for a @RegexPatternSet@ . You use @RegexPatternSetId@ to get information about a @RegexPatternSet@ , update a @RegexPatternSet@ , remove a @RegexPatternSet@ from a @RegexMatchSet@ , and delete a @RegexPatternSet@ from AWS WAF. @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .-rpssRegexPatternSetId :: Lens' RegexPatternSetSummary Text-rpssRegexPatternSetId = lens _rpssRegexPatternSetId (\ s a -> s{_rpssRegexPatternSetId = a})---- | A friendly name or description of the 'RegexPatternSet' . You can't change @Name@ after you create a @RegexPatternSet@ .-rpssName :: Lens' RegexPatternSetSummary Text-rpssName = lens _rpssName (\ s a -> s{_rpssName = a})--instance FromJSON RegexPatternSetSummary where- parseJSON- = withObject "RegexPatternSetSummary"- (\ x ->- RegexPatternSetSummary' <$>- (x .: "RegexPatternSetId") <*> (x .: "Name"))--instance Hashable RegexPatternSetSummary where--instance NFData RegexPatternSetSummary where---- | In an 'UpdateRegexPatternSet' request, @RegexPatternSetUpdate@ specifies whether to insert or delete a @RegexPatternString@ and includes the settings for the @RegexPatternString@ .------------ /See:/ 'regexPatternSetUpdate' smart constructor.-data RegexPatternSetUpdate = RegexPatternSetUpdate'- { _rpsuAction :: !ChangeAction- , _rpsuRegexPatternString :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RegexPatternSetUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rpsuAction' - Specifies whether to insert or delete a @RegexPatternString@ .------ * 'rpsuRegexPatternString' - Specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as @B[a@]dB[o0]t@ .-regexPatternSetUpdate- :: ChangeAction -- ^ 'rpsuAction'- -> Text -- ^ 'rpsuRegexPatternString'- -> RegexPatternSetUpdate-regexPatternSetUpdate pAction_ pRegexPatternString_ =- RegexPatternSetUpdate'- {_rpsuAction = pAction_, _rpsuRegexPatternString = pRegexPatternString_}----- | Specifies whether to insert or delete a @RegexPatternString@ .-rpsuAction :: Lens' RegexPatternSetUpdate ChangeAction-rpsuAction = lens _rpsuAction (\ s a -> s{_rpsuAction = a})---- | Specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as @B[a@]dB[o0]t@ .-rpsuRegexPatternString :: Lens' RegexPatternSetUpdate Text-rpsuRegexPatternString = lens _rpsuRegexPatternString (\ s a -> s{_rpsuRegexPatternString = a})--instance Hashable RegexPatternSetUpdate where--instance NFData RegexPatternSetUpdate where--instance ToJSON RegexPatternSetUpdate where- toJSON RegexPatternSetUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _rpsuAction),- Just- ("RegexPatternString" .= _rpsuRegexPatternString)])---- | A combination of 'ByteMatchSet' , 'IPSet' , and/or 'SqlInjectionMatchSet' objects that identify the web requests that you want to allow, block, or count. For example, you might create a @Rule@ that includes the following predicates:--------- * An @IPSet@ that causes AWS WAF to search for web requests that originate from the IP address @192.0.2.44@------ * A @ByteMatchSet@ that causes AWS WAF to search for web requests for which the value of the @User-Agent@ header is @BadBot@ .------------ To match the settings in this @Rule@ , a request must originate from @192.0.2.44@ AND include a @User-Agent@ header for which the value is @BadBot@ .--------- /See:/ 'rule' smart constructor.-data Rule = Rule'- { _rMetricName :: !(Maybe Text)- , _rName :: !(Maybe Text)- , _rRuleId :: !Text- , _rPredicates :: ![Predicate]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Rule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rMetricName' - A friendly name or description for the metrics for this @Rule@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change @MetricName@ after you create the @Rule@ .------ * 'rName' - The friendly name or description for the @Rule@ . You can't change the name of a @Rule@ after you create it.------ * 'rRuleId' - A unique identifier for a @Rule@ . You use @RuleId@ to get more information about a @Rule@ (see 'GetRule' ), update a @Rule@ (see 'UpdateRule' ), insert a @Rule@ into a @WebACL@ or delete a one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @Rule@ from AWS WAF (see 'DeleteRule' ). @RuleId@ is returned by 'CreateRule' and by 'ListRules' .------ * 'rPredicates' - The @Predicates@ object contains one @Predicate@ element for each 'ByteMatchSet' , 'IPSet' , or 'SqlInjectionMatchSet' object that you want to include in a @Rule@ .-rule- :: Text -- ^ 'rRuleId'- -> Rule-rule pRuleId_ =- Rule'- { _rMetricName = Nothing- , _rName = Nothing- , _rRuleId = pRuleId_- , _rPredicates = mempty- }----- | A friendly name or description for the metrics for this @Rule@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change @MetricName@ after you create the @Rule@ .-rMetricName :: Lens' Rule (Maybe Text)-rMetricName = lens _rMetricName (\ s a -> s{_rMetricName = a})---- | The friendly name or description for the @Rule@ . You can't change the name of a @Rule@ after you create it.-rName :: Lens' Rule (Maybe Text)-rName = lens _rName (\ s a -> s{_rName = a})---- | A unique identifier for a @Rule@ . You use @RuleId@ to get more information about a @Rule@ (see 'GetRule' ), update a @Rule@ (see 'UpdateRule' ), insert a @Rule@ into a @WebACL@ or delete a one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @Rule@ from AWS WAF (see 'DeleteRule' ). @RuleId@ is returned by 'CreateRule' and by 'ListRules' .-rRuleId :: Lens' Rule Text-rRuleId = lens _rRuleId (\ s a -> s{_rRuleId = a})---- | The @Predicates@ object contains one @Predicate@ element for each 'ByteMatchSet' , 'IPSet' , or 'SqlInjectionMatchSet' object that you want to include in a @Rule@ .-rPredicates :: Lens' Rule [Predicate]-rPredicates = lens _rPredicates (\ s a -> s{_rPredicates = a}) . _Coerce--instance FromJSON Rule where- parseJSON- = withObject "Rule"- (\ x ->- Rule' <$>- (x .:? "MetricName") <*> (x .:? "Name") <*>- (x .: "RuleId")- <*> (x .:? "Predicates" .!= mempty))--instance Hashable Rule where--instance NFData Rule where---- | A collection of predefined rules that you can add to a web ACL.--------- Rule groups are subject to the following limits:------ * Three rule groups per account. You can request an increase to this limit by contacting customer support.------ * One rule group per web ACL.------ * Ten rules per rule group.--------------- /See:/ 'ruleGroup' smart constructor.-data RuleGroup = RuleGroup'- { _rgMetricName :: !(Maybe Text)- , _rgName :: !(Maybe Text)- , _rgRuleGroupId :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RuleGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rgMetricName' - A friendly name or description for the metrics for this @RuleGroup@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RuleGroup@ .------ * 'rgName' - The friendly name or description for the @RuleGroup@ . You can't change the name of a @RuleGroup@ after you create it.------ * 'rgRuleGroupId' - A unique identifier for a @RuleGroup@ . You use @RuleGroupId@ to get more information about a @RuleGroup@ (see 'GetRuleGroup' ), update a @RuleGroup@ (see 'UpdateRuleGroup' ), insert a @RuleGroup@ into a @WebACL@ or delete a one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @RuleGroup@ from AWS WAF (see 'DeleteRuleGroup' ). @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .-ruleGroup- :: Text -- ^ 'rgRuleGroupId'- -> RuleGroup-ruleGroup pRuleGroupId_ =- RuleGroup'- {_rgMetricName = Nothing, _rgName = Nothing, _rgRuleGroupId = pRuleGroupId_}----- | A friendly name or description for the metrics for this @RuleGroup@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RuleGroup@ .-rgMetricName :: Lens' RuleGroup (Maybe Text)-rgMetricName = lens _rgMetricName (\ s a -> s{_rgMetricName = a})---- | The friendly name or description for the @RuleGroup@ . You can't change the name of a @RuleGroup@ after you create it.-rgName :: Lens' RuleGroup (Maybe Text)-rgName = lens _rgName (\ s a -> s{_rgName = a})---- | A unique identifier for a @RuleGroup@ . You use @RuleGroupId@ to get more information about a @RuleGroup@ (see 'GetRuleGroup' ), update a @RuleGroup@ (see 'UpdateRuleGroup' ), insert a @RuleGroup@ into a @WebACL@ or delete a one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @RuleGroup@ from AWS WAF (see 'DeleteRuleGroup' ). @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .-rgRuleGroupId :: Lens' RuleGroup Text-rgRuleGroupId = lens _rgRuleGroupId (\ s a -> s{_rgRuleGroupId = a})--instance FromJSON RuleGroup where- parseJSON- = withObject "RuleGroup"- (\ x ->- RuleGroup' <$>- (x .:? "MetricName") <*> (x .:? "Name") <*>- (x .: "RuleGroupId"))--instance Hashable RuleGroup where--instance NFData RuleGroup where---- | Contains the identifier and the friendly name or description of the @RuleGroup@ .------------ /See:/ 'ruleGroupSummary' smart constructor.-data RuleGroupSummary = RuleGroupSummary'- { _rgsRuleGroupId :: !Text- , _rgsName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RuleGroupSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rgsRuleGroupId' - A unique identifier for a @RuleGroup@ . You use @RuleGroupId@ to get more information about a @RuleGroup@ (see 'GetRuleGroup' ), update a @RuleGroup@ (see 'UpdateRuleGroup' ), insert a @RuleGroup@ into a @WebACL@ or delete one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @RuleGroup@ from AWS WAF (see 'DeleteRuleGroup' ). @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .------ * 'rgsName' - A friendly name or description of the 'RuleGroup' . You can't change the name of a @RuleGroup@ after you create it.-ruleGroupSummary- :: Text -- ^ 'rgsRuleGroupId'- -> Text -- ^ 'rgsName'- -> RuleGroupSummary-ruleGroupSummary pRuleGroupId_ pName_ =- RuleGroupSummary' {_rgsRuleGroupId = pRuleGroupId_, _rgsName = pName_}----- | A unique identifier for a @RuleGroup@ . You use @RuleGroupId@ to get more information about a @RuleGroup@ (see 'GetRuleGroup' ), update a @RuleGroup@ (see 'UpdateRuleGroup' ), insert a @RuleGroup@ into a @WebACL@ or delete one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @RuleGroup@ from AWS WAF (see 'DeleteRuleGroup' ). @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .-rgsRuleGroupId :: Lens' RuleGroupSummary Text-rgsRuleGroupId = lens _rgsRuleGroupId (\ s a -> s{_rgsRuleGroupId = a})---- | A friendly name or description of the 'RuleGroup' . You can't change the name of a @RuleGroup@ after you create it.-rgsName :: Lens' RuleGroupSummary Text-rgsName = lens _rgsName (\ s a -> s{_rgsName = a})--instance FromJSON RuleGroupSummary where- parseJSON- = withObject "RuleGroupSummary"- (\ x ->- RuleGroupSummary' <$>- (x .: "RuleGroupId") <*> (x .: "Name"))--instance Hashable RuleGroupSummary where--instance NFData RuleGroupSummary where---- | Specifies an @ActivatedRule@ and indicates whether you want to add it to a @RuleGroup@ or delete it from a @RuleGroup@ .------------ /See:/ 'ruleGroupUpdate' smart constructor.-data RuleGroupUpdate = RuleGroupUpdate'- { _rguAction :: !ChangeAction- , _rguActivatedRule :: !ActivatedRule- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RuleGroupUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rguAction' - Specify @INSERT@ to add an @ActivatedRule@ to a @RuleGroup@ . Use @DELETE@ to remove an @ActivatedRule@ from a @RuleGroup@ .------ * 'rguActivatedRule' - The @ActivatedRule@ object specifies a @Rule@ that you want to insert or delete, the priority of the @Rule@ in the @WebACL@ , and the action that you want AWS WAF to take when a web request matches the @Rule@ (@ALLOW@ , @BLOCK@ , or @COUNT@ ).-ruleGroupUpdate- :: ChangeAction -- ^ 'rguAction'- -> ActivatedRule -- ^ 'rguActivatedRule'- -> RuleGroupUpdate-ruleGroupUpdate pAction_ pActivatedRule_ =- RuleGroupUpdate' {_rguAction = pAction_, _rguActivatedRule = pActivatedRule_}----- | Specify @INSERT@ to add an @ActivatedRule@ to a @RuleGroup@ . Use @DELETE@ to remove an @ActivatedRule@ from a @RuleGroup@ .-rguAction :: Lens' RuleGroupUpdate ChangeAction-rguAction = lens _rguAction (\ s a -> s{_rguAction = a})---- | The @ActivatedRule@ object specifies a @Rule@ that you want to insert or delete, the priority of the @Rule@ in the @WebACL@ , and the action that you want AWS WAF to take when a web request matches the @Rule@ (@ALLOW@ , @BLOCK@ , or @COUNT@ ).-rguActivatedRule :: Lens' RuleGroupUpdate ActivatedRule-rguActivatedRule = lens _rguActivatedRule (\ s a -> s{_rguActivatedRule = a})--instance Hashable RuleGroupUpdate where--instance NFData RuleGroupUpdate where--instance ToJSON RuleGroupUpdate where- toJSON RuleGroupUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _rguAction),- Just ("ActivatedRule" .= _rguActivatedRule)])---- | Contains the identifier and the friendly name or description of the @Rule@ .------------ /See:/ 'ruleSummary' smart constructor.-data RuleSummary = RuleSummary'- { _rsRuleId :: !Text- , _rsName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RuleSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rsRuleId' - A unique identifier for a @Rule@ . You use @RuleId@ to get more information about a @Rule@ (see 'GetRule' ), update a @Rule@ (see 'UpdateRule' ), insert a @Rule@ into a @WebACL@ or delete one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @Rule@ from AWS WAF (see 'DeleteRule' ). @RuleId@ is returned by 'CreateRule' and by 'ListRules' .------ * 'rsName' - A friendly name or description of the 'Rule' . You can't change the name of a @Rule@ after you create it.-ruleSummary- :: Text -- ^ 'rsRuleId'- -> Text -- ^ 'rsName'- -> RuleSummary-ruleSummary pRuleId_ pName_ =- RuleSummary' {_rsRuleId = pRuleId_, _rsName = pName_}----- | A unique identifier for a @Rule@ . You use @RuleId@ to get more information about a @Rule@ (see 'GetRule' ), update a @Rule@ (see 'UpdateRule' ), insert a @Rule@ into a @WebACL@ or delete one from a @WebACL@ (see 'UpdateWebACL' ), or delete a @Rule@ from AWS WAF (see 'DeleteRule' ). @RuleId@ is returned by 'CreateRule' and by 'ListRules' .-rsRuleId :: Lens' RuleSummary Text-rsRuleId = lens _rsRuleId (\ s a -> s{_rsRuleId = a})---- | A friendly name or description of the 'Rule' . You can't change the name of a @Rule@ after you create it.-rsName :: Lens' RuleSummary Text-rsName = lens _rsName (\ s a -> s{_rsName = a})--instance FromJSON RuleSummary where- parseJSON- = withObject "RuleSummary"- (\ x ->- RuleSummary' <$> (x .: "RuleId") <*> (x .: "Name"))--instance Hashable RuleSummary where--instance NFData RuleSummary where---- | Specifies a @Predicate@ (such as an @IPSet@ ) and indicates whether you want to add it to a @Rule@ or delete it from a @Rule@ .------------ /See:/ 'ruleUpdate' smart constructor.-data RuleUpdate = RuleUpdate'- { _ruAction :: !ChangeAction- , _ruPredicate :: !Predicate- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RuleUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ruAction' - Specify @INSERT@ to add a @Predicate@ to a @Rule@ . Use @DELETE@ to remove a @Predicate@ from a @Rule@ .------ * 'ruPredicate' - The ID of the @Predicate@ (such as an @IPSet@ ) that you want to add to a @Rule@ .-ruleUpdate- :: ChangeAction -- ^ 'ruAction'- -> Predicate -- ^ 'ruPredicate'- -> RuleUpdate-ruleUpdate pAction_ pPredicate_ =- RuleUpdate' {_ruAction = pAction_, _ruPredicate = pPredicate_}----- | Specify @INSERT@ to add a @Predicate@ to a @Rule@ . Use @DELETE@ to remove a @Predicate@ from a @Rule@ .-ruAction :: Lens' RuleUpdate ChangeAction-ruAction = lens _ruAction (\ s a -> s{_ruAction = a})---- | The ID of the @Predicate@ (such as an @IPSet@ ) that you want to add to a @Rule@ .-ruPredicate :: Lens' RuleUpdate Predicate-ruPredicate = lens _ruPredicate (\ s a -> s{_ruPredicate = a})--instance Hashable RuleUpdate where--instance NFData RuleUpdate where--instance ToJSON RuleUpdate where- toJSON RuleUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _ruAction),- Just ("Predicate" .= _ruPredicate)])---- | The response from a 'GetSampledRequests' request includes a @SampledHTTPRequests@ complex type that appears as @SampledRequests@ in the response syntax. @SampledHTTPRequests@ contains one @SampledHTTPRequest@ object for each web request that is returned by @GetSampledRequests@ .------------ /See:/ 'sampledHTTPRequest' smart constructor.-data SampledHTTPRequest = SampledHTTPRequest'- { _shttprRuleWithinRuleGroup :: !(Maybe Text)- , _shttprAction :: !(Maybe Text)- , _shttprTimestamp :: !(Maybe POSIX)- , _shttprRequest :: !HTTPRequest- , _shttprWeight :: !Nat- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SampledHTTPRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'shttprRuleWithinRuleGroup' - This value is returned if the @GetSampledRequests@ request specifies the ID of a @RuleGroup@ rather than the ID of an individual rule. @RuleWithinRuleGroup@ is the rule within the specified @RuleGroup@ that matched the request listed in the response.------ * 'shttprAction' - The action for the @Rule@ that the request matched: @ALLOW@ , @BLOCK@ , or @COUNT@ .------ * 'shttprTimestamp' - The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).------ * 'shttprRequest' - A complex type that contains detailed information about the request.------ * 'shttprWeight' - A value that indicates how one result in the response relates proportionally to other results in the response. A result that has a weight of @2@ represents roughly twice as many CloudFront web requests as a result that has a weight of @1@ .-sampledHTTPRequest- :: HTTPRequest -- ^ 'shttprRequest'- -> Natural -- ^ 'shttprWeight'- -> SampledHTTPRequest-sampledHTTPRequest pRequest_ pWeight_ =- SampledHTTPRequest'- { _shttprRuleWithinRuleGroup = Nothing- , _shttprAction = Nothing- , _shttprTimestamp = Nothing- , _shttprRequest = pRequest_- , _shttprWeight = _Nat # pWeight_- }----- | This value is returned if the @GetSampledRequests@ request specifies the ID of a @RuleGroup@ rather than the ID of an individual rule. @RuleWithinRuleGroup@ is the rule within the specified @RuleGroup@ that matched the request listed in the response.-shttprRuleWithinRuleGroup :: Lens' SampledHTTPRequest (Maybe Text)-shttprRuleWithinRuleGroup = lens _shttprRuleWithinRuleGroup (\ s a -> s{_shttprRuleWithinRuleGroup = a})---- | The action for the @Rule@ that the request matched: @ALLOW@ , @BLOCK@ , or @COUNT@ .-shttprAction :: Lens' SampledHTTPRequest (Maybe Text)-shttprAction = lens _shttprAction (\ s a -> s{_shttprAction = a})---- | The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).-shttprTimestamp :: Lens' SampledHTTPRequest (Maybe UTCTime)-shttprTimestamp = lens _shttprTimestamp (\ s a -> s{_shttprTimestamp = a}) . mapping _Time---- | A complex type that contains detailed information about the request.-shttprRequest :: Lens' SampledHTTPRequest HTTPRequest-shttprRequest = lens _shttprRequest (\ s a -> s{_shttprRequest = a})---- | A value that indicates how one result in the response relates proportionally to other results in the response. A result that has a weight of @2@ represents roughly twice as many CloudFront web requests as a result that has a weight of @1@ .-shttprWeight :: Lens' SampledHTTPRequest Natural-shttprWeight = lens _shttprWeight (\ s a -> s{_shttprWeight = a}) . _Nat--instance FromJSON SampledHTTPRequest where- parseJSON- = withObject "SampledHTTPRequest"- (\ x ->- SampledHTTPRequest' <$>- (x .:? "RuleWithinRuleGroup") <*> (x .:? "Action")- <*> (x .:? "Timestamp")- <*> (x .: "Request")- <*> (x .: "Weight"))--instance Hashable SampledHTTPRequest where--instance NFData SampledHTTPRequest where---- | Specifies a constraint on the size of a part of the web request. AWS WAF uses the @Size@ , @ComparisonOperator@ , and @FieldToMatch@ to build an expression in the form of "@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@ ". If that expression is true, the @SizeConstraint@ is considered to match.------------ /See:/ 'sizeConstraint' smart constructor.-data SizeConstraint = SizeConstraint'- { _scFieldToMatch :: !FieldToMatch- , _scTextTransformation :: !TextTransformation- , _scComparisonOperator :: !ComparisonOperator- , _scSize :: !Nat- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SizeConstraint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scFieldToMatch' - Specifies where in a web request to look for the size constraint.------ * 'scTextTransformation' - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @FieldToMatch@ before inspecting a request for a match. Note that if you choose @BODY@ for the value of @Type@ , you must choose @NONE@ for @TextTransformation@ because CloudFront forwards only the first 8192 bytes for inspection. __NONE__ Specify @NONE@ if you don't want to perform any text transformations. __CMD_LINE__ When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value.------ * 'scComparisonOperator' - The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided @Size@ and @FieldToMatch@ to build an expression in the form of "@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@ ". If that expression is true, the @SizeConstraint@ is considered to match. __EQ__ : Used to test if the @Size@ is equal to the size of the @FieldToMatch@ __NE__ : Used to test if the @Size@ is not equal to the size of the @FieldToMatch@ __LE__ : Used to test if the @Size@ is less than or equal to the size of the @FieldToMatch@ __LT__ : Used to test if the @Size@ is strictly less than the size of the @FieldToMatch@ __GE__ : Used to test if the @Size@ is greater than or equal to the size of the @FieldToMatch@ __GT__ : Used to test if the @Size@ is strictly greater than the size of the @FieldToMatch@------ * 'scSize' - The size in bytes that you want AWS WAF to compare against the size of the specified @FieldToMatch@ . AWS WAF uses this in combination with @ComparisonOperator@ and @FieldToMatch@ to build an expression in the form of "@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@ ". If that expression is true, the @SizeConstraint@ is considered to match. Valid values for size are 0 - 21474836480 bytes (0 - 20 GB). If you specify @URI@ for the value of @Type@ , the / in the URI counts as one character. For example, the URI @/logo.jpg@ is nine characters long.-sizeConstraint- :: FieldToMatch -- ^ 'scFieldToMatch'- -> TextTransformation -- ^ 'scTextTransformation'- -> ComparisonOperator -- ^ 'scComparisonOperator'- -> Natural -- ^ 'scSize'- -> SizeConstraint-sizeConstraint pFieldToMatch_ pTextTransformation_ pComparisonOperator_ pSize_ =- SizeConstraint'- { _scFieldToMatch = pFieldToMatch_- , _scTextTransformation = pTextTransformation_- , _scComparisonOperator = pComparisonOperator_- , _scSize = _Nat # pSize_- }----- | Specifies where in a web request to look for the size constraint.-scFieldToMatch :: Lens' SizeConstraint FieldToMatch-scFieldToMatch = lens _scFieldToMatch (\ s a -> s{_scFieldToMatch = a})---- | Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @FieldToMatch@ before inspecting a request for a match. Note that if you choose @BODY@ for the value of @Type@ , you must choose @NONE@ for @TextTransformation@ because CloudFront forwards only the first 8192 bytes for inspection. __NONE__ Specify @NONE@ if you don't want to perform any text transformations. __CMD_LINE__ When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value.-scTextTransformation :: Lens' SizeConstraint TextTransformation-scTextTransformation = lens _scTextTransformation (\ s a -> s{_scTextTransformation = a})---- | The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided @Size@ and @FieldToMatch@ to build an expression in the form of "@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@ ". If that expression is true, the @SizeConstraint@ is considered to match. __EQ__ : Used to test if the @Size@ is equal to the size of the @FieldToMatch@ __NE__ : Used to test if the @Size@ is not equal to the size of the @FieldToMatch@ __LE__ : Used to test if the @Size@ is less than or equal to the size of the @FieldToMatch@ __LT__ : Used to test if the @Size@ is strictly less than the size of the @FieldToMatch@ __GE__ : Used to test if the @Size@ is greater than or equal to the size of the @FieldToMatch@ __GT__ : Used to test if the @Size@ is strictly greater than the size of the @FieldToMatch@-scComparisonOperator :: Lens' SizeConstraint ComparisonOperator-scComparisonOperator = lens _scComparisonOperator (\ s a -> s{_scComparisonOperator = a})---- | The size in bytes that you want AWS WAF to compare against the size of the specified @FieldToMatch@ . AWS WAF uses this in combination with @ComparisonOperator@ and @FieldToMatch@ to build an expression in the form of "@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@ ". If that expression is true, the @SizeConstraint@ is considered to match. Valid values for size are 0 - 21474836480 bytes (0 - 20 GB). If you specify @URI@ for the value of @Type@ , the / in the URI counts as one character. For example, the URI @/logo.jpg@ is nine characters long.-scSize :: Lens' SizeConstraint Natural-scSize = lens _scSize (\ s a -> s{_scSize = a}) . _Nat--instance FromJSON SizeConstraint where- parseJSON- = withObject "SizeConstraint"- (\ x ->- SizeConstraint' <$>- (x .: "FieldToMatch") <*> (x .: "TextTransformation")- <*> (x .: "ComparisonOperator")- <*> (x .: "Size"))--instance Hashable SizeConstraint where--instance NFData SizeConstraint where--instance ToJSON SizeConstraint where- toJSON SizeConstraint'{..}- = object- (catMaybes- [Just ("FieldToMatch" .= _scFieldToMatch),- Just ("TextTransformation" .= _scTextTransformation),- Just ("ComparisonOperator" .= _scComparisonOperator),- Just ("Size" .= _scSize)])---- | A complex type that contains @SizeConstraint@ objects, which specify the parts of web requests that you want AWS WAF to inspect the size of. If a @SizeConstraintSet@ contains more than one @SizeConstraint@ object, a request only needs to match one constraint to be considered a match.------------ /See:/ 'sizeConstraintSet' smart constructor.-data SizeConstraintSet = SizeConstraintSet'- { _scsName :: !(Maybe Text)- , _scsSizeConstraintSetId :: !Text- , _scsSizeConstraints :: ![SizeConstraint]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SizeConstraintSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scsName' - The name, if any, of the @SizeConstraintSet@ .------ * 'scsSizeConstraintSetId' - A unique identifier for a @SizeConstraintSet@ . You use @SizeConstraintSetId@ to get information about a @SizeConstraintSet@ (see 'GetSizeConstraintSet' ), update a @SizeConstraintSet@ (see 'UpdateSizeConstraintSet' ), insert a @SizeConstraintSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @SizeConstraintSet@ from AWS WAF (see 'DeleteSizeConstraintSet' ). @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .------ * 'scsSizeConstraints' - Specifies the parts of web requests that you want to inspect the size of.-sizeConstraintSet- :: Text -- ^ 'scsSizeConstraintSetId'- -> SizeConstraintSet-sizeConstraintSet pSizeConstraintSetId_ =- SizeConstraintSet'- { _scsName = Nothing- , _scsSizeConstraintSetId = pSizeConstraintSetId_- , _scsSizeConstraints = mempty- }----- | The name, if any, of the @SizeConstraintSet@ .-scsName :: Lens' SizeConstraintSet (Maybe Text)-scsName = lens _scsName (\ s a -> s{_scsName = a})---- | A unique identifier for a @SizeConstraintSet@ . You use @SizeConstraintSetId@ to get information about a @SizeConstraintSet@ (see 'GetSizeConstraintSet' ), update a @SizeConstraintSet@ (see 'UpdateSizeConstraintSet' ), insert a @SizeConstraintSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @SizeConstraintSet@ from AWS WAF (see 'DeleteSizeConstraintSet' ). @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .-scsSizeConstraintSetId :: Lens' SizeConstraintSet Text-scsSizeConstraintSetId = lens _scsSizeConstraintSetId (\ s a -> s{_scsSizeConstraintSetId = a})---- | Specifies the parts of web requests that you want to inspect the size of.-scsSizeConstraints :: Lens' SizeConstraintSet [SizeConstraint]-scsSizeConstraints = lens _scsSizeConstraints (\ s a -> s{_scsSizeConstraints = a}) . _Coerce--instance FromJSON SizeConstraintSet where- parseJSON- = withObject "SizeConstraintSet"- (\ x ->- SizeConstraintSet' <$>- (x .:? "Name") <*> (x .: "SizeConstraintSetId") <*>- (x .:? "SizeConstraints" .!= mempty))--instance Hashable SizeConstraintSet where--instance NFData SizeConstraintSet where---- | The @Id@ and @Name@ of a @SizeConstraintSet@ .------------ /See:/ 'sizeConstraintSetSummary' smart constructor.-data SizeConstraintSetSummary = SizeConstraintSetSummary'- { _scssSizeConstraintSetId :: !Text- , _scssName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SizeConstraintSetSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scssSizeConstraintSetId' - A unique identifier for a @SizeConstraintSet@ . You use @SizeConstraintSetId@ to get information about a @SizeConstraintSet@ (see 'GetSizeConstraintSet' ), update a @SizeConstraintSet@ (see 'UpdateSizeConstraintSet' ), insert a @SizeConstraintSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @SizeConstraintSet@ from AWS WAF (see 'DeleteSizeConstraintSet' ). @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .------ * 'scssName' - The name of the @SizeConstraintSet@ , if any.-sizeConstraintSetSummary- :: Text -- ^ 'scssSizeConstraintSetId'- -> Text -- ^ 'scssName'- -> SizeConstraintSetSummary-sizeConstraintSetSummary pSizeConstraintSetId_ pName_ =- SizeConstraintSetSummary'- {_scssSizeConstraintSetId = pSizeConstraintSetId_, _scssName = pName_}----- | A unique identifier for a @SizeConstraintSet@ . You use @SizeConstraintSetId@ to get information about a @SizeConstraintSet@ (see 'GetSizeConstraintSet' ), update a @SizeConstraintSet@ (see 'UpdateSizeConstraintSet' ), insert a @SizeConstraintSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @SizeConstraintSet@ from AWS WAF (see 'DeleteSizeConstraintSet' ). @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .-scssSizeConstraintSetId :: Lens' SizeConstraintSetSummary Text-scssSizeConstraintSetId = lens _scssSizeConstraintSetId (\ s a -> s{_scssSizeConstraintSetId = a})---- | The name of the @SizeConstraintSet@ , if any.-scssName :: Lens' SizeConstraintSetSummary Text-scssName = lens _scssName (\ s a -> s{_scssName = a})--instance FromJSON SizeConstraintSetSummary where- parseJSON- = withObject "SizeConstraintSetSummary"- (\ x ->- SizeConstraintSetSummary' <$>- (x .: "SizeConstraintSetId") <*> (x .: "Name"))--instance Hashable SizeConstraintSetSummary where--instance NFData SizeConstraintSetSummary where---- | Specifies the part of a web request that you want to inspect the size of and indicates whether you want to add the specification to a 'SizeConstraintSet' or delete it from a @SizeConstraintSet@ .------------ /See:/ 'sizeConstraintSetUpdate' smart constructor.-data SizeConstraintSetUpdate = SizeConstraintSetUpdate'- { _scsuAction :: !ChangeAction- , _scsuSizeConstraint :: !SizeConstraint- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SizeConstraintSetUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scsuAction' - Specify @INSERT@ to add a 'SizeConstraintSetUpdate' to a 'SizeConstraintSet' . Use @DELETE@ to remove a @SizeConstraintSetUpdate@ from a @SizeConstraintSet@ .------ * 'scsuSizeConstraint' - Specifies a constraint on the size of a part of the web request. AWS WAF uses the @Size@ , @ComparisonOperator@ , and @FieldToMatch@ to build an expression in the form of "@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@ ". If that expression is true, the @SizeConstraint@ is considered to match.-sizeConstraintSetUpdate- :: ChangeAction -- ^ 'scsuAction'- -> SizeConstraint -- ^ 'scsuSizeConstraint'- -> SizeConstraintSetUpdate-sizeConstraintSetUpdate pAction_ pSizeConstraint_ =- SizeConstraintSetUpdate'- {_scsuAction = pAction_, _scsuSizeConstraint = pSizeConstraint_}----- | Specify @INSERT@ to add a 'SizeConstraintSetUpdate' to a 'SizeConstraintSet' . Use @DELETE@ to remove a @SizeConstraintSetUpdate@ from a @SizeConstraintSet@ .-scsuAction :: Lens' SizeConstraintSetUpdate ChangeAction-scsuAction = lens _scsuAction (\ s a -> s{_scsuAction = a})---- | Specifies a constraint on the size of a part of the web request. AWS WAF uses the @Size@ , @ComparisonOperator@ , and @FieldToMatch@ to build an expression in the form of "@Size@ @ComparisonOperator@ size in bytes of @FieldToMatch@ ". If that expression is true, the @SizeConstraint@ is considered to match.-scsuSizeConstraint :: Lens' SizeConstraintSetUpdate SizeConstraint-scsuSizeConstraint = lens _scsuSizeConstraint (\ s a -> s{_scsuSizeConstraint = a})--instance Hashable SizeConstraintSetUpdate where--instance NFData SizeConstraintSetUpdate where--instance ToJSON SizeConstraintSetUpdate where- toJSON SizeConstraintSetUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _scsuAction),- Just ("SizeConstraint" .= _scsuSizeConstraint)])---- | A complex type that contains @SqlInjectionMatchTuple@ objects, which specify the parts of web requests that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header. If a @SqlInjectionMatchSet@ contains more than one @SqlInjectionMatchTuple@ object, a request needs to include snippets of SQL code in only one of the specified parts of the request to be considered a match.------------ /See:/ 'sqlInjectionMatchSet' smart constructor.-data SqlInjectionMatchSet = SqlInjectionMatchSet'- { _simsName :: !(Maybe Text)- , _simsSqlInjectionMatchSetId :: !Text- , _simsSqlInjectionMatchTuples :: ![SqlInjectionMatchTuple]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SqlInjectionMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'simsName' - The name, if any, of the @SqlInjectionMatchSet@ .------ * 'simsSqlInjectionMatchSetId' - A unique identifier for a @SqlInjectionMatchSet@ . You use @SqlInjectionMatchSetId@ to get information about a @SqlInjectionMatchSet@ (see 'GetSqlInjectionMatchSet' ), update a @SqlInjectionMatchSet@ (see 'UpdateSqlInjectionMatchSet' ), insert a @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @SqlInjectionMatchSet@ from AWS WAF (see 'DeleteSqlInjectionMatchSet' ). @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .------ * 'simsSqlInjectionMatchTuples' - Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.-sqlInjectionMatchSet- :: Text -- ^ 'simsSqlInjectionMatchSetId'- -> SqlInjectionMatchSet-sqlInjectionMatchSet pSqlInjectionMatchSetId_ =- SqlInjectionMatchSet'- { _simsName = Nothing- , _simsSqlInjectionMatchSetId = pSqlInjectionMatchSetId_- , _simsSqlInjectionMatchTuples = mempty- }----- | The name, if any, of the @SqlInjectionMatchSet@ .-simsName :: Lens' SqlInjectionMatchSet (Maybe Text)-simsName = lens _simsName (\ s a -> s{_simsName = a})---- | A unique identifier for a @SqlInjectionMatchSet@ . You use @SqlInjectionMatchSetId@ to get information about a @SqlInjectionMatchSet@ (see 'GetSqlInjectionMatchSet' ), update a @SqlInjectionMatchSet@ (see 'UpdateSqlInjectionMatchSet' ), insert a @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @SqlInjectionMatchSet@ from AWS WAF (see 'DeleteSqlInjectionMatchSet' ). @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .-simsSqlInjectionMatchSetId :: Lens' SqlInjectionMatchSet Text-simsSqlInjectionMatchSetId = lens _simsSqlInjectionMatchSetId (\ s a -> s{_simsSqlInjectionMatchSetId = a})---- | Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.-simsSqlInjectionMatchTuples :: Lens' SqlInjectionMatchSet [SqlInjectionMatchTuple]-simsSqlInjectionMatchTuples = lens _simsSqlInjectionMatchTuples (\ s a -> s{_simsSqlInjectionMatchTuples = a}) . _Coerce--instance FromJSON SqlInjectionMatchSet where- parseJSON- = withObject "SqlInjectionMatchSet"- (\ x ->- SqlInjectionMatchSet' <$>- (x .:? "Name") <*> (x .: "SqlInjectionMatchSetId")- <*> (x .:? "SqlInjectionMatchTuples" .!= mempty))--instance Hashable SqlInjectionMatchSet where--instance NFData SqlInjectionMatchSet where---- | The @Id@ and @Name@ of a @SqlInjectionMatchSet@ .------------ /See:/ 'sqlInjectionMatchSetSummary' smart constructor.-data SqlInjectionMatchSetSummary = SqlInjectionMatchSetSummary'- { _simssSqlInjectionMatchSetId :: !Text- , _simssName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SqlInjectionMatchSetSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'simssSqlInjectionMatchSetId' - A unique identifier for a @SqlInjectionMatchSet@ . You use @SqlInjectionMatchSetId@ to get information about a @SqlInjectionMatchSet@ (see 'GetSqlInjectionMatchSet' ), update a @SqlInjectionMatchSet@ (see 'UpdateSqlInjectionMatchSet' ), insert a @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @SqlInjectionMatchSet@ from AWS WAF (see 'DeleteSqlInjectionMatchSet' ). @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .------ * 'simssName' - The name of the @SqlInjectionMatchSet@ , if any, specified by @Id@ .-sqlInjectionMatchSetSummary- :: Text -- ^ 'simssSqlInjectionMatchSetId'- -> Text -- ^ 'simssName'- -> SqlInjectionMatchSetSummary-sqlInjectionMatchSetSummary pSqlInjectionMatchSetId_ pName_ =- SqlInjectionMatchSetSummary'- { _simssSqlInjectionMatchSetId = pSqlInjectionMatchSetId_- , _simssName = pName_- }----- | A unique identifier for a @SqlInjectionMatchSet@ . You use @SqlInjectionMatchSetId@ to get information about a @SqlInjectionMatchSet@ (see 'GetSqlInjectionMatchSet' ), update a @SqlInjectionMatchSet@ (see 'UpdateSqlInjectionMatchSet' ), insert a @SqlInjectionMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete a @SqlInjectionMatchSet@ from AWS WAF (see 'DeleteSqlInjectionMatchSet' ). @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .-simssSqlInjectionMatchSetId :: Lens' SqlInjectionMatchSetSummary Text-simssSqlInjectionMatchSetId = lens _simssSqlInjectionMatchSetId (\ s a -> s{_simssSqlInjectionMatchSetId = a})---- | The name of the @SqlInjectionMatchSet@ , if any, specified by @Id@ .-simssName :: Lens' SqlInjectionMatchSetSummary Text-simssName = lens _simssName (\ s a -> s{_simssName = a})--instance FromJSON SqlInjectionMatchSetSummary where- parseJSON- = withObject "SqlInjectionMatchSetSummary"- (\ x ->- SqlInjectionMatchSetSummary' <$>- (x .: "SqlInjectionMatchSetId") <*> (x .: "Name"))--instance Hashable SqlInjectionMatchSetSummary where--instance NFData SqlInjectionMatchSetSummary where---- | Specifies the part of a web request that you want to inspect for snippets of malicious SQL code and indicates whether you want to add the specification to a 'SqlInjectionMatchSet' or delete it from a @SqlInjectionMatchSet@ .------------ /See:/ 'sqlInjectionMatchSetUpdate' smart constructor.-data SqlInjectionMatchSetUpdate = SqlInjectionMatchSetUpdate'- { _simsuAction :: !ChangeAction- , _simsuSqlInjectionMatchTuple :: !SqlInjectionMatchTuple- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SqlInjectionMatchSetUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'simsuAction' - Specify @INSERT@ to add a 'SqlInjectionMatchSetUpdate' to a 'SqlInjectionMatchSet' . Use @DELETE@ to remove a @SqlInjectionMatchSetUpdate@ from a @SqlInjectionMatchSet@ .------ * 'simsuSqlInjectionMatchTuple' - Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.-sqlInjectionMatchSetUpdate- :: ChangeAction -- ^ 'simsuAction'- -> SqlInjectionMatchTuple -- ^ 'simsuSqlInjectionMatchTuple'- -> SqlInjectionMatchSetUpdate-sqlInjectionMatchSetUpdate pAction_ pSqlInjectionMatchTuple_ =- SqlInjectionMatchSetUpdate'- { _simsuAction = pAction_- , _simsuSqlInjectionMatchTuple = pSqlInjectionMatchTuple_- }----- | Specify @INSERT@ to add a 'SqlInjectionMatchSetUpdate' to a 'SqlInjectionMatchSet' . Use @DELETE@ to remove a @SqlInjectionMatchSetUpdate@ from a @SqlInjectionMatchSet@ .-simsuAction :: Lens' SqlInjectionMatchSetUpdate ChangeAction-simsuAction = lens _simsuAction (\ s a -> s{_simsuAction = a})---- | Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.-simsuSqlInjectionMatchTuple :: Lens' SqlInjectionMatchSetUpdate SqlInjectionMatchTuple-simsuSqlInjectionMatchTuple = lens _simsuSqlInjectionMatchTuple (\ s a -> s{_simsuSqlInjectionMatchTuple = a})--instance Hashable SqlInjectionMatchSetUpdate where--instance NFData SqlInjectionMatchSetUpdate where--instance ToJSON SqlInjectionMatchSetUpdate where- toJSON SqlInjectionMatchSetUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _simsuAction),- Just- ("SqlInjectionMatchTuple" .=- _simsuSqlInjectionMatchTuple)])---- | Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.------------ /See:/ 'sqlInjectionMatchTuple' smart constructor.-data SqlInjectionMatchTuple = SqlInjectionMatchTuple'- { _simtFieldToMatch :: !FieldToMatch- , _simtTextTransformation :: !TextTransformation- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SqlInjectionMatchTuple' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'simtFieldToMatch' - Specifies where in a web request to look for snippets of malicious SQL code.------ * 'simtTextTransformation' - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @FieldToMatch@ before inspecting a request for a match. __CMD_LINE__ When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value. __NONE__ Specify @NONE@ if you don't want to perform any text transformations.-sqlInjectionMatchTuple- :: FieldToMatch -- ^ 'simtFieldToMatch'- -> TextTransformation -- ^ 'simtTextTransformation'- -> SqlInjectionMatchTuple-sqlInjectionMatchTuple pFieldToMatch_ pTextTransformation_ =- SqlInjectionMatchTuple'- { _simtFieldToMatch = pFieldToMatch_- , _simtTextTransformation = pTextTransformation_- }----- | Specifies where in a web request to look for snippets of malicious SQL code.-simtFieldToMatch :: Lens' SqlInjectionMatchTuple FieldToMatch-simtFieldToMatch = lens _simtFieldToMatch (\ s a -> s{_simtFieldToMatch = a})---- | Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @FieldToMatch@ before inspecting a request for a match. __CMD_LINE__ When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value. __NONE__ Specify @NONE@ if you don't want to perform any text transformations.-simtTextTransformation :: Lens' SqlInjectionMatchTuple TextTransformation-simtTextTransformation = lens _simtTextTransformation (\ s a -> s{_simtTextTransformation = a})--instance FromJSON SqlInjectionMatchTuple where- parseJSON- = withObject "SqlInjectionMatchTuple"- (\ x ->- SqlInjectionMatchTuple' <$>- (x .: "FieldToMatch") <*>- (x .: "TextTransformation"))--instance Hashable SqlInjectionMatchTuple where--instance NFData SqlInjectionMatchTuple where--instance ToJSON SqlInjectionMatchTuple where- toJSON SqlInjectionMatchTuple'{..}- = object- (catMaybes- [Just ("FieldToMatch" .= _simtFieldToMatch),- Just- ("TextTransformation" .= _simtTextTransformation)])---- | A summary of the rule groups you are subscribed to.------------ /See:/ 'subscribedRuleGroupSummary' smart constructor.-data SubscribedRuleGroupSummary = SubscribedRuleGroupSummary'- { _srgsRuleGroupId :: !Text- , _srgsName :: !Text- , _srgsMetricName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SubscribedRuleGroupSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'srgsRuleGroupId' - A unique identifier for a @RuleGroup@ .------ * 'srgsName' - A friendly name or description of the @RuleGroup@ . You can't change the name of a @RuleGroup@ after you create it.------ * 'srgsMetricName' - A friendly name or description for the metrics for this @RuleGroup@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RuleGroup@ .-subscribedRuleGroupSummary- :: Text -- ^ 'srgsRuleGroupId'- -> Text -- ^ 'srgsName'- -> Text -- ^ 'srgsMetricName'- -> SubscribedRuleGroupSummary-subscribedRuleGroupSummary pRuleGroupId_ pName_ pMetricName_ =- SubscribedRuleGroupSummary'- { _srgsRuleGroupId = pRuleGroupId_- , _srgsName = pName_- , _srgsMetricName = pMetricName_- }----- | A unique identifier for a @RuleGroup@ .-srgsRuleGroupId :: Lens' SubscribedRuleGroupSummary Text-srgsRuleGroupId = lens _srgsRuleGroupId (\ s a -> s{_srgsRuleGroupId = a})---- | A friendly name or description of the @RuleGroup@ . You can't change the name of a @RuleGroup@ after you create it.-srgsName :: Lens' SubscribedRuleGroupSummary Text-srgsName = lens _srgsName (\ s a -> s{_srgsName = a})---- | A friendly name or description for the metrics for this @RuleGroup@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the @RuleGroup@ .-srgsMetricName :: Lens' SubscribedRuleGroupSummary Text-srgsMetricName = lens _srgsMetricName (\ s a -> s{_srgsMetricName = a})--instance FromJSON SubscribedRuleGroupSummary where- parseJSON- = withObject "SubscribedRuleGroupSummary"- (\ x ->- SubscribedRuleGroupSummary' <$>- (x .: "RuleGroupId") <*> (x .: "Name") <*>- (x .: "MetricName"))--instance Hashable SubscribedRuleGroupSummary where--instance NFData SubscribedRuleGroupSummary where---- | In a 'GetSampledRequests' request, the @StartTime@ and @EndTime@ objects specify the time range for which you want AWS WAF to return a sample of web requests.--------- In a 'GetSampledRequests' response, the @StartTime@ and @EndTime@ objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, @EndTime@ is the time that AWS WAF received the 5,000th request.--------- /See:/ 'timeWindow' smart constructor.-data TimeWindow = TimeWindow'- { _twStartTime :: !POSIX- , _twEndTime :: !POSIX- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TimeWindow' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'twStartTime' - The beginning of the time range from which you want @GetSampledRequests@ to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: @"2016-09-27T14:50Z"@ . You can specify any time range in the previous three hours.------ * 'twEndTime' - The end of the time range from which you want @GetSampledRequests@ to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: @"2016-09-27T14:50Z"@ . You can specify any time range in the previous three hours.-timeWindow- :: UTCTime -- ^ 'twStartTime'- -> UTCTime -- ^ 'twEndTime'- -> TimeWindow-timeWindow pStartTime_ pEndTime_ =- TimeWindow'- {_twStartTime = _Time # pStartTime_, _twEndTime = _Time # pEndTime_}----- | The beginning of the time range from which you want @GetSampledRequests@ to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: @"2016-09-27T14:50Z"@ . You can specify any time range in the previous three hours.-twStartTime :: Lens' TimeWindow UTCTime-twStartTime = lens _twStartTime (\ s a -> s{_twStartTime = a}) . _Time---- | The end of the time range from which you want @GetSampledRequests@ to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: @"2016-09-27T14:50Z"@ . You can specify any time range in the previous three hours.-twEndTime :: Lens' TimeWindow UTCTime-twEndTime = lens _twEndTime (\ s a -> s{_twEndTime = a}) . _Time--instance FromJSON TimeWindow where- parseJSON- = withObject "TimeWindow"- (\ x ->- TimeWindow' <$>- (x .: "StartTime") <*> (x .: "EndTime"))--instance Hashable TimeWindow where--instance NFData TimeWindow where--instance ToJSON TimeWindow where- toJSON TimeWindow'{..}- = object- (catMaybes- [Just ("StartTime" .= _twStartTime),- Just ("EndTime" .= _twEndTime)])---- | For the action that is associated with a rule in a @WebACL@ , specifies the action that you want AWS WAF to perform when a web request matches all of the conditions in a rule. For the default action in a @WebACL@ , specifies the action that you want AWS WAF to take when a web request doesn't match all of the conditions in any of the rules in a @WebACL@ .------------ /See:/ 'wafAction' smart constructor.-newtype WafAction = WafAction'- { _waType :: WafActionType- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'WafAction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'waType' - Specifies how you want AWS WAF to respond to requests that match the settings in a @Rule@ . Valid settings include the following: * @ALLOW@ : AWS WAF allows requests * @BLOCK@ : AWS WAF blocks requests * @COUNT@ : AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify @COUNT@ for the default action for a @WebACL@ .-wafAction- :: WafActionType -- ^ 'waType'- -> WafAction-wafAction pType_ = WafAction' {_waType = pType_}----- | Specifies how you want AWS WAF to respond to requests that match the settings in a @Rule@ . Valid settings include the following: * @ALLOW@ : AWS WAF allows requests * @BLOCK@ : AWS WAF blocks requests * @COUNT@ : AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify @COUNT@ for the default action for a @WebACL@ .-waType :: Lens' WafAction WafActionType-waType = lens _waType (\ s a -> s{_waType = a})--instance FromJSON WafAction where- parseJSON- = withObject "WafAction"- (\ x -> WafAction' <$> (x .: "Type"))--instance Hashable WafAction where--instance NFData WafAction where--instance ToJSON WafAction where- toJSON WafAction'{..}- = object (catMaybes [Just ("Type" .= _waType)])---- | The action to take if any rule within the @RuleGroup@ matches a request.------------ /See:/ 'wafOverrideAction' smart constructor.-newtype WafOverrideAction = WafOverrideAction'- { _woaType :: WafOverrideActionType- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'WafOverrideAction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'woaType' - @COUNT@ overrides the action specified by the individual rule within a @RuleGroup@ . If set to @NONE@ , the rule's action will take place.-wafOverrideAction- :: WafOverrideActionType -- ^ 'woaType'- -> WafOverrideAction-wafOverrideAction pType_ = WafOverrideAction' {_woaType = pType_}----- | @COUNT@ overrides the action specified by the individual rule within a @RuleGroup@ . If set to @NONE@ , the rule's action will take place.-woaType :: Lens' WafOverrideAction WafOverrideActionType-woaType = lens _woaType (\ s a -> s{_woaType = a})--instance FromJSON WafOverrideAction where- parseJSON- = withObject "WafOverrideAction"- (\ x -> WafOverrideAction' <$> (x .: "Type"))--instance Hashable WafOverrideAction where--instance NFData WafOverrideAction where--instance ToJSON WafOverrideAction where- toJSON WafOverrideAction'{..}- = object (catMaybes [Just ("Type" .= _woaType)])---- | Contains the @Rules@ that identify the requests that you want to allow, block, or count. In a @WebACL@ , you also specify a default action (@ALLOW@ or @BLOCK@ ), and the action for each @Rule@ that you add to a @WebACL@ , for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the @WebACL@ with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one @Rule@ to a @WebACL@ , a request needs to match only one of the specifications to be allowed, blocked, or counted. For more information, see 'UpdateWebACL' .------------ /See:/ 'webACL' smart constructor.-data WebACL = WebACL'- { _waMetricName :: !(Maybe Text)- , _waName :: !(Maybe Text)- , _waWebACLId :: !Text- , _waDefaultAction :: !WafAction- , _waRules :: ![ActivatedRule]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'WebACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'waMetricName' - A friendly name or description for the metrics for this @WebACL@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change @MetricName@ after you create the @WebACL@ .------ * 'waName' - A friendly name or description of the @WebACL@ . You can't change the name of a @WebACL@ after you create it.------ * 'waWebACLId' - A unique identifier for a @WebACL@ . You use @WebACLId@ to get information about a @WebACL@ (see 'GetWebACL' ), update a @WebACL@ (see 'UpdateWebACL' ), and delete a @WebACL@ from AWS WAF (see 'DeleteWebACL' ). @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .------ * 'waDefaultAction' - The action to perform if none of the @Rules@ contained in the @WebACL@ match. The action is specified by the 'WafAction' object.------ * 'waRules' - An array that contains the action for each @Rule@ in a @WebACL@ , the priority of the @Rule@ , and the ID of the @Rule@ .-webACL- :: Text -- ^ 'waWebACLId'- -> WafAction -- ^ 'waDefaultAction'- -> WebACL-webACL pWebACLId_ pDefaultAction_ =- WebACL'- { _waMetricName = Nothing- , _waName = Nothing- , _waWebACLId = pWebACLId_- , _waDefaultAction = pDefaultAction_- , _waRules = mempty- }----- | A friendly name or description for the metrics for this @WebACL@ . The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change @MetricName@ after you create the @WebACL@ .-waMetricName :: Lens' WebACL (Maybe Text)-waMetricName = lens _waMetricName (\ s a -> s{_waMetricName = a})---- | A friendly name or description of the @WebACL@ . You can't change the name of a @WebACL@ after you create it.-waName :: Lens' WebACL (Maybe Text)-waName = lens _waName (\ s a -> s{_waName = a})---- | A unique identifier for a @WebACL@ . You use @WebACLId@ to get information about a @WebACL@ (see 'GetWebACL' ), update a @WebACL@ (see 'UpdateWebACL' ), and delete a @WebACL@ from AWS WAF (see 'DeleteWebACL' ). @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .-waWebACLId :: Lens' WebACL Text-waWebACLId = lens _waWebACLId (\ s a -> s{_waWebACLId = a})---- | The action to perform if none of the @Rules@ contained in the @WebACL@ match. The action is specified by the 'WafAction' object.-waDefaultAction :: Lens' WebACL WafAction-waDefaultAction = lens _waDefaultAction (\ s a -> s{_waDefaultAction = a})---- | An array that contains the action for each @Rule@ in a @WebACL@ , the priority of the @Rule@ , and the ID of the @Rule@ .-waRules :: Lens' WebACL [ActivatedRule]-waRules = lens _waRules (\ s a -> s{_waRules = a}) . _Coerce--instance FromJSON WebACL where- parseJSON- = withObject "WebACL"- (\ x ->- WebACL' <$>- (x .:? "MetricName") <*> (x .:? "Name") <*>- (x .: "WebACLId")- <*> (x .: "DefaultAction")- <*> (x .:? "Rules" .!= mempty))--instance Hashable WebACL where--instance NFData WebACL where---- | Contains the identifier and the name or description of the 'WebACL' .------------ /See:/ 'webACLSummary' smart constructor.-data WebACLSummary = WebACLSummary'- { _wasWebACLId :: !Text- , _wasName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'WebACLSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wasWebACLId' - A unique identifier for a @WebACL@ . You use @WebACLId@ to get information about a @WebACL@ (see 'GetWebACL' ), update a @WebACL@ (see 'UpdateWebACL' ), and delete a @WebACL@ from AWS WAF (see 'DeleteWebACL' ). @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .------ * 'wasName' - A friendly name or description of the 'WebACL' . You can't change the name of a @WebACL@ after you create it.-webACLSummary- :: Text -- ^ 'wasWebACLId'- -> Text -- ^ 'wasName'- -> WebACLSummary-webACLSummary pWebACLId_ pName_ =- WebACLSummary' {_wasWebACLId = pWebACLId_, _wasName = pName_}----- | A unique identifier for a @WebACL@ . You use @WebACLId@ to get information about a @WebACL@ (see 'GetWebACL' ), update a @WebACL@ (see 'UpdateWebACL' ), and delete a @WebACL@ from AWS WAF (see 'DeleteWebACL' ). @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .-wasWebACLId :: Lens' WebACLSummary Text-wasWebACLId = lens _wasWebACLId (\ s a -> s{_wasWebACLId = a})---- | A friendly name or description of the 'WebACL' . You can't change the name of a @WebACL@ after you create it.-wasName :: Lens' WebACLSummary Text-wasName = lens _wasName (\ s a -> s{_wasName = a})--instance FromJSON WebACLSummary where- parseJSON- = withObject "WebACLSummary"- (\ x ->- WebACLSummary' <$>- (x .: "WebACLId") <*> (x .: "Name"))--instance Hashable WebACLSummary where--instance NFData WebACLSummary where---- | Specifies whether to insert a @Rule@ into or delete a @Rule@ from a @WebACL@ .------------ /See:/ 'webACLUpdate' smart constructor.-data WebACLUpdate = WebACLUpdate'- { _wauAction :: !ChangeAction- , _wauActivatedRule :: !ActivatedRule- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'WebACLUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wauAction' - Specifies whether to insert a @Rule@ into or delete a @Rule@ from a @WebACL@ .------ * 'wauActivatedRule' - The @ActivatedRule@ object in an 'UpdateWebACL' request specifies a @Rule@ that you want to insert or delete, the priority of the @Rule@ in the @WebACL@ , and the action that you want AWS WAF to take when a web request matches the @Rule@ (@ALLOW@ , @BLOCK@ , or @COUNT@ ).-webACLUpdate- :: ChangeAction -- ^ 'wauAction'- -> ActivatedRule -- ^ 'wauActivatedRule'- -> WebACLUpdate-webACLUpdate pAction_ pActivatedRule_ =- WebACLUpdate' {_wauAction = pAction_, _wauActivatedRule = pActivatedRule_}----- | Specifies whether to insert a @Rule@ into or delete a @Rule@ from a @WebACL@ .-wauAction :: Lens' WebACLUpdate ChangeAction-wauAction = lens _wauAction (\ s a -> s{_wauAction = a})---- | The @ActivatedRule@ object in an 'UpdateWebACL' request specifies a @Rule@ that you want to insert or delete, the priority of the @Rule@ in the @WebACL@ , and the action that you want AWS WAF to take when a web request matches the @Rule@ (@ALLOW@ , @BLOCK@ , or @COUNT@ ).-wauActivatedRule :: Lens' WebACLUpdate ActivatedRule-wauActivatedRule = lens _wauActivatedRule (\ s a -> s{_wauActivatedRule = a})--instance Hashable WebACLUpdate where--instance NFData WebACLUpdate where--instance ToJSON WebACLUpdate where- toJSON WebACLUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _wauAction),- Just ("ActivatedRule" .= _wauActivatedRule)])---- | A complex type that contains @XssMatchTuple@ objects, which specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header. If a @XssMatchSet@ contains more than one @XssMatchTuple@ object, a request needs to include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.------------ /See:/ 'xssMatchSet' smart constructor.-data XSSMatchSet = XSSMatchSet'- { _xmsName :: !(Maybe Text)- , _xmsXSSMatchSetId :: !Text- , _xmsXSSMatchTuples :: ![XSSMatchTuple]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'XSSMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'xmsName' - The name, if any, of the @XssMatchSet@ .------ * 'xmsXSSMatchSetId' - A unique identifier for an @XssMatchSet@ . You use @XssMatchSetId@ to get information about an @XssMatchSet@ (see 'GetXssMatchSet' ), update an @XssMatchSet@ (see 'UpdateXssMatchSet' ), insert an @XssMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete an @XssMatchSet@ from AWS WAF (see 'DeleteXssMatchSet' ). @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .------ * 'xmsXSSMatchTuples' - Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.-xssMatchSet- :: Text -- ^ 'xmsXSSMatchSetId'- -> XSSMatchSet-xssMatchSet pXSSMatchSetId_ =- XSSMatchSet'- { _xmsName = Nothing- , _xmsXSSMatchSetId = pXSSMatchSetId_- , _xmsXSSMatchTuples = mempty- }----- | The name, if any, of the @XssMatchSet@ .-xmsName :: Lens' XSSMatchSet (Maybe Text)-xmsName = lens _xmsName (\ s a -> s{_xmsName = a})---- | A unique identifier for an @XssMatchSet@ . You use @XssMatchSetId@ to get information about an @XssMatchSet@ (see 'GetXssMatchSet' ), update an @XssMatchSet@ (see 'UpdateXssMatchSet' ), insert an @XssMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete an @XssMatchSet@ from AWS WAF (see 'DeleteXssMatchSet' ). @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .-xmsXSSMatchSetId :: Lens' XSSMatchSet Text-xmsXSSMatchSetId = lens _xmsXSSMatchSetId (\ s a -> s{_xmsXSSMatchSetId = a})---- | Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.-xmsXSSMatchTuples :: Lens' XSSMatchSet [XSSMatchTuple]-xmsXSSMatchTuples = lens _xmsXSSMatchTuples (\ s a -> s{_xmsXSSMatchTuples = a}) . _Coerce--instance FromJSON XSSMatchSet where- parseJSON- = withObject "XSSMatchSet"- (\ x ->- XSSMatchSet' <$>- (x .:? "Name") <*> (x .: "XssMatchSetId") <*>- (x .:? "XssMatchTuples" .!= mempty))--instance Hashable XSSMatchSet where--instance NFData XSSMatchSet where---- | The @Id@ and @Name@ of an @XssMatchSet@ .------------ /See:/ 'xssMatchSetSummary' smart constructor.-data XSSMatchSetSummary = XSSMatchSetSummary'- { _xmssXSSMatchSetId :: !Text- , _xmssName :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'XSSMatchSetSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'xmssXSSMatchSetId' - A unique identifier for an @XssMatchSet@ . You use @XssMatchSetId@ to get information about a @XssMatchSet@ (see 'GetXssMatchSet' ), update an @XssMatchSet@ (see 'UpdateXssMatchSet' ), insert an @XssMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete an @XssMatchSet@ from AWS WAF (see 'DeleteXssMatchSet' ). @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .------ * 'xmssName' - The name of the @XssMatchSet@ , if any, specified by @Id@ .-xssMatchSetSummary- :: Text -- ^ 'xmssXSSMatchSetId'- -> Text -- ^ 'xmssName'- -> XSSMatchSetSummary-xssMatchSetSummary pXSSMatchSetId_ pName_ =- XSSMatchSetSummary' {_xmssXSSMatchSetId = pXSSMatchSetId_, _xmssName = pName_}----- | A unique identifier for an @XssMatchSet@ . You use @XssMatchSetId@ to get information about a @XssMatchSet@ (see 'GetXssMatchSet' ), update an @XssMatchSet@ (see 'UpdateXssMatchSet' ), insert an @XssMatchSet@ into a @Rule@ or delete one from a @Rule@ (see 'UpdateRule' ), and delete an @XssMatchSet@ from AWS WAF (see 'DeleteXssMatchSet' ). @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .-xmssXSSMatchSetId :: Lens' XSSMatchSetSummary Text-xmssXSSMatchSetId = lens _xmssXSSMatchSetId (\ s a -> s{_xmssXSSMatchSetId = a})---- | The name of the @XssMatchSet@ , if any, specified by @Id@ .-xmssName :: Lens' XSSMatchSetSummary Text-xmssName = lens _xmssName (\ s a -> s{_xmssName = a})--instance FromJSON XSSMatchSetSummary where- parseJSON- = withObject "XSSMatchSetSummary"- (\ x ->- XSSMatchSetSummary' <$>- (x .: "XssMatchSetId") <*> (x .: "Name"))--instance Hashable XSSMatchSetSummary where--instance NFData XSSMatchSetSummary where---- | Specifies the part of a web request that you want to inspect for cross-site scripting attacks and indicates whether you want to add the specification to an 'XssMatchSet' or delete it from an @XssMatchSet@ .------------ /See:/ 'xssMatchSetUpdate' smart constructor.-data XSSMatchSetUpdate = XSSMatchSetUpdate'- { _xmsuAction :: !ChangeAction- , _xmsuXSSMatchTuple :: !XSSMatchTuple- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'XSSMatchSetUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'xmsuAction' - Specify @INSERT@ to add a 'XssMatchSetUpdate' to an 'XssMatchSet' . Use @DELETE@ to remove a @XssMatchSetUpdate@ from an @XssMatchSet@ .------ * 'xmsuXSSMatchTuple' - Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.-xssMatchSetUpdate- :: ChangeAction -- ^ 'xmsuAction'- -> XSSMatchTuple -- ^ 'xmsuXSSMatchTuple'- -> XSSMatchSetUpdate-xssMatchSetUpdate pAction_ pXSSMatchTuple_ =- XSSMatchSetUpdate'- {_xmsuAction = pAction_, _xmsuXSSMatchTuple = pXSSMatchTuple_}----- | Specify @INSERT@ to add a 'XssMatchSetUpdate' to an 'XssMatchSet' . Use @DELETE@ to remove a @XssMatchSetUpdate@ from an @XssMatchSet@ .-xmsuAction :: Lens' XSSMatchSetUpdate ChangeAction-xmsuAction = lens _xmsuAction (\ s a -> s{_xmsuAction = a})---- | Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.-xmsuXSSMatchTuple :: Lens' XSSMatchSetUpdate XSSMatchTuple-xmsuXSSMatchTuple = lens _xmsuXSSMatchTuple (\ s a -> s{_xmsuXSSMatchTuple = a})--instance Hashable XSSMatchSetUpdate where--instance NFData XSSMatchSetUpdate where--instance ToJSON XSSMatchSetUpdate where- toJSON XSSMatchSetUpdate'{..}- = object- (catMaybes- [Just ("Action" .= _xmsuAction),- Just ("XssMatchTuple" .= _xmsuXSSMatchTuple)])---- | Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.------------ /See:/ 'xssMatchTuple' smart constructor.-data XSSMatchTuple = XSSMatchTuple'- { _xmtFieldToMatch :: !FieldToMatch- , _xmtTextTransformation :: !TextTransformation- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'XSSMatchTuple' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'xmtFieldToMatch' - Specifies where in a web request to look for cross-site scripting attacks.------ * 'xmtTextTransformation' - Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @FieldToMatch@ before inspecting a request for a match. __CMD_LINE__ When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value. __NONE__ Specify @NONE@ if you don't want to perform any text transformations.-xssMatchTuple- :: FieldToMatch -- ^ 'xmtFieldToMatch'- -> TextTransformation -- ^ 'xmtTextTransformation'- -> XSSMatchTuple-xssMatchTuple pFieldToMatch_ pTextTransformation_ =- XSSMatchTuple'- { _xmtFieldToMatch = pFieldToMatch_- , _xmtTextTransformation = pTextTransformation_- }----- | Specifies where in a web request to look for cross-site scripting attacks.-xmtFieldToMatch :: Lens' XSSMatchTuple FieldToMatch-xmtFieldToMatch = lens _xmtFieldToMatch (\ s a -> s{_xmtFieldToMatch = a})---- | Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on @FieldToMatch@ before inspecting a request for a match. __CMD_LINE__ When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: * Delete the following characters: \ " ' ^ * Delete spaces before the following characters: / ( * Replace the following characters with a space: , ; * Replace multiple spaces with one space * Convert uppercase letters (A-Z) to lowercase (a-z) __COMPRESS_WHITE_SPACE__ Use this option to replace the following characters with a space character (decimal 32): * \f, formfeed, decimal 12 * \t, tab, decimal 9 * \n, newline, decimal 10 * \r, carriage return, decimal 13 * \v, vertical tab, decimal 11 * non-breaking space, decimal 160 @COMPRESS_WHITE_SPACE@ also replaces multiple spaces with one space. __HTML_ENTITY_DECODE__ Use this option to replace HTML-encoded characters with unencoded characters. @HTML_ENTITY_DECODE@ performs the following operations: * Replaces @(ampersand)quot;@ with @"@ * Replaces @(ampersand)nbsp;@ with a non-breaking space, decimal 160 * Replaces @(ampersand)lt;@ with a "less than" symbol * Replaces @(ampersand)gt;@ with @>@ * Replaces characters that are represented in hexadecimal format, @(ampersand)#xhhhh;@ , with the corresponding characters * Replaces characters that are represented in decimal format, @(ampersand)#nnnn;@ , with the corresponding characters __LOWERCASE__ Use this option to convert uppercase letters (A-Z) to lowercase (a-z). __URL_DECODE__ Use this option to decode a URL-encoded value. __NONE__ Specify @NONE@ if you don't want to perform any text transformations.-xmtTextTransformation :: Lens' XSSMatchTuple TextTransformation-xmtTextTransformation = lens _xmtTextTransformation (\ s a -> s{_xmtTextTransformation = a})--instance FromJSON XSSMatchTuple where- parseJSON- = withObject "XSSMatchTuple"- (\ x ->- XSSMatchTuple' <$>- (x .: "FieldToMatch") <*>- (x .: "TextTransformation"))--instance Hashable XSSMatchTuple where--instance NFData XSSMatchTuple where--instance ToJSON XSSMatchTuple where- toJSON XSSMatchTuple'{..}- = object- (catMaybes- [Just ("FieldToMatch" .= _xmtFieldToMatch),- Just- ("TextTransformation" .= _xmtTextTransformation)])
− gen/Network/AWS/WAF/Types/Sum.hs
@@ -1,1235 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE OverloadedStrings #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.Types.Sum--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.WAF.Types.Sum where--import Network.AWS.Prelude--data ChangeAction- = Delete- | Insert- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ChangeAction where- parser = takeLowerText >>= \case- "delete" -> pure Delete- "insert" -> pure Insert- e -> fromTextError $ "Failure parsing ChangeAction from value: '" <> e- <> "'. Accepted values: delete, insert"--instance ToText ChangeAction where- toText = \case- Delete -> "DELETE"- Insert -> "INSERT"--instance Hashable ChangeAction-instance NFData ChangeAction-instance ToByteString ChangeAction-instance ToQuery ChangeAction-instance ToHeader ChangeAction--instance ToJSON ChangeAction where- toJSON = toJSONText--data ChangeTokenStatus- = Insync- | Pending- | Provisioned- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ChangeTokenStatus where- parser = takeLowerText >>= \case- "insync" -> pure Insync- "pending" -> pure Pending- "provisioned" -> pure Provisioned- e -> fromTextError $ "Failure parsing ChangeTokenStatus from value: '" <> e- <> "'. Accepted values: insync, pending, provisioned"--instance ToText ChangeTokenStatus where- toText = \case- Insync -> "INSYNC"- Pending -> "PENDING"- Provisioned -> "PROVISIONED"--instance Hashable ChangeTokenStatus-instance NFData ChangeTokenStatus-instance ToByteString ChangeTokenStatus-instance ToQuery ChangeTokenStatus-instance ToHeader ChangeTokenStatus--instance FromJSON ChangeTokenStatus where- parseJSON = parseJSONText "ChangeTokenStatus"--data ComparisonOperator- = EQ'- | GE- | GT'- | LE- | LT'- | NE- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ComparisonOperator where- parser = takeLowerText >>= \case- "eq" -> pure EQ'- "ge" -> pure GE- "gt" -> pure GT'- "le" -> pure LE- "lt" -> pure LT'- "ne" -> pure NE- e -> fromTextError $ "Failure parsing ComparisonOperator from value: '" <> e- <> "'. Accepted values: eq, ge, gt, le, lt, ne"--instance ToText ComparisonOperator where- toText = \case- EQ' -> "EQ"- GE -> "GE"- GT' -> "GT"- LE -> "LE"- LT' -> "LT"- NE -> "NE"--instance Hashable ComparisonOperator-instance NFData ComparisonOperator-instance ToByteString ComparisonOperator-instance ToQuery ComparisonOperator-instance ToHeader ComparisonOperator--instance ToJSON ComparisonOperator where- toJSON = toJSONText--instance FromJSON ComparisonOperator where- parseJSON = parseJSONText "ComparisonOperator"--data GeoMatchConstraintType =- Country- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText GeoMatchConstraintType where- parser = takeLowerText >>= \case- "country" -> pure Country- e -> fromTextError $ "Failure parsing GeoMatchConstraintType from value: '" <> e- <> "'. Accepted values: country"--instance ToText GeoMatchConstraintType where- toText = \case- Country -> "Country"--instance Hashable GeoMatchConstraintType-instance NFData GeoMatchConstraintType-instance ToByteString GeoMatchConstraintType-instance ToQuery GeoMatchConstraintType-instance ToHeader GeoMatchConstraintType--instance ToJSON GeoMatchConstraintType where- toJSON = toJSONText--instance FromJSON GeoMatchConstraintType where- parseJSON = parseJSONText "GeoMatchConstraintType"--data GeoMatchConstraintValue- = GMCVAD- | GMCVAE- | GMCVAF- | GMCVAG- | GMCVAI- | GMCVAL- | GMCVAM- | GMCVAO- | GMCVAQ- | GMCVAR- | GMCVAS- | GMCVAT- | GMCVAU- | GMCVAW- | GMCVAX- | GMCVAZ- | GMCVBA- | GMCVBB- | GMCVBD- | GMCVBE- | GMCVBF- | GMCVBG- | GMCVBH- | GMCVBI- | GMCVBJ- | GMCVBL- | GMCVBM- | GMCVBN- | GMCVBO- | GMCVBQ- | GMCVBR- | GMCVBS- | GMCVBT- | GMCVBV- | GMCVBW- | GMCVBY- | GMCVBZ- | GMCVCA- | GMCVCC- | GMCVCD- | GMCVCF- | GMCVCG- | GMCVCH- | GMCVCI- | GMCVCK- | GMCVCL- | GMCVCM- | GMCVCN- | GMCVCO- | GMCVCR- | GMCVCU- | GMCVCV- | GMCVCW- | GMCVCX- | GMCVCY- | GMCVCZ- | GMCVDE- | GMCVDJ- | GMCVDK- | GMCVDM- | GMCVDO- | GMCVDZ- | GMCVEC- | GMCVEE- | GMCVEG- | GMCVEH- | GMCVER- | GMCVES- | GMCVET- | GMCVFI- | GMCVFJ- | GMCVFK- | GMCVFM- | GMCVFO- | GMCVFR- | GMCVGA- | GMCVGB- | GMCVGD- | GMCVGE- | GMCVGF- | GMCVGG- | GMCVGH- | GMCVGI- | GMCVGL- | GMCVGM- | GMCVGN- | GMCVGP- | GMCVGQ- | GMCVGR- | GMCVGS- | GMCVGT'- | GMCVGU- | GMCVGW- | GMCVGY- | GMCVHK- | GMCVHM- | GMCVHN- | GMCVHR- | GMCVHT- | GMCVHU- | GMCVIE- | GMCVIL- | GMCVIM- | GMCVIN- | GMCVIO- | GMCVIQ- | GMCVIR- | GMCVIS- | GMCVIT- | GMCVId- | GMCVJE- | GMCVJM- | GMCVJO- | GMCVJP- | GMCVKE- | GMCVKG- | GMCVKH- | GMCVKI- | GMCVKM- | GMCVKN- | GMCVKP- | GMCVKR- | GMCVKW- | GMCVKY- | GMCVKZ- | GMCVLA- | GMCVLB- | GMCVLC- | GMCVLI- | GMCVLK- | GMCVLR- | GMCVLS- | GMCVLT'- | GMCVLU- | GMCVLV- | GMCVLY- | GMCVMA- | GMCVMC- | GMCVMD- | GMCVME- | GMCVMF- | GMCVMG- | GMCVMH- | GMCVMK- | GMCVML- | GMCVMM- | GMCVMN- | GMCVMO- | GMCVMP- | GMCVMQ- | GMCVMR- | GMCVMS- | GMCVMT- | GMCVMU- | GMCVMV- | GMCVMW- | GMCVMX- | GMCVMY- | GMCVMZ- | GMCVNA- | GMCVNC- | GMCVNE- | GMCVNF- | GMCVNG- | GMCVNI- | GMCVNL- | GMCVNO- | GMCVNP- | GMCVNR- | GMCVNU- | GMCVNZ- | GMCVOM- | GMCVPA- | GMCVPE- | GMCVPF- | GMCVPG- | GMCVPH- | GMCVPK- | GMCVPL- | GMCVPM- | GMCVPN- | GMCVPR- | GMCVPS- | GMCVPT- | GMCVPW- | GMCVPY- | GMCVQA- | GMCVRE- | GMCVRO- | GMCVRS- | GMCVRU- | GMCVRW- | GMCVSA- | GMCVSB- | GMCVSC- | GMCVSD- | GMCVSE- | GMCVSG- | GMCVSH- | GMCVSI- | GMCVSJ- | GMCVSK- | GMCVSL- | GMCVSM- | GMCVSN- | GMCVSO- | GMCVSR- | GMCVSS- | GMCVST- | GMCVSV- | GMCVSX- | GMCVSY- | GMCVSZ- | GMCVTC- | GMCVTD- | GMCVTF- | GMCVTG- | GMCVTH- | GMCVTJ- | GMCVTK- | GMCVTL- | GMCVTM- | GMCVTN- | GMCVTO- | GMCVTR- | GMCVTT- | GMCVTV- | GMCVTW- | GMCVTZ- | GMCVUA- | GMCVUG- | GMCVUM- | GMCVUS- | GMCVUY- | GMCVUZ- | GMCVVA- | GMCVVC- | GMCVVE- | GMCVVG- | GMCVVI- | GMCVVN- | GMCVVU- | GMCVWF- | GMCVWS- | GMCVYE- | GMCVYT- | GMCVZA- | GMCVZM- | GMCVZW- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText GeoMatchConstraintValue where- parser = takeLowerText >>= \case- "ad" -> pure GMCVAD- "ae" -> pure GMCVAE- "af" -> pure GMCVAF- "ag" -> pure GMCVAG- "ai" -> pure GMCVAI- "al" -> pure GMCVAL- "am" -> pure GMCVAM- "ao" -> pure GMCVAO- "aq" -> pure GMCVAQ- "ar" -> pure GMCVAR- "as" -> pure GMCVAS- "at" -> pure GMCVAT- "au" -> pure GMCVAU- "aw" -> pure GMCVAW- "ax" -> pure GMCVAX- "az" -> pure GMCVAZ- "ba" -> pure GMCVBA- "bb" -> pure GMCVBB- "bd" -> pure GMCVBD- "be" -> pure GMCVBE- "bf" -> pure GMCVBF- "bg" -> pure GMCVBG- "bh" -> pure GMCVBH- "bi" -> pure GMCVBI- "bj" -> pure GMCVBJ- "bl" -> pure GMCVBL- "bm" -> pure GMCVBM- "bn" -> pure GMCVBN- "bo" -> pure GMCVBO- "bq" -> pure GMCVBQ- "br" -> pure GMCVBR- "bs" -> pure GMCVBS- "bt" -> pure GMCVBT- "bv" -> pure GMCVBV- "bw" -> pure GMCVBW- "by" -> pure GMCVBY- "bz" -> pure GMCVBZ- "ca" -> pure GMCVCA- "cc" -> pure GMCVCC- "cd" -> pure GMCVCD- "cf" -> pure GMCVCF- "cg" -> pure GMCVCG- "ch" -> pure GMCVCH- "ci" -> pure GMCVCI- "ck" -> pure GMCVCK- "cl" -> pure GMCVCL- "cm" -> pure GMCVCM- "cn" -> pure GMCVCN- "co" -> pure GMCVCO- "cr" -> pure GMCVCR- "cu" -> pure GMCVCU- "cv" -> pure GMCVCV- "cw" -> pure GMCVCW- "cx" -> pure GMCVCX- "cy" -> pure GMCVCY- "cz" -> pure GMCVCZ- "de" -> pure GMCVDE- "dj" -> pure GMCVDJ- "dk" -> pure GMCVDK- "dm" -> pure GMCVDM- "do" -> pure GMCVDO- "dz" -> pure GMCVDZ- "ec" -> pure GMCVEC- "ee" -> pure GMCVEE- "eg" -> pure GMCVEG- "eh" -> pure GMCVEH- "er" -> pure GMCVER- "es" -> pure GMCVES- "et" -> pure GMCVET- "fi" -> pure GMCVFI- "fj" -> pure GMCVFJ- "fk" -> pure GMCVFK- "fm" -> pure GMCVFM- "fo" -> pure GMCVFO- "fr" -> pure GMCVFR- "ga" -> pure GMCVGA- "gb" -> pure GMCVGB- "gd" -> pure GMCVGD- "ge" -> pure GMCVGE- "gf" -> pure GMCVGF- "gg" -> pure GMCVGG- "gh" -> pure GMCVGH- "gi" -> pure GMCVGI- "gl" -> pure GMCVGL- "gm" -> pure GMCVGM- "gn" -> pure GMCVGN- "gp" -> pure GMCVGP- "gq" -> pure GMCVGQ- "gr" -> pure GMCVGR- "gs" -> pure GMCVGS- "gt" -> pure GMCVGT'- "gu" -> pure GMCVGU- "gw" -> pure GMCVGW- "gy" -> pure GMCVGY- "hk" -> pure GMCVHK- "hm" -> pure GMCVHM- "hn" -> pure GMCVHN- "hr" -> pure GMCVHR- "ht" -> pure GMCVHT- "hu" -> pure GMCVHU- "ie" -> pure GMCVIE- "il" -> pure GMCVIL- "im" -> pure GMCVIM- "in" -> pure GMCVIN- "io" -> pure GMCVIO- "iq" -> pure GMCVIQ- "ir" -> pure GMCVIR- "is" -> pure GMCVIS- "it" -> pure GMCVIT- "id" -> pure GMCVId- "je" -> pure GMCVJE- "jm" -> pure GMCVJM- "jo" -> pure GMCVJO- "jp" -> pure GMCVJP- "ke" -> pure GMCVKE- "kg" -> pure GMCVKG- "kh" -> pure GMCVKH- "ki" -> pure GMCVKI- "km" -> pure GMCVKM- "kn" -> pure GMCVKN- "kp" -> pure GMCVKP- "kr" -> pure GMCVKR- "kw" -> pure GMCVKW- "ky" -> pure GMCVKY- "kz" -> pure GMCVKZ- "la" -> pure GMCVLA- "lb" -> pure GMCVLB- "lc" -> pure GMCVLC- "li" -> pure GMCVLI- "lk" -> pure GMCVLK- "lr" -> pure GMCVLR- "ls" -> pure GMCVLS- "lt" -> pure GMCVLT'- "lu" -> pure GMCVLU- "lv" -> pure GMCVLV- "ly" -> pure GMCVLY- "ma" -> pure GMCVMA- "mc" -> pure GMCVMC- "md" -> pure GMCVMD- "me" -> pure GMCVME- "mf" -> pure GMCVMF- "mg" -> pure GMCVMG- "mh" -> pure GMCVMH- "mk" -> pure GMCVMK- "ml" -> pure GMCVML- "mm" -> pure GMCVMM- "mn" -> pure GMCVMN- "mo" -> pure GMCVMO- "mp" -> pure GMCVMP- "mq" -> pure GMCVMQ- "mr" -> pure GMCVMR- "ms" -> pure GMCVMS- "mt" -> pure GMCVMT- "mu" -> pure GMCVMU- "mv" -> pure GMCVMV- "mw" -> pure GMCVMW- "mx" -> pure GMCVMX- "my" -> pure GMCVMY- "mz" -> pure GMCVMZ- "na" -> pure GMCVNA- "nc" -> pure GMCVNC- "ne" -> pure GMCVNE- "nf" -> pure GMCVNF- "ng" -> pure GMCVNG- "ni" -> pure GMCVNI- "nl" -> pure GMCVNL- "no" -> pure GMCVNO- "np" -> pure GMCVNP- "nr" -> pure GMCVNR- "nu" -> pure GMCVNU- "nz" -> pure GMCVNZ- "om" -> pure GMCVOM- "pa" -> pure GMCVPA- "pe" -> pure GMCVPE- "pf" -> pure GMCVPF- "pg" -> pure GMCVPG- "ph" -> pure GMCVPH- "pk" -> pure GMCVPK- "pl" -> pure GMCVPL- "pm" -> pure GMCVPM- "pn" -> pure GMCVPN- "pr" -> pure GMCVPR- "ps" -> pure GMCVPS- "pt" -> pure GMCVPT- "pw" -> pure GMCVPW- "py" -> pure GMCVPY- "qa" -> pure GMCVQA- "re" -> pure GMCVRE- "ro" -> pure GMCVRO- "rs" -> pure GMCVRS- "ru" -> pure GMCVRU- "rw" -> pure GMCVRW- "sa" -> pure GMCVSA- "sb" -> pure GMCVSB- "sc" -> pure GMCVSC- "sd" -> pure GMCVSD- "se" -> pure GMCVSE- "sg" -> pure GMCVSG- "sh" -> pure GMCVSH- "si" -> pure GMCVSI- "sj" -> pure GMCVSJ- "sk" -> pure GMCVSK- "sl" -> pure GMCVSL- "sm" -> pure GMCVSM- "sn" -> pure GMCVSN- "so" -> pure GMCVSO- "sr" -> pure GMCVSR- "ss" -> pure GMCVSS- "st" -> pure GMCVST- "sv" -> pure GMCVSV- "sx" -> pure GMCVSX- "sy" -> pure GMCVSY- "sz" -> pure GMCVSZ- "tc" -> pure GMCVTC- "td" -> pure GMCVTD- "tf" -> pure GMCVTF- "tg" -> pure GMCVTG- "th" -> pure GMCVTH- "tj" -> pure GMCVTJ- "tk" -> pure GMCVTK- "tl" -> pure GMCVTL- "tm" -> pure GMCVTM- "tn" -> pure GMCVTN- "to" -> pure GMCVTO- "tr" -> pure GMCVTR- "tt" -> pure GMCVTT- "tv" -> pure GMCVTV- "tw" -> pure GMCVTW- "tz" -> pure GMCVTZ- "ua" -> pure GMCVUA- "ug" -> pure GMCVUG- "um" -> pure GMCVUM- "us" -> pure GMCVUS- "uy" -> pure GMCVUY- "uz" -> pure GMCVUZ- "va" -> pure GMCVVA- "vc" -> pure GMCVVC- "ve" -> pure GMCVVE- "vg" -> pure GMCVVG- "vi" -> pure GMCVVI- "vn" -> pure GMCVVN- "vu" -> pure GMCVVU- "wf" -> pure GMCVWF- "ws" -> pure GMCVWS- "ye" -> pure GMCVYE- "yt" -> pure GMCVYT- "za" -> pure GMCVZA- "zm" -> pure GMCVZM- "zw" -> pure GMCVZW- e -> fromTextError $ "Failure parsing GeoMatchConstraintValue from value: '" <> e- <> "'. Accepted values: ad, ae, af, ag, ai, al, am, ao, aq, ar, as, at, au, aw, ax, az, ba, bb, bd, be, bf, bg, bh, bi, bj, bl, bm, bn, bo, bq, br, bs, bt, bv, bw, by, bz, ca, cc, cd, cf, cg, ch, ci, ck, cl, cm, cn, co, cr, cu, cv, cw, cx, cy, cz, de, dj, dk, dm, do, dz, ec, ee, eg, eh, er, es, et, fi, fj, fk, fm, fo, fr, ga, gb, gd, ge, gf, gg, gh, gi, gl, gm, gn, gp, gq, gr, gs, gt, gu, gw, gy, hk, hm, hn, hr, ht, hu, ie, il, im, in, io, iq, ir, is, it, id, je, jm, jo, jp, ke, kg, kh, ki, km, kn, kp, kr, kw, ky, kz, la, lb, lc, li, lk, lr, ls, lt, lu, lv, ly, ma, mc, md, me, mf, mg, mh, mk, ml, mm, mn, mo, mp, mq, mr, ms, mt, mu, mv, mw, mx, my, mz, na, nc, ne, nf, ng, ni, nl, no, np, nr, nu, nz, om, pa, pe, pf, pg, ph, pk, pl, pm, pn, pr, ps, pt, pw, py, qa, re, ro, rs, ru, rw, sa, sb, sc, sd, se, sg, sh, si, sj, sk, sl, sm, sn, so, sr, ss, st, sv, sx, sy, sz, tc, td, tf, tg, th, tj, tk, tl, tm, tn, to, tr, tt, tv, tw, tz, ua, ug, um, us, uy, uz, va, vc, ve, vg, vi, vn, vu, wf, ws, ye, yt, za, zm, zw"--instance ToText GeoMatchConstraintValue where- toText = \case- GMCVAD -> "AD"- GMCVAE -> "AE"- GMCVAF -> "AF"- GMCVAG -> "AG"- GMCVAI -> "AI"- GMCVAL -> "AL"- GMCVAM -> "AM"- GMCVAO -> "AO"- GMCVAQ -> "AQ"- GMCVAR -> "AR"- GMCVAS -> "AS"- GMCVAT -> "AT"- GMCVAU -> "AU"- GMCVAW -> "AW"- GMCVAX -> "AX"- GMCVAZ -> "AZ"- GMCVBA -> "BA"- GMCVBB -> "BB"- GMCVBD -> "BD"- GMCVBE -> "BE"- GMCVBF -> "BF"- GMCVBG -> "BG"- GMCVBH -> "BH"- GMCVBI -> "BI"- GMCVBJ -> "BJ"- GMCVBL -> "BL"- GMCVBM -> "BM"- GMCVBN -> "BN"- GMCVBO -> "BO"- GMCVBQ -> "BQ"- GMCVBR -> "BR"- GMCVBS -> "BS"- GMCVBT -> "BT"- GMCVBV -> "BV"- GMCVBW -> "BW"- GMCVBY -> "BY"- GMCVBZ -> "BZ"- GMCVCA -> "CA"- GMCVCC -> "CC"- GMCVCD -> "CD"- GMCVCF -> "CF"- GMCVCG -> "CG"- GMCVCH -> "CH"- GMCVCI -> "CI"- GMCVCK -> "CK"- GMCVCL -> "CL"- GMCVCM -> "CM"- GMCVCN -> "CN"- GMCVCO -> "CO"- GMCVCR -> "CR"- GMCVCU -> "CU"- GMCVCV -> "CV"- GMCVCW -> "CW"- GMCVCX -> "CX"- GMCVCY -> "CY"- GMCVCZ -> "CZ"- GMCVDE -> "DE"- GMCVDJ -> "DJ"- GMCVDK -> "DK"- GMCVDM -> "DM"- GMCVDO -> "DO"- GMCVDZ -> "DZ"- GMCVEC -> "EC"- GMCVEE -> "EE"- GMCVEG -> "EG"- GMCVEH -> "EH"- GMCVER -> "ER"- GMCVES -> "ES"- GMCVET -> "ET"- GMCVFI -> "FI"- GMCVFJ -> "FJ"- GMCVFK -> "FK"- GMCVFM -> "FM"- GMCVFO -> "FO"- GMCVFR -> "FR"- GMCVGA -> "GA"- GMCVGB -> "GB"- GMCVGD -> "GD"- GMCVGE -> "GE"- GMCVGF -> "GF"- GMCVGG -> "GG"- GMCVGH -> "GH"- GMCVGI -> "GI"- GMCVGL -> "GL"- GMCVGM -> "GM"- GMCVGN -> "GN"- GMCVGP -> "GP"- GMCVGQ -> "GQ"- GMCVGR -> "GR"- GMCVGS -> "GS"- GMCVGT' -> "GT"- GMCVGU -> "GU"- GMCVGW -> "GW"- GMCVGY -> "GY"- GMCVHK -> "HK"- GMCVHM -> "HM"- GMCVHN -> "HN"- GMCVHR -> "HR"- GMCVHT -> "HT"- GMCVHU -> "HU"- GMCVIE -> "IE"- GMCVIL -> "IL"- GMCVIM -> "IM"- GMCVIN -> "IN"- GMCVIO -> "IO"- GMCVIQ -> "IQ"- GMCVIR -> "IR"- GMCVIS -> "IS"- GMCVIT -> "IT"- GMCVId -> "ID"- GMCVJE -> "JE"- GMCVJM -> "JM"- GMCVJO -> "JO"- GMCVJP -> "JP"- GMCVKE -> "KE"- GMCVKG -> "KG"- GMCVKH -> "KH"- GMCVKI -> "KI"- GMCVKM -> "KM"- GMCVKN -> "KN"- GMCVKP -> "KP"- GMCVKR -> "KR"- GMCVKW -> "KW"- GMCVKY -> "KY"- GMCVKZ -> "KZ"- GMCVLA -> "LA"- GMCVLB -> "LB"- GMCVLC -> "LC"- GMCVLI -> "LI"- GMCVLK -> "LK"- GMCVLR -> "LR"- GMCVLS -> "LS"- GMCVLT' -> "LT"- GMCVLU -> "LU"- GMCVLV -> "LV"- GMCVLY -> "LY"- GMCVMA -> "MA"- GMCVMC -> "MC"- GMCVMD -> "MD"- GMCVME -> "ME"- GMCVMF -> "MF"- GMCVMG -> "MG"- GMCVMH -> "MH"- GMCVMK -> "MK"- GMCVML -> "ML"- GMCVMM -> "MM"- GMCVMN -> "MN"- GMCVMO -> "MO"- GMCVMP -> "MP"- GMCVMQ -> "MQ"- GMCVMR -> "MR"- GMCVMS -> "MS"- GMCVMT -> "MT"- GMCVMU -> "MU"- GMCVMV -> "MV"- GMCVMW -> "MW"- GMCVMX -> "MX"- GMCVMY -> "MY"- GMCVMZ -> "MZ"- GMCVNA -> "NA"- GMCVNC -> "NC"- GMCVNE -> "NE"- GMCVNF -> "NF"- GMCVNG -> "NG"- GMCVNI -> "NI"- GMCVNL -> "NL"- GMCVNO -> "NO"- GMCVNP -> "NP"- GMCVNR -> "NR"- GMCVNU -> "NU"- GMCVNZ -> "NZ"- GMCVOM -> "OM"- GMCVPA -> "PA"- GMCVPE -> "PE"- GMCVPF -> "PF"- GMCVPG -> "PG"- GMCVPH -> "PH"- GMCVPK -> "PK"- GMCVPL -> "PL"- GMCVPM -> "PM"- GMCVPN -> "PN"- GMCVPR -> "PR"- GMCVPS -> "PS"- GMCVPT -> "PT"- GMCVPW -> "PW"- GMCVPY -> "PY"- GMCVQA -> "QA"- GMCVRE -> "RE"- GMCVRO -> "RO"- GMCVRS -> "RS"- GMCVRU -> "RU"- GMCVRW -> "RW"- GMCVSA -> "SA"- GMCVSB -> "SB"- GMCVSC -> "SC"- GMCVSD -> "SD"- GMCVSE -> "SE"- GMCVSG -> "SG"- GMCVSH -> "SH"- GMCVSI -> "SI"- GMCVSJ -> "SJ"- GMCVSK -> "SK"- GMCVSL -> "SL"- GMCVSM -> "SM"- GMCVSN -> "SN"- GMCVSO -> "SO"- GMCVSR -> "SR"- GMCVSS -> "SS"- GMCVST -> "ST"- GMCVSV -> "SV"- GMCVSX -> "SX"- GMCVSY -> "SY"- GMCVSZ -> "SZ"- GMCVTC -> "TC"- GMCVTD -> "TD"- GMCVTF -> "TF"- GMCVTG -> "TG"- GMCVTH -> "TH"- GMCVTJ -> "TJ"- GMCVTK -> "TK"- GMCVTL -> "TL"- GMCVTM -> "TM"- GMCVTN -> "TN"- GMCVTO -> "TO"- GMCVTR -> "TR"- GMCVTT -> "TT"- GMCVTV -> "TV"- GMCVTW -> "TW"- GMCVTZ -> "TZ"- GMCVUA -> "UA"- GMCVUG -> "UG"- GMCVUM -> "UM"- GMCVUS -> "US"- GMCVUY -> "UY"- GMCVUZ -> "UZ"- GMCVVA -> "VA"- GMCVVC -> "VC"- GMCVVE -> "VE"- GMCVVG -> "VG"- GMCVVI -> "VI"- GMCVVN -> "VN"- GMCVVU -> "VU"- GMCVWF -> "WF"- GMCVWS -> "WS"- GMCVYE -> "YE"- GMCVYT -> "YT"- GMCVZA -> "ZA"- GMCVZM -> "ZM"- GMCVZW -> "ZW"--instance Hashable GeoMatchConstraintValue-instance NFData GeoMatchConstraintValue-instance ToByteString GeoMatchConstraintValue-instance ToQuery GeoMatchConstraintValue-instance ToHeader GeoMatchConstraintValue--instance ToJSON GeoMatchConstraintValue where- toJSON = toJSONText--instance FromJSON GeoMatchConstraintValue where- parseJSON = parseJSONText "GeoMatchConstraintValue"--data IPSetDescriptorType- = IPV4- | IPV6- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText IPSetDescriptorType where- parser = takeLowerText >>= \case- "ipv4" -> pure IPV4- "ipv6" -> pure IPV6- e -> fromTextError $ "Failure parsing IPSetDescriptorType from value: '" <> e- <> "'. Accepted values: ipv4, ipv6"--instance ToText IPSetDescriptorType where- toText = \case- IPV4 -> "IPV4"- IPV6 -> "IPV6"--instance Hashable IPSetDescriptorType-instance NFData IPSetDescriptorType-instance ToByteString IPSetDescriptorType-instance ToQuery IPSetDescriptorType-instance ToHeader IPSetDescriptorType--instance ToJSON IPSetDescriptorType where- toJSON = toJSONText--instance FromJSON IPSetDescriptorType where- parseJSON = parseJSONText "IPSetDescriptorType"--data MatchFieldType- = Body- | Header- | Method- | QueryString- | URI- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText MatchFieldType where- parser = takeLowerText >>= \case- "body" -> pure Body- "header" -> pure Header- "method" -> pure Method- "query_string" -> pure QueryString- "uri" -> pure URI- e -> fromTextError $ "Failure parsing MatchFieldType from value: '" <> e- <> "'. Accepted values: body, header, method, query_string, uri"--instance ToText MatchFieldType where- toText = \case- Body -> "BODY"- Header -> "HEADER"- Method -> "METHOD"- QueryString -> "QUERY_STRING"- URI -> "URI"--instance Hashable MatchFieldType-instance NFData MatchFieldType-instance ToByteString MatchFieldType-instance ToQuery MatchFieldType-instance ToHeader MatchFieldType--instance ToJSON MatchFieldType where- toJSON = toJSONText--instance FromJSON MatchFieldType where- parseJSON = parseJSONText "MatchFieldType"--data PositionalConstraint- = Contains- | ContainsWord- | EndsWith- | Exactly- | StartsWith- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText PositionalConstraint where- parser = takeLowerText >>= \case- "contains" -> pure Contains- "contains_word" -> pure ContainsWord- "ends_with" -> pure EndsWith- "exactly" -> pure Exactly- "starts_with" -> pure StartsWith- e -> fromTextError $ "Failure parsing PositionalConstraint from value: '" <> e- <> "'. Accepted values: contains, contains_word, ends_with, exactly, starts_with"--instance ToText PositionalConstraint where- toText = \case- Contains -> "CONTAINS"- ContainsWord -> "CONTAINS_WORD"- EndsWith -> "ENDS_WITH"- Exactly -> "EXACTLY"- StartsWith -> "STARTS_WITH"--instance Hashable PositionalConstraint-instance NFData PositionalConstraint-instance ToByteString PositionalConstraint-instance ToQuery PositionalConstraint-instance ToHeader PositionalConstraint--instance ToJSON PositionalConstraint where- toJSON = toJSONText--instance FromJSON PositionalConstraint where- parseJSON = parseJSONText "PositionalConstraint"--data PredicateType- = ByteMatch- | GeoMatch- | IPMatch- | RegexMatch- | SizeConstraint- | SqlInjectionMatch- | XSSMatch- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText PredicateType where- parser = takeLowerText >>= \case- "bytematch" -> pure ByteMatch- "geomatch" -> pure GeoMatch- "ipmatch" -> pure IPMatch- "regexmatch" -> pure RegexMatch- "sizeconstraint" -> pure SizeConstraint- "sqlinjectionmatch" -> pure SqlInjectionMatch- "xssmatch" -> pure XSSMatch- e -> fromTextError $ "Failure parsing PredicateType from value: '" <> e- <> "'. Accepted values: bytematch, geomatch, ipmatch, regexmatch, sizeconstraint, sqlinjectionmatch, xssmatch"--instance ToText PredicateType where- toText = \case- ByteMatch -> "ByteMatch"- GeoMatch -> "GeoMatch"- IPMatch -> "IPMatch"- RegexMatch -> "RegexMatch"- SizeConstraint -> "SizeConstraint"- SqlInjectionMatch -> "SqlInjectionMatch"- XSSMatch -> "XssMatch"--instance Hashable PredicateType-instance NFData PredicateType-instance ToByteString PredicateType-instance ToQuery PredicateType-instance ToHeader PredicateType--instance ToJSON PredicateType where- toJSON = toJSONText--instance FromJSON PredicateType where- parseJSON = parseJSONText "PredicateType"--data RateKey =- IP- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText RateKey where- parser = takeLowerText >>= \case- "ip" -> pure IP- e -> fromTextError $ "Failure parsing RateKey from value: '" <> e- <> "'. Accepted values: ip"--instance ToText RateKey where- toText = \case- IP -> "IP"--instance Hashable RateKey-instance NFData RateKey-instance ToByteString RateKey-instance ToQuery RateKey-instance ToHeader RateKey--instance ToJSON RateKey where- toJSON = toJSONText--instance FromJSON RateKey where- parseJSON = parseJSONText "RateKey"--data TextTransformation- = CmdLine- | CompressWhiteSpace- | HTMLEntityDecode- | Lowercase- | None- | URLDecode- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText TextTransformation where- parser = takeLowerText >>= \case- "cmd_line" -> pure CmdLine- "compress_white_space" -> pure CompressWhiteSpace- "html_entity_decode" -> pure HTMLEntityDecode- "lowercase" -> pure Lowercase- "none" -> pure None- "url_decode" -> pure URLDecode- e -> fromTextError $ "Failure parsing TextTransformation from value: '" <> e- <> "'. Accepted values: cmd_line, compress_white_space, html_entity_decode, lowercase, none, url_decode"--instance ToText TextTransformation where- toText = \case- CmdLine -> "CMD_LINE"- CompressWhiteSpace -> "COMPRESS_WHITE_SPACE"- HTMLEntityDecode -> "HTML_ENTITY_DECODE"- Lowercase -> "LOWERCASE"- None -> "NONE"- URLDecode -> "URL_DECODE"--instance Hashable TextTransformation-instance NFData TextTransformation-instance ToByteString TextTransformation-instance ToQuery TextTransformation-instance ToHeader TextTransformation--instance ToJSON TextTransformation where- toJSON = toJSONText--instance FromJSON TextTransformation where- parseJSON = parseJSONText "TextTransformation"--data WafActionType- = Allow- | Block- | Count- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText WafActionType where- parser = takeLowerText >>= \case- "allow" -> pure Allow- "block" -> pure Block- "count" -> pure Count- e -> fromTextError $ "Failure parsing WafActionType from value: '" <> e- <> "'. Accepted values: allow, block, count"--instance ToText WafActionType where- toText = \case- Allow -> "ALLOW"- Block -> "BLOCK"- Count -> "COUNT"--instance Hashable WafActionType-instance NFData WafActionType-instance ToByteString WafActionType-instance ToQuery WafActionType-instance ToHeader WafActionType--instance ToJSON WafActionType where- toJSON = toJSONText--instance FromJSON WafActionType where- parseJSON = parseJSONText "WafActionType"--data WafOverrideActionType- = WOATCount- | WOATNone- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText WafOverrideActionType where- parser = takeLowerText >>= \case- "count" -> pure WOATCount- "none" -> pure WOATNone- e -> fromTextError $ "Failure parsing WafOverrideActionType from value: '" <> e- <> "'. Accepted values: count, none"--instance ToText WafOverrideActionType where- toText = \case- WOATCount -> "COUNT"- WOATNone -> "NONE"--instance Hashable WafOverrideActionType-instance NFData WafOverrideActionType-instance ToByteString WafOverrideActionType-instance ToQuery WafOverrideActionType-instance ToHeader WafOverrideActionType--instance ToJSON WafOverrideActionType where- toJSON = toJSONText--instance FromJSON WafOverrideActionType where- parseJSON = parseJSONText "WafOverrideActionType"--data WafRuleType- = Group- | RateBased- | Regular- deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText WafRuleType where- parser = takeLowerText >>= \case- "group" -> pure Group- "rate_based" -> pure RateBased- "regular" -> pure Regular- e -> fromTextError $ "Failure parsing WafRuleType from value: '" <> e- <> "'. Accepted values: group, rate_based, regular"--instance ToText WafRuleType where- toText = \case- Group -> "GROUP"- RateBased -> "RATE_BASED"- Regular -> "REGULAR"--instance Hashable WafRuleType-instance NFData WafRuleType-instance ToByteString WafRuleType-instance ToQuery WafRuleType-instance ToHeader WafRuleType--instance ToJSON WafRuleType where- toJSON = toJSONText--instance FromJSON WafRuleType where- parseJSON = parseJSONText "WafRuleType"
− gen/Network/AWS/WAF/UpdateByteMatchSet.hs
@@ -1,184 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateByteMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'ByteMatchTuple' objects (filters) in a 'ByteMatchSet' . For each @ByteMatchTuple@ object, you specify the following values:--------- * Whether to insert or delete the object from the array. If you want to change a @ByteMatchSetUpdate@ object, you delete the existing object and add a new one.------ * The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the @User-Agent@ header.------ * The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see @TargetString@ in the 'ByteMatchTuple' data type.------ * Where to look, such as at the beginning or the end of a query string.------ * Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.------------ For example, you can add a @ByteMatchSetUpdate@ object that matches web requests in which @User-Agent@ headers contain the string @BadBot@ . You can then configure AWS WAF to block those requests.------ To create and configure a @ByteMatchSet@ , perform the following steps:------ * Create a @ByteMatchSet.@ For more information, see 'CreateByteMatchSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of an @UpdateByteMatchSet@ request.------ * Submit an @UpdateByteMatchSet@ request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateByteMatchSet- (- -- * Creating a Request- updateByteMatchSet- , UpdateByteMatchSet- -- * Request Lenses- , ubmsByteMatchSetId- , ubmsChangeToken- , ubmsUpdates-- -- * Destructuring the Response- , updateByteMatchSetResponse- , UpdateByteMatchSetResponse- -- * Response Lenses- , ubmsrsChangeToken- , ubmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateByteMatchSet' smart constructor.-data UpdateByteMatchSet = UpdateByteMatchSet'- { _ubmsByteMatchSetId :: !Text- , _ubmsChangeToken :: !Text- , _ubmsUpdates :: !(List1 ByteMatchSetUpdate)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateByteMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ubmsByteMatchSetId' - The @ByteMatchSetId@ of the 'ByteMatchSet' that you want to update. @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .------ * 'ubmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .------ * 'ubmsUpdates' - An array of @ByteMatchSetUpdate@ objects that you want to insert into or delete from a 'ByteMatchSet' . For more information, see the applicable data types: * 'ByteMatchSetUpdate' : Contains @Action@ and @ByteMatchTuple@ * 'ByteMatchTuple' : Contains @FieldToMatch@ , @PositionalConstraint@ , @TargetString@ , and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@-updateByteMatchSet- :: Text -- ^ 'ubmsByteMatchSetId'- -> Text -- ^ 'ubmsChangeToken'- -> NonEmpty ByteMatchSetUpdate -- ^ 'ubmsUpdates'- -> UpdateByteMatchSet-updateByteMatchSet pByteMatchSetId_ pChangeToken_ pUpdates_ =- UpdateByteMatchSet'- { _ubmsByteMatchSetId = pByteMatchSetId_- , _ubmsChangeToken = pChangeToken_- , _ubmsUpdates = _List1 # pUpdates_- }----- | The @ByteMatchSetId@ of the 'ByteMatchSet' that you want to update. @ByteMatchSetId@ is returned by 'CreateByteMatchSet' and by 'ListByteMatchSets' .-ubmsByteMatchSetId :: Lens' UpdateByteMatchSet Text-ubmsByteMatchSetId = lens _ubmsByteMatchSetId (\ s a -> s{_ubmsByteMatchSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-ubmsChangeToken :: Lens' UpdateByteMatchSet Text-ubmsChangeToken = lens _ubmsChangeToken (\ s a -> s{_ubmsChangeToken = a})---- | An array of @ByteMatchSetUpdate@ objects that you want to insert into or delete from a 'ByteMatchSet' . For more information, see the applicable data types: * 'ByteMatchSetUpdate' : Contains @Action@ and @ByteMatchTuple@ * 'ByteMatchTuple' : Contains @FieldToMatch@ , @PositionalConstraint@ , @TargetString@ , and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@-ubmsUpdates :: Lens' UpdateByteMatchSet (NonEmpty ByteMatchSetUpdate)-ubmsUpdates = lens _ubmsUpdates (\ s a -> s{_ubmsUpdates = a}) . _List1--instance AWSRequest UpdateByteMatchSet where- type Rs UpdateByteMatchSet =- UpdateByteMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateByteMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateByteMatchSet where--instance NFData UpdateByteMatchSet where--instance ToHeaders UpdateByteMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateByteMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateByteMatchSet where- toJSON UpdateByteMatchSet'{..}- = object- (catMaybes- [Just ("ByteMatchSetId" .= _ubmsByteMatchSetId),- Just ("ChangeToken" .= _ubmsChangeToken),- Just ("Updates" .= _ubmsUpdates)])--instance ToPath UpdateByteMatchSet where- toPath = const "/"--instance ToQuery UpdateByteMatchSet where- toQuery = const mempty---- | /See:/ 'updateByteMatchSetResponse' smart constructor.-data UpdateByteMatchSetResponse = UpdateByteMatchSetResponse'- { _ubmsrsChangeToken :: !(Maybe Text)- , _ubmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateByteMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ubmsrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateByteMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'ubmsrsResponseStatus' - -- | The response status code.-updateByteMatchSetResponse- :: Int -- ^ 'ubmsrsResponseStatus'- -> UpdateByteMatchSetResponse-updateByteMatchSetResponse pResponseStatus_ =- UpdateByteMatchSetResponse'- {_ubmsrsChangeToken = Nothing, _ubmsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateByteMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-ubmsrsChangeToken :: Lens' UpdateByteMatchSetResponse (Maybe Text)-ubmsrsChangeToken = lens _ubmsrsChangeToken (\ s a -> s{_ubmsrsChangeToken = a})---- | -- | The response status code.-ubmsrsResponseStatus :: Lens' UpdateByteMatchSetResponse Int-ubmsrsResponseStatus = lens _ubmsrsResponseStatus (\ s a -> s{_ubmsrsResponseStatus = a})--instance NFData UpdateByteMatchSetResponse where
− gen/Network/AWS/WAF/UpdateGeoMatchSet.hs
@@ -1,179 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateGeoMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'GeoMatchConstraint' objects in an @GeoMatchSet@ . For each @GeoMatchConstraint@ object, you specify the following values:--------- * Whether to insert or delete the object from the array. If you want to change an @GeoMatchConstraint@ object, you delete the existing object and add a new one.------ * The @Type@ . The only valid value for @Type@ is @Country@ .------ * The @Value@ , which is a two character code for the country to add to the @GeoMatchConstraint@ object. Valid codes are listed in 'GeoMatchConstraint$Value' .------------ To create and configure an @GeoMatchSet@ , perform the following steps:------ * Submit a 'CreateGeoMatchSet' request.------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateGeoMatchSet' request.------ * Submit an @UpdateGeoMatchSet@ request to specify the country that you want AWS WAF to watch for.------------ When you update an @GeoMatchSet@ , you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one.------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateGeoMatchSet- (- -- * Creating a Request- updateGeoMatchSet- , UpdateGeoMatchSet- -- * Request Lenses- , ugmsGeoMatchSetId- , ugmsChangeToken- , ugmsUpdates-- -- * Destructuring the Response- , updateGeoMatchSetResponse- , UpdateGeoMatchSetResponse- -- * Response Lenses- , ugmsrsChangeToken- , ugmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateGeoMatchSet' smart constructor.-data UpdateGeoMatchSet = UpdateGeoMatchSet'- { _ugmsGeoMatchSetId :: !Text- , _ugmsChangeToken :: !Text- , _ugmsUpdates :: !(List1 GeoMatchSetUpdate)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateGeoMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ugmsGeoMatchSetId' - The @GeoMatchSetId@ of the 'GeoMatchSet' that you want to update. @GeoMatchSetId@ is returned by 'CreateGeoMatchSet' and by 'ListGeoMatchSets' .------ * 'ugmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .------ * 'ugmsUpdates' - An array of @GeoMatchSetUpdate@ objects that you want to insert into or delete from an 'GeoMatchSet' . For more information, see the applicable data types: * 'GeoMatchSetUpdate' : Contains @Action@ and @GeoMatchConstraint@ * 'GeoMatchConstraint' : Contains @Type@ and @Value@ You can have only one @Type@ and @Value@ per @GeoMatchConstraint@ . To add multiple countries, include multiple @GeoMatchSetUpdate@ objects in your request.-updateGeoMatchSet- :: Text -- ^ 'ugmsGeoMatchSetId'- -> Text -- ^ 'ugmsChangeToken'- -> NonEmpty GeoMatchSetUpdate -- ^ 'ugmsUpdates'- -> UpdateGeoMatchSet-updateGeoMatchSet pGeoMatchSetId_ pChangeToken_ pUpdates_ =- UpdateGeoMatchSet'- { _ugmsGeoMatchSetId = pGeoMatchSetId_- , _ugmsChangeToken = pChangeToken_- , _ugmsUpdates = _List1 # pUpdates_- }----- | The @GeoMatchSetId@ of the 'GeoMatchSet' that you want to update. @GeoMatchSetId@ is returned by 'CreateGeoMatchSet' and by 'ListGeoMatchSets' .-ugmsGeoMatchSetId :: Lens' UpdateGeoMatchSet Text-ugmsGeoMatchSetId = lens _ugmsGeoMatchSetId (\ s a -> s{_ugmsGeoMatchSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-ugmsChangeToken :: Lens' UpdateGeoMatchSet Text-ugmsChangeToken = lens _ugmsChangeToken (\ s a -> s{_ugmsChangeToken = a})---- | An array of @GeoMatchSetUpdate@ objects that you want to insert into or delete from an 'GeoMatchSet' . For more information, see the applicable data types: * 'GeoMatchSetUpdate' : Contains @Action@ and @GeoMatchConstraint@ * 'GeoMatchConstraint' : Contains @Type@ and @Value@ You can have only one @Type@ and @Value@ per @GeoMatchConstraint@ . To add multiple countries, include multiple @GeoMatchSetUpdate@ objects in your request.-ugmsUpdates :: Lens' UpdateGeoMatchSet (NonEmpty GeoMatchSetUpdate)-ugmsUpdates = lens _ugmsUpdates (\ s a -> s{_ugmsUpdates = a}) . _List1--instance AWSRequest UpdateGeoMatchSet where- type Rs UpdateGeoMatchSet = UpdateGeoMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateGeoMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateGeoMatchSet where--instance NFData UpdateGeoMatchSet where--instance ToHeaders UpdateGeoMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateGeoMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateGeoMatchSet where- toJSON UpdateGeoMatchSet'{..}- = object- (catMaybes- [Just ("GeoMatchSetId" .= _ugmsGeoMatchSetId),- Just ("ChangeToken" .= _ugmsChangeToken),- Just ("Updates" .= _ugmsUpdates)])--instance ToPath UpdateGeoMatchSet where- toPath = const "/"--instance ToQuery UpdateGeoMatchSet where- toQuery = const mempty---- | /See:/ 'updateGeoMatchSetResponse' smart constructor.-data UpdateGeoMatchSetResponse = UpdateGeoMatchSetResponse'- { _ugmsrsChangeToken :: !(Maybe Text)- , _ugmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateGeoMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ugmsrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateGeoMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'ugmsrsResponseStatus' - -- | The response status code.-updateGeoMatchSetResponse- :: Int -- ^ 'ugmsrsResponseStatus'- -> UpdateGeoMatchSetResponse-updateGeoMatchSetResponse pResponseStatus_ =- UpdateGeoMatchSetResponse'- {_ugmsrsChangeToken = Nothing, _ugmsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateGeoMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-ugmsrsChangeToken :: Lens' UpdateGeoMatchSetResponse (Maybe Text)-ugmsrsChangeToken = lens _ugmsrsChangeToken (\ s a -> s{_ugmsrsChangeToken = a})---- | -- | The response status code.-ugmsrsResponseStatus :: Lens' UpdateGeoMatchSetResponse Int-ugmsrsResponseStatus = lens _ugmsrsResponseStatus (\ s a -> s{_ugmsrsResponseStatus = a})--instance NFData UpdateGeoMatchSetResponse where
− gen/Network/AWS/WAF/UpdateIPSet.hs
@@ -1,195 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateIPSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'IPSetDescriptor' objects in an @IPSet@ . For each @IPSetDescriptor@ object, you specify the following values:--------- * Whether to insert or delete the object from the array. If you want to change an @IPSetDescriptor@ object, you delete the existing object and add a new one.------ * The IP address version, @IPv4@ or @IPv6@ .------ * The IP address in CIDR notation, for example, @192.0.2.0/24@ (for the range of IP addresses from @192.0.2.0@ to @192.0.2.255@ ) or @192.0.2.44/32@ (for the individual IP address @192.0.2.44@ ).------------ AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6. For more information about CIDR notation, see the Wikipedia entry <https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing> .------ IPv6 addresses can be represented using any of the following formats:------ * 1111:0000:0000:0000:0000:0000:0000:0111/128------ * 1111:0:0:0:0:0:0:0111/128------ * 1111::0111/128------ * 1111::111/128------------ You use an @IPSet@ to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an @IPSet@ that specifies those IP addresses, and then configure AWS WAF to block the requests.------ To create and configure an @IPSet@ , perform the following steps:------ * Submit a 'CreateIPSet' request.------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateIPSet' request.------ * Submit an @UpdateIPSet@ request to specify the IP addresses that you want AWS WAF to watch for.------------ When you update an @IPSet@ , you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateIPSet- (- -- * Creating a Request- updateIPSet- , UpdateIPSet- -- * Request Lenses- , uisIPSetId- , uisChangeToken- , uisUpdates-- -- * Destructuring the Response- , updateIPSetResponse- , UpdateIPSetResponse- -- * Response Lenses- , uisrsChangeToken- , uisrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateIPSet' smart constructor.-data UpdateIPSet = UpdateIPSet'- { _uisIPSetId :: !Text- , _uisChangeToken :: !Text- , _uisUpdates :: !(List1 IPSetUpdate)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateIPSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uisIPSetId' - The @IPSetId@ of the 'IPSet' that you want to update. @IPSetId@ is returned by 'CreateIPSet' and by 'ListIPSets' .------ * 'uisChangeToken' - The value returned by the most recent call to 'GetChangeToken' .------ * 'uisUpdates' - An array of @IPSetUpdate@ objects that you want to insert into or delete from an 'IPSet' . For more information, see the applicable data types: * 'IPSetUpdate' : Contains @Action@ and @IPSetDescriptor@ * 'IPSetDescriptor' : Contains @Type@ and @Value@-updateIPSet- :: Text -- ^ 'uisIPSetId'- -> Text -- ^ 'uisChangeToken'- -> NonEmpty IPSetUpdate -- ^ 'uisUpdates'- -> UpdateIPSet-updateIPSet pIPSetId_ pChangeToken_ pUpdates_ =- UpdateIPSet'- { _uisIPSetId = pIPSetId_- , _uisChangeToken = pChangeToken_- , _uisUpdates = _List1 # pUpdates_- }----- | The @IPSetId@ of the 'IPSet' that you want to update. @IPSetId@ is returned by 'CreateIPSet' and by 'ListIPSets' .-uisIPSetId :: Lens' UpdateIPSet Text-uisIPSetId = lens _uisIPSetId (\ s a -> s{_uisIPSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-uisChangeToken :: Lens' UpdateIPSet Text-uisChangeToken = lens _uisChangeToken (\ s a -> s{_uisChangeToken = a})---- | An array of @IPSetUpdate@ objects that you want to insert into or delete from an 'IPSet' . For more information, see the applicable data types: * 'IPSetUpdate' : Contains @Action@ and @IPSetDescriptor@ * 'IPSetDescriptor' : Contains @Type@ and @Value@-uisUpdates :: Lens' UpdateIPSet (NonEmpty IPSetUpdate)-uisUpdates = lens _uisUpdates (\ s a -> s{_uisUpdates = a}) . _List1--instance AWSRequest UpdateIPSet where- type Rs UpdateIPSet = UpdateIPSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateIPSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateIPSet where--instance NFData UpdateIPSet where--instance ToHeaders UpdateIPSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateIPSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateIPSet where- toJSON UpdateIPSet'{..}- = object- (catMaybes- [Just ("IPSetId" .= _uisIPSetId),- Just ("ChangeToken" .= _uisChangeToken),- Just ("Updates" .= _uisUpdates)])--instance ToPath UpdateIPSet where- toPath = const "/"--instance ToQuery UpdateIPSet where- toQuery = const mempty---- | /See:/ 'updateIPSetResponse' smart constructor.-data UpdateIPSetResponse = UpdateIPSetResponse'- { _uisrsChangeToken :: !(Maybe Text)- , _uisrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateIPSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uisrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateIPSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'uisrsResponseStatus' - -- | The response status code.-updateIPSetResponse- :: Int -- ^ 'uisrsResponseStatus'- -> UpdateIPSetResponse-updateIPSetResponse pResponseStatus_ =- UpdateIPSetResponse'- {_uisrsChangeToken = Nothing, _uisrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateIPSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-uisrsChangeToken :: Lens' UpdateIPSetResponse (Maybe Text)-uisrsChangeToken = lens _uisrsChangeToken (\ s a -> s{_uisrsChangeToken = a})---- | -- | The response status code.-uisrsResponseStatus :: Lens' UpdateIPSetResponse Int-uisrsResponseStatus = lens _uisrsResponseStatus (\ s a -> s{_uisrsResponseStatus = a})--instance NFData UpdateIPSetResponse where
− gen/Network/AWS/WAF/UpdateRateBasedRule.hs
@@ -1,197 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateRateBasedRule--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'Predicate' objects in a rule and updates the @RateLimit@ in the rule.--------- Each @Predicate@ object identifies a predicate, such as a 'ByteMatchSet' or an 'IPSet' , that specifies the web requests that you want to block or count. The @RateLimit@ specifies the number of requests every five minutes that triggers the rule.------ If you add more than one predicate to a @RateBasedRule@ , a request must match all the predicates and exceed the @RateLimit@ to be counted or blocked. For example, suppose you add the following to a @RateBasedRule@ :------ * An @IPSet@ that matches the IP address @192.0.2.44/32@------ * A @ByteMatchSet@ that matches @BadBot@ in the @User-Agent@ header------------ Further, you specify a @RateLimit@ of 15,000.------ You then add the @RateBasedRule@ to a @WebACL@ and specify that you want to block requests that satisfy the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 /and/ the @User-Agent@ header in the request must contain the value @BadBot@ . Further, requests that match these two conditions much be received at a rate of more than 15,000 every five minutes. If the rate drops below this limit, AWS WAF no longer blocks the requests.------ As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a @RateBasedRule@ :------ * A @ByteMatchSet@ with @FieldToMatch@ of @URI@------ * A @PositionalConstraint@ of @STARTS_WITH@------ * A @TargetString@ of @login@------------ Further, you specify a @RateLimit@ of 15,000.------ By adding this @RateBasedRule@ to a @WebACL@ , you could limit requests to your login page without affecting the rest of your site.----module Network.AWS.WAF.UpdateRateBasedRule- (- -- * Creating a Request- updateRateBasedRule- , UpdateRateBasedRule- -- * Request Lenses- , urbrRuleId- , urbrChangeToken- , urbrUpdates- , urbrRateLimit-- -- * Destructuring the Response- , updateRateBasedRuleResponse- , UpdateRateBasedRuleResponse- -- * Response Lenses- , urbrrsChangeToken- , urbrrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateRateBasedRule' smart constructor.-data UpdateRateBasedRule = UpdateRateBasedRule'- { _urbrRuleId :: !Text- , _urbrChangeToken :: !Text- , _urbrUpdates :: ![RuleUpdate]- , _urbrRateLimit :: !Nat- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRateBasedRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urbrRuleId' - The @RuleId@ of the @RateBasedRule@ that you want to update. @RuleId@ is returned by @CreateRateBasedRule@ and by 'ListRateBasedRules' .------ * 'urbrChangeToken' - The value returned by the most recent call to 'GetChangeToken' .------ * 'urbrUpdates' - An array of @RuleUpdate@ objects that you want to insert into or delete from a 'RateBasedRule' .------ * 'urbrRateLimit' - The maximum number of requests, which have an identical value in the field specified by the @RateKey@ , allowed in a five-minute period. If the number of requests exceeds the @RateLimit@ and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.-updateRateBasedRule- :: Text -- ^ 'urbrRuleId'- -> Text -- ^ 'urbrChangeToken'- -> Natural -- ^ 'urbrRateLimit'- -> UpdateRateBasedRule-updateRateBasedRule pRuleId_ pChangeToken_ pRateLimit_ =- UpdateRateBasedRule'- { _urbrRuleId = pRuleId_- , _urbrChangeToken = pChangeToken_- , _urbrUpdates = mempty- , _urbrRateLimit = _Nat # pRateLimit_- }----- | The @RuleId@ of the @RateBasedRule@ that you want to update. @RuleId@ is returned by @CreateRateBasedRule@ and by 'ListRateBasedRules' .-urbrRuleId :: Lens' UpdateRateBasedRule Text-urbrRuleId = lens _urbrRuleId (\ s a -> s{_urbrRuleId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-urbrChangeToken :: Lens' UpdateRateBasedRule Text-urbrChangeToken = lens _urbrChangeToken (\ s a -> s{_urbrChangeToken = a})---- | An array of @RuleUpdate@ objects that you want to insert into or delete from a 'RateBasedRule' .-urbrUpdates :: Lens' UpdateRateBasedRule [RuleUpdate]-urbrUpdates = lens _urbrUpdates (\ s a -> s{_urbrUpdates = a}) . _Coerce---- | The maximum number of requests, which have an identical value in the field specified by the @RateKey@ , allowed in a five-minute period. If the number of requests exceeds the @RateLimit@ and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.-urbrRateLimit :: Lens' UpdateRateBasedRule Natural-urbrRateLimit = lens _urbrRateLimit (\ s a -> s{_urbrRateLimit = a}) . _Nat--instance AWSRequest UpdateRateBasedRule where- type Rs UpdateRateBasedRule =- UpdateRateBasedRuleResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateRateBasedRuleResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateRateBasedRule where--instance NFData UpdateRateBasedRule where--instance ToHeaders UpdateRateBasedRule where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateRateBasedRule" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateRateBasedRule where- toJSON UpdateRateBasedRule'{..}- = object- (catMaybes- [Just ("RuleId" .= _urbrRuleId),- Just ("ChangeToken" .= _urbrChangeToken),- Just ("Updates" .= _urbrUpdates),- Just ("RateLimit" .= _urbrRateLimit)])--instance ToPath UpdateRateBasedRule where- toPath = const "/"--instance ToQuery UpdateRateBasedRule where- toQuery = const mempty---- | /See:/ 'updateRateBasedRuleResponse' smart constructor.-data UpdateRateBasedRuleResponse = UpdateRateBasedRuleResponse'- { _urbrrsChangeToken :: !(Maybe Text)- , _urbrrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRateBasedRuleResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urbrrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateRateBasedRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'urbrrsResponseStatus' - -- | The response status code.-updateRateBasedRuleResponse- :: Int -- ^ 'urbrrsResponseStatus'- -> UpdateRateBasedRuleResponse-updateRateBasedRuleResponse pResponseStatus_ =- UpdateRateBasedRuleResponse'- {_urbrrsChangeToken = Nothing, _urbrrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateRateBasedRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-urbrrsChangeToken :: Lens' UpdateRateBasedRuleResponse (Maybe Text)-urbrrsChangeToken = lens _urbrrsChangeToken (\ s a -> s{_urbrrsChangeToken = a})---- | -- | The response status code.-urbrrsResponseStatus :: Lens' UpdateRateBasedRuleResponse Int-urbrrsResponseStatus = lens _urbrrsResponseStatus (\ s a -> s{_urbrrsResponseStatus = a})--instance NFData UpdateRateBasedRuleResponse where
− gen/Network/AWS/WAF/UpdateRegexMatchSet.hs
@@ -1,183 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateRegexMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'RegexMatchTuple' objects (filters) in a 'RegexMatchSet' . For each @RegexMatchSetUpdate@ object, you specify the following values:--------- * Whether to insert or delete the object from the array. If you want to change a @RegexMatchSetUpdate@ object, you delete the existing object and add a new one.------ * The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the @User-Agent@ header.------ * The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see 'RegexPatternSet' .------ * Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.------------ For example, you can create a @RegexPatternSet@ that matches any requests with @User-Agent@ headers that contain the string @B[a@]dB[o0]t@ . You can then configure AWS WAF to reject those requests.------ To create and configure a @RegexMatchSet@ , perform the following steps:------ * Create a @RegexMatchSet.@ For more information, see 'CreateRegexMatchSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of an @UpdateRegexMatchSet@ request.------ * Submit an @UpdateRegexMatchSet@ request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the @RegexPatternSet@ that contain the regular expression patters you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateRegexMatchSet- (- -- * Creating a Request- updateRegexMatchSet- , UpdateRegexMatchSet- -- * Request Lenses- , urmsRegexMatchSetId- , urmsUpdates- , urmsChangeToken-- -- * Destructuring the Response- , updateRegexMatchSetResponse- , UpdateRegexMatchSetResponse- -- * Response Lenses- , urmsrsChangeToken- , urmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateRegexMatchSet' smart constructor.-data UpdateRegexMatchSet = UpdateRegexMatchSet'- { _urmsRegexMatchSetId :: !Text- , _urmsUpdates :: !(List1 RegexMatchSetUpdate)- , _urmsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRegexMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urmsRegexMatchSetId' - The @RegexMatchSetId@ of the 'RegexMatchSet' that you want to update. @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .------ * 'urmsUpdates' - An array of @RegexMatchSetUpdate@ objects that you want to insert into or delete from a 'RegexMatchSet' . For more information, see 'RegexMatchTuple' .------ * 'urmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-updateRegexMatchSet- :: Text -- ^ 'urmsRegexMatchSetId'- -> NonEmpty RegexMatchSetUpdate -- ^ 'urmsUpdates'- -> Text -- ^ 'urmsChangeToken'- -> UpdateRegexMatchSet-updateRegexMatchSet pRegexMatchSetId_ pUpdates_ pChangeToken_ =- UpdateRegexMatchSet'- { _urmsRegexMatchSetId = pRegexMatchSetId_- , _urmsUpdates = _List1 # pUpdates_- , _urmsChangeToken = pChangeToken_- }----- | The @RegexMatchSetId@ of the 'RegexMatchSet' that you want to update. @RegexMatchSetId@ is returned by 'CreateRegexMatchSet' and by 'ListRegexMatchSets' .-urmsRegexMatchSetId :: Lens' UpdateRegexMatchSet Text-urmsRegexMatchSetId = lens _urmsRegexMatchSetId (\ s a -> s{_urmsRegexMatchSetId = a})---- | An array of @RegexMatchSetUpdate@ objects that you want to insert into or delete from a 'RegexMatchSet' . For more information, see 'RegexMatchTuple' .-urmsUpdates :: Lens' UpdateRegexMatchSet (NonEmpty RegexMatchSetUpdate)-urmsUpdates = lens _urmsUpdates (\ s a -> s{_urmsUpdates = a}) . _List1---- | The value returned by the most recent call to 'GetChangeToken' .-urmsChangeToken :: Lens' UpdateRegexMatchSet Text-urmsChangeToken = lens _urmsChangeToken (\ s a -> s{_urmsChangeToken = a})--instance AWSRequest UpdateRegexMatchSet where- type Rs UpdateRegexMatchSet =- UpdateRegexMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateRegexMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateRegexMatchSet where--instance NFData UpdateRegexMatchSet where--instance ToHeaders UpdateRegexMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateRegexMatchSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateRegexMatchSet where- toJSON UpdateRegexMatchSet'{..}- = object- (catMaybes- [Just ("RegexMatchSetId" .= _urmsRegexMatchSetId),- Just ("Updates" .= _urmsUpdates),- Just ("ChangeToken" .= _urmsChangeToken)])--instance ToPath UpdateRegexMatchSet where- toPath = const "/"--instance ToQuery UpdateRegexMatchSet where- toQuery = const mempty---- | /See:/ 'updateRegexMatchSetResponse' smart constructor.-data UpdateRegexMatchSetResponse = UpdateRegexMatchSetResponse'- { _urmsrsChangeToken :: !(Maybe Text)- , _urmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRegexMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urmsrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateRegexMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'urmsrsResponseStatus' - -- | The response status code.-updateRegexMatchSetResponse- :: Int -- ^ 'urmsrsResponseStatus'- -> UpdateRegexMatchSetResponse-updateRegexMatchSetResponse pResponseStatus_ =- UpdateRegexMatchSetResponse'- {_urmsrsChangeToken = Nothing, _urmsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateRegexMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-urmsrsChangeToken :: Lens' UpdateRegexMatchSetResponse (Maybe Text)-urmsrsChangeToken = lens _urmsrsChangeToken (\ s a -> s{_urmsrsChangeToken = a})---- | -- | The response status code.-urmsrsResponseStatus :: Lens' UpdateRegexMatchSetResponse Int-urmsrsResponseStatus = lens _urmsrsResponseStatus (\ s a -> s{_urmsrsResponseStatus = a})--instance NFData UpdateRegexMatchSetResponse where
− gen/Network/AWS/WAF/UpdateRegexPatternSet.hs
@@ -1,190 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateRegexPatternSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes @RegexPatternString@ objects in a 'RegexPatternSet' . For each @RegexPatternString@ object, you specify the following values:--------- * Whether to insert or delete the @RegexPatternString@ .------ * The regular expression pattern that you want to insert or delete. For more information, see 'RegexPatternSet' .------------ For example, you can create a @RegexPatternString@ such as @B[a@]dB[o0]t@ . AWS WAF will match this @RegexPatternString@ to:------ * BadBot------ * BadB0t------ * B@dBot------ * B@dB0t------------ To create and configure a @RegexPatternSet@ , perform the following steps:------ * Create a @RegexPatternSet.@ For more information, see 'CreateRegexPatternSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of an @UpdateRegexPatternSet@ request.------ * Submit an @UpdateRegexPatternSet@ request to specify the regular expression pattern that you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateRegexPatternSet- (- -- * Creating a Request- updateRegexPatternSet- , UpdateRegexPatternSet- -- * Request Lenses- , urpsRegexPatternSetId- , urpsUpdates- , urpsChangeToken-- -- * Destructuring the Response- , updateRegexPatternSetResponse- , UpdateRegexPatternSetResponse- -- * Response Lenses- , urpsrsChangeToken- , urpsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateRegexPatternSet' smart constructor.-data UpdateRegexPatternSet = UpdateRegexPatternSet'- { _urpsRegexPatternSetId :: !Text- , _urpsUpdates :: !(List1 RegexPatternSetUpdate)- , _urpsChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRegexPatternSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urpsRegexPatternSetId' - The @RegexPatternSetId@ of the 'RegexPatternSet' that you want to update. @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .------ * 'urpsUpdates' - An array of @RegexPatternSetUpdate@ objects that you want to insert into or delete from a 'RegexPatternSet' .------ * 'urpsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-updateRegexPatternSet- :: Text -- ^ 'urpsRegexPatternSetId'- -> NonEmpty RegexPatternSetUpdate -- ^ 'urpsUpdates'- -> Text -- ^ 'urpsChangeToken'- -> UpdateRegexPatternSet-updateRegexPatternSet pRegexPatternSetId_ pUpdates_ pChangeToken_ =- UpdateRegexPatternSet'- { _urpsRegexPatternSetId = pRegexPatternSetId_- , _urpsUpdates = _List1 # pUpdates_- , _urpsChangeToken = pChangeToken_- }----- | The @RegexPatternSetId@ of the 'RegexPatternSet' that you want to update. @RegexPatternSetId@ is returned by 'CreateRegexPatternSet' and by 'ListRegexPatternSets' .-urpsRegexPatternSetId :: Lens' UpdateRegexPatternSet Text-urpsRegexPatternSetId = lens _urpsRegexPatternSetId (\ s a -> s{_urpsRegexPatternSetId = a})---- | An array of @RegexPatternSetUpdate@ objects that you want to insert into or delete from a 'RegexPatternSet' .-urpsUpdates :: Lens' UpdateRegexPatternSet (NonEmpty RegexPatternSetUpdate)-urpsUpdates = lens _urpsUpdates (\ s a -> s{_urpsUpdates = a}) . _List1---- | The value returned by the most recent call to 'GetChangeToken' .-urpsChangeToken :: Lens' UpdateRegexPatternSet Text-urpsChangeToken = lens _urpsChangeToken (\ s a -> s{_urpsChangeToken = a})--instance AWSRequest UpdateRegexPatternSet where- type Rs UpdateRegexPatternSet =- UpdateRegexPatternSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateRegexPatternSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateRegexPatternSet where--instance NFData UpdateRegexPatternSet where--instance ToHeaders UpdateRegexPatternSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateRegexPatternSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateRegexPatternSet where- toJSON UpdateRegexPatternSet'{..}- = object- (catMaybes- [Just- ("RegexPatternSetId" .= _urpsRegexPatternSetId),- Just ("Updates" .= _urpsUpdates),- Just ("ChangeToken" .= _urpsChangeToken)])--instance ToPath UpdateRegexPatternSet where- toPath = const "/"--instance ToQuery UpdateRegexPatternSet where- toQuery = const mempty---- | /See:/ 'updateRegexPatternSetResponse' smart constructor.-data UpdateRegexPatternSetResponse = UpdateRegexPatternSetResponse'- { _urpsrsChangeToken :: !(Maybe Text)- , _urpsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRegexPatternSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urpsrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateRegexPatternSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'urpsrsResponseStatus' - -- | The response status code.-updateRegexPatternSetResponse- :: Int -- ^ 'urpsrsResponseStatus'- -> UpdateRegexPatternSetResponse-updateRegexPatternSetResponse pResponseStatus_ =- UpdateRegexPatternSetResponse'- {_urpsrsChangeToken = Nothing, _urpsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateRegexPatternSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-urpsrsChangeToken :: Lens' UpdateRegexPatternSetResponse (Maybe Text)-urpsrsChangeToken = lens _urpsrsChangeToken (\ s a -> s{_urpsrsChangeToken = a})---- | -- | The response status code.-urpsrsResponseStatus :: Lens' UpdateRegexPatternSetResponse Int-urpsrsResponseStatus = lens _urpsrsResponseStatus (\ s a -> s{_urpsrsResponseStatus = a})--instance NFData UpdateRegexPatternSetResponse where
− gen/Network/AWS/WAF/UpdateRule.hs
@@ -1,179 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateRule--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'Predicate' objects in a @Rule@ . Each @Predicate@ object identifies a predicate, such as a 'ByteMatchSet' or an 'IPSet' , that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a @Rule@ , a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose you add the following to a @Rule@ :--------- * A @ByteMatchSet@ that matches the value @BadBot@ in the @User-Agent@ header------ * An @IPSet@ that matches the IP address @192.0.2.44@------------ You then add the @Rule@ to a @WebACL@ and specify that you want to block requests that satisfy the @Rule@ . For a request to be blocked, the @User-Agent@ header in the request must contain the value @BadBot@ /and/ the request must originate from the IP address 192.0.2.44.------ To create and configure a @Rule@ , perform the following steps:------ * Create and update the predicates that you want to include in the @Rule@ .------ * Create the @Rule@ . See 'CreateRule' .------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateRule' request.------ * Submit an @UpdateRule@ request to add predicates to the @Rule@ .------ * Create and update a @WebACL@ that contains the @Rule@ . See 'CreateWebACL' .------------ If you want to replace one @ByteMatchSet@ or @IPSet@ with another, you delete the existing one and add the new one.------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateRule- (- -- * Creating a Request- updateRule- , UpdateRule- -- * Request Lenses- , urRuleId- , urChangeToken- , urUpdates-- -- * Destructuring the Response- , updateRuleResponse- , UpdateRuleResponse- -- * Response Lenses- , urrsChangeToken- , urrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateRule' smart constructor.-data UpdateRule = UpdateRule'- { _urRuleId :: !Text- , _urChangeToken :: !Text- , _urUpdates :: ![RuleUpdate]- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urRuleId' - The @RuleId@ of the @Rule@ that you want to update. @RuleId@ is returned by @CreateRule@ and by 'ListRules' .------ * 'urChangeToken' - The value returned by the most recent call to 'GetChangeToken' .------ * 'urUpdates' - An array of @RuleUpdate@ objects that you want to insert into or delete from a 'Rule' . For more information, see the applicable data types: * 'RuleUpdate' : Contains @Action@ and @Predicate@ * 'Predicate' : Contains @DataId@ , @Negated@ , and @Type@ * 'FieldToMatch' : Contains @Data@ and @Type@-updateRule- :: Text -- ^ 'urRuleId'- -> Text -- ^ 'urChangeToken'- -> UpdateRule-updateRule pRuleId_ pChangeToken_ =- UpdateRule'- {_urRuleId = pRuleId_, _urChangeToken = pChangeToken_, _urUpdates = mempty}----- | The @RuleId@ of the @Rule@ that you want to update. @RuleId@ is returned by @CreateRule@ and by 'ListRules' .-urRuleId :: Lens' UpdateRule Text-urRuleId = lens _urRuleId (\ s a -> s{_urRuleId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-urChangeToken :: Lens' UpdateRule Text-urChangeToken = lens _urChangeToken (\ s a -> s{_urChangeToken = a})---- | An array of @RuleUpdate@ objects that you want to insert into or delete from a 'Rule' . For more information, see the applicable data types: * 'RuleUpdate' : Contains @Action@ and @Predicate@ * 'Predicate' : Contains @DataId@ , @Negated@ , and @Type@ * 'FieldToMatch' : Contains @Data@ and @Type@-urUpdates :: Lens' UpdateRule [RuleUpdate]-urUpdates = lens _urUpdates (\ s a -> s{_urUpdates = a}) . _Coerce--instance AWSRequest UpdateRule where- type Rs UpdateRule = UpdateRuleResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateRuleResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateRule where--instance NFData UpdateRule where--instance ToHeaders UpdateRule where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateRule" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateRule where- toJSON UpdateRule'{..}- = object- (catMaybes- [Just ("RuleId" .= _urRuleId),- Just ("ChangeToken" .= _urChangeToken),- Just ("Updates" .= _urUpdates)])--instance ToPath UpdateRule where- toPath = const "/"--instance ToQuery UpdateRule where- toQuery = const mempty---- | /See:/ 'updateRuleResponse' smart constructor.-data UpdateRuleResponse = UpdateRuleResponse'- { _urrsChangeToken :: !(Maybe Text)- , _urrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRuleResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'urrsResponseStatus' - -- | The response status code.-updateRuleResponse- :: Int -- ^ 'urrsResponseStatus'- -> UpdateRuleResponse-updateRuleResponse pResponseStatus_ =- UpdateRuleResponse'- {_urrsChangeToken = Nothing, _urrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateRule@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-urrsChangeToken :: Lens' UpdateRuleResponse (Maybe Text)-urrsChangeToken = lens _urrsChangeToken (\ s a -> s{_urrsChangeToken = a})---- | -- | The response status code.-urrsResponseStatus :: Lens' UpdateRuleResponse Int-urrsResponseStatus = lens _urrsResponseStatus (\ s a -> s{_urrsResponseStatus = a})--instance NFData UpdateRuleResponse where
− gen/Network/AWS/WAF/UpdateRuleGroup.hs
@@ -1,177 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateRuleGroup--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'ActivatedRule' objects in a @RuleGroup@ .--------- You can only insert @REGULAR@ rules into a rule group.------ You can have a maximum of ten rules per rule group.------ To create and configure a @RuleGroup@ , perform the following steps:------ * Create and update the @Rules@ that you want to include in the @RuleGroup@ . See 'CreateRule' .------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateRuleGroup' request.------ * Submit an @UpdateRuleGroup@ request to add @Rules@ to the @RuleGroup@ .------ * Create and update a @WebACL@ that contains the @RuleGroup@ . See 'CreateWebACL' .------------ If you want to replace one @Rule@ with another, you delete the existing one and add the new one.------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateRuleGroup- (- -- * Creating a Request- updateRuleGroup- , UpdateRuleGroup- -- * Request Lenses- , urgRuleGroupId- , urgUpdates- , urgChangeToken-- -- * Destructuring the Response- , updateRuleGroupResponse- , UpdateRuleGroupResponse- -- * Response Lenses- , urgrsChangeToken- , urgrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateRuleGroup' smart constructor.-data UpdateRuleGroup = UpdateRuleGroup'- { _urgRuleGroupId :: !Text- , _urgUpdates :: !(List1 RuleGroupUpdate)- , _urgChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRuleGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urgRuleGroupId' - The @RuleGroupId@ of the 'RuleGroup' that you want to update. @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .------ * 'urgUpdates' - An array of @RuleGroupUpdate@ objects that you want to insert into or delete from a 'RuleGroup' . You can only insert @REGULAR@ rules into a rule group. @ActivatedRule|OverrideAction@ applies only when updating or adding a @RuleGroup@ to a @WebACL@ . In this case you do not use @ActivatedRule|Action@ . For all other update requests, @ActivatedRule|Action@ is used instead of @ActivatedRule|OverrideAction@ .------ * 'urgChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-updateRuleGroup- :: Text -- ^ 'urgRuleGroupId'- -> NonEmpty RuleGroupUpdate -- ^ 'urgUpdates'- -> Text -- ^ 'urgChangeToken'- -> UpdateRuleGroup-updateRuleGroup pRuleGroupId_ pUpdates_ pChangeToken_ =- UpdateRuleGroup'- { _urgRuleGroupId = pRuleGroupId_- , _urgUpdates = _List1 # pUpdates_- , _urgChangeToken = pChangeToken_- }----- | The @RuleGroupId@ of the 'RuleGroup' that you want to update. @RuleGroupId@ is returned by 'CreateRuleGroup' and by 'ListRuleGroups' .-urgRuleGroupId :: Lens' UpdateRuleGroup Text-urgRuleGroupId = lens _urgRuleGroupId (\ s a -> s{_urgRuleGroupId = a})---- | An array of @RuleGroupUpdate@ objects that you want to insert into or delete from a 'RuleGroup' . You can only insert @REGULAR@ rules into a rule group. @ActivatedRule|OverrideAction@ applies only when updating or adding a @RuleGroup@ to a @WebACL@ . In this case you do not use @ActivatedRule|Action@ . For all other update requests, @ActivatedRule|Action@ is used instead of @ActivatedRule|OverrideAction@ .-urgUpdates :: Lens' UpdateRuleGroup (NonEmpty RuleGroupUpdate)-urgUpdates = lens _urgUpdates (\ s a -> s{_urgUpdates = a}) . _List1---- | The value returned by the most recent call to 'GetChangeToken' .-urgChangeToken :: Lens' UpdateRuleGroup Text-urgChangeToken = lens _urgChangeToken (\ s a -> s{_urgChangeToken = a})--instance AWSRequest UpdateRuleGroup where- type Rs UpdateRuleGroup = UpdateRuleGroupResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateRuleGroupResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateRuleGroup where--instance NFData UpdateRuleGroup where--instance ToHeaders UpdateRuleGroup where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateRuleGroup" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateRuleGroup where- toJSON UpdateRuleGroup'{..}- = object- (catMaybes- [Just ("RuleGroupId" .= _urgRuleGroupId),- Just ("Updates" .= _urgUpdates),- Just ("ChangeToken" .= _urgChangeToken)])--instance ToPath UpdateRuleGroup where- toPath = const "/"--instance ToQuery UpdateRuleGroup where- toQuery = const mempty---- | /See:/ 'updateRuleGroupResponse' smart constructor.-data UpdateRuleGroupResponse = UpdateRuleGroupResponse'- { _urgrsChangeToken :: !(Maybe Text)- , _urgrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateRuleGroupResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'urgrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateRuleGroup@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'urgrsResponseStatus' - -- | The response status code.-updateRuleGroupResponse- :: Int -- ^ 'urgrsResponseStatus'- -> UpdateRuleGroupResponse-updateRuleGroupResponse pResponseStatus_ =- UpdateRuleGroupResponse'- {_urgrsChangeToken = Nothing, _urgrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateRuleGroup@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-urgrsChangeToken :: Lens' UpdateRuleGroupResponse (Maybe Text)-urgrsChangeToken = lens _urgrsChangeToken (\ s a -> s{_urgrsChangeToken = a})---- | -- | The response status code.-urgrsResponseStatus :: Lens' UpdateRuleGroupResponse Int-urgrsResponseStatus = lens _urgrsResponseStatus (\ s a -> s{_urgrsResponseStatus = a})--instance NFData UpdateRuleGroupResponse where
− gen/Network/AWS/WAF/UpdateSizeConstraintSet.hs
@@ -1,186 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateSizeConstraintSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'SizeConstraint' objects (filters) in a 'SizeConstraintSet' . For each @SizeConstraint@ object, you specify the following values:--------- * Whether to insert or delete the object from the array. If you want to change a @SizeConstraintSetUpdate@ object, you delete the existing object and add a new one.------ * The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the @User-Agent@ header.------ * Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first @8192@ bytes of your request to AWS WAF.------ * A @ComparisonOperator@ used for evaluating the selected part of the request against the specified @Size@ , such as equals, greater than, less than, and so on.------ * The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.------------ For example, you can add a @SizeConstraintSetUpdate@ object that matches web requests in which the length of the @User-Agent@ header is greater than 100 bytes. You can then configure AWS WAF to block those requests.------ To create and configure a @SizeConstraintSet@ , perform the following steps:------ * Create a @SizeConstraintSet.@ For more information, see 'CreateSizeConstraintSet' .------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of an @UpdateSizeConstraintSet@ request.------ * Submit an @UpdateSizeConstraintSet@ request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateSizeConstraintSet- (- -- * Creating a Request- updateSizeConstraintSet- , UpdateSizeConstraintSet- -- * Request Lenses- , uscsSizeConstraintSetId- , uscsChangeToken- , uscsUpdates-- -- * Destructuring the Response- , updateSizeConstraintSetResponse- , UpdateSizeConstraintSetResponse- -- * Response Lenses- , uscsrsChangeToken- , uscsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateSizeConstraintSet' smart constructor.-data UpdateSizeConstraintSet = UpdateSizeConstraintSet'- { _uscsSizeConstraintSetId :: !Text- , _uscsChangeToken :: !Text- , _uscsUpdates :: !(List1 SizeConstraintSetUpdate)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateSizeConstraintSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uscsSizeConstraintSetId' - The @SizeConstraintSetId@ of the 'SizeConstraintSet' that you want to update. @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .------ * 'uscsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .------ * 'uscsUpdates' - An array of @SizeConstraintSetUpdate@ objects that you want to insert into or delete from a 'SizeConstraintSet' . For more information, see the applicable data types: * 'SizeConstraintSetUpdate' : Contains @Action@ and @SizeConstraint@ * 'SizeConstraint' : Contains @FieldToMatch@ , @TextTransformation@ , @ComparisonOperator@ , and @Size@ * 'FieldToMatch' : Contains @Data@ and @Type@-updateSizeConstraintSet- :: Text -- ^ 'uscsSizeConstraintSetId'- -> Text -- ^ 'uscsChangeToken'- -> NonEmpty SizeConstraintSetUpdate -- ^ 'uscsUpdates'- -> UpdateSizeConstraintSet-updateSizeConstraintSet pSizeConstraintSetId_ pChangeToken_ pUpdates_ =- UpdateSizeConstraintSet'- { _uscsSizeConstraintSetId = pSizeConstraintSetId_- , _uscsChangeToken = pChangeToken_- , _uscsUpdates = _List1 # pUpdates_- }----- | The @SizeConstraintSetId@ of the 'SizeConstraintSet' that you want to update. @SizeConstraintSetId@ is returned by 'CreateSizeConstraintSet' and by 'ListSizeConstraintSets' .-uscsSizeConstraintSetId :: Lens' UpdateSizeConstraintSet Text-uscsSizeConstraintSetId = lens _uscsSizeConstraintSetId (\ s a -> s{_uscsSizeConstraintSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-uscsChangeToken :: Lens' UpdateSizeConstraintSet Text-uscsChangeToken = lens _uscsChangeToken (\ s a -> s{_uscsChangeToken = a})---- | An array of @SizeConstraintSetUpdate@ objects that you want to insert into or delete from a 'SizeConstraintSet' . For more information, see the applicable data types: * 'SizeConstraintSetUpdate' : Contains @Action@ and @SizeConstraint@ * 'SizeConstraint' : Contains @FieldToMatch@ , @TextTransformation@ , @ComparisonOperator@ , and @Size@ * 'FieldToMatch' : Contains @Data@ and @Type@-uscsUpdates :: Lens' UpdateSizeConstraintSet (NonEmpty SizeConstraintSetUpdate)-uscsUpdates = lens _uscsUpdates (\ s a -> s{_uscsUpdates = a}) . _List1--instance AWSRequest UpdateSizeConstraintSet where- type Rs UpdateSizeConstraintSet =- UpdateSizeConstraintSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateSizeConstraintSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateSizeConstraintSet where--instance NFData UpdateSizeConstraintSet where--instance ToHeaders UpdateSizeConstraintSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateSizeConstraintSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateSizeConstraintSet where- toJSON UpdateSizeConstraintSet'{..}- = object- (catMaybes- [Just- ("SizeConstraintSetId" .= _uscsSizeConstraintSetId),- Just ("ChangeToken" .= _uscsChangeToken),- Just ("Updates" .= _uscsUpdates)])--instance ToPath UpdateSizeConstraintSet where- toPath = const "/"--instance ToQuery UpdateSizeConstraintSet where- toQuery = const mempty---- | /See:/ 'updateSizeConstraintSetResponse' smart constructor.-data UpdateSizeConstraintSetResponse = UpdateSizeConstraintSetResponse'- { _uscsrsChangeToken :: !(Maybe Text)- , _uscsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateSizeConstraintSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uscsrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateSizeConstraintSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'uscsrsResponseStatus' - -- | The response status code.-updateSizeConstraintSetResponse- :: Int -- ^ 'uscsrsResponseStatus'- -> UpdateSizeConstraintSetResponse-updateSizeConstraintSetResponse pResponseStatus_ =- UpdateSizeConstraintSetResponse'- {_uscsrsChangeToken = Nothing, _uscsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateSizeConstraintSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-uscsrsChangeToken :: Lens' UpdateSizeConstraintSetResponse (Maybe Text)-uscsrsChangeToken = lens _uscsrsChangeToken (\ s a -> s{_uscsrsChangeToken = a})---- | -- | The response status code.-uscsrsResponseStatus :: Lens' UpdateSizeConstraintSetResponse Int-uscsrsResponseStatus = lens _uscsrsResponseStatus (\ s a -> s{_uscsrsResponseStatus = a})--instance NFData UpdateSizeConstraintSetResponse where
− gen/Network/AWS/WAF/UpdateSqlInjectionMatchSet.hs
@@ -1,192 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateSqlInjectionMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'SqlInjectionMatchTuple' objects (filters) in a 'SqlInjectionMatchSet' . For each @SqlInjectionMatchTuple@ object, you specify the following values:--------- * @Action@ : Whether to insert the object into or delete the object from the array. To change a @SqlInjectionMatchTuple@ , you delete the existing object and add a new one.------ * @FieldToMatch@ : The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header, the name of the header.------ * @TextTransformation@ : Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.------------ You use @SqlInjectionMatchSet@ objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a @SqlInjectionMatchSet@ with the applicable settings, and then configure AWS WAF to block the requests.------ To create and configure a @SqlInjectionMatchSet@ , perform the following steps:------ * Submit a 'CreateSqlInjectionMatchSet' request.------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateIPSet' request.------ * Submit an @UpdateSqlInjectionMatchSet@ request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateSqlInjectionMatchSet- (- -- * Creating a Request- updateSqlInjectionMatchSet- , UpdateSqlInjectionMatchSet- -- * Request Lenses- , usimsSqlInjectionMatchSetId- , usimsChangeToken- , usimsUpdates-- -- * Destructuring the Response- , updateSqlInjectionMatchSetResponse- , UpdateSqlInjectionMatchSetResponse- -- * Response Lenses- , usimsrsChangeToken- , usimsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to update a 'SqlInjectionMatchSet' .------------ /See:/ 'updateSqlInjectionMatchSet' smart constructor.-data UpdateSqlInjectionMatchSet = UpdateSqlInjectionMatchSet'- { _usimsSqlInjectionMatchSetId :: !Text- , _usimsChangeToken :: !Text- , _usimsUpdates :: !(List1 SqlInjectionMatchSetUpdate)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateSqlInjectionMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'usimsSqlInjectionMatchSetId' - The @SqlInjectionMatchSetId@ of the @SqlInjectionMatchSet@ that you want to update. @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .------ * 'usimsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .------ * 'usimsUpdates' - An array of @SqlInjectionMatchSetUpdate@ objects that you want to insert into or delete from a 'SqlInjectionMatchSet' . For more information, see the applicable data types: * 'SqlInjectionMatchSetUpdate' : Contains @Action@ and @SqlInjectionMatchTuple@ * 'SqlInjectionMatchTuple' : Contains @FieldToMatch@ and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@-updateSqlInjectionMatchSet- :: Text -- ^ 'usimsSqlInjectionMatchSetId'- -> Text -- ^ 'usimsChangeToken'- -> NonEmpty SqlInjectionMatchSetUpdate -- ^ 'usimsUpdates'- -> UpdateSqlInjectionMatchSet-updateSqlInjectionMatchSet pSqlInjectionMatchSetId_ pChangeToken_ pUpdates_ =- UpdateSqlInjectionMatchSet'- { _usimsSqlInjectionMatchSetId = pSqlInjectionMatchSetId_- , _usimsChangeToken = pChangeToken_- , _usimsUpdates = _List1 # pUpdates_- }----- | The @SqlInjectionMatchSetId@ of the @SqlInjectionMatchSet@ that you want to update. @SqlInjectionMatchSetId@ is returned by 'CreateSqlInjectionMatchSet' and by 'ListSqlInjectionMatchSets' .-usimsSqlInjectionMatchSetId :: Lens' UpdateSqlInjectionMatchSet Text-usimsSqlInjectionMatchSetId = lens _usimsSqlInjectionMatchSetId (\ s a -> s{_usimsSqlInjectionMatchSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-usimsChangeToken :: Lens' UpdateSqlInjectionMatchSet Text-usimsChangeToken = lens _usimsChangeToken (\ s a -> s{_usimsChangeToken = a})---- | An array of @SqlInjectionMatchSetUpdate@ objects that you want to insert into or delete from a 'SqlInjectionMatchSet' . For more information, see the applicable data types: * 'SqlInjectionMatchSetUpdate' : Contains @Action@ and @SqlInjectionMatchTuple@ * 'SqlInjectionMatchTuple' : Contains @FieldToMatch@ and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@-usimsUpdates :: Lens' UpdateSqlInjectionMatchSet (NonEmpty SqlInjectionMatchSetUpdate)-usimsUpdates = lens _usimsUpdates (\ s a -> s{_usimsUpdates = a}) . _List1--instance AWSRequest UpdateSqlInjectionMatchSet where- type Rs UpdateSqlInjectionMatchSet =- UpdateSqlInjectionMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateSqlInjectionMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateSqlInjectionMatchSet where--instance NFData UpdateSqlInjectionMatchSet where--instance ToHeaders UpdateSqlInjectionMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateSqlInjectionMatchSet" ::- ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateSqlInjectionMatchSet where- toJSON UpdateSqlInjectionMatchSet'{..}- = object- (catMaybes- [Just- ("SqlInjectionMatchSetId" .=- _usimsSqlInjectionMatchSetId),- Just ("ChangeToken" .= _usimsChangeToken),- Just ("Updates" .= _usimsUpdates)])--instance ToPath UpdateSqlInjectionMatchSet where- toPath = const "/"--instance ToQuery UpdateSqlInjectionMatchSet where- toQuery = const mempty---- | The response to an 'UpdateSqlInjectionMatchSets' request.------------ /See:/ 'updateSqlInjectionMatchSetResponse' smart constructor.-data UpdateSqlInjectionMatchSetResponse = UpdateSqlInjectionMatchSetResponse'- { _usimsrsChangeToken :: !(Maybe Text)- , _usimsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateSqlInjectionMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'usimsrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateSqlInjectionMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'usimsrsResponseStatus' - -- | The response status code.-updateSqlInjectionMatchSetResponse- :: Int -- ^ 'usimsrsResponseStatus'- -> UpdateSqlInjectionMatchSetResponse-updateSqlInjectionMatchSetResponse pResponseStatus_ =- UpdateSqlInjectionMatchSetResponse'- {_usimsrsChangeToken = Nothing, _usimsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateSqlInjectionMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-usimsrsChangeToken :: Lens' UpdateSqlInjectionMatchSetResponse (Maybe Text)-usimsrsChangeToken = lens _usimsrsChangeToken (\ s a -> s{_usimsrsChangeToken = a})---- | -- | The response status code.-usimsrsResponseStatus :: Lens' UpdateSqlInjectionMatchSetResponse Int-usimsrsResponseStatus = lens _usimsrsResponseStatus (\ s a -> s{_usimsrsResponseStatus = a})--instance NFData UpdateSqlInjectionMatchSetResponse- where
− gen/Network/AWS/WAF/UpdateWebACL.hs
@@ -1,194 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateWebACL--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'ActivatedRule' objects in a @WebACL@ . Each @Rule@ identifies web requests that you want to allow, block, or count. When you update a @WebACL@ , you specify the following values:--------- * A default action for the @WebACL@ , either @ALLOW@ or @BLOCK@ . AWS WAF performs the default action if a request doesn't match the criteria in any of the @Rules@ in a @WebACL@ .------ * The @Rules@ that you want to add and/or delete. If you want to replace one @Rule@ with another, you delete the existing @Rule@ and add the new one.------ * For each @Rule@ , whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the @Rule@ .------ * The order in which you want AWS WAF to evaluate the @Rules@ in a @WebACL@ . If you add more than one @Rule@ to a @WebACL@ , AWS WAF evaluates each request against the @Rules@ in order based on the value of @Priority@ . (The @Rule@ that has the lowest value for @Priority@ is evaluated first.) When a web request matches all of the predicates (such as @ByteMatchSets@ and @IPSets@ ) in a @Rule@ , AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining @Rules@ in the @WebACL@ , if any.------------ To create and configure a @WebACL@ , perform the following steps:------ * Create and update the predicates that you want to include in @Rules@ . For more information, see 'CreateByteMatchSet' , 'UpdateByteMatchSet' , 'CreateIPSet' , 'UpdateIPSet' , 'CreateSqlInjectionMatchSet' , and 'UpdateSqlInjectionMatchSet' .------ * Create and update the @Rules@ that you want to include in the @WebACL@ . For more information, see 'CreateRule' and 'UpdateRule' .------ * Create a @WebACL@ . See 'CreateWebACL' .------ * Use @GetChangeToken@ to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateWebACL' request.------ * Submit an @UpdateWebACL@ request to specify the @Rules@ that you want to include in the @WebACL@ , to specify the default action, and to associate the @WebACL@ with a CloudFront distribution.------------ Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the 'UpdateWebACL' request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateWebACL- (- -- * Creating a Request- updateWebACL- , UpdateWebACL- -- * Request Lenses- , uwaUpdates- , uwaDefaultAction- , uwaWebACLId- , uwaChangeToken-- -- * Destructuring the Response- , updateWebACLResponse- , UpdateWebACLResponse- -- * Response Lenses- , uwarsChangeToken- , uwarsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | /See:/ 'updateWebACL' smart constructor.-data UpdateWebACL = UpdateWebACL'- { _uwaUpdates :: !(Maybe [WebACLUpdate])- , _uwaDefaultAction :: !(Maybe WafAction)- , _uwaWebACLId :: !Text- , _uwaChangeToken :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateWebACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uwaUpdates' - An array of updates to make to the 'WebACL' . An array of @WebACLUpdate@ objects that you want to insert into or delete from a 'WebACL' . For more information, see the applicable data types: * 'WebACLUpdate' : Contains @Action@ and @ActivatedRule@ * 'ActivatedRule' : Contains @Action@ , @OverrideAction@ , @Priority@ , @RuleId@ , and @Type@ . @ActivatedRule|OverrideAction@ applies only when updating or adding a @RuleGroup@ to a @WebACL@ . In this case you do not use @ActivatedRule|Action@ . For all other update requests, @ActivatedRule|Action@ is used instead of @ActivatedRule|OverrideAction@ . * 'WafAction' : Contains @Type@------ * 'uwaDefaultAction' - A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the rules in a web ACL.------ * 'uwaWebACLId' - The @WebACLId@ of the 'WebACL' that you want to update. @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .------ * 'uwaChangeToken' - The value returned by the most recent call to 'GetChangeToken' .-updateWebACL- :: Text -- ^ 'uwaWebACLId'- -> Text -- ^ 'uwaChangeToken'- -> UpdateWebACL-updateWebACL pWebACLId_ pChangeToken_ =- UpdateWebACL'- { _uwaUpdates = Nothing- , _uwaDefaultAction = Nothing- , _uwaWebACLId = pWebACLId_- , _uwaChangeToken = pChangeToken_- }----- | An array of updates to make to the 'WebACL' . An array of @WebACLUpdate@ objects that you want to insert into or delete from a 'WebACL' . For more information, see the applicable data types: * 'WebACLUpdate' : Contains @Action@ and @ActivatedRule@ * 'ActivatedRule' : Contains @Action@ , @OverrideAction@ , @Priority@ , @RuleId@ , and @Type@ . @ActivatedRule|OverrideAction@ applies only when updating or adding a @RuleGroup@ to a @WebACL@ . In this case you do not use @ActivatedRule|Action@ . For all other update requests, @ActivatedRule|Action@ is used instead of @ActivatedRule|OverrideAction@ . * 'WafAction' : Contains @Type@-uwaUpdates :: Lens' UpdateWebACL [WebACLUpdate]-uwaUpdates = lens _uwaUpdates (\ s a -> s{_uwaUpdates = a}) . _Default . _Coerce---- | A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the rules in a web ACL.-uwaDefaultAction :: Lens' UpdateWebACL (Maybe WafAction)-uwaDefaultAction = lens _uwaDefaultAction (\ s a -> s{_uwaDefaultAction = a})---- | The @WebACLId@ of the 'WebACL' that you want to update. @WebACLId@ is returned by 'CreateWebACL' and by 'ListWebACLs' .-uwaWebACLId :: Lens' UpdateWebACL Text-uwaWebACLId = lens _uwaWebACLId (\ s a -> s{_uwaWebACLId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-uwaChangeToken :: Lens' UpdateWebACL Text-uwaChangeToken = lens _uwaChangeToken (\ s a -> s{_uwaChangeToken = a})--instance AWSRequest UpdateWebACL where- type Rs UpdateWebACL = UpdateWebACLResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateWebACLResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateWebACL where--instance NFData UpdateWebACL where--instance ToHeaders UpdateWebACL where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateWebACL" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateWebACL where- toJSON UpdateWebACL'{..}- = object- (catMaybes- [("Updates" .=) <$> _uwaUpdates,- ("DefaultAction" .=) <$> _uwaDefaultAction,- Just ("WebACLId" .= _uwaWebACLId),- Just ("ChangeToken" .= _uwaChangeToken)])--instance ToPath UpdateWebACL where- toPath = const "/"--instance ToQuery UpdateWebACL where- toQuery = const mempty---- | /See:/ 'updateWebACLResponse' smart constructor.-data UpdateWebACLResponse = UpdateWebACLResponse'- { _uwarsChangeToken :: !(Maybe Text)- , _uwarsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateWebACLResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uwarsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateWebACL@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'uwarsResponseStatus' - -- | The response status code.-updateWebACLResponse- :: Int -- ^ 'uwarsResponseStatus'- -> UpdateWebACLResponse-updateWebACLResponse pResponseStatus_ =- UpdateWebACLResponse'- {_uwarsChangeToken = Nothing, _uwarsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateWebACL@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-uwarsChangeToken :: Lens' UpdateWebACLResponse (Maybe Text)-uwarsChangeToken = lens _uwarsChangeToken (\ s a -> s{_uwarsChangeToken = a})---- | -- | The response status code.-uwarsResponseStatus :: Lens' UpdateWebACLResponse Int-uwarsResponseStatus = lens _uwarsResponseStatus (\ s a -> s{_uwarsResponseStatus = a})--instance NFData UpdateWebACLResponse where
− gen/Network/AWS/WAF/UpdateXSSMatchSet.hs
@@ -1,187 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.UpdateXSSMatchSet--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)------ Inserts or deletes 'XssMatchTuple' objects (filters) in an 'XssMatchSet' . For each @XssMatchTuple@ object, you specify the following values:--------- * @Action@ : Whether to insert the object into or delete the object from the array. To change a @XssMatchTuple@ , you delete the existing object and add a new one.------ * @FieldToMatch@ : The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header, the name of the header.------ * @TextTransformation@ : Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.------------ You use @XssMatchSet@ objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an @XssMatchSet@ with the applicable settings, and then configure AWS WAF to block the requests.------ To create and configure an @XssMatchSet@ , perform the following steps:------ * Submit a 'CreateXssMatchSet' request.------ * Use 'GetChangeToken' to get the change token that you provide in the @ChangeToken@ parameter of an 'UpdateIPSet' request.------ * Submit an @UpdateXssMatchSet@ request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.------------ For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <http://docs.aws.amazon.com/waf/latest/developerguide/ AWS WAF Developer Guide> .----module Network.AWS.WAF.UpdateXSSMatchSet- (- -- * Creating a Request- updateXSSMatchSet- , UpdateXSSMatchSet- -- * Request Lenses- , uxmsXSSMatchSetId- , uxmsChangeToken- , uxmsUpdates-- -- * Destructuring the Response- , updateXSSMatchSetResponse- , UpdateXSSMatchSetResponse- -- * Response Lenses- , uxmsrsChangeToken- , uxmsrsResponseStatus- ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.WAF.Types-import Network.AWS.WAF.Types.Product---- | A request to update an 'XssMatchSet' .------------ /See:/ 'updateXSSMatchSet' smart constructor.-data UpdateXSSMatchSet = UpdateXSSMatchSet'- { _uxmsXSSMatchSetId :: !Text- , _uxmsChangeToken :: !Text- , _uxmsUpdates :: !(List1 XSSMatchSetUpdate)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateXSSMatchSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uxmsXSSMatchSetId' - The @XssMatchSetId@ of the @XssMatchSet@ that you want to update. @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .------ * 'uxmsChangeToken' - The value returned by the most recent call to 'GetChangeToken' .------ * 'uxmsUpdates' - An array of @XssMatchSetUpdate@ objects that you want to insert into or delete from a 'XssMatchSet' . For more information, see the applicable data types: * 'XssMatchSetUpdate' : Contains @Action@ and @XssMatchTuple@ * 'XssMatchTuple' : Contains @FieldToMatch@ and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@-updateXSSMatchSet- :: Text -- ^ 'uxmsXSSMatchSetId'- -> Text -- ^ 'uxmsChangeToken'- -> NonEmpty XSSMatchSetUpdate -- ^ 'uxmsUpdates'- -> UpdateXSSMatchSet-updateXSSMatchSet pXSSMatchSetId_ pChangeToken_ pUpdates_ =- UpdateXSSMatchSet'- { _uxmsXSSMatchSetId = pXSSMatchSetId_- , _uxmsChangeToken = pChangeToken_- , _uxmsUpdates = _List1 # pUpdates_- }----- | The @XssMatchSetId@ of the @XssMatchSet@ that you want to update. @XssMatchSetId@ is returned by 'CreateXssMatchSet' and by 'ListXssMatchSets' .-uxmsXSSMatchSetId :: Lens' UpdateXSSMatchSet Text-uxmsXSSMatchSetId = lens _uxmsXSSMatchSetId (\ s a -> s{_uxmsXSSMatchSetId = a})---- | The value returned by the most recent call to 'GetChangeToken' .-uxmsChangeToken :: Lens' UpdateXSSMatchSet Text-uxmsChangeToken = lens _uxmsChangeToken (\ s a -> s{_uxmsChangeToken = a})---- | An array of @XssMatchSetUpdate@ objects that you want to insert into or delete from a 'XssMatchSet' . For more information, see the applicable data types: * 'XssMatchSetUpdate' : Contains @Action@ and @XssMatchTuple@ * 'XssMatchTuple' : Contains @FieldToMatch@ and @TextTransformation@ * 'FieldToMatch' : Contains @Data@ and @Type@-uxmsUpdates :: Lens' UpdateXSSMatchSet (NonEmpty XSSMatchSetUpdate)-uxmsUpdates = lens _uxmsUpdates (\ s a -> s{_uxmsUpdates = a}) . _List1--instance AWSRequest UpdateXSSMatchSet where- type Rs UpdateXSSMatchSet = UpdateXSSMatchSetResponse- request = postJSON waf- response- = receiveJSON- (\ s h x ->- UpdateXSSMatchSetResponse' <$>- (x .?> "ChangeToken") <*> (pure (fromEnum s)))--instance Hashable UpdateXSSMatchSet where--instance NFData UpdateXSSMatchSet where--instance ToHeaders UpdateXSSMatchSet where- toHeaders- = const- (mconcat- ["X-Amz-Target" =#- ("AWSWAF_20150824.UpdateXssMatchSet" :: ByteString),- "Content-Type" =#- ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateXSSMatchSet where- toJSON UpdateXSSMatchSet'{..}- = object- (catMaybes- [Just ("XssMatchSetId" .= _uxmsXSSMatchSetId),- Just ("ChangeToken" .= _uxmsChangeToken),- Just ("Updates" .= _uxmsUpdates)])--instance ToPath UpdateXSSMatchSet where- toPath = const "/"--instance ToQuery UpdateXSSMatchSet where- toQuery = const mempty---- | The response to an 'UpdateXssMatchSets' request.------------ /See:/ 'updateXSSMatchSetResponse' smart constructor.-data UpdateXSSMatchSetResponse = UpdateXSSMatchSetResponse'- { _uxmsrsChangeToken :: !(Maybe Text)- , _uxmsrsResponseStatus :: !Int- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateXSSMatchSetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uxmsrsChangeToken' - The @ChangeToken@ that you used to submit the @UpdateXssMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .------ * 'uxmsrsResponseStatus' - -- | The response status code.-updateXSSMatchSetResponse- :: Int -- ^ 'uxmsrsResponseStatus'- -> UpdateXSSMatchSetResponse-updateXSSMatchSetResponse pResponseStatus_ =- UpdateXSSMatchSetResponse'- {_uxmsrsChangeToken = Nothing, _uxmsrsResponseStatus = pResponseStatus_}----- | The @ChangeToken@ that you used to submit the @UpdateXssMatchSet@ request. You can also use this value to query the status of the request. For more information, see 'GetChangeTokenStatus' .-uxmsrsChangeToken :: Lens' UpdateXSSMatchSetResponse (Maybe Text)-uxmsrsChangeToken = lens _uxmsrsChangeToken (\ s a -> s{_uxmsrsChangeToken = a})---- | -- | The response status code.-uxmsrsResponseStatus :: Lens' UpdateXSSMatchSetResponse Int-uxmsrsResponseStatus = lens _uxmsrsResponseStatus (\ s a -> s{_uxmsrsResponseStatus = a})--instance NFData UpdateXSSMatchSetResponse where
− gen/Network/AWS/WAF/Waiters.hs
@@ -1,21 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TypeFamilies #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Network.AWS.WAF.Waiters--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.WAF.Waiters where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.WAF.Types-import Network.AWS.Waiter
test/Main.hs view
@@ -2,20 +2,22 @@ -- | -- Module : Main--- Copyright : (c) 2013-2018 Brendan Hay+-- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions)--- module Main (main) where +import Test.Amazonka.WAF+import Test.Amazonka.WAF.Internal import Test.Tasty-import Test.AWS.WAF-import Test.AWS.WAF.Internal main :: IO ()-main = defaultMain $ testGroup "WAF"- [ testGroup "tests" tests- , testGroup "fixtures" fixtures- ]+main =+ defaultMain $+ testGroup+ "WAF"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
− test/Test/AWS/Gen/WAF.hs
@@ -1,1281 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module : Test.AWS.Gen.WAF--- Copyright : (c) 2013-2018 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.Gen.WAF where--import Data.Proxy-import Network.AWS.WAF-import Test.AWS.Fixture-import Test.AWS.Prelude-import Test.AWS.WAF.Internal-import Test.Tasty---- Auto-generated: the actual test selection needs to be manually placed into--- the top-level so that real test data can be incrementally added.------ This commented snippet is what the entire set should look like:---- fixtures :: TestTree--- fixtures =--- [ testGroup "request"--- [ requestListActivatedRulesInRuleGroup $--- listActivatedRulesInRuleGroup------ , requestListRateBasedRules $--- listRateBasedRules------ , requestGetSizeConstraintSet $--- getSizeConstraintSet------ , requestDeleteRateBasedRule $--- deleteRateBasedRule------ , requestUpdateRateBasedRule $--- updateRateBasedRule------ , requestUpdateRule $--- updateRule------ , requestDeleteRule $--- deleteRule------ , requestCreateIPSet $--- createIPSet------ , requestGetRuleGroup $--- getRuleGroup------ , requestGetChangeTokenStatus $--- getChangeTokenStatus------ , requestDeleteWebACL $--- deleteWebACL------ , requestUpdateWebACL $--- updateWebACL------ , requestListWebACLs $--- listWebACLs------ , requestListRules $--- listRules------ , requestCreateRule $--- createRule------ , requestCreateWebACL $--- createWebACL------ , requestGetGeoMatchSet $--- getGeoMatchSet------ , requestListByteMatchSets $--- listByteMatchSets------ , requestListGeoMatchSets $--- listGeoMatchSets------ , requestCreateRuleGroup $--- createRuleGroup------ , requestDeleteRegexMatchSet $--- deleteRegexMatchSet------ , requestUpdateRegexMatchSet $--- updateRegexMatchSet------ , requestGetIPSet $--- getIPSet------ , requestGetWebACL $--- getWebACL------ , requestGetRule $--- getRule------ , requestDeleteXSSMatchSet $--- deleteXSSMatchSet------ , requestUpdateXSSMatchSet $--- updateXSSMatchSet------ , requestListXSSMatchSets $--- listXSSMatchSets------ , requestCreateGeoMatchSet $--- createGeoMatchSet------ , requestGetChangeToken $--- getChangeToken------ , requestListSizeConstraintSets $--- listSizeConstraintSets------ , requestGetSampledRequests $--- getSampledRequests------ , requestGetSqlInjectionMatchSet $--- getSqlInjectionMatchSet------ , requestListSubscribedRuleGroups $--- listSubscribedRuleGroups------ , requestCreateSqlInjectionMatchSet $--- createSqlInjectionMatchSet------ , requestGetXSSMatchSet $--- getXSSMatchSet------ , requestCreateByteMatchSet $--- createByteMatchSet------ , requestUpdateByteMatchSet $--- updateByteMatchSet------ , requestDeleteByteMatchSet $--- deleteByteMatchSet------ , requestPutPermissionPolicy $--- putPermissionPolicy------ , requestGetRateBasedRuleManagedKeys $--- getRateBasedRuleManagedKeys------ , requestDeletePermissionPolicy $--- deletePermissionPolicy------ , requestGetRegexMatchSet $--- getRegexMatchSet------ , requestDeleteIPSet $--- deleteIPSet------ , requestUpdateIPSet $--- updateIPSet------ , requestListIPSets $--- listIPSets------ , requestListRegexMatchSets $--- listRegexMatchSets------ , requestCreateXSSMatchSet $--- createXSSMatchSet------ , requestDeleteGeoMatchSet $--- deleteGeoMatchSet------ , requestUpdateGeoMatchSet $--- updateGeoMatchSet------ , requestGetByteMatchSet $--- getByteMatchSet------ , requestGetPermissionPolicy $--- getPermissionPolicy------ , requestListRuleGroups $--- listRuleGroups------ , requestDeleteRuleGroup $--- deleteRuleGroup------ , requestUpdateRuleGroup $--- updateRuleGroup------ , requestCreateRegexMatchSet $--- createRegexMatchSet------ , requestGetRateBasedRule $--- getRateBasedRule------ , requestCreateRegexPatternSet $--- createRegexPatternSet------ , requestDeleteSizeConstraintSet $--- deleteSizeConstraintSet------ , requestUpdateSizeConstraintSet $--- updateSizeConstraintSet------ , requestDeleteRegexPatternSet $--- deleteRegexPatternSet------ , requestUpdateRegexPatternSet $--- updateRegexPatternSet------ , requestCreateSizeConstraintSet $--- createSizeConstraintSet------ , requestListRegexPatternSets $--- listRegexPatternSets------ , requestListSqlInjectionMatchSets $--- listSqlInjectionMatchSets------ , requestGetRegexPatternSet $--- getRegexPatternSet------ , requestCreateRateBasedRule $--- createRateBasedRule------ , requestDeleteSqlInjectionMatchSet $--- deleteSqlInjectionMatchSet------ , requestUpdateSqlInjectionMatchSet $--- updateSqlInjectionMatchSet------ ]---- , testGroup "response"--- [ responseListActivatedRulesInRuleGroup $--- listActivatedRulesInRuleGroupResponse------ , responseListRateBasedRules $--- listRateBasedRulesResponse------ , responseGetSizeConstraintSet $--- getSizeConstraintSetResponse------ , responseDeleteRateBasedRule $--- deleteRateBasedRuleResponse------ , responseUpdateRateBasedRule $--- updateRateBasedRuleResponse------ , responseUpdateRule $--- updateRuleResponse------ , responseDeleteRule $--- deleteRuleResponse------ , responseCreateIPSet $--- createIPSetResponse------ , responseGetRuleGroup $--- getRuleGroupResponse------ , responseGetChangeTokenStatus $--- getChangeTokenStatusResponse------ , responseDeleteWebACL $--- deleteWebACLResponse------ , responseUpdateWebACL $--- updateWebACLResponse------ , responseListWebACLs $--- listWebACLsResponse------ , responseListRules $--- listRulesResponse------ , responseCreateRule $--- createRuleResponse------ , responseCreateWebACL $--- createWebACLResponse------ , responseGetGeoMatchSet $--- getGeoMatchSetResponse------ , responseListByteMatchSets $--- listByteMatchSetsResponse------ , responseListGeoMatchSets $--- listGeoMatchSetsResponse------ , responseCreateRuleGroup $--- createRuleGroupResponse------ , responseDeleteRegexMatchSet $--- deleteRegexMatchSetResponse------ , responseUpdateRegexMatchSet $--- updateRegexMatchSetResponse------ , responseGetIPSet $--- getIPSetResponse------ , responseGetWebACL $--- getWebACLResponse------ , responseGetRule $--- getRuleResponse------ , responseDeleteXSSMatchSet $--- deleteXSSMatchSetResponse------ , responseUpdateXSSMatchSet $--- updateXSSMatchSetResponse------ , responseListXSSMatchSets $--- listXSSMatchSetsResponse------ , responseCreateGeoMatchSet $--- createGeoMatchSetResponse------ , responseGetChangeToken $--- getChangeTokenResponse------ , responseListSizeConstraintSets $--- listSizeConstraintSetsResponse------ , responseGetSampledRequests $--- getSampledRequestsResponse------ , responseGetSqlInjectionMatchSet $--- getSqlInjectionMatchSetResponse------ , responseListSubscribedRuleGroups $--- listSubscribedRuleGroupsResponse------ , responseCreateSqlInjectionMatchSet $--- createSqlInjectionMatchSetResponse------ , responseGetXSSMatchSet $--- getXSSMatchSetResponse------ , responseCreateByteMatchSet $--- createByteMatchSetResponse------ , responseUpdateByteMatchSet $--- updateByteMatchSetResponse------ , responseDeleteByteMatchSet $--- deleteByteMatchSetResponse------ , responsePutPermissionPolicy $--- putPermissionPolicyResponse------ , responseGetRateBasedRuleManagedKeys $--- getRateBasedRuleManagedKeysResponse------ , responseDeletePermissionPolicy $--- deletePermissionPolicyResponse------ , responseGetRegexMatchSet $--- getRegexMatchSetResponse------ , responseDeleteIPSet $--- deleteIPSetResponse------ , responseUpdateIPSet $--- updateIPSetResponse------ , responseListIPSets $--- listIPSetsResponse------ , responseListRegexMatchSets $--- listRegexMatchSetsResponse------ , responseCreateXSSMatchSet $--- createXSSMatchSetResponse------ , responseDeleteGeoMatchSet $--- deleteGeoMatchSetResponse------ , responseUpdateGeoMatchSet $--- updateGeoMatchSetResponse------ , responseGetByteMatchSet $--- getByteMatchSetResponse------ , responseGetPermissionPolicy $--- getPermissionPolicyResponse------ , responseListRuleGroups $--- listRuleGroupsResponse------ , responseDeleteRuleGroup $--- deleteRuleGroupResponse------ , responseUpdateRuleGroup $--- updateRuleGroupResponse------ , responseCreateRegexMatchSet $--- createRegexMatchSetResponse------ , responseGetRateBasedRule $--- getRateBasedRuleResponse------ , responseCreateRegexPatternSet $--- createRegexPatternSetResponse------ , responseDeleteSizeConstraintSet $--- deleteSizeConstraintSetResponse------ , responseUpdateSizeConstraintSet $--- updateSizeConstraintSetResponse------ , responseDeleteRegexPatternSet $--- deleteRegexPatternSetResponse------ , responseUpdateRegexPatternSet $--- updateRegexPatternSetResponse------ , responseCreateSizeConstraintSet $--- createSizeConstraintSetResponse------ , responseListRegexPatternSets $--- listRegexPatternSetsResponse------ , responseListSqlInjectionMatchSets $--- listSqlInjectionMatchSetsResponse------ , responseGetRegexPatternSet $--- getRegexPatternSetResponse------ , responseCreateRateBasedRule $--- createRateBasedRuleResponse------ , responseDeleteSqlInjectionMatchSet $--- deleteSqlInjectionMatchSetResponse------ , responseUpdateSqlInjectionMatchSet $--- updateSqlInjectionMatchSetResponse------ ]--- ]---- Requests--requestListActivatedRulesInRuleGroup :: ListActivatedRulesInRuleGroup -> TestTree-requestListActivatedRulesInRuleGroup = req- "ListActivatedRulesInRuleGroup"- "fixture/ListActivatedRulesInRuleGroup.yaml"--requestListRateBasedRules :: ListRateBasedRules -> TestTree-requestListRateBasedRules = req- "ListRateBasedRules"- "fixture/ListRateBasedRules.yaml"--requestGetSizeConstraintSet :: GetSizeConstraintSet -> TestTree-requestGetSizeConstraintSet = req- "GetSizeConstraintSet"- "fixture/GetSizeConstraintSet.yaml"--requestDeleteRateBasedRule :: DeleteRateBasedRule -> TestTree-requestDeleteRateBasedRule = req- "DeleteRateBasedRule"- "fixture/DeleteRateBasedRule.yaml"--requestUpdateRateBasedRule :: UpdateRateBasedRule -> TestTree-requestUpdateRateBasedRule = req- "UpdateRateBasedRule"- "fixture/UpdateRateBasedRule.yaml"--requestUpdateRule :: UpdateRule -> TestTree-requestUpdateRule = req- "UpdateRule"- "fixture/UpdateRule.yaml"--requestDeleteRule :: DeleteRule -> TestTree-requestDeleteRule = req- "DeleteRule"- "fixture/DeleteRule.yaml"--requestCreateIPSet :: CreateIPSet -> TestTree-requestCreateIPSet = req- "CreateIPSet"- "fixture/CreateIPSet.yaml"--requestGetRuleGroup :: GetRuleGroup -> TestTree-requestGetRuleGroup = req- "GetRuleGroup"- "fixture/GetRuleGroup.yaml"--requestGetChangeTokenStatus :: GetChangeTokenStatus -> TestTree-requestGetChangeTokenStatus = req- "GetChangeTokenStatus"- "fixture/GetChangeTokenStatus.yaml"--requestDeleteWebACL :: DeleteWebACL -> TestTree-requestDeleteWebACL = req- "DeleteWebACL"- "fixture/DeleteWebACL.yaml"--requestUpdateWebACL :: UpdateWebACL -> TestTree-requestUpdateWebACL = req- "UpdateWebACL"- "fixture/UpdateWebACL.yaml"--requestListWebACLs :: ListWebACLs -> TestTree-requestListWebACLs = req- "ListWebACLs"- "fixture/ListWebACLs.yaml"--requestListRules :: ListRules -> TestTree-requestListRules = req- "ListRules"- "fixture/ListRules.yaml"--requestCreateRule :: CreateRule -> TestTree-requestCreateRule = req- "CreateRule"- "fixture/CreateRule.yaml"--requestCreateWebACL :: CreateWebACL -> TestTree-requestCreateWebACL = req- "CreateWebACL"- "fixture/CreateWebACL.yaml"--requestGetGeoMatchSet :: GetGeoMatchSet -> TestTree-requestGetGeoMatchSet = req- "GetGeoMatchSet"- "fixture/GetGeoMatchSet.yaml"--requestListByteMatchSets :: ListByteMatchSets -> TestTree-requestListByteMatchSets = req- "ListByteMatchSets"- "fixture/ListByteMatchSets.yaml"--requestListGeoMatchSets :: ListGeoMatchSets -> TestTree-requestListGeoMatchSets = req- "ListGeoMatchSets"- "fixture/ListGeoMatchSets.yaml"--requestCreateRuleGroup :: CreateRuleGroup -> TestTree-requestCreateRuleGroup = req- "CreateRuleGroup"- "fixture/CreateRuleGroup.yaml"--requestDeleteRegexMatchSet :: DeleteRegexMatchSet -> TestTree-requestDeleteRegexMatchSet = req- "DeleteRegexMatchSet"- "fixture/DeleteRegexMatchSet.yaml"--requestUpdateRegexMatchSet :: UpdateRegexMatchSet -> TestTree-requestUpdateRegexMatchSet = req- "UpdateRegexMatchSet"- "fixture/UpdateRegexMatchSet.yaml"--requestGetIPSet :: GetIPSet -> TestTree-requestGetIPSet = req- "GetIPSet"- "fixture/GetIPSet.yaml"--requestGetWebACL :: GetWebACL -> TestTree-requestGetWebACL = req- "GetWebACL"- "fixture/GetWebACL.yaml"--requestGetRule :: GetRule -> TestTree-requestGetRule = req- "GetRule"- "fixture/GetRule.yaml"--requestDeleteXSSMatchSet :: DeleteXSSMatchSet -> TestTree-requestDeleteXSSMatchSet = req- "DeleteXSSMatchSet"- "fixture/DeleteXSSMatchSet.yaml"--requestUpdateXSSMatchSet :: UpdateXSSMatchSet -> TestTree-requestUpdateXSSMatchSet = req- "UpdateXSSMatchSet"- "fixture/UpdateXSSMatchSet.yaml"--requestListXSSMatchSets :: ListXSSMatchSets -> TestTree-requestListXSSMatchSets = req- "ListXSSMatchSets"- "fixture/ListXSSMatchSets.yaml"--requestCreateGeoMatchSet :: CreateGeoMatchSet -> TestTree-requestCreateGeoMatchSet = req- "CreateGeoMatchSet"- "fixture/CreateGeoMatchSet.yaml"--requestGetChangeToken :: GetChangeToken -> TestTree-requestGetChangeToken = req- "GetChangeToken"- "fixture/GetChangeToken.yaml"--requestListSizeConstraintSets :: ListSizeConstraintSets -> TestTree-requestListSizeConstraintSets = req- "ListSizeConstraintSets"- "fixture/ListSizeConstraintSets.yaml"--requestGetSampledRequests :: GetSampledRequests -> TestTree-requestGetSampledRequests = req- "GetSampledRequests"- "fixture/GetSampledRequests.yaml"--requestGetSqlInjectionMatchSet :: GetSqlInjectionMatchSet -> TestTree-requestGetSqlInjectionMatchSet = req- "GetSqlInjectionMatchSet"- "fixture/GetSqlInjectionMatchSet.yaml"--requestListSubscribedRuleGroups :: ListSubscribedRuleGroups -> TestTree-requestListSubscribedRuleGroups = req- "ListSubscribedRuleGroups"- "fixture/ListSubscribedRuleGroups.yaml"--requestCreateSqlInjectionMatchSet :: CreateSqlInjectionMatchSet -> TestTree-requestCreateSqlInjectionMatchSet = req- "CreateSqlInjectionMatchSet"- "fixture/CreateSqlInjectionMatchSet.yaml"--requestGetXSSMatchSet :: GetXSSMatchSet -> TestTree-requestGetXSSMatchSet = req- "GetXSSMatchSet"- "fixture/GetXSSMatchSet.yaml"--requestCreateByteMatchSet :: CreateByteMatchSet -> TestTree-requestCreateByteMatchSet = req- "CreateByteMatchSet"- "fixture/CreateByteMatchSet.yaml"--requestUpdateByteMatchSet :: UpdateByteMatchSet -> TestTree-requestUpdateByteMatchSet = req- "UpdateByteMatchSet"- "fixture/UpdateByteMatchSet.yaml"--requestDeleteByteMatchSet :: DeleteByteMatchSet -> TestTree-requestDeleteByteMatchSet = req- "DeleteByteMatchSet"- "fixture/DeleteByteMatchSet.yaml"--requestPutPermissionPolicy :: PutPermissionPolicy -> TestTree-requestPutPermissionPolicy = req- "PutPermissionPolicy"- "fixture/PutPermissionPolicy.yaml"--requestGetRateBasedRuleManagedKeys :: GetRateBasedRuleManagedKeys -> TestTree-requestGetRateBasedRuleManagedKeys = req- "GetRateBasedRuleManagedKeys"- "fixture/GetRateBasedRuleManagedKeys.yaml"--requestDeletePermissionPolicy :: DeletePermissionPolicy -> TestTree-requestDeletePermissionPolicy = req- "DeletePermissionPolicy"- "fixture/DeletePermissionPolicy.yaml"--requestGetRegexMatchSet :: GetRegexMatchSet -> TestTree-requestGetRegexMatchSet = req- "GetRegexMatchSet"- "fixture/GetRegexMatchSet.yaml"--requestDeleteIPSet :: DeleteIPSet -> TestTree-requestDeleteIPSet = req- "DeleteIPSet"- "fixture/DeleteIPSet.yaml"--requestUpdateIPSet :: UpdateIPSet -> TestTree-requestUpdateIPSet = req- "UpdateIPSet"- "fixture/UpdateIPSet.yaml"--requestListIPSets :: ListIPSets -> TestTree-requestListIPSets = req- "ListIPSets"- "fixture/ListIPSets.yaml"--requestListRegexMatchSets :: ListRegexMatchSets -> TestTree-requestListRegexMatchSets = req- "ListRegexMatchSets"- "fixture/ListRegexMatchSets.yaml"--requestCreateXSSMatchSet :: CreateXSSMatchSet -> TestTree-requestCreateXSSMatchSet = req- "CreateXSSMatchSet"- "fixture/CreateXSSMatchSet.yaml"--requestDeleteGeoMatchSet :: DeleteGeoMatchSet -> TestTree-requestDeleteGeoMatchSet = req- "DeleteGeoMatchSet"- "fixture/DeleteGeoMatchSet.yaml"--requestUpdateGeoMatchSet :: UpdateGeoMatchSet -> TestTree-requestUpdateGeoMatchSet = req- "UpdateGeoMatchSet"- "fixture/UpdateGeoMatchSet.yaml"--requestGetByteMatchSet :: GetByteMatchSet -> TestTree-requestGetByteMatchSet = req- "GetByteMatchSet"- "fixture/GetByteMatchSet.yaml"--requestGetPermissionPolicy :: GetPermissionPolicy -> TestTree-requestGetPermissionPolicy = req- "GetPermissionPolicy"- "fixture/GetPermissionPolicy.yaml"--requestListRuleGroups :: ListRuleGroups -> TestTree-requestListRuleGroups = req- "ListRuleGroups"- "fixture/ListRuleGroups.yaml"--requestDeleteRuleGroup :: DeleteRuleGroup -> TestTree-requestDeleteRuleGroup = req- "DeleteRuleGroup"- "fixture/DeleteRuleGroup.yaml"--requestUpdateRuleGroup :: UpdateRuleGroup -> TestTree-requestUpdateRuleGroup = req- "UpdateRuleGroup"- "fixture/UpdateRuleGroup.yaml"--requestCreateRegexMatchSet :: CreateRegexMatchSet -> TestTree-requestCreateRegexMatchSet = req- "CreateRegexMatchSet"- "fixture/CreateRegexMatchSet.yaml"--requestGetRateBasedRule :: GetRateBasedRule -> TestTree-requestGetRateBasedRule = req- "GetRateBasedRule"- "fixture/GetRateBasedRule.yaml"--requestCreateRegexPatternSet :: CreateRegexPatternSet -> TestTree-requestCreateRegexPatternSet = req- "CreateRegexPatternSet"- "fixture/CreateRegexPatternSet.yaml"--requestDeleteSizeConstraintSet :: DeleteSizeConstraintSet -> TestTree-requestDeleteSizeConstraintSet = req- "DeleteSizeConstraintSet"- "fixture/DeleteSizeConstraintSet.yaml"--requestUpdateSizeConstraintSet :: UpdateSizeConstraintSet -> TestTree-requestUpdateSizeConstraintSet = req- "UpdateSizeConstraintSet"- "fixture/UpdateSizeConstraintSet.yaml"--requestDeleteRegexPatternSet :: DeleteRegexPatternSet -> TestTree-requestDeleteRegexPatternSet = req- "DeleteRegexPatternSet"- "fixture/DeleteRegexPatternSet.yaml"--requestUpdateRegexPatternSet :: UpdateRegexPatternSet -> TestTree-requestUpdateRegexPatternSet = req- "UpdateRegexPatternSet"- "fixture/UpdateRegexPatternSet.yaml"--requestCreateSizeConstraintSet :: CreateSizeConstraintSet -> TestTree-requestCreateSizeConstraintSet = req- "CreateSizeConstraintSet"- "fixture/CreateSizeConstraintSet.yaml"--requestListRegexPatternSets :: ListRegexPatternSets -> TestTree-requestListRegexPatternSets = req- "ListRegexPatternSets"- "fixture/ListRegexPatternSets.yaml"--requestListSqlInjectionMatchSets :: ListSqlInjectionMatchSets -> TestTree-requestListSqlInjectionMatchSets = req- "ListSqlInjectionMatchSets"- "fixture/ListSqlInjectionMatchSets.yaml"--requestGetRegexPatternSet :: GetRegexPatternSet -> TestTree-requestGetRegexPatternSet = req- "GetRegexPatternSet"- "fixture/GetRegexPatternSet.yaml"--requestCreateRateBasedRule :: CreateRateBasedRule -> TestTree-requestCreateRateBasedRule = req- "CreateRateBasedRule"- "fixture/CreateRateBasedRule.yaml"--requestDeleteSqlInjectionMatchSet :: DeleteSqlInjectionMatchSet -> TestTree-requestDeleteSqlInjectionMatchSet = req- "DeleteSqlInjectionMatchSet"- "fixture/DeleteSqlInjectionMatchSet.yaml"--requestUpdateSqlInjectionMatchSet :: UpdateSqlInjectionMatchSet -> TestTree-requestUpdateSqlInjectionMatchSet = req- "UpdateSqlInjectionMatchSet"- "fixture/UpdateSqlInjectionMatchSet.yaml"---- Responses--responseListActivatedRulesInRuleGroup :: ListActivatedRulesInRuleGroupResponse -> TestTree-responseListActivatedRulesInRuleGroup = res- "ListActivatedRulesInRuleGroupResponse"- "fixture/ListActivatedRulesInRuleGroupResponse.proto"- waf- (Proxy :: Proxy ListActivatedRulesInRuleGroup)--responseListRateBasedRules :: ListRateBasedRulesResponse -> TestTree-responseListRateBasedRules = res- "ListRateBasedRulesResponse"- "fixture/ListRateBasedRulesResponse.proto"- waf- (Proxy :: Proxy ListRateBasedRules)--responseGetSizeConstraintSet :: GetSizeConstraintSetResponse -> TestTree-responseGetSizeConstraintSet = res- "GetSizeConstraintSetResponse"- "fixture/GetSizeConstraintSetResponse.proto"- waf- (Proxy :: Proxy GetSizeConstraintSet)--responseDeleteRateBasedRule :: DeleteRateBasedRuleResponse -> TestTree-responseDeleteRateBasedRule = res- "DeleteRateBasedRuleResponse"- "fixture/DeleteRateBasedRuleResponse.proto"- waf- (Proxy :: Proxy DeleteRateBasedRule)--responseUpdateRateBasedRule :: UpdateRateBasedRuleResponse -> TestTree-responseUpdateRateBasedRule = res- "UpdateRateBasedRuleResponse"- "fixture/UpdateRateBasedRuleResponse.proto"- waf- (Proxy :: Proxy UpdateRateBasedRule)--responseUpdateRule :: UpdateRuleResponse -> TestTree-responseUpdateRule = res- "UpdateRuleResponse"- "fixture/UpdateRuleResponse.proto"- waf- (Proxy :: Proxy UpdateRule)--responseDeleteRule :: DeleteRuleResponse -> TestTree-responseDeleteRule = res- "DeleteRuleResponse"- "fixture/DeleteRuleResponse.proto"- waf- (Proxy :: Proxy DeleteRule)--responseCreateIPSet :: CreateIPSetResponse -> TestTree-responseCreateIPSet = res- "CreateIPSetResponse"- "fixture/CreateIPSetResponse.proto"- waf- (Proxy :: Proxy CreateIPSet)--responseGetRuleGroup :: GetRuleGroupResponse -> TestTree-responseGetRuleGroup = res- "GetRuleGroupResponse"- "fixture/GetRuleGroupResponse.proto"- waf- (Proxy :: Proxy GetRuleGroup)--responseGetChangeTokenStatus :: GetChangeTokenStatusResponse -> TestTree-responseGetChangeTokenStatus = res- "GetChangeTokenStatusResponse"- "fixture/GetChangeTokenStatusResponse.proto"- waf- (Proxy :: Proxy GetChangeTokenStatus)--responseDeleteWebACL :: DeleteWebACLResponse -> TestTree-responseDeleteWebACL = res- "DeleteWebACLResponse"- "fixture/DeleteWebACLResponse.proto"- waf- (Proxy :: Proxy DeleteWebACL)--responseUpdateWebACL :: UpdateWebACLResponse -> TestTree-responseUpdateWebACL = res- "UpdateWebACLResponse"- "fixture/UpdateWebACLResponse.proto"- waf- (Proxy :: Proxy UpdateWebACL)--responseListWebACLs :: ListWebACLsResponse -> TestTree-responseListWebACLs = res- "ListWebACLsResponse"- "fixture/ListWebACLsResponse.proto"- waf- (Proxy :: Proxy ListWebACLs)--responseListRules :: ListRulesResponse -> TestTree-responseListRules = res- "ListRulesResponse"- "fixture/ListRulesResponse.proto"- waf- (Proxy :: Proxy ListRules)--responseCreateRule :: CreateRuleResponse -> TestTree-responseCreateRule = res- "CreateRuleResponse"- "fixture/CreateRuleResponse.proto"- waf- (Proxy :: Proxy CreateRule)--responseCreateWebACL :: CreateWebACLResponse -> TestTree-responseCreateWebACL = res- "CreateWebACLResponse"- "fixture/CreateWebACLResponse.proto"- waf- (Proxy :: Proxy CreateWebACL)--responseGetGeoMatchSet :: GetGeoMatchSetResponse -> TestTree-responseGetGeoMatchSet = res- "GetGeoMatchSetResponse"- "fixture/GetGeoMatchSetResponse.proto"- waf- (Proxy :: Proxy GetGeoMatchSet)--responseListByteMatchSets :: ListByteMatchSetsResponse -> TestTree-responseListByteMatchSets = res- "ListByteMatchSetsResponse"- "fixture/ListByteMatchSetsResponse.proto"- waf- (Proxy :: Proxy ListByteMatchSets)--responseListGeoMatchSets :: ListGeoMatchSetsResponse -> TestTree-responseListGeoMatchSets = res- "ListGeoMatchSetsResponse"- "fixture/ListGeoMatchSetsResponse.proto"- waf- (Proxy :: Proxy ListGeoMatchSets)--responseCreateRuleGroup :: CreateRuleGroupResponse -> TestTree-responseCreateRuleGroup = res- "CreateRuleGroupResponse"- "fixture/CreateRuleGroupResponse.proto"- waf- (Proxy :: Proxy CreateRuleGroup)--responseDeleteRegexMatchSet :: DeleteRegexMatchSetResponse -> TestTree-responseDeleteRegexMatchSet = res- "DeleteRegexMatchSetResponse"- "fixture/DeleteRegexMatchSetResponse.proto"- waf- (Proxy :: Proxy DeleteRegexMatchSet)--responseUpdateRegexMatchSet :: UpdateRegexMatchSetResponse -> TestTree-responseUpdateRegexMatchSet = res- "UpdateRegexMatchSetResponse"- "fixture/UpdateRegexMatchSetResponse.proto"- waf- (Proxy :: Proxy UpdateRegexMatchSet)--responseGetIPSet :: GetIPSetResponse -> TestTree-responseGetIPSet = res- "GetIPSetResponse"- "fixture/GetIPSetResponse.proto"- waf- (Proxy :: Proxy GetIPSet)--responseGetWebACL :: GetWebACLResponse -> TestTree-responseGetWebACL = res- "GetWebACLResponse"- "fixture/GetWebACLResponse.proto"- waf- (Proxy :: Proxy GetWebACL)--responseGetRule :: GetRuleResponse -> TestTree-responseGetRule = res- "GetRuleResponse"- "fixture/GetRuleResponse.proto"- waf- (Proxy :: Proxy GetRule)--responseDeleteXSSMatchSet :: DeleteXSSMatchSetResponse -> TestTree-responseDeleteXSSMatchSet = res- "DeleteXSSMatchSetResponse"- "fixture/DeleteXSSMatchSetResponse.proto"- waf- (Proxy :: Proxy DeleteXSSMatchSet)--responseUpdateXSSMatchSet :: UpdateXSSMatchSetResponse -> TestTree-responseUpdateXSSMatchSet = res- "UpdateXSSMatchSetResponse"- "fixture/UpdateXSSMatchSetResponse.proto"- waf- (Proxy :: Proxy UpdateXSSMatchSet)--responseListXSSMatchSets :: ListXSSMatchSetsResponse -> TestTree-responseListXSSMatchSets = res- "ListXSSMatchSetsResponse"- "fixture/ListXSSMatchSetsResponse.proto"- waf- (Proxy :: Proxy ListXSSMatchSets)--responseCreateGeoMatchSet :: CreateGeoMatchSetResponse -> TestTree-responseCreateGeoMatchSet = res- "CreateGeoMatchSetResponse"- "fixture/CreateGeoMatchSetResponse.proto"- waf- (Proxy :: Proxy CreateGeoMatchSet)--responseGetChangeToken :: GetChangeTokenResponse -> TestTree-responseGetChangeToken = res- "GetChangeTokenResponse"- "fixture/GetChangeTokenResponse.proto"- waf- (Proxy :: Proxy GetChangeToken)--responseListSizeConstraintSets :: ListSizeConstraintSetsResponse -> TestTree-responseListSizeConstraintSets = res- "ListSizeConstraintSetsResponse"- "fixture/ListSizeConstraintSetsResponse.proto"- waf- (Proxy :: Proxy ListSizeConstraintSets)--responseGetSampledRequests :: GetSampledRequestsResponse -> TestTree-responseGetSampledRequests = res- "GetSampledRequestsResponse"- "fixture/GetSampledRequestsResponse.proto"- waf- (Proxy :: Proxy GetSampledRequests)--responseGetSqlInjectionMatchSet :: GetSqlInjectionMatchSetResponse -> TestTree-responseGetSqlInjectionMatchSet = res- "GetSqlInjectionMatchSetResponse"- "fixture/GetSqlInjectionMatchSetResponse.proto"- waf- (Proxy :: Proxy GetSqlInjectionMatchSet)--responseListSubscribedRuleGroups :: ListSubscribedRuleGroupsResponse -> TestTree-responseListSubscribedRuleGroups = res- "ListSubscribedRuleGroupsResponse"- "fixture/ListSubscribedRuleGroupsResponse.proto"- waf- (Proxy :: Proxy ListSubscribedRuleGroups)--responseCreateSqlInjectionMatchSet :: CreateSqlInjectionMatchSetResponse -> TestTree-responseCreateSqlInjectionMatchSet = res- "CreateSqlInjectionMatchSetResponse"- "fixture/CreateSqlInjectionMatchSetResponse.proto"- waf- (Proxy :: Proxy CreateSqlInjectionMatchSet)--responseGetXSSMatchSet :: GetXSSMatchSetResponse -> TestTree-responseGetXSSMatchSet = res- "GetXSSMatchSetResponse"- "fixture/GetXSSMatchSetResponse.proto"- waf- (Proxy :: Proxy GetXSSMatchSet)--responseCreateByteMatchSet :: CreateByteMatchSetResponse -> TestTree-responseCreateByteMatchSet = res- "CreateByteMatchSetResponse"- "fixture/CreateByteMatchSetResponse.proto"- waf- (Proxy :: Proxy CreateByteMatchSet)--responseUpdateByteMatchSet :: UpdateByteMatchSetResponse -> TestTree-responseUpdateByteMatchSet = res- "UpdateByteMatchSetResponse"- "fixture/UpdateByteMatchSetResponse.proto"- waf- (Proxy :: Proxy UpdateByteMatchSet)--responseDeleteByteMatchSet :: DeleteByteMatchSetResponse -> TestTree-responseDeleteByteMatchSet = res- "DeleteByteMatchSetResponse"- "fixture/DeleteByteMatchSetResponse.proto"- waf- (Proxy :: Proxy DeleteByteMatchSet)--responsePutPermissionPolicy :: PutPermissionPolicyResponse -> TestTree-responsePutPermissionPolicy = res- "PutPermissionPolicyResponse"- "fixture/PutPermissionPolicyResponse.proto"- waf- (Proxy :: Proxy PutPermissionPolicy)--responseGetRateBasedRuleManagedKeys :: GetRateBasedRuleManagedKeysResponse -> TestTree-responseGetRateBasedRuleManagedKeys = res- "GetRateBasedRuleManagedKeysResponse"- "fixture/GetRateBasedRuleManagedKeysResponse.proto"- waf- (Proxy :: Proxy GetRateBasedRuleManagedKeys)--responseDeletePermissionPolicy :: DeletePermissionPolicyResponse -> TestTree-responseDeletePermissionPolicy = res- "DeletePermissionPolicyResponse"- "fixture/DeletePermissionPolicyResponse.proto"- waf- (Proxy :: Proxy DeletePermissionPolicy)--responseGetRegexMatchSet :: GetRegexMatchSetResponse -> TestTree-responseGetRegexMatchSet = res- "GetRegexMatchSetResponse"- "fixture/GetRegexMatchSetResponse.proto"- waf- (Proxy :: Proxy GetRegexMatchSet)--responseDeleteIPSet :: DeleteIPSetResponse -> TestTree-responseDeleteIPSet = res- "DeleteIPSetResponse"- "fixture/DeleteIPSetResponse.proto"- waf- (Proxy :: Proxy DeleteIPSet)--responseUpdateIPSet :: UpdateIPSetResponse -> TestTree-responseUpdateIPSet = res- "UpdateIPSetResponse"- "fixture/UpdateIPSetResponse.proto"- waf- (Proxy :: Proxy UpdateIPSet)--responseListIPSets :: ListIPSetsResponse -> TestTree-responseListIPSets = res- "ListIPSetsResponse"- "fixture/ListIPSetsResponse.proto"- waf- (Proxy :: Proxy ListIPSets)--responseListRegexMatchSets :: ListRegexMatchSetsResponse -> TestTree-responseListRegexMatchSets = res- "ListRegexMatchSetsResponse"- "fixture/ListRegexMatchSetsResponse.proto"- waf- (Proxy :: Proxy ListRegexMatchSets)--responseCreateXSSMatchSet :: CreateXSSMatchSetResponse -> TestTree-responseCreateXSSMatchSet = res- "CreateXSSMatchSetResponse"- "fixture/CreateXSSMatchSetResponse.proto"- waf- (Proxy :: Proxy CreateXSSMatchSet)--responseDeleteGeoMatchSet :: DeleteGeoMatchSetResponse -> TestTree-responseDeleteGeoMatchSet = res- "DeleteGeoMatchSetResponse"- "fixture/DeleteGeoMatchSetResponse.proto"- waf- (Proxy :: Proxy DeleteGeoMatchSet)--responseUpdateGeoMatchSet :: UpdateGeoMatchSetResponse -> TestTree-responseUpdateGeoMatchSet = res- "UpdateGeoMatchSetResponse"- "fixture/UpdateGeoMatchSetResponse.proto"- waf- (Proxy :: Proxy UpdateGeoMatchSet)--responseGetByteMatchSet :: GetByteMatchSetResponse -> TestTree-responseGetByteMatchSet = res- "GetByteMatchSetResponse"- "fixture/GetByteMatchSetResponse.proto"- waf- (Proxy :: Proxy GetByteMatchSet)--responseGetPermissionPolicy :: GetPermissionPolicyResponse -> TestTree-responseGetPermissionPolicy = res- "GetPermissionPolicyResponse"- "fixture/GetPermissionPolicyResponse.proto"- waf- (Proxy :: Proxy GetPermissionPolicy)--responseListRuleGroups :: ListRuleGroupsResponse -> TestTree-responseListRuleGroups = res- "ListRuleGroupsResponse"- "fixture/ListRuleGroupsResponse.proto"- waf- (Proxy :: Proxy ListRuleGroups)--responseDeleteRuleGroup :: DeleteRuleGroupResponse -> TestTree-responseDeleteRuleGroup = res- "DeleteRuleGroupResponse"- "fixture/DeleteRuleGroupResponse.proto"- waf- (Proxy :: Proxy DeleteRuleGroup)--responseUpdateRuleGroup :: UpdateRuleGroupResponse -> TestTree-responseUpdateRuleGroup = res- "UpdateRuleGroupResponse"- "fixture/UpdateRuleGroupResponse.proto"- waf- (Proxy :: Proxy UpdateRuleGroup)--responseCreateRegexMatchSet :: CreateRegexMatchSetResponse -> TestTree-responseCreateRegexMatchSet = res- "CreateRegexMatchSetResponse"- "fixture/CreateRegexMatchSetResponse.proto"- waf- (Proxy :: Proxy CreateRegexMatchSet)--responseGetRateBasedRule :: GetRateBasedRuleResponse -> TestTree-responseGetRateBasedRule = res- "GetRateBasedRuleResponse"- "fixture/GetRateBasedRuleResponse.proto"- waf- (Proxy :: Proxy GetRateBasedRule)--responseCreateRegexPatternSet :: CreateRegexPatternSetResponse -> TestTree-responseCreateRegexPatternSet = res- "CreateRegexPatternSetResponse"- "fixture/CreateRegexPatternSetResponse.proto"- waf- (Proxy :: Proxy CreateRegexPatternSet)--responseDeleteSizeConstraintSet :: DeleteSizeConstraintSetResponse -> TestTree-responseDeleteSizeConstraintSet = res- "DeleteSizeConstraintSetResponse"- "fixture/DeleteSizeConstraintSetResponse.proto"- waf- (Proxy :: Proxy DeleteSizeConstraintSet)--responseUpdateSizeConstraintSet :: UpdateSizeConstraintSetResponse -> TestTree-responseUpdateSizeConstraintSet = res- "UpdateSizeConstraintSetResponse"- "fixture/UpdateSizeConstraintSetResponse.proto"- waf- (Proxy :: Proxy UpdateSizeConstraintSet)--responseDeleteRegexPatternSet :: DeleteRegexPatternSetResponse -> TestTree-responseDeleteRegexPatternSet = res- "DeleteRegexPatternSetResponse"- "fixture/DeleteRegexPatternSetResponse.proto"- waf- (Proxy :: Proxy DeleteRegexPatternSet)--responseUpdateRegexPatternSet :: UpdateRegexPatternSetResponse -> TestTree-responseUpdateRegexPatternSet = res- "UpdateRegexPatternSetResponse"- "fixture/UpdateRegexPatternSetResponse.proto"- waf- (Proxy :: Proxy UpdateRegexPatternSet)--responseCreateSizeConstraintSet :: CreateSizeConstraintSetResponse -> TestTree-responseCreateSizeConstraintSet = res- "CreateSizeConstraintSetResponse"- "fixture/CreateSizeConstraintSetResponse.proto"- waf- (Proxy :: Proxy CreateSizeConstraintSet)--responseListRegexPatternSets :: ListRegexPatternSetsResponse -> TestTree-responseListRegexPatternSets = res- "ListRegexPatternSetsResponse"- "fixture/ListRegexPatternSetsResponse.proto"- waf- (Proxy :: Proxy ListRegexPatternSets)--responseListSqlInjectionMatchSets :: ListSqlInjectionMatchSetsResponse -> TestTree-responseListSqlInjectionMatchSets = res- "ListSqlInjectionMatchSetsResponse"- "fixture/ListSqlInjectionMatchSetsResponse.proto"- waf- (Proxy :: Proxy ListSqlInjectionMatchSets)--responseGetRegexPatternSet :: GetRegexPatternSetResponse -> TestTree-responseGetRegexPatternSet = res- "GetRegexPatternSetResponse"- "fixture/GetRegexPatternSetResponse.proto"- waf- (Proxy :: Proxy GetRegexPatternSet)--responseCreateRateBasedRule :: CreateRateBasedRuleResponse -> TestTree-responseCreateRateBasedRule = res- "CreateRateBasedRuleResponse"- "fixture/CreateRateBasedRuleResponse.proto"- waf- (Proxy :: Proxy CreateRateBasedRule)--responseDeleteSqlInjectionMatchSet :: DeleteSqlInjectionMatchSetResponse -> TestTree-responseDeleteSqlInjectionMatchSet = res- "DeleteSqlInjectionMatchSetResponse"- "fixture/DeleteSqlInjectionMatchSetResponse.proto"- waf- (Proxy :: Proxy DeleteSqlInjectionMatchSet)--responseUpdateSqlInjectionMatchSet :: UpdateSqlInjectionMatchSetResponse -> TestTree-responseUpdateSqlInjectionMatchSet = res- "UpdateSqlInjectionMatchSetResponse"- "fixture/UpdateSqlInjectionMatchSetResponse.proto"- waf- (Proxy :: Proxy UpdateSqlInjectionMatchSet)
− test/Test/AWS/WAF.hs
@@ -1,23 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module : Test.AWS.WAF--- Copyright : (c) 2013-2018 Brendan Hay--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental--- Portability : non-portable (GHC extensions)--module Test.AWS.WAF where--import Test.AWS.Prelude--tests :: [TestTree]-tests = []--fixtures :: [TestTree]-fixtures = []
− test/Test/AWS/WAF/Internal.hs
@@ -1,17 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module : Test.AWS.WAF.Internal--- Copyright : (c) 2013-2018 Brendan Hay--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental--- Portability : non-portable (GHC extensions)--module Test.AWS.WAF.Internal where--import Test.AWS.Prelude
+ test/Test/Amazonka/Gen/WAF.hs view
@@ -0,0 +1,1578 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.WAF+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.WAF where++import Amazonka.WAF+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.WAF.Internal+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestCreateByteMatchSet $+-- newCreateByteMatchSet+--+-- , requestCreateGeoMatchSet $+-- newCreateGeoMatchSet+--+-- , requestCreateIPSet $+-- newCreateIPSet+--+-- , requestCreateRateBasedRule $+-- newCreateRateBasedRule+--+-- , requestCreateRegexMatchSet $+-- newCreateRegexMatchSet+--+-- , requestCreateRegexPatternSet $+-- newCreateRegexPatternSet+--+-- , requestCreateRule $+-- newCreateRule+--+-- , requestCreateRuleGroup $+-- newCreateRuleGroup+--+-- , requestCreateSizeConstraintSet $+-- newCreateSizeConstraintSet+--+-- , requestCreateSqlInjectionMatchSet $+-- newCreateSqlInjectionMatchSet+--+-- , requestCreateWebACL $+-- newCreateWebACL+--+-- , requestCreateWebACLMigrationStack $+-- newCreateWebACLMigrationStack+--+-- , requestCreateXssMatchSet $+-- newCreateXssMatchSet+--+-- , requestDeleteByteMatchSet $+-- newDeleteByteMatchSet+--+-- , requestDeleteGeoMatchSet $+-- newDeleteGeoMatchSet+--+-- , requestDeleteIPSet $+-- newDeleteIPSet+--+-- , requestDeleteLoggingConfiguration $+-- newDeleteLoggingConfiguration+--+-- , requestDeletePermissionPolicy $+-- newDeletePermissionPolicy+--+-- , requestDeleteRateBasedRule $+-- newDeleteRateBasedRule+--+-- , requestDeleteRegexMatchSet $+-- newDeleteRegexMatchSet+--+-- , requestDeleteRegexPatternSet $+-- newDeleteRegexPatternSet+--+-- , requestDeleteRule $+-- newDeleteRule+--+-- , requestDeleteRuleGroup $+-- newDeleteRuleGroup+--+-- , requestDeleteSizeConstraintSet $+-- newDeleteSizeConstraintSet+--+-- , requestDeleteSqlInjectionMatchSet $+-- newDeleteSqlInjectionMatchSet+--+-- , requestDeleteWebACL $+-- newDeleteWebACL+--+-- , requestDeleteXssMatchSet $+-- newDeleteXssMatchSet+--+-- , requestGetByteMatchSet $+-- newGetByteMatchSet+--+-- , requestGetChangeToken $+-- newGetChangeToken+--+-- , requestGetChangeTokenStatus $+-- newGetChangeTokenStatus+--+-- , requestGetGeoMatchSet $+-- newGetGeoMatchSet+--+-- , requestGetIPSet $+-- newGetIPSet+--+-- , requestGetLoggingConfiguration $+-- newGetLoggingConfiguration+--+-- , requestGetPermissionPolicy $+-- newGetPermissionPolicy+--+-- , requestGetRateBasedRule $+-- newGetRateBasedRule+--+-- , requestGetRateBasedRuleManagedKeys $+-- newGetRateBasedRuleManagedKeys+--+-- , requestGetRegexMatchSet $+-- newGetRegexMatchSet+--+-- , requestGetRegexPatternSet $+-- newGetRegexPatternSet+--+-- , requestGetRule $+-- newGetRule+--+-- , requestGetRuleGroup $+-- newGetRuleGroup+--+-- , requestGetSampledRequests $+-- newGetSampledRequests+--+-- , requestGetSizeConstraintSet $+-- newGetSizeConstraintSet+--+-- , requestGetSqlInjectionMatchSet $+-- newGetSqlInjectionMatchSet+--+-- , requestGetWebACL $+-- newGetWebACL+--+-- , requestGetXssMatchSet $+-- newGetXssMatchSet+--+-- , requestListActivatedRulesInRuleGroup $+-- newListActivatedRulesInRuleGroup+--+-- , requestListByteMatchSets $+-- newListByteMatchSets+--+-- , requestListGeoMatchSets $+-- newListGeoMatchSets+--+-- , requestListIPSets $+-- newListIPSets+--+-- , requestListLoggingConfigurations $+-- newListLoggingConfigurations+--+-- , requestListRateBasedRules $+-- newListRateBasedRules+--+-- , requestListRegexMatchSets $+-- newListRegexMatchSets+--+-- , requestListRegexPatternSets $+-- newListRegexPatternSets+--+-- , requestListRuleGroups $+-- newListRuleGroups+--+-- , requestListRules $+-- newListRules+--+-- , requestListSizeConstraintSets $+-- newListSizeConstraintSets+--+-- , requestListSqlInjectionMatchSets $+-- newListSqlInjectionMatchSets+--+-- , requestListSubscribedRuleGroups $+-- newListSubscribedRuleGroups+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestListWebACLs $+-- newListWebACLs+--+-- , requestListXssMatchSets $+-- newListXssMatchSets+--+-- , requestPutLoggingConfiguration $+-- newPutLoggingConfiguration+--+-- , requestPutPermissionPolicy $+-- newPutPermissionPolicy+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateByteMatchSet $+-- newUpdateByteMatchSet+--+-- , requestUpdateGeoMatchSet $+-- newUpdateGeoMatchSet+--+-- , requestUpdateIPSet $+-- newUpdateIPSet+--+-- , requestUpdateRateBasedRule $+-- newUpdateRateBasedRule+--+-- , requestUpdateRegexMatchSet $+-- newUpdateRegexMatchSet+--+-- , requestUpdateRegexPatternSet $+-- newUpdateRegexPatternSet+--+-- , requestUpdateRule $+-- newUpdateRule+--+-- , requestUpdateRuleGroup $+-- newUpdateRuleGroup+--+-- , requestUpdateSizeConstraintSet $+-- newUpdateSizeConstraintSet+--+-- , requestUpdateSqlInjectionMatchSet $+-- newUpdateSqlInjectionMatchSet+--+-- , requestUpdateWebACL $+-- newUpdateWebACL+--+-- , requestUpdateXssMatchSet $+-- newUpdateXssMatchSet+--+-- ]++-- , testGroup "response"+-- [ responseCreateByteMatchSet $+-- newCreateByteMatchSetResponse+--+-- , responseCreateGeoMatchSet $+-- newCreateGeoMatchSetResponse+--+-- , responseCreateIPSet $+-- newCreateIPSetResponse+--+-- , responseCreateRateBasedRule $+-- newCreateRateBasedRuleResponse+--+-- , responseCreateRegexMatchSet $+-- newCreateRegexMatchSetResponse+--+-- , responseCreateRegexPatternSet $+-- newCreateRegexPatternSetResponse+--+-- , responseCreateRule $+-- newCreateRuleResponse+--+-- , responseCreateRuleGroup $+-- newCreateRuleGroupResponse+--+-- , responseCreateSizeConstraintSet $+-- newCreateSizeConstraintSetResponse+--+-- , responseCreateSqlInjectionMatchSet $+-- newCreateSqlInjectionMatchSetResponse+--+-- , responseCreateWebACL $+-- newCreateWebACLResponse+--+-- , responseCreateWebACLMigrationStack $+-- newCreateWebACLMigrationStackResponse+--+-- , responseCreateXssMatchSet $+-- newCreateXssMatchSetResponse+--+-- , responseDeleteByteMatchSet $+-- newDeleteByteMatchSetResponse+--+-- , responseDeleteGeoMatchSet $+-- newDeleteGeoMatchSetResponse+--+-- , responseDeleteIPSet $+-- newDeleteIPSetResponse+--+-- , responseDeleteLoggingConfiguration $+-- newDeleteLoggingConfigurationResponse+--+-- , responseDeletePermissionPolicy $+-- newDeletePermissionPolicyResponse+--+-- , responseDeleteRateBasedRule $+-- newDeleteRateBasedRuleResponse+--+-- , responseDeleteRegexMatchSet $+-- newDeleteRegexMatchSetResponse+--+-- , responseDeleteRegexPatternSet $+-- newDeleteRegexPatternSetResponse+--+-- , responseDeleteRule $+-- newDeleteRuleResponse+--+-- , responseDeleteRuleGroup $+-- newDeleteRuleGroupResponse+--+-- , responseDeleteSizeConstraintSet $+-- newDeleteSizeConstraintSetResponse+--+-- , responseDeleteSqlInjectionMatchSet $+-- newDeleteSqlInjectionMatchSetResponse+--+-- , responseDeleteWebACL $+-- newDeleteWebACLResponse+--+-- , responseDeleteXssMatchSet $+-- newDeleteXssMatchSetResponse+--+-- , responseGetByteMatchSet $+-- newGetByteMatchSetResponse+--+-- , responseGetChangeToken $+-- newGetChangeTokenResponse+--+-- , responseGetChangeTokenStatus $+-- newGetChangeTokenStatusResponse+--+-- , responseGetGeoMatchSet $+-- newGetGeoMatchSetResponse+--+-- , responseGetIPSet $+-- newGetIPSetResponse+--+-- , responseGetLoggingConfiguration $+-- newGetLoggingConfigurationResponse+--+-- , responseGetPermissionPolicy $+-- newGetPermissionPolicyResponse+--+-- , responseGetRateBasedRule $+-- newGetRateBasedRuleResponse+--+-- , responseGetRateBasedRuleManagedKeys $+-- newGetRateBasedRuleManagedKeysResponse+--+-- , responseGetRegexMatchSet $+-- newGetRegexMatchSetResponse+--+-- , responseGetRegexPatternSet $+-- newGetRegexPatternSetResponse+--+-- , responseGetRule $+-- newGetRuleResponse+--+-- , responseGetRuleGroup $+-- newGetRuleGroupResponse+--+-- , responseGetSampledRequests $+-- newGetSampledRequestsResponse+--+-- , responseGetSizeConstraintSet $+-- newGetSizeConstraintSetResponse+--+-- , responseGetSqlInjectionMatchSet $+-- newGetSqlInjectionMatchSetResponse+--+-- , responseGetWebACL $+-- newGetWebACLResponse+--+-- , responseGetXssMatchSet $+-- newGetXssMatchSetResponse+--+-- , responseListActivatedRulesInRuleGroup $+-- newListActivatedRulesInRuleGroupResponse+--+-- , responseListByteMatchSets $+-- newListByteMatchSetsResponse+--+-- , responseListGeoMatchSets $+-- newListGeoMatchSetsResponse+--+-- , responseListIPSets $+-- newListIPSetsResponse+--+-- , responseListLoggingConfigurations $+-- newListLoggingConfigurationsResponse+--+-- , responseListRateBasedRules $+-- newListRateBasedRulesResponse+--+-- , responseListRegexMatchSets $+-- newListRegexMatchSetsResponse+--+-- , responseListRegexPatternSets $+-- newListRegexPatternSetsResponse+--+-- , responseListRuleGroups $+-- newListRuleGroupsResponse+--+-- , responseListRules $+-- newListRulesResponse+--+-- , responseListSizeConstraintSets $+-- newListSizeConstraintSetsResponse+--+-- , responseListSqlInjectionMatchSets $+-- newListSqlInjectionMatchSetsResponse+--+-- , responseListSubscribedRuleGroups $+-- newListSubscribedRuleGroupsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseListWebACLs $+-- newListWebACLsResponse+--+-- , responseListXssMatchSets $+-- newListXssMatchSetsResponse+--+-- , responsePutLoggingConfiguration $+-- newPutLoggingConfigurationResponse+--+-- , responsePutPermissionPolicy $+-- newPutPermissionPolicyResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateByteMatchSet $+-- newUpdateByteMatchSetResponse+--+-- , responseUpdateGeoMatchSet $+-- newUpdateGeoMatchSetResponse+--+-- , responseUpdateIPSet $+-- newUpdateIPSetResponse+--+-- , responseUpdateRateBasedRule $+-- newUpdateRateBasedRuleResponse+--+-- , responseUpdateRegexMatchSet $+-- newUpdateRegexMatchSetResponse+--+-- , responseUpdateRegexPatternSet $+-- newUpdateRegexPatternSetResponse+--+-- , responseUpdateRule $+-- newUpdateRuleResponse+--+-- , responseUpdateRuleGroup $+-- newUpdateRuleGroupResponse+--+-- , responseUpdateSizeConstraintSet $+-- newUpdateSizeConstraintSetResponse+--+-- , responseUpdateSqlInjectionMatchSet $+-- newUpdateSqlInjectionMatchSetResponse+--+-- , responseUpdateWebACL $+-- newUpdateWebACLResponse+--+-- , responseUpdateXssMatchSet $+-- newUpdateXssMatchSetResponse+--+-- ]+-- ]++-- Requests++requestCreateByteMatchSet :: CreateByteMatchSet -> TestTree+requestCreateByteMatchSet =+ req+ "CreateByteMatchSet"+ "fixture/CreateByteMatchSet.yaml"++requestCreateGeoMatchSet :: CreateGeoMatchSet -> TestTree+requestCreateGeoMatchSet =+ req+ "CreateGeoMatchSet"+ "fixture/CreateGeoMatchSet.yaml"++requestCreateIPSet :: CreateIPSet -> TestTree+requestCreateIPSet =+ req+ "CreateIPSet"+ "fixture/CreateIPSet.yaml"++requestCreateRateBasedRule :: CreateRateBasedRule -> TestTree+requestCreateRateBasedRule =+ req+ "CreateRateBasedRule"+ "fixture/CreateRateBasedRule.yaml"++requestCreateRegexMatchSet :: CreateRegexMatchSet -> TestTree+requestCreateRegexMatchSet =+ req+ "CreateRegexMatchSet"+ "fixture/CreateRegexMatchSet.yaml"++requestCreateRegexPatternSet :: CreateRegexPatternSet -> TestTree+requestCreateRegexPatternSet =+ req+ "CreateRegexPatternSet"+ "fixture/CreateRegexPatternSet.yaml"++requestCreateRule :: CreateRule -> TestTree+requestCreateRule =+ req+ "CreateRule"+ "fixture/CreateRule.yaml"++requestCreateRuleGroup :: CreateRuleGroup -> TestTree+requestCreateRuleGroup =+ req+ "CreateRuleGroup"+ "fixture/CreateRuleGroup.yaml"++requestCreateSizeConstraintSet :: CreateSizeConstraintSet -> TestTree+requestCreateSizeConstraintSet =+ req+ "CreateSizeConstraintSet"+ "fixture/CreateSizeConstraintSet.yaml"++requestCreateSqlInjectionMatchSet :: CreateSqlInjectionMatchSet -> TestTree+requestCreateSqlInjectionMatchSet =+ req+ "CreateSqlInjectionMatchSet"+ "fixture/CreateSqlInjectionMatchSet.yaml"++requestCreateWebACL :: CreateWebACL -> TestTree+requestCreateWebACL =+ req+ "CreateWebACL"+ "fixture/CreateWebACL.yaml"++requestCreateWebACLMigrationStack :: CreateWebACLMigrationStack -> TestTree+requestCreateWebACLMigrationStack =+ req+ "CreateWebACLMigrationStack"+ "fixture/CreateWebACLMigrationStack.yaml"++requestCreateXssMatchSet :: CreateXssMatchSet -> TestTree+requestCreateXssMatchSet =+ req+ "CreateXssMatchSet"+ "fixture/CreateXssMatchSet.yaml"++requestDeleteByteMatchSet :: DeleteByteMatchSet -> TestTree+requestDeleteByteMatchSet =+ req+ "DeleteByteMatchSet"+ "fixture/DeleteByteMatchSet.yaml"++requestDeleteGeoMatchSet :: DeleteGeoMatchSet -> TestTree+requestDeleteGeoMatchSet =+ req+ "DeleteGeoMatchSet"+ "fixture/DeleteGeoMatchSet.yaml"++requestDeleteIPSet :: DeleteIPSet -> TestTree+requestDeleteIPSet =+ req+ "DeleteIPSet"+ "fixture/DeleteIPSet.yaml"++requestDeleteLoggingConfiguration :: DeleteLoggingConfiguration -> TestTree+requestDeleteLoggingConfiguration =+ req+ "DeleteLoggingConfiguration"+ "fixture/DeleteLoggingConfiguration.yaml"++requestDeletePermissionPolicy :: DeletePermissionPolicy -> TestTree+requestDeletePermissionPolicy =+ req+ "DeletePermissionPolicy"+ "fixture/DeletePermissionPolicy.yaml"++requestDeleteRateBasedRule :: DeleteRateBasedRule -> TestTree+requestDeleteRateBasedRule =+ req+ "DeleteRateBasedRule"+ "fixture/DeleteRateBasedRule.yaml"++requestDeleteRegexMatchSet :: DeleteRegexMatchSet -> TestTree+requestDeleteRegexMatchSet =+ req+ "DeleteRegexMatchSet"+ "fixture/DeleteRegexMatchSet.yaml"++requestDeleteRegexPatternSet :: DeleteRegexPatternSet -> TestTree+requestDeleteRegexPatternSet =+ req+ "DeleteRegexPatternSet"+ "fixture/DeleteRegexPatternSet.yaml"++requestDeleteRule :: DeleteRule -> TestTree+requestDeleteRule =+ req+ "DeleteRule"+ "fixture/DeleteRule.yaml"++requestDeleteRuleGroup :: DeleteRuleGroup -> TestTree+requestDeleteRuleGroup =+ req+ "DeleteRuleGroup"+ "fixture/DeleteRuleGroup.yaml"++requestDeleteSizeConstraintSet :: DeleteSizeConstraintSet -> TestTree+requestDeleteSizeConstraintSet =+ req+ "DeleteSizeConstraintSet"+ "fixture/DeleteSizeConstraintSet.yaml"++requestDeleteSqlInjectionMatchSet :: DeleteSqlInjectionMatchSet -> TestTree+requestDeleteSqlInjectionMatchSet =+ req+ "DeleteSqlInjectionMatchSet"+ "fixture/DeleteSqlInjectionMatchSet.yaml"++requestDeleteWebACL :: DeleteWebACL -> TestTree+requestDeleteWebACL =+ req+ "DeleteWebACL"+ "fixture/DeleteWebACL.yaml"++requestDeleteXssMatchSet :: DeleteXssMatchSet -> TestTree+requestDeleteXssMatchSet =+ req+ "DeleteXssMatchSet"+ "fixture/DeleteXssMatchSet.yaml"++requestGetByteMatchSet :: GetByteMatchSet -> TestTree+requestGetByteMatchSet =+ req+ "GetByteMatchSet"+ "fixture/GetByteMatchSet.yaml"++requestGetChangeToken :: GetChangeToken -> TestTree+requestGetChangeToken =+ req+ "GetChangeToken"+ "fixture/GetChangeToken.yaml"++requestGetChangeTokenStatus :: GetChangeTokenStatus -> TestTree+requestGetChangeTokenStatus =+ req+ "GetChangeTokenStatus"+ "fixture/GetChangeTokenStatus.yaml"++requestGetGeoMatchSet :: GetGeoMatchSet -> TestTree+requestGetGeoMatchSet =+ req+ "GetGeoMatchSet"+ "fixture/GetGeoMatchSet.yaml"++requestGetIPSet :: GetIPSet -> TestTree+requestGetIPSet =+ req+ "GetIPSet"+ "fixture/GetIPSet.yaml"++requestGetLoggingConfiguration :: GetLoggingConfiguration -> TestTree+requestGetLoggingConfiguration =+ req+ "GetLoggingConfiguration"+ "fixture/GetLoggingConfiguration.yaml"++requestGetPermissionPolicy :: GetPermissionPolicy -> TestTree+requestGetPermissionPolicy =+ req+ "GetPermissionPolicy"+ "fixture/GetPermissionPolicy.yaml"++requestGetRateBasedRule :: GetRateBasedRule -> TestTree+requestGetRateBasedRule =+ req+ "GetRateBasedRule"+ "fixture/GetRateBasedRule.yaml"++requestGetRateBasedRuleManagedKeys :: GetRateBasedRuleManagedKeys -> TestTree+requestGetRateBasedRuleManagedKeys =+ req+ "GetRateBasedRuleManagedKeys"+ "fixture/GetRateBasedRuleManagedKeys.yaml"++requestGetRegexMatchSet :: GetRegexMatchSet -> TestTree+requestGetRegexMatchSet =+ req+ "GetRegexMatchSet"+ "fixture/GetRegexMatchSet.yaml"++requestGetRegexPatternSet :: GetRegexPatternSet -> TestTree+requestGetRegexPatternSet =+ req+ "GetRegexPatternSet"+ "fixture/GetRegexPatternSet.yaml"++requestGetRule :: GetRule -> TestTree+requestGetRule =+ req+ "GetRule"+ "fixture/GetRule.yaml"++requestGetRuleGroup :: GetRuleGroup -> TestTree+requestGetRuleGroup =+ req+ "GetRuleGroup"+ "fixture/GetRuleGroup.yaml"++requestGetSampledRequests :: GetSampledRequests -> TestTree+requestGetSampledRequests =+ req+ "GetSampledRequests"+ "fixture/GetSampledRequests.yaml"++requestGetSizeConstraintSet :: GetSizeConstraintSet -> TestTree+requestGetSizeConstraintSet =+ req+ "GetSizeConstraintSet"+ "fixture/GetSizeConstraintSet.yaml"++requestGetSqlInjectionMatchSet :: GetSqlInjectionMatchSet -> TestTree+requestGetSqlInjectionMatchSet =+ req+ "GetSqlInjectionMatchSet"+ "fixture/GetSqlInjectionMatchSet.yaml"++requestGetWebACL :: GetWebACL -> TestTree+requestGetWebACL =+ req+ "GetWebACL"+ "fixture/GetWebACL.yaml"++requestGetXssMatchSet :: GetXssMatchSet -> TestTree+requestGetXssMatchSet =+ req+ "GetXssMatchSet"+ "fixture/GetXssMatchSet.yaml"++requestListActivatedRulesInRuleGroup :: ListActivatedRulesInRuleGroup -> TestTree+requestListActivatedRulesInRuleGroup =+ req+ "ListActivatedRulesInRuleGroup"+ "fixture/ListActivatedRulesInRuleGroup.yaml"++requestListByteMatchSets :: ListByteMatchSets -> TestTree+requestListByteMatchSets =+ req+ "ListByteMatchSets"+ "fixture/ListByteMatchSets.yaml"++requestListGeoMatchSets :: ListGeoMatchSets -> TestTree+requestListGeoMatchSets =+ req+ "ListGeoMatchSets"+ "fixture/ListGeoMatchSets.yaml"++requestListIPSets :: ListIPSets -> TestTree+requestListIPSets =+ req+ "ListIPSets"+ "fixture/ListIPSets.yaml"++requestListLoggingConfigurations :: ListLoggingConfigurations -> TestTree+requestListLoggingConfigurations =+ req+ "ListLoggingConfigurations"+ "fixture/ListLoggingConfigurations.yaml"++requestListRateBasedRules :: ListRateBasedRules -> TestTree+requestListRateBasedRules =+ req+ "ListRateBasedRules"+ "fixture/ListRateBasedRules.yaml"++requestListRegexMatchSets :: ListRegexMatchSets -> TestTree+requestListRegexMatchSets =+ req+ "ListRegexMatchSets"+ "fixture/ListRegexMatchSets.yaml"++requestListRegexPatternSets :: ListRegexPatternSets -> TestTree+requestListRegexPatternSets =+ req+ "ListRegexPatternSets"+ "fixture/ListRegexPatternSets.yaml"++requestListRuleGroups :: ListRuleGroups -> TestTree+requestListRuleGroups =+ req+ "ListRuleGroups"+ "fixture/ListRuleGroups.yaml"++requestListRules :: ListRules -> TestTree+requestListRules =+ req+ "ListRules"+ "fixture/ListRules.yaml"++requestListSizeConstraintSets :: ListSizeConstraintSets -> TestTree+requestListSizeConstraintSets =+ req+ "ListSizeConstraintSets"+ "fixture/ListSizeConstraintSets.yaml"++requestListSqlInjectionMatchSets :: ListSqlInjectionMatchSets -> TestTree+requestListSqlInjectionMatchSets =+ req+ "ListSqlInjectionMatchSets"+ "fixture/ListSqlInjectionMatchSets.yaml"++requestListSubscribedRuleGroups :: ListSubscribedRuleGroups -> TestTree+requestListSubscribedRuleGroups =+ req+ "ListSubscribedRuleGroups"+ "fixture/ListSubscribedRuleGroups.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestListWebACLs :: ListWebACLs -> TestTree+requestListWebACLs =+ req+ "ListWebACLs"+ "fixture/ListWebACLs.yaml"++requestListXssMatchSets :: ListXssMatchSets -> TestTree+requestListXssMatchSets =+ req+ "ListXssMatchSets"+ "fixture/ListXssMatchSets.yaml"++requestPutLoggingConfiguration :: PutLoggingConfiguration -> TestTree+requestPutLoggingConfiguration =+ req+ "PutLoggingConfiguration"+ "fixture/PutLoggingConfiguration.yaml"++requestPutPermissionPolicy :: PutPermissionPolicy -> TestTree+requestPutPermissionPolicy =+ req+ "PutPermissionPolicy"+ "fixture/PutPermissionPolicy.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateByteMatchSet :: UpdateByteMatchSet -> TestTree+requestUpdateByteMatchSet =+ req+ "UpdateByteMatchSet"+ "fixture/UpdateByteMatchSet.yaml"++requestUpdateGeoMatchSet :: UpdateGeoMatchSet -> TestTree+requestUpdateGeoMatchSet =+ req+ "UpdateGeoMatchSet"+ "fixture/UpdateGeoMatchSet.yaml"++requestUpdateIPSet :: UpdateIPSet -> TestTree+requestUpdateIPSet =+ req+ "UpdateIPSet"+ "fixture/UpdateIPSet.yaml"++requestUpdateRateBasedRule :: UpdateRateBasedRule -> TestTree+requestUpdateRateBasedRule =+ req+ "UpdateRateBasedRule"+ "fixture/UpdateRateBasedRule.yaml"++requestUpdateRegexMatchSet :: UpdateRegexMatchSet -> TestTree+requestUpdateRegexMatchSet =+ req+ "UpdateRegexMatchSet"+ "fixture/UpdateRegexMatchSet.yaml"++requestUpdateRegexPatternSet :: UpdateRegexPatternSet -> TestTree+requestUpdateRegexPatternSet =+ req+ "UpdateRegexPatternSet"+ "fixture/UpdateRegexPatternSet.yaml"++requestUpdateRule :: UpdateRule -> TestTree+requestUpdateRule =+ req+ "UpdateRule"+ "fixture/UpdateRule.yaml"++requestUpdateRuleGroup :: UpdateRuleGroup -> TestTree+requestUpdateRuleGroup =+ req+ "UpdateRuleGroup"+ "fixture/UpdateRuleGroup.yaml"++requestUpdateSizeConstraintSet :: UpdateSizeConstraintSet -> TestTree+requestUpdateSizeConstraintSet =+ req+ "UpdateSizeConstraintSet"+ "fixture/UpdateSizeConstraintSet.yaml"++requestUpdateSqlInjectionMatchSet :: UpdateSqlInjectionMatchSet -> TestTree+requestUpdateSqlInjectionMatchSet =+ req+ "UpdateSqlInjectionMatchSet"+ "fixture/UpdateSqlInjectionMatchSet.yaml"++requestUpdateWebACL :: UpdateWebACL -> TestTree+requestUpdateWebACL =+ req+ "UpdateWebACL"+ "fixture/UpdateWebACL.yaml"++requestUpdateXssMatchSet :: UpdateXssMatchSet -> TestTree+requestUpdateXssMatchSet =+ req+ "UpdateXssMatchSet"+ "fixture/UpdateXssMatchSet.yaml"++-- Responses++responseCreateByteMatchSet :: CreateByteMatchSetResponse -> TestTree+responseCreateByteMatchSet =+ res+ "CreateByteMatchSetResponse"+ "fixture/CreateByteMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateByteMatchSet)++responseCreateGeoMatchSet :: CreateGeoMatchSetResponse -> TestTree+responseCreateGeoMatchSet =+ res+ "CreateGeoMatchSetResponse"+ "fixture/CreateGeoMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateGeoMatchSet)++responseCreateIPSet :: CreateIPSetResponse -> TestTree+responseCreateIPSet =+ res+ "CreateIPSetResponse"+ "fixture/CreateIPSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateIPSet)++responseCreateRateBasedRule :: CreateRateBasedRuleResponse -> TestTree+responseCreateRateBasedRule =+ res+ "CreateRateBasedRuleResponse"+ "fixture/CreateRateBasedRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateRateBasedRule)++responseCreateRegexMatchSet :: CreateRegexMatchSetResponse -> TestTree+responseCreateRegexMatchSet =+ res+ "CreateRegexMatchSetResponse"+ "fixture/CreateRegexMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateRegexMatchSet)++responseCreateRegexPatternSet :: CreateRegexPatternSetResponse -> TestTree+responseCreateRegexPatternSet =+ res+ "CreateRegexPatternSetResponse"+ "fixture/CreateRegexPatternSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateRegexPatternSet)++responseCreateRule :: CreateRuleResponse -> TestTree+responseCreateRule =+ res+ "CreateRuleResponse"+ "fixture/CreateRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateRule)++responseCreateRuleGroup :: CreateRuleGroupResponse -> TestTree+responseCreateRuleGroup =+ res+ "CreateRuleGroupResponse"+ "fixture/CreateRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateRuleGroup)++responseCreateSizeConstraintSet :: CreateSizeConstraintSetResponse -> TestTree+responseCreateSizeConstraintSet =+ res+ "CreateSizeConstraintSetResponse"+ "fixture/CreateSizeConstraintSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSizeConstraintSet)++responseCreateSqlInjectionMatchSet :: CreateSqlInjectionMatchSetResponse -> TestTree+responseCreateSqlInjectionMatchSet =+ res+ "CreateSqlInjectionMatchSetResponse"+ "fixture/CreateSqlInjectionMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSqlInjectionMatchSet)++responseCreateWebACL :: CreateWebACLResponse -> TestTree+responseCreateWebACL =+ res+ "CreateWebACLResponse"+ "fixture/CreateWebACLResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateWebACL)++responseCreateWebACLMigrationStack :: CreateWebACLMigrationStackResponse -> TestTree+responseCreateWebACLMigrationStack =+ res+ "CreateWebACLMigrationStackResponse"+ "fixture/CreateWebACLMigrationStackResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateWebACLMigrationStack)++responseCreateXssMatchSet :: CreateXssMatchSetResponse -> TestTree+responseCreateXssMatchSet =+ res+ "CreateXssMatchSetResponse"+ "fixture/CreateXssMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateXssMatchSet)++responseDeleteByteMatchSet :: DeleteByteMatchSetResponse -> TestTree+responseDeleteByteMatchSet =+ res+ "DeleteByteMatchSetResponse"+ "fixture/DeleteByteMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteByteMatchSet)++responseDeleteGeoMatchSet :: DeleteGeoMatchSetResponse -> TestTree+responseDeleteGeoMatchSet =+ res+ "DeleteGeoMatchSetResponse"+ "fixture/DeleteGeoMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteGeoMatchSet)++responseDeleteIPSet :: DeleteIPSetResponse -> TestTree+responseDeleteIPSet =+ res+ "DeleteIPSetResponse"+ "fixture/DeleteIPSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteIPSet)++responseDeleteLoggingConfiguration :: DeleteLoggingConfigurationResponse -> TestTree+responseDeleteLoggingConfiguration =+ res+ "DeleteLoggingConfigurationResponse"+ "fixture/DeleteLoggingConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteLoggingConfiguration)++responseDeletePermissionPolicy :: DeletePermissionPolicyResponse -> TestTree+responseDeletePermissionPolicy =+ res+ "DeletePermissionPolicyResponse"+ "fixture/DeletePermissionPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeletePermissionPolicy)++responseDeleteRateBasedRule :: DeleteRateBasedRuleResponse -> TestTree+responseDeleteRateBasedRule =+ res+ "DeleteRateBasedRuleResponse"+ "fixture/DeleteRateBasedRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteRateBasedRule)++responseDeleteRegexMatchSet :: DeleteRegexMatchSetResponse -> TestTree+responseDeleteRegexMatchSet =+ res+ "DeleteRegexMatchSetResponse"+ "fixture/DeleteRegexMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteRegexMatchSet)++responseDeleteRegexPatternSet :: DeleteRegexPatternSetResponse -> TestTree+responseDeleteRegexPatternSet =+ res+ "DeleteRegexPatternSetResponse"+ "fixture/DeleteRegexPatternSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteRegexPatternSet)++responseDeleteRule :: DeleteRuleResponse -> TestTree+responseDeleteRule =+ res+ "DeleteRuleResponse"+ "fixture/DeleteRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteRule)++responseDeleteRuleGroup :: DeleteRuleGroupResponse -> TestTree+responseDeleteRuleGroup =+ res+ "DeleteRuleGroupResponse"+ "fixture/DeleteRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteRuleGroup)++responseDeleteSizeConstraintSet :: DeleteSizeConstraintSetResponse -> TestTree+responseDeleteSizeConstraintSet =+ res+ "DeleteSizeConstraintSetResponse"+ "fixture/DeleteSizeConstraintSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSizeConstraintSet)++responseDeleteSqlInjectionMatchSet :: DeleteSqlInjectionMatchSetResponse -> TestTree+responseDeleteSqlInjectionMatchSet =+ res+ "DeleteSqlInjectionMatchSetResponse"+ "fixture/DeleteSqlInjectionMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSqlInjectionMatchSet)++responseDeleteWebACL :: DeleteWebACLResponse -> TestTree+responseDeleteWebACL =+ res+ "DeleteWebACLResponse"+ "fixture/DeleteWebACLResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteWebACL)++responseDeleteXssMatchSet :: DeleteXssMatchSetResponse -> TestTree+responseDeleteXssMatchSet =+ res+ "DeleteXssMatchSetResponse"+ "fixture/DeleteXssMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteXssMatchSet)++responseGetByteMatchSet :: GetByteMatchSetResponse -> TestTree+responseGetByteMatchSet =+ res+ "GetByteMatchSetResponse"+ "fixture/GetByteMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetByteMatchSet)++responseGetChangeToken :: GetChangeTokenResponse -> TestTree+responseGetChangeToken =+ res+ "GetChangeTokenResponse"+ "fixture/GetChangeTokenResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetChangeToken)++responseGetChangeTokenStatus :: GetChangeTokenStatusResponse -> TestTree+responseGetChangeTokenStatus =+ res+ "GetChangeTokenStatusResponse"+ "fixture/GetChangeTokenStatusResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetChangeTokenStatus)++responseGetGeoMatchSet :: GetGeoMatchSetResponse -> TestTree+responseGetGeoMatchSet =+ res+ "GetGeoMatchSetResponse"+ "fixture/GetGeoMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetGeoMatchSet)++responseGetIPSet :: GetIPSetResponse -> TestTree+responseGetIPSet =+ res+ "GetIPSetResponse"+ "fixture/GetIPSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetIPSet)++responseGetLoggingConfiguration :: GetLoggingConfigurationResponse -> TestTree+responseGetLoggingConfiguration =+ res+ "GetLoggingConfigurationResponse"+ "fixture/GetLoggingConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetLoggingConfiguration)++responseGetPermissionPolicy :: GetPermissionPolicyResponse -> TestTree+responseGetPermissionPolicy =+ res+ "GetPermissionPolicyResponse"+ "fixture/GetPermissionPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetPermissionPolicy)++responseGetRateBasedRule :: GetRateBasedRuleResponse -> TestTree+responseGetRateBasedRule =+ res+ "GetRateBasedRuleResponse"+ "fixture/GetRateBasedRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetRateBasedRule)++responseGetRateBasedRuleManagedKeys :: GetRateBasedRuleManagedKeysResponse -> TestTree+responseGetRateBasedRuleManagedKeys =+ res+ "GetRateBasedRuleManagedKeysResponse"+ "fixture/GetRateBasedRuleManagedKeysResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetRateBasedRuleManagedKeys)++responseGetRegexMatchSet :: GetRegexMatchSetResponse -> TestTree+responseGetRegexMatchSet =+ res+ "GetRegexMatchSetResponse"+ "fixture/GetRegexMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetRegexMatchSet)++responseGetRegexPatternSet :: GetRegexPatternSetResponse -> TestTree+responseGetRegexPatternSet =+ res+ "GetRegexPatternSetResponse"+ "fixture/GetRegexPatternSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetRegexPatternSet)++responseGetRule :: GetRuleResponse -> TestTree+responseGetRule =+ res+ "GetRuleResponse"+ "fixture/GetRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetRule)++responseGetRuleGroup :: GetRuleGroupResponse -> TestTree+responseGetRuleGroup =+ res+ "GetRuleGroupResponse"+ "fixture/GetRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetRuleGroup)++responseGetSampledRequests :: GetSampledRequestsResponse -> TestTree+responseGetSampledRequests =+ res+ "GetSampledRequestsResponse"+ "fixture/GetSampledRequestsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSampledRequests)++responseGetSizeConstraintSet :: GetSizeConstraintSetResponse -> TestTree+responseGetSizeConstraintSet =+ res+ "GetSizeConstraintSetResponse"+ "fixture/GetSizeConstraintSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSizeConstraintSet)++responseGetSqlInjectionMatchSet :: GetSqlInjectionMatchSetResponse -> TestTree+responseGetSqlInjectionMatchSet =+ res+ "GetSqlInjectionMatchSetResponse"+ "fixture/GetSqlInjectionMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSqlInjectionMatchSet)++responseGetWebACL :: GetWebACLResponse -> TestTree+responseGetWebACL =+ res+ "GetWebACLResponse"+ "fixture/GetWebACLResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetWebACL)++responseGetXssMatchSet :: GetXssMatchSetResponse -> TestTree+responseGetXssMatchSet =+ res+ "GetXssMatchSetResponse"+ "fixture/GetXssMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetXssMatchSet)++responseListActivatedRulesInRuleGroup :: ListActivatedRulesInRuleGroupResponse -> TestTree+responseListActivatedRulesInRuleGroup =+ res+ "ListActivatedRulesInRuleGroupResponse"+ "fixture/ListActivatedRulesInRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListActivatedRulesInRuleGroup)++responseListByteMatchSets :: ListByteMatchSetsResponse -> TestTree+responseListByteMatchSets =+ res+ "ListByteMatchSetsResponse"+ "fixture/ListByteMatchSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListByteMatchSets)++responseListGeoMatchSets :: ListGeoMatchSetsResponse -> TestTree+responseListGeoMatchSets =+ res+ "ListGeoMatchSetsResponse"+ "fixture/ListGeoMatchSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListGeoMatchSets)++responseListIPSets :: ListIPSetsResponse -> TestTree+responseListIPSets =+ res+ "ListIPSetsResponse"+ "fixture/ListIPSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListIPSets)++responseListLoggingConfigurations :: ListLoggingConfigurationsResponse -> TestTree+responseListLoggingConfigurations =+ res+ "ListLoggingConfigurationsResponse"+ "fixture/ListLoggingConfigurationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListLoggingConfigurations)++responseListRateBasedRules :: ListRateBasedRulesResponse -> TestTree+responseListRateBasedRules =+ res+ "ListRateBasedRulesResponse"+ "fixture/ListRateBasedRulesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListRateBasedRules)++responseListRegexMatchSets :: ListRegexMatchSetsResponse -> TestTree+responseListRegexMatchSets =+ res+ "ListRegexMatchSetsResponse"+ "fixture/ListRegexMatchSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListRegexMatchSets)++responseListRegexPatternSets :: ListRegexPatternSetsResponse -> TestTree+responseListRegexPatternSets =+ res+ "ListRegexPatternSetsResponse"+ "fixture/ListRegexPatternSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListRegexPatternSets)++responseListRuleGroups :: ListRuleGroupsResponse -> TestTree+responseListRuleGroups =+ res+ "ListRuleGroupsResponse"+ "fixture/ListRuleGroupsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListRuleGroups)++responseListRules :: ListRulesResponse -> TestTree+responseListRules =+ res+ "ListRulesResponse"+ "fixture/ListRulesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListRules)++responseListSizeConstraintSets :: ListSizeConstraintSetsResponse -> TestTree+responseListSizeConstraintSets =+ res+ "ListSizeConstraintSetsResponse"+ "fixture/ListSizeConstraintSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSizeConstraintSets)++responseListSqlInjectionMatchSets :: ListSqlInjectionMatchSetsResponse -> TestTree+responseListSqlInjectionMatchSets =+ res+ "ListSqlInjectionMatchSetsResponse"+ "fixture/ListSqlInjectionMatchSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSqlInjectionMatchSets)++responseListSubscribedRuleGroups :: ListSubscribedRuleGroupsResponse -> TestTree+responseListSubscribedRuleGroups =+ res+ "ListSubscribedRuleGroupsResponse"+ "fixture/ListSubscribedRuleGroupsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSubscribedRuleGroups)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListWebACLs :: ListWebACLsResponse -> TestTree+responseListWebACLs =+ res+ "ListWebACLsResponse"+ "fixture/ListWebACLsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListWebACLs)++responseListXssMatchSets :: ListXssMatchSetsResponse -> TestTree+responseListXssMatchSets =+ res+ "ListXssMatchSetsResponse"+ "fixture/ListXssMatchSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListXssMatchSets)++responsePutLoggingConfiguration :: PutLoggingConfigurationResponse -> TestTree+responsePutLoggingConfiguration =+ res+ "PutLoggingConfigurationResponse"+ "fixture/PutLoggingConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutLoggingConfiguration)++responsePutPermissionPolicy :: PutPermissionPolicyResponse -> TestTree+responsePutPermissionPolicy =+ res+ "PutPermissionPolicyResponse"+ "fixture/PutPermissionPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutPermissionPolicy)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateByteMatchSet :: UpdateByteMatchSetResponse -> TestTree+responseUpdateByteMatchSet =+ res+ "UpdateByteMatchSetResponse"+ "fixture/UpdateByteMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateByteMatchSet)++responseUpdateGeoMatchSet :: UpdateGeoMatchSetResponse -> TestTree+responseUpdateGeoMatchSet =+ res+ "UpdateGeoMatchSetResponse"+ "fixture/UpdateGeoMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateGeoMatchSet)++responseUpdateIPSet :: UpdateIPSetResponse -> TestTree+responseUpdateIPSet =+ res+ "UpdateIPSetResponse"+ "fixture/UpdateIPSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateIPSet)++responseUpdateRateBasedRule :: UpdateRateBasedRuleResponse -> TestTree+responseUpdateRateBasedRule =+ res+ "UpdateRateBasedRuleResponse"+ "fixture/UpdateRateBasedRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateRateBasedRule)++responseUpdateRegexMatchSet :: UpdateRegexMatchSetResponse -> TestTree+responseUpdateRegexMatchSet =+ res+ "UpdateRegexMatchSetResponse"+ "fixture/UpdateRegexMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateRegexMatchSet)++responseUpdateRegexPatternSet :: UpdateRegexPatternSetResponse -> TestTree+responseUpdateRegexPatternSet =+ res+ "UpdateRegexPatternSetResponse"+ "fixture/UpdateRegexPatternSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateRegexPatternSet)++responseUpdateRule :: UpdateRuleResponse -> TestTree+responseUpdateRule =+ res+ "UpdateRuleResponse"+ "fixture/UpdateRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateRule)++responseUpdateRuleGroup :: UpdateRuleGroupResponse -> TestTree+responseUpdateRuleGroup =+ res+ "UpdateRuleGroupResponse"+ "fixture/UpdateRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateRuleGroup)++responseUpdateSizeConstraintSet :: UpdateSizeConstraintSetResponse -> TestTree+responseUpdateSizeConstraintSet =+ res+ "UpdateSizeConstraintSetResponse"+ "fixture/UpdateSizeConstraintSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSizeConstraintSet)++responseUpdateSqlInjectionMatchSet :: UpdateSqlInjectionMatchSetResponse -> TestTree+responseUpdateSqlInjectionMatchSet =+ res+ "UpdateSqlInjectionMatchSetResponse"+ "fixture/UpdateSqlInjectionMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSqlInjectionMatchSet)++responseUpdateWebACL :: UpdateWebACLResponse -> TestTree+responseUpdateWebACL =+ res+ "UpdateWebACLResponse"+ "fixture/UpdateWebACLResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateWebACL)++responseUpdateXssMatchSet :: UpdateXssMatchSetResponse -> TestTree+responseUpdateXssMatchSet =+ res+ "UpdateXssMatchSetResponse"+ "fixture/UpdateXssMatchSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateXssMatchSet)
+ test/Test/Amazonka/WAF.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.WAF+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.WAF+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/WAF/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.WAF.Internal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.WAF.Internal where