{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.LexV2Models.UpdateIntent
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the settings for an intent.
module Amazonka.LexV2Models.UpdateIntent
  ( -- * Creating a Request
    UpdateIntent (..),
    newUpdateIntent,

    -- * Request Lenses
    updateIntent_description,
    updateIntent_dialogCodeHook,
    updateIntent_fulfillmentCodeHook,
    updateIntent_initialResponseSetting,
    updateIntent_inputContexts,
    updateIntent_intentClosingSetting,
    updateIntent_intentConfirmationSetting,
    updateIntent_kendraConfiguration,
    updateIntent_outputContexts,
    updateIntent_parentIntentSignature,
    updateIntent_sampleUtterances,
    updateIntent_slotPriorities,
    updateIntent_intentId,
    updateIntent_intentName,
    updateIntent_botId,
    updateIntent_botVersion,
    updateIntent_localeId,

    -- * Destructuring the Response
    UpdateIntentResponse (..),
    newUpdateIntentResponse,

    -- * Response Lenses
    updateIntentResponse_botId,
    updateIntentResponse_botVersion,
    updateIntentResponse_creationDateTime,
    updateIntentResponse_description,
    updateIntentResponse_dialogCodeHook,
    updateIntentResponse_fulfillmentCodeHook,
    updateIntentResponse_initialResponseSetting,
    updateIntentResponse_inputContexts,
    updateIntentResponse_intentClosingSetting,
    updateIntentResponse_intentConfirmationSetting,
    updateIntentResponse_intentId,
    updateIntentResponse_intentName,
    updateIntentResponse_kendraConfiguration,
    updateIntentResponse_lastUpdatedDateTime,
    updateIntentResponse_localeId,
    updateIntentResponse_outputContexts,
    updateIntentResponse_parentIntentSignature,
    updateIntentResponse_sampleUtterances,
    updateIntentResponse_slotPriorities,
    updateIntentResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.LexV2Models.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newUpdateIntent' smart constructor.
data UpdateIntent = UpdateIntent'
  { -- | The new description of the intent.
    UpdateIntent -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The new Lambda function to use between each turn of the conversation
    -- with the bot.
    UpdateIntent -> Maybe DialogCodeHookSettings
dialogCodeHook :: Prelude.Maybe DialogCodeHookSettings,
    -- | The new Lambda function to call when all of the intents required slots
    -- are provided and the intent is ready for fulfillment.
    UpdateIntent -> Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook :: Prelude.Maybe FulfillmentCodeHookSettings,
    UpdateIntent -> Maybe InitialResponseSetting
initialResponseSetting :: Prelude.Maybe InitialResponseSetting,
    -- | A new list of contexts that must be active in order for Amazon Lex to
    -- consider the intent.
    UpdateIntent -> Maybe [InputContext]
inputContexts :: Prelude.Maybe [InputContext],
    -- | The new response that Amazon Lex sends the user when the intent is
    -- closed.
    UpdateIntent -> Maybe IntentClosingSetting
intentClosingSetting :: Prelude.Maybe IntentClosingSetting,
    -- | New prompts that Amazon Lex sends to the user to confirm the completion
    -- of an intent.
    UpdateIntent -> Maybe IntentConfirmationSetting
intentConfirmationSetting :: Prelude.Maybe IntentConfirmationSetting,
    -- | New configuration settings for connecting to an Amazon Kendra index.
    UpdateIntent -> Maybe KendraConfiguration
kendraConfiguration :: Prelude.Maybe KendraConfiguration,
    -- | A new list of contexts that Amazon Lex activates when the intent is
    -- fulfilled.
    UpdateIntent -> Maybe [OutputContext]
outputContexts :: Prelude.Maybe [OutputContext],
    -- | The signature of the new built-in intent to use as the parent of this
    -- intent.
    UpdateIntent -> Maybe Text
parentIntentSignature :: Prelude.Maybe Prelude.Text,
    -- | New utterances used to invoke the intent.
    UpdateIntent -> Maybe [SampleUtterance]
sampleUtterances :: Prelude.Maybe [SampleUtterance],
    -- | A new list of slots and their priorities that are contained by the
    -- intent.
    UpdateIntent -> Maybe [SlotPriority]
slotPriorities :: Prelude.Maybe [SlotPriority],
    -- | The unique identifier of the intent to update.
    UpdateIntent -> Text
intentId :: Prelude.Text,
    -- | The new name for the intent.
    UpdateIntent -> Text
intentName :: Prelude.Text,
    -- | The identifier of the bot that contains the intent.
    UpdateIntent -> Text
botId :: Prelude.Text,
    -- | The version of the bot that contains the intent. Must be @DRAFT@.
    UpdateIntent -> Text
botVersion :: Prelude.Text,
    -- | The identifier of the language and locale where this intent is used. The
    -- string must match one of the supported locales. For more information,
    -- see
    -- <https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html Supported languages>.
    UpdateIntent -> Text
localeId :: Prelude.Text
  }
  deriving (UpdateIntent -> UpdateIntent -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateIntent -> UpdateIntent -> Bool
$c/= :: UpdateIntent -> UpdateIntent -> Bool
== :: UpdateIntent -> UpdateIntent -> Bool
$c== :: UpdateIntent -> UpdateIntent -> Bool
Prelude.Eq, ReadPrec [UpdateIntent]
ReadPrec UpdateIntent
Int -> ReadS UpdateIntent
ReadS [UpdateIntent]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateIntent]
$creadListPrec :: ReadPrec [UpdateIntent]
readPrec :: ReadPrec UpdateIntent
$creadPrec :: ReadPrec UpdateIntent
readList :: ReadS [UpdateIntent]
$creadList :: ReadS [UpdateIntent]
readsPrec :: Int -> ReadS UpdateIntent
$creadsPrec :: Int -> ReadS UpdateIntent
Prelude.Read, Int -> UpdateIntent -> ShowS
[UpdateIntent] -> ShowS
UpdateIntent -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateIntent] -> ShowS
$cshowList :: [UpdateIntent] -> ShowS
show :: UpdateIntent -> String
$cshow :: UpdateIntent -> String
showsPrec :: Int -> UpdateIntent -> ShowS
$cshowsPrec :: Int -> UpdateIntent -> ShowS
Prelude.Show, forall x. Rep UpdateIntent x -> UpdateIntent
forall x. UpdateIntent -> Rep UpdateIntent x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateIntent x -> UpdateIntent
$cfrom :: forall x. UpdateIntent -> Rep UpdateIntent x
Prelude.Generic)

-- |
-- Create a value of 'UpdateIntent' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'description', 'updateIntent_description' - The new description of the intent.
--
-- 'dialogCodeHook', 'updateIntent_dialogCodeHook' - The new Lambda function to use between each turn of the conversation
-- with the bot.
--
-- 'fulfillmentCodeHook', 'updateIntent_fulfillmentCodeHook' - The new Lambda function to call when all of the intents required slots
-- are provided and the intent is ready for fulfillment.
--
-- 'initialResponseSetting', 'updateIntent_initialResponseSetting' -
--
-- 'inputContexts', 'updateIntent_inputContexts' - A new list of contexts that must be active in order for Amazon Lex to
-- consider the intent.
--
-- 'intentClosingSetting', 'updateIntent_intentClosingSetting' - The new response that Amazon Lex sends the user when the intent is
-- closed.
--
-- 'intentConfirmationSetting', 'updateIntent_intentConfirmationSetting' - New prompts that Amazon Lex sends to the user to confirm the completion
-- of an intent.
--
-- 'kendraConfiguration', 'updateIntent_kendraConfiguration' - New configuration settings for connecting to an Amazon Kendra index.
--
-- 'outputContexts', 'updateIntent_outputContexts' - A new list of contexts that Amazon Lex activates when the intent is
-- fulfilled.
--
-- 'parentIntentSignature', 'updateIntent_parentIntentSignature' - The signature of the new built-in intent to use as the parent of this
-- intent.
--
-- 'sampleUtterances', 'updateIntent_sampleUtterances' - New utterances used to invoke the intent.
--
-- 'slotPriorities', 'updateIntent_slotPriorities' - A new list of slots and their priorities that are contained by the
-- intent.
--
-- 'intentId', 'updateIntent_intentId' - The unique identifier of the intent to update.
--
-- 'intentName', 'updateIntent_intentName' - The new name for the intent.
--
-- 'botId', 'updateIntent_botId' - The identifier of the bot that contains the intent.
--
-- 'botVersion', 'updateIntent_botVersion' - The version of the bot that contains the intent. Must be @DRAFT@.
--
-- 'localeId', 'updateIntent_localeId' - The identifier of the language and locale where this intent is used. The
-- string must match one of the supported locales. For more information,
-- see
-- <https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html Supported languages>.
newUpdateIntent ::
  -- | 'intentId'
  Prelude.Text ->
  -- | 'intentName'
  Prelude.Text ->
  -- | 'botId'
  Prelude.Text ->
  -- | 'botVersion'
  Prelude.Text ->
  -- | 'localeId'
  Prelude.Text ->
  UpdateIntent
