module Stratosphere.Lex.Bot.BedrockAgentIntentKnowledgeBaseConfigurationProperty (
        module Exports,
        BedrockAgentIntentKnowledgeBaseConfigurationProperty(..),
        mkBedrockAgentIntentKnowledgeBaseConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Lex.Bot.BedrockModelSpecificationProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data BedrockAgentIntentKnowledgeBaseConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration.html>
    BedrockAgentIntentKnowledgeBaseConfigurationProperty {BedrockAgentIntentKnowledgeBaseConfigurationProperty -> ()
haddock_workaround_ :: (),
                                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration.html#cfn-lex-bot-bedrockagentintentknowledgebaseconfiguration-bedrockknowledgebasearn>
                                                          BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Value Text
bedrockKnowledgeBaseArn :: (Value Prelude.Text),
                                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration.html#cfn-lex-bot-bedrockagentintentknowledgebaseconfiguration-bedrockmodelconfiguration>
                                                          BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockModelSpecificationProperty
bedrockModelConfiguration :: BedrockModelSpecificationProperty}
  deriving stock (BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Bool
(BedrockAgentIntentKnowledgeBaseConfigurationProperty
 -> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Bool)
-> (BedrockAgentIntentKnowledgeBaseConfigurationProperty
    -> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Bool)
-> Eq BedrockAgentIntentKnowledgeBaseConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Bool
== :: BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Bool
$c/= :: BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Bool
/= :: BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Bool
Prelude.Eq, Int
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> ShowS
[BedrockAgentIntentKnowledgeBaseConfigurationProperty] -> ShowS
BedrockAgentIntentKnowledgeBaseConfigurationProperty -> String
(Int
 -> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> ShowS)
-> (BedrockAgentIntentKnowledgeBaseConfigurationProperty -> String)
-> ([BedrockAgentIntentKnowledgeBaseConfigurationProperty]
    -> ShowS)
-> Show BedrockAgentIntentKnowledgeBaseConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> ShowS
showsPrec :: Int
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty -> ShowS
$cshow :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> String
show :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> String
$cshowList :: [BedrockAgentIntentKnowledgeBaseConfigurationProperty] -> ShowS
showList :: [BedrockAgentIntentKnowledgeBaseConfigurationProperty] -> ShowS
Prelude.Show)
mkBedrockAgentIntentKnowledgeBaseConfigurationProperty ::
  Value Prelude.Text
  -> BedrockModelSpecificationProperty
     -> BedrockAgentIntentKnowledgeBaseConfigurationProperty
mkBedrockAgentIntentKnowledgeBaseConfigurationProperty :: Value Text
-> BedrockModelSpecificationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty
mkBedrockAgentIntentKnowledgeBaseConfigurationProperty
  Value Text
bedrockKnowledgeBaseArn
  BedrockModelSpecificationProperty
bedrockModelConfiguration
  = BedrockAgentIntentKnowledgeBaseConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       bedrockKnowledgeBaseArn :: Value Text
bedrockKnowledgeBaseArn = Value Text
bedrockKnowledgeBaseArn,
       bedrockModelConfiguration :: BedrockModelSpecificationProperty
bedrockModelConfiguration = BedrockModelSpecificationProperty
bedrockModelConfiguration}
instance ToResourceProperties BedrockAgentIntentKnowledgeBaseConfigurationProperty where
  toResourceProperties :: BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> ResourceProperties
toResourceProperties
    BedrockAgentIntentKnowledgeBaseConfigurationProperty {()
Value Text
BedrockModelSpecificationProperty
haddock_workaround_ :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> ()
bedrockKnowledgeBaseArn :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Value Text
bedrockModelConfiguration :: BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockModelSpecificationProperty
haddock_workaround_ :: ()
bedrockKnowledgeBaseArn :: Value Text
bedrockModelConfiguration :: BedrockModelSpecificationProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Lex::Bot.BedrockAgentIntentKnowledgeBaseConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"BedrockKnowledgeBaseArn"
                         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
bedrockKnowledgeBaseArn,
                       Key
"BedrockModelConfiguration" Key -> BedrockModelSpecificationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= BedrockModelSpecificationProperty
bedrockModelConfiguration]}
instance JSON.ToJSON BedrockAgentIntentKnowledgeBaseConfigurationProperty where
  toJSON :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Value
