{-# 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.DescribeIntent
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns metadata about an intent.
module Amazonka.LexV2Models.DescribeIntent
  ( -- * Creating a Request
    DescribeIntent (..),
    newDescribeIntent,

    -- * Request Lenses
    describeIntent_intentId,
    describeIntent_botId,
    describeIntent_botVersion,
    describeIntent_localeId,

    -- * Destructuring the Response
    DescribeIntentResponse (..),
    newDescribeIntentResponse,

    -- * Response Lenses
    describeIntentResponse_botId,
    describeIntentResponse_botVersion,
    describeIntentResponse_creationDateTime,
    describeIntentResponse_description,
    describeIntentResponse_dialogCodeHook,
    describeIntentResponse_fulfillmentCodeHook,
    describeIntentResponse_initialResponseSetting,
    describeIntentResponse_inputContexts,
    describeIntentResponse_intentClosingSetting,
    describeIntentResponse_intentConfirmationSetting,
    describeIntentResponse_intentId,
    describeIntentResponse_intentName,
    describeIntentResponse_kendraConfiguration,
    describeIntentResponse_lastUpdatedDateTime,
    describeIntentResponse_localeId,
    describeIntentResponse_outputContexts,
    describeIntentResponse_parentIntentSignature,
    describeIntentResponse_sampleUtterances,
    describeIntentResponse_slotPriorities,
    describeIntentResponse_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:/ 'newDescribeIntent' smart constructor.
data DescribeIntent = DescribeIntent'
  { -- | The identifier of the intent to describe.
    DescribeIntent -> Text
intentId :: Prelude.Text,
    -- | The identifier of the bot associated with the intent.
    DescribeIntent -> Text
botId :: Prelude.Text,
    -- | The version of the bot associated with the intent.
    DescribeIntent -> Text
botVersion :: Prelude.Text,
    -- | The identifier of the language and locale of the intent to describe. 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>.
    DescribeIntent -> Text
localeId :: Prelude.Text
  }
  deriving (DescribeIntent -> DescribeIntent -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeIntent -> DescribeIntent -> Bool
$c/= :: DescribeIntent -> DescribeIntent -> Bool
== :: DescribeIntent -> DescribeIntent -> Bool
$c== :: DescribeIntent -> DescribeIntent -> Bool
Prelude.Eq, ReadPrec [DescribeIntent]
ReadPrec DescribeIntent
Int -> ReadS DescribeIntent
ReadS [DescribeIntent]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeIntent]
$creadListPrec :: ReadPrec [DescribeIntent]
readPrec :: ReadPrec DescribeIntent
$creadPrec :: ReadPrec DescribeIntent
readList :: ReadS [DescribeIntent]
$creadList :: ReadS [DescribeIntent]
readsPrec :: Int -> ReadS DescribeIntent
$creadsPrec :: Int -> ReadS DescribeIntent
Prelude.Read, Int -> DescribeIntent -> ShowS
[DescribeIntent] -> ShowS
DescribeIntent -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeIntent] -> ShowS
$cshowList :: [DescribeIntent] -> ShowS
show :: DescribeIntent -> String
$cshow :: DescribeIntent -> String
showsPrec :: Int -> DescribeIntent -> ShowS
$cshowsPrec :: Int -> DescribeIntent -> ShowS
Prelude.Show, forall x. Rep DescribeIntent x -> DescribeIntent
forall x. DescribeIntent -> Rep DescribeIntent x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeIntent x -> DescribeIntent
$cfrom :: forall x. DescribeIntent -> Rep DescribeIntent x
Prelude.Generic)

-- |
-- Create a value of 'DescribeIntent' 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:
--
-- 'intentId', 'describeIntent_intentId' - The identifier of the intent to describe.
--
-- 'botId', 'describeIntent_botId' - The identifier of the bot associated with the intent.
--
-- 'botVersion', 'describeIntent_botVersion' - The version of the bot associated with the intent.
--
-- 'localeId', 'describeIntent_localeId' - The identifier of the language and locale of the intent to describe. 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>.
newDescribeIntent ::
  -- | 'intentId'
  Prelude.Text ->
  -- | 'botId'
  Prelude.Text ->
  -- | 'botVersion'
  Prelude.Text ->
  -- | 'localeId'
  Prelude.Text ->
  DescribeIntent
