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