newUpdateIntent :: Text -> Text -> Text -> Text -> Text -> UpdateIntent
newUpdateIntent
  Text
pIntentId_
  Text
pIntentName_
  Text
pBotId_
  Text
pBotVersion_
  Text
pLocaleId_ =
    UpdateIntent'
      { $sel:description:UpdateIntent' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
        $sel:dialogCodeHook:UpdateIntent' :: Maybe DialogCodeHookSettings
dialogCodeHook = forall a. Maybe a
Prelude.Nothing,
        $sel:fulfillmentCodeHook:UpdateIntent' :: Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook = forall a. Maybe a
Prelude.Nothing,
        $sel:initialResponseSetting:UpdateIntent' :: Maybe InitialResponseSetting
initialResponseSetting = forall a. Maybe a
Prelude.Nothing,
        $sel:inputContexts:UpdateIntent' :: Maybe [InputContext]
inputContexts = forall a. Maybe a
Prelude.Nothing,
        $sel:intentClosingSetting:UpdateIntent' :: Maybe IntentClosingSetting
intentClosingSetting = forall a. Maybe a
Prelude.Nothing,
        $sel:intentConfirmationSetting:UpdateIntent' :: Maybe IntentConfirmationSetting
intentConfirmationSetting = forall a. Maybe a
Prelude.Nothing,
        $sel:kendraConfiguration:UpdateIntent' :: Maybe KendraConfiguration
kendraConfiguration = forall a. Maybe a
Prelude.Nothing,
        $sel:outputContexts:UpdateIntent' :: Maybe [OutputContext]
outputContexts = forall a. Maybe a
Prelude.Nothing,
        $sel:parentIntentSignature:UpdateIntent' :: Maybe Text
parentIntentSignature = forall a. Maybe a
Prelude.Nothing,
        $sel:sampleUtterances:UpdateIntent' :: Maybe [SampleUtterance]
sampleUtterances = forall a. Maybe a
Prelude.Nothing,
        $sel:slotPriorities:UpdateIntent' :: Maybe [SlotPriority]
slotPriorities = forall a. Maybe a
Prelude.Nothing,
        $sel:intentId:UpdateIntent' :: Text
intentId = Text
pIntentId_,
        $sel:intentName:UpdateIntent' :: Text
intentName = Text
pIntentName_,
        $sel:botId:UpdateIntent' :: Text
botId = Text
pBotId_,
        $sel:botVersion:UpdateIntent' :: Text
botVersion = Text
pBotVersion_,
        $sel:localeId:UpdateIntent' :: Text
localeId = Text
pLocaleId_
      }

-- | The new description of the intent.
updateIntent_description :: Lens.Lens' UpdateIntent (Prelude.Maybe Prelude.Text)
updateIntent_description :: Lens' UpdateIntent (Maybe Text)
updateIntent_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe Text
description :: Maybe Text
$sel:description:UpdateIntent' :: UpdateIntent -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe Text
a -> UpdateIntent
s {$sel:description:UpdateIntent' :: Maybe Text
description = Maybe Text
a} :: UpdateIntent)

-- | The new Lambda function to use between each turn of the conversation
-- with the bot.
updateIntent_dialogCodeHook :: Lens.Lens' UpdateIntent (Prelude.Maybe DialogCodeHookSettings)
updateIntent_dialogCodeHook :: Lens' UpdateIntent (Maybe DialogCodeHookSettings)
updateIntent_dialogCodeHook = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe DialogCodeHookSettings
dialogCodeHook :: Maybe DialogCodeHookSettings
$sel:dialogCodeHook:UpdateIntent' :: UpdateIntent -> Maybe DialogCodeHookSettings
dialogCodeHook} -> Maybe DialogCodeHookSettings
dialogCodeHook) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe DialogCodeHookSettings
a -> UpdateIntent
s {$sel:dialogCodeHook:UpdateIntent' :: Maybe DialogCodeHookSettings
dialogCodeHook = Maybe DialogCodeHookSettings
a} :: UpdateIntent)

-- | The new Lambda function to call when all of the intents required slots
-- are provided and the intent is ready for fulfillment.
updateIntent_fulfillmentCodeHook :: Lens.Lens' UpdateIntent (Prelude.Maybe FulfillmentCodeHookSettings)
updateIntent_fulfillmentCodeHook :: Lens' UpdateIntent (Maybe FulfillmentCodeHookSettings)
updateIntent_fulfillmentCodeHook = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook :: Maybe FulfillmentCodeHookSettings
$sel:fulfillmentCodeHook:UpdateIntent' :: UpdateIntent -> Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook} -> Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe FulfillmentCodeHookSettings
a -> UpdateIntent
s {$sel:fulfillmentCodeHook:UpdateIntent' :: Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook = Maybe FulfillmentCodeHookSettings
a} :: UpdateIntent)

updateIntent_initialResponseSetting :: Lens.Lens' UpdateIntent (Prelude.Maybe InitialResponseSetting)
updateIntent_initialResponseSetting :: Lens' UpdateIntent (Maybe InitialResponseSetting)
updateIntent_initialResponseSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe InitialResponseSetting
initialResponseSetting :: Maybe InitialResponseSetting
$sel:initialResponseSetting:UpdateIntent' :: UpdateIntent -> Maybe InitialResponseSetting
initialResponseSetting} -> Maybe InitialResponseSetting
initialResponseSetting) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe InitialResponseSetting
a -> UpdateIntent
s {$sel:initialResponseSetting:UpdateIntent' :: Maybe InitialResponseSetting
initialResponseSetting = Maybe InitialResponseSetting
a} :: UpdateIntent)

-- | A new list of contexts that must be active in order for Amazon Lex to
-- consider the intent.
updateIntent_inputContexts :: Lens.Lens' UpdateIntent (Prelude.Maybe [InputContext])
updateIntent_inputContexts :: Lens' UpdateIntent (Maybe [InputContext])
updateIntent_inputContexts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe [InputContext]
inputContexts :: Maybe [InputContext]
$sel:inputContexts:UpdateIntent' :: UpdateIntent -> Maybe [InputContext]
inputContexts} -> Maybe [InputContext]
inputContexts) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe [InputContext]
a -> UpdateIntent
s {$sel:inputContexts:UpdateIntent' :: Maybe [InputContext]
inputContexts = Maybe [InputContext]
a} :: UpdateIntent) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The new response that Amazon Lex sends the user when the intent is
-- closed.
updateIntent_intentClosingSetting :: Lens.Lens' UpdateIntent (Prelude.Maybe IntentClosingSetting)
updateIntent_intentClosingSetting :: Lens' UpdateIntent (Maybe IntentClosingSetting)
updateIntent_intentClosingSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe IntentClosingSetting
intentClosingSetting :: Maybe IntentClosingSetting
$sel:intentClosingSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentClosingSetting
intentClosingSetting} -> Maybe IntentClosingSetting
intentClosingSetting) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe IntentClosingSetting
a -> UpdateIntent
s {$sel:intentClosingSetting:UpdateIntent' :: Maybe IntentClosingSetting
intentClosingSetting = Maybe IntentClosingSetting
a} :: UpdateIntent)

