module Stratosphere.Lex.Bot.LambdaCodeHookProperty (
        LambdaCodeHookProperty(..), mkLambdaCodeHookProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data LambdaCodeHookProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-lambdacodehook.html>
    LambdaCodeHookProperty {LambdaCodeHookProperty -> ()
haddock_workaround_ :: (),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-lambdacodehook.html#cfn-lex-bot-lambdacodehook-codehookinterfaceversion>
                            LambdaCodeHookProperty -> Value Text
codeHookInterfaceVersion :: (Value Prelude.Text),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-lambdacodehook.html#cfn-lex-bot-lambdacodehook-lambdaarn>
                            LambdaCodeHookProperty -> Value Text
lambdaArn :: (Value Prelude.Text)}
  deriving stock (LambdaCodeHookProperty -> LambdaCodeHookProperty -> Bool
(LambdaCodeHookProperty -> LambdaCodeHookProperty -> Bool)
-> (LambdaCodeHookProperty -> LambdaCodeHookProperty -> Bool)
-> Eq LambdaCodeHookProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LambdaCodeHookProperty -> LambdaCodeHookProperty -> Bool
== :: LambdaCodeHookProperty -> LambdaCodeHookProperty -> Bool
$c/= :: LambdaCodeHookProperty -> LambdaCodeHookProperty -> Bool
/= :: LambdaCodeHookProperty -> LambdaCodeHookProperty -> Bool
Prelude.Eq, Int -> LambdaCodeHookProperty -> ShowS
[LambdaCodeHookProperty] -> ShowS
LambdaCodeHookProperty -> String
(Int -> LambdaCodeHookProperty -> ShowS)
-> (LambdaCodeHookProperty -> String)
-> ([LambdaCodeHookProperty] -> ShowS)
-> Show LambdaCodeHookProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LambdaCodeHookProperty -> ShowS
showsPrec :: Int -> LambdaCodeHookProperty -> ShowS
$cshow :: LambdaCodeHookProperty -> String
show :: LambdaCodeHookProperty -> String
$cshowList :: [LambdaCodeHookProperty] -> ShowS
showList :: [LambdaCodeHookProperty] -> ShowS
Prelude.Show)
mkLambdaCodeHookProperty ::
  Value Prelude.Text -> Value Prelude.Text -> LambdaCodeHookProperty
mkLambdaCodeHookProperty :: Value Text -> Value Text -> LambdaCodeHookProperty
mkLambdaCodeHookProperty Value Text
codeHookInterfaceVersion Value Text
lambdaArn
  = LambdaCodeHookProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       codeHookInterfaceVersion :: Value Text
codeHookInterfaceVersion = Value Text
codeHookInterfaceVersion,
       lambdaArn :: Value Text
lambdaArn = Value Text
lambdaArn}
instance ToResourceProperties LambdaCodeHookProperty where
  toResourceProperties :: LambdaCodeHookProperty -> ResourceProperties
toResourceProperties LambdaCodeHookProperty {()
Value Text
haddock_workaround_ :: LambdaCodeHookProperty -> ()
codeHookInterfaceVersion :: LambdaCodeHookProperty -> Value Text
lambdaArn :: LambdaCodeHookProperty -> Value Text
haddock_workaround_ :: ()
codeHookInterfaceVersion :: Value Text
lambdaArn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Lex::Bot.LambdaCodeHook",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"CodeHookInterfaceVersion"
                         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
codeHookInterfaceVersion,
                       Key
"LambdaArn" 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
lambdaArn]}
instance JSON.ToJSON LambdaCodeHookProperty where
  toJSON :: LambdaCodeHookProperty -> Value
toJSON LambdaCodeHookProperty {()
Value Text
haddock_workaround_ :: LambdaCodeHookProperty -> ()
codeHookInterfaceVersion :: LambdaCodeHookProperty -> Value Text
lambdaArn :: LambdaCodeHookProperty -> Value Text
haddock_workaround_ :: ()
codeHookInterfaceVersion :: Value Text
lambdaArn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"CodeHookInterfaceVersion" 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
codeHookInterfaceVersion,
         Key
"LambdaArn" 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
lambdaArn]
instance Property "CodeHookInterfaceVersion" LambdaCodeHookProperty where
  type PropertyType "CodeHookInterfaceVersion" LambdaCodeHookProperty = Value Prelude.Text
  set :: PropertyType "CodeHookInterfaceVersion" LambdaCodeHookProperty
-> LambdaCodeHookProperty -> LambdaCodeHookProperty
set PropertyType "CodeHookInterfaceVersion" LambdaCodeHookProperty
newValue LambdaCodeHookProperty {()
Value Text
haddock_workaround_ :: LambdaCodeHookProperty -> ()
codeHookInterfaceVersion :: LambdaCodeHookProperty -> Value Text
lambdaArn :: LambdaCodeHookProperty -> Value Text
haddock_workaround_ :: ()
codeHookInterfaceVersion :: Value Text
lambdaArn :: Value Text
..}
    = LambdaCodeHookProperty {codeHookInterfaceVersion :: Value Text
codeHookInterfaceVersion = PropertyType "CodeHookInterfaceVersion" LambdaCodeHookProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
lambdaArn :: Value Text
haddock_workaround_ :: ()
lambdaArn :: Value Text
..}
instance Property "LambdaArn" LambdaCodeHookProperty where
  type PropertyType "LambdaArn" LambdaCodeHookProperty = Value Prelude.Text
  set :: PropertyType "LambdaArn" LambdaCodeHookProperty
-> LambdaCodeHookProperty -> LambdaCodeHookProperty
set PropertyType "LambdaArn" LambdaCodeHookProperty
newValue LambdaCodeHookProperty {()
Value Text
haddock_workaround_ :: LambdaCodeHookProperty -> ()
codeHookInterfaceVersion :: LambdaCodeHookProperty -> Value Text
lambdaArn :: LambdaCodeHookProperty -> Value Text
haddock_workaround_ :: ()
codeHookInterfaceVersion :: Value Text
lambdaArn :: Value Text
..}
    = LambdaCodeHookProperty {lambdaArn :: Value Text
lambdaArn = PropertyType "LambdaArn" LambdaCodeHookProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
codeHookInterfaceVersion :: Value Text
haddock_workaround_ :: ()
codeHookInterfaceVersion :: Value Text
..}