module Stratosphere.WAFv2.WebACL.XssMatchStatementProperty (
module Exports, XssMatchStatementProperty(..),
mkXssMatchStatementProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.WAFv2.WebACL.FieldToMatchProperty as Exports
import {-# SOURCE #-} Stratosphere.WAFv2.WebACL.TextTransformationProperty as Exports
import Stratosphere.ResourceProperties
data XssMatchStatementProperty
=
XssMatchStatementProperty {XssMatchStatementProperty -> ()
haddock_workaround_ :: (),
XssMatchStatementProperty -> FieldToMatchProperty
fieldToMatch :: FieldToMatchProperty,
XssMatchStatementProperty -> [TextTransformationProperty]
textTransformations :: [TextTransformationProperty]}
deriving stock (XssMatchStatementProperty -> XssMatchStatementProperty -> Bool
(XssMatchStatementProperty -> XssMatchStatementProperty -> Bool)
-> (XssMatchStatementProperty -> XssMatchStatementProperty -> Bool)
-> Eq XssMatchStatementProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: XssMatchStatementProperty -> XssMatchStatementProperty -> Bool
== :: XssMatchStatementProperty -> XssMatchStatementProperty -> Bool
$c/= :: XssMatchStatementProperty -> XssMatchStatementProperty -> Bool
/= :: XssMatchStatementProperty -> XssMatchStatementProperty -> Bool
Prelude.Eq, Int -> XssMatchStatementProperty -> ShowS
[XssMatchStatementProperty] -> ShowS
XssMatchStatementProperty -> String
(Int -> XssMatchStatementProperty -> ShowS)
-> (XssMatchStatementProperty -> String)
-> ([XssMatchStatementProperty] -> ShowS)
-> Show XssMatchStatementProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> XssMatchStatementProperty -> ShowS
showsPrec :: Int -> XssMatchStatementProperty -> ShowS
$cshow :: XssMatchStatementProperty -> String
show :: XssMatchStatementProperty -> String
$cshowList :: [XssMatchStatementProperty] -> ShowS
showList :: [XssMatchStatementProperty] -> ShowS
Prelude.Show)
mkXssMatchStatementProperty ::
FieldToMatchProperty
-> [TextTransformationProperty] -> XssMatchStatementProperty
mkXssMatchStatementProperty :: FieldToMatchProperty
-> [TextTransformationProperty] -> XssMatchStatementProperty
mkXssMatchStatementProperty FieldToMatchProperty
fieldToMatch [TextTransformationProperty]
textTransformations
= XssMatchStatementProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), fieldToMatch :: FieldToMatchProperty
fieldToMatch = FieldToMatchProperty
fieldToMatch,
textTransformations :: [TextTransformationProperty]
textTransformations = [TextTransformationProperty]
textTransformations}
instance ToResourceProperties XssMatchStatementProperty where
toResourceProperties :: XssMatchStatementProperty -> ResourceProperties
toResourceProperties XssMatchStatementProperty {[TextTransformationProperty]
()
FieldToMatchProperty
haddock_workaround_ :: XssMatchStatementProperty -> ()
fieldToMatch :: XssMatchStatementProperty -> FieldToMatchProperty
textTransformations :: XssMatchStatementProperty -> [TextTransformationProperty]
haddock_workaround_ :: ()
fieldToMatch :: FieldToMatchProperty
textTransformations :: [TextTransformationProperty]
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::WAFv2::WebACL.XssMatchStatement",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"FieldToMatch" Key -> FieldToMatchProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= FieldToMatchProperty
fieldToMatch,
Key
"TextTransformations" Key -> [TextTransformationProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [TextTransformationProperty]
textTransformations]}
instance JSON.ToJSON XssMatchStatementProperty where
toJSON :: XssMatchStatementProperty -> Value
toJSON XssMatchStatementProperty {[TextTransformationProperty]
()
FieldToMatchProperty
haddock_workaround_ :: XssMatchStatementProperty -> ()
fieldToMatch :: XssMatchStatementProperty -> FieldToMatchProperty
textTransformations :: XssMatchStatementProperty -> [TextTransformationProperty]
haddock_workaround_ :: ()
fieldToMatch :: FieldToMatchProperty
textTransformations :: [TextTransformationProperty]
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"FieldToMatch" Key -> FieldToMatchProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= FieldToMatchProperty
fieldToMatch,
Key
"TextTransformations" Key -> [TextTransformationProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [TextTransformationProperty]
textTransformations]
instance Property "FieldToMatch" XssMatchStatementProperty where
type PropertyType "FieldToMatch" XssMatchStatementProperty = FieldToMatchProperty
set :: PropertyType "FieldToMatch" XssMatchStatementProperty
-> XssMatchStatementProperty -> XssMatchStatementProperty
set PropertyType "FieldToMatch" XssMatchStatementProperty
newValue XssMatchStatementProperty {[TextTransformationProperty]
()
FieldToMatchProperty
haddock_workaround_ :: XssMatchStatementProperty -> ()
fieldToMatch :: XssMatchStatementProperty -> FieldToMatchProperty
textTransformations :: XssMatchStatementProperty -> [TextTransformationProperty]
haddock_workaround_ :: ()
fieldToMatch :: FieldToMatchProperty
textTransformations :: [TextTransformationProperty]
..}
= XssMatchStatementProperty {fieldToMatch :: FieldToMatchProperty
fieldToMatch = PropertyType "FieldToMatch" XssMatchStatementProperty
FieldToMatchProperty
newValue, [TextTransformationProperty]
()
haddock_workaround_ :: ()
textTransformations :: [TextTransformationProperty]
haddock_workaround_ :: ()
textTransformations :: [TextTransformationProperty]
..}
instance Property "TextTransformations" XssMatchStatementProperty where
type PropertyType "TextTransformations" XssMatchStatementProperty = [TextTransformationProperty]
set :: PropertyType "TextTransformations" XssMatchStatementProperty
-> XssMatchStatementProperty -> XssMatchStatementProperty
set PropertyType "TextTransformations" XssMatchStatementProperty
newValue XssMatchStatementProperty {[TextTransformationProperty]
()
FieldToMatchProperty
haddock_workaround_ :: XssMatchStatementProperty -> ()
fieldToMatch :: XssMatchStatementProperty -> FieldToMatchProperty
textTransformations :: XssMatchStatementProperty -> [TextTransformationProperty]
haddock_workaround_ :: ()
fieldToMatch :: FieldToMatchProperty
textTransformations :: [TextTransformationProperty]
..}
= XssMatchStatementProperty {textTransformations :: [TextTransformationProperty]
textTransformations = [TextTransformationProperty]
PropertyType "TextTransformations" XssMatchStatementProperty
newValue, ()
FieldToMatchProperty
haddock_workaround_ :: ()
fieldToMatch :: FieldToMatchProperty
haddock_workaround_ :: ()
fieldToMatch :: FieldToMatchProperty
..}