-- | New prompts that Amazon Lex sends to the user to confirm the completion
-- of an intent.
updateIntent_intentConfirmationSetting :: Lens.Lens' UpdateIntent (Prelude.Maybe IntentConfirmationSetting)
updateIntent_intentConfirmationSetting :: Lens' UpdateIntent (Maybe IntentConfirmationSetting)
updateIntent_intentConfirmationSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe IntentConfirmationSetting
intentConfirmationSetting :: Maybe IntentConfirmationSetting
$sel:intentConfirmationSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentConfirmationSetting
intentConfirmationSetting} -> Maybe IntentConfirmationSetting
intentConfirmationSetting) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe IntentConfirmationSetting
a -> UpdateIntent
s {$sel:intentConfirmationSetting:UpdateIntent' :: Maybe IntentConfirmationSetting
intentConfirmationSetting = Maybe IntentConfirmationSetting
a} :: UpdateIntent)

-- | New configuration settings for connecting to an Amazon Kendra index.
updateIntent_kendraConfiguration :: Lens.Lens' UpdateIntent (Prelude.Maybe KendraConfiguration)
updateIntent_kendraConfiguration :: Lens' UpdateIntent (Maybe KendraConfiguration)
updateIntent_kendraConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe KendraConfiguration
kendraConfiguration :: Maybe KendraConfiguration
$sel:kendraConfiguration:UpdateIntent' :: UpdateIntent -> Maybe KendraConfiguration
kendraConfiguration} -> Maybe KendraConfiguration
kendraConfiguration) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe KendraConfiguration
a -> UpdateIntent
s {$sel:kendraConfiguration:UpdateIntent' :: Maybe KendraConfiguration
kendraConfiguration = Maybe KendraConfiguration
a} :: UpdateIntent)

-- | A new list of contexts that Amazon Lex activates when the intent is
-- fulfilled.
updateIntent_outputContexts :: Lens.Lens' UpdateIntent (Prelude.Maybe [OutputContext])
updateIntent_outputContexts :: Lens' UpdateIntent (Maybe [OutputContext])
updateIntent_outputContexts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe [OutputContext]
outputContexts :: Maybe [OutputContext]
$sel:outputContexts:UpdateIntent' :: UpdateIntent -> Maybe [OutputContext]
outputContexts} -> Maybe [OutputContext]
outputContexts) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe [OutputContext]
a -> UpdateIntent
s {$sel:outputContexts:UpdateIntent' :: Maybe [OutputContext]
outputContexts = Maybe [OutputContext]
a} :: UpdateIntent) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The signature of the new built-in intent to use as the parent of this
-- intent.
updateIntent_parentIntentSignature :: Lens.Lens' UpdateIntent (Prelude.Maybe Prelude.Text)
updateIntent_parentIntentSignature :: Lens' UpdateIntent (Maybe Text)
updateIntent_parentIntentSignature = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe Text
parentIntentSignature :: Maybe Text
$sel:parentIntentSignature:UpdateIntent' :: UpdateIntent -> Maybe Text
parentIntentSignature} -> Maybe Text
parentIntentSignature) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe Text
a -> UpdateIntent
s {$sel:parentIntentSignature:UpdateIntent' :: Maybe Text
parentIntentSignature = Maybe Text
a} :: UpdateIntent)

-- | New utterances used to invoke the intent.
updateIntent_sampleUtterances :: Lens.Lens' UpdateIntent (Prelude.Maybe [SampleUtterance])
updateIntent_sampleUtterances :: Lens' UpdateIntent (Maybe [SampleUtterance])
updateIntent_sampleUtterances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe [SampleUtterance]
sampleUtterances :: Maybe [SampleUtterance]
$sel:sampleUtterances:UpdateIntent' :: UpdateIntent -> Maybe [SampleUtterance]
sampleUtterances} -> Maybe [SampleUtterance]
sampleUtterances) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe [SampleUtterance]
a -> UpdateIntent
s {$sel:sampleUtterances:UpdateIntent' :: Maybe [SampleUtterance]
sampleUtterances = Maybe [SampleUtterance]
a} :: UpdateIntent) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | A new list of slots and their priorities that are contained by the
-- intent.
updateIntent_slotPriorities :: Lens.Lens' UpdateIntent (Prelude.Maybe [SlotPriority])
updateIntent_slotPriorities :: Lens' UpdateIntent (Maybe [SlotPriority])
updateIntent_slotPriorities = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Maybe [SlotPriority]
slotPriorities :: Maybe [SlotPriority]
$sel:slotPriorities:UpdateIntent' :: UpdateIntent -> Maybe [SlotPriority]
slotPriorities} -> Maybe [SlotPriority]
slotPriorities) (\s :: UpdateIntent
s@UpdateIntent' {} Maybe [SlotPriority]
a -> UpdateIntent
s {$sel:slotPriorities:UpdateIntent' :: Maybe [SlotPriority]
slotPriorities = Maybe [SlotPriority]
a} :: UpdateIntent) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The unique identifier of the intent to update.
updateIntent_intentId :: Lens.Lens' UpdateIntent Prelude.Text
updateIntent_intentId :: Lens' UpdateIntent Text
updateIntent_intentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Text
intentId :: Text
$sel:intentId:UpdateIntent' :: UpdateIntent -> Text
intentId} -> Text
intentId) (\s :: UpdateIntent
s@UpdateIntent' {} Text
a -> UpdateIntent
s {$sel:intentId:UpdateIntent' :: Text
intentId = Text
a} :: UpdateIntent)

-- | The new name for the intent.
updateIntent_intentName :: Lens.Lens' UpdateIntent Prelude.Text
updateIntent_intentName :: Lens' UpdateIntent Text
updateIntent_intentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Text
intentName :: Text
$sel:intentName:UpdateIntent' :: UpdateIntent -> Text
intentName} -> Text
intentName) (\s :: UpdateIntent
s@UpdateIntent' {} Text
a -> UpdateIntent
s {$sel:intentName:UpdateIntent' :: Text
intentName = Text
a} :: UpdateIntent)

-- | The identifier of the bot that contains the intent.
updateIntent_botId :: Lens.Lens' UpdateIntent Prelude.Text
updateIntent_botId :: Lens' UpdateIntent Text
updateIntent_botId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Text
botId :: Text
$sel:botId:UpdateIntent' :: UpdateIntent -> Text
botId} -> Text
botId) (\s :: UpdateIntent
s@UpdateIntent' {} Text
a -> UpdateIntent
s {$sel:botId:UpdateIntent' :: Text
botId = Text
a} :: UpdateIntent)

-- | The version of the bot that contains the intent. Must be @DRAFT@.
updateIntent_botVersion :: Lens.Lens' UpdateIntent Prelude.Text
updateIntent_botVersion :: Lens' UpdateIntent Text
updateIntent_botVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Text
botVersion :: Text
$sel:botVersion:UpdateIntent' :: UpdateIntent -> Text
botVersion} -> Text
botVersion) (\s :: UpdateIntent
s@UpdateIntent' {} Text
a -> UpdateIntent
s {$sel:botVersion:UpdateIntent' :: Text
botVersion = Text
a} :: UpdateIntent)

-- | The identifier of the language and locale where this intent is used. The
-- string must match one of the supported locales. For more information,
-- see
-- <https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html Supported languages>.
updateIntent_localeId :: Lens.Lens' UpdateIntent Prelude.Text
updateIntent_localeId :: Lens' UpdateIntent Text
updateIntent_localeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntent' {Text
localeId :: Text
$sel:localeId:UpdateIntent' :: UpdateIntent -> Text
localeId} -> Text
localeId) (\s :: UpdateIntent
s@UpdateIntent' {} Text
a -> UpdateIntent
s {$sel:localeId:UpdateIntent' :: Text
localeId = Text
a} :: UpdateIntent)

instance Core.AWSRequest UpdateIntent where
  type AWSResponse UpdateIntent = UpdateIntentResponse
  request :: (Service -> Service) -> UpdateIntent -> Request UpdateIntent
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateIntent
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateIntent)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe DialogCodeHookSettings
-> Maybe FulfillmentCodeHookSettings
-> Maybe InitialResponseSetting
-> Maybe [InputContext]
-> Maybe IntentClosingSetting
-> Maybe IntentConfirmationSetting
-> Maybe Text
-> Maybe Text
-> Maybe KendraConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe [OutputContext]
-> Maybe Text
-> Maybe [SampleUtterance]
-> Maybe [SlotPriority]
-> Int
-> UpdateIntentResponse
UpdateIntentResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"botId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"botVersion")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"creationDateTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"dialogCodeHook")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"fulfillmentCodeHook")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"initialResponseSetting")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"inputContexts" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"intentClosingSetting")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"intentConfirmationSetting")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"intentId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"intentName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"kendraConfiguration")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"lastUpdatedDateTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"localeId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"outputContexts" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"parentIntentSignature")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"sampleUtterances"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"slotPriorities" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable UpdateIntent where
  hashWithSalt :: Int -> UpdateIntent -> Int
