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