newDescribeIntent :: Text -> Text -> Text -> Text -> DescribeIntent
newDescribeIntent
  Text
pIntentId_
  Text
pBotId_
  Text
pBotVersion_
  Text
pLocaleId_ =
    DescribeIntent'
      { $sel:intentId:DescribeIntent' :: Text
intentId = Text
pIntentId_,
        $sel:botId:DescribeIntent' :: Text
botId = Text
pBotId_,
        $sel:botVersion:DescribeIntent' :: Text
botVersion = Text
pBotVersion_,
        $sel:localeId:DescribeIntent' :: Text
localeId = Text
pLocaleId_
      }

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

-- | The identifier of the bot associated with the intent.
describeIntent_botId :: Lens.Lens' DescribeIntent Prelude.Text
describeIntent_botId :: Lens' DescribeIntent Text
describeIntent_botId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntent' {Text
botId :: Text
$sel:botId:DescribeIntent' :: DescribeIntent -> Text
botId} -> Text
botId) (\s :: DescribeIntent
s@DescribeIntent' {} Text
a -> DescribeIntent
s {$sel:botId:DescribeIntent' :: Text
botId = Text
a} :: DescribeIntent)

-- | The version of the bot associated with the intent.
describeIntent_botVersion :: Lens.Lens' DescribeIntent Prelude.Text
describeIntent_botVersion :: Lens' DescribeIntent Text
describeIntent_botVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntent' {Text
botVersion :: Text
$sel:botVersion:DescribeIntent' :: DescribeIntent -> Text
botVersion} -> Text
botVersion) (\s :: DescribeIntent
s@DescribeIntent' {} Text
a -> DescribeIntent
s {$sel:botVersion:DescribeIntent' :: Text
botVersion = Text
a} :: DescribeIntent)

-- | The identifier of the language and locale of the intent to describe. 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>.
describeIntent_localeId :: Lens.Lens' DescribeIntent Prelude.Text
describeIntent_localeId :: Lens' DescribeIntent Text
describeIntent_localeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntent' {Text
localeId :: Text
$sel:localeId:DescribeIntent' :: DescribeIntent -> Text
localeId} -> Text
localeId) (\s :: DescribeIntent
s@DescribeIntent' {} Text
a -> DescribeIntent
s {$sel:localeId:DescribeIntent' :: Text
localeId = Text
a} :: DescribeIntent)

instance Core.AWSRequest DescribeIntent where
  type
    AWSResponse DescribeIntent =
      DescribeIntentResponse
  request :: (Service -> Service) -> DescribeIntent -> Request DescribeIntent
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeIntent
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeIntent)))
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
-> DescribeIntentResponse
DescribeIntentResponse'
            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 DescribeIntent where
  hashWithSalt :: Int -> DescribeIntent -> Int
hashWithSalt Int
_salt DescribeIntent' {Text
localeId :: Text
botVersion :: Text
botId :: Text
intentId :: Text
$sel:localeId:DescribeIntent' :: DescribeIntent -> Text
$sel:botVersion:DescribeIntent' :: DescribeIntent -> Text
$sel:botId:DescribeIntent' :: DescribeIntent -> Text
$sel:intentId:DescribeIntent' :: DescribeIntent -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
intentId
      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 DescribeIntent where
  rnf :: DescribeIntent -> ()
rnf DescribeIntent' {Text
localeId :: Text
botVersion :: Text
botId :: Text
intentId :: Text
$sel:localeId:DescribeIntent' :: DescribeIntent -> Text
$sel:botVersion:DescribeIntent' :: DescribeIntent -> Text
$sel:botId:DescribeIntent' :: DescribeIntent -> Text
$sel:intentId:DescribeIntent' :: DescribeIntent -> Text
..} =
    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
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 DescribeIntent where
  toHeaders :: DescribeIntent -> 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.ToPath DescribeIntent where
  toPath :: DescribeIntent -> ByteString
toPath DescribeIntent' {Text
localeId :: Text
botVersion :: Text
botId :: Text
intentId :: Text
$sel:localeId:DescribeIntent' :: DescribeIntent -> Text
$sel:botVersion:DescribeIntent' :: DescribeIntent -> Text
$sel:botId:DescribeIntent' :: DescribeIntent -> Text
$sel:intentId:DescribeIntent' :: DescribeIntent -> 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 DescribeIntent where
  toQuery :: DescribeIntent -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeIntentResponse' smart constructor.