hashWithSalt Int
_salt UpdateIntent' {Maybe [InputContext]
Maybe [OutputContext]
Maybe [SampleUtterance]
Maybe [SlotPriority]
Maybe Text
Maybe DialogCodeHookSettings
Maybe KendraConfiguration
Maybe FulfillmentCodeHookSettings
Maybe IntentClosingSetting
Maybe InitialResponseSetting
Maybe IntentConfirmationSetting
Text
localeId :: Text
botVersion :: Text
botId :: Text
intentName :: Text
intentId :: Text
slotPriorities :: Maybe [SlotPriority]
sampleUtterances :: Maybe [SampleUtterance]
parentIntentSignature :: Maybe Text
outputContexts :: Maybe [OutputContext]
kendraConfiguration :: Maybe KendraConfiguration
intentConfirmationSetting :: Maybe IntentConfirmationSetting
intentClosingSetting :: Maybe IntentClosingSetting
inputContexts :: Maybe [InputContext]
initialResponseSetting :: Maybe InitialResponseSetting
fulfillmentCodeHook :: Maybe FulfillmentCodeHookSettings
dialogCodeHook :: Maybe DialogCodeHookSettings
description :: Maybe Text
$sel:localeId:UpdateIntent' :: UpdateIntent -> Text
$sel:botVersion:UpdateIntent' :: UpdateIntent -> Text
$sel:botId:UpdateIntent' :: UpdateIntent -> Text
$sel:intentName:UpdateIntent' :: UpdateIntent -> Text
$sel:intentId:UpdateIntent' :: UpdateIntent -> Text
$sel:slotPriorities:UpdateIntent' :: UpdateIntent -> Maybe [SlotPriority]
$sel:sampleUtterances:UpdateIntent' :: UpdateIntent -> Maybe [SampleUtterance]
$sel:parentIntentSignature:UpdateIntent' :: UpdateIntent -> Maybe Text
$sel:outputContexts:UpdateIntent' :: UpdateIntent -> Maybe [OutputContext]
$sel:kendraConfiguration:UpdateIntent' :: UpdateIntent -> Maybe KendraConfiguration
$sel:intentConfirmationSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentConfirmationSetting
$sel:intentClosingSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentClosingSetting
$sel:inputContexts:UpdateIntent' :: UpdateIntent -> Maybe [InputContext]
$sel:initialResponseSetting:UpdateIntent' :: UpdateIntent -> Maybe InitialResponseSetting
$sel:fulfillmentCodeHook:UpdateIntent' :: UpdateIntent -> Maybe FulfillmentCodeHookSettings
$sel:dialogCodeHook:UpdateIntent' :: UpdateIntent -> Maybe DialogCodeHookSettings
$sel:description:UpdateIntent' :: UpdateIntent -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DialogCodeHookSettings
dialogCodeHook
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InitialResponseSetting
initialResponseSetting
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [InputContext]
inputContexts
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IntentClosingSetting
intentClosingSetting
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IntentConfirmationSetting
intentConfirmationSetting
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe KendraConfiguration
kendraConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [OutputContext]
outputContexts
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
parentIntentSignature
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [SampleUtterance]
sampleUtterances
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [SlotPriority]
slotPriorities
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
intentId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
intentName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
botId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
botVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
localeId

instance Prelude.NFData UpdateIntent where
  rnf :: UpdateIntent -> ()
rnf UpdateIntent' {Maybe [InputContext]
Maybe [OutputContext]
Maybe [SampleUtterance]
Maybe [SlotPriority]
Maybe Text
Maybe DialogCodeHookSettings
Maybe KendraConfiguration
Maybe FulfillmentCodeHookSettings
Maybe IntentClosingSetting
Maybe InitialResponseSetting
Maybe IntentConfirmationSetting
Text
localeId :: Text
botVersion :: Text
botId :: Text
intentName :: Text
intentId :: Text
slotPriorities :: Maybe [SlotPriority]
sampleUtterances :: Maybe [SampleUtterance]
parentIntentSignature :: Maybe Text
outputContexts :: Maybe [OutputContext]
kendraConfiguration :: Maybe KendraConfiguration
intentConfirmationSetting :: Maybe IntentConfirmationSetting
intentClosingSetting :: Maybe IntentClosingSetting
inputContexts :: Maybe [InputContext]
initialResponseSetting :: Maybe InitialResponseSetting
fulfillmentCodeHook :: Maybe FulfillmentCodeHookSettings
dialogCodeHook :: Maybe DialogCodeHookSettings
description :: Maybe Text
$sel:localeId:UpdateIntent' :: UpdateIntent -> Text
$sel:botVersion:UpdateIntent' :: UpdateIntent -> Text
$sel:botId:UpdateIntent' :: UpdateIntent -> Text
$sel:intentName:UpdateIntent' :: UpdateIntent -> Text
$sel:intentId:UpdateIntent' :: UpdateIntent -> Text
$sel:slotPriorities:UpdateIntent' :: UpdateIntent -> Maybe [SlotPriority]
$sel:sampleUtterances:UpdateIntent' :: UpdateIntent -> Maybe [SampleUtterance]
$sel:parentIntentSignature:UpdateIntent' :: UpdateIntent -> Maybe Text
$sel:outputContexts:UpdateIntent' :: UpdateIntent -> Maybe [OutputContext]
$sel:kendraConfiguration:UpdateIntent' :: UpdateIntent -> Maybe KendraConfiguration
$sel:intentConfirmationSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentConfirmationSetting
$sel:intentClosingSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentClosingSetting
$sel:inputContexts:UpdateIntent' :: UpdateIntent -> Maybe [InputContext]
$sel:initialResponseSetting:UpdateIntent' :: UpdateIntent -> Maybe InitialResponseSetting
$sel:fulfillmentCodeHook:UpdateIntent' :: UpdateIntent -> Maybe FulfillmentCodeHookSettings
$sel:dialogCodeHook:UpdateIntent' :: UpdateIntent -> Maybe DialogCodeHookSettings
$sel:description:UpdateIntent' :: UpdateIntent -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DialogCodeHookSettings
dialogCodeHook
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InitialResponseSetting
initialResponseSetting
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [InputContext]
inputContexts
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IntentClosingSetting
intentClosingSetting
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IntentConfirmationSetting
intentConfirmationSetting
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe KendraConfiguration
kendraConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [OutputContext]
outputContexts
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
parentIntentSignature
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SampleUtterance]
sampleUtterances
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SlotPriority]
slotPriorities
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
intentId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
intentName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
botId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
botVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
localeId

instance Data.ToHeaders UpdateIntent where
  toHeaders :: UpdateIntent -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON UpdateIntent where
  toJSON :: UpdateIntent -> Value
