module Stratosphere.NetworkFirewall.RuleGroup.StatefulRuleProperty (
module Exports, StatefulRuleProperty(..), mkStatefulRuleProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.NetworkFirewall.RuleGroup.HeaderProperty as Exports
import {-# SOURCE #-} Stratosphere.NetworkFirewall.RuleGroup.RuleOptionProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data StatefulRuleProperty
=
StatefulRuleProperty {StatefulRuleProperty -> ()
haddock_workaround_ :: (),
StatefulRuleProperty -> Value Text
action :: (Value Prelude.Text),
:: HeaderProperty,
StatefulRuleProperty -> [RuleOptionProperty]
ruleOptions :: [RuleOptionProperty]}
deriving stock (StatefulRuleProperty -> StatefulRuleProperty -> Bool
(StatefulRuleProperty -> StatefulRuleProperty -> Bool)
-> (StatefulRuleProperty -> StatefulRuleProperty -> Bool)
-> Eq StatefulRuleProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: StatefulRuleProperty -> StatefulRuleProperty -> Bool
== :: StatefulRuleProperty -> StatefulRuleProperty -> Bool
$c/= :: StatefulRuleProperty -> StatefulRuleProperty -> Bool
/= :: StatefulRuleProperty -> StatefulRuleProperty -> Bool
Prelude.Eq, Int -> StatefulRuleProperty -> ShowS
[StatefulRuleProperty] -> ShowS
StatefulRuleProperty -> String
(Int -> StatefulRuleProperty -> ShowS)
-> (StatefulRuleProperty -> String)
-> ([StatefulRuleProperty] -> ShowS)
-> Show StatefulRuleProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> StatefulRuleProperty -> ShowS
showsPrec :: Int -> StatefulRuleProperty -> ShowS
$cshow :: StatefulRuleProperty -> String
show :: StatefulRuleProperty -> String
$cshowList :: [StatefulRuleProperty] -> ShowS
showList :: [StatefulRuleProperty] -> ShowS
Prelude.Show)
mkStatefulRuleProperty ::
Value Prelude.Text
-> HeaderProperty -> [RuleOptionProperty] -> StatefulRuleProperty
mkStatefulRuleProperty :: Value Text
-> HeaderProperty -> [RuleOptionProperty] -> StatefulRuleProperty
mkStatefulRuleProperty Value Text
action HeaderProperty
header [RuleOptionProperty]
ruleOptions
= StatefulRuleProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), action :: Value Text
action = Value Text
action, header :: HeaderProperty
header = HeaderProperty
header,
ruleOptions :: [RuleOptionProperty]
ruleOptions = [RuleOptionProperty]
ruleOptions}
instance ToResourceProperties StatefulRuleProperty where
toResourceProperties :: StatefulRuleProperty -> ResourceProperties
toResourceProperties StatefulRuleProperty {[RuleOptionProperty]
()
Value Text
HeaderProperty
haddock_workaround_ :: StatefulRuleProperty -> ()
action :: StatefulRuleProperty -> Value Text
header :: StatefulRuleProperty -> HeaderProperty
ruleOptions :: StatefulRuleProperty -> [RuleOptionProperty]
haddock_workaround_ :: ()
action :: Value Text
header :: HeaderProperty
ruleOptions :: [RuleOptionProperty]
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::NetworkFirewall::RuleGroup.StatefulRule",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"Action" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
action, Key
"Header" Key -> HeaderProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= HeaderProperty
header,
Key
"RuleOptions" Key -> [RuleOptionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [RuleOptionProperty]
ruleOptions]}
instance JSON.ToJSON StatefulRuleProperty where
toJSON :: StatefulRuleProperty -> Value
toJSON StatefulRuleProperty {[RuleOptionProperty]
()
Value Text
HeaderProperty
haddock_workaround_ :: StatefulRuleProperty -> ()
action :: StatefulRuleProperty -> Value Text
header :: StatefulRuleProperty -> HeaderProperty
ruleOptions :: StatefulRuleProperty -> [RuleOptionProperty]
haddock_workaround_ :: ()
action :: Value Text
header :: HeaderProperty
ruleOptions :: [RuleOptionProperty]
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"Action" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
action, Key
"Header" Key -> HeaderProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= HeaderProperty
header,
Key
"RuleOptions" Key -> [RuleOptionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [RuleOptionProperty]
ruleOptions]
instance Property "Action" StatefulRuleProperty where
type PropertyType "Action" StatefulRuleProperty = Value Prelude.Text
set :: PropertyType "Action" StatefulRuleProperty
-> StatefulRuleProperty -> StatefulRuleProperty
set PropertyType "Action" StatefulRuleProperty
newValue StatefulRuleProperty {[RuleOptionProperty]
()
Value Text
HeaderProperty
haddock_workaround_ :: StatefulRuleProperty -> ()
action :: StatefulRuleProperty -> Value Text
header :: StatefulRuleProperty -> HeaderProperty
ruleOptions :: StatefulRuleProperty -> [RuleOptionProperty]
haddock_workaround_ :: ()
action :: Value Text
header :: HeaderProperty
ruleOptions :: [RuleOptionProperty]
..}
= StatefulRuleProperty {action :: Value Text
action = PropertyType "Action" StatefulRuleProperty
Value Text
newValue, [RuleOptionProperty]
()
HeaderProperty
haddock_workaround_ :: ()
header :: HeaderProperty
ruleOptions :: [RuleOptionProperty]
haddock_workaround_ :: ()
header :: HeaderProperty
ruleOptions :: [RuleOptionProperty]
..}
instance Property "Header" StatefulRuleProperty where
type PropertyType "Header" StatefulRuleProperty = HeaderProperty
set :: PropertyType "Header" StatefulRuleProperty
-> StatefulRuleProperty -> StatefulRuleProperty
set PropertyType "Header" StatefulRuleProperty
newValue StatefulRuleProperty {[RuleOptionProperty]
()
Value Text
HeaderProperty
haddock_workaround_ :: StatefulRuleProperty -> ()
action :: StatefulRuleProperty -> Value Text
header :: StatefulRuleProperty -> HeaderProperty
ruleOptions :: StatefulRuleProperty -> [RuleOptionProperty]
haddock_workaround_ :: ()
action :: Value Text
header :: HeaderProperty
ruleOptions :: [RuleOptionProperty]
..}
= StatefulRuleProperty {header :: HeaderProperty
header = PropertyType "Header" StatefulRuleProperty
HeaderProperty
newValue, [RuleOptionProperty]
()
Value Text
haddock_workaround_ :: ()
action :: Value Text
ruleOptions :: [RuleOptionProperty]
haddock_workaround_ :: ()
action :: Value Text
ruleOptions :: [RuleOptionProperty]
..}
instance Property "RuleOptions" StatefulRuleProperty where
type PropertyType "RuleOptions" StatefulRuleProperty = [RuleOptionProperty]
set :: PropertyType "RuleOptions" StatefulRuleProperty
-> StatefulRuleProperty -> StatefulRuleProperty
set PropertyType "RuleOptions" StatefulRuleProperty
newValue StatefulRuleProperty {[RuleOptionProperty]
()
Value Text
HeaderProperty
haddock_workaround_ :: StatefulRuleProperty -> ()
action :: StatefulRuleProperty -> Value Text
header :: StatefulRuleProperty -> HeaderProperty
ruleOptions :: StatefulRuleProperty -> [RuleOptionProperty]
haddock_workaround_ :: ()
action :: Value Text
header :: HeaderProperty
ruleOptions :: [RuleOptionProperty]
..}
= StatefulRuleProperty {ruleOptions :: [RuleOptionProperty]
ruleOptions = [RuleOptionProperty]
PropertyType "RuleOptions" StatefulRuleProperty
newValue, ()
Value Text
HeaderProperty
haddock_workaround_ :: ()
action :: Value Text
header :: HeaderProperty
haddock_workaround_ :: ()
action :: Value Text
header :: HeaderProperty
..}