data DescribeIntentResponse = DescribeIntentResponse'
  { -- | The identifier of the bot associated with the intent.
    DescribeIntentResponse -> Maybe Text
botId :: Prelude.Maybe Prelude.Text,
    -- | The version of the bot associated with the intent.
    DescribeIntentResponse -> Maybe Text
botVersion :: Prelude.Maybe Prelude.Text,
    -- | A timestamp of the date and time that the intent was created.
    DescribeIntentResponse -> Maybe POSIX
creationDateTime :: Prelude.Maybe Data.POSIX,
    -- | The description of the intent.
    DescribeIntentResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The Lambda function called during each turn of a conversation with the
    -- intent.
    DescribeIntentResponse -> Maybe DialogCodeHookSettings
dialogCodeHook :: Prelude.Maybe DialogCodeHookSettings,
    -- | The Lambda function called when the intent is complete and ready for
    -- fulfillment.
    DescribeIntentResponse -> Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook :: Prelude.Maybe FulfillmentCodeHookSettings,
    DescribeIntentResponse -> Maybe InitialResponseSetting
initialResponseSetting :: Prelude.Maybe InitialResponseSetting,
    -- | A list of contexts that must be active for the intent to be considered
    -- for sending to the user.
    DescribeIntentResponse -> Maybe [InputContext]
inputContexts :: Prelude.Maybe [InputContext],
    -- | The response that Amazon Lex sends to when the intent is closed.
    DescribeIntentResponse -> Maybe IntentClosingSetting
intentClosingSetting :: Prelude.Maybe IntentClosingSetting,
    -- | Prompts that Amazon Lex sends to the user to confirm completion of an
    -- intent.
    DescribeIntentResponse -> Maybe IntentConfirmationSetting
intentConfirmationSetting :: Prelude.Maybe IntentConfirmationSetting,
    -- | The unique identifier assigned to the intent when it was created.
    DescribeIntentResponse -> Maybe Text
intentId :: Prelude.Maybe Prelude.Text,
    -- | The name specified for the intent.
    DescribeIntentResponse -> Maybe Text
intentName :: Prelude.Maybe Prelude.Text,
    -- | Configuration information required to use the
    -- @AMAZON.KendraSearchIntent@ intent.
    DescribeIntentResponse -> Maybe KendraConfiguration
kendraConfiguration :: Prelude.Maybe KendraConfiguration,
    -- | A timestamp of the date and time that the intent was last updated.
    DescribeIntentResponse -> Maybe POSIX
lastUpdatedDateTime :: Prelude.Maybe Data.POSIX,
    -- | The language and locale specified for the intent.
    DescribeIntentResponse -> Maybe Text
localeId :: Prelude.Maybe Prelude.Text,
    -- | A list of contexts that are activated when the intent is fulfilled.
    DescribeIntentResponse -> Maybe [OutputContext]
outputContexts :: Prelude.Maybe [OutputContext],
    -- | The identifier of the built-in intent that this intent is derived from,
    -- if any.
    DescribeIntentResponse -> Maybe Text
parentIntentSignature :: Prelude.Maybe Prelude.Text,
    -- | User utterances that trigger this intent.
    DescribeIntentResponse -> Maybe [SampleUtterance]
sampleUtterances :: Prelude.Maybe [SampleUtterance],
    -- | The list that determines the priority that slots should be elicited from
    -- the user.
    DescribeIntentResponse -> Maybe [SlotPriority]
slotPriorities :: Prelude.Maybe [SlotPriority],
    -- | The response's http status code.
    DescribeIntentResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeIntentResponse -> DescribeIntentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeIntentResponse -> DescribeIntentResponse -> Bool
$c/= :: DescribeIntentResponse -> DescribeIntentResponse -> Bool
== :: DescribeIntentResponse -> DescribeIntentResponse -> Bool
$c== :: DescribeIntentResponse -> DescribeIntentResponse -> Bool
Prelude.Eq, ReadPrec [DescribeIntentResponse]
ReadPrec DescribeIntentResponse
Int -> ReadS DescribeIntentResponse
ReadS [DescribeIntentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeIntentResponse]
$creadListPrec :: ReadPrec [DescribeIntentResponse]
readPrec :: ReadPrec DescribeIntentResponse
$creadPrec :: ReadPrec DescribeIntentResponse
readList :: ReadS [DescribeIntentResponse]
$creadList :: ReadS [DescribeIntentResponse]
readsPrec :: Int -> ReadS DescribeIntentResponse
$creadsPrec :: Int -> ReadS DescribeIntentResponse
Prelude.Read, Int -> DescribeIntentResponse -> ShowS
[DescribeIntentResponse] -> ShowS
DescribeIntentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeIntentResponse] -> ShowS
$cshowList :: [DescribeIntentResponse] -> ShowS
show :: DescribeIntentResponse -> String
$cshow :: DescribeIntentResponse -> String
showsPrec :: Int -> DescribeIntentResponse -> ShowS
$cshowsPrec :: Int -> DescribeIntentResponse -> ShowS
Prelude.Show, forall x. Rep DescribeIntentResponse x -> DescribeIntentResponse
forall x. DescribeIntentResponse -> Rep DescribeIntentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeIntentResponse x -> DescribeIntentResponse
$cfrom :: forall x. DescribeIntentResponse -> Rep DescribeIntentResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeIntentResponse' 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', 'describeIntentResponse_botId' - The identifier of the bot associated with the intent.
--
-- 'botVersion', 'describeIntentResponse_botVersion' - The version of the bot associated with the intent.
--
-- 'creationDateTime', 'describeIntentResponse_creationDateTime' - A timestamp of the date and time that the intent was created.
--
-- 'description', 'describeIntentResponse_description' - The description of the intent.
--
-- 'dialogCodeHook', 'describeIntentResponse_dialogCodeHook' - The Lambda function called during each turn of a conversation with the
-- intent.
--
-- 'fulfillmentCodeHook', 'describeIntentResponse_fulfillmentCodeHook' - The Lambda function called when the intent is complete and ready for
-- fulfillment.
--
-- 'initialResponseSetting', 'describeIntentResponse_initialResponseSetting' -
--
-- 'inputContexts', 'describeIntentResponse_inputContexts' - A list of contexts that must be active for the intent to be considered
-- for sending to the user.
--
-- 'intentClosingSetting', 'describeIntentResponse_intentClosingSetting' - The response that Amazon Lex sends to when the intent is closed.
--
-- 'intentConfirmationSetting', 'describeIntentResponse_intentConfirmationSetting' - Prompts that Amazon Lex sends to the user to confirm completion of an
-- intent.
--
-- 'intentId', 'describeIntentResponse_intentId' - The unique identifier assigned to the intent when it was created.
--
-- 'intentName', 'describeIntentResponse_intentName' - The name specified for the intent.
--
-- 'kendraConfiguration', 'describeIntentResponse_kendraConfiguration' - Configuration information required to use the
-- @AMAZON.KendraSearchIntent@ intent.
--
-- 'lastUpdatedDateTime', 'describeIntentResponse_lastUpdatedDateTime' - A timestamp of the date and time that the intent was last updated.
--
-- 'localeId', 'describeIntentResponse_localeId' - The language and locale specified for the intent.
--
-- 'outputContexts', 'describeIntentResponse_outputContexts' - A list of contexts that are activated when the intent is fulfilled.
--
-- 'parentIntentSignature', 'describeIntentResponse_parentIntentSignature' - The identifier of the built-in intent that this intent is derived from,
-- if any.
--
-- 'sampleUtterances', 'describeIntentResponse_sampleUtterances' - User utterances that trigger this intent.
--
-- 'slotPriorities', 'describeIntentResponse_slotPriorities' - The list that determines the priority that slots should be elicited from
-- the user.
--
-- 'httpStatus', 'describeIntentResponse_httpStatus' - The response's http status code.
newDescribeIntentResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeIntentResponse
newDescribeIntentResponse :: Int -> DescribeIntentResponse
newDescribeIntentResponse Int
pHttpStatus_ =
  DescribeIntentResponse'
    { $sel:botId:DescribeIntentResponse' :: Maybe Text
botId = forall a. Maybe a
Prelude.Nothing,
      $sel:botVersion:DescribeIntentResponse' :: Maybe Text
botVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:creationDateTime:DescribeIntentResponse' :: Maybe POSIX
creationDateTime = forall a. Maybe a
Prelude.Nothing,
      $sel:description:DescribeIntentResponse' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:dialogCodeHook:DescribeIntentResponse' :: Maybe DialogCodeHookSettings
dialogCodeHook = forall a. Maybe a
Prelude.Nothing,
      $sel:fulfillmentCodeHook:DescribeIntentResponse' :: Maybe FulfillmentCodeHookSettings
fulfillmentCodeHook = forall a. Maybe a
Prelude.Nothing,
      $sel:initialResponseSetting:DescribeIntentResponse' :: Maybe InitialResponseSetting
initialResponseSetting = forall a. Maybe a
Prelude.Nothing,
      $sel:inputContexts:DescribeIntentResponse' :: Maybe [InputContext]
inputContexts = forall a. Maybe a
Prelude.Nothing,
      $sel:intentClosingSetting:DescribeIntentResponse' :: Maybe IntentClosingSetting
intentClosingSetting = forall a. Maybe a
Prelude.Nothing,
      $sel:intentConfirmationSetting:DescribeIntentResponse' :: Maybe IntentConfirmationSetting
intentConfirmationSetting = forall a. Maybe a
Prelude.Nothing,
      $sel:intentId:DescribeIntentResponse' :: Maybe Text
intentId = forall a. Maybe a
Prelude.Nothing,
      $sel:intentName:DescribeIntentResponse' :: Maybe Text
intentName = forall a. Maybe a
Prelude.Nothing,
      $sel:kendraConfiguration:DescribeIntentResponse' :: Maybe KendraConfiguration
kendraConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedDateTime:DescribeIntentResponse' :: Maybe POSIX
lastUpdatedDateTime = forall a. Maybe a
Prelude.Nothing,
      $sel:localeId:DescribeIntentResponse' :: Maybe Text
localeId = forall a. Maybe a
Prelude.Nothing,
      $sel:outputContexts:DescribeIntentResponse' :: Maybe [OutputContext]
outputContexts = forall a. Maybe a
Prelude.Nothing,
      $sel:parentIntentSignature:DescribeIntentResponse' :: Maybe Text
parentIntentSignature = forall a. Maybe a
Prelude.Nothing,
      $sel:sampleUtterances:DescribeIntentResponse' :: Maybe [SampleUtterance]
sampleUtterances = forall a. Maybe a
Prelude.Nothing,
      $sel:slotPriorities:DescribeIntentResponse' :: Maybe [SlotPriority]
slotPriorities = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeIntentResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

-- | The version of the bot associated with the intent.
describeIntentResponse_botVersion :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe Prelude.Text)
describeIntentResponse_botVersion :: Lens' DescribeIntentResponse (Maybe Text)
describeIntentResponse_botVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe Text
botVersion :: Maybe Text
$sel:botVersion:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
botVersion} -> Maybe Text
botVersion) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe Text
a -> DescribeIntentResponse
s {$sel:botVersion:DescribeIntentResponse' :: Maybe Text
botVersion = Maybe Text
a} :: DescribeIntentResponse)