toJSON UpdateIntent' {Maybe [InputContext]
Maybe [OutputContext]
Maybe [SampleUtterance]
Maybe [SlotPriority]
Maybe Text
Maybe DialogCodeHookSettings
Maybe KendraConfiguration
Maybe FulfillmentCodeHookSettings
Maybe IntentClosingSetting
Maybe InitialResponseSetting
Maybe IntentConfirmationSetting
Text
localeId :: Text
botVersion :: Text
botId :: Text
intentName :: Text
intentId :: Text
slotPriorities :: Maybe [SlotPriority]
sampleUtterances :: Maybe [SampleUtterance]
parentIntentSignature :: Maybe Text
outputContexts :: Maybe [OutputContext]
kendraConfiguration :: Maybe KendraConfiguration
intentConfirmationSetting :: Maybe IntentConfirmationSetting
intentClosingSetting :: Maybe IntentClosingSetting
inputContexts :: Maybe [InputContext]
initialResponseSetting :: Maybe InitialResponseSetting
fulfillmentCodeHook :: Maybe FulfillmentCodeHookSettings
dialogCodeHook :: Maybe DialogCodeHookSettings
description :: Maybe Text
$sel:localeId:UpdateIntent' :: UpdateIntent -> Text
$sel:botVersion:UpdateIntent' :: UpdateIntent -> Text
$sel:botId:UpdateIntent' :: UpdateIntent -> Text
$sel:intentName:UpdateIntent' :: UpdateIntent -> Text
$sel:intentId:UpdateIntent' :: UpdateIntent -> Text
$sel:slotPriorities:UpdateIntent' :: UpdateIntent -> Maybe [SlotPriority]
$sel:sampleUtterances:UpdateIntent' :: UpdateIntent -> Maybe [SampleUtterance]
$sel:parentIntentSignature:UpdateIntent' :: UpdateIntent -> Maybe Text
$sel:outputContexts:UpdateIntent' :: UpdateIntent -> Maybe [OutputContext]
$sel:kendraConfiguration:UpdateIntent' :: UpdateIntent -> Maybe KendraConfiguration
$sel:intentConfirmationSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentConfirmationSetting
$sel:intentClosingSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentClosingSetting
$sel:inputContexts:UpdateIntent' :: UpdateIntent -> Maybe [InputContext]
$sel:initialResponseSetting:UpdateIntent' :: UpdateIntent -> Maybe InitialResponseSetting
$sel:fulfillmentCodeHook:UpdateIntent' :: UpdateIntent -> Maybe FulfillmentCodeHookSettings
$sel:dialogCodeHook:UpdateIntent' :: UpdateIntent -> Maybe DialogCodeHookSettings
$sel:description:UpdateIntent' :: UpdateIntent -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"description" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description,
            (Key
"dialogCodeHook" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DialogCodeHookSettings
dialogCodeHook,
            (Key
"fulfillmentCodeHook" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook,
            (Key
"initialResponseSetting" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe InitialResponseSetting
initialResponseSetting,
            (Key
"inputContexts" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [InputContext]
inputContexts,
            (Key
"intentClosingSetting" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe IntentClosingSetting
intentClosingSetting,
            (Key
"intentConfirmationSetting" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe IntentConfirmationSetting
intentConfirmationSetting,
            (Key
"kendraConfiguration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe KendraConfiguration
kendraConfiguration,
            (Key
"outputContexts" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [OutputContext]
outputContexts,
            (Key
"parentIntentSignature" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
parentIntentSignature,
            (Key
"sampleUtterances" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [SampleUtterance]
sampleUtterances,
            (Key
"slotPriorities" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [SlotPriority]
slotPriorities,
            forall a. a -> Maybe a
Prelude.Just (Key
"intentName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
intentName)
          ]
      )

instance Data.ToPath UpdateIntent where
  toPath :: UpdateIntent -> ByteString
toPath UpdateIntent' {Maybe [InputContext]
Maybe [OutputContext]
Maybe [SampleUtterance]
Maybe [SlotPriority]
Maybe Text
Maybe DialogCodeHookSettings
Maybe KendraConfiguration
Maybe FulfillmentCodeHookSettings
Maybe IntentClosingSetting
Maybe InitialResponseSetting
Maybe IntentConfirmationSetting
Text
localeId :: Text
botVersion :: Text
botId :: Text
intentName :: Text
intentId :: Text
slotPriorities :: Maybe [SlotPriority]
sampleUtterances :: Maybe [SampleUtterance]
parentIntentSignature :: Maybe Text
outputContexts :: Maybe [OutputContext]
kendraConfiguration :: Maybe KendraConfiguration
intentConfirmationSetting :: Maybe IntentConfirmationSetting
intentClosingSetting :: Maybe IntentClosingSetting
inputContexts :: Maybe [InputContext]
initialResponseSetting :: Maybe InitialResponseSetting
fulfillmentCodeHook :: Maybe FulfillmentCodeHookSettings
dialogCodeHook :: Maybe DialogCodeHookSettings
description :: Maybe Text
$sel:localeId:UpdateIntent' :: UpdateIntent -> Text
$sel:botVersion:UpdateIntent' :: UpdateIntent -> Text
$sel:botId:UpdateIntent' :: UpdateIntent -> Text
$sel:intentName:UpdateIntent' :: UpdateIntent -> Text
$sel:intentId:UpdateIntent' :: UpdateIntent -> Text
$sel:slotPriorities:UpdateIntent' :: UpdateIntent -> Maybe [SlotPriority]
$sel:sampleUtterances:UpdateIntent' :: UpdateIntent -> Maybe [SampleUtterance]
$sel:parentIntentSignature:UpdateIntent' :: UpdateIntent -> Maybe Text
$sel:outputContexts:UpdateIntent' :: UpdateIntent -> Maybe [OutputContext]
$sel:kendraConfiguration:UpdateIntent' :: UpdateIntent -> Maybe KendraConfiguration
$sel:intentConfirmationSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentConfirmationSetting
$sel:intentClosingSetting:UpdateIntent' :: UpdateIntent -> Maybe IntentClosingSetting
$sel:inputContexts:UpdateIntent' :: UpdateIntent -> Maybe [InputContext]
$sel:initialResponseSetting:UpdateIntent' :: UpdateIntent -> Maybe InitialResponseSetting
$sel:fulfillmentCodeHook:UpdateIntent' :: UpdateIntent -> Maybe FulfillmentCodeHookSettings
$sel:dialogCodeHook:UpdateIntent' :: UpdateIntent -> Maybe DialogCodeHookSettings
$sel:description:UpdateIntent' :: UpdateIntent -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/bots/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
botId,
        ByteString
"/botversions/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
botVersion,
        ByteString
"/botlocales/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
localeId,
        ByteString
"/intents/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
intentId,
        ByteString
"/"
      ]

instance Data.ToQuery UpdateIntent where
  toQuery :: UpdateIntent -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newUpdateIntentResponse' smart constructor.
data UpdateIntentResponse = UpdateIntentResponse'
  { -- | The identifier of the bot that contains the intent.
    UpdateIntentResponse -> Maybe Text
botId :: Prelude.Maybe Prelude.Text,
    -- | The version of the bot that contains the intent. Will always be @DRAFT@.
    UpdateIntentResponse -> Maybe Text
botVersion :: Prelude.Maybe Prelude.Text,
    -- | A timestamp of when the intent was created.
    UpdateIntentResponse -> Maybe POSIX
creationDateTime :: Prelude.Maybe Data.POSIX,
    -- | The updated description of the intent.
    UpdateIntentResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The updated Lambda function called during each turn of the conversation
    -- with the user.
    UpdateIntentResponse -> Maybe DialogCodeHookSettings
dialogCodeHook :: Prelude.Maybe DialogCodeHookSettings,
    -- | The updated Lambda function called when the intent is ready for
    -- fulfillment.
    UpdateIntentResponse -> Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook :: Prelude.Maybe FulfillmentCodeHookSettings,
    UpdateIntentResponse -> Maybe InitialResponseSetting
initialResponseSetting :: Prelude.Maybe InitialResponseSetting,
    -- | The updated list of contexts that must be active for the intent to be
    -- considered by Amazon Lex.
    UpdateIntentResponse -> Maybe [InputContext]
inputContexts :: Prelude.Maybe [InputContext],
    -- | The updated response that Amazon Lex sends the user when the intent is
    -- closed.
    UpdateIntentResponse -> Maybe IntentClosingSetting
intentClosingSetting :: Prelude.Maybe IntentClosingSetting,
    -- | The updated prompts that Amazon Lex sends to the user to confirm the
    -- completion of an intent.
    UpdateIntentResponse -> Maybe IntentConfirmationSetting
intentConfirmationSetting :: Prelude.Maybe IntentConfirmationSetting,
    -- | The identifier of the intent that was updated.
    UpdateIntentResponse -> Maybe Text
intentId :: Prelude.Maybe Prelude.Text,
    -- | The updated name of the intent.
    UpdateIntentResponse -> Maybe Text
intentName :: Prelude.Maybe Prelude.Text,
    -- | The updated configuration for connecting to an Amazon Kendra index with
    -- the @AMAZON.KendraSearchIntent@ intent.
    UpdateIntentResponse -> Maybe KendraConfiguration
kendraConfiguration :: Prelude.Maybe KendraConfiguration,
    -- | A timestamp of the last time that the intent was modified.
    UpdateIntentResponse -> Maybe POSIX
lastUpdatedDateTime :: Prelude.Maybe Data.POSIX,
    -- | The updated language and locale of the intent.
    UpdateIntentResponse -> Maybe Text
localeId :: Prelude.Maybe Prelude.Text,
    -- | The updated list of contexts that Amazon Lex activates when the intent
    -- is fulfilled.
    UpdateIntentResponse -> Maybe [OutputContext]
outputContexts :: Prelude.Maybe [OutputContext],
    -- | The updated built-in intent that is the parent of this intent.
    UpdateIntentResponse -> Maybe Text
parentIntentSignature :: Prelude.Maybe Prelude.Text,
    -- | The updated list of sample utterances for the intent.
    UpdateIntentResponse -> Maybe [SampleUtterance]
sampleUtterances :: Prelude.Maybe [SampleUtterance],
    -- | The updated list of slots and their priorities that are elicited from
    -- the user for the intent.
    UpdateIntentResponse -> Maybe [SlotPriority]
slotPriorities :: Prelude.Maybe [SlotPriority],
    -- | The response's http status code.
    UpdateIntentResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateIntentResponse -> UpdateIntentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateIntentResponse -> UpdateIntentResponse -> Bool
$c/= :: UpdateIntentResponse -> UpdateIntentResponse -> Bool
== :: UpdateIntentResponse -> UpdateIntentResponse -> Bool
$c== :: UpdateIntentResponse -> UpdateIntentResponse -> Bool
Prelude.Eq, ReadPrec [UpdateIntentResponse]
ReadPrec UpdateIntentResponse
Int -> ReadS UpdateIntentResponse
ReadS [UpdateIntentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateIntentResponse]
$creadListPrec :: ReadPrec [UpdateIntentResponse]
readPrec :: ReadPrec UpdateIntentResponse
$creadPrec :: ReadPrec UpdateIntentResponse
readList :: ReadS [UpdateIntentResponse]
$creadList :: ReadS [UpdateIntentResponse]
readsPrec :: Int -> ReadS UpdateIntentResponse
$creadsPrec :: Int -> ReadS UpdateIntentResponse
Prelude.Read, Int -> UpdateIntentResponse -> ShowS
[UpdateIntentResponse] -> ShowS
UpdateIntentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateIntentResponse] -> ShowS
$cshowList :: [UpdateIntentResponse] -> ShowS
show :: UpdateIntentResponse -> String
$cshow :: UpdateIntentResponse -> String
showsPrec :: Int -> UpdateIntentResponse -> ShowS
$cshowsPrec :: Int -> UpdateIntentResponse -> ShowS
Prelude.Show, forall x. Rep UpdateIntentResponse x -> UpdateIntentResponse
forall x. UpdateIntentResponse -> Rep UpdateIntentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateIntentResponse x -> UpdateIntentResponse
$cfrom :: forall x. UpdateIntentResponse -> Rep UpdateIntentResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateIntentResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'botId', 'updateIntentResponse_botId' - The identifier of the bot that contains the intent.
--
-- 'botVersion', 'updateIntentResponse_botVersion' - The version of the bot that contains the intent. Will always be @DRAFT@.
--
-- 'creationDateTime', 'updateIntentResponse_creationDateTime' - A timestamp of when the intent was created.
--
-- 'description', 'updateIntentResponse_description' - The updated description of the intent.
--
-- 'dialogCodeHook', 'updateIntentResponse_dialogCodeHook' - The updated Lambda function called during each turn of the conversation
-- with the user.
--
-- 'fulfillmentCodeHook', 'updateIntentResponse_fulfillmentCodeHook' - The updated Lambda function called when the intent is ready for
-- fulfillment.
--
-- 'initialResponseSetting', 'updateIntentResponse_initialResponseSetting' -
--
-- 'inputContexts', 'updateIntentResponse_inputContexts' - The updated list of contexts that must be active for the intent to be
-- considered by Amazon Lex.
--
-- 'intentClosingSetting', 'updateIntentResponse_intentClosingSetting' - The updated response that Amazon Lex sends the user when the intent is
-- closed.
--
-- 'intentConfirmationSetting', 'updateIntentResponse_intentConfirmationSetting' - The updated prompts that Amazon Lex sends to the user to confirm the
-- completion of an intent.
--
-- 'intentId', 'updateIntentResponse_intentId' - The identifier of the intent that was updated.
--
-- 'intentName', 'updateIntentResponse_intentName' - The updated name of the intent.
--
-- 'kendraConfiguration', 'updateIntentResponse_kendraConfiguration' - The updated configuration for connecting to an Amazon Kendra index with
-- the @AMAZON.KendraSearchIntent@ intent.
--
-- 'lastUpdatedDateTime', 'updateIntentResponse_lastUpdatedDateTime' - A timestamp of the last time that the intent was modified.
--
-- 'localeId', 'updateIntentResponse_localeId' - The updated language and locale of the intent.
--
-- 'outputContexts', 'updateIntentResponse_outputContexts' - The updated list of contexts that Amazon Lex activates when the intent
-- is fulfilled.
--
-- 'parentIntentSignature', 'updateIntentResponse_parentIntentSignature' - The updated built-in intent that is the parent of this intent.
--
-- 'sampleUtterances', 'updateIntentResponse_sampleUtterances' - The updated list of sample utterances for the intent.
--
-- 'slotPriorities', 'updateIntentResponse_slotPriorities' - The updated list of slots and their priorities that are elicited from
-- the user for the intent.
--
-- 'httpStatus', 'updateIntentResponse_httpStatus' - The response's http status code.
newUpdateIntentResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateIntentResponse
newUpdateIntentResponse :: Int -> UpdateIntentResponse
newUpdateIntentResponse Int
pHttpStatus_ =
  UpdateIntentResponse'
    { $sel:botId:UpdateIntentResponse' :: Maybe Text
botId = forall a. Maybe a
Prelude.Nothing,
      $sel:botVersion:UpdateIntentResponse' :: Maybe Text
botVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:creationDateTime:UpdateIntentResponse' :: Maybe POSIX
creationDateTime = forall a. Maybe a
Prelude.Nothing,
      $sel:description:UpdateIntentResponse' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:dialogCodeHook:UpdateIntentResponse' :: Maybe DialogCodeHookSettings
dialogCodeHook = forall a. Maybe a
Prelude.Nothing,
      $sel:fulfillmentCodeHook:UpdateIntentResponse' :: Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook = forall a. Maybe a
Prelude.Nothing,
      $sel:initialResponseSetting:UpdateIntentResponse' :: Maybe InitialResponseSetting
initialResponseSetting = forall a. Maybe a
Prelude.Nothing,
      $sel:inputContexts:UpdateIntentResponse' :: Maybe [InputContext]
inputContexts = forall a. Maybe a
Prelude.Nothing,
      $sel:intentClosingSetting:UpdateIntentResponse' :: Maybe IntentClosingSetting
intentClosingSetting = forall a. Maybe a
Prelude.Nothing,
      $sel:intentConfirmationSetting:UpdateIntentResponse' :: Maybe IntentConfirmationSetting
intentConfirmationSetting = forall a. Maybe a
Prelude.Nothing,
      $sel:intentId:UpdateIntentResponse' :: Maybe Text
intentId = forall a. Maybe a
Prelude.Nothing,
      $sel:intentName:UpdateIntentResponse' :: Maybe Text
intentName = forall a. Maybe a
Prelude.Nothing,
      $sel:kendraConfiguration:UpdateIntentResponse' :: Maybe KendraConfiguration
kendraConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedDateTime:UpdateIntentResponse' :: Maybe POSIX
lastUpdatedDateTime = forall a. Maybe a
Prelude.Nothing,
      $sel:localeId:UpdateIntentResponse' :: Maybe Text
localeId = forall a. Maybe a
Prelude.Nothing,
      $sel:outputContexts:UpdateIntentResponse' :: Maybe [OutputContext]
outputContexts = forall a. Maybe a
Prelude.Nothing,
      $sel:parentIntentSignature:UpdateIntentResponse' :: Maybe Text
parentIntentSignature = forall a. Maybe a
Prelude.Nothing,
      $sel:sampleUtterances:UpdateIntentResponse' :: Maybe [SampleUtterance]
sampleUtterances = forall a. Maybe a
Prelude.Nothing,
      $sel:slotPriorities:UpdateIntentResponse' :: Maybe [SlotPriority]
slotPriorities = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateIntentResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The identifier of the bot that contains the intent.
updateIntentResponse_botId :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe Prelude.Text)
updateIntentResponse_botId :: Lens' UpdateIntentResponse (Maybe Text)
updateIntentResponse_botId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe Text
botId :: Maybe Text
$sel:botId:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
botId} -> Maybe Text
botId) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe Text
a -> UpdateIntentResponse
s {$sel:botId:UpdateIntentResponse' :: Maybe Text
botId = Maybe Text
a} :: UpdateIntentResponse)

-- | The version of the bot that contains the intent. Will always be @DRAFT@.
updateIntentResponse_botVersion :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe Prelude.Text)
updateIntentResponse_botVersion :: Lens' UpdateIntentResponse (Maybe Text)
updateIntentResponse_botVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe Text
botVersion :: Maybe Text
$sel:botVersion:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
botVersion} -> Maybe Text
botVersion) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe Text
a -> UpdateIntentResponse
s {$sel:botVersion:UpdateIntentResponse' :: Maybe Text
botVersion = Maybe Text
a} :: UpdateIntentResponse)

-- | A timestamp of when the intent was created.
updateIntentResponse_creationDateTime :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe Prelude.UTCTime)
updateIntentResponse_creationDateTime :: Lens' UpdateIntentResponse (Maybe UTCTime)
updateIntentResponse_creationDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe POSIX
creationDateTime :: Maybe POSIX
$sel:creationDateTime:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe POSIX
creationDateTime} -> Maybe POSIX
creationDateTime) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe POSIX
a -> UpdateIntentResponse
s {$sel:creationDateTime:UpdateIntentResponse' :: Maybe POSIX
creationDateTime = Maybe POSIX
a} :: UpdateIntentResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The updated description of the intent.
updateIntentResponse_description :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe Prelude.Text)
updateIntentResponse_description :: Lens' UpdateIntentResponse (Maybe Text)
updateIntentResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe Text
description :: Maybe Text
$sel:description:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe Text
a -> UpdateIntentResponse
s {$sel:description:UpdateIntentResponse' :: Maybe Text
description = Maybe Text
a} :: UpdateIntentResponse)