toJSON BedrockAgentIntentKnowledgeBaseConfigurationProperty {()
Value Text
BedrockModelSpecificationProperty
haddock_workaround_ :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> ()
bedrockKnowledgeBaseArn :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Value Text
bedrockModelConfiguration :: BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockModelSpecificationProperty
haddock_workaround_ :: ()
bedrockKnowledgeBaseArn :: Value Text
bedrockModelConfiguration :: BedrockModelSpecificationProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"BedrockKnowledgeBaseArn" 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
bedrockKnowledgeBaseArn,
         Key
"BedrockModelConfiguration" Key -> BedrockModelSpecificationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= BedrockModelSpecificationProperty
bedrockModelConfiguration]
instance Property "BedrockKnowledgeBaseArn" BedrockAgentIntentKnowledgeBaseConfigurationProperty where
  type PropertyType "BedrockKnowledgeBaseArn" BedrockAgentIntentKnowledgeBaseConfigurationProperty = Value Prelude.Text
  set :: PropertyType
  "BedrockKnowledgeBaseArn"
  BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty
set
    PropertyType
  "BedrockKnowledgeBaseArn"
  BedrockAgentIntentKnowledgeBaseConfigurationProperty
newValue
    BedrockAgentIntentKnowledgeBaseConfigurationProperty {()
Value Text
BedrockModelSpecificationProperty
haddock_workaround_ :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> ()
bedrockKnowledgeBaseArn :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Value Text
bedrockModelConfiguration :: BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockModelSpecificationProperty
haddock_workaround_ :: ()
bedrockKnowledgeBaseArn :: Value Text
bedrockModelConfiguration :: BedrockModelSpecificationProperty
..}
    = BedrockAgentIntentKnowledgeBaseConfigurationProperty
        {bedrockKnowledgeBaseArn :: Value Text
bedrockKnowledgeBaseArn = PropertyType
  "BedrockKnowledgeBaseArn"
  BedrockAgentIntentKnowledgeBaseConfigurationProperty
Value Text
newValue, ()
BedrockModelSpecificationProperty
haddock_workaround_ :: ()
bedrockModelConfiguration :: BedrockModelSpecificationProperty
haddock_workaround_ :: ()
bedrockModelConfiguration :: BedrockModelSpecificationProperty
..}
instance Property "BedrockModelConfiguration" BedrockAgentIntentKnowledgeBaseConfigurationProperty where
  type PropertyType "BedrockModelConfiguration" BedrockAgentIntentKnowledgeBaseConfigurationProperty = BedrockModelSpecificationProperty
  set :: PropertyType
  "BedrockModelConfiguration"
  BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockAgentIntentKnowledgeBaseConfigurationProperty
set
    PropertyType
  "BedrockModelConfiguration"
  BedrockAgentIntentKnowledgeBaseConfigurationProperty
newValue
    BedrockAgentIntentKnowledgeBaseConfigurationProperty {()
Value Text
BedrockModelSpecificationProperty
haddock_workaround_ :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> ()
bedrockKnowledgeBaseArn :: BedrockAgentIntentKnowledgeBaseConfigurationProperty -> Value Text
bedrockModelConfiguration :: BedrockAgentIntentKnowledgeBaseConfigurationProperty
-> BedrockModelSpecificationProperty
haddock_workaround_ :: ()
bedrockKnowledgeBaseArn :: Value Text
bedrockModelConfiguration :: BedrockModelSpecificationProperty
..}
    = BedrockAgentIntentKnowledgeBaseConfigurationProperty
        {bedrockModelConfiguration :: BedrockModelSpecificationProperty
bedrockModelConfiguration = PropertyType
  "BedrockModelConfiguration"
  BedrockAgentIntentKnowledgeBaseConfigurationProperty
BedrockModelSpecificationProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
bedrockKnowledgeBaseArn :: Value Text
haddock_workaround_ :: ()
bedrockKnowledgeBaseArn :: Value Text
..}