-- | A timestamp of the date and time that the intent was created.
describeIntentResponse_creationDateTime :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe Prelude.UTCTime)
describeIntentResponse_creationDateTime :: Lens' DescribeIntentResponse (Maybe UTCTime)
describeIntentResponse_creationDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe POSIX
creationDateTime :: Maybe POSIX
$sel:creationDateTime:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe POSIX
creationDateTime} -> Maybe POSIX
creationDateTime) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe POSIX
a -> DescribeIntentResponse
s {$sel:creationDateTime:DescribeIntentResponse' :: Maybe POSIX
creationDateTime = Maybe POSIX
a} :: DescribeIntentResponse) 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 description of the intent.
describeIntentResponse_description :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe Prelude.Text)
describeIntentResponse_description :: Lens' DescribeIntentResponse (Maybe Text)
describeIntentResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe Text
description :: Maybe Text
$sel:description:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe Text
a -> DescribeIntentResponse
s {$sel:description:DescribeIntentResponse' :: Maybe Text
description = Maybe Text
a} :: DescribeIntentResponse)

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

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

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

-- | A list of contexts that must be active for the intent to be considered
-- for sending to the user.
describeIntentResponse_inputContexts :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe [InputContext])
describeIntentResponse_inputContexts :: Lens' DescribeIntentResponse (Maybe [InputContext])
describeIntentResponse_inputContexts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe [InputContext]
inputContexts :: Maybe [InputContext]
$sel:inputContexts:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe [InputContext]
inputContexts} -> Maybe [InputContext]
inputContexts) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe [InputContext]
a -> DescribeIntentResponse
s {$sel:inputContexts:DescribeIntentResponse' :: Maybe [InputContext]
inputContexts = Maybe [InputContext]
a} :: DescribeIntentResponse) 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 that Amazon Lex sends to when the intent is closed.
describeIntentResponse_intentClosingSetting :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe IntentClosingSetting)
describeIntentResponse_intentClosingSetting :: Lens' DescribeIntentResponse (Maybe IntentClosingSetting)
describeIntentResponse_intentClosingSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe IntentClosingSetting
intentClosingSetting :: Maybe IntentClosingSetting
$sel:intentClosingSetting:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe IntentClosingSetting
intentClosingSetting} -> Maybe IntentClosingSetting
intentClosingSetting) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe IntentClosingSetting
a -> DescribeIntentResponse
s {$sel:intentClosingSetting:DescribeIntentResponse' :: Maybe IntentClosingSetting
intentClosingSetting = Maybe IntentClosingSetting
a} :: DescribeIntentResponse)

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