-- | The updated Lambda function called during each turn of the conversation
-- with the user.
updateIntentResponse_dialogCodeHook :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe DialogCodeHookSettings)
updateIntentResponse_dialogCodeHook :: Lens' UpdateIntentResponse (Maybe DialogCodeHookSettings)
updateIntentResponse_dialogCodeHook = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe DialogCodeHookSettings
dialogCodeHook :: Maybe DialogCodeHookSettings
$sel:dialogCodeHook:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe DialogCodeHookSettings
dialogCodeHook} -> Maybe DialogCodeHookSettings
dialogCodeHook) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe DialogCodeHookSettings
a -> UpdateIntentResponse
s {$sel:dialogCodeHook:UpdateIntentResponse' :: Maybe DialogCodeHookSettings
dialogCodeHook = Maybe DialogCodeHookSettings
a} :: UpdateIntentResponse)

-- | The updated Lambda function called when the intent is ready for
-- fulfillment.
updateIntentResponse_fulfillmentCodeHook :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe FulfillmentCodeHookSettings)
updateIntentResponse_fulfillmentCodeHook :: Lens' UpdateIntentResponse (Maybe FulfillmentCodeHookSettings)
updateIntentResponse_fulfillmentCodeHook = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook :: Maybe FulfillmentCodeHookSettings
$sel:fulfillmentCodeHook:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook} -> Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe FulfillmentCodeHookSettings
a -> UpdateIntentResponse
s {$sel:fulfillmentCodeHook:UpdateIntentResponse' :: Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook = Maybe FulfillmentCodeHookSettings
a} :: UpdateIntentResponse)

