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