-- | The unique identifier assigned to the intent when it was created.
describeIntentResponse_intentId :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe Prelude.Text)
describeIntentResponse_intentId :: Lens' DescribeIntentResponse (Maybe Text)
describeIntentResponse_intentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe Text
intentId :: Maybe Text
$sel:intentId:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
intentId} -> Maybe Text
intentId) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe Text
a -> DescribeIntentResponse
s {$sel:intentId:DescribeIntentResponse' :: Maybe Text
intentId = Maybe Text
a} :: DescribeIntentResponse)

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

-- | Configuration information required to use the
-- @AMAZON.KendraSearchIntent@ intent.
describeIntentResponse_kendraConfiguration :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe KendraConfiguration)
describeIntentResponse_kendraConfiguration :: Lens' DescribeIntentResponse (Maybe KendraConfiguration)
describeIntentResponse_kendraConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe KendraConfiguration
kendraConfiguration :: Maybe KendraConfiguration
$sel:kendraConfiguration:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe KendraConfiguration
kendraConfiguration} -> Maybe KendraConfiguration
kendraConfiguration) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe KendraConfiguration
a -> DescribeIntentResponse
s {$sel:kendraConfiguration:DescribeIntentResponse' :: Maybe KendraConfiguration
kendraConfiguration = Maybe KendraConfiguration
a} :: DescribeIntentResponse)

