module Stratosphere.Lex.Bot.QnAKendraConfigurationProperty ( QnAKendraConfigurationProperty(..), mkQnAKendraConfigurationProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data QnAKendraConfigurationProperty = -- | See: QnAKendraConfigurationProperty {haddock_workaround_ :: (), -- | See: exactResponse :: (Value Prelude.Bool), -- | See: kendraIndex :: (Value Prelude.Text), -- | See: queryFilterString :: (Prelude.Maybe (Value Prelude.Text)), -- | See: queryFilterStringEnabled :: (Value Prelude.Bool)} deriving stock (Prelude.Eq, Prelude.Show) mkQnAKendraConfigurationProperty :: Value Prelude.Bool -> Value Prelude.Text -> Value Prelude.Bool -> QnAKendraConfigurationProperty mkQnAKendraConfigurationProperty exactResponse kendraIndex queryFilterStringEnabled = QnAKendraConfigurationProperty {haddock_workaround_ = (), exactResponse = exactResponse, kendraIndex = kendraIndex, queryFilterStringEnabled = queryFilterStringEnabled, queryFilterString = Prelude.Nothing} instance ToResourceProperties QnAKendraConfigurationProperty where toResourceProperties QnAKendraConfigurationProperty {..} = ResourceProperties {awsType = "AWS::Lex::Bot.QnAKendraConfiguration", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["ExactResponse" JSON..= exactResponse, "KendraIndex" JSON..= kendraIndex, "QueryFilterStringEnabled" JSON..= queryFilterStringEnabled] (Prelude.catMaybes [(JSON..=) "QueryFilterString" Prelude.<$> queryFilterString]))} instance JSON.ToJSON QnAKendraConfigurationProperty where toJSON QnAKendraConfigurationProperty {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["ExactResponse" JSON..= exactResponse, "KendraIndex" JSON..= kendraIndex, "QueryFilterStringEnabled" JSON..= queryFilterStringEnabled] (Prelude.catMaybes [(JSON..=) "QueryFilterString" Prelude.<$> queryFilterString]))) instance Property "ExactResponse" QnAKendraConfigurationProperty where type PropertyType "ExactResponse" QnAKendraConfigurationProperty = Value Prelude.Bool set newValue QnAKendraConfigurationProperty {..} = QnAKendraConfigurationProperty {exactResponse = newValue, ..} instance Property "KendraIndex" QnAKendraConfigurationProperty where type PropertyType "KendraIndex" QnAKendraConfigurationProperty = Value Prelude.Text set newValue QnAKendraConfigurationProperty {..} = QnAKendraConfigurationProperty {kendraIndex = newValue, ..} instance Property "QueryFilterString" QnAKendraConfigurationProperty where type PropertyType "QueryFilterString" QnAKendraConfigurationProperty = Value Prelude.Text set newValue QnAKendraConfigurationProperty {..} = QnAKendraConfigurationProperty {queryFilterString = Prelude.pure newValue, ..} instance Property "QueryFilterStringEnabled" QnAKendraConfigurationProperty where type PropertyType "QueryFilterStringEnabled" QnAKendraConfigurationProperty = Value Prelude.Bool set newValue QnAKendraConfigurationProperty {..} = QnAKendraConfigurationProperty {queryFilterStringEnabled = newValue, ..}