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