{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TupleSections #-} -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html module Stratosphere.ResourceProperties.WAFSizeConstraintSetSizeConstraint where import Stratosphere.ResourceImports import Stratosphere.ResourceProperties.WAFSizeConstraintSetFieldToMatch -- | Full data type definition for WAFSizeConstraintSetSizeConstraint. See -- 'wafSizeConstraintSetSizeConstraint' for a more convenient constructor. data WAFSizeConstraintSetSizeConstraint = WAFSizeConstraintSetSizeConstraint { _wAFSizeConstraintSetSizeConstraintComparisonOperator :: Val Text , _wAFSizeConstraintSetSizeConstraintFieldToMatch :: WAFSizeConstraintSetFieldToMatch , _wAFSizeConstraintSetSizeConstraintSize :: Val Integer , _wAFSizeConstraintSetSizeConstraintTextTransformation :: Val Text } deriving (Show, Eq) instance ToJSON WAFSizeConstraintSetSizeConstraint where toJSON WAFSizeConstraintSetSizeConstraint{..} = object $ catMaybes [ (Just . ("ComparisonOperator",) . toJSON) _wAFSizeConstraintSetSizeConstraintComparisonOperator , (Just . ("FieldToMatch",) . toJSON) _wAFSizeConstraintSetSizeConstraintFieldToMatch , (Just . ("Size",) . toJSON . fmap Integer') _wAFSizeConstraintSetSizeConstraintSize , (Just . ("TextTransformation",) . toJSON) _wAFSizeConstraintSetSizeConstraintTextTransformation ] -- | Constructor for 'WAFSizeConstraintSetSizeConstraint' containing required -- fields as arguments. wafSizeConstraintSetSizeConstraint :: Val Text -- ^ 'wafscsscComparisonOperator' -> WAFSizeConstraintSetFieldToMatch -- ^ 'wafscsscFieldToMatch' -> Val Integer -- ^ 'wafscsscSize' -> Val Text -- ^ 'wafscsscTextTransformation' -> WAFSizeConstraintSetSizeConstraint wafSizeConstraintSetSizeConstraint comparisonOperatorarg fieldToMatcharg sizearg textTransformationarg = WAFSizeConstraintSetSizeConstraint { _wAFSizeConstraintSetSizeConstraintComparisonOperator = comparisonOperatorarg , _wAFSizeConstraintSetSizeConstraintFieldToMatch = fieldToMatcharg , _wAFSizeConstraintSetSizeConstraintSize = sizearg , _wAFSizeConstraintSetSizeConstraintTextTransformation = textTransformationarg } -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html#cfn-waf-sizeconstraintset-sizeconstraint-comparisonoperator wafscsscComparisonOperator :: Lens' WAFSizeConstraintSetSizeConstraint (Val Text) wafscsscComparisonOperator = lens _wAFSizeConstraintSetSizeConstraintComparisonOperator (\s a -> s { _wAFSizeConstraintSetSizeConstraintComparisonOperator = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html#cfn-waf-sizeconstraintset-sizeconstraint-fieldtomatch wafscsscFieldToMatch :: Lens' WAFSizeConstraintSetSizeConstraint WAFSizeConstraintSetFieldToMatch wafscsscFieldToMatch = lens _wAFSizeConstraintSetSizeConstraintFieldToMatch (\s a -> s { _wAFSizeConstraintSetSizeConstraintFieldToMatch = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html#cfn-waf-sizeconstraintset-sizeconstraint-size wafscsscSize :: Lens' WAFSizeConstraintSetSizeConstraint (Val Integer) wafscsscSize = lens _wAFSizeConstraintSetSizeConstraintSize (\s a -> s { _wAFSizeConstraintSetSizeConstraintSize = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html#cfn-waf-sizeconstraintset-sizeconstraint-texttransformation wafscsscTextTransformation :: Lens' WAFSizeConstraintSetSizeConstraint (Val Text) wafscsscTextTransformation = lens _wAFSizeConstraintSetSizeConstraintTextTransformation (\s a -> s { _wAFSizeConstraintSetSizeConstraintTextTransformation = a })