-- | A timestamp of the date and time that the intent was last updated.
describeIntentResponse_lastUpdatedDateTime :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe Prelude.UTCTime)
describeIntentResponse_lastUpdatedDateTime :: Lens' DescribeIntentResponse (Maybe UTCTime)
describeIntentResponse_lastUpdatedDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe POSIX
lastUpdatedDateTime :: Maybe POSIX
$sel:lastUpdatedDateTime:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe POSIX
lastUpdatedDateTime} -> Maybe POSIX
lastUpdatedDateTime) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe POSIX
a -> DescribeIntentResponse
s {$sel:lastUpdatedDateTime:DescribeIntentResponse' :: Maybe POSIX
lastUpdatedDateTime = Maybe POSIX
a} :: DescribeIntentResponse) 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 language and locale specified for the intent.
describeIntentResponse_localeId :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe Prelude.Text)
describeIntentResponse_localeId :: Lens' DescribeIntentResponse (Maybe Text)
describeIntentResponse_localeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe Text
localeId :: Maybe Text
$sel:localeId:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
localeId} -> Maybe Text
localeId) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe Text
a -> DescribeIntentResponse
s {$sel:localeId:DescribeIntentResponse' :: Maybe Text
localeId = Maybe Text
a} :: DescribeIntentResponse)

