module Stratosphere.AppSync.ChannelNamespace.LambdaConfigProperty (
        LambdaConfigProperty(..), mkLambdaConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data LambdaConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-channelnamespace-lambdaconfig.html>
    LambdaConfigProperty {LambdaConfigProperty -> ()
haddock_workaround_ :: (),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-channelnamespace-lambdaconfig.html#cfn-appsync-channelnamespace-lambdaconfig-invoketype>
                          LambdaConfigProperty -> Value Text
invokeType :: (Value Prelude.Text)}
  deriving stock (LambdaConfigProperty -> LambdaConfigProperty -> Bool
(LambdaConfigProperty -> LambdaConfigProperty -> Bool)
-> (LambdaConfigProperty -> LambdaConfigProperty -> Bool)
-> Eq LambdaConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LambdaConfigProperty -> LambdaConfigProperty -> Bool
== :: LambdaConfigProperty -> LambdaConfigProperty -> Bool
$c/= :: LambdaConfigProperty -> LambdaConfigProperty -> Bool
/= :: LambdaConfigProperty -> LambdaConfigProperty -> Bool
Prelude.Eq, Int -> LambdaConfigProperty -> ShowS
[LambdaConfigProperty] -> ShowS
LambdaConfigProperty -> String
(Int -> LambdaConfigProperty -> ShowS)
-> (LambdaConfigProperty -> String)
-> ([LambdaConfigProperty] -> ShowS)
-> Show LambdaConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LambdaConfigProperty -> ShowS
showsPrec :: Int -> LambdaConfigProperty -> ShowS
$cshow :: LambdaConfigProperty -> String
show :: LambdaConfigProperty -> String
$cshowList :: [LambdaConfigProperty] -> ShowS
showList :: [LambdaConfigProperty] -> ShowS
Prelude.Show)
mkLambdaConfigProperty ::
  Value Prelude.Text -> LambdaConfigProperty
mkLambdaConfigProperty :: Value Text -> LambdaConfigProperty
mkLambdaConfigProperty Value Text
invokeType
  = LambdaConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), invokeType :: Value Text
invokeType = Value Text
invokeType}
instance ToResourceProperties LambdaConfigProperty where
  toResourceProperties :: LambdaConfigProperty -> ResourceProperties
toResourceProperties LambdaConfigProperty {()
Value Text
haddock_workaround_ :: LambdaConfigProperty -> ()
invokeType :: LambdaConfigProperty -> Value Text
haddock_workaround_ :: ()
invokeType :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::AppSync::ChannelNamespace.LambdaConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"InvokeType" 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
invokeType]}
instance JSON.ToJSON LambdaConfigProperty where
  toJSON :: LambdaConfigProperty -> Value
toJSON LambdaConfigProperty {()
Value Text
haddock_workaround_ :: LambdaConfigProperty -> ()
invokeType :: LambdaConfigProperty -> Value Text
haddock_workaround_ :: ()
invokeType :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"InvokeType" 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
invokeType]
instance Property "InvokeType" LambdaConfigProperty where
  type PropertyType "InvokeType" LambdaConfigProperty = Value Prelude.Text
  set :: PropertyType "InvokeType" LambdaConfigProperty
-> LambdaConfigProperty -> LambdaConfigProperty
set PropertyType "InvokeType" LambdaConfigProperty
newValue LambdaConfigProperty {()
Value Text
haddock_workaround_ :: LambdaConfigProperty -> ()
invokeType :: LambdaConfigProperty -> Value Text
haddock_workaround_ :: ()
invokeType :: Value Text
..}
    = LambdaConfigProperty {invokeType :: Value Text
invokeType = PropertyType "InvokeType" LambdaConfigProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}