module Stratosphere.IoTEvents.AlarmModel.InitializationConfigurationProperty (
        InitializationConfigurationProperty(..),
        mkInitializationConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data InitializationConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-alarmmodel-initializationconfiguration.html>
    InitializationConfigurationProperty {InitializationConfigurationProperty -> ()
haddock_workaround_ :: (),
                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-alarmmodel-initializationconfiguration.html#cfn-iotevents-alarmmodel-initializationconfiguration-disabledoninitialization>
                                         InitializationConfigurationProperty -> Value Bool
disabledOnInitialization :: (Value Prelude.Bool)}
  deriving stock (InitializationConfigurationProperty
-> InitializationConfigurationProperty -> Bool
(InitializationConfigurationProperty
 -> InitializationConfigurationProperty -> Bool)
-> (InitializationConfigurationProperty
    -> InitializationConfigurationProperty -> Bool)
-> Eq InitializationConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: InitializationConfigurationProperty
-> InitializationConfigurationProperty -> Bool
== :: InitializationConfigurationProperty
-> InitializationConfigurationProperty -> Bool
$c/= :: InitializationConfigurationProperty
-> InitializationConfigurationProperty -> Bool
/= :: InitializationConfigurationProperty
-> InitializationConfigurationProperty -> Bool
Prelude.Eq, Int -> InitializationConfigurationProperty -> ShowS
[InitializationConfigurationProperty] -> ShowS
InitializationConfigurationProperty -> String
(Int -> InitializationConfigurationProperty -> ShowS)
-> (InitializationConfigurationProperty -> String)
-> ([InitializationConfigurationProperty] -> ShowS)
-> Show InitializationConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> InitializationConfigurationProperty -> ShowS
showsPrec :: Int -> InitializationConfigurationProperty -> ShowS
$cshow :: InitializationConfigurationProperty -> String
show :: InitializationConfigurationProperty -> String
$cshowList :: [InitializationConfigurationProperty] -> ShowS
showList :: [InitializationConfigurationProperty] -> ShowS
Prelude.Show)
mkInitializationConfigurationProperty ::
  Value Prelude.Bool -> InitializationConfigurationProperty
mkInitializationConfigurationProperty :: Value Bool -> InitializationConfigurationProperty
mkInitializationConfigurationProperty Value Bool
disabledOnInitialization
  = InitializationConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       disabledOnInitialization :: Value Bool
disabledOnInitialization = Value Bool
disabledOnInitialization}
instance ToResourceProperties InitializationConfigurationProperty where
  toResourceProperties :: InitializationConfigurationProperty -> ResourceProperties
toResourceProperties InitializationConfigurationProperty {()
Value Bool
haddock_workaround_ :: InitializationConfigurationProperty -> ()
disabledOnInitialization :: InitializationConfigurationProperty -> Value Bool
haddock_workaround_ :: ()
disabledOnInitialization :: Value Bool
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::IoTEvents::AlarmModel.InitializationConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"DisabledOnInitialization"
                         Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Bool
disabledOnInitialization]}
instance JSON.ToJSON InitializationConfigurationProperty where
  toJSON :: InitializationConfigurationProperty -> Value
toJSON InitializationConfigurationProperty {()
Value Bool
haddock_workaround_ :: InitializationConfigurationProperty -> ()
disabledOnInitialization :: InitializationConfigurationProperty -> Value Bool
haddock_workaround_ :: ()
disabledOnInitialization :: Value Bool
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"DisabledOnInitialization" Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Bool
disabledOnInitialization]
instance Property "DisabledOnInitialization" InitializationConfigurationProperty where
  type PropertyType "DisabledOnInitialization" InitializationConfigurationProperty = Value Prelude.Bool
  set :: PropertyType
  "DisabledOnInitialization" InitializationConfigurationProperty
-> InitializationConfigurationProperty
-> InitializationConfigurationProperty
set PropertyType
  "DisabledOnInitialization" InitializationConfigurationProperty
newValue InitializationConfigurationProperty {()
Value Bool
haddock_workaround_ :: InitializationConfigurationProperty -> ()
disabledOnInitialization :: InitializationConfigurationProperty -> Value Bool
haddock_workaround_ :: ()
disabledOnInitialization :: Value Bool
..}
    = InitializationConfigurationProperty
        {disabledOnInitialization :: Value Bool
disabledOnInitialization = PropertyType
  "DisabledOnInitialization" InitializationConfigurationProperty
Value Bool
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}