-- | A list of contexts that are activated when the intent is fulfilled.
describeIntentResponse_outputContexts :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe [OutputContext])
describeIntentResponse_outputContexts :: Lens' DescribeIntentResponse (Maybe [OutputContext])
describeIntentResponse_outputContexts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe [OutputContext]
outputContexts :: Maybe [OutputContext]
$sel:outputContexts:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe [OutputContext]
outputContexts} -> Maybe [OutputContext]
outputContexts) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe [OutputContext]
a -> DescribeIntentResponse
s {$sel:outputContexts:DescribeIntentResponse' :: Maybe [OutputContext]
outputContexts = Maybe [OutputContext]
a} :: DescribeIntentResponse) 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 identifier of the built-in intent that this intent is derived from,
-- if any.
describeIntentResponse_parentIntentSignature :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe Prelude.Text)
describeIntentResponse_parentIntentSignature :: Lens' DescribeIntentResponse (Maybe Text)
describeIntentResponse_parentIntentSignature = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe Text
parentIntentSignature :: Maybe Text
$sel:parentIntentSignature:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
parentIntentSignature} -> Maybe Text
parentIntentSignature) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe Text
a -> DescribeIntentResponse
s {$sel:parentIntentSignature:DescribeIntentResponse' :: Maybe Text
parentIntentSignature = Maybe Text
a} :: DescribeIntentResponse)

-- | User utterances that trigger this intent.
describeIntentResponse_sampleUtterances :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe [SampleUtterance])
describeIntentResponse_sampleUtterances :: Lens' DescribeIntentResponse (Maybe [SampleUtterance])
describeIntentResponse_sampleUtterances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe [SampleUtterance]
sampleUtterances :: Maybe [SampleUtterance]
$sel:sampleUtterances:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe [SampleUtterance]
sampleUtterances} -> Maybe [SampleUtterance]
sampleUtterances) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe [SampleUtterance]
a -> DescribeIntentResponse
s {$sel:sampleUtterances:DescribeIntentResponse' :: Maybe [SampleUtterance]
sampleUtterances = Maybe [SampleUtterance]
a} :: DescribeIntentResponse) 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 list that determines the priority that slots should be elicited from
-- the user.
describeIntentResponse_slotPriorities :: Lens.Lens' DescribeIntentResponse (Prelude.Maybe [SlotPriority])
describeIntentResponse_slotPriorities :: Lens' DescribeIntentResponse (Maybe [SlotPriority])
describeIntentResponse_slotPriorities = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Maybe [SlotPriority]
slotPriorities :: Maybe [SlotPriority]
$sel:slotPriorities:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe [SlotPriority]
slotPriorities} -> Maybe [SlotPriority]
slotPriorities) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Maybe [SlotPriority]
a -> DescribeIntentResponse
s {$sel:slotPriorities:DescribeIntentResponse' :: Maybe [SlotPriority]
slotPriorities = Maybe [SlotPriority]
a} :: DescribeIntentResponse) 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.
describeIntentResponse_httpStatus :: Lens.Lens' DescribeIntentResponse Prelude.Int
describeIntentResponse_httpStatus :: Lens' DescribeIntentResponse Int
describeIntentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIntentResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeIntentResponse' :: DescribeIntentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeIntentResponse
s@DescribeIntentResponse' {} Int
a -> DescribeIntentResponse
s {$sel:httpStatus:DescribeIntentResponse' :: Int
httpStatus = Int
a} :: DescribeIntentResponse)

instance Prelude.NFData DescribeIntentResponse where
  rnf :: DescribeIntentResponse -> ()
rnf DescribeIntentResponse' {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:DescribeIntentResponse' :: DescribeIntentResponse -> Int
$sel:slotPriorities:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe [SlotPriority]
$sel:sampleUtterances:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe [SampleUtterance]
$sel:parentIntentSignature:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
$sel:outputContexts:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe [OutputContext]
$sel:localeId:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
$sel:lastUpdatedDateTime:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe POSIX
$sel:kendraConfiguration:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe KendraConfiguration
$sel:intentName:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
$sel:intentId:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
$sel:intentConfirmationSetting:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe IntentConfirmationSetting
$sel:intentClosingSetting:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe IntentClosingSetting
$sel:inputContexts:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe [InputContext]
$sel:initialResponseSetting:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe InitialResponseSetting
$sel:fulfillmentCodeHook:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe FulfillmentCodeHookSettings
$sel:dialogCodeHook:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe DialogCodeHookSettings
$sel:description:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
$sel:creationDateTime:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe POSIX
$sel:botVersion:DescribeIntentResponse' :: DescribeIntentResponse -> Maybe Text
$sel:botId:DescribeIntentResponse' :: DescribeIntentResponse -> 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