updateIntentResponse_initialResponseSetting :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe InitialResponseSetting)
updateIntentResponse_initialResponseSetting :: Lens' UpdateIntentResponse (Maybe InitialResponseSetting)
updateIntentResponse_initialResponseSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe InitialResponseSetting
initialResponseSetting :: Maybe InitialResponseSetting
$sel:initialResponseSetting:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe InitialResponseSetting
initialResponseSetting} -> Maybe InitialResponseSetting
initialResponseSetting) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe InitialResponseSetting
a -> UpdateIntentResponse
s {$sel:initialResponseSetting:UpdateIntentResponse' :: Maybe InitialResponseSetting
initialResponseSetting = Maybe InitialResponseSetting
a} :: UpdateIntentResponse)

-- | The updated list of contexts that must be active for the intent to be
-- considered by Amazon Lex.
updateIntentResponse_inputContexts :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe [InputContext])
updateIntentResponse_inputContexts :: Lens' UpdateIntentResponse (Maybe [InputContext])
updateIntentResponse_inputContexts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe [InputContext]
inputContexts :: Maybe [InputContext]
$sel:inputContexts:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe [InputContext]
inputContexts} -> Maybe [InputContext]
inputContexts) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe [InputContext]
a -> UpdateIntentResponse
s {$sel:inputContexts:UpdateIntentResponse' :: Maybe [InputContext]
inputContexts = Maybe [InputContext]
a} :: UpdateIntentResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The updated response that Amazon Lex sends the user when the intent is
-- closed.
updateIntentResponse_intentClosingSetting :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe IntentClosingSetting)
updateIntentResponse_intentClosingSetting :: Lens' UpdateIntentResponse (Maybe IntentClosingSetting)
updateIntentResponse_intentClosingSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe IntentClosingSetting
intentClosingSetting :: Maybe IntentClosingSetting
$sel:intentClosingSetting:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe IntentClosingSetting
intentClosingSetting} -> Maybe IntentClosingSetting
intentClosingSetting) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe IntentClosingSetting
a -> UpdateIntentResponse
s {$sel:intentClosingSetting:UpdateIntentResponse' :: Maybe IntentClosingSetting
intentClosingSetting = Maybe IntentClosingSetting
a} :: UpdateIntentResponse)

-- | The updated prompts that Amazon Lex sends to the user to confirm the
-- completion of an intent.
updateIntentResponse_intentConfirmationSetting :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe IntentConfirmationSetting)
updateIntentResponse_intentConfirmationSetting :: Lens' UpdateIntentResponse (Maybe IntentConfirmationSetting)
updateIntentResponse_intentConfirmationSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe IntentConfirmationSetting
intentConfirmationSetting :: Maybe IntentConfirmationSetting
$sel:intentConfirmationSetting:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe IntentConfirmationSetting
intentConfirmationSetting} -> Maybe IntentConfirmationSetting
intentConfirmationSetting) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe IntentConfirmationSetting
a -> UpdateIntentResponse
s {$sel:intentConfirmationSetting:UpdateIntentResponse' :: Maybe IntentConfirmationSetting
intentConfirmationSetting = Maybe IntentConfirmationSetting
a} :: UpdateIntentResponse)

-- | The identifier of the intent that was updated.
updateIntentResponse_intentId :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe Prelude.Text)
updateIntentResponse_intentId :: Lens' UpdateIntentResponse (Maybe Text)
updateIntentResponse_intentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe Text
intentId :: Maybe Text
$sel:intentId:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
intentId} -> Maybe Text
intentId) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe Text
a -> UpdateIntentResponse
s {$sel:intentId:UpdateIntentResponse' :: Maybe Text
intentId = Maybe Text
a} :: UpdateIntentResponse)

-- | The updated name of the intent.
updateIntentResponse_intentName :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe Prelude.Text)
updateIntentResponse_intentName :: Lens' UpdateIntentResponse (Maybe Text)
updateIntentResponse_intentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe Text
intentName :: Maybe Text
$sel:intentName:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
intentName} -> Maybe Text
intentName) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe Text
a -> UpdateIntentResponse
s {$sel:intentName:UpdateIntentResponse' :: Maybe Text
intentName = Maybe Text
a} :: UpdateIntentResponse)

-- | The updated configuration for connecting to an Amazon Kendra index with
-- the @AMAZON.KendraSearchIntent@ intent.
updateIntentResponse_kendraConfiguration :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe KendraConfiguration)
updateIntentResponse_kendraConfiguration :: Lens' UpdateIntentResponse (Maybe KendraConfiguration)
updateIntentResponse_kendraConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe KendraConfiguration
kendraConfiguration :: Maybe KendraConfiguration
$sel:kendraConfiguration:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe KendraConfiguration
kendraConfiguration} -> Maybe KendraConfiguration
kendraConfiguration) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe KendraConfiguration
a -> UpdateIntentResponse
s {$sel:kendraConfiguration:UpdateIntentResponse' :: Maybe KendraConfiguration
kendraConfiguration = Maybe KendraConfiguration
a} :: UpdateIntentResponse)

-- | A timestamp of the last time that the intent was modified.
updateIntentResponse_lastUpdatedDateTime :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe Prelude.UTCTime)
updateIntentResponse_lastUpdatedDateTime :: Lens' UpdateIntentResponse (Maybe UTCTime)
updateIntentResponse_lastUpdatedDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe POSIX
lastUpdatedDateTime :: Maybe POSIX
$sel:lastUpdatedDateTime:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe POSIX
lastUpdatedDateTime} -> Maybe POSIX
lastUpdatedDateTime) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe POSIX
a -> UpdateIntentResponse
s {$sel:lastUpdatedDateTime:UpdateIntentResponse' :: Maybe POSIX
lastUpdatedDateTime = Maybe POSIX
a} :: UpdateIntentResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The updated language and locale of the intent.
updateIntentResponse_localeId :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe Prelude.Text)
updateIntentResponse_localeId :: Lens' UpdateIntentResponse (Maybe Text)
updateIntentResponse_localeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe Text
localeId :: Maybe Text
$sel:localeId:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
localeId} -> Maybe Text
localeId) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe Text
a -> UpdateIntentResponse
s {$sel:localeId:UpdateIntentResponse' :: Maybe Text
localeId = Maybe Text
a} :: UpdateIntentResponse)

-- | The updated list of contexts that Amazon Lex activates when the intent
-- is fulfilled.
updateIntentResponse_outputContexts :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe [OutputContext])
updateIntentResponse_outputContexts :: Lens' UpdateIntentResponse (Maybe [OutputContext])
updateIntentResponse_outputContexts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe [OutputContext]
outputContexts :: Maybe [OutputContext]
$sel:outputContexts:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe [OutputContext]
outputContexts} -> Maybe [OutputContext]
outputContexts) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe [OutputContext]
a -> UpdateIntentResponse
s {$sel:outputContexts:UpdateIntentResponse' :: Maybe [OutputContext]
outputContexts = Maybe [OutputContext]
a} :: UpdateIntentResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The updated built-in intent that is the parent of this intent.
updateIntentResponse_parentIntentSignature :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe Prelude.Text)
updateIntentResponse_parentIntentSignature :: Lens' UpdateIntentResponse (Maybe Text)
updateIntentResponse_parentIntentSignature = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe Text
parentIntentSignature :: Maybe Text
$sel:parentIntentSignature:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
parentIntentSignature} -> Maybe Text
parentIntentSignature) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe Text
a -> UpdateIntentResponse
s {$sel:parentIntentSignature:UpdateIntentResponse' :: Maybe Text
parentIntentSignature = Maybe Text
a} :: UpdateIntentResponse)

-- | The updated list of sample utterances for the intent.
updateIntentResponse_sampleUtterances :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe [SampleUtterance])
updateIntentResponse_sampleUtterances :: Lens' UpdateIntentResponse (Maybe [SampleUtterance])
updateIntentResponse_sampleUtterances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe [SampleUtterance]
sampleUtterances :: Maybe [SampleUtterance]
$sel:sampleUtterances:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe [SampleUtterance]
sampleUtterances} -> Maybe [SampleUtterance]
sampleUtterances) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe [SampleUtterance]
a -> UpdateIntentResponse
s {$sel:sampleUtterances:UpdateIntentResponse' :: Maybe [SampleUtterance]
sampleUtterances = Maybe [SampleUtterance]
a} :: UpdateIntentResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The updated list of slots and their priorities that are elicited from
-- the user for the intent.
updateIntentResponse_slotPriorities :: Lens.Lens' UpdateIntentResponse (Prelude.Maybe [SlotPriority])
updateIntentResponse_slotPriorities :: Lens' UpdateIntentResponse (Maybe [SlotPriority])
updateIntentResponse_slotPriorities = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Maybe [SlotPriority]
slotPriorities :: Maybe [SlotPriority]
$sel:slotPriorities:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe [SlotPriority]
slotPriorities} -> Maybe [SlotPriority]
slotPriorities) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Maybe [SlotPriority]
a -> UpdateIntentResponse
s {$sel:slotPriorities:UpdateIntentResponse' :: Maybe [SlotPriority]
slotPriorities = Maybe [SlotPriority]
a} :: UpdateIntentResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
updateIntentResponse_httpStatus :: Lens.Lens' UpdateIntentResponse Prelude.Int
updateIntentResponse_httpStatus :: Lens' UpdateIntentResponse Int
updateIntentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateIntentResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateIntentResponse' :: UpdateIntentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateIntentResponse
s@UpdateIntentResponse' {} Int
a -> UpdateIntentResponse
s {$sel:httpStatus:UpdateIntentResponse' :: Int
httpStatus = Int
a} :: UpdateIntentResponse)

instance Prelude.NFData UpdateIntentResponse where
  rnf :: UpdateIntentResponse -> ()
rnf UpdateIntentResponse' {Int
Maybe [InputContext]
Maybe [OutputContext]
Maybe [SampleUtterance]
Maybe [SlotPriority]
Maybe Text
Maybe POSIX
Maybe DialogCodeHookSettings
Maybe KendraConfiguration
Maybe FulfillmentCodeHookSettings
Maybe IntentClosingSetting
Maybe InitialResponseSetting
Maybe IntentConfirmationSetting
httpStatus :: Int
slotPriorities :: Maybe [SlotPriority]
sampleUtterances :: Maybe [SampleUtterance]
parentIntentSignature :: Maybe Text
outputContexts :: Maybe [OutputContext]
localeId :: Maybe Text
lastUpdatedDateTime :: Maybe POSIX
kendraConfiguration :: Maybe KendraConfiguration
intentName :: Maybe Text
intentId :: Maybe Text
intentConfirmationSetting :: Maybe IntentConfirmationSetting
intentClosingSetting :: Maybe IntentClosingSetting
inputContexts :: Maybe [InputContext]
initialResponseSetting :: Maybe InitialResponseSetting
fulfillmentCodeHook :: Maybe FulfillmentCodeHookSettings
dialogCodeHook :: Maybe DialogCodeHookSettings
description :: Maybe Text
creationDateTime :: Maybe POSIX
botVersion :: Maybe Text
botId :: Maybe Text
$sel:httpStatus:UpdateIntentResponse' :: UpdateIntentResponse -> Int
$sel:slotPriorities:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe [SlotPriority]
$sel:sampleUtterances:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe [SampleUtterance]
$sel:parentIntentSignature:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
$sel:outputContexts:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe [OutputContext]
$sel:localeId:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
$sel:lastUpdatedDateTime:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe POSIX
$sel:kendraConfiguration:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe KendraConfiguration
$sel:intentName:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
$sel:intentId:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
$sel:intentConfirmationSetting:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe IntentConfirmationSetting
$sel:intentClosingSetting:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe IntentClosingSetting
$sel:inputContexts:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe [InputContext]
$sel:initialResponseSetting:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe InitialResponseSetting
$sel:fulfillmentCodeHook:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe FulfillmentCodeHookSettings
$sel:dialogCodeHook:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe DialogCodeHookSettings
$sel:description:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
$sel:creationDateTime:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe POSIX
$sel:botVersion:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
$sel:botId:UpdateIntentResponse' :: UpdateIntentResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
botId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
botVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationDateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DialogCodeHookSettings
dialogCodeHook
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InitialResponseSetting
initialResponseSetting
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [InputContext]
inputContexts
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IntentClosingSetting
intentClosingSetting
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IntentConfirmationSetting
intentConfirmationSetting
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
intentId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
intentName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe KendraConfiguration
kendraConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedDateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
localeId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [OutputContext]
outputContexts
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
parentIntentSignature
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SampleUtterance]
sampleUtterances
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SlotPriority]
slotPriorities
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus