packages feed

amazonka-lex-runtime 1.6.1 → 2.0

raw patch · 48 files changed

+6314/−1468 lines, 48 filesdep +case-insensitivedep ~amazonka-coredep ~amazonka-testdep ~basesetup-changedPVP ok

version bump matches the API change (PVP)

Dependencies added: case-insensitive

Dependency ranges changed: amazonka-core, amazonka-test, base

API changes (from Hackage documentation)

- Network.AWS.LexRuntime: ApplicationVnd_Amazonaws_Card_Generic :: ContentType
- Network.AWS.LexRuntime: Composite :: MessageFormatType
- Network.AWS.LexRuntime: ConfirmIntent :: DialogState
- Network.AWS.LexRuntime: CustomPayload :: MessageFormatType
- Network.AWS.LexRuntime: ElicitIntent :: DialogState
- Network.AWS.LexRuntime: ElicitSlot :: DialogState
- Network.AWS.LexRuntime: Failed :: DialogState
- Network.AWS.LexRuntime: Fulfilled :: DialogState
- Network.AWS.LexRuntime: PlainText :: MessageFormatType
- Network.AWS.LexRuntime: ReadyForFulfillment :: DialogState
- Network.AWS.LexRuntime: Ssml :: MessageFormatType
- Network.AWS.LexRuntime: _BadGatewayException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _BadRequestException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _ConflictException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _DependencyFailedException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _InternalFailureException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _LoopDetectedException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _NotAcceptableException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _RequestTimeoutException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: _UnsupportedMediaTypeException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime: bText :: Lens' Button Text
- Network.AWS.LexRuntime: bValue :: Lens' Button Text
- Network.AWS.LexRuntime: button :: Text -> Text -> Button
- Network.AWS.LexRuntime: data Button
- Network.AWS.LexRuntime: data ContentType
- Network.AWS.LexRuntime: data DialogState
- Network.AWS.LexRuntime: data GenericAttachment
- Network.AWS.LexRuntime: data MessageFormatType
- Network.AWS.LexRuntime: data ResponseCard
- Network.AWS.LexRuntime: gaAttachmentLinkURL :: Lens' GenericAttachment (Maybe Text)
- Network.AWS.LexRuntime: gaButtons :: Lens' GenericAttachment [Button]
- Network.AWS.LexRuntime: gaImageURL :: Lens' GenericAttachment (Maybe Text)
- Network.AWS.LexRuntime: gaSubTitle :: Lens' GenericAttachment (Maybe Text)
- Network.AWS.LexRuntime: gaTitle :: Lens' GenericAttachment (Maybe Text)
- Network.AWS.LexRuntime: genericAttachment :: GenericAttachment
- Network.AWS.LexRuntime: lexRuntime :: Service
- Network.AWS.LexRuntime: rcContentType :: Lens' ResponseCard (Maybe ContentType)
- Network.AWS.LexRuntime: rcGenericAttachments :: Lens' ResponseCard [GenericAttachment]
- Network.AWS.LexRuntime: rcVersion :: Lens' ResponseCard (Maybe Text)
- Network.AWS.LexRuntime: responseCard :: ResponseCard
- Network.AWS.LexRuntime.PostContent: data PostContent
- Network.AWS.LexRuntime.PostContent: data PostContentResponse
- Network.AWS.LexRuntime.PostContent: instance GHC.Generics.Generic Network.AWS.LexRuntime.PostContent.PostContent
- Network.AWS.LexRuntime.PostContent: instance GHC.Generics.Generic Network.AWS.LexRuntime.PostContent.PostContentResponse
- Network.AWS.LexRuntime.PostContent: instance GHC.Show.Show Network.AWS.LexRuntime.PostContent.PostContent
- Network.AWS.LexRuntime.PostContent: instance GHC.Show.Show Network.AWS.LexRuntime.PostContent.PostContentResponse
- Network.AWS.LexRuntime.PostContent: instance Network.AWS.Data.Body.ToBody Network.AWS.LexRuntime.PostContent.PostContent
- Network.AWS.LexRuntime.PostContent: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.LexRuntime.PostContent.PostContent
- Network.AWS.LexRuntime.PostContent: instance Network.AWS.Data.Path.ToPath Network.AWS.LexRuntime.PostContent.PostContent
- Network.AWS.LexRuntime.PostContent: instance Network.AWS.Data.Query.ToQuery Network.AWS.LexRuntime.PostContent.PostContent
- Network.AWS.LexRuntime.PostContent: instance Network.AWS.Types.AWSRequest Network.AWS.LexRuntime.PostContent.PostContent
- Network.AWS.LexRuntime.PostContent: pcAccept :: Lens' PostContent (Maybe Text)
- Network.AWS.LexRuntime.PostContent: pcBotAlias :: Lens' PostContent Text
- Network.AWS.LexRuntime.PostContent: pcBotName :: Lens' PostContent Text
- Network.AWS.LexRuntime.PostContent: pcContentType :: Lens' PostContent Text
- Network.AWS.LexRuntime.PostContent: pcInputStream :: Lens' PostContent HashedBody
- Network.AWS.LexRuntime.PostContent: pcRequestAttributes :: Lens' PostContent (Maybe Text)
- Network.AWS.LexRuntime.PostContent: pcSessionAttributes :: Lens' PostContent (Maybe Text)
- Network.AWS.LexRuntime.PostContent: pcUserId :: Lens' PostContent Text
- Network.AWS.LexRuntime.PostContent: pcrsAudioStream :: Lens' PostContentResponse RsBody
- Network.AWS.LexRuntime.PostContent: pcrsContentType :: Lens' PostContentResponse (Maybe Text)
- Network.AWS.LexRuntime.PostContent: pcrsDialogState :: Lens' PostContentResponse (Maybe DialogState)
- Network.AWS.LexRuntime.PostContent: pcrsInputTranscript :: Lens' PostContentResponse (Maybe Text)
- Network.AWS.LexRuntime.PostContent: pcrsIntentName :: Lens' PostContentResponse (Maybe Text)
- Network.AWS.LexRuntime.PostContent: pcrsMessage :: Lens' PostContentResponse (Maybe Text)
- Network.AWS.LexRuntime.PostContent: pcrsMessageFormat :: Lens' PostContentResponse (Maybe MessageFormatType)
- Network.AWS.LexRuntime.PostContent: pcrsResponseStatus :: Lens' PostContentResponse Int
- Network.AWS.LexRuntime.PostContent: pcrsSessionAttributes :: Lens' PostContentResponse (Maybe Text)
- Network.AWS.LexRuntime.PostContent: pcrsSlotToElicit :: Lens' PostContentResponse (Maybe Text)
- Network.AWS.LexRuntime.PostContent: pcrsSlots :: Lens' PostContentResponse (Maybe Text)
- Network.AWS.LexRuntime.PostContent: postContent :: Text -> Text -> Text -> Text -> HashedBody -> PostContent
- Network.AWS.LexRuntime.PostContent: postContentResponse :: Int -> RsBody -> PostContentResponse
- Network.AWS.LexRuntime.PostText: data PostText
- Network.AWS.LexRuntime.PostText: data PostTextResponse
- Network.AWS.LexRuntime.PostText: instance Control.DeepSeq.NFData Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance Control.DeepSeq.NFData Network.AWS.LexRuntime.PostText.PostTextResponse
- Network.AWS.LexRuntime.PostText: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance Data.Data.Data Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance Data.Data.Data Network.AWS.LexRuntime.PostText.PostTextResponse
- Network.AWS.LexRuntime.PostText: instance Data.Hashable.Class.Hashable Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance GHC.Classes.Eq Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance GHC.Classes.Eq Network.AWS.LexRuntime.PostText.PostTextResponse
- Network.AWS.LexRuntime.PostText: instance GHC.Generics.Generic Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance GHC.Generics.Generic Network.AWS.LexRuntime.PostText.PostTextResponse
- Network.AWS.LexRuntime.PostText: instance GHC.Show.Show Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance GHC.Show.Show Network.AWS.LexRuntime.PostText.PostTextResponse
- Network.AWS.LexRuntime.PostText: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance Network.AWS.Data.Path.ToPath Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance Network.AWS.Data.Query.ToQuery Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: instance Network.AWS.Types.AWSRequest Network.AWS.LexRuntime.PostText.PostText
- Network.AWS.LexRuntime.PostText: postText :: Text -> Text -> Text -> Text -> PostText
- Network.AWS.LexRuntime.PostText: postTextResponse :: Int -> PostTextResponse
- Network.AWS.LexRuntime.PostText: ptBotAlias :: Lens' PostText Text
- Network.AWS.LexRuntime.PostText: ptBotName :: Lens' PostText Text
- Network.AWS.LexRuntime.PostText: ptInputText :: Lens' PostText Text
- Network.AWS.LexRuntime.PostText: ptRequestAttributes :: Lens' PostText (Maybe (HashMap Text Text))
- Network.AWS.LexRuntime.PostText: ptSessionAttributes :: Lens' PostText (Maybe (HashMap Text Text))
- Network.AWS.LexRuntime.PostText: ptUserId :: Lens' PostText Text
- Network.AWS.LexRuntime.PostText: ptrsDialogState :: Lens' PostTextResponse (Maybe DialogState)
- Network.AWS.LexRuntime.PostText: ptrsIntentName :: Lens' PostTextResponse (Maybe Text)
- Network.AWS.LexRuntime.PostText: ptrsMessage :: Lens' PostTextResponse (Maybe Text)
- Network.AWS.LexRuntime.PostText: ptrsMessageFormat :: Lens' PostTextResponse (Maybe MessageFormatType)
- Network.AWS.LexRuntime.PostText: ptrsResponseCard :: Lens' PostTextResponse (Maybe ResponseCard)
- Network.AWS.LexRuntime.PostText: ptrsResponseStatus :: Lens' PostTextResponse Int
- Network.AWS.LexRuntime.PostText: ptrsSessionAttributes :: Lens' PostTextResponse (Maybe (HashMap Text Text))
- Network.AWS.LexRuntime.PostText: ptrsSlotToElicit :: Lens' PostTextResponse (Maybe Text)
- Network.AWS.LexRuntime.PostText: ptrsSlots :: Lens' PostTextResponse (Maybe (HashMap Text Text))
- Network.AWS.LexRuntime.Types: ApplicationVnd_Amazonaws_Card_Generic :: ContentType
- Network.AWS.LexRuntime.Types: Composite :: MessageFormatType
- Network.AWS.LexRuntime.Types: ConfirmIntent :: DialogState
- Network.AWS.LexRuntime.Types: CustomPayload :: MessageFormatType
- Network.AWS.LexRuntime.Types: ElicitIntent :: DialogState
- Network.AWS.LexRuntime.Types: ElicitSlot :: DialogState
- Network.AWS.LexRuntime.Types: Failed :: DialogState
- Network.AWS.LexRuntime.Types: Fulfilled :: DialogState
- Network.AWS.LexRuntime.Types: PlainText :: MessageFormatType
- Network.AWS.LexRuntime.Types: ReadyForFulfillment :: DialogState
- Network.AWS.LexRuntime.Types: Ssml :: MessageFormatType
- Network.AWS.LexRuntime.Types: _BadGatewayException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _BadRequestException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _ConflictException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _DependencyFailedException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _InternalFailureException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _LoopDetectedException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _NotAcceptableException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _RequestTimeoutException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: _UnsupportedMediaTypeException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.LexRuntime.Types: bText :: Lens' Button Text
- Network.AWS.LexRuntime.Types: bValue :: Lens' Button Text
- Network.AWS.LexRuntime.Types: button :: Text -> Text -> Button
- Network.AWS.LexRuntime.Types: data Button
- Network.AWS.LexRuntime.Types: data ContentType
- Network.AWS.LexRuntime.Types: data DialogState
- Network.AWS.LexRuntime.Types: data GenericAttachment
- Network.AWS.LexRuntime.Types: data MessageFormatType
- Network.AWS.LexRuntime.Types: data ResponseCard
- Network.AWS.LexRuntime.Types: gaAttachmentLinkURL :: Lens' GenericAttachment (Maybe Text)
- Network.AWS.LexRuntime.Types: gaButtons :: Lens' GenericAttachment [Button]
- Network.AWS.LexRuntime.Types: gaImageURL :: Lens' GenericAttachment (Maybe Text)
- Network.AWS.LexRuntime.Types: gaSubTitle :: Lens' GenericAttachment (Maybe Text)
- Network.AWS.LexRuntime.Types: gaTitle :: Lens' GenericAttachment (Maybe Text)
- Network.AWS.LexRuntime.Types: genericAttachment :: GenericAttachment
- Network.AWS.LexRuntime.Types: lexRuntime :: Service
- Network.AWS.LexRuntime.Types: rcContentType :: Lens' ResponseCard (Maybe ContentType)
- Network.AWS.LexRuntime.Types: rcGenericAttachments :: Lens' ResponseCard [GenericAttachment]
- Network.AWS.LexRuntime.Types: rcVersion :: Lens' ResponseCard (Maybe Text)
- Network.AWS.LexRuntime.Types: responseCard :: ResponseCard
+ Amazonka.LexRuntime: ActiveContext' :: Text -> ActiveContextTimeToLive -> HashMap Text (Sensitive Text) -> ActiveContext
+ Amazonka.LexRuntime: ActiveContextTimeToLive' :: Maybe Natural -> Maybe Natural -> ActiveContextTimeToLive
+ Amazonka.LexRuntime: Button' :: Text -> Text -> Button
+ Amazonka.LexRuntime: ConfirmationStatus' :: Text -> ConfirmationStatus
+ Amazonka.LexRuntime: ContentType' :: Text -> ContentType
+ Amazonka.LexRuntime: DeleteSession' :: Text -> Text -> Text -> DeleteSession
+ Amazonka.LexRuntime: DeleteSessionResponse' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> DeleteSessionResponse
+ Amazonka.LexRuntime: DialogAction' :: Maybe FulfillmentState -> Maybe Text -> Maybe (Sensitive Text) -> Maybe MessageFormatType -> Maybe Text -> Maybe (Sensitive (HashMap Text Text)) -> DialogActionType -> DialogAction
+ Amazonka.LexRuntime: DialogActionType' :: Text -> DialogActionType
+ Amazonka.LexRuntime: DialogState' :: Text -> DialogState
+ Amazonka.LexRuntime: FulfillmentState' :: Text -> FulfillmentState
+ Amazonka.LexRuntime: GenericAttachment' :: Maybe Text -> Maybe [Button] -> Maybe Text -> Maybe Text -> Maybe Text -> GenericAttachment
+ Amazonka.LexRuntime: GetSession' :: Maybe Text -> Text -> Text -> Text -> GetSession
+ Amazonka.LexRuntime: GetSessionResponse' :: Maybe (Sensitive [ActiveContext]) -> Maybe DialogAction -> Maybe [IntentSummary] -> Maybe (Sensitive (HashMap Text Text)) -> Maybe Text -> Int -> GetSessionResponse
+ Amazonka.LexRuntime: IntentConfidence' :: Maybe Double -> IntentConfidence
+ Amazonka.LexRuntime: IntentSummary' :: Maybe Text -> Maybe ConfirmationStatus -> Maybe FulfillmentState -> Maybe Text -> Maybe Text -> Maybe (Sensitive (HashMap Text Text)) -> DialogActionType -> IntentSummary
+ Amazonka.LexRuntime: MessageFormatType' :: Text -> MessageFormatType
+ Amazonka.LexRuntime: PostContent' :: Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Text -> Text -> Text -> Text -> HashedBody -> PostContent
+ Amazonka.LexRuntime: PostContentResponse' :: Maybe (Sensitive Text) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe DialogState -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe MessageFormatType -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> ResponseBody -> PostContentResponse
+ Amazonka.LexRuntime: PostText' :: Maybe (Sensitive [ActiveContext]) -> Maybe (Sensitive (HashMap Text Text)) -> Maybe (Sensitive (HashMap Text Text)) -> Text -> Text -> Text -> Sensitive Text -> PostText
+ Amazonka.LexRuntime: PostTextResponse' :: Maybe (Sensitive [ActiveContext]) -> Maybe [PredictedIntent] -> Maybe Text -> Maybe DialogState -> Maybe Text -> Maybe (Sensitive Text) -> Maybe MessageFormatType -> Maybe IntentConfidence -> Maybe ResponseCard -> Maybe SentimentResponse -> Maybe (Sensitive (HashMap Text Text)) -> Maybe Text -> Maybe Text -> Maybe (Sensitive (HashMap Text Text)) -> Int -> PostTextResponse
+ Amazonka.LexRuntime: PredictedIntent' :: Maybe Text -> Maybe IntentConfidence -> Maybe (Sensitive (HashMap Text Text)) -> PredictedIntent
+ Amazonka.LexRuntime: PutSession' :: Maybe Text -> Maybe (Sensitive [ActiveContext]) -> Maybe DialogAction -> Maybe [IntentSummary] -> Maybe (Sensitive (HashMap Text Text)) -> Text -> Text -> Text -> PutSession
+ Amazonka.LexRuntime: PutSessionResponse' :: Maybe (Sensitive Text) -> Maybe Text -> Maybe DialogState -> Maybe (Sensitive Text) -> Maybe Text -> Maybe (Sensitive Text) -> Maybe MessageFormatType -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> ResponseBody -> PutSessionResponse
+ Amazonka.LexRuntime: ResponseCard' :: Maybe ContentType -> Maybe [GenericAttachment] -> Maybe Text -> ResponseCard
+ Amazonka.LexRuntime: SentimentResponse' :: Maybe Text -> Maybe Text -> SentimentResponse
+ Amazonka.LexRuntime: [fromConfirmationStatus] :: ConfirmationStatus -> Text
+ Amazonka.LexRuntime: [fromContentType] :: ContentType -> Text
+ Amazonka.LexRuntime: [fromDialogActionType] :: DialogActionType -> Text
+ Amazonka.LexRuntime: [fromDialogState] :: DialogState -> Text
+ Amazonka.LexRuntime: [fromFulfillmentState] :: FulfillmentState -> Text
+ Amazonka.LexRuntime: [fromMessageFormatType] :: MessageFormatType -> Text
+ Amazonka.LexRuntime: _BadGatewayException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _BadRequestException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _ConflictException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _DependencyFailedException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _InternalFailureException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _LimitExceededException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _LoopDetectedException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _NotAcceptableException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _NotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _RequestTimeoutException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: _UnsupportedMediaTypeException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime: data ActiveContext
+ Amazonka.LexRuntime: data ActiveContextTimeToLive
+ Amazonka.LexRuntime: data Button
+ Amazonka.LexRuntime: data DeleteSession
+ Amazonka.LexRuntime: data DeleteSessionResponse
+ Amazonka.LexRuntime: data DialogAction
+ Amazonka.LexRuntime: data GenericAttachment
+ Amazonka.LexRuntime: data GetSession
+ Amazonka.LexRuntime: data GetSessionResponse
+ Amazonka.LexRuntime: data IntentConfidence
+ Amazonka.LexRuntime: data IntentSummary
+ Amazonka.LexRuntime: data PostContent
+ Amazonka.LexRuntime: data PostContentResponse
+ Amazonka.LexRuntime: data PostText
+ Amazonka.LexRuntime: data PostTextResponse
+ Amazonka.LexRuntime: data PredictedIntent
+ Amazonka.LexRuntime: data PutSession
+ Amazonka.LexRuntime: data PutSessionResponse
+ Amazonka.LexRuntime: data ResponseCard
+ Amazonka.LexRuntime: data SentimentResponse
+ Amazonka.LexRuntime: defaultService :: Service
+ Amazonka.LexRuntime: newActiveContext :: Text -> ActiveContextTimeToLive -> ActiveContext
+ Amazonka.LexRuntime: newActiveContextTimeToLive :: ActiveContextTimeToLive
+ Amazonka.LexRuntime: newButton :: Text -> Text -> Button
+ Amazonka.LexRuntime: newDeleteSession :: Text -> Text -> Text -> DeleteSession
+ Amazonka.LexRuntime: newDeleteSessionResponse :: Int -> DeleteSessionResponse
+ Amazonka.LexRuntime: newDialogAction :: DialogActionType -> DialogAction
+ Amazonka.LexRuntime: newGenericAttachment :: GenericAttachment
+ Amazonka.LexRuntime: newGetSession :: Text -> Text -> Text -> GetSession
+ Amazonka.LexRuntime: newGetSessionResponse :: Int -> GetSessionResponse
+ Amazonka.LexRuntime: newIntentConfidence :: IntentConfidence
+ Amazonka.LexRuntime: newIntentSummary :: DialogActionType -> IntentSummary
+ Amazonka.LexRuntime: newPostContent :: Text -> Text -> Text -> Text -> HashedBody -> PostContent
+ Amazonka.LexRuntime: newPostContentResponse :: Int -> ResponseBody -> PostContentResponse
+ Amazonka.LexRuntime: newPostText :: Text -> Text -> Text -> Text -> PostText
+ Amazonka.LexRuntime: newPostTextResponse :: Int -> PostTextResponse
+ Amazonka.LexRuntime: newPredictedIntent :: PredictedIntent
+ Amazonka.LexRuntime: newPutSession :: Text -> Text -> Text -> PutSession
+ Amazonka.LexRuntime: newPutSessionResponse :: Int -> ResponseBody -> PutSessionResponse
+ Amazonka.LexRuntime: newResponseCard :: ResponseCard
+ Amazonka.LexRuntime: newSentimentResponse :: SentimentResponse
+ Amazonka.LexRuntime: newtype ConfirmationStatus
+ Amazonka.LexRuntime: newtype ContentType
+ Amazonka.LexRuntime: newtype DialogActionType
+ Amazonka.LexRuntime: newtype DialogState
+ Amazonka.LexRuntime: newtype FulfillmentState
+ Amazonka.LexRuntime: newtype MessageFormatType
+ Amazonka.LexRuntime: pattern ConfirmationStatus_Confirmed :: ConfirmationStatus
+ Amazonka.LexRuntime: pattern ConfirmationStatus_Denied :: ConfirmationStatus
+ Amazonka.LexRuntime: pattern ConfirmationStatus_None :: ConfirmationStatus
+ Amazonka.LexRuntime: pattern ContentType_Application_vnd_amazonaws_card_generic :: ContentType
+ Amazonka.LexRuntime: pattern DialogActionType_Close :: DialogActionType
+ Amazonka.LexRuntime: pattern DialogActionType_ConfirmIntent :: DialogActionType
+ Amazonka.LexRuntime: pattern DialogActionType_Delegate :: DialogActionType
+ Amazonka.LexRuntime: pattern DialogActionType_ElicitIntent :: DialogActionType
+ Amazonka.LexRuntime: pattern DialogActionType_ElicitSlot :: DialogActionType
+ Amazonka.LexRuntime: pattern DialogState_ConfirmIntent :: DialogState
+ Amazonka.LexRuntime: pattern DialogState_ElicitIntent :: DialogState
+ Amazonka.LexRuntime: pattern DialogState_ElicitSlot :: DialogState
+ Amazonka.LexRuntime: pattern DialogState_Failed :: DialogState
+ Amazonka.LexRuntime: pattern DialogState_Fulfilled :: DialogState
+ Amazonka.LexRuntime: pattern DialogState_ReadyForFulfillment :: DialogState
+ Amazonka.LexRuntime: pattern FulfillmentState_Failed :: FulfillmentState
+ Amazonka.LexRuntime: pattern FulfillmentState_Fulfilled :: FulfillmentState
+ Amazonka.LexRuntime: pattern FulfillmentState_ReadyForFulfillment :: FulfillmentState
+ Amazonka.LexRuntime: pattern MessageFormatType_Composite :: MessageFormatType
+ Amazonka.LexRuntime: pattern MessageFormatType_CustomPayload :: MessageFormatType
+ Amazonka.LexRuntime: pattern MessageFormatType_PlainText :: MessageFormatType
+ Amazonka.LexRuntime: pattern MessageFormatType_SSML :: MessageFormatType
+ Amazonka.LexRuntime.DeleteSession: DeleteSession' :: Text -> Text -> Text -> DeleteSession
+ Amazonka.LexRuntime.DeleteSession: DeleteSessionResponse' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> DeleteSessionResponse
+ Amazonka.LexRuntime.DeleteSession: [$sel:botAlias:DeleteSession'] :: DeleteSession -> Text
+ Amazonka.LexRuntime.DeleteSession: [$sel:botAlias:DeleteSessionResponse'] :: DeleteSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.DeleteSession: [$sel:botName:DeleteSession'] :: DeleteSession -> Text
+ Amazonka.LexRuntime.DeleteSession: [$sel:botName:DeleteSessionResponse'] :: DeleteSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.DeleteSession: [$sel:httpStatus:DeleteSessionResponse'] :: DeleteSessionResponse -> Int
+ Amazonka.LexRuntime.DeleteSession: [$sel:sessionId:DeleteSessionResponse'] :: DeleteSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.DeleteSession: [$sel:userId:DeleteSession'] :: DeleteSession -> Text
+ Amazonka.LexRuntime.DeleteSession: [$sel:userId:DeleteSessionResponse'] :: DeleteSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.DeleteSession: data DeleteSession
+ Amazonka.LexRuntime.DeleteSession: data DeleteSessionResponse
+ Amazonka.LexRuntime.DeleteSession: deleteSessionResponse_botAlias :: Lens' DeleteSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.DeleteSession: deleteSessionResponse_botName :: Lens' DeleteSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.DeleteSession: deleteSessionResponse_httpStatus :: Lens' DeleteSessionResponse Int
+ Amazonka.LexRuntime.DeleteSession: deleteSessionResponse_sessionId :: Lens' DeleteSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.DeleteSession: deleteSessionResponse_userId :: Lens' DeleteSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.DeleteSession: deleteSession_botAlias :: Lens' DeleteSession Text
+ Amazonka.LexRuntime.DeleteSession: deleteSession_botName :: Lens' DeleteSession Text
+ Amazonka.LexRuntime.DeleteSession: deleteSession_userId :: Lens' DeleteSession Text
+ Amazonka.LexRuntime.DeleteSession: instance Amazonka.Data.Headers.ToHeaders Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance Amazonka.Data.Path.ToPath Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance Amazonka.Types.AWSRequest Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance Control.DeepSeq.NFData Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance Control.DeepSeq.NFData Amazonka.LexRuntime.DeleteSession.DeleteSessionResponse
+ Amazonka.LexRuntime.DeleteSession: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance GHC.Classes.Eq Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance GHC.Classes.Eq Amazonka.LexRuntime.DeleteSession.DeleteSessionResponse
+ Amazonka.LexRuntime.DeleteSession: instance GHC.Generics.Generic Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance GHC.Generics.Generic Amazonka.LexRuntime.DeleteSession.DeleteSessionResponse
+ Amazonka.LexRuntime.DeleteSession: instance GHC.Read.Read Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance GHC.Read.Read Amazonka.LexRuntime.DeleteSession.DeleteSessionResponse
+ Amazonka.LexRuntime.DeleteSession: instance GHC.Show.Show Amazonka.LexRuntime.DeleteSession.DeleteSession
+ Amazonka.LexRuntime.DeleteSession: instance GHC.Show.Show Amazonka.LexRuntime.DeleteSession.DeleteSessionResponse
+ Amazonka.LexRuntime.DeleteSession: newDeleteSession :: Text -> Text -> Text -> DeleteSession
+ Amazonka.LexRuntime.DeleteSession: newDeleteSessionResponse :: Int -> DeleteSessionResponse
+ Amazonka.LexRuntime.GetSession: GetSession' :: Maybe Text -> Text -> Text -> Text -> GetSession
+ Amazonka.LexRuntime.GetSession: GetSessionResponse' :: Maybe (Sensitive [ActiveContext]) -> Maybe DialogAction -> Maybe [IntentSummary] -> Maybe (Sensitive (HashMap Text Text)) -> Maybe Text -> Int -> GetSessionResponse
+ Amazonka.LexRuntime.GetSession: [$sel:activeContexts:GetSessionResponse'] :: GetSessionResponse -> Maybe (Sensitive [ActiveContext])
+ Amazonka.LexRuntime.GetSession: [$sel:botAlias:GetSession'] :: GetSession -> Text
+ Amazonka.LexRuntime.GetSession: [$sel:botName:GetSession'] :: GetSession -> Text
+ Amazonka.LexRuntime.GetSession: [$sel:checkpointLabelFilter:GetSession'] :: GetSession -> Maybe Text
+ Amazonka.LexRuntime.GetSession: [$sel:dialogAction:GetSessionResponse'] :: GetSessionResponse -> Maybe DialogAction
+ Amazonka.LexRuntime.GetSession: [$sel:httpStatus:GetSessionResponse'] :: GetSessionResponse -> Int
+ Amazonka.LexRuntime.GetSession: [$sel:recentIntentSummaryView:GetSessionResponse'] :: GetSessionResponse -> Maybe [IntentSummary]
+ Amazonka.LexRuntime.GetSession: [$sel:sessionAttributes:GetSessionResponse'] :: GetSessionResponse -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.GetSession: [$sel:sessionId:GetSessionResponse'] :: GetSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.GetSession: [$sel:userId:GetSession'] :: GetSession -> Text
+ Amazonka.LexRuntime.GetSession: data GetSession
+ Amazonka.LexRuntime.GetSession: data GetSessionResponse
+ Amazonka.LexRuntime.GetSession: getSessionResponse_activeContexts :: Lens' GetSessionResponse (Maybe [ActiveContext])
+ Amazonka.LexRuntime.GetSession: getSessionResponse_dialogAction :: Lens' GetSessionResponse (Maybe DialogAction)
+ Amazonka.LexRuntime.GetSession: getSessionResponse_httpStatus :: Lens' GetSessionResponse Int
+ Amazonka.LexRuntime.GetSession: getSessionResponse_recentIntentSummaryView :: Lens' GetSessionResponse (Maybe [IntentSummary])
+ Amazonka.LexRuntime.GetSession: getSessionResponse_sessionAttributes :: Lens' GetSessionResponse (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.GetSession: getSessionResponse_sessionId :: Lens' GetSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.GetSession: getSession_botAlias :: Lens' GetSession Text
+ Amazonka.LexRuntime.GetSession: getSession_botName :: Lens' GetSession Text
+ Amazonka.LexRuntime.GetSession: getSession_checkpointLabelFilter :: Lens' GetSession (Maybe Text)
+ Amazonka.LexRuntime.GetSession: getSession_userId :: Lens' GetSession Text
+ Amazonka.LexRuntime.GetSession: instance Amazonka.Data.Headers.ToHeaders Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance Amazonka.Data.Path.ToPath Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance Amazonka.Types.AWSRequest Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance Control.DeepSeq.NFData Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance Control.DeepSeq.NFData Amazonka.LexRuntime.GetSession.GetSessionResponse
+ Amazonka.LexRuntime.GetSession: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance GHC.Classes.Eq Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance GHC.Classes.Eq Amazonka.LexRuntime.GetSession.GetSessionResponse
+ Amazonka.LexRuntime.GetSession: instance GHC.Generics.Generic Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance GHC.Generics.Generic Amazonka.LexRuntime.GetSession.GetSessionResponse
+ Amazonka.LexRuntime.GetSession: instance GHC.Read.Read Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance GHC.Show.Show Amazonka.LexRuntime.GetSession.GetSession
+ Amazonka.LexRuntime.GetSession: instance GHC.Show.Show Amazonka.LexRuntime.GetSession.GetSessionResponse
+ Amazonka.LexRuntime.GetSession: newGetSession :: Text -> Text -> Text -> GetSession
+ Amazonka.LexRuntime.GetSession: newGetSessionResponse :: Int -> GetSessionResponse
+ Amazonka.LexRuntime.Lens: activeContextTimeToLive_timeToLiveInSeconds :: Lens' ActiveContextTimeToLive (Maybe Natural)
+ Amazonka.LexRuntime.Lens: activeContextTimeToLive_turnsToLive :: Lens' ActiveContextTimeToLive (Maybe Natural)
+ Amazonka.LexRuntime.Lens: activeContext_name :: Lens' ActiveContext Text
+ Amazonka.LexRuntime.Lens: activeContext_parameters :: Lens' ActiveContext (HashMap Text Text)
+ Amazonka.LexRuntime.Lens: activeContext_timeToLive :: Lens' ActiveContext ActiveContextTimeToLive
+ Amazonka.LexRuntime.Lens: button_text :: Lens' Button Text
+ Amazonka.LexRuntime.Lens: button_value :: Lens' Button Text
+ Amazonka.LexRuntime.Lens: deleteSessionResponse_botAlias :: Lens' DeleteSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: deleteSessionResponse_botName :: Lens' DeleteSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: deleteSessionResponse_httpStatus :: Lens' DeleteSessionResponse Int
+ Amazonka.LexRuntime.Lens: deleteSessionResponse_sessionId :: Lens' DeleteSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: deleteSessionResponse_userId :: Lens' DeleteSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: deleteSession_botAlias :: Lens' DeleteSession Text
+ Amazonka.LexRuntime.Lens: deleteSession_botName :: Lens' DeleteSession Text
+ Amazonka.LexRuntime.Lens: deleteSession_userId :: Lens' DeleteSession Text
+ Amazonka.LexRuntime.Lens: dialogAction_fulfillmentState :: Lens' DialogAction (Maybe FulfillmentState)
+ Amazonka.LexRuntime.Lens: dialogAction_intentName :: Lens' DialogAction (Maybe Text)
+ Amazonka.LexRuntime.Lens: dialogAction_message :: Lens' DialogAction (Maybe Text)
+ Amazonka.LexRuntime.Lens: dialogAction_messageFormat :: Lens' DialogAction (Maybe MessageFormatType)
+ Amazonka.LexRuntime.Lens: dialogAction_slotToElicit :: Lens' DialogAction (Maybe Text)
+ Amazonka.LexRuntime.Lens: dialogAction_slots :: Lens' DialogAction (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Lens: dialogAction_type :: Lens' DialogAction DialogActionType
+ Amazonka.LexRuntime.Lens: genericAttachment_attachmentLinkUrl :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Lens: genericAttachment_buttons :: Lens' GenericAttachment (Maybe [Button])
+ Amazonka.LexRuntime.Lens: genericAttachment_imageUrl :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Lens: genericAttachment_subTitle :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Lens: genericAttachment_title :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Lens: getSessionResponse_activeContexts :: Lens' GetSessionResponse (Maybe [ActiveContext])
+ Amazonka.LexRuntime.Lens: getSessionResponse_dialogAction :: Lens' GetSessionResponse (Maybe DialogAction)
+ Amazonka.LexRuntime.Lens: getSessionResponse_httpStatus :: Lens' GetSessionResponse Int
+ Amazonka.LexRuntime.Lens: getSessionResponse_recentIntentSummaryView :: Lens' GetSessionResponse (Maybe [IntentSummary])
+ Amazonka.LexRuntime.Lens: getSessionResponse_sessionAttributes :: Lens' GetSessionResponse (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Lens: getSessionResponse_sessionId :: Lens' GetSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: getSession_botAlias :: Lens' GetSession Text
+ Amazonka.LexRuntime.Lens: getSession_botName :: Lens' GetSession Text
+ Amazonka.LexRuntime.Lens: getSession_checkpointLabelFilter :: Lens' GetSession (Maybe Text)
+ Amazonka.LexRuntime.Lens: getSession_userId :: Lens' GetSession Text
+ Amazonka.LexRuntime.Lens: intentConfidence_score :: Lens' IntentConfidence (Maybe Double)
+ Amazonka.LexRuntime.Lens: intentSummary_checkpointLabel :: Lens' IntentSummary (Maybe Text)
+ Amazonka.LexRuntime.Lens: intentSummary_confirmationStatus :: Lens' IntentSummary (Maybe ConfirmationStatus)
+ Amazonka.LexRuntime.Lens: intentSummary_dialogActionType :: Lens' IntentSummary DialogActionType
+ Amazonka.LexRuntime.Lens: intentSummary_fulfillmentState :: Lens' IntentSummary (Maybe FulfillmentState)
+ Amazonka.LexRuntime.Lens: intentSummary_intentName :: Lens' IntentSummary (Maybe Text)
+ Amazonka.LexRuntime.Lens: intentSummary_slotToElicit :: Lens' IntentSummary (Maybe Text)
+ Amazonka.LexRuntime.Lens: intentSummary_slots :: Lens' IntentSummary (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Lens: postContentResponse_activeContexts :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_alternativeIntents :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_audioStream :: Lens' PostContentResponse ResponseBody
+ Amazonka.LexRuntime.Lens: postContentResponse_botVersion :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_contentType :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_dialogState :: Lens' PostContentResponse (Maybe DialogState)
+ Amazonka.LexRuntime.Lens: postContentResponse_encodedInputTranscript :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_encodedMessage :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_httpStatus :: Lens' PostContentResponse Int
+ Amazonka.LexRuntime.Lens: postContentResponse_inputTranscript :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_intentName :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_message :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_messageFormat :: Lens' PostContentResponse (Maybe MessageFormatType)
+ Amazonka.LexRuntime.Lens: postContentResponse_nluIntentConfidence :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_sentimentResponse :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_sessionAttributes :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_sessionId :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_slotToElicit :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContentResponse_slots :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContent_accept :: Lens' PostContent (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContent_activeContexts :: Lens' PostContent (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContent_botAlias :: Lens' PostContent Text
+ Amazonka.LexRuntime.Lens: postContent_botName :: Lens' PostContent Text
+ Amazonka.LexRuntime.Lens: postContent_contentType :: Lens' PostContent Text
+ Amazonka.LexRuntime.Lens: postContent_inputStream :: Lens' PostContent HashedBody
+ Amazonka.LexRuntime.Lens: postContent_requestAttributes :: Lens' PostContent (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContent_sessionAttributes :: Lens' PostContent (Maybe Text)
+ Amazonka.LexRuntime.Lens: postContent_userId :: Lens' PostContent Text
+ Amazonka.LexRuntime.Lens: postTextResponse_activeContexts :: Lens' PostTextResponse (Maybe [ActiveContext])
+ Amazonka.LexRuntime.Lens: postTextResponse_alternativeIntents :: Lens' PostTextResponse (Maybe [PredictedIntent])
+ Amazonka.LexRuntime.Lens: postTextResponse_botVersion :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postTextResponse_dialogState :: Lens' PostTextResponse (Maybe DialogState)
+ Amazonka.LexRuntime.Lens: postTextResponse_httpStatus :: Lens' PostTextResponse Int
+ Amazonka.LexRuntime.Lens: postTextResponse_intentName :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postTextResponse_message :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postTextResponse_messageFormat :: Lens' PostTextResponse (Maybe MessageFormatType)
+ Amazonka.LexRuntime.Lens: postTextResponse_nluIntentConfidence :: Lens' PostTextResponse (Maybe IntentConfidence)
+ Amazonka.LexRuntime.Lens: postTextResponse_responseCard :: Lens' PostTextResponse (Maybe ResponseCard)
+ Amazonka.LexRuntime.Lens: postTextResponse_sentimentResponse :: Lens' PostTextResponse (Maybe SentimentResponse)
+ Amazonka.LexRuntime.Lens: postTextResponse_sessionAttributes :: Lens' PostTextResponse (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Lens: postTextResponse_sessionId :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postTextResponse_slotToElicit :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: postTextResponse_slots :: Lens' PostTextResponse (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Lens: postText_activeContexts :: Lens' PostText (Maybe [ActiveContext])
+ Amazonka.LexRuntime.Lens: postText_botAlias :: Lens' PostText Text
+ Amazonka.LexRuntime.Lens: postText_botName :: Lens' PostText Text
+ Amazonka.LexRuntime.Lens: postText_inputText :: Lens' PostText Text
+ Amazonka.LexRuntime.Lens: postText_requestAttributes :: Lens' PostText (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Lens: postText_sessionAttributes :: Lens' PostText (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Lens: postText_userId :: Lens' PostText Text
+ Amazonka.LexRuntime.Lens: predictedIntent_intentName :: Lens' PredictedIntent (Maybe Text)
+ Amazonka.LexRuntime.Lens: predictedIntent_nluIntentConfidence :: Lens' PredictedIntent (Maybe IntentConfidence)
+ Amazonka.LexRuntime.Lens: predictedIntent_slots :: Lens' PredictedIntent (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Lens: putSessionResponse_activeContexts :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSessionResponse_audioStream :: Lens' PutSessionResponse ResponseBody
+ Amazonka.LexRuntime.Lens: putSessionResponse_contentType :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSessionResponse_dialogState :: Lens' PutSessionResponse (Maybe DialogState)
+ Amazonka.LexRuntime.Lens: putSessionResponse_encodedMessage :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSessionResponse_httpStatus :: Lens' PutSessionResponse Int
+ Amazonka.LexRuntime.Lens: putSessionResponse_intentName :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSessionResponse_message :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSessionResponse_messageFormat :: Lens' PutSessionResponse (Maybe MessageFormatType)
+ Amazonka.LexRuntime.Lens: putSessionResponse_sessionAttributes :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSessionResponse_sessionId :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSessionResponse_slotToElicit :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSessionResponse_slots :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSession_accept :: Lens' PutSession (Maybe Text)
+ Amazonka.LexRuntime.Lens: putSession_activeContexts :: Lens' PutSession (Maybe [ActiveContext])
+ Amazonka.LexRuntime.Lens: putSession_botAlias :: Lens' PutSession Text
+ Amazonka.LexRuntime.Lens: putSession_botName :: Lens' PutSession Text
+ Amazonka.LexRuntime.Lens: putSession_dialogAction :: Lens' PutSession (Maybe DialogAction)
+ Amazonka.LexRuntime.Lens: putSession_recentIntentSummaryView :: Lens' PutSession (Maybe [IntentSummary])
+ Amazonka.LexRuntime.Lens: putSession_sessionAttributes :: Lens' PutSession (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Lens: putSession_userId :: Lens' PutSession Text
+ Amazonka.LexRuntime.Lens: responseCard_contentType :: Lens' ResponseCard (Maybe ContentType)
+ Amazonka.LexRuntime.Lens: responseCard_genericAttachments :: Lens' ResponseCard (Maybe [GenericAttachment])
+ Amazonka.LexRuntime.Lens: responseCard_version :: Lens' ResponseCard (Maybe Text)
+ Amazonka.LexRuntime.Lens: sentimentResponse_sentimentLabel :: Lens' SentimentResponse (Maybe Text)
+ Amazonka.LexRuntime.Lens: sentimentResponse_sentimentScore :: Lens' SentimentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: PostContent' :: Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Text -> Text -> Text -> Text -> HashedBody -> PostContent
+ Amazonka.LexRuntime.PostContent: PostContentResponse' :: Maybe (Sensitive Text) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe DialogState -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe MessageFormatType -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> ResponseBody -> PostContentResponse
+ Amazonka.LexRuntime.PostContent: [$sel:accept:PostContent'] :: PostContent -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:activeContexts:PostContent'] :: PostContent -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PostContent: [$sel:activeContexts:PostContentResponse'] :: PostContentResponse -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PostContent: [$sel:alternativeIntents:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:audioStream:PostContentResponse'] :: PostContentResponse -> ResponseBody
+ Amazonka.LexRuntime.PostContent: [$sel:botAlias:PostContent'] :: PostContent -> Text
+ Amazonka.LexRuntime.PostContent: [$sel:botName:PostContent'] :: PostContent -> Text
+ Amazonka.LexRuntime.PostContent: [$sel:botVersion:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:contentType:PostContent'] :: PostContent -> Text
+ Amazonka.LexRuntime.PostContent: [$sel:contentType:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:dialogState:PostContentResponse'] :: PostContentResponse -> Maybe DialogState
+ Amazonka.LexRuntime.PostContent: [$sel:encodedInputTranscript:PostContentResponse'] :: PostContentResponse -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PostContent: [$sel:encodedMessage:PostContentResponse'] :: PostContentResponse -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PostContent: [$sel:httpStatus:PostContentResponse'] :: PostContentResponse -> Int
+ Amazonka.LexRuntime.PostContent: [$sel:inputStream:PostContent'] :: PostContent -> HashedBody
+ Amazonka.LexRuntime.PostContent: [$sel:inputTranscript:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:intentName:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:message:PostContentResponse'] :: PostContentResponse -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PostContent: [$sel:messageFormat:PostContentResponse'] :: PostContentResponse -> Maybe MessageFormatType
+ Amazonka.LexRuntime.PostContent: [$sel:nluIntentConfidence:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:requestAttributes:PostContent'] :: PostContent -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PostContent: [$sel:sentimentResponse:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:sessionAttributes:PostContent'] :: PostContent -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PostContent: [$sel:sessionAttributes:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:sessionId:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:slotToElicit:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:slots:PostContentResponse'] :: PostContentResponse -> Maybe Text
+ Amazonka.LexRuntime.PostContent: [$sel:userId:PostContent'] :: PostContent -> Text
+ Amazonka.LexRuntime.PostContent: data PostContent
+ Amazonka.LexRuntime.PostContent: data PostContentResponse
+ Amazonka.LexRuntime.PostContent: instance Amazonka.Data.Body.ToBody Amazonka.LexRuntime.PostContent.PostContent
+ Amazonka.LexRuntime.PostContent: instance Amazonka.Data.Headers.ToHeaders Amazonka.LexRuntime.PostContent.PostContent
+ Amazonka.LexRuntime.PostContent: instance Amazonka.Data.Path.ToPath Amazonka.LexRuntime.PostContent.PostContent
+ Amazonka.LexRuntime.PostContent: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.PostContent.PostContent
+ Amazonka.LexRuntime.PostContent: instance Amazonka.Types.AWSRequest Amazonka.LexRuntime.PostContent.PostContent
+ Amazonka.LexRuntime.PostContent: instance GHC.Generics.Generic Amazonka.LexRuntime.PostContent.PostContent
+ Amazonka.LexRuntime.PostContent: instance GHC.Generics.Generic Amazonka.LexRuntime.PostContent.PostContentResponse
+ Amazonka.LexRuntime.PostContent: instance GHC.Show.Show Amazonka.LexRuntime.PostContent.PostContent
+ Amazonka.LexRuntime.PostContent: instance GHC.Show.Show Amazonka.LexRuntime.PostContent.PostContentResponse
+ Amazonka.LexRuntime.PostContent: newPostContent :: Text -> Text -> Text -> Text -> HashedBody -> PostContent
+ Amazonka.LexRuntime.PostContent: newPostContentResponse :: Int -> ResponseBody -> PostContentResponse
+ Amazonka.LexRuntime.PostContent: postContentResponse_activeContexts :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_alternativeIntents :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_audioStream :: Lens' PostContentResponse ResponseBody
+ Amazonka.LexRuntime.PostContent: postContentResponse_botVersion :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_contentType :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_dialogState :: Lens' PostContentResponse (Maybe DialogState)
+ Amazonka.LexRuntime.PostContent: postContentResponse_encodedInputTranscript :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_encodedMessage :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_httpStatus :: Lens' PostContentResponse Int
+ Amazonka.LexRuntime.PostContent: postContentResponse_inputTranscript :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_intentName :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_message :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_messageFormat :: Lens' PostContentResponse (Maybe MessageFormatType)
+ Amazonka.LexRuntime.PostContent: postContentResponse_nluIntentConfidence :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_sentimentResponse :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_sessionAttributes :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_sessionId :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_slotToElicit :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContentResponse_slots :: Lens' PostContentResponse (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContent_accept :: Lens' PostContent (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContent_activeContexts :: Lens' PostContent (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContent_botAlias :: Lens' PostContent Text
+ Amazonka.LexRuntime.PostContent: postContent_botName :: Lens' PostContent Text
+ Amazonka.LexRuntime.PostContent: postContent_contentType :: Lens' PostContent Text
+ Amazonka.LexRuntime.PostContent: postContent_inputStream :: Lens' PostContent HashedBody
+ Amazonka.LexRuntime.PostContent: postContent_requestAttributes :: Lens' PostContent (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContent_sessionAttributes :: Lens' PostContent (Maybe Text)
+ Amazonka.LexRuntime.PostContent: postContent_userId :: Lens' PostContent Text
+ Amazonka.LexRuntime.PostText: PostText' :: Maybe (Sensitive [ActiveContext]) -> Maybe (Sensitive (HashMap Text Text)) -> Maybe (Sensitive (HashMap Text Text)) -> Text -> Text -> Text -> Sensitive Text -> PostText
+ Amazonka.LexRuntime.PostText: PostTextResponse' :: Maybe (Sensitive [ActiveContext]) -> Maybe [PredictedIntent] -> Maybe Text -> Maybe DialogState -> Maybe Text -> Maybe (Sensitive Text) -> Maybe MessageFormatType -> Maybe IntentConfidence -> Maybe ResponseCard -> Maybe SentimentResponse -> Maybe (Sensitive (HashMap Text Text)) -> Maybe Text -> Maybe Text -> Maybe (Sensitive (HashMap Text Text)) -> Int -> PostTextResponse
+ Amazonka.LexRuntime.PostText: [$sel:activeContexts:PostText'] :: PostText -> Maybe (Sensitive [ActiveContext])
+ Amazonka.LexRuntime.PostText: [$sel:activeContexts:PostTextResponse'] :: PostTextResponse -> Maybe (Sensitive [ActiveContext])
+ Amazonka.LexRuntime.PostText: [$sel:alternativeIntents:PostTextResponse'] :: PostTextResponse -> Maybe [PredictedIntent]
+ Amazonka.LexRuntime.PostText: [$sel:botAlias:PostText'] :: PostText -> Text
+ Amazonka.LexRuntime.PostText: [$sel:botName:PostText'] :: PostText -> Text
+ Amazonka.LexRuntime.PostText: [$sel:botVersion:PostTextResponse'] :: PostTextResponse -> Maybe Text
+ Amazonka.LexRuntime.PostText: [$sel:dialogState:PostTextResponse'] :: PostTextResponse -> Maybe DialogState
+ Amazonka.LexRuntime.PostText: [$sel:httpStatus:PostTextResponse'] :: PostTextResponse -> Int
+ Amazonka.LexRuntime.PostText: [$sel:inputText:PostText'] :: PostText -> Sensitive Text
+ Amazonka.LexRuntime.PostText: [$sel:intentName:PostTextResponse'] :: PostTextResponse -> Maybe Text
+ Amazonka.LexRuntime.PostText: [$sel:message:PostTextResponse'] :: PostTextResponse -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PostText: [$sel:messageFormat:PostTextResponse'] :: PostTextResponse -> Maybe MessageFormatType
+ Amazonka.LexRuntime.PostText: [$sel:nluIntentConfidence:PostTextResponse'] :: PostTextResponse -> Maybe IntentConfidence
+ Amazonka.LexRuntime.PostText: [$sel:requestAttributes:PostText'] :: PostText -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.PostText: [$sel:responseCard:PostTextResponse'] :: PostTextResponse -> Maybe ResponseCard
+ Amazonka.LexRuntime.PostText: [$sel:sentimentResponse:PostTextResponse'] :: PostTextResponse -> Maybe SentimentResponse
+ Amazonka.LexRuntime.PostText: [$sel:sessionAttributes:PostText'] :: PostText -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.PostText: [$sel:sessionAttributes:PostTextResponse'] :: PostTextResponse -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.PostText: [$sel:sessionId:PostTextResponse'] :: PostTextResponse -> Maybe Text
+ Amazonka.LexRuntime.PostText: [$sel:slotToElicit:PostTextResponse'] :: PostTextResponse -> Maybe Text
+ Amazonka.LexRuntime.PostText: [$sel:slots:PostTextResponse'] :: PostTextResponse -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.PostText: [$sel:userId:PostText'] :: PostText -> Text
+ Amazonka.LexRuntime.PostText: data PostText
+ Amazonka.LexRuntime.PostText: data PostTextResponse
+ Amazonka.LexRuntime.PostText: instance Amazonka.Data.Headers.ToHeaders Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance Amazonka.Data.Path.ToPath Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance Amazonka.Types.AWSRequest Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance Control.DeepSeq.NFData Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance Control.DeepSeq.NFData Amazonka.LexRuntime.PostText.PostTextResponse
+ Amazonka.LexRuntime.PostText: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance GHC.Classes.Eq Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance GHC.Classes.Eq Amazonka.LexRuntime.PostText.PostTextResponse
+ Amazonka.LexRuntime.PostText: instance GHC.Generics.Generic Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance GHC.Generics.Generic Amazonka.LexRuntime.PostText.PostTextResponse
+ Amazonka.LexRuntime.PostText: instance GHC.Show.Show Amazonka.LexRuntime.PostText.PostText
+ Amazonka.LexRuntime.PostText: instance GHC.Show.Show Amazonka.LexRuntime.PostText.PostTextResponse
+ Amazonka.LexRuntime.PostText: newPostText :: Text -> Text -> Text -> Text -> PostText
+ Amazonka.LexRuntime.PostText: newPostTextResponse :: Int -> PostTextResponse
+ Amazonka.LexRuntime.PostText: postTextResponse_activeContexts :: Lens' PostTextResponse (Maybe [ActiveContext])
+ Amazonka.LexRuntime.PostText: postTextResponse_alternativeIntents :: Lens' PostTextResponse (Maybe [PredictedIntent])
+ Amazonka.LexRuntime.PostText: postTextResponse_botVersion :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.PostText: postTextResponse_dialogState :: Lens' PostTextResponse (Maybe DialogState)
+ Amazonka.LexRuntime.PostText: postTextResponse_httpStatus :: Lens' PostTextResponse Int
+ Amazonka.LexRuntime.PostText: postTextResponse_intentName :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.PostText: postTextResponse_message :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.PostText: postTextResponse_messageFormat :: Lens' PostTextResponse (Maybe MessageFormatType)
+ Amazonka.LexRuntime.PostText: postTextResponse_nluIntentConfidence :: Lens' PostTextResponse (Maybe IntentConfidence)
+ Amazonka.LexRuntime.PostText: postTextResponse_responseCard :: Lens' PostTextResponse (Maybe ResponseCard)
+ Amazonka.LexRuntime.PostText: postTextResponse_sentimentResponse :: Lens' PostTextResponse (Maybe SentimentResponse)
+ Amazonka.LexRuntime.PostText: postTextResponse_sessionAttributes :: Lens' PostTextResponse (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.PostText: postTextResponse_sessionId :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.PostText: postTextResponse_slotToElicit :: Lens' PostTextResponse (Maybe Text)
+ Amazonka.LexRuntime.PostText: postTextResponse_slots :: Lens' PostTextResponse (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.PostText: postText_activeContexts :: Lens' PostText (Maybe [ActiveContext])
+ Amazonka.LexRuntime.PostText: postText_botAlias :: Lens' PostText Text
+ Amazonka.LexRuntime.PostText: postText_botName :: Lens' PostText Text
+ Amazonka.LexRuntime.PostText: postText_inputText :: Lens' PostText Text
+ Amazonka.LexRuntime.PostText: postText_requestAttributes :: Lens' PostText (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.PostText: postText_sessionAttributes :: Lens' PostText (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.PostText: postText_userId :: Lens' PostText Text
+ Amazonka.LexRuntime.PutSession: PutSession' :: Maybe Text -> Maybe (Sensitive [ActiveContext]) -> Maybe DialogAction -> Maybe [IntentSummary] -> Maybe (Sensitive (HashMap Text Text)) -> Text -> Text -> Text -> PutSession
+ Amazonka.LexRuntime.PutSession: PutSessionResponse' :: Maybe (Sensitive Text) -> Maybe Text -> Maybe DialogState -> Maybe (Sensitive Text) -> Maybe Text -> Maybe (Sensitive Text) -> Maybe MessageFormatType -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> ResponseBody -> PutSessionResponse
+ Amazonka.LexRuntime.PutSession: [$sel:accept:PutSession'] :: PutSession -> Maybe Text
+ Amazonka.LexRuntime.PutSession: [$sel:activeContexts:PutSession'] :: PutSession -> Maybe (Sensitive [ActiveContext])
+ Amazonka.LexRuntime.PutSession: [$sel:activeContexts:PutSessionResponse'] :: PutSessionResponse -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PutSession: [$sel:audioStream:PutSessionResponse'] :: PutSessionResponse -> ResponseBody
+ Amazonka.LexRuntime.PutSession: [$sel:botAlias:PutSession'] :: PutSession -> Text
+ Amazonka.LexRuntime.PutSession: [$sel:botName:PutSession'] :: PutSession -> Text
+ Amazonka.LexRuntime.PutSession: [$sel:contentType:PutSessionResponse'] :: PutSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.PutSession: [$sel:dialogAction:PutSession'] :: PutSession -> Maybe DialogAction
+ Amazonka.LexRuntime.PutSession: [$sel:dialogState:PutSessionResponse'] :: PutSessionResponse -> Maybe DialogState
+ Amazonka.LexRuntime.PutSession: [$sel:encodedMessage:PutSessionResponse'] :: PutSessionResponse -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PutSession: [$sel:httpStatus:PutSessionResponse'] :: PutSessionResponse -> Int
+ Amazonka.LexRuntime.PutSession: [$sel:intentName:PutSessionResponse'] :: PutSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.PutSession: [$sel:message:PutSessionResponse'] :: PutSessionResponse -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.PutSession: [$sel:messageFormat:PutSessionResponse'] :: PutSessionResponse -> Maybe MessageFormatType
+ Amazonka.LexRuntime.PutSession: [$sel:recentIntentSummaryView:PutSession'] :: PutSession -> Maybe [IntentSummary]
+ Amazonka.LexRuntime.PutSession: [$sel:sessionAttributes:PutSession'] :: PutSession -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.PutSession: [$sel:sessionAttributes:PutSessionResponse'] :: PutSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.PutSession: [$sel:sessionId:PutSessionResponse'] :: PutSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.PutSession: [$sel:slotToElicit:PutSessionResponse'] :: PutSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.PutSession: [$sel:slots:PutSessionResponse'] :: PutSessionResponse -> Maybe Text
+ Amazonka.LexRuntime.PutSession: [$sel:userId:PutSession'] :: PutSession -> Text
+ Amazonka.LexRuntime.PutSession: data PutSession
+ Amazonka.LexRuntime.PutSession: data PutSessionResponse
+ Amazonka.LexRuntime.PutSession: instance Amazonka.Data.Headers.ToHeaders Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance Amazonka.Data.Path.ToPath Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance Amazonka.Types.AWSRequest Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance Control.DeepSeq.NFData Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance GHC.Classes.Eq Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance GHC.Generics.Generic Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance GHC.Generics.Generic Amazonka.LexRuntime.PutSession.PutSessionResponse
+ Amazonka.LexRuntime.PutSession: instance GHC.Show.Show Amazonka.LexRuntime.PutSession.PutSession
+ Amazonka.LexRuntime.PutSession: instance GHC.Show.Show Amazonka.LexRuntime.PutSession.PutSessionResponse
+ Amazonka.LexRuntime.PutSession: newPutSession :: Text -> Text -> Text -> PutSession
+ Amazonka.LexRuntime.PutSession: newPutSessionResponse :: Int -> ResponseBody -> PutSessionResponse
+ Amazonka.LexRuntime.PutSession: putSessionResponse_activeContexts :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_audioStream :: Lens' PutSessionResponse ResponseBody
+ Amazonka.LexRuntime.PutSession: putSessionResponse_contentType :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_dialogState :: Lens' PutSessionResponse (Maybe DialogState)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_encodedMessage :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_httpStatus :: Lens' PutSessionResponse Int
+ Amazonka.LexRuntime.PutSession: putSessionResponse_intentName :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_message :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_messageFormat :: Lens' PutSessionResponse (Maybe MessageFormatType)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_sessionAttributes :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_sessionId :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_slotToElicit :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSessionResponse_slots :: Lens' PutSessionResponse (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSession_accept :: Lens' PutSession (Maybe Text)
+ Amazonka.LexRuntime.PutSession: putSession_activeContexts :: Lens' PutSession (Maybe [ActiveContext])
+ Amazonka.LexRuntime.PutSession: putSession_botAlias :: Lens' PutSession Text
+ Amazonka.LexRuntime.PutSession: putSession_botName :: Lens' PutSession Text
+ Amazonka.LexRuntime.PutSession: putSession_dialogAction :: Lens' PutSession (Maybe DialogAction)
+ Amazonka.LexRuntime.PutSession: putSession_recentIntentSummaryView :: Lens' PutSession (Maybe [IntentSummary])
+ Amazonka.LexRuntime.PutSession: putSession_sessionAttributes :: Lens' PutSession (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.PutSession: putSession_userId :: Lens' PutSession Text
+ Amazonka.LexRuntime.Types: ActiveContext' :: Text -> ActiveContextTimeToLive -> HashMap Text (Sensitive Text) -> ActiveContext
+ Amazonka.LexRuntime.Types: ActiveContextTimeToLive' :: Maybe Natural -> Maybe Natural -> ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types: Button' :: Text -> Text -> Button
+ Amazonka.LexRuntime.Types: ConfirmationStatus' :: Text -> ConfirmationStatus
+ Amazonka.LexRuntime.Types: ContentType' :: Text -> ContentType
+ Amazonka.LexRuntime.Types: DialogAction' :: Maybe FulfillmentState -> Maybe Text -> Maybe (Sensitive Text) -> Maybe MessageFormatType -> Maybe Text -> Maybe (Sensitive (HashMap Text Text)) -> DialogActionType -> DialogAction
+ Amazonka.LexRuntime.Types: DialogActionType' :: Text -> DialogActionType
+ Amazonka.LexRuntime.Types: DialogState' :: Text -> DialogState
+ Amazonka.LexRuntime.Types: FulfillmentState' :: Text -> FulfillmentState
+ Amazonka.LexRuntime.Types: GenericAttachment' :: Maybe Text -> Maybe [Button] -> Maybe Text -> Maybe Text -> Maybe Text -> GenericAttachment
+ Amazonka.LexRuntime.Types: IntentConfidence' :: Maybe Double -> IntentConfidence
+ Amazonka.LexRuntime.Types: IntentSummary' :: Maybe Text -> Maybe ConfirmationStatus -> Maybe FulfillmentState -> Maybe Text -> Maybe Text -> Maybe (Sensitive (HashMap Text Text)) -> DialogActionType -> IntentSummary
+ Amazonka.LexRuntime.Types: MessageFormatType' :: Text -> MessageFormatType
+ Amazonka.LexRuntime.Types: PredictedIntent' :: Maybe Text -> Maybe IntentConfidence -> Maybe (Sensitive (HashMap Text Text)) -> PredictedIntent
+ Amazonka.LexRuntime.Types: ResponseCard' :: Maybe ContentType -> Maybe [GenericAttachment] -> Maybe Text -> ResponseCard
+ Amazonka.LexRuntime.Types: SentimentResponse' :: Maybe Text -> Maybe Text -> SentimentResponse
+ Amazonka.LexRuntime.Types: [$sel:attachmentLinkUrl:GenericAttachment'] :: GenericAttachment -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:buttons:GenericAttachment'] :: GenericAttachment -> Maybe [Button]
+ Amazonka.LexRuntime.Types: [$sel:checkpointLabel:IntentSummary'] :: IntentSummary -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:confirmationStatus:IntentSummary'] :: IntentSummary -> Maybe ConfirmationStatus
+ Amazonka.LexRuntime.Types: [$sel:contentType:ResponseCard'] :: ResponseCard -> Maybe ContentType
+ Amazonka.LexRuntime.Types: [$sel:dialogActionType:IntentSummary'] :: IntentSummary -> DialogActionType
+ Amazonka.LexRuntime.Types: [$sel:fulfillmentState:DialogAction'] :: DialogAction -> Maybe FulfillmentState
+ Amazonka.LexRuntime.Types: [$sel:fulfillmentState:IntentSummary'] :: IntentSummary -> Maybe FulfillmentState
+ Amazonka.LexRuntime.Types: [$sel:genericAttachments:ResponseCard'] :: ResponseCard -> Maybe [GenericAttachment]
+ Amazonka.LexRuntime.Types: [$sel:imageUrl:GenericAttachment'] :: GenericAttachment -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:intentName:DialogAction'] :: DialogAction -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:intentName:IntentSummary'] :: IntentSummary -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:intentName:PredictedIntent'] :: PredictedIntent -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:message:DialogAction'] :: DialogAction -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.Types: [$sel:messageFormat:DialogAction'] :: DialogAction -> Maybe MessageFormatType
+ Amazonka.LexRuntime.Types: [$sel:name:ActiveContext'] :: ActiveContext -> Text
+ Amazonka.LexRuntime.Types: [$sel:nluIntentConfidence:PredictedIntent'] :: PredictedIntent -> Maybe IntentConfidence
+ Amazonka.LexRuntime.Types: [$sel:parameters:ActiveContext'] :: ActiveContext -> HashMap Text (Sensitive Text)
+ Amazonka.LexRuntime.Types: [$sel:score:IntentConfidence'] :: IntentConfidence -> Maybe Double
+ Amazonka.LexRuntime.Types: [$sel:sentimentLabel:SentimentResponse'] :: SentimentResponse -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:sentimentScore:SentimentResponse'] :: SentimentResponse -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:slotToElicit:DialogAction'] :: DialogAction -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:slotToElicit:IntentSummary'] :: IntentSummary -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:slots:DialogAction'] :: DialogAction -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.Types: [$sel:slots:IntentSummary'] :: IntentSummary -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.Types: [$sel:slots:PredictedIntent'] :: PredictedIntent -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.Types: [$sel:subTitle:GenericAttachment'] :: GenericAttachment -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:text:Button'] :: Button -> Text
+ Amazonka.LexRuntime.Types: [$sel:timeToLive:ActiveContext'] :: ActiveContext -> ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types: [$sel:timeToLiveInSeconds:ActiveContextTimeToLive'] :: ActiveContextTimeToLive -> Maybe Natural
+ Amazonka.LexRuntime.Types: [$sel:title:GenericAttachment'] :: GenericAttachment -> Maybe Text
+ Amazonka.LexRuntime.Types: [$sel:turnsToLive:ActiveContextTimeToLive'] :: ActiveContextTimeToLive -> Maybe Natural
+ Amazonka.LexRuntime.Types: [$sel:type':DialogAction'] :: DialogAction -> DialogActionType
+ Amazonka.LexRuntime.Types: [$sel:value:Button'] :: Button -> Text
+ Amazonka.LexRuntime.Types: [$sel:version:ResponseCard'] :: ResponseCard -> Maybe Text
+ Amazonka.LexRuntime.Types: [fromConfirmationStatus] :: ConfirmationStatus -> Text
+ Amazonka.LexRuntime.Types: [fromContentType] :: ContentType -> Text
+ Amazonka.LexRuntime.Types: [fromDialogActionType] :: DialogActionType -> Text
+ Amazonka.LexRuntime.Types: [fromDialogState] :: DialogState -> Text
+ Amazonka.LexRuntime.Types: [fromFulfillmentState] :: FulfillmentState -> Text
+ Amazonka.LexRuntime.Types: [fromMessageFormatType] :: MessageFormatType -> Text
+ Amazonka.LexRuntime.Types: _BadGatewayException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _BadRequestException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _ConflictException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _DependencyFailedException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _InternalFailureException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _LimitExceededException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _LoopDetectedException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _NotAcceptableException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _NotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _RequestTimeoutException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: _UnsupportedMediaTypeException :: AsError a => Fold a ServiceError
+ Amazonka.LexRuntime.Types: activeContextTimeToLive_timeToLiveInSeconds :: Lens' ActiveContextTimeToLive (Maybe Natural)
+ Amazonka.LexRuntime.Types: activeContextTimeToLive_turnsToLive :: Lens' ActiveContextTimeToLive (Maybe Natural)
+ Amazonka.LexRuntime.Types: activeContext_name :: Lens' ActiveContext Text
+ Amazonka.LexRuntime.Types: activeContext_parameters :: Lens' ActiveContext (HashMap Text Text)
+ Amazonka.LexRuntime.Types: activeContext_timeToLive :: Lens' ActiveContext ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types: button_text :: Lens' Button Text
+ Amazonka.LexRuntime.Types: button_value :: Lens' Button Text
+ Amazonka.LexRuntime.Types: data ActiveContext
+ Amazonka.LexRuntime.Types: data ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types: data Button
+ Amazonka.LexRuntime.Types: data DialogAction
+ Amazonka.LexRuntime.Types: data GenericAttachment
+ Amazonka.LexRuntime.Types: data IntentConfidence
+ Amazonka.LexRuntime.Types: data IntentSummary
+ Amazonka.LexRuntime.Types: data PredictedIntent
+ Amazonka.LexRuntime.Types: data ResponseCard
+ Amazonka.LexRuntime.Types: data SentimentResponse
+ Amazonka.LexRuntime.Types: defaultService :: Service
+ Amazonka.LexRuntime.Types: dialogAction_fulfillmentState :: Lens' DialogAction (Maybe FulfillmentState)
+ Amazonka.LexRuntime.Types: dialogAction_intentName :: Lens' DialogAction (Maybe Text)
+ Amazonka.LexRuntime.Types: dialogAction_message :: Lens' DialogAction (Maybe Text)
+ Amazonka.LexRuntime.Types: dialogAction_messageFormat :: Lens' DialogAction (Maybe MessageFormatType)
+ Amazonka.LexRuntime.Types: dialogAction_slotToElicit :: Lens' DialogAction (Maybe Text)
+ Amazonka.LexRuntime.Types: dialogAction_slots :: Lens' DialogAction (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Types: dialogAction_type :: Lens' DialogAction DialogActionType
+ Amazonka.LexRuntime.Types: genericAttachment_attachmentLinkUrl :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Types: genericAttachment_buttons :: Lens' GenericAttachment (Maybe [Button])
+ Amazonka.LexRuntime.Types: genericAttachment_imageUrl :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Types: genericAttachment_subTitle :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Types: genericAttachment_title :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Types: intentConfidence_score :: Lens' IntentConfidence (Maybe Double)
+ Amazonka.LexRuntime.Types: intentSummary_checkpointLabel :: Lens' IntentSummary (Maybe Text)
+ Amazonka.LexRuntime.Types: intentSummary_confirmationStatus :: Lens' IntentSummary (Maybe ConfirmationStatus)
+ Amazonka.LexRuntime.Types: intentSummary_dialogActionType :: Lens' IntentSummary DialogActionType
+ Amazonka.LexRuntime.Types: intentSummary_fulfillmentState :: Lens' IntentSummary (Maybe FulfillmentState)
+ Amazonka.LexRuntime.Types: intentSummary_intentName :: Lens' IntentSummary (Maybe Text)
+ Amazonka.LexRuntime.Types: intentSummary_slotToElicit :: Lens' IntentSummary (Maybe Text)
+ Amazonka.LexRuntime.Types: intentSummary_slots :: Lens' IntentSummary (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Types: newActiveContext :: Text -> ActiveContextTimeToLive -> ActiveContext
+ Amazonka.LexRuntime.Types: newActiveContextTimeToLive :: ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types: newButton :: Text -> Text -> Button
+ Amazonka.LexRuntime.Types: newDialogAction :: DialogActionType -> DialogAction
+ Amazonka.LexRuntime.Types: newGenericAttachment :: GenericAttachment
+ Amazonka.LexRuntime.Types: newIntentConfidence :: IntentConfidence
+ Amazonka.LexRuntime.Types: newIntentSummary :: DialogActionType -> IntentSummary
+ Amazonka.LexRuntime.Types: newPredictedIntent :: PredictedIntent
+ Amazonka.LexRuntime.Types: newResponseCard :: ResponseCard
+ Amazonka.LexRuntime.Types: newSentimentResponse :: SentimentResponse
+ Amazonka.LexRuntime.Types: newtype ConfirmationStatus
+ Amazonka.LexRuntime.Types: newtype ContentType
+ Amazonka.LexRuntime.Types: newtype DialogActionType
+ Amazonka.LexRuntime.Types: newtype DialogState
+ Amazonka.LexRuntime.Types: newtype FulfillmentState
+ Amazonka.LexRuntime.Types: newtype MessageFormatType
+ Amazonka.LexRuntime.Types: pattern ConfirmationStatus_Confirmed :: ConfirmationStatus
+ Amazonka.LexRuntime.Types: pattern ConfirmationStatus_Denied :: ConfirmationStatus
+ Amazonka.LexRuntime.Types: pattern ConfirmationStatus_None :: ConfirmationStatus
+ Amazonka.LexRuntime.Types: pattern ContentType_Application_vnd_amazonaws_card_generic :: ContentType
+ Amazonka.LexRuntime.Types: pattern DialogActionType_Close :: DialogActionType
+ Amazonka.LexRuntime.Types: pattern DialogActionType_ConfirmIntent :: DialogActionType
+ Amazonka.LexRuntime.Types: pattern DialogActionType_Delegate :: DialogActionType
+ Amazonka.LexRuntime.Types: pattern DialogActionType_ElicitIntent :: DialogActionType
+ Amazonka.LexRuntime.Types: pattern DialogActionType_ElicitSlot :: DialogActionType
+ Amazonka.LexRuntime.Types: pattern DialogState_ConfirmIntent :: DialogState
+ Amazonka.LexRuntime.Types: pattern DialogState_ElicitIntent :: DialogState
+ Amazonka.LexRuntime.Types: pattern DialogState_ElicitSlot :: DialogState
+ Amazonka.LexRuntime.Types: pattern DialogState_Failed :: DialogState
+ Amazonka.LexRuntime.Types: pattern DialogState_Fulfilled :: DialogState
+ Amazonka.LexRuntime.Types: pattern DialogState_ReadyForFulfillment :: DialogState
+ Amazonka.LexRuntime.Types: pattern FulfillmentState_Failed :: FulfillmentState
+ Amazonka.LexRuntime.Types: pattern FulfillmentState_Fulfilled :: FulfillmentState
+ Amazonka.LexRuntime.Types: pattern FulfillmentState_ReadyForFulfillment :: FulfillmentState
+ Amazonka.LexRuntime.Types: pattern MessageFormatType_Composite :: MessageFormatType
+ Amazonka.LexRuntime.Types: pattern MessageFormatType_CustomPayload :: MessageFormatType
+ Amazonka.LexRuntime.Types: pattern MessageFormatType_PlainText :: MessageFormatType
+ Amazonka.LexRuntime.Types: pattern MessageFormatType_SSML :: MessageFormatType
+ Amazonka.LexRuntime.Types: predictedIntent_intentName :: Lens' PredictedIntent (Maybe Text)
+ Amazonka.LexRuntime.Types: predictedIntent_nluIntentConfidence :: Lens' PredictedIntent (Maybe IntentConfidence)
+ Amazonka.LexRuntime.Types: predictedIntent_slots :: Lens' PredictedIntent (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Types: responseCard_contentType :: Lens' ResponseCard (Maybe ContentType)
+ Amazonka.LexRuntime.Types: responseCard_genericAttachments :: Lens' ResponseCard (Maybe [GenericAttachment])
+ Amazonka.LexRuntime.Types: responseCard_version :: Lens' ResponseCard (Maybe Text)
+ Amazonka.LexRuntime.Types: sentimentResponse_sentimentLabel :: Lens' SentimentResponse (Maybe Text)
+ Amazonka.LexRuntime.Types: sentimentResponse_sentimentScore :: Lens' SentimentResponse (Maybe Text)
+ Amazonka.LexRuntime.Types.ActiveContext: ActiveContext' :: Text -> ActiveContextTimeToLive -> HashMap Text (Sensitive Text) -> ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContext: [$sel:name:ActiveContext'] :: ActiveContext -> Text
+ Amazonka.LexRuntime.Types.ActiveContext: [$sel:parameters:ActiveContext'] :: ActiveContext -> HashMap Text (Sensitive Text)
+ Amazonka.LexRuntime.Types.ActiveContext: [$sel:timeToLive:ActiveContext'] :: ActiveContext -> ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContext: activeContext_name :: Lens' ActiveContext Text
+ Amazonka.LexRuntime.Types.ActiveContext: activeContext_parameters :: Lens' ActiveContext (HashMap Text Text)
+ Amazonka.LexRuntime.Types.ActiveContext: activeContext_timeToLive :: Lens' ActiveContext ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContext: data ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContext: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.ActiveContext.ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContext: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.ActiveContext.ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContext: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.ActiveContext.ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContext: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.ActiveContext.ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContext: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.ActiveContext.ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContext: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.ActiveContext.ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContext: instance GHC.Show.Show Amazonka.LexRuntime.Types.ActiveContext.ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContext: newActiveContext :: Text -> ActiveContextTimeToLive -> ActiveContext
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: ActiveContextTimeToLive' :: Maybe Natural -> Maybe Natural -> ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: [$sel:timeToLiveInSeconds:ActiveContextTimeToLive'] :: ActiveContextTimeToLive -> Maybe Natural
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: [$sel:turnsToLive:ActiveContextTimeToLive'] :: ActiveContextTimeToLive -> Maybe Natural
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: activeContextTimeToLive_timeToLiveInSeconds :: Lens' ActiveContextTimeToLive (Maybe Natural)
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: activeContextTimeToLive_turnsToLive :: Lens' ActiveContextTimeToLive (Maybe Natural)
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: data ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.ActiveContextTimeToLive.ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.ActiveContextTimeToLive.ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.ActiveContextTimeToLive.ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.ActiveContextTimeToLive.ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.ActiveContextTimeToLive.ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.ActiveContextTimeToLive.ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: instance GHC.Read.Read Amazonka.LexRuntime.Types.ActiveContextTimeToLive.ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: instance GHC.Show.Show Amazonka.LexRuntime.Types.ActiveContextTimeToLive.ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.ActiveContextTimeToLive: newActiveContextTimeToLive :: ActiveContextTimeToLive
+ Amazonka.LexRuntime.Types.Button: Button' :: Text -> Text -> Button
+ Amazonka.LexRuntime.Types.Button: [$sel:text:Button'] :: Button -> Text
+ Amazonka.LexRuntime.Types.Button: [$sel:value:Button'] :: Button -> Text
+ Amazonka.LexRuntime.Types.Button: button_text :: Lens' Button Text
+ Amazonka.LexRuntime.Types.Button: button_value :: Lens' Button Text
+ Amazonka.LexRuntime.Types.Button: data Button
+ Amazonka.LexRuntime.Types.Button: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.Button.Button
+ Amazonka.LexRuntime.Types.Button: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.Button.Button
+ Amazonka.LexRuntime.Types.Button: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.Button.Button
+ Amazonka.LexRuntime.Types.Button: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.Button.Button
+ Amazonka.LexRuntime.Types.Button: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.Button.Button
+ Amazonka.LexRuntime.Types.Button: instance GHC.Read.Read Amazonka.LexRuntime.Types.Button.Button
+ Amazonka.LexRuntime.Types.Button: instance GHC.Show.Show Amazonka.LexRuntime.Types.Button.Button
+ Amazonka.LexRuntime.Types.Button: newButton :: Text -> Text -> Button
+ Amazonka.LexRuntime.Types.ConfirmationStatus: ConfirmationStatus' :: Text -> ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: [fromConfirmationStatus] :: ConfirmationStatus -> Text
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Amazonka.Data.Log.ToLog Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Amazonka.Data.Text.FromText Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Amazonka.Data.Text.ToText Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Amazonka.Data.XML.FromXML Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Amazonka.Data.XML.ToXML Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance GHC.Classes.Ord Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance GHC.Read.Read Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: instance GHC.Show.Show Amazonka.LexRuntime.Types.ConfirmationStatus.ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: newtype ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: pattern ConfirmationStatus_Confirmed :: ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: pattern ConfirmationStatus_Denied :: ConfirmationStatus
+ Amazonka.LexRuntime.Types.ConfirmationStatus: pattern ConfirmationStatus_None :: ConfirmationStatus
+ Amazonka.LexRuntime.Types.ContentType: ContentType' :: Text -> ContentType
+ Amazonka.LexRuntime.Types.ContentType: [fromContentType] :: ContentType -> Text
+ Amazonka.LexRuntime.Types.ContentType: instance Amazonka.Data.ByteString.ToByteString Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Amazonka.Data.Headers.ToHeader Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Amazonka.Data.Log.ToLog Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Amazonka.Data.Text.FromText Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Amazonka.Data.Text.ToText Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Amazonka.Data.XML.FromXML Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Amazonka.Data.XML.ToXML Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance GHC.Classes.Ord Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance GHC.Read.Read Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: instance GHC.Show.Show Amazonka.LexRuntime.Types.ContentType.ContentType
+ Amazonka.LexRuntime.Types.ContentType: newtype ContentType
+ Amazonka.LexRuntime.Types.ContentType: pattern ContentType_Application_vnd_amazonaws_card_generic :: ContentType
+ Amazonka.LexRuntime.Types.DialogAction: DialogAction' :: Maybe FulfillmentState -> Maybe Text -> Maybe (Sensitive Text) -> Maybe MessageFormatType -> Maybe Text -> Maybe (Sensitive (HashMap Text Text)) -> DialogActionType -> DialogAction
+ Amazonka.LexRuntime.Types.DialogAction: [$sel:fulfillmentState:DialogAction'] :: DialogAction -> Maybe FulfillmentState
+ Amazonka.LexRuntime.Types.DialogAction: [$sel:intentName:DialogAction'] :: DialogAction -> Maybe Text
+ Amazonka.LexRuntime.Types.DialogAction: [$sel:message:DialogAction'] :: DialogAction -> Maybe (Sensitive Text)
+ Amazonka.LexRuntime.Types.DialogAction: [$sel:messageFormat:DialogAction'] :: DialogAction -> Maybe MessageFormatType
+ Amazonka.LexRuntime.Types.DialogAction: [$sel:slotToElicit:DialogAction'] :: DialogAction -> Maybe Text
+ Amazonka.LexRuntime.Types.DialogAction: [$sel:slots:DialogAction'] :: DialogAction -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.Types.DialogAction: [$sel:type':DialogAction'] :: DialogAction -> DialogActionType
+ Amazonka.LexRuntime.Types.DialogAction: data DialogAction
+ Amazonka.LexRuntime.Types.DialogAction: dialogAction_fulfillmentState :: Lens' DialogAction (Maybe FulfillmentState)
+ Amazonka.LexRuntime.Types.DialogAction: dialogAction_intentName :: Lens' DialogAction (Maybe Text)
+ Amazonka.LexRuntime.Types.DialogAction: dialogAction_message :: Lens' DialogAction (Maybe Text)
+ Amazonka.LexRuntime.Types.DialogAction: dialogAction_messageFormat :: Lens' DialogAction (Maybe MessageFormatType)
+ Amazonka.LexRuntime.Types.DialogAction: dialogAction_slotToElicit :: Lens' DialogAction (Maybe Text)
+ Amazonka.LexRuntime.Types.DialogAction: dialogAction_slots :: Lens' DialogAction (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Types.DialogAction: dialogAction_type :: Lens' DialogAction DialogActionType
+ Amazonka.LexRuntime.Types.DialogAction: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.DialogAction.DialogAction
+ Amazonka.LexRuntime.Types.DialogAction: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.DialogAction.DialogAction
+ Amazonka.LexRuntime.Types.DialogAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.DialogAction.DialogAction
+ Amazonka.LexRuntime.Types.DialogAction: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.DialogAction.DialogAction
+ Amazonka.LexRuntime.Types.DialogAction: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.DialogAction.DialogAction
+ Amazonka.LexRuntime.Types.DialogAction: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.DialogAction.DialogAction
+ Amazonka.LexRuntime.Types.DialogAction: instance GHC.Show.Show Amazonka.LexRuntime.Types.DialogAction.DialogAction
+ Amazonka.LexRuntime.Types.DialogAction: newDialogAction :: DialogActionType -> DialogAction
+ Amazonka.LexRuntime.Types.DialogActionType: DialogActionType' :: Text -> DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: [fromDialogActionType] :: DialogActionType -> Text
+ Amazonka.LexRuntime.Types.DialogActionType: instance Amazonka.Data.ByteString.ToByteString Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Amazonka.Data.Headers.ToHeader Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Amazonka.Data.Log.ToLog Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Amazonka.Data.Text.FromText Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Amazonka.Data.Text.ToText Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Amazonka.Data.XML.FromXML Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Amazonka.Data.XML.ToXML Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance GHC.Classes.Ord Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance GHC.Read.Read Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: instance GHC.Show.Show Amazonka.LexRuntime.Types.DialogActionType.DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: newtype DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: pattern DialogActionType_Close :: DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: pattern DialogActionType_ConfirmIntent :: DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: pattern DialogActionType_Delegate :: DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: pattern DialogActionType_ElicitIntent :: DialogActionType
+ Amazonka.LexRuntime.Types.DialogActionType: pattern DialogActionType_ElicitSlot :: DialogActionType
+ Amazonka.LexRuntime.Types.DialogState: DialogState' :: Text -> DialogState
+ Amazonka.LexRuntime.Types.DialogState: [fromDialogState] :: DialogState -> Text
+ Amazonka.LexRuntime.Types.DialogState: instance Amazonka.Data.ByteString.ToByteString Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Amazonka.Data.Headers.ToHeader Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Amazonka.Data.Log.ToLog Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Amazonka.Data.Text.FromText Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Amazonka.Data.Text.ToText Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Amazonka.Data.XML.FromXML Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Amazonka.Data.XML.ToXML Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance GHC.Classes.Ord Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance GHC.Read.Read Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: instance GHC.Show.Show Amazonka.LexRuntime.Types.DialogState.DialogState
+ Amazonka.LexRuntime.Types.DialogState: newtype DialogState
+ Amazonka.LexRuntime.Types.DialogState: pattern DialogState_ConfirmIntent :: DialogState
+ Amazonka.LexRuntime.Types.DialogState: pattern DialogState_ElicitIntent :: DialogState
+ Amazonka.LexRuntime.Types.DialogState: pattern DialogState_ElicitSlot :: DialogState
+ Amazonka.LexRuntime.Types.DialogState: pattern DialogState_Failed :: DialogState
+ Amazonka.LexRuntime.Types.DialogState: pattern DialogState_Fulfilled :: DialogState
+ Amazonka.LexRuntime.Types.DialogState: pattern DialogState_ReadyForFulfillment :: DialogState
+ Amazonka.LexRuntime.Types.FulfillmentState: FulfillmentState' :: Text -> FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: [fromFulfillmentState] :: FulfillmentState -> Text
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Amazonka.Data.ByteString.ToByteString Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Amazonka.Data.Headers.ToHeader Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Amazonka.Data.Log.ToLog Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Amazonka.Data.Text.FromText Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Amazonka.Data.Text.ToText Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Amazonka.Data.XML.FromXML Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Amazonka.Data.XML.ToXML Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance GHC.Classes.Ord Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance GHC.Read.Read Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: instance GHC.Show.Show Amazonka.LexRuntime.Types.FulfillmentState.FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: newtype FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: pattern FulfillmentState_Failed :: FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: pattern FulfillmentState_Fulfilled :: FulfillmentState
+ Amazonka.LexRuntime.Types.FulfillmentState: pattern FulfillmentState_ReadyForFulfillment :: FulfillmentState
+ Amazonka.LexRuntime.Types.GenericAttachment: GenericAttachment' :: Maybe Text -> Maybe [Button] -> Maybe Text -> Maybe Text -> Maybe Text -> GenericAttachment
+ Amazonka.LexRuntime.Types.GenericAttachment: [$sel:attachmentLinkUrl:GenericAttachment'] :: GenericAttachment -> Maybe Text
+ Amazonka.LexRuntime.Types.GenericAttachment: [$sel:buttons:GenericAttachment'] :: GenericAttachment -> Maybe [Button]
+ Amazonka.LexRuntime.Types.GenericAttachment: [$sel:imageUrl:GenericAttachment'] :: GenericAttachment -> Maybe Text
+ Amazonka.LexRuntime.Types.GenericAttachment: [$sel:subTitle:GenericAttachment'] :: GenericAttachment -> Maybe Text
+ Amazonka.LexRuntime.Types.GenericAttachment: [$sel:title:GenericAttachment'] :: GenericAttachment -> Maybe Text
+ Amazonka.LexRuntime.Types.GenericAttachment: data GenericAttachment
+ Amazonka.LexRuntime.Types.GenericAttachment: genericAttachment_attachmentLinkUrl :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Types.GenericAttachment: genericAttachment_buttons :: Lens' GenericAttachment (Maybe [Button])
+ Amazonka.LexRuntime.Types.GenericAttachment: genericAttachment_imageUrl :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Types.GenericAttachment: genericAttachment_subTitle :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Types.GenericAttachment: genericAttachment_title :: Lens' GenericAttachment (Maybe Text)
+ Amazonka.LexRuntime.Types.GenericAttachment: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.GenericAttachment.GenericAttachment
+ Amazonka.LexRuntime.Types.GenericAttachment: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.GenericAttachment.GenericAttachment
+ Amazonka.LexRuntime.Types.GenericAttachment: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.GenericAttachment.GenericAttachment
+ Amazonka.LexRuntime.Types.GenericAttachment: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.GenericAttachment.GenericAttachment
+ Amazonka.LexRuntime.Types.GenericAttachment: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.GenericAttachment.GenericAttachment
+ Amazonka.LexRuntime.Types.GenericAttachment: instance GHC.Read.Read Amazonka.LexRuntime.Types.GenericAttachment.GenericAttachment
+ Amazonka.LexRuntime.Types.GenericAttachment: instance GHC.Show.Show Amazonka.LexRuntime.Types.GenericAttachment.GenericAttachment
+ Amazonka.LexRuntime.Types.GenericAttachment: newGenericAttachment :: GenericAttachment
+ Amazonka.LexRuntime.Types.IntentConfidence: IntentConfidence' :: Maybe Double -> IntentConfidence
+ Amazonka.LexRuntime.Types.IntentConfidence: [$sel:score:IntentConfidence'] :: IntentConfidence -> Maybe Double
+ Amazonka.LexRuntime.Types.IntentConfidence: data IntentConfidence
+ Amazonka.LexRuntime.Types.IntentConfidence: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.IntentConfidence.IntentConfidence
+ Amazonka.LexRuntime.Types.IntentConfidence: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.IntentConfidence.IntentConfidence
+ Amazonka.LexRuntime.Types.IntentConfidence: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.IntentConfidence.IntentConfidence
+ Amazonka.LexRuntime.Types.IntentConfidence: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.IntentConfidence.IntentConfidence
+ Amazonka.LexRuntime.Types.IntentConfidence: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.IntentConfidence.IntentConfidence
+ Amazonka.LexRuntime.Types.IntentConfidence: instance GHC.Read.Read Amazonka.LexRuntime.Types.IntentConfidence.IntentConfidence
+ Amazonka.LexRuntime.Types.IntentConfidence: instance GHC.Show.Show Amazonka.LexRuntime.Types.IntentConfidence.IntentConfidence
+ Amazonka.LexRuntime.Types.IntentConfidence: intentConfidence_score :: Lens' IntentConfidence (Maybe Double)
+ Amazonka.LexRuntime.Types.IntentConfidence: newIntentConfidence :: IntentConfidence
+ Amazonka.LexRuntime.Types.IntentSummary: IntentSummary' :: Maybe Text -> Maybe ConfirmationStatus -> Maybe FulfillmentState -> Maybe Text -> Maybe Text -> Maybe (Sensitive (HashMap Text Text)) -> DialogActionType -> IntentSummary
+ Amazonka.LexRuntime.Types.IntentSummary: [$sel:checkpointLabel:IntentSummary'] :: IntentSummary -> Maybe Text
+ Amazonka.LexRuntime.Types.IntentSummary: [$sel:confirmationStatus:IntentSummary'] :: IntentSummary -> Maybe ConfirmationStatus
+ Amazonka.LexRuntime.Types.IntentSummary: [$sel:dialogActionType:IntentSummary'] :: IntentSummary -> DialogActionType
+ Amazonka.LexRuntime.Types.IntentSummary: [$sel:fulfillmentState:IntentSummary'] :: IntentSummary -> Maybe FulfillmentState
+ Amazonka.LexRuntime.Types.IntentSummary: [$sel:intentName:IntentSummary'] :: IntentSummary -> Maybe Text
+ Amazonka.LexRuntime.Types.IntentSummary: [$sel:slotToElicit:IntentSummary'] :: IntentSummary -> Maybe Text
+ Amazonka.LexRuntime.Types.IntentSummary: [$sel:slots:IntentSummary'] :: IntentSummary -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.Types.IntentSummary: data IntentSummary
+ Amazonka.LexRuntime.Types.IntentSummary: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.IntentSummary.IntentSummary
+ Amazonka.LexRuntime.Types.IntentSummary: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.IntentSummary.IntentSummary
+ Amazonka.LexRuntime.Types.IntentSummary: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.IntentSummary.IntentSummary
+ Amazonka.LexRuntime.Types.IntentSummary: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.IntentSummary.IntentSummary
+ Amazonka.LexRuntime.Types.IntentSummary: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.IntentSummary.IntentSummary
+ Amazonka.LexRuntime.Types.IntentSummary: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.IntentSummary.IntentSummary
+ Amazonka.LexRuntime.Types.IntentSummary: instance GHC.Show.Show Amazonka.LexRuntime.Types.IntentSummary.IntentSummary
+ Amazonka.LexRuntime.Types.IntentSummary: intentSummary_checkpointLabel :: Lens' IntentSummary (Maybe Text)
+ Amazonka.LexRuntime.Types.IntentSummary: intentSummary_confirmationStatus :: Lens' IntentSummary (Maybe ConfirmationStatus)
+ Amazonka.LexRuntime.Types.IntentSummary: intentSummary_dialogActionType :: Lens' IntentSummary DialogActionType
+ Amazonka.LexRuntime.Types.IntentSummary: intentSummary_fulfillmentState :: Lens' IntentSummary (Maybe FulfillmentState)
+ Amazonka.LexRuntime.Types.IntentSummary: intentSummary_intentName :: Lens' IntentSummary (Maybe Text)
+ Amazonka.LexRuntime.Types.IntentSummary: intentSummary_slotToElicit :: Lens' IntentSummary (Maybe Text)
+ Amazonka.LexRuntime.Types.IntentSummary: intentSummary_slots :: Lens' IntentSummary (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Types.IntentSummary: newIntentSummary :: DialogActionType -> IntentSummary
+ Amazonka.LexRuntime.Types.MessageFormatType: MessageFormatType' :: Text -> MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: [fromMessageFormatType] :: MessageFormatType -> Text
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Amazonka.Data.ByteString.ToByteString Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Amazonka.Data.Headers.ToHeader Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Amazonka.Data.Log.ToLog Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Amazonka.Data.Query.ToQuery Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Amazonka.Data.Text.FromText Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Amazonka.Data.Text.ToText Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Amazonka.Data.XML.FromXML Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Amazonka.Data.XML.ToXML Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance GHC.Classes.Ord Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance GHC.Read.Read Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: instance GHC.Show.Show Amazonka.LexRuntime.Types.MessageFormatType.MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: newtype MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: pattern MessageFormatType_Composite :: MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: pattern MessageFormatType_CustomPayload :: MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: pattern MessageFormatType_PlainText :: MessageFormatType
+ Amazonka.LexRuntime.Types.MessageFormatType: pattern MessageFormatType_SSML :: MessageFormatType
+ Amazonka.LexRuntime.Types.PredictedIntent: PredictedIntent' :: Maybe Text -> Maybe IntentConfidence -> Maybe (Sensitive (HashMap Text Text)) -> PredictedIntent
+ Amazonka.LexRuntime.Types.PredictedIntent: [$sel:intentName:PredictedIntent'] :: PredictedIntent -> Maybe Text
+ Amazonka.LexRuntime.Types.PredictedIntent: [$sel:nluIntentConfidence:PredictedIntent'] :: PredictedIntent -> Maybe IntentConfidence
+ Amazonka.LexRuntime.Types.PredictedIntent: [$sel:slots:PredictedIntent'] :: PredictedIntent -> Maybe (Sensitive (HashMap Text Text))
+ Amazonka.LexRuntime.Types.PredictedIntent: data PredictedIntent
+ Amazonka.LexRuntime.Types.PredictedIntent: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.PredictedIntent.PredictedIntent
+ Amazonka.LexRuntime.Types.PredictedIntent: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.PredictedIntent.PredictedIntent
+ Amazonka.LexRuntime.Types.PredictedIntent: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.PredictedIntent.PredictedIntent
+ Amazonka.LexRuntime.Types.PredictedIntent: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.PredictedIntent.PredictedIntent
+ Amazonka.LexRuntime.Types.PredictedIntent: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.PredictedIntent.PredictedIntent
+ Amazonka.LexRuntime.Types.PredictedIntent: instance GHC.Show.Show Amazonka.LexRuntime.Types.PredictedIntent.PredictedIntent
+ Amazonka.LexRuntime.Types.PredictedIntent: newPredictedIntent :: PredictedIntent
+ Amazonka.LexRuntime.Types.PredictedIntent: predictedIntent_intentName :: Lens' PredictedIntent (Maybe Text)
+ Amazonka.LexRuntime.Types.PredictedIntent: predictedIntent_nluIntentConfidence :: Lens' PredictedIntent (Maybe IntentConfidence)
+ Amazonka.LexRuntime.Types.PredictedIntent: predictedIntent_slots :: Lens' PredictedIntent (Maybe (HashMap Text Text))
+ Amazonka.LexRuntime.Types.ResponseCard: ResponseCard' :: Maybe ContentType -> Maybe [GenericAttachment] -> Maybe Text -> ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: [$sel:contentType:ResponseCard'] :: ResponseCard -> Maybe ContentType
+ Amazonka.LexRuntime.Types.ResponseCard: [$sel:genericAttachments:ResponseCard'] :: ResponseCard -> Maybe [GenericAttachment]
+ Amazonka.LexRuntime.Types.ResponseCard: [$sel:version:ResponseCard'] :: ResponseCard -> Maybe Text
+ Amazonka.LexRuntime.Types.ResponseCard: data ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.ResponseCard.ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.ResponseCard.ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.ResponseCard.ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.ResponseCard.ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.ResponseCard.ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: instance GHC.Read.Read Amazonka.LexRuntime.Types.ResponseCard.ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: instance GHC.Show.Show Amazonka.LexRuntime.Types.ResponseCard.ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: newResponseCard :: ResponseCard
+ Amazonka.LexRuntime.Types.ResponseCard: responseCard_contentType :: Lens' ResponseCard (Maybe ContentType)
+ Amazonka.LexRuntime.Types.ResponseCard: responseCard_genericAttachments :: Lens' ResponseCard (Maybe [GenericAttachment])
+ Amazonka.LexRuntime.Types.ResponseCard: responseCard_version :: Lens' ResponseCard (Maybe Text)
+ Amazonka.LexRuntime.Types.SentimentResponse: SentimentResponse' :: Maybe Text -> Maybe Text -> SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: [$sel:sentimentLabel:SentimentResponse'] :: SentimentResponse -> Maybe Text
+ Amazonka.LexRuntime.Types.SentimentResponse: [$sel:sentimentScore:SentimentResponse'] :: SentimentResponse -> Maybe Text
+ Amazonka.LexRuntime.Types.SentimentResponse: data SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: instance Control.DeepSeq.NFData Amazonka.LexRuntime.Types.SentimentResponse.SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.LexRuntime.Types.SentimentResponse.SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: instance Data.Hashable.Class.Hashable Amazonka.LexRuntime.Types.SentimentResponse.SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: instance GHC.Classes.Eq Amazonka.LexRuntime.Types.SentimentResponse.SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: instance GHC.Generics.Generic Amazonka.LexRuntime.Types.SentimentResponse.SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: instance GHC.Read.Read Amazonka.LexRuntime.Types.SentimentResponse.SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: instance GHC.Show.Show Amazonka.LexRuntime.Types.SentimentResponse.SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: newSentimentResponse :: SentimentResponse
+ Amazonka.LexRuntime.Types.SentimentResponse: sentimentResponse_sentimentLabel :: Lens' SentimentResponse (Maybe Text)
+ Amazonka.LexRuntime.Types.SentimentResponse: sentimentResponse_sentimentScore :: Lens' SentimentResponse (Maybe Text)

Files

README.md view
@@ -7,9 +7,8 @@   ## Version--`1.6.1`-+ +`2.0` - Derived from API version @2016-11-28@ of the AWS service descriptions, licensed under Apache 2.0.  ## Description @@ -26,7 +25,7 @@ The provided lenses should be compatible with any of the major lens libraries [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core). -See [Network.AWS.LexRuntime](http://hackage.haskell.org/package/amazonka-lex-runtime/docs/Network-AWS-LexRuntime.html)+See [Amazonka.LexRuntime](http://hackage.haskell.org/package/amazonka-lex-runtime/docs/Amazonka-LexRuntime.html) or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.  
− Setup.hs
@@ -1,2 +0,0 @@-import           Distribution.Simple-main = defaultMain
amazonka-lex-runtime.cabal view
@@ -1,87 +1,104 @@-name:                  amazonka-lex-runtime-version:               1.6.1-synopsis:              Amazon Lex Runtime Service SDK.-homepage:              https://github.com/brendanhay/amazonka-bug-reports:           https://github.com/brendanhay/amazonka/issues-license:               MPL-2.0-license-file:          LICENSE-author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2018 Brendan Hay-category:              Network, AWS, Cloud, Distributed Computing-build-type:            Simple-cabal-version:         >= 1.10-extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep+cabal-version:      2.2+name:               amazonka-lex-runtime+version:            2.0+synopsis:           Amazon Lex Runtime Service SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep+ description:-    The types from this library are intended to be used with-    <http://hackage.haskell.org/package/amazonka amazonka>, which provides-    mechanisms for specifying AuthN/AuthZ information, sending requests,-    and receiving responses.-    .-    Lenses are used for constructing and manipulating types,-    due to the depth of nesting of AWS types and transparency regarding-    de/serialisation into more palatable Haskell values.-    The provided lenses should be compatible with any of the major lens libraries-    such as <http://hackage.haskell.org/package/lens lens> or-    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.-    .-    See "Network.AWS.LexRuntime" or <https://aws.amazon.com/documentation/ the AWS documentation>-    to get started.+  Derived from API version @2016-11-28@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.LexRuntime.Lens" and are+  suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+  .+  See "Amazonka.LexRuntime" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.  source-repository head-    type:              git-    location:          git://github.com/brendanhay/amazonka.git-    subdir:            amazonka-lex-runtime+  type:     git+  location: git://github.com/brendanhay/amazonka.git+  subdir:   amazonka-lex-runtime  library-    default-language:  Haskell2010-    hs-source-dirs:    src gen--    ghc-options:-        -Wall-        -fwarn-incomplete-uni-patterns-        -fwarn-incomplete-record-updates-        -funbox-strict-fields--    exposed-modules:-          Network.AWS.LexRuntime-        , Network.AWS.LexRuntime.PostContent-        , Network.AWS.LexRuntime.PostText-        , Network.AWS.LexRuntime.Types-        , Network.AWS.LexRuntime.Waiters+  default-language: Haskell2010+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields -    other-modules:-          Network.AWS.LexRuntime.Types.Product-        , Network.AWS.LexRuntime.Types.Sum+  exposed-modules:+    Amazonka.LexRuntime+    Amazonka.LexRuntime.DeleteSession+    Amazonka.LexRuntime.GetSession+    Amazonka.LexRuntime.Lens+    Amazonka.LexRuntime.PostContent+    Amazonka.LexRuntime.PostText+    Amazonka.LexRuntime.PutSession+    Amazonka.LexRuntime.Types+    Amazonka.LexRuntime.Types.ActiveContext+    Amazonka.LexRuntime.Types.ActiveContextTimeToLive+    Amazonka.LexRuntime.Types.Button+    Amazonka.LexRuntime.Types.ConfirmationStatus+    Amazonka.LexRuntime.Types.ContentType+    Amazonka.LexRuntime.Types.DialogAction+    Amazonka.LexRuntime.Types.DialogActionType+    Amazonka.LexRuntime.Types.DialogState+    Amazonka.LexRuntime.Types.FulfillmentState+    Amazonka.LexRuntime.Types.GenericAttachment+    Amazonka.LexRuntime.Types.IntentConfidence+    Amazonka.LexRuntime.Types.IntentSummary+    Amazonka.LexRuntime.Types.MessageFormatType+    Amazonka.LexRuntime.Types.PredictedIntent+    Amazonka.LexRuntime.Types.ResponseCard+    Amazonka.LexRuntime.Types.SentimentResponse+    Amazonka.LexRuntime.Waiters -    build-depends:-          amazonka-core == 1.6.1.*-        , base          >= 4.7     && < 5+  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5  test-suite amazonka-lex-runtime-test-    type:              exitcode-stdio-1.0-    default-language:  Haskell2010-    hs-source-dirs:    test-    main-is:           Main.hs--    ghc-options:       -Wall -threaded+  type:             exitcode-stdio-1.0+  default-language: Haskell2010+  hs-source-dirs:   test+  main-is:          Main.hs+  ghc-options:      -Wall -threaded -    -- This section is encoded by the template and any modules added by-    -- hand outside these namespaces will not correctly be added to the-    -- distribution package.-    other-modules:-          Test.AWS.LexRuntime-        , Test.AWS.Gen.LexRuntime-        , Test.AWS.LexRuntime.Internal+  -- This section is encoded by the template and any modules added by+  -- hand outside these namespaces will not correctly be added to the+  -- distribution package.+  other-modules:+    Test.Amazonka.Gen.LexRuntime+    Test.Amazonka.LexRuntime+    Test.Amazonka.LexRuntime.Internal -    build-depends:-          amazonka-core == 1.6.1.*-        , amazonka-test == 1.6.1.*-        , amazonka-lex-runtime-        , base-        , bytestring-        , tasty-        , tasty-hunit-        , text-        , time-        , unordered-containers+  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-lex-runtime+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/DeleteSession.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/runtime.lex/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  runtime.lex.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteSessionResponse.proto view
+ fixture/GetSession.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/runtime.lex/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  runtime.lex.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetSessionResponse.proto view
+ fixture/PutSession.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/runtime.lex/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  runtime.lex.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutSessionResponse.proto view
+ gen/Amazonka/LexRuntime.hs view
@@ -0,0 +1,198 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.LexRuntime+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2016-11-28@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Lex provides both build and runtime endpoints. Each endpoint+-- provides a set of operations (API). Your conversational bot uses the+-- runtime API to understand user utterances (user input text or voice).+-- For example, suppose a user says \"I want pizza\", your bot sends this+-- input to Amazon Lex using the runtime API. Amazon Lex recognizes that+-- the user request is for the OrderPizza intent (one of the intents+-- defined in the bot). Then Amazon Lex engages in user conversation on+-- behalf of the bot to elicit required information (slot values, such as+-- pizza size and crust type), and then performs fulfillment activity (that+-- you configured when you created the bot). You use the build-time API to+-- create and manage your Amazon Lex bot. For a list of build-time+-- operations, see the build-time API, .+module Amazonka.LexRuntime+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** BadGatewayException+    _BadGatewayException,++    -- ** BadRequestException+    _BadRequestException,++    -- ** ConflictException+    _ConflictException,++    -- ** DependencyFailedException+    _DependencyFailedException,++    -- ** InternalFailureException+    _InternalFailureException,++    -- ** LimitExceededException+    _LimitExceededException,++    -- ** LoopDetectedException+    _LoopDetectedException,++    -- ** NotAcceptableException+    _NotAcceptableException,++    -- ** NotFoundException+    _NotFoundException,++    -- ** RequestTimeoutException+    _RequestTimeoutException,++    -- ** UnsupportedMediaTypeException+    _UnsupportedMediaTypeException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** DeleteSession+    DeleteSession (DeleteSession'),+    newDeleteSession,+    DeleteSessionResponse (DeleteSessionResponse'),+    newDeleteSessionResponse,++    -- ** GetSession+    GetSession (GetSession'),+    newGetSession,+    GetSessionResponse (GetSessionResponse'),+    newGetSessionResponse,++    -- ** PostContent+    PostContent (PostContent'),+    newPostContent,+    PostContentResponse (PostContentResponse'),+    newPostContentResponse,++    -- ** PostText+    PostText (PostText'),+    newPostText,+    PostTextResponse (PostTextResponse'),+    newPostTextResponse,++    -- ** PutSession+    PutSession (PutSession'),+    newPutSession,+    PutSessionResponse (PutSessionResponse'),+    newPutSessionResponse,++    -- * Types++    -- ** ConfirmationStatus+    ConfirmationStatus (..),++    -- ** ContentType+    ContentType (..),++    -- ** DialogActionType+    DialogActionType (..),++    -- ** DialogState+    DialogState (..),++    -- ** FulfillmentState+    FulfillmentState (..),++    -- ** MessageFormatType+    MessageFormatType (..),++    -- ** ActiveContext+    ActiveContext (ActiveContext'),+    newActiveContext,++    -- ** ActiveContextTimeToLive+    ActiveContextTimeToLive (ActiveContextTimeToLive'),+    newActiveContextTimeToLive,++    -- ** Button+    Button (Button'),+    newButton,++    -- ** DialogAction+    DialogAction (DialogAction'),+    newDialogAction,++    -- ** GenericAttachment+    GenericAttachment (GenericAttachment'),+    newGenericAttachment,++    -- ** IntentConfidence+    IntentConfidence (IntentConfidence'),+    newIntentConfidence,++    -- ** IntentSummary+    IntentSummary (IntentSummary'),+    newIntentSummary,++    -- ** PredictedIntent+    PredictedIntent (PredictedIntent'),+    newPredictedIntent,++    -- ** ResponseCard+    ResponseCard (ResponseCard'),+    newResponseCard,++    -- ** SentimentResponse+    SentimentResponse (SentimentResponse'),+    newSentimentResponse,+  )+where++import Amazonka.LexRuntime.DeleteSession+import Amazonka.LexRuntime.GetSession+import Amazonka.LexRuntime.Lens+import Amazonka.LexRuntime.PostContent+import Amazonka.LexRuntime.PostText+import Amazonka.LexRuntime.PutSession+import Amazonka.LexRuntime.Types+import Amazonka.LexRuntime.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'LexRuntime'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/LexRuntime/DeleteSession.hs view
@@ -0,0 +1,233 @@+{-# 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.LexRuntime.DeleteSession+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes session information for a specified bot, alias, and user ID.+module Amazonka.LexRuntime.DeleteSession+  ( -- * Creating a Request+    DeleteSession (..),+    newDeleteSession,++    -- * Request Lenses+    deleteSession_botName,+    deleteSession_botAlias,+    deleteSession_userId,++    -- * Destructuring the Response+    DeleteSessionResponse (..),+    newDeleteSessionResponse,++    -- * Response Lenses+    deleteSessionResponse_botAlias,+    deleteSessionResponse_botName,+    deleteSessionResponse_sessionId,+    deleteSessionResponse_userId,+    deleteSessionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteSession' smart constructor.+data DeleteSession = DeleteSession'+  { -- | The name of the bot that contains the session data.+    botName :: Prelude.Text,+    -- | The alias in use for the bot that contains the session data.+    botAlias :: Prelude.Text,+    -- | The identifier of the user associated with the session data.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSession' 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:+--+-- 'botName', 'deleteSession_botName' - The name of the bot that contains the session data.+--+-- 'botAlias', 'deleteSession_botAlias' - The alias in use for the bot that contains the session data.+--+-- 'userId', 'deleteSession_userId' - The identifier of the user associated with the session data.+newDeleteSession ::+  -- | 'botName'+  Prelude.Text ->+  -- | 'botAlias'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  DeleteSession+newDeleteSession pBotName_ pBotAlias_ pUserId_ =+  DeleteSession'+    { botName = pBotName_,+      botAlias = pBotAlias_,+      userId = pUserId_+    }++-- | The name of the bot that contains the session data.+deleteSession_botName :: Lens.Lens' DeleteSession Prelude.Text+deleteSession_botName = Lens.lens (\DeleteSession' {botName} -> botName) (\s@DeleteSession' {} a -> s {botName = a} :: DeleteSession)++-- | The alias in use for the bot that contains the session data.+deleteSession_botAlias :: Lens.Lens' DeleteSession Prelude.Text+deleteSession_botAlias = Lens.lens (\DeleteSession' {botAlias} -> botAlias) (\s@DeleteSession' {} a -> s {botAlias = a} :: DeleteSession)++-- | The identifier of the user associated with the session data.+deleteSession_userId :: Lens.Lens' DeleteSession Prelude.Text+deleteSession_userId = Lens.lens (\DeleteSession' {userId} -> userId) (\s@DeleteSession' {} a -> s {userId = a} :: DeleteSession)++instance Core.AWSRequest DeleteSession where+  type+    AWSResponse DeleteSession =+      DeleteSessionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteSessionResponse'+            Prelude.<$> (x Data..?> "botAlias")+            Prelude.<*> (x Data..?> "botName")+            Prelude.<*> (x Data..?> "sessionId")+            Prelude.<*> (x Data..?> "userId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteSession where+  hashWithSalt _salt DeleteSession' {..} =+    _salt+      `Prelude.hashWithSalt` botName+      `Prelude.hashWithSalt` botAlias+      `Prelude.hashWithSalt` userId++instance Prelude.NFData DeleteSession where+  rnf DeleteSession' {..} =+    Prelude.rnf botName+      `Prelude.seq` Prelude.rnf botAlias+      `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders DeleteSession where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteSession where+  toPath DeleteSession' {..} =+    Prelude.mconcat+      [ "/bot/",+        Data.toBS botName,+        "/alias/",+        Data.toBS botAlias,+        "/user/",+        Data.toBS userId,+        "/session"+      ]++instance Data.ToQuery DeleteSession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSessionResponse' smart constructor.+data DeleteSessionResponse = DeleteSessionResponse'+  { -- | The alias in use for the bot associated with the session data.+    botAlias :: Prelude.Maybe Prelude.Text,+    -- | The name of the bot associated with the session data.+    botName :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier for the session.+    sessionId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the client application user.+    userId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSessionResponse' 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:+--+-- 'botAlias', 'deleteSessionResponse_botAlias' - The alias in use for the bot associated with the session data.+--+-- 'botName', 'deleteSessionResponse_botName' - The name of the bot associated with the session data.+--+-- 'sessionId', 'deleteSessionResponse_sessionId' - The unique identifier for the session.+--+-- 'userId', 'deleteSessionResponse_userId' - The ID of the client application user.+--+-- 'httpStatus', 'deleteSessionResponse_httpStatus' - The response's http status code.+newDeleteSessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteSessionResponse+newDeleteSessionResponse pHttpStatus_ =+  DeleteSessionResponse'+    { botAlias = Prelude.Nothing,+      botName = Prelude.Nothing,+      sessionId = Prelude.Nothing,+      userId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The alias in use for the bot associated with the session data.+deleteSessionResponse_botAlias :: Lens.Lens' DeleteSessionResponse (Prelude.Maybe Prelude.Text)+deleteSessionResponse_botAlias = Lens.lens (\DeleteSessionResponse' {botAlias} -> botAlias) (\s@DeleteSessionResponse' {} a -> s {botAlias = a} :: DeleteSessionResponse)++-- | The name of the bot associated with the session data.+deleteSessionResponse_botName :: Lens.Lens' DeleteSessionResponse (Prelude.Maybe Prelude.Text)+deleteSessionResponse_botName = Lens.lens (\DeleteSessionResponse' {botName} -> botName) (\s@DeleteSessionResponse' {} a -> s {botName = a} :: DeleteSessionResponse)++-- | The unique identifier for the session.+deleteSessionResponse_sessionId :: Lens.Lens' DeleteSessionResponse (Prelude.Maybe Prelude.Text)+deleteSessionResponse_sessionId = Lens.lens (\DeleteSessionResponse' {sessionId} -> sessionId) (\s@DeleteSessionResponse' {} a -> s {sessionId = a} :: DeleteSessionResponse)++-- | The ID of the client application user.+deleteSessionResponse_userId :: Lens.Lens' DeleteSessionResponse (Prelude.Maybe Prelude.Text)+deleteSessionResponse_userId = Lens.lens (\DeleteSessionResponse' {userId} -> userId) (\s@DeleteSessionResponse' {} a -> s {userId = a} :: DeleteSessionResponse)++-- | The response's http status code.+deleteSessionResponse_httpStatus :: Lens.Lens' DeleteSessionResponse Prelude.Int+deleteSessionResponse_httpStatus = Lens.lens (\DeleteSessionResponse' {httpStatus} -> httpStatus) (\s@DeleteSessionResponse' {} a -> s {httpStatus = a} :: DeleteSessionResponse)++instance Prelude.NFData DeleteSessionResponse where+  rnf DeleteSessionResponse' {..} =+    Prelude.rnf botAlias+      `Prelude.seq` Prelude.rnf botName+      `Prelude.seq` Prelude.rnf sessionId+      `Prelude.seq` Prelude.rnf userId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LexRuntime/GetSession.hs view
@@ -0,0 +1,321 @@+{-# 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.LexRuntime.GetSession+-- 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 session information for a specified bot, alias, and user ID.+module Amazonka.LexRuntime.GetSession+  ( -- * Creating a Request+    GetSession (..),+    newGetSession,++    -- * Request Lenses+    getSession_checkpointLabelFilter,+    getSession_botName,+    getSession_botAlias,+    getSession_userId,++    -- * Destructuring the Response+    GetSessionResponse (..),+    newGetSessionResponse,++    -- * Response Lenses+    getSessionResponse_activeContexts,+    getSessionResponse_dialogAction,+    getSessionResponse_recentIntentSummaryView,+    getSessionResponse_sessionAttributes,+    getSessionResponse_sessionId,+    getSessionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSession' smart constructor.+data GetSession = GetSession'+  { -- | A string used to filter the intents returned in the+    -- @recentIntentSummaryView@ structure.+    --+    -- When you specify a filter, only intents with their @checkpointLabel@+    -- field set to that string are returned.+    checkpointLabelFilter :: Prelude.Maybe Prelude.Text,+    -- | The name of the bot that contains the session data.+    botName :: Prelude.Text,+    -- | The alias in use for the bot that contains the session data.+    botAlias :: Prelude.Text,+    -- | The ID of the client application user. Amazon Lex uses this to identify+    -- a user\'s conversation with your bot.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSession' 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:+--+-- 'checkpointLabelFilter', 'getSession_checkpointLabelFilter' - A string used to filter the intents returned in the+-- @recentIntentSummaryView@ structure.+--+-- When you specify a filter, only intents with their @checkpointLabel@+-- field set to that string are returned.+--+-- 'botName', 'getSession_botName' - The name of the bot that contains the session data.+--+-- 'botAlias', 'getSession_botAlias' - The alias in use for the bot that contains the session data.+--+-- 'userId', 'getSession_userId' - The ID of the client application user. Amazon Lex uses this to identify+-- a user\'s conversation with your bot.+newGetSession ::+  -- | 'botName'+  Prelude.Text ->+  -- | 'botAlias'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  GetSession+newGetSession pBotName_ pBotAlias_ pUserId_ =+  GetSession'+    { checkpointLabelFilter =+        Prelude.Nothing,+      botName = pBotName_,+      botAlias = pBotAlias_,+      userId = pUserId_+    }++-- | A string used to filter the intents returned in the+-- @recentIntentSummaryView@ structure.+--+-- When you specify a filter, only intents with their @checkpointLabel@+-- field set to that string are returned.+getSession_checkpointLabelFilter :: Lens.Lens' GetSession (Prelude.Maybe Prelude.Text)+getSession_checkpointLabelFilter = Lens.lens (\GetSession' {checkpointLabelFilter} -> checkpointLabelFilter) (\s@GetSession' {} a -> s {checkpointLabelFilter = a} :: GetSession)++-- | The name of the bot that contains the session data.+getSession_botName :: Lens.Lens' GetSession Prelude.Text+getSession_botName = Lens.lens (\GetSession' {botName} -> botName) (\s@GetSession' {} a -> s {botName = a} :: GetSession)++-- | The alias in use for the bot that contains the session data.+getSession_botAlias :: Lens.Lens' GetSession Prelude.Text+getSession_botAlias = Lens.lens (\GetSession' {botAlias} -> botAlias) (\s@GetSession' {} a -> s {botAlias = a} :: GetSession)++-- | The ID of the client application user. Amazon Lex uses this to identify+-- a user\'s conversation with your bot.+getSession_userId :: Lens.Lens' GetSession Prelude.Text+getSession_userId = Lens.lens (\GetSession' {userId} -> userId) (\s@GetSession' {} a -> s {userId = a} :: GetSession)++instance Core.AWSRequest GetSession where+  type AWSResponse GetSession = GetSessionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSessionResponse'+            Prelude.<$> (x Data..?> "activeContexts" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "dialogAction")+            Prelude.<*> ( x+                            Data..?> "recentIntentSummaryView"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..?> "sessionAttributes"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "sessionId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSession where+  hashWithSalt _salt GetSession' {..} =+    _salt+      `Prelude.hashWithSalt` checkpointLabelFilter+      `Prelude.hashWithSalt` botName+      `Prelude.hashWithSalt` botAlias+      `Prelude.hashWithSalt` userId++instance Prelude.NFData GetSession where+  rnf GetSession' {..} =+    Prelude.rnf checkpointLabelFilter+      `Prelude.seq` Prelude.rnf botName+      `Prelude.seq` Prelude.rnf botAlias+      `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders GetSession where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSession where+  toPath GetSession' {..} =+    Prelude.mconcat+      [ "/bot/",+        Data.toBS botName,+        "/alias/",+        Data.toBS botAlias,+        "/user/",+        Data.toBS userId,+        "/session/"+      ]++instance Data.ToQuery GetSession where+  toQuery GetSession' {..} =+    Prelude.mconcat+      [ "checkpointLabelFilter"+          Data.=: checkpointLabelFilter+      ]++-- | /See:/ 'newGetSessionResponse' smart constructor.+data GetSessionResponse = GetSessionResponse'+  { -- | A list of active contexts for the session. A context can be set when an+    -- intent is fulfilled or by calling the @PostContent@, @PostText@, or+    -- @PutSession@ operation.+    --+    -- You can use a context to control the intents that can follow up an+    -- intent, or to modify the operation of your application.+    activeContexts :: Prelude.Maybe (Data.Sensitive [ActiveContext]),+    -- | Describes the current state of the bot.+    dialogAction :: Prelude.Maybe DialogAction,+    -- | An array of information about the intents used in the session. The array+    -- can contain a maximum of three summaries. If more than three intents are+    -- used in the session, the @recentIntentSummaryView@ operation contains+    -- information about the last three intents used.+    --+    -- If you set the @checkpointLabelFilter@ parameter in the request, the+    -- array contains only the intents with the specified label.+    recentIntentSummaryView :: Prelude.Maybe [IntentSummary],+    -- | Map of key\/value pairs representing the session-specific context+    -- information. It contains application information passed between Amazon+    -- Lex and a client application.+    sessionAttributes :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | A unique identifier for the session.+    sessionId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSessionResponse' 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:+--+-- 'activeContexts', 'getSessionResponse_activeContexts' - A list of active contexts for the session. A context can be set when an+-- intent is fulfilled or by calling the @PostContent@, @PostText@, or+-- @PutSession@ operation.+--+-- You can use a context to control the intents that can follow up an+-- intent, or to modify the operation of your application.+--+-- 'dialogAction', 'getSessionResponse_dialogAction' - Describes the current state of the bot.+--+-- 'recentIntentSummaryView', 'getSessionResponse_recentIntentSummaryView' - An array of information about the intents used in the session. The array+-- can contain a maximum of three summaries. If more than three intents are+-- used in the session, the @recentIntentSummaryView@ operation contains+-- information about the last three intents used.+--+-- If you set the @checkpointLabelFilter@ parameter in the request, the+-- array contains only the intents with the specified label.+--+-- 'sessionAttributes', 'getSessionResponse_sessionAttributes' - Map of key\/value pairs representing the session-specific context+-- information. It contains application information passed between Amazon+-- Lex and a client application.+--+-- 'sessionId', 'getSessionResponse_sessionId' - A unique identifier for the session.+--+-- 'httpStatus', 'getSessionResponse_httpStatus' - The response's http status code.+newGetSessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSessionResponse+newGetSessionResponse pHttpStatus_ =+  GetSessionResponse'+    { activeContexts =+        Prelude.Nothing,+      dialogAction = Prelude.Nothing,+      recentIntentSummaryView = Prelude.Nothing,+      sessionAttributes = Prelude.Nothing,+      sessionId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of active contexts for the session. A context can be set when an+-- intent is fulfilled or by calling the @PostContent@, @PostText@, or+-- @PutSession@ operation.+--+-- You can use a context to control the intents that can follow up an+-- intent, or to modify the operation of your application.+getSessionResponse_activeContexts :: Lens.Lens' GetSessionResponse (Prelude.Maybe [ActiveContext])+getSessionResponse_activeContexts = Lens.lens (\GetSessionResponse' {activeContexts} -> activeContexts) (\s@GetSessionResponse' {} a -> s {activeContexts = a} :: GetSessionResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Describes the current state of the bot.+getSessionResponse_dialogAction :: Lens.Lens' GetSessionResponse (Prelude.Maybe DialogAction)+getSessionResponse_dialogAction = Lens.lens (\GetSessionResponse' {dialogAction} -> dialogAction) (\s@GetSessionResponse' {} a -> s {dialogAction = a} :: GetSessionResponse)++-- | An array of information about the intents used in the session. The array+-- can contain a maximum of three summaries. If more than three intents are+-- used in the session, the @recentIntentSummaryView@ operation contains+-- information about the last three intents used.+--+-- If you set the @checkpointLabelFilter@ parameter in the request, the+-- array contains only the intents with the specified label.+getSessionResponse_recentIntentSummaryView :: Lens.Lens' GetSessionResponse (Prelude.Maybe [IntentSummary])+getSessionResponse_recentIntentSummaryView = Lens.lens (\GetSessionResponse' {recentIntentSummaryView} -> recentIntentSummaryView) (\s@GetSessionResponse' {} a -> s {recentIntentSummaryView = a} :: GetSessionResponse) Prelude.. Lens.mapping Lens.coerced++-- | Map of key\/value pairs representing the session-specific context+-- information. It contains application information passed between Amazon+-- Lex and a client application.+getSessionResponse_sessionAttributes :: Lens.Lens' GetSessionResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getSessionResponse_sessionAttributes = Lens.lens (\GetSessionResponse' {sessionAttributes} -> sessionAttributes) (\s@GetSessionResponse' {} a -> s {sessionAttributes = a} :: GetSessionResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | A unique identifier for the session.+getSessionResponse_sessionId :: Lens.Lens' GetSessionResponse (Prelude.Maybe Prelude.Text)+getSessionResponse_sessionId = Lens.lens (\GetSessionResponse' {sessionId} -> sessionId) (\s@GetSessionResponse' {} a -> s {sessionId = a} :: GetSessionResponse)++-- | The response's http status code.+getSessionResponse_httpStatus :: Lens.Lens' GetSessionResponse Prelude.Int+getSessionResponse_httpStatus = Lens.lens (\GetSessionResponse' {httpStatus} -> httpStatus) (\s@GetSessionResponse' {} a -> s {httpStatus = a} :: GetSessionResponse)++instance Prelude.NFData GetSessionResponse where+  rnf GetSessionResponse' {..} =+    Prelude.rnf activeContexts+      `Prelude.seq` Prelude.rnf dialogAction+      `Prelude.seq` Prelude.rnf recentIntentSummaryView+      `Prelude.seq` Prelude.rnf sessionAttributes+      `Prelude.seq` Prelude.rnf sessionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LexRuntime/Lens.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Lens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Lens+  ( -- * Operations++    -- ** DeleteSession+    deleteSession_botName,+    deleteSession_botAlias,+    deleteSession_userId,+    deleteSessionResponse_botAlias,+    deleteSessionResponse_botName,+    deleteSessionResponse_sessionId,+    deleteSessionResponse_userId,+    deleteSessionResponse_httpStatus,++    -- ** GetSession+    getSession_checkpointLabelFilter,+    getSession_botName,+    getSession_botAlias,+    getSession_userId,+    getSessionResponse_activeContexts,+    getSessionResponse_dialogAction,+    getSessionResponse_recentIntentSummaryView,+    getSessionResponse_sessionAttributes,+    getSessionResponse_sessionId,+    getSessionResponse_httpStatus,++    -- ** PostContent+    postContent_accept,+    postContent_activeContexts,+    postContent_requestAttributes,+    postContent_sessionAttributes,+    postContent_botName,+    postContent_botAlias,+    postContent_userId,+    postContent_contentType,+    postContent_inputStream,+    postContentResponse_activeContexts,+    postContentResponse_alternativeIntents,+    postContentResponse_botVersion,+    postContentResponse_contentType,+    postContentResponse_dialogState,+    postContentResponse_encodedInputTranscript,+    postContentResponse_encodedMessage,+    postContentResponse_inputTranscript,+    postContentResponse_intentName,+    postContentResponse_message,+    postContentResponse_messageFormat,+    postContentResponse_nluIntentConfidence,+    postContentResponse_sentimentResponse,+    postContentResponse_sessionAttributes,+    postContentResponse_sessionId,+    postContentResponse_slotToElicit,+    postContentResponse_slots,+    postContentResponse_httpStatus,+    postContentResponse_audioStream,++    -- ** PostText+    postText_activeContexts,+    postText_requestAttributes,+    postText_sessionAttributes,+    postText_botName,+    postText_botAlias,+    postText_userId,+    postText_inputText,+    postTextResponse_activeContexts,+    postTextResponse_alternativeIntents,+    postTextResponse_botVersion,+    postTextResponse_dialogState,+    postTextResponse_intentName,+    postTextResponse_message,+    postTextResponse_messageFormat,+    postTextResponse_nluIntentConfidence,+    postTextResponse_responseCard,+    postTextResponse_sentimentResponse,+    postTextResponse_sessionAttributes,+    postTextResponse_sessionId,+    postTextResponse_slotToElicit,+    postTextResponse_slots,+    postTextResponse_httpStatus,++    -- ** PutSession+    putSession_accept,+    putSession_activeContexts,+    putSession_dialogAction,+    putSession_recentIntentSummaryView,+    putSession_sessionAttributes,+    putSession_botName,+    putSession_botAlias,+    putSession_userId,+    putSessionResponse_activeContexts,+    putSessionResponse_contentType,+    putSessionResponse_dialogState,+    putSessionResponse_encodedMessage,+    putSessionResponse_intentName,+    putSessionResponse_message,+    putSessionResponse_messageFormat,+    putSessionResponse_sessionAttributes,+    putSessionResponse_sessionId,+    putSessionResponse_slotToElicit,+    putSessionResponse_slots,+    putSessionResponse_httpStatus,+    putSessionResponse_audioStream,++    -- * Types++    -- ** ActiveContext+    activeContext_name,+    activeContext_timeToLive,+    activeContext_parameters,++    -- ** ActiveContextTimeToLive+    activeContextTimeToLive_timeToLiveInSeconds,+    activeContextTimeToLive_turnsToLive,++    -- ** Button+    button_text,+    button_value,++    -- ** DialogAction+    dialogAction_fulfillmentState,+    dialogAction_intentName,+    dialogAction_message,+    dialogAction_messageFormat,+    dialogAction_slotToElicit,+    dialogAction_slots,+    dialogAction_type,++    -- ** GenericAttachment+    genericAttachment_attachmentLinkUrl,+    genericAttachment_buttons,+    genericAttachment_imageUrl,+    genericAttachment_subTitle,+    genericAttachment_title,++    -- ** IntentConfidence+    intentConfidence_score,++    -- ** IntentSummary+    intentSummary_checkpointLabel,+    intentSummary_confirmationStatus,+    intentSummary_fulfillmentState,+    intentSummary_intentName,+    intentSummary_slotToElicit,+    intentSummary_slots,+    intentSummary_dialogActionType,++    -- ** PredictedIntent+    predictedIntent_intentName,+    predictedIntent_nluIntentConfidence,+    predictedIntent_slots,++    -- ** ResponseCard+    responseCard_contentType,+    responseCard_genericAttachments,+    responseCard_version,++    -- ** SentimentResponse+    sentimentResponse_sentimentLabel,+    sentimentResponse_sentimentScore,+  )+where++import Amazonka.LexRuntime.DeleteSession+import Amazonka.LexRuntime.GetSession+import Amazonka.LexRuntime.PostContent+import Amazonka.LexRuntime.PostText+import Amazonka.LexRuntime.PutSession+import Amazonka.LexRuntime.Types.ActiveContext+import Amazonka.LexRuntime.Types.ActiveContextTimeToLive+import Amazonka.LexRuntime.Types.Button+import Amazonka.LexRuntime.Types.DialogAction+import Amazonka.LexRuntime.Types.GenericAttachment+import Amazonka.LexRuntime.Types.IntentConfidence+import Amazonka.LexRuntime.Types.IntentSummary+import Amazonka.LexRuntime.Types.PredictedIntent+import Amazonka.LexRuntime.Types.ResponseCard+import Amazonka.LexRuntime.Types.SentimentResponse
+ gen/Amazonka/LexRuntime/PostContent.hs view
@@ -0,0 +1,1273 @@+{-# 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.LexRuntime.PostContent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends user input (text or speech) to Amazon Lex. Clients use this API to+-- send text and audio requests to Amazon Lex at runtime. Amazon Lex+-- interprets the user input using the machine learning model that it built+-- for the bot.+--+-- The @PostContent@ operation supports audio input at 8kHz and 16kHz. You+-- can use 8kHz audio to achieve higher speech recognition accuracy in+-- telephone audio applications.+--+-- In response, Amazon Lex returns the next message to convey to the user.+-- Consider the following example messages:+--+-- -   For a user input \"I would like a pizza,\" Amazon Lex might return a+--     response with a message eliciting slot data (for example,+--     @PizzaSize@): \"What size pizza would you like?\".+--+-- -   After the user provides all of the pizza order information, Amazon+--     Lex might return a response with a message to get user confirmation:+--     \"Order the pizza?\".+--+-- -   After the user replies \"Yes\" to the confirmation prompt, Amazon+--     Lex might return a conclusion statement: \"Thank you, your cheese+--     pizza has been ordered.\".+--+-- Not all Amazon Lex messages require a response from the user. For+-- example, conclusion statements do not require a response. Some messages+-- require only a yes or no response. In addition to the @message@, Amazon+-- Lex provides additional context about the message in the response that+-- you can use to enhance client behavior, such as displaying the+-- appropriate client user interface. Consider the following examples:+--+-- -   If the message is to elicit slot data, Amazon Lex returns the+--     following context information:+--+--     -   @x-amz-lex-dialog-state@ header set to @ElicitSlot@+--+--     -   @x-amz-lex-intent-name@ header set to the intent name in the+--         current context+--+--     -   @x-amz-lex-slot-to-elicit@ header set to the slot name for which+--         the @message@ is eliciting information+--+--     -   @x-amz-lex-slots@ header set to a map of slots configured for+--         the intent with their current values+--+-- -   If the message is a confirmation prompt, the+--     @x-amz-lex-dialog-state@ header is set to @Confirmation@ and the+--     @x-amz-lex-slot-to-elicit@ header is omitted.+--+-- -   If the message is a clarification prompt configured for the intent,+--     indicating that the user intent is not understood, the+--     @x-amz-dialog-state@ header is set to @ElicitIntent@ and the+--     @x-amz-slot-to-elicit@ header is omitted.+--+-- In addition, Amazon Lex also returns your application-specific+-- @sessionAttributes@. For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html Managing Conversation Context>.+module Amazonka.LexRuntime.PostContent+  ( -- * Creating a Request+    PostContent (..),+    newPostContent,++    -- * Request Lenses+    postContent_accept,+    postContent_activeContexts,+    postContent_requestAttributes,+    postContent_sessionAttributes,+    postContent_botName,+    postContent_botAlias,+    postContent_userId,+    postContent_contentType,+    postContent_inputStream,++    -- * Destructuring the Response+    PostContentResponse (..),+    newPostContentResponse,++    -- * Response Lenses+    postContentResponse_activeContexts,+    postContentResponse_alternativeIntents,+    postContentResponse_botVersion,+    postContentResponse_contentType,+    postContentResponse_dialogState,+    postContentResponse_encodedInputTranscript,+    postContentResponse_encodedMessage,+    postContentResponse_inputTranscript,+    postContentResponse_intentName,+    postContentResponse_message,+    postContentResponse_messageFormat,+    postContentResponse_nluIntentConfidence,+    postContentResponse_sentimentResponse,+    postContentResponse_sessionAttributes,+    postContentResponse_sessionId,+    postContentResponse_slotToElicit,+    postContentResponse_slots,+    postContentResponse_httpStatus,+    postContentResponse_audioStream,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPostContent' smart constructor.+data PostContent = PostContent'+  { -- | You pass this value as the @Accept@ HTTP header.+    --+    -- The message Amazon Lex returns in the response can be either text or+    -- speech based on the @Accept@ HTTP header value in the request.+    --+    -- -   If the value is @text\/plain; charset=utf-8@, Amazon Lex returns+    --     text in the response.+    --+    -- -   If the value begins with @audio\/@, Amazon Lex returns speech in the+    --     response. Amazon Lex uses Amazon Polly to generate the speech (using+    --     the configuration you specified in the @Accept@ header). For+    --     example, if you specify @audio\/mpeg@ as the value, Amazon Lex+    --     returns speech in the MPEG format.+    --+    -- -   If the value is @audio\/pcm@, the speech returned is @audio\/pcm@ in+    --     16-bit, little endian format.+    --+    -- -   The following are the accepted values:+    --+    --     -   audio\/mpeg+    --+    --     -   audio\/ogg+    --+    --     -   audio\/pcm+    --+    --     -   text\/plain; charset=utf-8+    --+    --     -   audio\/* (defaults to mpeg)+    accept :: Prelude.Maybe Prelude.Text,+    -- | A list of contexts active for the request. A context can be activated+    -- when a previous intent is fulfilled, or by including the context in the+    -- request,+    --+    -- If you don\'t specify a list of contexts, Amazon Lex will use the+    -- current list of contexts for the session. If you specify an empty list,+    -- all contexts for the session are cleared.+    activeContexts :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | You pass this value as the @x-amz-lex-request-attributes@ HTTP header.+    --+    -- Request-specific information passed between Amazon Lex and a client+    -- application. The value must be a JSON serialized and base64 encoded map+    -- with string keys and values. The total size of the @requestAttributes@+    -- and @sessionAttributes@ headers is limited to 12 KB.+    --+    -- The namespace @x-amz-lex:@ is reserved for special attributes. Don\'t+    -- create any request attributes with the prefix @x-amz-lex:@.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes>.+    requestAttributes :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | You pass this value as the @x-amz-lex-session-attributes@ HTTP header.+    --+    -- Application-specific information passed between Amazon Lex and a client+    -- application. The value must be a JSON serialized and base64 encoded map+    -- with string keys and values. The total size of the @sessionAttributes@+    -- and @requestAttributes@ headers is limited to 12 KB.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes>.+    sessionAttributes :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Name of the Amazon Lex bot.+    botName :: Prelude.Text,+    -- | Alias of the Amazon Lex bot.+    botAlias :: Prelude.Text,+    -- | The ID of the client application user. Amazon Lex uses this to identify+    -- a user\'s conversation with your bot. At runtime, each request must+    -- contain the @userID@ field.+    --+    -- To decide the user ID to use for your application, consider the+    -- following factors.+    --+    -- -   The @userID@ field must not contain any personally identifiable+    --     information of the user, for example, name, personal identification+    --     numbers, or other end user personal information.+    --+    -- -   If you want a user to start a conversation on one device and+    --     continue on another device, use a user-specific identifier.+    --+    -- -   If you want the same user to be able to have two independent+    --     conversations on two different devices, choose a device-specific+    --     identifier.+    --+    -- -   A user can\'t have two independent conversations with two different+    --     versions of the same bot. For example, a user can\'t have a+    --     conversation with the PROD and BETA versions of the same bot. If you+    --     anticipate that a user will need to have conversation with two+    --     different versions, for example, while testing, include the bot+    --     alias in the user ID to separate the two conversations.+    userId :: Prelude.Text,+    -- | You pass this value as the @Content-Type@ HTTP header.+    --+    -- Indicates the audio format or text. The header value must start with one+    -- of the following prefixes:+    --+    -- -   PCM format, audio data must be in little-endian byte order.+    --+    --     -   audio\/l16; rate=16000; channels=1+    --+    --     -   audio\/x-l16; sample-rate=16000; channel-count=1+    --+    --     -   audio\/lpcm; sample-rate=8000; sample-size-bits=16;+    --         channel-count=1; is-big-endian=false+    --+    -- -   Opus format+    --+    --     -   audio\/x-cbr-opus-with-preamble; preamble-size=0;+    --         bit-rate=256000; frame-size-milliseconds=4+    --+    -- -   Text format+    --+    --     -   text\/plain; charset=utf-8+    contentType :: Prelude.Text,+    -- | User input in PCM or Opus audio format or text format as described in+    -- the @Content-Type@ HTTP header.+    --+    -- You can stream audio data to Amazon Lex or you can create a local buffer+    -- that captures all of the audio data before sending. In general, you get+    -- better performance if you stream audio data rather than buffering the+    -- data locally.+    inputStream :: Data.HashedBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PostContent' 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:+--+-- 'accept', 'postContent_accept' - You pass this value as the @Accept@ HTTP header.+--+-- The message Amazon Lex returns in the response can be either text or+-- speech based on the @Accept@ HTTP header value in the request.+--+-- -   If the value is @text\/plain; charset=utf-8@, Amazon Lex returns+--     text in the response.+--+-- -   If the value begins with @audio\/@, Amazon Lex returns speech in the+--     response. Amazon Lex uses Amazon Polly to generate the speech (using+--     the configuration you specified in the @Accept@ header). For+--     example, if you specify @audio\/mpeg@ as the value, Amazon Lex+--     returns speech in the MPEG format.+--+-- -   If the value is @audio\/pcm@, the speech returned is @audio\/pcm@ in+--     16-bit, little endian format.+--+-- -   The following are the accepted values:+--+--     -   audio\/mpeg+--+--     -   audio\/ogg+--+--     -   audio\/pcm+--+--     -   text\/plain; charset=utf-8+--+--     -   audio\/* (defaults to mpeg)+--+-- 'activeContexts', 'postContent_activeContexts' - A list of contexts active for the request. A context can be activated+-- when a previous intent is fulfilled, or by including the context in the+-- request,+--+-- If you don\'t specify a list of contexts, Amazon Lex will use the+-- current list of contexts for the session. If you specify an empty list,+-- all contexts for the session are cleared.+--+-- 'requestAttributes', 'postContent_requestAttributes' - You pass this value as the @x-amz-lex-request-attributes@ HTTP header.+--+-- Request-specific information passed between Amazon Lex and a client+-- application. The value must be a JSON serialized and base64 encoded map+-- with string keys and values. The total size of the @requestAttributes@+-- and @sessionAttributes@ headers is limited to 12 KB.+--+-- The namespace @x-amz-lex:@ is reserved for special attributes. Don\'t+-- create any request attributes with the prefix @x-amz-lex:@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes>.+--+-- 'sessionAttributes', 'postContent_sessionAttributes' - You pass this value as the @x-amz-lex-session-attributes@ HTTP header.+--+-- Application-specific information passed between Amazon Lex and a client+-- application. The value must be a JSON serialized and base64 encoded map+-- with string keys and values. The total size of the @sessionAttributes@+-- and @requestAttributes@ headers is limited to 12 KB.+--+-- For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes>.+--+-- 'botName', 'postContent_botName' - Name of the Amazon Lex bot.+--+-- 'botAlias', 'postContent_botAlias' - Alias of the Amazon Lex bot.+--+-- 'userId', 'postContent_userId' - The ID of the client application user. Amazon Lex uses this to identify+-- a user\'s conversation with your bot. At runtime, each request must+-- contain the @userID@ field.+--+-- To decide the user ID to use for your application, consider the+-- following factors.+--+-- -   The @userID@ field must not contain any personally identifiable+--     information of the user, for example, name, personal identification+--     numbers, or other end user personal information.+--+-- -   If you want a user to start a conversation on one device and+--     continue on another device, use a user-specific identifier.+--+-- -   If you want the same user to be able to have two independent+--     conversations on two different devices, choose a device-specific+--     identifier.+--+-- -   A user can\'t have two independent conversations with two different+--     versions of the same bot. For example, a user can\'t have a+--     conversation with the PROD and BETA versions of the same bot. If you+--     anticipate that a user will need to have conversation with two+--     different versions, for example, while testing, include the bot+--     alias in the user ID to separate the two conversations.+--+-- 'contentType', 'postContent_contentType' - You pass this value as the @Content-Type@ HTTP header.+--+-- Indicates the audio format or text. The header value must start with one+-- of the following prefixes:+--+-- -   PCM format, audio data must be in little-endian byte order.+--+--     -   audio\/l16; rate=16000; channels=1+--+--     -   audio\/x-l16; sample-rate=16000; channel-count=1+--+--     -   audio\/lpcm; sample-rate=8000; sample-size-bits=16;+--         channel-count=1; is-big-endian=false+--+-- -   Opus format+--+--     -   audio\/x-cbr-opus-with-preamble; preamble-size=0;+--         bit-rate=256000; frame-size-milliseconds=4+--+-- -   Text format+--+--     -   text\/plain; charset=utf-8+--+-- 'inputStream', 'postContent_inputStream' - User input in PCM or Opus audio format or text format as described in+-- the @Content-Type@ HTTP header.+--+-- You can stream audio data to Amazon Lex or you can create a local buffer+-- that captures all of the audio data before sending. In general, you get+-- better performance if you stream audio data rather than buffering the+-- data locally.+newPostContent ::+  -- | 'botName'+  Prelude.Text ->+  -- | 'botAlias'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  -- | 'contentType'+  Prelude.Text ->+  -- | 'inputStream'+  Data.HashedBody ->+  PostContent+newPostContent+  pBotName_+  pBotAlias_+  pUserId_+  pContentType_+  pInputStream_ =+    PostContent'+      { accept = Prelude.Nothing,+        activeContexts = Prelude.Nothing,+        requestAttributes = Prelude.Nothing,+        sessionAttributes = Prelude.Nothing,+        botName = pBotName_,+        botAlias = pBotAlias_,+        userId = pUserId_,+        contentType = pContentType_,+        inputStream = pInputStream_+      }++-- | You pass this value as the @Accept@ HTTP header.+--+-- The message Amazon Lex returns in the response can be either text or+-- speech based on the @Accept@ HTTP header value in the request.+--+-- -   If the value is @text\/plain; charset=utf-8@, Amazon Lex returns+--     text in the response.+--+-- -   If the value begins with @audio\/@, Amazon Lex returns speech in the+--     response. Amazon Lex uses Amazon Polly to generate the speech (using+--     the configuration you specified in the @Accept@ header). For+--     example, if you specify @audio\/mpeg@ as the value, Amazon Lex+--     returns speech in the MPEG format.+--+-- -   If the value is @audio\/pcm@, the speech returned is @audio\/pcm@ in+--     16-bit, little endian format.+--+-- -   The following are the accepted values:+--+--     -   audio\/mpeg+--+--     -   audio\/ogg+--+--     -   audio\/pcm+--+--     -   text\/plain; charset=utf-8+--+--     -   audio\/* (defaults to mpeg)+postContent_accept :: Lens.Lens' PostContent (Prelude.Maybe Prelude.Text)+postContent_accept = Lens.lens (\PostContent' {accept} -> accept) (\s@PostContent' {} a -> s {accept = a} :: PostContent)++-- | A list of contexts active for the request. A context can be activated+-- when a previous intent is fulfilled, or by including the context in the+-- request,+--+-- If you don\'t specify a list of contexts, Amazon Lex will use the+-- current list of contexts for the session. If you specify an empty list,+-- all contexts for the session are cleared.+postContent_activeContexts :: Lens.Lens' PostContent (Prelude.Maybe Prelude.Text)+postContent_activeContexts = Lens.lens (\PostContent' {activeContexts} -> activeContexts) (\s@PostContent' {} a -> s {activeContexts = a} :: PostContent) Prelude.. Lens.mapping Data._Sensitive++-- | You pass this value as the @x-amz-lex-request-attributes@ HTTP header.+--+-- Request-specific information passed between Amazon Lex and a client+-- application. The value must be a JSON serialized and base64 encoded map+-- with string keys and values. The total size of the @requestAttributes@+-- and @sessionAttributes@ headers is limited to 12 KB.+--+-- The namespace @x-amz-lex:@ is reserved for special attributes. Don\'t+-- create any request attributes with the prefix @x-amz-lex:@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes>.+postContent_requestAttributes :: Lens.Lens' PostContent (Prelude.Maybe Prelude.Text)+postContent_requestAttributes = Lens.lens (\PostContent' {requestAttributes} -> requestAttributes) (\s@PostContent' {} a -> s {requestAttributes = a} :: PostContent) Prelude.. Lens.mapping Data._Sensitive++-- | You pass this value as the @x-amz-lex-session-attributes@ HTTP header.+--+-- Application-specific information passed between Amazon Lex and a client+-- application. The value must be a JSON serialized and base64 encoded map+-- with string keys and values. The total size of the @sessionAttributes@+-- and @requestAttributes@ headers is limited to 12 KB.+--+-- For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes>.+postContent_sessionAttributes :: Lens.Lens' PostContent (Prelude.Maybe Prelude.Text)+postContent_sessionAttributes = Lens.lens (\PostContent' {sessionAttributes} -> sessionAttributes) (\s@PostContent' {} a -> s {sessionAttributes = a} :: PostContent) Prelude.. Lens.mapping Data._Sensitive++-- | Name of the Amazon Lex bot.+postContent_botName :: Lens.Lens' PostContent Prelude.Text+postContent_botName = Lens.lens (\PostContent' {botName} -> botName) (\s@PostContent' {} a -> s {botName = a} :: PostContent)++-- | Alias of the Amazon Lex bot.+postContent_botAlias :: Lens.Lens' PostContent Prelude.Text+postContent_botAlias = Lens.lens (\PostContent' {botAlias} -> botAlias) (\s@PostContent' {} a -> s {botAlias = a} :: PostContent)++-- | The ID of the client application user. Amazon Lex uses this to identify+-- a user\'s conversation with your bot. At runtime, each request must+-- contain the @userID@ field.+--+-- To decide the user ID to use for your application, consider the+-- following factors.+--+-- -   The @userID@ field must not contain any personally identifiable+--     information of the user, for example, name, personal identification+--     numbers, or other end user personal information.+--+-- -   If you want a user to start a conversation on one device and+--     continue on another device, use a user-specific identifier.+--+-- -   If you want the same user to be able to have two independent+--     conversations on two different devices, choose a device-specific+--     identifier.+--+-- -   A user can\'t have two independent conversations with two different+--     versions of the same bot. For example, a user can\'t have a+--     conversation with the PROD and BETA versions of the same bot. If you+--     anticipate that a user will need to have conversation with two+--     different versions, for example, while testing, include the bot+--     alias in the user ID to separate the two conversations.+postContent_userId :: Lens.Lens' PostContent Prelude.Text+postContent_userId = Lens.lens (\PostContent' {userId} -> userId) (\s@PostContent' {} a -> s {userId = a} :: PostContent)++-- | You pass this value as the @Content-Type@ HTTP header.+--+-- Indicates the audio format or text. The header value must start with one+-- of the following prefixes:+--+-- -   PCM format, audio data must be in little-endian byte order.+--+--     -   audio\/l16; rate=16000; channels=1+--+--     -   audio\/x-l16; sample-rate=16000; channel-count=1+--+--     -   audio\/lpcm; sample-rate=8000; sample-size-bits=16;+--         channel-count=1; is-big-endian=false+--+-- -   Opus format+--+--     -   audio\/x-cbr-opus-with-preamble; preamble-size=0;+--         bit-rate=256000; frame-size-milliseconds=4+--+-- -   Text format+--+--     -   text\/plain; charset=utf-8+postContent_contentType :: Lens.Lens' PostContent Prelude.Text+postContent_contentType = Lens.lens (\PostContent' {contentType} -> contentType) (\s@PostContent' {} a -> s {contentType = a} :: PostContent)++-- | User input in PCM or Opus audio format or text format as described in+-- the @Content-Type@ HTTP header.+--+-- You can stream audio data to Amazon Lex or you can create a local buffer+-- that captures all of the audio data before sending. In general, you get+-- better performance if you stream audio data rather than buffering the+-- data locally.+postContent_inputStream :: Lens.Lens' PostContent Data.HashedBody+postContent_inputStream = Lens.lens (\PostContent' {inputStream} -> inputStream) (\s@PostContent' {} a -> s {inputStream = a} :: PostContent)++instance Core.AWSRequest PostContent where+  type AWSResponse PostContent = PostContentResponse+  request overrides =+    Request.postBody (overrides defaultService)+  response =+    Response.receiveBody+      ( \s h x ->+          PostContentResponse'+            Prelude.<$> (h Data..#? "x-amz-lex-active-contexts")+            Prelude.<*> (h Data..#? "x-amz-lex-alternative-intents")+            Prelude.<*> (h Data..#? "x-amz-lex-bot-version")+            Prelude.<*> (h Data..#? "Content-Type")+            Prelude.<*> (h Data..#? "x-amz-lex-dialog-state")+            Prelude.<*> (h Data..#? "x-amz-lex-encoded-input-transcript")+            Prelude.<*> (h Data..#? "x-amz-lex-encoded-message")+            Prelude.<*> (h Data..#? "x-amz-lex-input-transcript")+            Prelude.<*> (h Data..#? "x-amz-lex-intent-name")+            Prelude.<*> (h Data..#? "x-amz-lex-message")+            Prelude.<*> (h Data..#? "x-amz-lex-message-format")+            Prelude.<*> (h Data..#? "x-amz-lex-nlu-intent-confidence")+            Prelude.<*> (h Data..#? "x-amz-lex-sentiment")+            Prelude.<*> (h Data..#? "x-amz-lex-session-attributes")+            Prelude.<*> (h Data..#? "x-amz-lex-session-id")+            Prelude.<*> (h Data..#? "x-amz-lex-slot-to-elicit")+            Prelude.<*> (h Data..#? "x-amz-lex-slots")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (Prelude.pure x)+      )++instance Data.ToBody PostContent where+  toBody PostContent' {..} = Data.toBody inputStream++instance Data.ToHeaders PostContent where+  toHeaders PostContent' {..} =+    Prelude.mconcat+      [ "Accept" Data.=# accept,+        "x-amz-lex-active-contexts" Data.=# activeContexts,+        "x-amz-lex-request-attributes"+          Data.=# requestAttributes,+        "x-amz-lex-session-attributes"+          Data.=# sessionAttributes,+        "Content-Type" Data.=# contentType+      ]++instance Data.ToPath PostContent where+  toPath PostContent' {..} =+    Prelude.mconcat+      [ "/bot/",+        Data.toBS botName,+        "/alias/",+        Data.toBS botAlias,+        "/user/",+        Data.toBS userId,+        "/content"+      ]++instance Data.ToQuery PostContent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPostContentResponse' smart constructor.+data PostContentResponse = PostContentResponse'+  { -- | A list of active contexts for the session. A context can be set when an+    -- intent is fulfilled or by calling the @PostContent@, @PostText@, or+    -- @PutSession@ operation.+    --+    -- You can use a context to control the intents that can follow up an+    -- intent, or to modify the operation of your application.+    activeContexts :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | One to four alternative intents that may be applicable to the user\'s+    -- intent.+    --+    -- Each alternative includes a score that indicates how confident Amazon+    -- Lex is that the intent matches the user\'s intent. The intents are+    -- sorted by the confidence score.+    alternativeIntents :: Prelude.Maybe Prelude.Text,+    -- | The version of the bot that responded to the conversation. You can use+    -- this information to help determine if one version of a bot is performing+    -- better than another version.+    botVersion :: Prelude.Maybe Prelude.Text,+    -- | Content type as specified in the @Accept@ HTTP header in the request.+    contentType :: Prelude.Maybe Prelude.Text,+    -- | Identifies the current state of the user interaction. Amazon Lex returns+    -- one of the following values as @dialogState@. The client can optionally+    -- use this information to customize the user interface.+    --+    -- -   @ElicitIntent@ - Amazon Lex wants to elicit the user\'s intent.+    --     Consider the following examples:+    --+    --     For example, a user might utter an intent (\"I want to order a+    --     pizza\"). If Amazon Lex cannot infer the user intent from this+    --     utterance, it will return this dialog state.+    --+    -- -   @ConfirmIntent@ - Amazon Lex is expecting a \"yes\" or \"no\"+    --     response.+    --+    --     For example, Amazon Lex wants user confirmation before fulfilling an+    --     intent. Instead of a simple \"yes\" or \"no\" response, a user might+    --     respond with additional information. For example, \"yes, but make it+    --     a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex+    --     can process such additional information (in these examples, update+    --     the crust type slot or change the intent from OrderPizza to+    --     OrderDrink).+    --+    -- -   @ElicitSlot@ - Amazon Lex is expecting the value of a slot for the+    --     current intent.+    --+    --     For example, suppose that in the response Amazon Lex sends this+    --     message: \"What size pizza would you like?\". A user might reply+    --     with the slot value (e.g., \"medium\"). The user might also provide+    --     additional information in the response (e.g., \"medium thick crust+    --     pizza\"). Amazon Lex can process such additional information+    --     appropriately.+    --+    -- -   @Fulfilled@ - Conveys that the Lambda function has successfully+    --     fulfilled the intent.+    --+    -- -   @ReadyForFulfillment@ - Conveys that the client has to fulfill the+    --     request.+    --+    -- -   @Failed@ - Conveys that the conversation with the user failed.+    --+    --     This can happen for various reasons, including that the user does+    --     not provide an appropriate response to prompts from the service (you+    --     can configure how many times Amazon Lex can prompt a user for+    --     specific information), or if the Lambda function fails to fulfill+    --     the intent.+    dialogState :: Prelude.Maybe DialogState,+    -- | The text used to process the request.+    --+    -- If the input was an audio stream, the @encodedInputTranscript@ field+    -- contains the text extracted from the audio stream. This is the text that+    -- is actually processed to recognize intents and slot values. You can use+    -- this information to determine if Amazon Lex is correctly processing the+    -- audio that you send.+    --+    -- The @encodedInputTranscript@ field is base-64 encoded. You must decode+    -- the field before you can use the value.+    encodedInputTranscript :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The message to convey to the user. The message can come from the bot\'s+    -- configuration or from a Lambda function.+    --+    -- If the intent is not configured with a Lambda function, or if the Lambda+    -- function returned @Delegate@ as the @dialogAction.type@ in its response,+    -- Amazon Lex decides on the next course of action and selects an+    -- appropriate message from the bot\'s configuration based on the current+    -- interaction context. For example, if Amazon Lex isn\'t able to+    -- understand user input, it uses a clarification prompt message.+    --+    -- When you create an intent you can assign messages to groups. When+    -- messages are assigned to groups Amazon Lex returns one message from each+    -- group in the response. The message field is an escaped JSON string+    -- containing the messages. For more information about the structure of the+    -- JSON string returned, see msg-prompts-formats.+    --+    -- If the Lambda function returns a message, Amazon Lex passes it to the+    -- client in its response.+    --+    -- The @encodedMessage@ field is base-64 encoded. You must decode the field+    -- before you can use the value.+    encodedMessage :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The text used to process the request.+    --+    -- You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419,+    -- es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the+    -- @inputTranscript@ field is null. You should use the+    -- @encodedInputTranscript@ field instead.+    --+    -- If the input was an audio stream, the @inputTranscript@ field contains+    -- the text extracted from the audio stream. This is the text that is+    -- actually processed to recognize intents and slot values. You can use+    -- this information to determine if Amazon Lex is correctly processing the+    -- audio that you send.+    inputTranscript :: Prelude.Maybe Prelude.Text,+    -- | Current user intent that Amazon Lex is aware of.+    intentName :: Prelude.Maybe Prelude.Text,+    -- | You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,+    -- es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the+    -- @message@ field is null. You should use the @encodedMessage@ field+    -- instead.+    --+    -- The message to convey to the user. The message can come from the bot\'s+    -- configuration or from a Lambda function.+    --+    -- If the intent is not configured with a Lambda function, or if the Lambda+    -- function returned @Delegate@ as the @dialogAction.type@ in its response,+    -- Amazon Lex decides on the next course of action and selects an+    -- appropriate message from the bot\'s configuration based on the current+    -- interaction context. For example, if Amazon Lex isn\'t able to+    -- understand user input, it uses a clarification prompt message.+    --+    -- When you create an intent you can assign messages to groups. When+    -- messages are assigned to groups Amazon Lex returns one message from each+    -- group in the response. The message field is an escaped JSON string+    -- containing the messages. For more information about the structure of the+    -- JSON string returned, see msg-prompts-formats.+    --+    -- If the Lambda function returns a message, Amazon Lex passes it to the+    -- client in its response.+    message :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The format of the response message. One of the following values:+    --+    -- -   @PlainText@ - The message contains plain UTF-8 text.+    --+    -- -   @CustomPayload@ - The message is a custom format for the client.+    --+    -- -   @SSML@ - The message contains text formatted for voice output.+    --+    -- -   @Composite@ - The message contains an escaped JSON object containing+    --     one or more messages from the groups that messages were assigned to+    --     when the intent was created.+    messageFormat :: Prelude.Maybe MessageFormatType,+    -- | Provides a score that indicates how confident Amazon Lex is that the+    -- returned intent is the one that matches the user\'s intent. The score is+    -- between 0.0 and 1.0.+    --+    -- The score is a relative score, not an absolute score. The score may+    -- change based on improvements to Amazon Lex.+    nluIntentConfidence :: Prelude.Maybe Prelude.Text,+    -- | The sentiment expressed in an utterance.+    --+    -- When the bot is configured to send utterances to Amazon Comprehend for+    -- sentiment analysis, this field contains the result of the analysis.+    sentimentResponse :: Prelude.Maybe Prelude.Text,+    -- | Map of key\/value pairs representing the session-specific context+    -- information.+    sessionAttributes :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier for the session.+    sessionId :: Prelude.Maybe Prelude.Text,+    -- | If the @dialogState@ value is @ElicitSlot@, returns the name of the slot+    -- for which Amazon Lex is eliciting a value.+    slotToElicit :: Prelude.Maybe Prelude.Text,+    -- | Map of zero or more intent slots (name\/value pairs) Amazon Lex detected+    -- from the user input during the conversation. The field is base-64+    -- encoded.+    --+    -- Amazon Lex creates a resolution list containing likely values for a+    -- slot. The value that it returns is determined by the+    -- @valueSelectionStrategy@ selected when the slot type was created or+    -- updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@, the+    -- value provided by the user is returned, if the user value is similar to+    -- the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@+    -- Amazon Lex returns the first value in the resolution list or, if there+    -- is no resolution list, null. If you don\'t specify a+    -- @valueSelectionStrategy@, the default is @ORIGINAL_VALUE@.+    slots :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The prompt (or statement) to convey to the user. This is based on the+    -- bot configuration and context. For example, if Amazon Lex did not+    -- understand the user intent, it sends the @clarificationPrompt@+    -- configured for the bot. If the intent requires confirmation before+    -- taking the fulfillment action, it sends the @confirmationPrompt@.+    -- Another example: Suppose that the Lambda function successfully fulfilled+    -- the intent, and sent a message to convey to the user. Then Amazon Lex+    -- sends that message in the response.+    audioStream :: Data.ResponseBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PostContentResponse' 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:+--+-- 'activeContexts', 'postContentResponse_activeContexts' - A list of active contexts for the session. A context can be set when an+-- intent is fulfilled or by calling the @PostContent@, @PostText@, or+-- @PutSession@ operation.+--+-- You can use a context to control the intents that can follow up an+-- intent, or to modify the operation of your application.+--+-- 'alternativeIntents', 'postContentResponse_alternativeIntents' - One to four alternative intents that may be applicable to the user\'s+-- intent.+--+-- Each alternative includes a score that indicates how confident Amazon+-- Lex is that the intent matches the user\'s intent. The intents are+-- sorted by the confidence score.+--+-- 'botVersion', 'postContentResponse_botVersion' - The version of the bot that responded to the conversation. You can use+-- this information to help determine if one version of a bot is performing+-- better than another version.+--+-- 'contentType', 'postContentResponse_contentType' - Content type as specified in the @Accept@ HTTP header in the request.+--+-- 'dialogState', 'postContentResponse_dialogState' - Identifies the current state of the user interaction. Amazon Lex returns+-- one of the following values as @dialogState@. The client can optionally+-- use this information to customize the user interface.+--+-- -   @ElicitIntent@ - Amazon Lex wants to elicit the user\'s intent.+--     Consider the following examples:+--+--     For example, a user might utter an intent (\"I want to order a+--     pizza\"). If Amazon Lex cannot infer the user intent from this+--     utterance, it will return this dialog state.+--+-- -   @ConfirmIntent@ - Amazon Lex is expecting a \"yes\" or \"no\"+--     response.+--+--     For example, Amazon Lex wants user confirmation before fulfilling an+--     intent. Instead of a simple \"yes\" or \"no\" response, a user might+--     respond with additional information. For example, \"yes, but make it+--     a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex+--     can process such additional information (in these examples, update+--     the crust type slot or change the intent from OrderPizza to+--     OrderDrink).+--+-- -   @ElicitSlot@ - Amazon Lex is expecting the value of a slot for the+--     current intent.+--+--     For example, suppose that in the response Amazon Lex sends this+--     message: \"What size pizza would you like?\". A user might reply+--     with the slot value (e.g., \"medium\"). The user might also provide+--     additional information in the response (e.g., \"medium thick crust+--     pizza\"). Amazon Lex can process such additional information+--     appropriately.+--+-- -   @Fulfilled@ - Conveys that the Lambda function has successfully+--     fulfilled the intent.+--+-- -   @ReadyForFulfillment@ - Conveys that the client has to fulfill the+--     request.+--+-- -   @Failed@ - Conveys that the conversation with the user failed.+--+--     This can happen for various reasons, including that the user does+--     not provide an appropriate response to prompts from the service (you+--     can configure how many times Amazon Lex can prompt a user for+--     specific information), or if the Lambda function fails to fulfill+--     the intent.+--+-- 'encodedInputTranscript', 'postContentResponse_encodedInputTranscript' - The text used to process the request.+--+-- If the input was an audio stream, the @encodedInputTranscript@ field+-- contains the text extracted from the audio stream. This is the text that+-- is actually processed to recognize intents and slot values. You can use+-- this information to determine if Amazon Lex is correctly processing the+-- audio that you send.+--+-- The @encodedInputTranscript@ field is base-64 encoded. You must decode+-- the field before you can use the value.+--+-- 'encodedMessage', 'postContentResponse_encodedMessage' - The message to convey to the user. The message can come from the bot\'s+-- configuration or from a Lambda function.+--+-- If the intent is not configured with a Lambda function, or if the Lambda+-- function returned @Delegate@ as the @dialogAction.type@ in its response,+-- Amazon Lex decides on the next course of action and selects an+-- appropriate message from the bot\'s configuration based on the current+-- interaction context. For example, if Amazon Lex isn\'t able to+-- understand user input, it uses a clarification prompt message.+--+-- When you create an intent you can assign messages to groups. When+-- messages are assigned to groups Amazon Lex returns one message from each+-- group in the response. The message field is an escaped JSON string+-- containing the messages. For more information about the structure of the+-- JSON string returned, see msg-prompts-formats.+--+-- If the Lambda function returns a message, Amazon Lex passes it to the+-- client in its response.+--+-- The @encodedMessage@ field is base-64 encoded. You must decode the field+-- before you can use the value.+--+-- 'inputTranscript', 'postContentResponse_inputTranscript' - The text used to process the request.+--+-- You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419,+-- es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the+-- @inputTranscript@ field is null. You should use the+-- @encodedInputTranscript@ field instead.+--+-- If the input was an audio stream, the @inputTranscript@ field contains+-- the text extracted from the audio stream. This is the text that is+-- actually processed to recognize intents and slot values. You can use+-- this information to determine if Amazon Lex is correctly processing the+-- audio that you send.+--+-- 'intentName', 'postContentResponse_intentName' - Current user intent that Amazon Lex is aware of.+--+-- 'message', 'postContentResponse_message' - You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,+-- es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the+-- @message@ field is null. You should use the @encodedMessage@ field+-- instead.+--+-- The message to convey to the user. The message can come from the bot\'s+-- configuration or from a Lambda function.+--+-- If the intent is not configured with a Lambda function, or if the Lambda+-- function returned @Delegate@ as the @dialogAction.type@ in its response,+-- Amazon Lex decides on the next course of action and selects an+-- appropriate message from the bot\'s configuration based on the current+-- interaction context. For example, if Amazon Lex isn\'t able to+-- understand user input, it uses a clarification prompt message.+--+-- When you create an intent you can assign messages to groups. When+-- messages are assigned to groups Amazon Lex returns one message from each+-- group in the response. The message field is an escaped JSON string+-- containing the messages. For more information about the structure of the+-- JSON string returned, see msg-prompts-formats.+--+-- If the Lambda function returns a message, Amazon Lex passes it to the+-- client in its response.+--+-- 'messageFormat', 'postContentResponse_messageFormat' - The format of the response message. One of the following values:+--+-- -   @PlainText@ - The message contains plain UTF-8 text.+--+-- -   @CustomPayload@ - The message is a custom format for the client.+--+-- -   @SSML@ - The message contains text formatted for voice output.+--+-- -   @Composite@ - The message contains an escaped JSON object containing+--     one or more messages from the groups that messages were assigned to+--     when the intent was created.+--+-- 'nluIntentConfidence', 'postContentResponse_nluIntentConfidence' - Provides a score that indicates how confident Amazon Lex is that the+-- returned intent is the one that matches the user\'s intent. The score is+-- between 0.0 and 1.0.+--+-- The score is a relative score, not an absolute score. The score may+-- change based on improvements to Amazon Lex.+--+-- 'sentimentResponse', 'postContentResponse_sentimentResponse' - The sentiment expressed in an utterance.+--+-- When the bot is configured to send utterances to Amazon Comprehend for+-- sentiment analysis, this field contains the result of the analysis.+--+-- 'sessionAttributes', 'postContentResponse_sessionAttributes' - Map of key\/value pairs representing the session-specific context+-- information.+--+-- 'sessionId', 'postContentResponse_sessionId' - The unique identifier for the session.+--+-- 'slotToElicit', 'postContentResponse_slotToElicit' - If the @dialogState@ value is @ElicitSlot@, returns the name of the slot+-- for which Amazon Lex is eliciting a value.+--+-- 'slots', 'postContentResponse_slots' - Map of zero or more intent slots (name\/value pairs) Amazon Lex detected+-- from the user input during the conversation. The field is base-64+-- encoded.+--+-- Amazon Lex creates a resolution list containing likely values for a+-- slot. The value that it returns is determined by the+-- @valueSelectionStrategy@ selected when the slot type was created or+-- updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@, the+-- value provided by the user is returned, if the user value is similar to+-- the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@+-- Amazon Lex returns the first value in the resolution list or, if there+-- is no resolution list, null. If you don\'t specify a+-- @valueSelectionStrategy@, the default is @ORIGINAL_VALUE@.+--+-- 'httpStatus', 'postContentResponse_httpStatus' - The response's http status code.+--+-- 'audioStream', 'postContentResponse_audioStream' - The prompt (or statement) to convey to the user. This is based on the+-- bot configuration and context. For example, if Amazon Lex did not+-- understand the user intent, it sends the @clarificationPrompt@+-- configured for the bot. If the intent requires confirmation before+-- taking the fulfillment action, it sends the @confirmationPrompt@.+-- Another example: Suppose that the Lambda function successfully fulfilled+-- the intent, and sent a message to convey to the user. Then Amazon Lex+-- sends that message in the response.+newPostContentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'audioStream'+  Data.ResponseBody ->+  PostContentResponse+newPostContentResponse pHttpStatus_ pAudioStream_ =+  PostContentResponse'+    { activeContexts =+        Prelude.Nothing,+      alternativeIntents = Prelude.Nothing,+      botVersion = Prelude.Nothing,+      contentType = Prelude.Nothing,+      dialogState = Prelude.Nothing,+      encodedInputTranscript = Prelude.Nothing,+      encodedMessage = Prelude.Nothing,+      inputTranscript = Prelude.Nothing,+      intentName = Prelude.Nothing,+      message = Prelude.Nothing,+      messageFormat = Prelude.Nothing,+      nluIntentConfidence = Prelude.Nothing,+      sentimentResponse = Prelude.Nothing,+      sessionAttributes = Prelude.Nothing,+      sessionId = Prelude.Nothing,+      slotToElicit = Prelude.Nothing,+      slots = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      audioStream = pAudioStream_+    }++-- | A list of active contexts for the session. A context can be set when an+-- intent is fulfilled or by calling the @PostContent@, @PostText@, or+-- @PutSession@ operation.+--+-- You can use a context to control the intents that can follow up an+-- intent, or to modify the operation of your application.+postContentResponse_activeContexts :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_activeContexts = Lens.lens (\PostContentResponse' {activeContexts} -> activeContexts) (\s@PostContentResponse' {} a -> s {activeContexts = a} :: PostContentResponse) Prelude.. Lens.mapping Data._Sensitive++-- | One to four alternative intents that may be applicable to the user\'s+-- intent.+--+-- Each alternative includes a score that indicates how confident Amazon+-- Lex is that the intent matches the user\'s intent. The intents are+-- sorted by the confidence score.+postContentResponse_alternativeIntents :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_alternativeIntents = Lens.lens (\PostContentResponse' {alternativeIntents} -> alternativeIntents) (\s@PostContentResponse' {} a -> s {alternativeIntents = a} :: PostContentResponse)++-- | The version of the bot that responded to the conversation. You can use+-- this information to help determine if one version of a bot is performing+-- better than another version.+postContentResponse_botVersion :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_botVersion = Lens.lens (\PostContentResponse' {botVersion} -> botVersion) (\s@PostContentResponse' {} a -> s {botVersion = a} :: PostContentResponse)++-- | Content type as specified in the @Accept@ HTTP header in the request.+postContentResponse_contentType :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_contentType = Lens.lens (\PostContentResponse' {contentType} -> contentType) (\s@PostContentResponse' {} a -> s {contentType = a} :: PostContentResponse)++-- | Identifies the current state of the user interaction. Amazon Lex returns+-- one of the following values as @dialogState@. The client can optionally+-- use this information to customize the user interface.+--+-- -   @ElicitIntent@ - Amazon Lex wants to elicit the user\'s intent.+--     Consider the following examples:+--+--     For example, a user might utter an intent (\"I want to order a+--     pizza\"). If Amazon Lex cannot infer the user intent from this+--     utterance, it will return this dialog state.+--+-- -   @ConfirmIntent@ - Amazon Lex is expecting a \"yes\" or \"no\"+--     response.+--+--     For example, Amazon Lex wants user confirmation before fulfilling an+--     intent. Instead of a simple \"yes\" or \"no\" response, a user might+--     respond with additional information. For example, \"yes, but make it+--     a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex+--     can process such additional information (in these examples, update+--     the crust type slot or change the intent from OrderPizza to+--     OrderDrink).+--+-- -   @ElicitSlot@ - Amazon Lex is expecting the value of a slot for the+--     current intent.+--+--     For example, suppose that in the response Amazon Lex sends this+--     message: \"What size pizza would you like?\". A user might reply+--     with the slot value (e.g., \"medium\"). The user might also provide+--     additional information in the response (e.g., \"medium thick crust+--     pizza\"). Amazon Lex can process such additional information+--     appropriately.+--+-- -   @Fulfilled@ - Conveys that the Lambda function has successfully+--     fulfilled the intent.+--+-- -   @ReadyForFulfillment@ - Conveys that the client has to fulfill the+--     request.+--+-- -   @Failed@ - Conveys that the conversation with the user failed.+--+--     This can happen for various reasons, including that the user does+--     not provide an appropriate response to prompts from the service (you+--     can configure how many times Amazon Lex can prompt a user for+--     specific information), or if the Lambda function fails to fulfill+--     the intent.+postContentResponse_dialogState :: Lens.Lens' PostContentResponse (Prelude.Maybe DialogState)+postContentResponse_dialogState = Lens.lens (\PostContentResponse' {dialogState} -> dialogState) (\s@PostContentResponse' {} a -> s {dialogState = a} :: PostContentResponse)++-- | The text used to process the request.+--+-- If the input was an audio stream, the @encodedInputTranscript@ field+-- contains the text extracted from the audio stream. This is the text that+-- is actually processed to recognize intents and slot values. You can use+-- this information to determine if Amazon Lex is correctly processing the+-- audio that you send.+--+-- The @encodedInputTranscript@ field is base-64 encoded. You must decode+-- the field before you can use the value.+postContentResponse_encodedInputTranscript :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_encodedInputTranscript = Lens.lens (\PostContentResponse' {encodedInputTranscript} -> encodedInputTranscript) (\s@PostContentResponse' {} a -> s {encodedInputTranscript = a} :: PostContentResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The message to convey to the user. The message can come from the bot\'s+-- configuration or from a Lambda function.+--+-- If the intent is not configured with a Lambda function, or if the Lambda+-- function returned @Delegate@ as the @dialogAction.type@ in its response,+-- Amazon Lex decides on the next course of action and selects an+-- appropriate message from the bot\'s configuration based on the current+-- interaction context. For example, if Amazon Lex isn\'t able to+-- understand user input, it uses a clarification prompt message.+--+-- When you create an intent you can assign messages to groups. When+-- messages are assigned to groups Amazon Lex returns one message from each+-- group in the response. The message field is an escaped JSON string+-- containing the messages. For more information about the structure of the+-- JSON string returned, see msg-prompts-formats.+--+-- If the Lambda function returns a message, Amazon Lex passes it to the+-- client in its response.+--+-- The @encodedMessage@ field is base-64 encoded. You must decode the field+-- before you can use the value.+postContentResponse_encodedMessage :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_encodedMessage = Lens.lens (\PostContentResponse' {encodedMessage} -> encodedMessage) (\s@PostContentResponse' {} a -> s {encodedMessage = a} :: PostContentResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The text used to process the request.+--+-- You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419,+-- es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the+-- @inputTranscript@ field is null. You should use the+-- @encodedInputTranscript@ field instead.+--+-- If the input was an audio stream, the @inputTranscript@ field contains+-- the text extracted from the audio stream. This is the text that is+-- actually processed to recognize intents and slot values. You can use+-- this information to determine if Amazon Lex is correctly processing the+-- audio that you send.+postContentResponse_inputTranscript :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_inputTranscript = Lens.lens (\PostContentResponse' {inputTranscript} -> inputTranscript) (\s@PostContentResponse' {} a -> s {inputTranscript = a} :: PostContentResponse)++-- | Current user intent that Amazon Lex is aware of.+postContentResponse_intentName :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_intentName = Lens.lens (\PostContentResponse' {intentName} -> intentName) (\s@PostContentResponse' {} a -> s {intentName = a} :: PostContentResponse)++-- | You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,+-- es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the+-- @message@ field is null. You should use the @encodedMessage@ field+-- instead.+--+-- The message to convey to the user. The message can come from the bot\'s+-- configuration or from a Lambda function.+--+-- If the intent is not configured with a Lambda function, or if the Lambda+-- function returned @Delegate@ as the @dialogAction.type@ in its response,+-- Amazon Lex decides on the next course of action and selects an+-- appropriate message from the bot\'s configuration based on the current+-- interaction context. For example, if Amazon Lex isn\'t able to+-- understand user input, it uses a clarification prompt message.+--+-- When you create an intent you can assign messages to groups. When+-- messages are assigned to groups Amazon Lex returns one message from each+-- group in the response. The message field is an escaped JSON string+-- containing the messages. For more information about the structure of the+-- JSON string returned, see msg-prompts-formats.+--+-- If the Lambda function returns a message, Amazon Lex passes it to the+-- client in its response.+postContentResponse_message :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_message = Lens.lens (\PostContentResponse' {message} -> message) (\s@PostContentResponse' {} a -> s {message = a} :: PostContentResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The format of the response message. One of the following values:+--+-- -   @PlainText@ - The message contains plain UTF-8 text.+--+-- -   @CustomPayload@ - The message is a custom format for the client.+--+-- -   @SSML@ - The message contains text formatted for voice output.+--+-- -   @Composite@ - The message contains an escaped JSON object containing+--     one or more messages from the groups that messages were assigned to+--     when the intent was created.+postContentResponse_messageFormat :: Lens.Lens' PostContentResponse (Prelude.Maybe MessageFormatType)+postContentResponse_messageFormat = Lens.lens (\PostContentResponse' {messageFormat} -> messageFormat) (\s@PostContentResponse' {} a -> s {messageFormat = a} :: PostContentResponse)++-- | Provides a score that indicates how confident Amazon Lex is that the+-- returned intent is the one that matches the user\'s intent. The score is+-- between 0.0 and 1.0.+--+-- The score is a relative score, not an absolute score. The score may+-- change based on improvements to Amazon Lex.+postContentResponse_nluIntentConfidence :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_nluIntentConfidence = Lens.lens (\PostContentResponse' {nluIntentConfidence} -> nluIntentConfidence) (\s@PostContentResponse' {} a -> s {nluIntentConfidence = a} :: PostContentResponse)++-- | The sentiment expressed in an utterance.+--+-- When the bot is configured to send utterances to Amazon Comprehend for+-- sentiment analysis, this field contains the result of the analysis.+postContentResponse_sentimentResponse :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_sentimentResponse = Lens.lens (\PostContentResponse' {sentimentResponse} -> sentimentResponse) (\s@PostContentResponse' {} a -> s {sentimentResponse = a} :: PostContentResponse)++-- | Map of key\/value pairs representing the session-specific context+-- information.+postContentResponse_sessionAttributes :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_sessionAttributes = Lens.lens (\PostContentResponse' {sessionAttributes} -> sessionAttributes) (\s@PostContentResponse' {} a -> s {sessionAttributes = a} :: PostContentResponse)++-- | The unique identifier for the session.+postContentResponse_sessionId :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_sessionId = Lens.lens (\PostContentResponse' {sessionId} -> sessionId) (\s@PostContentResponse' {} a -> s {sessionId = a} :: PostContentResponse)++-- | If the @dialogState@ value is @ElicitSlot@, returns the name of the slot+-- for which Amazon Lex is eliciting a value.+postContentResponse_slotToElicit :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_slotToElicit = Lens.lens (\PostContentResponse' {slotToElicit} -> slotToElicit) (\s@PostContentResponse' {} a -> s {slotToElicit = a} :: PostContentResponse)++-- | Map of zero or more intent slots (name\/value pairs) Amazon Lex detected+-- from the user input during the conversation. The field is base-64+-- encoded.+--+-- Amazon Lex creates a resolution list containing likely values for a+-- slot. The value that it returns is determined by the+-- @valueSelectionStrategy@ selected when the slot type was created or+-- updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@, the+-- value provided by the user is returned, if the user value is similar to+-- the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@+-- Amazon Lex returns the first value in the resolution list or, if there+-- is no resolution list, null. If you don\'t specify a+-- @valueSelectionStrategy@, the default is @ORIGINAL_VALUE@.+postContentResponse_slots :: Lens.Lens' PostContentResponse (Prelude.Maybe Prelude.Text)+postContentResponse_slots = Lens.lens (\PostContentResponse' {slots} -> slots) (\s@PostContentResponse' {} a -> s {slots = a} :: PostContentResponse)++-- | The response's http status code.+postContentResponse_httpStatus :: Lens.Lens' PostContentResponse Prelude.Int+postContentResponse_httpStatus = Lens.lens (\PostContentResponse' {httpStatus} -> httpStatus) (\s@PostContentResponse' {} a -> s {httpStatus = a} :: PostContentResponse)++-- | The prompt (or statement) to convey to the user. This is based on the+-- bot configuration and context. For example, if Amazon Lex did not+-- understand the user intent, it sends the @clarificationPrompt@+-- configured for the bot. If the intent requires confirmation before+-- taking the fulfillment action, it sends the @confirmationPrompt@.+-- Another example: Suppose that the Lambda function successfully fulfilled+-- the intent, and sent a message to convey to the user. Then Amazon Lex+-- sends that message in the response.+postContentResponse_audioStream :: Lens.Lens' PostContentResponse Data.ResponseBody+postContentResponse_audioStream = Lens.lens (\PostContentResponse' {audioStream} -> audioStream) (\s@PostContentResponse' {} a -> s {audioStream = a} :: PostContentResponse)
+ gen/Amazonka/LexRuntime/PostText.hs view
@@ -0,0 +1,916 @@+{-# 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.LexRuntime.PostText+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends user input to Amazon Lex. Client applications can use this API to+-- send requests to Amazon Lex at runtime. Amazon Lex then interprets the+-- user input using the machine learning model it built for the bot.+--+-- In response, Amazon Lex returns the next @message@ to convey to the user+-- an optional @responseCard@ to display. Consider the following example+-- messages:+--+-- -   For a user input \"I would like a pizza\", Amazon Lex might return a+--     response with a message eliciting slot data (for example,+--     PizzaSize): \"What size pizza would you like?\"+--+-- -   After the user provides all of the pizza order information, Amazon+--     Lex might return a response with a message to obtain user+--     confirmation \"Proceed with the pizza order?\".+--+-- -   After the user replies to a confirmation prompt with a \"yes\",+--     Amazon Lex might return a conclusion statement: \"Thank you, your+--     cheese pizza has been ordered.\".+--+-- Not all Amazon Lex messages require a user response. For example, a+-- conclusion statement does not require a response. Some messages require+-- only a \"yes\" or \"no\" user response. In addition to the @message@,+-- Amazon Lex provides additional context about the message in the response+-- that you might use to enhance client behavior, for example, to display+-- the appropriate client user interface. These are the @slotToElicit@,+-- @dialogState@, @intentName@, and @slots@ fields in the response.+-- Consider the following examples:+--+-- -   If the message is to elicit slot data, Amazon Lex returns the+--     following context information:+--+--     -   @dialogState@ set to ElicitSlot+--+--     -   @intentName@ set to the intent name in the current context+--+--     -   @slotToElicit@ set to the slot name for which the @message@ is+--         eliciting information+--+--     -   @slots@ set to a map of slots, configured for the intent, with+--         currently known values+--+-- -   If the message is a confirmation prompt, the @dialogState@ is set to+--     ConfirmIntent and @SlotToElicit@ is set to null.+--+-- -   If the message is a clarification prompt (configured for the intent)+--     that indicates that user intent is not understood, the @dialogState@+--     is set to ElicitIntent and @slotToElicit@ is set to null.+--+-- In addition, Amazon Lex also returns your application-specific+-- @sessionAttributes@. For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html Managing Conversation Context>.+module Amazonka.LexRuntime.PostText+  ( -- * Creating a Request+    PostText (..),+    newPostText,++    -- * Request Lenses+    postText_activeContexts,+    postText_requestAttributes,+    postText_sessionAttributes,+    postText_botName,+    postText_botAlias,+    postText_userId,+    postText_inputText,++    -- * Destructuring the Response+    PostTextResponse (..),+    newPostTextResponse,++    -- * Response Lenses+    postTextResponse_activeContexts,+    postTextResponse_alternativeIntents,+    postTextResponse_botVersion,+    postTextResponse_dialogState,+    postTextResponse_intentName,+    postTextResponse_message,+    postTextResponse_messageFormat,+    postTextResponse_nluIntentConfidence,+    postTextResponse_responseCard,+    postTextResponse_sentimentResponse,+    postTextResponse_sessionAttributes,+    postTextResponse_sessionId,+    postTextResponse_slotToElicit,+    postTextResponse_slots,+    postTextResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPostText' smart constructor.+data PostText = PostText'+  { -- | A list of contexts active for the request. A context can be activated+    -- when a previous intent is fulfilled, or by including the context in the+    -- request,+    --+    -- If you don\'t specify a list of contexts, Amazon Lex will use the+    -- current list of contexts for the session. If you specify an empty list,+    -- all contexts for the session are cleared.+    activeContexts :: Prelude.Maybe (Data.Sensitive [ActiveContext]),+    -- | Request-specific information passed between Amazon Lex and a client+    -- application.+    --+    -- The namespace @x-amz-lex:@ is reserved for special attributes. Don\'t+    -- create any request attributes with the prefix @x-amz-lex:@.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes>.+    requestAttributes :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | Application-specific information passed between Amazon Lex and a client+    -- application.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes>.+    sessionAttributes :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The name of the Amazon Lex bot.+    botName :: Prelude.Text,+    -- | The alias of the Amazon Lex bot.+    botAlias :: Prelude.Text,+    -- | The ID of the client application user. Amazon Lex uses this to identify+    -- a user\'s conversation with your bot. At runtime, each request must+    -- contain the @userID@ field.+    --+    -- To decide the user ID to use for your application, consider the+    -- following factors.+    --+    -- -   The @userID@ field must not contain any personally identifiable+    --     information of the user, for example, name, personal identification+    --     numbers, or other end user personal information.+    --+    -- -   If you want a user to start a conversation on one device and+    --     continue on another device, use a user-specific identifier.+    --+    -- -   If you want the same user to be able to have two independent+    --     conversations on two different devices, choose a device-specific+    --     identifier.+    --+    -- -   A user can\'t have two independent conversations with two different+    --     versions of the same bot. For example, a user can\'t have a+    --     conversation with the PROD and BETA versions of the same bot. If you+    --     anticipate that a user will need to have conversation with two+    --     different versions, for example, while testing, include the bot+    --     alias in the user ID to separate the two conversations.+    userId :: Prelude.Text,+    -- | The text that the user entered (Amazon Lex interprets this text).+    inputText :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PostText' 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:+--+-- 'activeContexts', 'postText_activeContexts' - A list of contexts active for the request. A context can be activated+-- when a previous intent is fulfilled, or by including the context in the+-- request,+--+-- If you don\'t specify a list of contexts, Amazon Lex will use the+-- current list of contexts for the session. If you specify an empty list,+-- all contexts for the session are cleared.+--+-- 'requestAttributes', 'postText_requestAttributes' - Request-specific information passed between Amazon Lex and a client+-- application.+--+-- The namespace @x-amz-lex:@ is reserved for special attributes. Don\'t+-- create any request attributes with the prefix @x-amz-lex:@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes>.+--+-- 'sessionAttributes', 'postText_sessionAttributes' - Application-specific information passed between Amazon Lex and a client+-- application.+--+-- For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes>.+--+-- 'botName', 'postText_botName' - The name of the Amazon Lex bot.+--+-- 'botAlias', 'postText_botAlias' - The alias of the Amazon Lex bot.+--+-- 'userId', 'postText_userId' - The ID of the client application user. Amazon Lex uses this to identify+-- a user\'s conversation with your bot. At runtime, each request must+-- contain the @userID@ field.+--+-- To decide the user ID to use for your application, consider the+-- following factors.+--+-- -   The @userID@ field must not contain any personally identifiable+--     information of the user, for example, name, personal identification+--     numbers, or other end user personal information.+--+-- -   If you want a user to start a conversation on one device and+--     continue on another device, use a user-specific identifier.+--+-- -   If you want the same user to be able to have two independent+--     conversations on two different devices, choose a device-specific+--     identifier.+--+-- -   A user can\'t have two independent conversations with two different+--     versions of the same bot. For example, a user can\'t have a+--     conversation with the PROD and BETA versions of the same bot. If you+--     anticipate that a user will need to have conversation with two+--     different versions, for example, while testing, include the bot+--     alias in the user ID to separate the two conversations.+--+-- 'inputText', 'postText_inputText' - The text that the user entered (Amazon Lex interprets this text).+newPostText ::+  -- | 'botName'+  Prelude.Text ->+  -- | 'botAlias'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  -- | 'inputText'+  Prelude.Text ->+  PostText+newPostText pBotName_ pBotAlias_ pUserId_ pInputText_ =+  PostText'+    { activeContexts = Prelude.Nothing,+      requestAttributes = Prelude.Nothing,+      sessionAttributes = Prelude.Nothing,+      botName = pBotName_,+      botAlias = pBotAlias_,+      userId = pUserId_,+      inputText = Data._Sensitive Lens.# pInputText_+    }++-- | A list of contexts active for the request. A context can be activated+-- when a previous intent is fulfilled, or by including the context in the+-- request,+--+-- If you don\'t specify a list of contexts, Amazon Lex will use the+-- current list of contexts for the session. If you specify an empty list,+-- all contexts for the session are cleared.+postText_activeContexts :: Lens.Lens' PostText (Prelude.Maybe [ActiveContext])+postText_activeContexts = Lens.lens (\PostText' {activeContexts} -> activeContexts) (\s@PostText' {} a -> s {activeContexts = a} :: PostText) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Request-specific information passed between Amazon Lex and a client+-- application.+--+-- The namespace @x-amz-lex:@ is reserved for special attributes. Don\'t+-- create any request attributes with the prefix @x-amz-lex:@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes>.+postText_requestAttributes :: Lens.Lens' PostText (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+postText_requestAttributes = Lens.lens (\PostText' {requestAttributes} -> requestAttributes) (\s@PostText' {} a -> s {requestAttributes = a} :: PostText) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Application-specific information passed between Amazon Lex and a client+-- application.+--+-- For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes>.+postText_sessionAttributes :: Lens.Lens' PostText (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+postText_sessionAttributes = Lens.lens (\PostText' {sessionAttributes} -> sessionAttributes) (\s@PostText' {} a -> s {sessionAttributes = a} :: PostText) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The name of the Amazon Lex bot.+postText_botName :: Lens.Lens' PostText Prelude.Text+postText_botName = Lens.lens (\PostText' {botName} -> botName) (\s@PostText' {} a -> s {botName = a} :: PostText)++-- | The alias of the Amazon Lex bot.+postText_botAlias :: Lens.Lens' PostText Prelude.Text+postText_botAlias = Lens.lens (\PostText' {botAlias} -> botAlias) (\s@PostText' {} a -> s {botAlias = a} :: PostText)++-- | The ID of the client application user. Amazon Lex uses this to identify+-- a user\'s conversation with your bot. At runtime, each request must+-- contain the @userID@ field.+--+-- To decide the user ID to use for your application, consider the+-- following factors.+--+-- -   The @userID@ field must not contain any personally identifiable+--     information of the user, for example, name, personal identification+--     numbers, or other end user personal information.+--+-- -   If you want a user to start a conversation on one device and+--     continue on another device, use a user-specific identifier.+--+-- -   If you want the same user to be able to have two independent+--     conversations on two different devices, choose a device-specific+--     identifier.+--+-- -   A user can\'t have two independent conversations with two different+--     versions of the same bot. For example, a user can\'t have a+--     conversation with the PROD and BETA versions of the same bot. If you+--     anticipate that a user will need to have conversation with two+--     different versions, for example, while testing, include the bot+--     alias in the user ID to separate the two conversations.+postText_userId :: Lens.Lens' PostText Prelude.Text+postText_userId = Lens.lens (\PostText' {userId} -> userId) (\s@PostText' {} a -> s {userId = a} :: PostText)++-- | The text that the user entered (Amazon Lex interprets this text).+postText_inputText :: Lens.Lens' PostText Prelude.Text+postText_inputText = Lens.lens (\PostText' {inputText} -> inputText) (\s@PostText' {} a -> s {inputText = a} :: PostText) Prelude.. Data._Sensitive++instance Core.AWSRequest PostText where+  type AWSResponse PostText = PostTextResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PostTextResponse'+            Prelude.<$> (x Data..?> "activeContexts" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "alternativeIntents"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "botVersion")+            Prelude.<*> (x Data..?> "dialogState")+            Prelude.<*> (x Data..?> "intentName")+            Prelude.<*> (x Data..?> "message")+            Prelude.<*> (x Data..?> "messageFormat")+            Prelude.<*> (x Data..?> "nluIntentConfidence")+            Prelude.<*> (x Data..?> "responseCard")+            Prelude.<*> (x Data..?> "sentimentResponse")+            Prelude.<*> ( x+                            Data..?> "sessionAttributes"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "sessionId")+            Prelude.<*> (x Data..?> "slotToElicit")+            Prelude.<*> (x Data..?> "slots" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PostText where+  hashWithSalt _salt PostText' {..} =+    _salt+      `Prelude.hashWithSalt` activeContexts+      `Prelude.hashWithSalt` requestAttributes+      `Prelude.hashWithSalt` sessionAttributes+      `Prelude.hashWithSalt` botName+      `Prelude.hashWithSalt` botAlias+      `Prelude.hashWithSalt` userId+      `Prelude.hashWithSalt` inputText++instance Prelude.NFData PostText where+  rnf PostText' {..} =+    Prelude.rnf activeContexts+      `Prelude.seq` Prelude.rnf requestAttributes+      `Prelude.seq` Prelude.rnf sessionAttributes+      `Prelude.seq` Prelude.rnf botName+      `Prelude.seq` Prelude.rnf botAlias+      `Prelude.seq` Prelude.rnf userId+      `Prelude.seq` Prelude.rnf inputText++instance Data.ToHeaders PostText where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PostText where+  toJSON PostText' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("activeContexts" Data..=)+              Prelude.<$> activeContexts,+            ("requestAttributes" Data..=)+              Prelude.<$> requestAttributes,+            ("sessionAttributes" Data..=)+              Prelude.<$> sessionAttributes,+            Prelude.Just ("inputText" Data..= inputText)+          ]+      )++instance Data.ToPath PostText where+  toPath PostText' {..} =+    Prelude.mconcat+      [ "/bot/",+        Data.toBS botName,+        "/alias/",+        Data.toBS botAlias,+        "/user/",+        Data.toBS userId,+        "/text"+      ]++instance Data.ToQuery PostText where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPostTextResponse' smart constructor.+data PostTextResponse = PostTextResponse'+  { -- | A list of active contexts for the session. A context can be set when an+    -- intent is fulfilled or by calling the @PostContent@, @PostText@, or+    -- @PutSession@ operation.+    --+    -- You can use a context to control the intents that can follow up an+    -- intent, or to modify the operation of your application.+    activeContexts :: Prelude.Maybe (Data.Sensitive [ActiveContext]),+    -- | One to four alternative intents that may be applicable to the user\'s+    -- intent.+    --+    -- Each alternative includes a score that indicates how confident Amazon+    -- Lex is that the intent matches the user\'s intent. The intents are+    -- sorted by the confidence score.+    alternativeIntents :: Prelude.Maybe [PredictedIntent],+    -- | The version of the bot that responded to the conversation. You can use+    -- this information to help determine if one version of a bot is performing+    -- better than another version.+    botVersion :: Prelude.Maybe Prelude.Text,+    -- | Identifies the current state of the user interaction. Amazon Lex returns+    -- one of the following values as @dialogState@. The client can optionally+    -- use this information to customize the user interface.+    --+    -- -   @ElicitIntent@ - Amazon Lex wants to elicit user intent.+    --+    --     For example, a user might utter an intent (\"I want to order a+    --     pizza\"). If Amazon Lex cannot infer the user intent from this+    --     utterance, it will return this dialogState.+    --+    -- -   @ConfirmIntent@ - Amazon Lex is expecting a \"yes\" or \"no\"+    --     response.+    --+    --     For example, Amazon Lex wants user confirmation before fulfilling an+    --     intent.+    --+    --     Instead of a simple \"yes\" or \"no,\" a user might respond with+    --     additional information. For example, \"yes, but make it thick crust+    --     pizza\" or \"no, I want to order a drink\". Amazon Lex can process+    --     such additional information (in these examples, update the crust+    --     type slot value, or change intent from OrderPizza to OrderDrink).+    --+    -- -   @ElicitSlot@ - Amazon Lex is expecting a slot value for the current+    --     intent.+    --+    --     For example, suppose that in the response Amazon Lex sends this+    --     message: \"What size pizza would you like?\". A user might reply+    --     with the slot value (e.g., \"medium\"). The user might also provide+    --     additional information in the response (e.g., \"medium thick crust+    --     pizza\"). Amazon Lex can process such additional information+    --     appropriately.+    --+    -- -   @Fulfilled@ - Conveys that the Lambda function configured for the+    --     intent has successfully fulfilled the intent.+    --+    -- -   @ReadyForFulfillment@ - Conveys that the client has to fulfill the+    --     intent.+    --+    -- -   @Failed@ - Conveys that the conversation with the user failed.+    --+    --     This can happen for various reasons including that the user did not+    --     provide an appropriate response to prompts from the service (you can+    --     configure how many times Amazon Lex can prompt a user for specific+    --     information), or the Lambda function failed to fulfill the intent.+    dialogState :: Prelude.Maybe DialogState,+    -- | The current user intent that Amazon Lex is aware of.+    intentName :: Prelude.Maybe Prelude.Text,+    -- | The message to convey to the user. The message can come from the bot\'s+    -- configuration or from a Lambda function.+    --+    -- If the intent is not configured with a Lambda function, or if the Lambda+    -- function returned @Delegate@ as the @dialogAction.type@ its response,+    -- Amazon Lex decides on the next course of action and selects an+    -- appropriate message from the bot\'s configuration based on the current+    -- interaction context. For example, if Amazon Lex isn\'t able to+    -- understand user input, it uses a clarification prompt message.+    --+    -- When you create an intent you can assign messages to groups. When+    -- messages are assigned to groups Amazon Lex returns one message from each+    -- group in the response. The message field is an escaped JSON string+    -- containing the messages. For more information about the structure of the+    -- JSON string returned, see msg-prompts-formats.+    --+    -- If the Lambda function returns a message, Amazon Lex passes it to the+    -- client in its response.+    message :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The format of the response message. One of the following values:+    --+    -- -   @PlainText@ - The message contains plain UTF-8 text.+    --+    -- -   @CustomPayload@ - The message is a custom format defined by the+    --     Lambda function.+    --+    -- -   @SSML@ - The message contains text formatted for voice output.+    --+    -- -   @Composite@ - The message contains an escaped JSON object containing+    --     one or more messages from the groups that messages were assigned to+    --     when the intent was created.+    messageFormat :: Prelude.Maybe MessageFormatType,+    -- | Provides a score that indicates how confident Amazon Lex is that the+    -- returned intent is the one that matches the user\'s intent. The score is+    -- between 0.0 and 1.0. For more information, see+    -- <https://docs.aws.amazon.com/lex/latest/dg/confidence-scores.html Confidence Scores>.+    --+    -- The score is a relative score, not an absolute score. The score may+    -- change based on improvements to Amazon Lex.+    nluIntentConfidence :: Prelude.Maybe IntentConfidence,+    -- | Represents the options that the user has to respond to the current+    -- prompt. Response Card can come from the bot configuration (in the Amazon+    -- Lex console, choose the settings button next to a slot) or from a code+    -- hook (Lambda function).+    responseCard :: Prelude.Maybe ResponseCard,+    -- | The sentiment expressed in and utterance.+    --+    -- When the bot is configured to send utterances to Amazon Comprehend for+    -- sentiment analysis, this field contains the result of the analysis.+    sentimentResponse :: Prelude.Maybe SentimentResponse,+    -- | A map of key-value pairs representing the session-specific context+    -- information.+    sessionAttributes :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | A unique identifier for the session.+    sessionId :: Prelude.Maybe Prelude.Text,+    -- | If the @dialogState@ value is @ElicitSlot@, returns the name of the slot+    -- for which Amazon Lex is eliciting a value.+    slotToElicit :: Prelude.Maybe Prelude.Text,+    -- | The intent slots that Amazon Lex detected from the user input in the+    -- conversation.+    --+    -- Amazon Lex creates a resolution list containing likely values for a+    -- slot. The value that it returns is determined by the+    -- @valueSelectionStrategy@ selected when the slot type was created or+    -- updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@, the+    -- value provided by the user is returned, if the user value is similar to+    -- the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@+    -- Amazon Lex returns the first value in the resolution list or, if there+    -- is no resolution list, null. If you don\'t specify a+    -- @valueSelectionStrategy@, the default is @ORIGINAL_VALUE@.+    slots :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PostTextResponse' 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:+--+-- 'activeContexts', 'postTextResponse_activeContexts' - A list of active contexts for the session. A context can be set when an+-- intent is fulfilled or by calling the @PostContent@, @PostText@, or+-- @PutSession@ operation.+--+-- You can use a context to control the intents that can follow up an+-- intent, or to modify the operation of your application.+--+-- 'alternativeIntents', 'postTextResponse_alternativeIntents' - One to four alternative intents that may be applicable to the user\'s+-- intent.+--+-- Each alternative includes a score that indicates how confident Amazon+-- Lex is that the intent matches the user\'s intent. The intents are+-- sorted by the confidence score.+--+-- 'botVersion', 'postTextResponse_botVersion' - The version of the bot that responded to the conversation. You can use+-- this information to help determine if one version of a bot is performing+-- better than another version.+--+-- 'dialogState', 'postTextResponse_dialogState' - Identifies the current state of the user interaction. Amazon Lex returns+-- one of the following values as @dialogState@. The client can optionally+-- use this information to customize the user interface.+--+-- -   @ElicitIntent@ - Amazon Lex wants to elicit user intent.+--+--     For example, a user might utter an intent (\"I want to order a+--     pizza\"). If Amazon Lex cannot infer the user intent from this+--     utterance, it will return this dialogState.+--+-- -   @ConfirmIntent@ - Amazon Lex is expecting a \"yes\" or \"no\"+--     response.+--+--     For example, Amazon Lex wants user confirmation before fulfilling an+--     intent.+--+--     Instead of a simple \"yes\" or \"no,\" a user might respond with+--     additional information. For example, \"yes, but make it thick crust+--     pizza\" or \"no, I want to order a drink\". Amazon Lex can process+--     such additional information (in these examples, update the crust+--     type slot value, or change intent from OrderPizza to OrderDrink).+--+-- -   @ElicitSlot@ - Amazon Lex is expecting a slot value for the current+--     intent.+--+--     For example, suppose that in the response Amazon Lex sends this+--     message: \"What size pizza would you like?\". A user might reply+--     with the slot value (e.g., \"medium\"). The user might also provide+--     additional information in the response (e.g., \"medium thick crust+--     pizza\"). Amazon Lex can process such additional information+--     appropriately.+--+-- -   @Fulfilled@ - Conveys that the Lambda function configured for the+--     intent has successfully fulfilled the intent.+--+-- -   @ReadyForFulfillment@ - Conveys that the client has to fulfill the+--     intent.+--+-- -   @Failed@ - Conveys that the conversation with the user failed.+--+--     This can happen for various reasons including that the user did not+--     provide an appropriate response to prompts from the service (you can+--     configure how many times Amazon Lex can prompt a user for specific+--     information), or the Lambda function failed to fulfill the intent.+--+-- 'intentName', 'postTextResponse_intentName' - The current user intent that Amazon Lex is aware of.+--+-- 'message', 'postTextResponse_message' - The message to convey to the user. The message can come from the bot\'s+-- configuration or from a Lambda function.+--+-- If the intent is not configured with a Lambda function, or if the Lambda+-- function returned @Delegate@ as the @dialogAction.type@ its response,+-- Amazon Lex decides on the next course of action and selects an+-- appropriate message from the bot\'s configuration based on the current+-- interaction context. For example, if Amazon Lex isn\'t able to+-- understand user input, it uses a clarification prompt message.+--+-- When you create an intent you can assign messages to groups. When+-- messages are assigned to groups Amazon Lex returns one message from each+-- group in the response. The message field is an escaped JSON string+-- containing the messages. For more information about the structure of the+-- JSON string returned, see msg-prompts-formats.+--+-- If the Lambda function returns a message, Amazon Lex passes it to the+-- client in its response.+--+-- 'messageFormat', 'postTextResponse_messageFormat' - The format of the response message. One of the following values:+--+-- -   @PlainText@ - The message contains plain UTF-8 text.+--+-- -   @CustomPayload@ - The message is a custom format defined by the+--     Lambda function.+--+-- -   @SSML@ - The message contains text formatted for voice output.+--+-- -   @Composite@ - The message contains an escaped JSON object containing+--     one or more messages from the groups that messages were assigned to+--     when the intent was created.+--+-- 'nluIntentConfidence', 'postTextResponse_nluIntentConfidence' - Provides a score that indicates how confident Amazon Lex is that the+-- returned intent is the one that matches the user\'s intent. The score is+-- between 0.0 and 1.0. For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/confidence-scores.html Confidence Scores>.+--+-- The score is a relative score, not an absolute score. The score may+-- change based on improvements to Amazon Lex.+--+-- 'responseCard', 'postTextResponse_responseCard' - Represents the options that the user has to respond to the current+-- prompt. Response Card can come from the bot configuration (in the Amazon+-- Lex console, choose the settings button next to a slot) or from a code+-- hook (Lambda function).+--+-- 'sentimentResponse', 'postTextResponse_sentimentResponse' - The sentiment expressed in and utterance.+--+-- When the bot is configured to send utterances to Amazon Comprehend for+-- sentiment analysis, this field contains the result of the analysis.+--+-- 'sessionAttributes', 'postTextResponse_sessionAttributes' - A map of key-value pairs representing the session-specific context+-- information.+--+-- 'sessionId', 'postTextResponse_sessionId' - A unique identifier for the session.+--+-- 'slotToElicit', 'postTextResponse_slotToElicit' - If the @dialogState@ value is @ElicitSlot@, returns the name of the slot+-- for which Amazon Lex is eliciting a value.+--+-- 'slots', 'postTextResponse_slots' - The intent slots that Amazon Lex detected from the user input in the+-- conversation.+--+-- Amazon Lex creates a resolution list containing likely values for a+-- slot. The value that it returns is determined by the+-- @valueSelectionStrategy@ selected when the slot type was created or+-- updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@, the+-- value provided by the user is returned, if the user value is similar to+-- the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@+-- Amazon Lex returns the first value in the resolution list or, if there+-- is no resolution list, null. If you don\'t specify a+-- @valueSelectionStrategy@, the default is @ORIGINAL_VALUE@.+--+-- 'httpStatus', 'postTextResponse_httpStatus' - The response's http status code.+newPostTextResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PostTextResponse+newPostTextResponse pHttpStatus_ =+  PostTextResponse'+    { activeContexts = Prelude.Nothing,+      alternativeIntents = Prelude.Nothing,+      botVersion = Prelude.Nothing,+      dialogState = Prelude.Nothing,+      intentName = Prelude.Nothing,+      message = Prelude.Nothing,+      messageFormat = Prelude.Nothing,+      nluIntentConfidence = Prelude.Nothing,+      responseCard = Prelude.Nothing,+      sentimentResponse = Prelude.Nothing,+      sessionAttributes = Prelude.Nothing,+      sessionId = Prelude.Nothing,+      slotToElicit = Prelude.Nothing,+      slots = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of active contexts for the session. A context can be set when an+-- intent is fulfilled or by calling the @PostContent@, @PostText@, or+-- @PutSession@ operation.+--+-- You can use a context to control the intents that can follow up an+-- intent, or to modify the operation of your application.+postTextResponse_activeContexts :: Lens.Lens' PostTextResponse (Prelude.Maybe [ActiveContext])+postTextResponse_activeContexts = Lens.lens (\PostTextResponse' {activeContexts} -> activeContexts) (\s@PostTextResponse' {} a -> s {activeContexts = a} :: PostTextResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | One to four alternative intents that may be applicable to the user\'s+-- intent.+--+-- Each alternative includes a score that indicates how confident Amazon+-- Lex is that the intent matches the user\'s intent. The intents are+-- sorted by the confidence score.+postTextResponse_alternativeIntents :: Lens.Lens' PostTextResponse (Prelude.Maybe [PredictedIntent])+postTextResponse_alternativeIntents = Lens.lens (\PostTextResponse' {alternativeIntents} -> alternativeIntents) (\s@PostTextResponse' {} a -> s {alternativeIntents = a} :: PostTextResponse) Prelude.. Lens.mapping Lens.coerced++-- | The version of the bot that responded to the conversation. You can use+-- this information to help determine if one version of a bot is performing+-- better than another version.+postTextResponse_botVersion :: Lens.Lens' PostTextResponse (Prelude.Maybe Prelude.Text)+postTextResponse_botVersion = Lens.lens (\PostTextResponse' {botVersion} -> botVersion) (\s@PostTextResponse' {} a -> s {botVersion = a} :: PostTextResponse)++-- | Identifies the current state of the user interaction. Amazon Lex returns+-- one of the following values as @dialogState@. The client can optionally+-- use this information to customize the user interface.+--+-- -   @ElicitIntent@ - Amazon Lex wants to elicit user intent.+--+--     For example, a user might utter an intent (\"I want to order a+--     pizza\"). If Amazon Lex cannot infer the user intent from this+--     utterance, it will return this dialogState.+--+-- -   @ConfirmIntent@ - Amazon Lex is expecting a \"yes\" or \"no\"+--     response.+--+--     For example, Amazon Lex wants user confirmation before fulfilling an+--     intent.+--+--     Instead of a simple \"yes\" or \"no,\" a user might respond with+--     additional information. For example, \"yes, but make it thick crust+--     pizza\" or \"no, I want to order a drink\". Amazon Lex can process+--     such additional information (in these examples, update the crust+--     type slot value, or change intent from OrderPizza to OrderDrink).+--+-- -   @ElicitSlot@ - Amazon Lex is expecting a slot value for the current+--     intent.+--+--     For example, suppose that in the response Amazon Lex sends this+--     message: \"What size pizza would you like?\". A user might reply+--     with the slot value (e.g., \"medium\"). The user might also provide+--     additional information in the response (e.g., \"medium thick crust+--     pizza\"). Amazon Lex can process such additional information+--     appropriately.+--+-- -   @Fulfilled@ - Conveys that the Lambda function configured for the+--     intent has successfully fulfilled the intent.+--+-- -   @ReadyForFulfillment@ - Conveys that the client has to fulfill the+--     intent.+--+-- -   @Failed@ - Conveys that the conversation with the user failed.+--+--     This can happen for various reasons including that the user did not+--     provide an appropriate response to prompts from the service (you can+--     configure how many times Amazon Lex can prompt a user for specific+--     information), or the Lambda function failed to fulfill the intent.+postTextResponse_dialogState :: Lens.Lens' PostTextResponse (Prelude.Maybe DialogState)+postTextResponse_dialogState = Lens.lens (\PostTextResponse' {dialogState} -> dialogState) (\s@PostTextResponse' {} a -> s {dialogState = a} :: PostTextResponse)++-- | The current user intent that Amazon Lex is aware of.+postTextResponse_intentName :: Lens.Lens' PostTextResponse (Prelude.Maybe Prelude.Text)+postTextResponse_intentName = Lens.lens (\PostTextResponse' {intentName} -> intentName) (\s@PostTextResponse' {} a -> s {intentName = a} :: PostTextResponse)++-- | The message to convey to the user. The message can come from the bot\'s+-- configuration or from a Lambda function.+--+-- If the intent is not configured with a Lambda function, or if the Lambda+-- function returned @Delegate@ as the @dialogAction.type@ its response,+-- Amazon Lex decides on the next course of action and selects an+-- appropriate message from the bot\'s configuration based on the current+-- interaction context. For example, if Amazon Lex isn\'t able to+-- understand user input, it uses a clarification prompt message.+--+-- When you create an intent you can assign messages to groups. When+-- messages are assigned to groups Amazon Lex returns one message from each+-- group in the response. The message field is an escaped JSON string+-- containing the messages. For more information about the structure of the+-- JSON string returned, see msg-prompts-formats.+--+-- If the Lambda function returns a message, Amazon Lex passes it to the+-- client in its response.+postTextResponse_message :: Lens.Lens' PostTextResponse (Prelude.Maybe Prelude.Text)+postTextResponse_message = Lens.lens (\PostTextResponse' {message} -> message) (\s@PostTextResponse' {} a -> s {message = a} :: PostTextResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The format of the response message. One of the following values:+--+-- -   @PlainText@ - The message contains plain UTF-8 text.+--+-- -   @CustomPayload@ - The message is a custom format defined by the+--     Lambda function.+--+-- -   @SSML@ - The message contains text formatted for voice output.+--+-- -   @Composite@ - The message contains an escaped JSON object containing+--     one or more messages from the groups that messages were assigned to+--     when the intent was created.+postTextResponse_messageFormat :: Lens.Lens' PostTextResponse (Prelude.Maybe MessageFormatType)+postTextResponse_messageFormat = Lens.lens (\PostTextResponse' {messageFormat} -> messageFormat) (\s@PostTextResponse' {} a -> s {messageFormat = a} :: PostTextResponse)++-- | Provides a score that indicates how confident Amazon Lex is that the+-- returned intent is the one that matches the user\'s intent. The score is+-- between 0.0 and 1.0. For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/confidence-scores.html Confidence Scores>.+--+-- The score is a relative score, not an absolute score. The score may+-- change based on improvements to Amazon Lex.+postTextResponse_nluIntentConfidence :: Lens.Lens' PostTextResponse (Prelude.Maybe IntentConfidence)+postTextResponse_nluIntentConfidence = Lens.lens (\PostTextResponse' {nluIntentConfidence} -> nluIntentConfidence) (\s@PostTextResponse' {} a -> s {nluIntentConfidence = a} :: PostTextResponse)++-- | Represents the options that the user has to respond to the current+-- prompt. Response Card can come from the bot configuration (in the Amazon+-- Lex console, choose the settings button next to a slot) or from a code+-- hook (Lambda function).+postTextResponse_responseCard :: Lens.Lens' PostTextResponse (Prelude.Maybe ResponseCard)+postTextResponse_responseCard = Lens.lens (\PostTextResponse' {responseCard} -> responseCard) (\s@PostTextResponse' {} a -> s {responseCard = a} :: PostTextResponse)++-- | The sentiment expressed in and utterance.+--+-- When the bot is configured to send utterances to Amazon Comprehend for+-- sentiment analysis, this field contains the result of the analysis.+postTextResponse_sentimentResponse :: Lens.Lens' PostTextResponse (Prelude.Maybe SentimentResponse)+postTextResponse_sentimentResponse = Lens.lens (\PostTextResponse' {sentimentResponse} -> sentimentResponse) (\s@PostTextResponse' {} a -> s {sentimentResponse = a} :: PostTextResponse)++-- | A map of key-value pairs representing the session-specific context+-- information.+postTextResponse_sessionAttributes :: Lens.Lens' PostTextResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+postTextResponse_sessionAttributes = Lens.lens (\PostTextResponse' {sessionAttributes} -> sessionAttributes) (\s@PostTextResponse' {} a -> s {sessionAttributes = a} :: PostTextResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | A unique identifier for the session.+postTextResponse_sessionId :: Lens.Lens' PostTextResponse (Prelude.Maybe Prelude.Text)+postTextResponse_sessionId = Lens.lens (\PostTextResponse' {sessionId} -> sessionId) (\s@PostTextResponse' {} a -> s {sessionId = a} :: PostTextResponse)++-- | If the @dialogState@ value is @ElicitSlot@, returns the name of the slot+-- for which Amazon Lex is eliciting a value.+postTextResponse_slotToElicit :: Lens.Lens' PostTextResponse (Prelude.Maybe Prelude.Text)+postTextResponse_slotToElicit = Lens.lens (\PostTextResponse' {slotToElicit} -> slotToElicit) (\s@PostTextResponse' {} a -> s {slotToElicit = a} :: PostTextResponse)++-- | The intent slots that Amazon Lex detected from the user input in the+-- conversation.+--+-- Amazon Lex creates a resolution list containing likely values for a+-- slot. The value that it returns is determined by the+-- @valueSelectionStrategy@ selected when the slot type was created or+-- updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@, the+-- value provided by the user is returned, if the user value is similar to+-- the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@+-- Amazon Lex returns the first value in the resolution list or, if there+-- is no resolution list, null. If you don\'t specify a+-- @valueSelectionStrategy@, the default is @ORIGINAL_VALUE@.+postTextResponse_slots :: Lens.Lens' PostTextResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+postTextResponse_slots = Lens.lens (\PostTextResponse' {slots} -> slots) (\s@PostTextResponse' {} a -> s {slots = a} :: PostTextResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+postTextResponse_httpStatus :: Lens.Lens' PostTextResponse Prelude.Int+postTextResponse_httpStatus = Lens.lens (\PostTextResponse' {httpStatus} -> httpStatus) (\s@PostTextResponse' {} a -> s {httpStatus = a} :: PostTextResponse)++instance Prelude.NFData PostTextResponse where+  rnf PostTextResponse' {..} =+    Prelude.rnf activeContexts+      `Prelude.seq` Prelude.rnf alternativeIntents+      `Prelude.seq` Prelude.rnf botVersion+      `Prelude.seq` Prelude.rnf dialogState+      `Prelude.seq` Prelude.rnf intentName+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf messageFormat+      `Prelude.seq` Prelude.rnf nluIntentConfidence+      `Prelude.seq` Prelude.rnf responseCard+      `Prelude.seq` Prelude.rnf sentimentResponse+      `Prelude.seq` Prelude.rnf sessionAttributes+      `Prelude.seq` Prelude.rnf sessionId+      `Prelude.seq` Prelude.rnf slotToElicit+      `Prelude.seq` Prelude.rnf slots+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LexRuntime/PutSession.hs view
@@ -0,0 +1,696 @@+{-# 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.LexRuntime.PutSession+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new session or modifies an existing session with an Amazon Lex+-- bot. Use this operation to enable your application to set the state of+-- the bot.+--+-- For more information, see+-- <https://docs.aws.amazon.com/lex/latest/dg/how-session-api.html Managing Sessions>.+module Amazonka.LexRuntime.PutSession+  ( -- * Creating a Request+    PutSession (..),+    newPutSession,++    -- * Request Lenses+    putSession_accept,+    putSession_activeContexts,+    putSession_dialogAction,+    putSession_recentIntentSummaryView,+    putSession_sessionAttributes,+    putSession_botName,+    putSession_botAlias,+    putSession_userId,++    -- * Destructuring the Response+    PutSessionResponse (..),+    newPutSessionResponse,++    -- * Response Lenses+    putSessionResponse_activeContexts,+    putSessionResponse_contentType,+    putSessionResponse_dialogState,+    putSessionResponse_encodedMessage,+    putSessionResponse_intentName,+    putSessionResponse_message,+    putSessionResponse_messageFormat,+    putSessionResponse_sessionAttributes,+    putSessionResponse_sessionId,+    putSessionResponse_slotToElicit,+    putSessionResponse_slots,+    putSessionResponse_httpStatus,+    putSessionResponse_audioStream,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutSession' smart constructor.+data PutSession = PutSession'+  { -- | The message that Amazon Lex returns in the response can be either text+    -- or speech based depending on the value of this field.+    --+    -- -   If the value is @text\/plain; charset=utf-8@, Amazon Lex returns+    --     text in the response.+    --+    -- -   If the value begins with @audio\/@, Amazon Lex returns speech in the+    --     response. Amazon Lex uses Amazon Polly to generate the speech in the+    --     configuration that you specify. For example, if you specify+    --     @audio\/mpeg@ as the value, Amazon Lex returns speech in the MPEG+    --     format.+    --+    -- -   If the value is @audio\/pcm@, the speech is returned as @audio\/pcm@+    --     in 16-bit, little endian format.+    --+    -- -   The following are the accepted values:+    --+    --     -   @audio\/mpeg@+    --+    --     -   @audio\/ogg@+    --+    --     -   @audio\/pcm@+    --+    --     -   @audio\/*@ (defaults to mpeg)+    --+    --     -   @text\/plain; charset=utf-8@+    accept :: Prelude.Maybe Prelude.Text,+    -- | A list of contexts active for the request. A context can be activated+    -- when a previous intent is fulfilled, or by including the context in the+    -- request,+    --+    -- If you don\'t specify a list of contexts, Amazon Lex will use the+    -- current list of contexts for the session. If you specify an empty list,+    -- all contexts for the session are cleared.+    activeContexts :: Prelude.Maybe (Data.Sensitive [ActiveContext]),+    -- | Sets the next action that the bot should take to fulfill the+    -- conversation.+    dialogAction :: Prelude.Maybe DialogAction,+    -- | A summary of the recent intents for the bot. You can use the intent+    -- summary view to set a checkpoint label on an intent and modify+    -- attributes of intents. You can also use it to remove or add intent+    -- summary objects to the list.+    --+    -- An intent that you modify or add to the list must make sense for the+    -- bot. For example, the intent name must be valid for the bot. You must+    -- provide valid values for:+    --+    -- -   @intentName@+    --+    -- -   slot names+    --+    -- -   @slotToElict@+    --+    -- If you send the @recentIntentSummaryView@ parameter in a @PutSession@+    -- request, the contents of the new summary view replaces the old summary+    -- view. For example, if a @GetSession@ request returns three intents in+    -- the summary view and you call @PutSession@ with one intent in the+    -- summary view, the next call to @GetSession@ will only return one intent.+    recentIntentSummaryView :: Prelude.Maybe [IntentSummary],+    -- | Map of key\/value pairs representing the session-specific context+    -- information. It contains application information passed between Amazon+    -- Lex and a client application.+    sessionAttributes :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The name of the bot that contains the session data.+    botName :: Prelude.Text,+    -- | The alias in use for the bot that contains the session data.+    botAlias :: Prelude.Text,+    -- | The ID of the client application user. Amazon Lex uses this to identify+    -- a user\'s conversation with your bot.+    userId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutSession' 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:+--+-- 'accept', 'putSession_accept' - The message that Amazon Lex returns in the response can be either text+-- or speech based depending on the value of this field.+--+-- -   If the value is @text\/plain; charset=utf-8@, Amazon Lex returns+--     text in the response.+--+-- -   If the value begins with @audio\/@, Amazon Lex returns speech in the+--     response. Amazon Lex uses Amazon Polly to generate the speech in the+--     configuration that you specify. For example, if you specify+--     @audio\/mpeg@ as the value, Amazon Lex returns speech in the MPEG+--     format.+--+-- -   If the value is @audio\/pcm@, the speech is returned as @audio\/pcm@+--     in 16-bit, little endian format.+--+-- -   The following are the accepted values:+--+--     -   @audio\/mpeg@+--+--     -   @audio\/ogg@+--+--     -   @audio\/pcm@+--+--     -   @audio\/*@ (defaults to mpeg)+--+--     -   @text\/plain; charset=utf-8@+--+-- 'activeContexts', 'putSession_activeContexts' - A list of contexts active for the request. A context can be activated+-- when a previous intent is fulfilled, or by including the context in the+-- request,+--+-- If you don\'t specify a list of contexts, Amazon Lex will use the+-- current list of contexts for the session. If you specify an empty list,+-- all contexts for the session are cleared.+--+-- 'dialogAction', 'putSession_dialogAction' - Sets the next action that the bot should take to fulfill the+-- conversation.+--+-- 'recentIntentSummaryView', 'putSession_recentIntentSummaryView' - A summary of the recent intents for the bot. You can use the intent+-- summary view to set a checkpoint label on an intent and modify+-- attributes of intents. You can also use it to remove or add intent+-- summary objects to the list.+--+-- An intent that you modify or add to the list must make sense for the+-- bot. For example, the intent name must be valid for the bot. You must+-- provide valid values for:+--+-- -   @intentName@+--+-- -   slot names+--+-- -   @slotToElict@+--+-- If you send the @recentIntentSummaryView@ parameter in a @PutSession@+-- request, the contents of the new summary view replaces the old summary+-- view. For example, if a @GetSession@ request returns three intents in+-- the summary view and you call @PutSession@ with one intent in the+-- summary view, the next call to @GetSession@ will only return one intent.+--+-- 'sessionAttributes', 'putSession_sessionAttributes' - Map of key\/value pairs representing the session-specific context+-- information. It contains application information passed between Amazon+-- Lex and a client application.+--+-- 'botName', 'putSession_botName' - The name of the bot that contains the session data.+--+-- 'botAlias', 'putSession_botAlias' - The alias in use for the bot that contains the session data.+--+-- 'userId', 'putSession_userId' - The ID of the client application user. Amazon Lex uses this to identify+-- a user\'s conversation with your bot.+newPutSession ::+  -- | 'botName'+  Prelude.Text ->+  -- | 'botAlias'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  PutSession+newPutSession pBotName_ pBotAlias_ pUserId_ =+  PutSession'+    { accept = Prelude.Nothing,+      activeContexts = Prelude.Nothing,+      dialogAction = Prelude.Nothing,+      recentIntentSummaryView = Prelude.Nothing,+      sessionAttributes = Prelude.Nothing,+      botName = pBotName_,+      botAlias = pBotAlias_,+      userId = pUserId_+    }++-- | The message that Amazon Lex returns in the response can be either text+-- or speech based depending on the value of this field.+--+-- -   If the value is @text\/plain; charset=utf-8@, Amazon Lex returns+--     text in the response.+--+-- -   If the value begins with @audio\/@, Amazon Lex returns speech in the+--     response. Amazon Lex uses Amazon Polly to generate the speech in the+--     configuration that you specify. For example, if you specify+--     @audio\/mpeg@ as the value, Amazon Lex returns speech in the MPEG+--     format.+--+-- -   If the value is @audio\/pcm@, the speech is returned as @audio\/pcm@+--     in 16-bit, little endian format.+--+-- -   The following are the accepted values:+--+--     -   @audio\/mpeg@+--+--     -   @audio\/ogg@+--+--     -   @audio\/pcm@+--+--     -   @audio\/*@ (defaults to mpeg)+--+--     -   @text\/plain; charset=utf-8@+putSession_accept :: Lens.Lens' PutSession (Prelude.Maybe Prelude.Text)+putSession_accept = Lens.lens (\PutSession' {accept} -> accept) (\s@PutSession' {} a -> s {accept = a} :: PutSession)++-- | A list of contexts active for the request. A context can be activated+-- when a previous intent is fulfilled, or by including the context in the+-- request,+--+-- If you don\'t specify a list of contexts, Amazon Lex will use the+-- current list of contexts for the session. If you specify an empty list,+-- all contexts for the session are cleared.+putSession_activeContexts :: Lens.Lens' PutSession (Prelude.Maybe [ActiveContext])+putSession_activeContexts = Lens.lens (\PutSession' {activeContexts} -> activeContexts) (\s@PutSession' {} a -> s {activeContexts = a} :: PutSession) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Sets the next action that the bot should take to fulfill the+-- conversation.+putSession_dialogAction :: Lens.Lens' PutSession (Prelude.Maybe DialogAction)+putSession_dialogAction = Lens.lens (\PutSession' {dialogAction} -> dialogAction) (\s@PutSession' {} a -> s {dialogAction = a} :: PutSession)++-- | A summary of the recent intents for the bot. You can use the intent+-- summary view to set a checkpoint label on an intent and modify+-- attributes of intents. You can also use it to remove or add intent+-- summary objects to the list.+--+-- An intent that you modify or add to the list must make sense for the+-- bot. For example, the intent name must be valid for the bot. You must+-- provide valid values for:+--+-- -   @intentName@+--+-- -   slot names+--+-- -   @slotToElict@+--+-- If you send the @recentIntentSummaryView@ parameter in a @PutSession@+-- request, the contents of the new summary view replaces the old summary+-- view. For example, if a @GetSession@ request returns three intents in+-- the summary view and you call @PutSession@ with one intent in the+-- summary view, the next call to @GetSession@ will only return one intent.+putSession_recentIntentSummaryView :: Lens.Lens' PutSession (Prelude.Maybe [IntentSummary])+putSession_recentIntentSummaryView = Lens.lens (\PutSession' {recentIntentSummaryView} -> recentIntentSummaryView) (\s@PutSession' {} a -> s {recentIntentSummaryView = a} :: PutSession) Prelude.. Lens.mapping Lens.coerced++-- | Map of key\/value pairs representing the session-specific context+-- information. It contains application information passed between Amazon+-- Lex and a client application.+putSession_sessionAttributes :: Lens.Lens' PutSession (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+putSession_sessionAttributes = Lens.lens (\PutSession' {sessionAttributes} -> sessionAttributes) (\s@PutSession' {} a -> s {sessionAttributes = a} :: PutSession) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The name of the bot that contains the session data.+putSession_botName :: Lens.Lens' PutSession Prelude.Text+putSession_botName = Lens.lens (\PutSession' {botName} -> botName) (\s@PutSession' {} a -> s {botName = a} :: PutSession)++-- | The alias in use for the bot that contains the session data.+putSession_botAlias :: Lens.Lens' PutSession Prelude.Text+putSession_botAlias = Lens.lens (\PutSession' {botAlias} -> botAlias) (\s@PutSession' {} a -> s {botAlias = a} :: PutSession)++-- | The ID of the client application user. Amazon Lex uses this to identify+-- a user\'s conversation with your bot.+putSession_userId :: Lens.Lens' PutSession Prelude.Text+putSession_userId = Lens.lens (\PutSession' {userId} -> userId) (\s@PutSession' {} a -> s {userId = a} :: PutSession)++instance Core.AWSRequest PutSession where+  type AWSResponse PutSession = PutSessionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveBody+      ( \s h x ->+          PutSessionResponse'+            Prelude.<$> (h Data..#? "x-amz-lex-active-contexts")+            Prelude.<*> (h Data..#? "Content-Type")+            Prelude.<*> (h Data..#? "x-amz-lex-dialog-state")+            Prelude.<*> (h Data..#? "x-amz-lex-encoded-message")+            Prelude.<*> (h Data..#? "x-amz-lex-intent-name")+            Prelude.<*> (h Data..#? "x-amz-lex-message")+            Prelude.<*> (h Data..#? "x-amz-lex-message-format")+            Prelude.<*> (h Data..#? "x-amz-lex-session-attributes")+            Prelude.<*> (h Data..#? "x-amz-lex-session-id")+            Prelude.<*> (h Data..#? "x-amz-lex-slot-to-elicit")+            Prelude.<*> (h Data..#? "x-amz-lex-slots")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (Prelude.pure x)+      )++instance Prelude.Hashable PutSession where+  hashWithSalt _salt PutSession' {..} =+    _salt+      `Prelude.hashWithSalt` accept+      `Prelude.hashWithSalt` activeContexts+      `Prelude.hashWithSalt` dialogAction+      `Prelude.hashWithSalt` recentIntentSummaryView+      `Prelude.hashWithSalt` sessionAttributes+      `Prelude.hashWithSalt` botName+      `Prelude.hashWithSalt` botAlias+      `Prelude.hashWithSalt` userId++instance Prelude.NFData PutSession where+  rnf PutSession' {..} =+    Prelude.rnf accept+      `Prelude.seq` Prelude.rnf activeContexts+      `Prelude.seq` Prelude.rnf dialogAction+      `Prelude.seq` Prelude.rnf recentIntentSummaryView+      `Prelude.seq` Prelude.rnf sessionAttributes+      `Prelude.seq` Prelude.rnf botName+      `Prelude.seq` Prelude.rnf botAlias+      `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders PutSession where+  toHeaders PutSession' {..} =+    Prelude.mconcat+      [ "Accept" Data.=# accept,+        "Content-Type"+          Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+      ]++instance Data.ToJSON PutSession where+  toJSON PutSession' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("activeContexts" Data..=)+              Prelude.<$> activeContexts,+            ("dialogAction" Data..=) Prelude.<$> dialogAction,+            ("recentIntentSummaryView" Data..=)+              Prelude.<$> recentIntentSummaryView,+            ("sessionAttributes" Data..=)+              Prelude.<$> sessionAttributes+          ]+      )++instance Data.ToPath PutSession where+  toPath PutSession' {..} =+    Prelude.mconcat+      [ "/bot/",+        Data.toBS botName,+        "/alias/",+        Data.toBS botAlias,+        "/user/",+        Data.toBS userId,+        "/session"+      ]++instance Data.ToQuery PutSession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutSessionResponse' smart constructor.+data PutSessionResponse = PutSessionResponse'+  { -- | A list of active contexts for the session.+    activeContexts :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Content type as specified in the @Accept@ HTTP header in the request.+    contentType :: Prelude.Maybe Prelude.Text,+    -- | -   @ConfirmIntent@ - Amazon Lex is expecting a \"yes\" or \"no\"+    --     response to confirm the intent before fulfilling an intent.+    --+    -- -   @ElicitIntent@ - Amazon Lex wants to elicit the user\'s intent.+    --+    -- -   @ElicitSlot@ - Amazon Lex is expecting the value of a slot for the+    --     current intent.+    --+    -- -   @Failed@ - Conveys that the conversation with the user has failed.+    --     This can happen for various reasons, including the user does not+    --     provide an appropriate response to prompts from the service, or if+    --     the Lambda function fails to fulfill the intent.+    --+    -- -   @Fulfilled@ - Conveys that the Lambda function has sucessfully+    --     fulfilled the intent.+    --+    -- -   @ReadyForFulfillment@ - Conveys that the client has to fulfill the+    --     intent.+    dialogState :: Prelude.Maybe DialogState,+    -- | The next message that should be presented to the user.+    --+    -- The @encodedMessage@ field is base-64 encoded. You must decode the field+    -- before you can use the value.+    encodedMessage :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of the current intent.+    intentName :: Prelude.Maybe Prelude.Text,+    -- | The next message that should be presented to the user.+    --+    -- You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,+    -- es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the+    -- @message@ field is null. You should use the @encodedMessage@ field+    -- instead.+    message :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The format of the response message. One of the following values:+    --+    -- -   @PlainText@ - The message contains plain UTF-8 text.+    --+    -- -   @CustomPayload@ - The message is a custom format for the client.+    --+    -- -   @SSML@ - The message contains text formatted for voice output.+    --+    -- -   @Composite@ - The message contains an escaped JSON object containing+    --     one or more messages from the groups that messages were assigned to+    --     when the intent was created.+    messageFormat :: Prelude.Maybe MessageFormatType,+    -- | Map of key\/value pairs representing session-specific context+    -- information.+    sessionAttributes :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for the session.+    sessionId :: Prelude.Maybe Prelude.Text,+    -- | If the @dialogState@ is @ElicitSlot@, returns the name of the slot for+    -- which Amazon Lex is eliciting a value.+    slotToElicit :: Prelude.Maybe Prelude.Text,+    -- | Map of zero or more intent slots Amazon Lex detected from the user input+    -- during the conversation.+    --+    -- Amazon Lex creates a resolution list containing likely values for a+    -- slot. The value that it returns is determined by the+    -- @valueSelectionStrategy@ selected when the slot type was created or+    -- updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@, the+    -- value provided by the user is returned, if the user value is similar to+    -- the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@+    -- Amazon Lex returns the first value in the resolution list or, if there+    -- is no resolution list, null. If you don\'t specify a+    -- @valueSelectionStrategy@ the default is @ORIGINAL_VALUE@.+    slots :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The audio version of the message to convey to the user.+    audioStream :: Data.ResponseBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutSessionResponse' 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:+--+-- 'activeContexts', 'putSessionResponse_activeContexts' - A list of active contexts for the session.+--+-- 'contentType', 'putSessionResponse_contentType' - Content type as specified in the @Accept@ HTTP header in the request.+--+-- 'dialogState', 'putSessionResponse_dialogState' - -   @ConfirmIntent@ - Amazon Lex is expecting a \"yes\" or \"no\"+--     response to confirm the intent before fulfilling an intent.+--+-- -   @ElicitIntent@ - Amazon Lex wants to elicit the user\'s intent.+--+-- -   @ElicitSlot@ - Amazon Lex is expecting the value of a slot for the+--     current intent.+--+-- -   @Failed@ - Conveys that the conversation with the user has failed.+--     This can happen for various reasons, including the user does not+--     provide an appropriate response to prompts from the service, or if+--     the Lambda function fails to fulfill the intent.+--+-- -   @Fulfilled@ - Conveys that the Lambda function has sucessfully+--     fulfilled the intent.+--+-- -   @ReadyForFulfillment@ - Conveys that the client has to fulfill the+--     intent.+--+-- 'encodedMessage', 'putSessionResponse_encodedMessage' - The next message that should be presented to the user.+--+-- The @encodedMessage@ field is base-64 encoded. You must decode the field+-- before you can use the value.+--+-- 'intentName', 'putSessionResponse_intentName' - The name of the current intent.+--+-- 'message', 'putSessionResponse_message' - The next message that should be presented to the user.+--+-- You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,+-- es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the+-- @message@ field is null. You should use the @encodedMessage@ field+-- instead.+--+-- 'messageFormat', 'putSessionResponse_messageFormat' - The format of the response message. One of the following values:+--+-- -   @PlainText@ - The message contains plain UTF-8 text.+--+-- -   @CustomPayload@ - The message is a custom format for the client.+--+-- -   @SSML@ - The message contains text formatted for voice output.+--+-- -   @Composite@ - The message contains an escaped JSON object containing+--     one or more messages from the groups that messages were assigned to+--     when the intent was created.+--+-- 'sessionAttributes', 'putSessionResponse_sessionAttributes' - Map of key\/value pairs representing session-specific context+-- information.+--+-- 'sessionId', 'putSessionResponse_sessionId' - A unique identifier for the session.+--+-- 'slotToElicit', 'putSessionResponse_slotToElicit' - If the @dialogState@ is @ElicitSlot@, returns the name of the slot for+-- which Amazon Lex is eliciting a value.+--+-- 'slots', 'putSessionResponse_slots' - Map of zero or more intent slots Amazon Lex detected from the user input+-- during the conversation.+--+-- Amazon Lex creates a resolution list containing likely values for a+-- slot. The value that it returns is determined by the+-- @valueSelectionStrategy@ selected when the slot type was created or+-- updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@, the+-- value provided by the user is returned, if the user value is similar to+-- the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@+-- Amazon Lex returns the first value in the resolution list or, if there+-- is no resolution list, null. If you don\'t specify a+-- @valueSelectionStrategy@ the default is @ORIGINAL_VALUE@.+--+-- 'httpStatus', 'putSessionResponse_httpStatus' - The response's http status code.+--+-- 'audioStream', 'putSessionResponse_audioStream' - The audio version of the message to convey to the user.+newPutSessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'audioStream'+  Data.ResponseBody ->+  PutSessionResponse+newPutSessionResponse pHttpStatus_ pAudioStream_ =+  PutSessionResponse'+    { activeContexts =+        Prelude.Nothing,+      contentType = Prelude.Nothing,+      dialogState = Prelude.Nothing,+      encodedMessage = Prelude.Nothing,+      intentName = Prelude.Nothing,+      message = Prelude.Nothing,+      messageFormat = Prelude.Nothing,+      sessionAttributes = Prelude.Nothing,+      sessionId = Prelude.Nothing,+      slotToElicit = Prelude.Nothing,+      slots = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      audioStream = pAudioStream_+    }++-- | A list of active contexts for the session.+putSessionResponse_activeContexts :: Lens.Lens' PutSessionResponse (Prelude.Maybe Prelude.Text)+putSessionResponse_activeContexts = Lens.lens (\PutSessionResponse' {activeContexts} -> activeContexts) (\s@PutSessionResponse' {} a -> s {activeContexts = a} :: PutSessionResponse) Prelude.. Lens.mapping Data._Sensitive++-- | Content type as specified in the @Accept@ HTTP header in the request.+putSessionResponse_contentType :: Lens.Lens' PutSessionResponse (Prelude.Maybe Prelude.Text)+putSessionResponse_contentType = Lens.lens (\PutSessionResponse' {contentType} -> contentType) (\s@PutSessionResponse' {} a -> s {contentType = a} :: PutSessionResponse)++-- | -   @ConfirmIntent@ - Amazon Lex is expecting a \"yes\" or \"no\"+--     response to confirm the intent before fulfilling an intent.+--+-- -   @ElicitIntent@ - Amazon Lex wants to elicit the user\'s intent.+--+-- -   @ElicitSlot@ - Amazon Lex is expecting the value of a slot for the+--     current intent.+--+-- -   @Failed@ - Conveys that the conversation with the user has failed.+--     This can happen for various reasons, including the user does not+--     provide an appropriate response to prompts from the service, or if+--     the Lambda function fails to fulfill the intent.+--+-- -   @Fulfilled@ - Conveys that the Lambda function has sucessfully+--     fulfilled the intent.+--+-- -   @ReadyForFulfillment@ - Conveys that the client has to fulfill the+--     intent.+putSessionResponse_dialogState :: Lens.Lens' PutSessionResponse (Prelude.Maybe DialogState)+putSessionResponse_dialogState = Lens.lens (\PutSessionResponse' {dialogState} -> dialogState) (\s@PutSessionResponse' {} a -> s {dialogState = a} :: PutSessionResponse)++-- | The next message that should be presented to the user.+--+-- The @encodedMessage@ field is base-64 encoded. You must decode the field+-- before you can use the value.+putSessionResponse_encodedMessage :: Lens.Lens' PutSessionResponse (Prelude.Maybe Prelude.Text)+putSessionResponse_encodedMessage = Lens.lens (\PutSessionResponse' {encodedMessage} -> encodedMessage) (\s@PutSessionResponse' {} a -> s {encodedMessage = a} :: PutSessionResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the current intent.+putSessionResponse_intentName :: Lens.Lens' PutSessionResponse (Prelude.Maybe Prelude.Text)+putSessionResponse_intentName = Lens.lens (\PutSessionResponse' {intentName} -> intentName) (\s@PutSessionResponse' {} a -> s {intentName = a} :: PutSessionResponse)++-- | The next message that should be presented to the user.+--+-- You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419,+-- es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the+-- @message@ field is null. You should use the @encodedMessage@ field+-- instead.+putSessionResponse_message :: Lens.Lens' PutSessionResponse (Prelude.Maybe Prelude.Text)+putSessionResponse_message = Lens.lens (\PutSessionResponse' {message} -> message) (\s@PutSessionResponse' {} a -> s {message = a} :: PutSessionResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The format of the response message. One of the following values:+--+-- -   @PlainText@ - The message contains plain UTF-8 text.+--+-- -   @CustomPayload@ - The message is a custom format for the client.+--+-- -   @SSML@ - The message contains text formatted for voice output.+--+-- -   @Composite@ - The message contains an escaped JSON object containing+--     one or more messages from the groups that messages were assigned to+--     when the intent was created.+putSessionResponse_messageFormat :: Lens.Lens' PutSessionResponse (Prelude.Maybe MessageFormatType)+putSessionResponse_messageFormat = Lens.lens (\PutSessionResponse' {messageFormat} -> messageFormat) (\s@PutSessionResponse' {} a -> s {messageFormat = a} :: PutSessionResponse)++-- | Map of key\/value pairs representing session-specific context+-- information.+putSessionResponse_sessionAttributes :: Lens.Lens' PutSessionResponse (Prelude.Maybe Prelude.Text)+putSessionResponse_sessionAttributes = Lens.lens (\PutSessionResponse' {sessionAttributes} -> sessionAttributes) (\s@PutSessionResponse' {} a -> s {sessionAttributes = a} :: PutSessionResponse)++-- | A unique identifier for the session.+putSessionResponse_sessionId :: Lens.Lens' PutSessionResponse (Prelude.Maybe Prelude.Text)+putSessionResponse_sessionId = Lens.lens (\PutSessionResponse' {sessionId} -> sessionId) (\s@PutSessionResponse' {} a -> s {sessionId = a} :: PutSessionResponse)++-- | If the @dialogState@ is @ElicitSlot@, returns the name of the slot for+-- which Amazon Lex is eliciting a value.+putSessionResponse_slotToElicit :: Lens.Lens' PutSessionResponse (Prelude.Maybe Prelude.Text)+putSessionResponse_slotToElicit = Lens.lens (\PutSessionResponse' {slotToElicit} -> slotToElicit) (\s@PutSessionResponse' {} a -> s {slotToElicit = a} :: PutSessionResponse)++-- | Map of zero or more intent slots Amazon Lex detected from the user input+-- during the conversation.+--+-- Amazon Lex creates a resolution list containing likely values for a+-- slot. The value that it returns is determined by the+-- @valueSelectionStrategy@ selected when the slot type was created or+-- updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@, the+-- value provided by the user is returned, if the user value is similar to+-- the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@+-- Amazon Lex returns the first value in the resolution list or, if there+-- is no resolution list, null. If you don\'t specify a+-- @valueSelectionStrategy@ the default is @ORIGINAL_VALUE@.+putSessionResponse_slots :: Lens.Lens' PutSessionResponse (Prelude.Maybe Prelude.Text)+putSessionResponse_slots = Lens.lens (\PutSessionResponse' {slots} -> slots) (\s@PutSessionResponse' {} a -> s {slots = a} :: PutSessionResponse)++-- | The response's http status code.+putSessionResponse_httpStatus :: Lens.Lens' PutSessionResponse Prelude.Int+putSessionResponse_httpStatus = Lens.lens (\PutSessionResponse' {httpStatus} -> httpStatus) (\s@PutSessionResponse' {} a -> s {httpStatus = a} :: PutSessionResponse)++-- | The audio version of the message to convey to the user.+putSessionResponse_audioStream :: Lens.Lens' PutSessionResponse Data.ResponseBody+putSessionResponse_audioStream = Lens.lens (\PutSessionResponse' {audioStream} -> audioStream) (\s@PutSessionResponse' {} a -> s {audioStream = a} :: PutSessionResponse)
+ gen/Amazonka/LexRuntime/Types.hs view
@@ -0,0 +1,318 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _BadGatewayException,+    _BadRequestException,+    _ConflictException,+    _DependencyFailedException,+    _InternalFailureException,+    _LimitExceededException,+    _LoopDetectedException,+    _NotAcceptableException,+    _NotFoundException,+    _RequestTimeoutException,+    _UnsupportedMediaTypeException,++    -- * ConfirmationStatus+    ConfirmationStatus (..),++    -- * ContentType+    ContentType (..),++    -- * DialogActionType+    DialogActionType (..),++    -- * DialogState+    DialogState (..),++    -- * FulfillmentState+    FulfillmentState (..),++    -- * MessageFormatType+    MessageFormatType (..),++    -- * ActiveContext+    ActiveContext (..),+    newActiveContext,+    activeContext_name,+    activeContext_timeToLive,+    activeContext_parameters,++    -- * ActiveContextTimeToLive+    ActiveContextTimeToLive (..),+    newActiveContextTimeToLive,+    activeContextTimeToLive_timeToLiveInSeconds,+    activeContextTimeToLive_turnsToLive,++    -- * Button+    Button (..),+    newButton,+    button_text,+    button_value,++    -- * DialogAction+    DialogAction (..),+    newDialogAction,+    dialogAction_fulfillmentState,+    dialogAction_intentName,+    dialogAction_message,+    dialogAction_messageFormat,+    dialogAction_slotToElicit,+    dialogAction_slots,+    dialogAction_type,++    -- * GenericAttachment+    GenericAttachment (..),+    newGenericAttachment,+    genericAttachment_attachmentLinkUrl,+    genericAttachment_buttons,+    genericAttachment_imageUrl,+    genericAttachment_subTitle,+    genericAttachment_title,++    -- * IntentConfidence+    IntentConfidence (..),+    newIntentConfidence,+    intentConfidence_score,++    -- * IntentSummary+    IntentSummary (..),+    newIntentSummary,+    intentSummary_checkpointLabel,+    intentSummary_confirmationStatus,+    intentSummary_fulfillmentState,+    intentSummary_intentName,+    intentSummary_slotToElicit,+    intentSummary_slots,+    intentSummary_dialogActionType,++    -- * PredictedIntent+    PredictedIntent (..),+    newPredictedIntent,+    predictedIntent_intentName,+    predictedIntent_nluIntentConfidence,+    predictedIntent_slots,++    -- * ResponseCard+    ResponseCard (..),+    newResponseCard,+    responseCard_contentType,+    responseCard_genericAttachments,+    responseCard_version,++    -- * SentimentResponse+    SentimentResponse (..),+    newSentimentResponse,+    sentimentResponse_sentimentLabel,+    sentimentResponse_sentimentScore,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.LexRuntime.Types.ActiveContext+import Amazonka.LexRuntime.Types.ActiveContextTimeToLive+import Amazonka.LexRuntime.Types.Button+import Amazonka.LexRuntime.Types.ConfirmationStatus+import Amazonka.LexRuntime.Types.ContentType+import Amazonka.LexRuntime.Types.DialogAction+import Amazonka.LexRuntime.Types.DialogActionType+import Amazonka.LexRuntime.Types.DialogState+import Amazonka.LexRuntime.Types.FulfillmentState+import Amazonka.LexRuntime.Types.GenericAttachment+import Amazonka.LexRuntime.Types.IntentConfidence+import Amazonka.LexRuntime.Types.IntentSummary+import Amazonka.LexRuntime.Types.MessageFormatType+import Amazonka.LexRuntime.Types.PredictedIntent+import Amazonka.LexRuntime.Types.ResponseCard+import Amazonka.LexRuntime.Types.SentimentResponse+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2016-11-28@ of the Amazon Lex Runtime Service SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "LexRuntime",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "runtime.lex",+      Core.signingName = "lex",+      Core.version = "2016-11-28",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "LexRuntime",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | Either the Amazon Lex bot is still building, or one of the dependent+-- services (Amazon Polly, AWS Lambda) failed with an internal service+-- error.+_BadGatewayException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadGatewayException =+  Core._MatchServiceError+    defaultService+    "BadGatewayException"+    Prelude.. Core.hasStatus 502++-- | Request validation failed, there is no usable message in the context, or+-- the bot build failed, is still in progress, or contains unbuilt changes.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+  Core._MatchServiceError+    defaultService+    "BadRequestException"+    Prelude.. Core.hasStatus 400++-- | Two clients are using the same AWS account, Amazon Lex bot, and user ID.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | One of the dependencies, such as AWS Lambda or Amazon Polly, threw an+-- exception. For example,+--+-- -   If Amazon Lex does not have sufficient permissions to call a Lambda+--     function.+--+-- -   If a Lambda function takes longer than 30 seconds to execute.+--+-- -   If a fulfillment Lambda function returns a @Delegate@ dialog action+--     without removing any slot values.+_DependencyFailedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DependencyFailedException =+  Core._MatchServiceError+    defaultService+    "DependencyFailedException"+    Prelude.. Core.hasStatus 424++-- | Internal service error. Retry the call.+_InternalFailureException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalFailureException =+  Core._MatchServiceError+    defaultService+    "InternalFailureException"+    Prelude.. Core.hasStatus 500++-- | Exceeded a limit.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+  Core._MatchServiceError+    defaultService+    "LimitExceededException"+    Prelude.. Core.hasStatus 429++-- | This exception is not used.+_LoopDetectedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LoopDetectedException =+  Core._MatchServiceError+    defaultService+    "LoopDetectedException"+    Prelude.. Core.hasStatus 508++-- | The accept header in the request does not have a valid value.+_NotAcceptableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotAcceptableException =+  Core._MatchServiceError+    defaultService+    "NotAcceptableException"+    Prelude.. Core.hasStatus 406++-- | The resource (such as the Amazon Lex bot or an alias) that is referred+-- to is not found.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+  Core._MatchServiceError+    defaultService+    "NotFoundException"+    Prelude.. Core.hasStatus 404++-- | The input speech is too long.+_RequestTimeoutException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_RequestTimeoutException =+  Core._MatchServiceError+    defaultService+    "RequestTimeoutException"+    Prelude.. Core.hasStatus 408++-- | The Content-Type header (@PostContent@ API) has an invalid value.+_UnsupportedMediaTypeException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnsupportedMediaTypeException =+  Core._MatchServiceError+    defaultService+    "UnsupportedMediaTypeException"+    Prelude.. Core.hasStatus 415
+ gen/Amazonka/LexRuntime/Types/ActiveContext.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.ActiveContext+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.ActiveContext where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types.ActiveContextTimeToLive+import qualified Amazonka.Prelude as Prelude++-- | A context is a variable that contains information about the current+-- state of the conversation between a user and Amazon Lex. Context can be+-- set automatically by Amazon Lex when an intent is fulfilled, or it can+-- be set at runtime using the @PutContent@, @PutText@, or @PutSession@+-- operation.+--+-- /See:/ 'newActiveContext' smart constructor.+data ActiveContext = ActiveContext'+  { -- | The name of the context.+    name :: Prelude.Text,+    -- | The length of time or number of turns that a context remains active.+    timeToLive :: ActiveContextTimeToLive,+    -- | State variables for the current context. You can use these values as+    -- default values for slots in subsequent events.+    parameters :: Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActiveContext' 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:+--+-- 'name', 'activeContext_name' - The name of the context.+--+-- 'timeToLive', 'activeContext_timeToLive' - The length of time or number of turns that a context remains active.+--+-- 'parameters', 'activeContext_parameters' - State variables for the current context. You can use these values as+-- default values for slots in subsequent events.+newActiveContext ::+  -- | 'name'+  Prelude.Text ->+  -- | 'timeToLive'+  ActiveContextTimeToLive ->+  ActiveContext+newActiveContext pName_ pTimeToLive_ =+  ActiveContext'+    { name = pName_,+      timeToLive = pTimeToLive_,+      parameters = Prelude.mempty+    }++-- | The name of the context.+activeContext_name :: Lens.Lens' ActiveContext Prelude.Text+activeContext_name = Lens.lens (\ActiveContext' {name} -> name) (\s@ActiveContext' {} a -> s {name = a} :: ActiveContext)++-- | The length of time or number of turns that a context remains active.+activeContext_timeToLive :: Lens.Lens' ActiveContext ActiveContextTimeToLive+activeContext_timeToLive = Lens.lens (\ActiveContext' {timeToLive} -> timeToLive) (\s@ActiveContext' {} a -> s {timeToLive = a} :: ActiveContext)++-- | State variables for the current context. You can use these values as+-- default values for slots in subsequent events.+activeContext_parameters :: Lens.Lens' ActiveContext (Prelude.HashMap Prelude.Text Prelude.Text)+activeContext_parameters = Lens.lens (\ActiveContext' {parameters} -> parameters) (\s@ActiveContext' {} a -> s {parameters = a} :: ActiveContext) Prelude.. Lens.coerced++instance Data.FromJSON ActiveContext where+  parseJSON =+    Data.withObject+      "ActiveContext"+      ( \x ->+          ActiveContext'+            Prelude.<$> (x Data..: "name")+            Prelude.<*> (x Data..: "timeToLive")+            Prelude.<*> (x Data..:? "parameters" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ActiveContext where+  hashWithSalt _salt ActiveContext' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` timeToLive+      `Prelude.hashWithSalt` parameters++instance Prelude.NFData ActiveContext where+  rnf ActiveContext' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf timeToLive+      `Prelude.seq` Prelude.rnf parameters++instance Data.ToJSON ActiveContext where+  toJSON ActiveContext' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("name" Data..= name),+            Prelude.Just ("timeToLive" Data..= timeToLive),+            Prelude.Just ("parameters" Data..= parameters)+          ]+      )
+ gen/Amazonka/LexRuntime/Types/ActiveContextTimeToLive.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.ActiveContextTimeToLive+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.ActiveContextTimeToLive where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The length of time or number of turns that a context remains active.+--+-- /See:/ 'newActiveContextTimeToLive' smart constructor.+data ActiveContextTimeToLive = ActiveContextTimeToLive'+  { -- | The number of seconds that the context should be active after it is+    -- first sent in a @PostContent@ or @PostText@ response. You can set the+    -- value between 5 and 86,400 seconds (24 hours).+    timeToLiveInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | The number of conversation turns that the context should be active. A+    -- conversation turn is one @PostContent@ or @PostText@ request and the+    -- corresponding response from Amazon Lex.+    turnsToLive :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActiveContextTimeToLive' 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:+--+-- 'timeToLiveInSeconds', 'activeContextTimeToLive_timeToLiveInSeconds' - The number of seconds that the context should be active after it is+-- first sent in a @PostContent@ or @PostText@ response. You can set the+-- value between 5 and 86,400 seconds (24 hours).+--+-- 'turnsToLive', 'activeContextTimeToLive_turnsToLive' - The number of conversation turns that the context should be active. A+-- conversation turn is one @PostContent@ or @PostText@ request and the+-- corresponding response from Amazon Lex.+newActiveContextTimeToLive ::+  ActiveContextTimeToLive+newActiveContextTimeToLive =+  ActiveContextTimeToLive'+    { timeToLiveInSeconds =+        Prelude.Nothing,+      turnsToLive = Prelude.Nothing+    }++-- | The number of seconds that the context should be active after it is+-- first sent in a @PostContent@ or @PostText@ response. You can set the+-- value between 5 and 86,400 seconds (24 hours).+activeContextTimeToLive_timeToLiveInSeconds :: Lens.Lens' ActiveContextTimeToLive (Prelude.Maybe Prelude.Natural)+activeContextTimeToLive_timeToLiveInSeconds = Lens.lens (\ActiveContextTimeToLive' {timeToLiveInSeconds} -> timeToLiveInSeconds) (\s@ActiveContextTimeToLive' {} a -> s {timeToLiveInSeconds = a} :: ActiveContextTimeToLive)++-- | The number of conversation turns that the context should be active. A+-- conversation turn is one @PostContent@ or @PostText@ request and the+-- corresponding response from Amazon Lex.+activeContextTimeToLive_turnsToLive :: Lens.Lens' ActiveContextTimeToLive (Prelude.Maybe Prelude.Natural)+activeContextTimeToLive_turnsToLive = Lens.lens (\ActiveContextTimeToLive' {turnsToLive} -> turnsToLive) (\s@ActiveContextTimeToLive' {} a -> s {turnsToLive = a} :: ActiveContextTimeToLive)++instance Data.FromJSON ActiveContextTimeToLive where+  parseJSON =+    Data.withObject+      "ActiveContextTimeToLive"+      ( \x ->+          ActiveContextTimeToLive'+            Prelude.<$> (x Data..:? "timeToLiveInSeconds")+            Prelude.<*> (x Data..:? "turnsToLive")+      )++instance Prelude.Hashable ActiveContextTimeToLive where+  hashWithSalt _salt ActiveContextTimeToLive' {..} =+    _salt+      `Prelude.hashWithSalt` timeToLiveInSeconds+      `Prelude.hashWithSalt` turnsToLive++instance Prelude.NFData ActiveContextTimeToLive where+  rnf ActiveContextTimeToLive' {..} =+    Prelude.rnf timeToLiveInSeconds+      `Prelude.seq` Prelude.rnf turnsToLive++instance Data.ToJSON ActiveContextTimeToLive where+  toJSON ActiveContextTimeToLive' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("timeToLiveInSeconds" Data..=)+              Prelude.<$> timeToLiveInSeconds,+            ("turnsToLive" Data..=) Prelude.<$> turnsToLive+          ]+      )
+ gen/Amazonka/LexRuntime/Types/Button.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.Button+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.Button where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Represents an option to be shown on the client platform (Facebook,+-- Slack, etc.)+--+-- /See:/ 'newButton' smart constructor.+data Button = Button'+  { -- | Text that is visible to the user on the button.+    text :: Prelude.Text,+    -- | The value sent to Amazon Lex when a user chooses the button. For+    -- example, consider button text \"NYC.\" When the user chooses the button,+    -- the value sent can be \"New York City.\"+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Button' 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:+--+-- 'text', 'button_text' - Text that is visible to the user on the button.+--+-- 'value', 'button_value' - The value sent to Amazon Lex when a user chooses the button. For+-- example, consider button text \"NYC.\" When the user chooses the button,+-- the value sent can be \"New York City.\"+newButton ::+  -- | 'text'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Button+newButton pText_ pValue_ =+  Button' {text = pText_, value = pValue_}++-- | Text that is visible to the user on the button.+button_text :: Lens.Lens' Button Prelude.Text+button_text = Lens.lens (\Button' {text} -> text) (\s@Button' {} a -> s {text = a} :: Button)++-- | The value sent to Amazon Lex when a user chooses the button. For+-- example, consider button text \"NYC.\" When the user chooses the button,+-- the value sent can be \"New York City.\"+button_value :: Lens.Lens' Button Prelude.Text+button_value = Lens.lens (\Button' {value} -> value) (\s@Button' {} a -> s {value = a} :: Button)++instance Data.FromJSON Button where+  parseJSON =+    Data.withObject+      "Button"+      ( \x ->+          Button'+            Prelude.<$> (x Data..: "text")+            Prelude.<*> (x Data..: "value")+      )++instance Prelude.Hashable Button where+  hashWithSalt _salt Button' {..} =+    _salt+      `Prelude.hashWithSalt` text+      `Prelude.hashWithSalt` value++instance Prelude.NFData Button where+  rnf Button' {..} =+    Prelude.rnf text `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/LexRuntime/Types/ConfirmationStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.ConfirmationStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.ConfirmationStatus+  ( ConfirmationStatus+      ( ..,+        ConfirmationStatus_Confirmed,+        ConfirmationStatus_Denied,+        ConfirmationStatus_None+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConfirmationStatus = ConfirmationStatus'+  { fromConfirmationStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ConfirmationStatus_Confirmed :: ConfirmationStatus+pattern ConfirmationStatus_Confirmed = ConfirmationStatus' "Confirmed"++pattern ConfirmationStatus_Denied :: ConfirmationStatus+pattern ConfirmationStatus_Denied = ConfirmationStatus' "Denied"++pattern ConfirmationStatus_None :: ConfirmationStatus+pattern ConfirmationStatus_None = ConfirmationStatus' "None"++{-# COMPLETE+  ConfirmationStatus_Confirmed,+  ConfirmationStatus_Denied,+  ConfirmationStatus_None,+  ConfirmationStatus'+  #-}
+ gen/Amazonka/LexRuntime/Types/ContentType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.ContentType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.ContentType+  ( ContentType+      ( ..,+        ContentType_Application_vnd_amazonaws_card_generic+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ContentType = ContentType'+  { fromContentType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ContentType_Application_vnd_amazonaws_card_generic :: ContentType+pattern ContentType_Application_vnd_amazonaws_card_generic = ContentType' "application/vnd.amazonaws.card.generic"++{-# COMPLETE+  ContentType_Application_vnd_amazonaws_card_generic,+  ContentType'+  #-}
+ gen/Amazonka/LexRuntime/Types/DialogAction.hs view
@@ -0,0 +1,276 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.DialogAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.DialogAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types.DialogActionType+import Amazonka.LexRuntime.Types.FulfillmentState+import Amazonka.LexRuntime.Types.MessageFormatType+import qualified Amazonka.Prelude as Prelude++-- | Describes the next action that the bot should take in its interaction+-- with the user and provides information about the context in which the+-- action takes place. Use the @DialogAction@ data type to set the+-- interaction to a specific state, or to return the interaction to a+-- previous state.+--+-- /See:/ 'newDialogAction' smart constructor.+data DialogAction = DialogAction'+  { -- | The fulfillment state of the intent. The possible values are:+    --+    -- -   @Failed@ - The Lambda function associated with the intent failed to+    --     fulfill the intent.+    --+    -- -   @Fulfilled@ - The intent has fulfilled by the Lambda function+    --     associated with the intent.+    --+    -- -   @ReadyForFulfillment@ - All of the information necessary for the+    --     intent is present and the intent ready to be fulfilled by the client+    --     application.+    fulfillmentState :: Prelude.Maybe FulfillmentState,+    -- | The name of the intent.+    intentName :: Prelude.Maybe Prelude.Text,+    -- | The message that should be shown to the user. If you don\'t specify a+    -- message, Amazon Lex will use the message configured for the intent.+    message :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | -   @PlainText@ - The message contains plain UTF-8 text.+    --+    -- -   @CustomPayload@ - The message is a custom format for the client.+    --+    -- -   @SSML@ - The message contains text formatted for voice output.+    --+    -- -   @Composite@ - The message contains an escaped JSON object containing+    --     one or more messages. For more information, see+    --     <https://docs.aws.amazon.com/lex/latest/dg/howitworks-manage-prompts.html Message Groups>.+    messageFormat :: Prelude.Maybe MessageFormatType,+    -- | The name of the slot that should be elicited from the user.+    slotToElicit :: Prelude.Maybe Prelude.Text,+    -- | Map of the slots that have been gathered and their values.+    slots :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The next action that the bot should take in its interaction with the+    -- user. The possible values are:+    --+    -- -   @ConfirmIntent@ - The next action is asking the user if the intent+    --     is complete and ready to be fulfilled. This is a yes\/no question+    --     such as \"Place the order?\"+    --+    -- -   @Close@ - Indicates that the there will not be a response from the+    --     user. For example, the statement \"Your order has been placed\" does+    --     not require a response.+    --+    -- -   @Delegate@ - The next action is determined by Amazon Lex.+    --+    -- -   @ElicitIntent@ - The next action is to determine the intent that the+    --     user wants to fulfill.+    --+    -- -   @ElicitSlot@ - The next action is to elicit a slot value from the+    --     user.+    type' :: DialogActionType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DialogAction' 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:+--+-- 'fulfillmentState', 'dialogAction_fulfillmentState' - The fulfillment state of the intent. The possible values are:+--+-- -   @Failed@ - The Lambda function associated with the intent failed to+--     fulfill the intent.+--+-- -   @Fulfilled@ - The intent has fulfilled by the Lambda function+--     associated with the intent.+--+-- -   @ReadyForFulfillment@ - All of the information necessary for the+--     intent is present and the intent ready to be fulfilled by the client+--     application.+--+-- 'intentName', 'dialogAction_intentName' - The name of the intent.+--+-- 'message', 'dialogAction_message' - The message that should be shown to the user. If you don\'t specify a+-- message, Amazon Lex will use the message configured for the intent.+--+-- 'messageFormat', 'dialogAction_messageFormat' - -   @PlainText@ - The message contains plain UTF-8 text.+--+-- -   @CustomPayload@ - The message is a custom format for the client.+--+-- -   @SSML@ - The message contains text formatted for voice output.+--+-- -   @Composite@ - The message contains an escaped JSON object containing+--     one or more messages. For more information, see+--     <https://docs.aws.amazon.com/lex/latest/dg/howitworks-manage-prompts.html Message Groups>.+--+-- 'slotToElicit', 'dialogAction_slotToElicit' - The name of the slot that should be elicited from the user.+--+-- 'slots', 'dialogAction_slots' - Map of the slots that have been gathered and their values.+--+-- 'type'', 'dialogAction_type' - The next action that the bot should take in its interaction with the+-- user. The possible values are:+--+-- -   @ConfirmIntent@ - The next action is asking the user if the intent+--     is complete and ready to be fulfilled. This is a yes\/no question+--     such as \"Place the order?\"+--+-- -   @Close@ - Indicates that the there will not be a response from the+--     user. For example, the statement \"Your order has been placed\" does+--     not require a response.+--+-- -   @Delegate@ - The next action is determined by Amazon Lex.+--+-- -   @ElicitIntent@ - The next action is to determine the intent that the+--     user wants to fulfill.+--+-- -   @ElicitSlot@ - The next action is to elicit a slot value from the+--     user.+newDialogAction ::+  -- | 'type''+  DialogActionType ->+  DialogAction+newDialogAction pType_ =+  DialogAction'+    { fulfillmentState = Prelude.Nothing,+      intentName = Prelude.Nothing,+      message = Prelude.Nothing,+      messageFormat = Prelude.Nothing,+      slotToElicit = Prelude.Nothing,+      slots = Prelude.Nothing,+      type' = pType_+    }++-- | The fulfillment state of the intent. The possible values are:+--+-- -   @Failed@ - The Lambda function associated with the intent failed to+--     fulfill the intent.+--+-- -   @Fulfilled@ - The intent has fulfilled by the Lambda function+--     associated with the intent.+--+-- -   @ReadyForFulfillment@ - All of the information necessary for the+--     intent is present and the intent ready to be fulfilled by the client+--     application.+dialogAction_fulfillmentState :: Lens.Lens' DialogAction (Prelude.Maybe FulfillmentState)+dialogAction_fulfillmentState = Lens.lens (\DialogAction' {fulfillmentState} -> fulfillmentState) (\s@DialogAction' {} a -> s {fulfillmentState = a} :: DialogAction)++-- | The name of the intent.+dialogAction_intentName :: Lens.Lens' DialogAction (Prelude.Maybe Prelude.Text)+dialogAction_intentName = Lens.lens (\DialogAction' {intentName} -> intentName) (\s@DialogAction' {} a -> s {intentName = a} :: DialogAction)++-- | The message that should be shown to the user. If you don\'t specify a+-- message, Amazon Lex will use the message configured for the intent.+dialogAction_message :: Lens.Lens' DialogAction (Prelude.Maybe Prelude.Text)+dialogAction_message = Lens.lens (\DialogAction' {message} -> message) (\s@DialogAction' {} a -> s {message = a} :: DialogAction) Prelude.. Lens.mapping Data._Sensitive++-- | -   @PlainText@ - The message contains plain UTF-8 text.+--+-- -   @CustomPayload@ - The message is a custom format for the client.+--+-- -   @SSML@ - The message contains text formatted for voice output.+--+-- -   @Composite@ - The message contains an escaped JSON object containing+--     one or more messages. For more information, see+--     <https://docs.aws.amazon.com/lex/latest/dg/howitworks-manage-prompts.html Message Groups>.+dialogAction_messageFormat :: Lens.Lens' DialogAction (Prelude.Maybe MessageFormatType)+dialogAction_messageFormat = Lens.lens (\DialogAction' {messageFormat} -> messageFormat) (\s@DialogAction' {} a -> s {messageFormat = a} :: DialogAction)++-- | The name of the slot that should be elicited from the user.+dialogAction_slotToElicit :: Lens.Lens' DialogAction (Prelude.Maybe Prelude.Text)+dialogAction_slotToElicit = Lens.lens (\DialogAction' {slotToElicit} -> slotToElicit) (\s@DialogAction' {} a -> s {slotToElicit = a} :: DialogAction)++-- | Map of the slots that have been gathered and their values.+dialogAction_slots :: Lens.Lens' DialogAction (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+dialogAction_slots = Lens.lens (\DialogAction' {slots} -> slots) (\s@DialogAction' {} a -> s {slots = a} :: DialogAction) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The next action that the bot should take in its interaction with the+-- user. The possible values are:+--+-- -   @ConfirmIntent@ - The next action is asking the user if the intent+--     is complete and ready to be fulfilled. This is a yes\/no question+--     such as \"Place the order?\"+--+-- -   @Close@ - Indicates that the there will not be a response from the+--     user. For example, the statement \"Your order has been placed\" does+--     not require a response.+--+-- -   @Delegate@ - The next action is determined by Amazon Lex.+--+-- -   @ElicitIntent@ - The next action is to determine the intent that the+--     user wants to fulfill.+--+-- -   @ElicitSlot@ - The next action is to elicit a slot value from the+--     user.+dialogAction_type :: Lens.Lens' DialogAction DialogActionType+dialogAction_type = Lens.lens (\DialogAction' {type'} -> type') (\s@DialogAction' {} a -> s {type' = a} :: DialogAction)++instance Data.FromJSON DialogAction where+  parseJSON =+    Data.withObject+      "DialogAction"+      ( \x ->+          DialogAction'+            Prelude.<$> (x Data..:? "fulfillmentState")+            Prelude.<*> (x Data..:? "intentName")+            Prelude.<*> (x Data..:? "message")+            Prelude.<*> (x Data..:? "messageFormat")+            Prelude.<*> (x Data..:? "slotToElicit")+            Prelude.<*> (x Data..:? "slots" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "type")+      )++instance Prelude.Hashable DialogAction where+  hashWithSalt _salt DialogAction' {..} =+    _salt+      `Prelude.hashWithSalt` fulfillmentState+      `Prelude.hashWithSalt` intentName+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` messageFormat+      `Prelude.hashWithSalt` slotToElicit+      `Prelude.hashWithSalt` slots+      `Prelude.hashWithSalt` type'++instance Prelude.NFData DialogAction where+  rnf DialogAction' {..} =+    Prelude.rnf fulfillmentState+      `Prelude.seq` Prelude.rnf intentName+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf messageFormat+      `Prelude.seq` Prelude.rnf slotToElicit+      `Prelude.seq` Prelude.rnf slots+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON DialogAction where+  toJSON DialogAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("fulfillmentState" Data..=)+              Prelude.<$> fulfillmentState,+            ("intentName" Data..=) Prelude.<$> intentName,+            ("message" Data..=) Prelude.<$> message,+            ("messageFormat" Data..=) Prelude.<$> messageFormat,+            ("slotToElicit" Data..=) Prelude.<$> slotToElicit,+            ("slots" Data..=) Prelude.<$> slots,+            Prelude.Just ("type" Data..= type')+          ]+      )
+ gen/Amazonka/LexRuntime/Types/DialogActionType.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.DialogActionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.DialogActionType+  ( DialogActionType+      ( ..,+        DialogActionType_Close,+        DialogActionType_ConfirmIntent,+        DialogActionType_Delegate,+        DialogActionType_ElicitIntent,+        DialogActionType_ElicitSlot+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DialogActionType = DialogActionType'+  { fromDialogActionType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern DialogActionType_Close :: DialogActionType+pattern DialogActionType_Close = DialogActionType' "Close"++pattern DialogActionType_ConfirmIntent :: DialogActionType+pattern DialogActionType_ConfirmIntent = DialogActionType' "ConfirmIntent"++pattern DialogActionType_Delegate :: DialogActionType+pattern DialogActionType_Delegate = DialogActionType' "Delegate"++pattern DialogActionType_ElicitIntent :: DialogActionType+pattern DialogActionType_ElicitIntent = DialogActionType' "ElicitIntent"++pattern DialogActionType_ElicitSlot :: DialogActionType+pattern DialogActionType_ElicitSlot = DialogActionType' "ElicitSlot"++{-# COMPLETE+  DialogActionType_Close,+  DialogActionType_ConfirmIntent,+  DialogActionType_Delegate,+  DialogActionType_ElicitIntent,+  DialogActionType_ElicitSlot,+  DialogActionType'+  #-}
+ gen/Amazonka/LexRuntime/Types/DialogState.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.DialogState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.DialogState+  ( DialogState+      ( ..,+        DialogState_ConfirmIntent,+        DialogState_ElicitIntent,+        DialogState_ElicitSlot,+        DialogState_Failed,+        DialogState_Fulfilled,+        DialogState_ReadyForFulfillment+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DialogState = DialogState'+  { fromDialogState ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern DialogState_ConfirmIntent :: DialogState+pattern DialogState_ConfirmIntent = DialogState' "ConfirmIntent"++pattern DialogState_ElicitIntent :: DialogState+pattern DialogState_ElicitIntent = DialogState' "ElicitIntent"++pattern DialogState_ElicitSlot :: DialogState+pattern DialogState_ElicitSlot = DialogState' "ElicitSlot"++pattern DialogState_Failed :: DialogState+pattern DialogState_Failed = DialogState' "Failed"++pattern DialogState_Fulfilled :: DialogState+pattern DialogState_Fulfilled = DialogState' "Fulfilled"++pattern DialogState_ReadyForFulfillment :: DialogState+pattern DialogState_ReadyForFulfillment = DialogState' "ReadyForFulfillment"++{-# COMPLETE+  DialogState_ConfirmIntent,+  DialogState_ElicitIntent,+  DialogState_ElicitSlot,+  DialogState_Failed,+  DialogState_Fulfilled,+  DialogState_ReadyForFulfillment,+  DialogState'+  #-}
+ gen/Amazonka/LexRuntime/Types/FulfillmentState.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.FulfillmentState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.FulfillmentState+  ( FulfillmentState+      ( ..,+        FulfillmentState_Failed,+        FulfillmentState_Fulfilled,+        FulfillmentState_ReadyForFulfillment+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FulfillmentState = FulfillmentState'+  { fromFulfillmentState ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern FulfillmentState_Failed :: FulfillmentState+pattern FulfillmentState_Failed = FulfillmentState' "Failed"++pattern FulfillmentState_Fulfilled :: FulfillmentState+pattern FulfillmentState_Fulfilled = FulfillmentState' "Fulfilled"++pattern FulfillmentState_ReadyForFulfillment :: FulfillmentState+pattern FulfillmentState_ReadyForFulfillment = FulfillmentState' "ReadyForFulfillment"++{-# COMPLETE+  FulfillmentState_Failed,+  FulfillmentState_Fulfilled,+  FulfillmentState_ReadyForFulfillment,+  FulfillmentState'+  #-}
+ gen/Amazonka/LexRuntime/Types/GenericAttachment.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.GenericAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.GenericAttachment where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types.Button+import qualified Amazonka.Prelude as Prelude++-- | Represents an option rendered to the user when a prompt is shown. It+-- could be an image, a button, a link, or text.+--+-- /See:/ 'newGenericAttachment' smart constructor.+data GenericAttachment = GenericAttachment'+  { -- | The URL of an attachment to the response card.+    attachmentLinkUrl :: Prelude.Maybe Prelude.Text,+    -- | The list of options to show to the user.+    buttons :: Prelude.Maybe [Button],+    -- | The URL of an image that is displayed to the user.+    imageUrl :: Prelude.Maybe Prelude.Text,+    -- | The subtitle shown below the title.+    subTitle :: Prelude.Maybe Prelude.Text,+    -- | The title of the option.+    title :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GenericAttachment' 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:+--+-- 'attachmentLinkUrl', 'genericAttachment_attachmentLinkUrl' - The URL of an attachment to the response card.+--+-- 'buttons', 'genericAttachment_buttons' - The list of options to show to the user.+--+-- 'imageUrl', 'genericAttachment_imageUrl' - The URL of an image that is displayed to the user.+--+-- 'subTitle', 'genericAttachment_subTitle' - The subtitle shown below the title.+--+-- 'title', 'genericAttachment_title' - The title of the option.+newGenericAttachment ::+  GenericAttachment+newGenericAttachment =+  GenericAttachment'+    { attachmentLinkUrl =+        Prelude.Nothing,+      buttons = Prelude.Nothing,+      imageUrl = Prelude.Nothing,+      subTitle = Prelude.Nothing,+      title = Prelude.Nothing+    }++-- | The URL of an attachment to the response card.+genericAttachment_attachmentLinkUrl :: Lens.Lens' GenericAttachment (Prelude.Maybe Prelude.Text)+genericAttachment_attachmentLinkUrl = Lens.lens (\GenericAttachment' {attachmentLinkUrl} -> attachmentLinkUrl) (\s@GenericAttachment' {} a -> s {attachmentLinkUrl = a} :: GenericAttachment)++-- | The list of options to show to the user.+genericAttachment_buttons :: Lens.Lens' GenericAttachment (Prelude.Maybe [Button])+genericAttachment_buttons = Lens.lens (\GenericAttachment' {buttons} -> buttons) (\s@GenericAttachment' {} a -> s {buttons = a} :: GenericAttachment) Prelude.. Lens.mapping Lens.coerced++-- | The URL of an image that is displayed to the user.+genericAttachment_imageUrl :: Lens.Lens' GenericAttachment (Prelude.Maybe Prelude.Text)+genericAttachment_imageUrl = Lens.lens (\GenericAttachment' {imageUrl} -> imageUrl) (\s@GenericAttachment' {} a -> s {imageUrl = a} :: GenericAttachment)++-- | The subtitle shown below the title.+genericAttachment_subTitle :: Lens.Lens' GenericAttachment (Prelude.Maybe Prelude.Text)+genericAttachment_subTitle = Lens.lens (\GenericAttachment' {subTitle} -> subTitle) (\s@GenericAttachment' {} a -> s {subTitle = a} :: GenericAttachment)++-- | The title of the option.+genericAttachment_title :: Lens.Lens' GenericAttachment (Prelude.Maybe Prelude.Text)+genericAttachment_title = Lens.lens (\GenericAttachment' {title} -> title) (\s@GenericAttachment' {} a -> s {title = a} :: GenericAttachment)++instance Data.FromJSON GenericAttachment where+  parseJSON =+    Data.withObject+      "GenericAttachment"+      ( \x ->+          GenericAttachment'+            Prelude.<$> (x Data..:? "attachmentLinkUrl")+            Prelude.<*> (x Data..:? "buttons" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "imageUrl")+            Prelude.<*> (x Data..:? "subTitle")+            Prelude.<*> (x Data..:? "title")+      )++instance Prelude.Hashable GenericAttachment where+  hashWithSalt _salt GenericAttachment' {..} =+    _salt+      `Prelude.hashWithSalt` attachmentLinkUrl+      `Prelude.hashWithSalt` buttons+      `Prelude.hashWithSalt` imageUrl+      `Prelude.hashWithSalt` subTitle+      `Prelude.hashWithSalt` title++instance Prelude.NFData GenericAttachment where+  rnf GenericAttachment' {..} =+    Prelude.rnf attachmentLinkUrl+      `Prelude.seq` Prelude.rnf buttons+      `Prelude.seq` Prelude.rnf imageUrl+      `Prelude.seq` Prelude.rnf subTitle+      `Prelude.seq` Prelude.rnf title
+ gen/Amazonka/LexRuntime/Types/IntentConfidence.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.IntentConfidence+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.IntentConfidence where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provides a score that indicates the confidence that Amazon Lex has that+-- an intent is the one that satisfies the user\'s intent.+--+-- /See:/ 'newIntentConfidence' smart constructor.+data IntentConfidence = IntentConfidence'+  { -- | A score that indicates how confident Amazon Lex is that an intent+    -- satisfies the user\'s intent. Ranges between 0.00 and 1.00. Higher+    -- scores indicate higher confidence.+    score :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntentConfidence' 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:+--+-- 'score', 'intentConfidence_score' - A score that indicates how confident Amazon Lex is that an intent+-- satisfies the user\'s intent. Ranges between 0.00 and 1.00. Higher+-- scores indicate higher confidence.+newIntentConfidence ::+  IntentConfidence+newIntentConfidence =+  IntentConfidence' {score = Prelude.Nothing}++-- | A score that indicates how confident Amazon Lex is that an intent+-- satisfies the user\'s intent. Ranges between 0.00 and 1.00. Higher+-- scores indicate higher confidence.+intentConfidence_score :: Lens.Lens' IntentConfidence (Prelude.Maybe Prelude.Double)+intentConfidence_score = Lens.lens (\IntentConfidence' {score} -> score) (\s@IntentConfidence' {} a -> s {score = a} :: IntentConfidence)++instance Data.FromJSON IntentConfidence where+  parseJSON =+    Data.withObject+      "IntentConfidence"+      ( \x ->+          IntentConfidence' Prelude.<$> (x Data..:? "score")+      )++instance Prelude.Hashable IntentConfidence where+  hashWithSalt _salt IntentConfidence' {..} =+    _salt `Prelude.hashWithSalt` score++instance Prelude.NFData IntentConfidence where+  rnf IntentConfidence' {..} = Prelude.rnf score
+ gen/Amazonka/LexRuntime/Types/IntentSummary.hs view
@@ -0,0 +1,299 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.IntentSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.IntentSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types.ConfirmationStatus+import Amazonka.LexRuntime.Types.DialogActionType+import Amazonka.LexRuntime.Types.FulfillmentState+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the state of an intent. You can use this+-- information to get the current state of an intent so that you can+-- process the intent, or so that you can return the intent to its previous+-- state.+--+-- /See:/ 'newIntentSummary' smart constructor.+data IntentSummary = IntentSummary'+  { -- | A user-defined label that identifies a particular intent. You can use+    -- this label to return to a previous intent.+    --+    -- Use the @checkpointLabelFilter@ parameter of the @GetSessionRequest@+    -- operation to filter the intents returned by the operation to those with+    -- only the specified label.+    checkpointLabel :: Prelude.Maybe Prelude.Text,+    -- | The status of the intent after the user responds to the confirmation+    -- prompt. If the user confirms the intent, Amazon Lex sets this field to+    -- @Confirmed@. If the user denies the intent, Amazon Lex sets this value+    -- to @Denied@. The possible values are:+    --+    -- -   @Confirmed@ - The user has responded \"Yes\" to the confirmation+    --     prompt, confirming that the intent is complete and that it is ready+    --     to be fulfilled.+    --+    -- -   @Denied@ - The user has responded \"No\" to the confirmation prompt.+    --+    -- -   @None@ - The user has never been prompted for confirmation; or, the+    --     user was prompted but did not confirm or deny the prompt.+    confirmationStatus :: Prelude.Maybe ConfirmationStatus,+    -- | The fulfillment state of the intent. The possible values are:+    --+    -- -   @Failed@ - The Lambda function associated with the intent failed to+    --     fulfill the intent.+    --+    -- -   @Fulfilled@ - The intent has fulfilled by the Lambda function+    --     associated with the intent.+    --+    -- -   @ReadyForFulfillment@ - All of the information necessary for the+    --     intent is present and the intent ready to be fulfilled by the client+    --     application.+    fulfillmentState :: Prelude.Maybe FulfillmentState,+    -- | The name of the intent.+    intentName :: Prelude.Maybe Prelude.Text,+    -- | The next slot to elicit from the user. If there is not slot to elicit,+    -- the field is blank.+    slotToElicit :: Prelude.Maybe Prelude.Text,+    -- | Map of the slots that have been gathered and their values.+    slots :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The next action that the bot should take in its interaction with the+    -- user. The possible values are:+    --+    -- -   @ConfirmIntent@ - The next action is asking the user if the intent+    --     is complete and ready to be fulfilled. This is a yes\/no question+    --     such as \"Place the order?\"+    --+    -- -   @Close@ - Indicates that the there will not be a response from the+    --     user. For example, the statement \"Your order has been placed\" does+    --     not require a response.+    --+    -- -   @ElicitIntent@ - The next action is to determine the intent that the+    --     user wants to fulfill.+    --+    -- -   @ElicitSlot@ - The next action is to elicit a slot value from the+    --     user.+    dialogActionType :: DialogActionType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntentSummary' 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:+--+-- 'checkpointLabel', 'intentSummary_checkpointLabel' - A user-defined label that identifies a particular intent. You can use+-- this label to return to a previous intent.+--+-- Use the @checkpointLabelFilter@ parameter of the @GetSessionRequest@+-- operation to filter the intents returned by the operation to those with+-- only the specified label.+--+-- 'confirmationStatus', 'intentSummary_confirmationStatus' - The status of the intent after the user responds to the confirmation+-- prompt. If the user confirms the intent, Amazon Lex sets this field to+-- @Confirmed@. If the user denies the intent, Amazon Lex sets this value+-- to @Denied@. The possible values are:+--+-- -   @Confirmed@ - The user has responded \"Yes\" to the confirmation+--     prompt, confirming that the intent is complete and that it is ready+--     to be fulfilled.+--+-- -   @Denied@ - The user has responded \"No\" to the confirmation prompt.+--+-- -   @None@ - The user has never been prompted for confirmation; or, the+--     user was prompted but did not confirm or deny the prompt.+--+-- 'fulfillmentState', 'intentSummary_fulfillmentState' - The fulfillment state of the intent. The possible values are:+--+-- -   @Failed@ - The Lambda function associated with the intent failed to+--     fulfill the intent.+--+-- -   @Fulfilled@ - The intent has fulfilled by the Lambda function+--     associated with the intent.+--+-- -   @ReadyForFulfillment@ - All of the information necessary for the+--     intent is present and the intent ready to be fulfilled by the client+--     application.+--+-- 'intentName', 'intentSummary_intentName' - The name of the intent.+--+-- 'slotToElicit', 'intentSummary_slotToElicit' - The next slot to elicit from the user. If there is not slot to elicit,+-- the field is blank.+--+-- 'slots', 'intentSummary_slots' - Map of the slots that have been gathered and their values.+--+-- 'dialogActionType', 'intentSummary_dialogActionType' - The next action that the bot should take in its interaction with the+-- user. The possible values are:+--+-- -   @ConfirmIntent@ - The next action is asking the user if the intent+--     is complete and ready to be fulfilled. This is a yes\/no question+--     such as \"Place the order?\"+--+-- -   @Close@ - Indicates that the there will not be a response from the+--     user. For example, the statement \"Your order has been placed\" does+--     not require a response.+--+-- -   @ElicitIntent@ - The next action is to determine the intent that the+--     user wants to fulfill.+--+-- -   @ElicitSlot@ - The next action is to elicit a slot value from the+--     user.+newIntentSummary ::+  -- | 'dialogActionType'+  DialogActionType ->+  IntentSummary+newIntentSummary pDialogActionType_ =+  IntentSummary'+    { checkpointLabel = Prelude.Nothing,+      confirmationStatus = Prelude.Nothing,+      fulfillmentState = Prelude.Nothing,+      intentName = Prelude.Nothing,+      slotToElicit = Prelude.Nothing,+      slots = Prelude.Nothing,+      dialogActionType = pDialogActionType_+    }++-- | A user-defined label that identifies a particular intent. You can use+-- this label to return to a previous intent.+--+-- Use the @checkpointLabelFilter@ parameter of the @GetSessionRequest@+-- operation to filter the intents returned by the operation to those with+-- only the specified label.+intentSummary_checkpointLabel :: Lens.Lens' IntentSummary (Prelude.Maybe Prelude.Text)+intentSummary_checkpointLabel = Lens.lens (\IntentSummary' {checkpointLabel} -> checkpointLabel) (\s@IntentSummary' {} a -> s {checkpointLabel = a} :: IntentSummary)++-- | The status of the intent after the user responds to the confirmation+-- prompt. If the user confirms the intent, Amazon Lex sets this field to+-- @Confirmed@. If the user denies the intent, Amazon Lex sets this value+-- to @Denied@. The possible values are:+--+-- -   @Confirmed@ - The user has responded \"Yes\" to the confirmation+--     prompt, confirming that the intent is complete and that it is ready+--     to be fulfilled.+--+-- -   @Denied@ - The user has responded \"No\" to the confirmation prompt.+--+-- -   @None@ - The user has never been prompted for confirmation; or, the+--     user was prompted but did not confirm or deny the prompt.+intentSummary_confirmationStatus :: Lens.Lens' IntentSummary (Prelude.Maybe ConfirmationStatus)+intentSummary_confirmationStatus = Lens.lens (\IntentSummary' {confirmationStatus} -> confirmationStatus) (\s@IntentSummary' {} a -> s {confirmationStatus = a} :: IntentSummary)++-- | The fulfillment state of the intent. The possible values are:+--+-- -   @Failed@ - The Lambda function associated with the intent failed to+--     fulfill the intent.+--+-- -   @Fulfilled@ - The intent has fulfilled by the Lambda function+--     associated with the intent.+--+-- -   @ReadyForFulfillment@ - All of the information necessary for the+--     intent is present and the intent ready to be fulfilled by the client+--     application.+intentSummary_fulfillmentState :: Lens.Lens' IntentSummary (Prelude.Maybe FulfillmentState)+intentSummary_fulfillmentState = Lens.lens (\IntentSummary' {fulfillmentState} -> fulfillmentState) (\s@IntentSummary' {} a -> s {fulfillmentState = a} :: IntentSummary)++-- | The name of the intent.+intentSummary_intentName :: Lens.Lens' IntentSummary (Prelude.Maybe Prelude.Text)+intentSummary_intentName = Lens.lens (\IntentSummary' {intentName} -> intentName) (\s@IntentSummary' {} a -> s {intentName = a} :: IntentSummary)++-- | The next slot to elicit from the user. If there is not slot to elicit,+-- the field is blank.+intentSummary_slotToElicit :: Lens.Lens' IntentSummary (Prelude.Maybe Prelude.Text)+intentSummary_slotToElicit = Lens.lens (\IntentSummary' {slotToElicit} -> slotToElicit) (\s@IntentSummary' {} a -> s {slotToElicit = a} :: IntentSummary)++-- | Map of the slots that have been gathered and their values.+intentSummary_slots :: Lens.Lens' IntentSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+intentSummary_slots = Lens.lens (\IntentSummary' {slots} -> slots) (\s@IntentSummary' {} a -> s {slots = a} :: IntentSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The next action that the bot should take in its interaction with the+-- user. The possible values are:+--+-- -   @ConfirmIntent@ - The next action is asking the user if the intent+--     is complete and ready to be fulfilled. This is a yes\/no question+--     such as \"Place the order?\"+--+-- -   @Close@ - Indicates that the there will not be a response from the+--     user. For example, the statement \"Your order has been placed\" does+--     not require a response.+--+-- -   @ElicitIntent@ - The next action is to determine the intent that the+--     user wants to fulfill.+--+-- -   @ElicitSlot@ - The next action is to elicit a slot value from the+--     user.+intentSummary_dialogActionType :: Lens.Lens' IntentSummary DialogActionType+intentSummary_dialogActionType = Lens.lens (\IntentSummary' {dialogActionType} -> dialogActionType) (\s@IntentSummary' {} a -> s {dialogActionType = a} :: IntentSummary)++instance Data.FromJSON IntentSummary where+  parseJSON =+    Data.withObject+      "IntentSummary"+      ( \x ->+          IntentSummary'+            Prelude.<$> (x Data..:? "checkpointLabel")+            Prelude.<*> (x Data..:? "confirmationStatus")+            Prelude.<*> (x Data..:? "fulfillmentState")+            Prelude.<*> (x Data..:? "intentName")+            Prelude.<*> (x Data..:? "slotToElicit")+            Prelude.<*> (x Data..:? "slots" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "dialogActionType")+      )++instance Prelude.Hashable IntentSummary where+  hashWithSalt _salt IntentSummary' {..} =+    _salt+      `Prelude.hashWithSalt` checkpointLabel+      `Prelude.hashWithSalt` confirmationStatus+      `Prelude.hashWithSalt` fulfillmentState+      `Prelude.hashWithSalt` intentName+      `Prelude.hashWithSalt` slotToElicit+      `Prelude.hashWithSalt` slots+      `Prelude.hashWithSalt` dialogActionType++instance Prelude.NFData IntentSummary where+  rnf IntentSummary' {..} =+    Prelude.rnf checkpointLabel+      `Prelude.seq` Prelude.rnf confirmationStatus+      `Prelude.seq` Prelude.rnf fulfillmentState+      `Prelude.seq` Prelude.rnf intentName+      `Prelude.seq` Prelude.rnf slotToElicit+      `Prelude.seq` Prelude.rnf slots+      `Prelude.seq` Prelude.rnf dialogActionType++instance Data.ToJSON IntentSummary where+  toJSON IntentSummary' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("checkpointLabel" Data..=)+              Prelude.<$> checkpointLabel,+            ("confirmationStatus" Data..=)+              Prelude.<$> confirmationStatus,+            ("fulfillmentState" Data..=)+              Prelude.<$> fulfillmentState,+            ("intentName" Data..=) Prelude.<$> intentName,+            ("slotToElicit" Data..=) Prelude.<$> slotToElicit,+            ("slots" Data..=) Prelude.<$> slots,+            Prelude.Just+              ("dialogActionType" Data..= dialogActionType)+          ]+      )
+ gen/Amazonka/LexRuntime/Types/MessageFormatType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.MessageFormatType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.MessageFormatType+  ( MessageFormatType+      ( ..,+        MessageFormatType_Composite,+        MessageFormatType_CustomPayload,+        MessageFormatType_PlainText,+        MessageFormatType_SSML+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MessageFormatType = MessageFormatType'+  { fromMessageFormatType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern MessageFormatType_Composite :: MessageFormatType+pattern MessageFormatType_Composite = MessageFormatType' "Composite"++pattern MessageFormatType_CustomPayload :: MessageFormatType+pattern MessageFormatType_CustomPayload = MessageFormatType' "CustomPayload"++pattern MessageFormatType_PlainText :: MessageFormatType+pattern MessageFormatType_PlainText = MessageFormatType' "PlainText"++pattern MessageFormatType_SSML :: MessageFormatType+pattern MessageFormatType_SSML = MessageFormatType' "SSML"++{-# COMPLETE+  MessageFormatType_Composite,+  MessageFormatType_CustomPayload,+  MessageFormatType_PlainText,+  MessageFormatType_SSML,+  MessageFormatType'+  #-}
+ gen/Amazonka/LexRuntime/Types/PredictedIntent.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.PredictedIntent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.PredictedIntent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types.IntentConfidence+import qualified Amazonka.Prelude as Prelude++-- | An intent that Amazon Lex suggests satisfies the user\'s intent.+-- Includes the name of the intent, the confidence that Amazon Lex has that+-- the user\'s intent is satisfied, and the slots defined for the intent.+--+-- /See:/ 'newPredictedIntent' smart constructor.+data PredictedIntent = PredictedIntent'+  { -- | The name of the intent that Amazon Lex suggests satisfies the user\'s+    -- intent.+    intentName :: Prelude.Maybe Prelude.Text,+    -- | Indicates how confident Amazon Lex is that an intent satisfies the+    -- user\'s intent.+    nluIntentConfidence :: Prelude.Maybe IntentConfidence,+    -- | The slot and slot values associated with the predicted intent.+    slots :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text))+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PredictedIntent' 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:+--+-- 'intentName', 'predictedIntent_intentName' - The name of the intent that Amazon Lex suggests satisfies the user\'s+-- intent.+--+-- 'nluIntentConfidence', 'predictedIntent_nluIntentConfidence' - Indicates how confident Amazon Lex is that an intent satisfies the+-- user\'s intent.+--+-- 'slots', 'predictedIntent_slots' - The slot and slot values associated with the predicted intent.+newPredictedIntent ::+  PredictedIntent+newPredictedIntent =+  PredictedIntent'+    { intentName = Prelude.Nothing,+      nluIntentConfidence = Prelude.Nothing,+      slots = Prelude.Nothing+    }++-- | The name of the intent that Amazon Lex suggests satisfies the user\'s+-- intent.+predictedIntent_intentName :: Lens.Lens' PredictedIntent (Prelude.Maybe Prelude.Text)+predictedIntent_intentName = Lens.lens (\PredictedIntent' {intentName} -> intentName) (\s@PredictedIntent' {} a -> s {intentName = a} :: PredictedIntent)++-- | Indicates how confident Amazon Lex is that an intent satisfies the+-- user\'s intent.+predictedIntent_nluIntentConfidence :: Lens.Lens' PredictedIntent (Prelude.Maybe IntentConfidence)+predictedIntent_nluIntentConfidence = Lens.lens (\PredictedIntent' {nluIntentConfidence} -> nluIntentConfidence) (\s@PredictedIntent' {} a -> s {nluIntentConfidence = a} :: PredictedIntent)++-- | The slot and slot values associated with the predicted intent.+predictedIntent_slots :: Lens.Lens' PredictedIntent (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+predictedIntent_slots = Lens.lens (\PredictedIntent' {slots} -> slots) (\s@PredictedIntent' {} a -> s {slots = a} :: PredictedIntent) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++instance Data.FromJSON PredictedIntent where+  parseJSON =+    Data.withObject+      "PredictedIntent"+      ( \x ->+          PredictedIntent'+            Prelude.<$> (x Data..:? "intentName")+            Prelude.<*> (x Data..:? "nluIntentConfidence")+            Prelude.<*> (x Data..:? "slots" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable PredictedIntent where+  hashWithSalt _salt PredictedIntent' {..} =+    _salt+      `Prelude.hashWithSalt` intentName+      `Prelude.hashWithSalt` nluIntentConfidence+      `Prelude.hashWithSalt` slots++instance Prelude.NFData PredictedIntent where+  rnf PredictedIntent' {..} =+    Prelude.rnf intentName+      `Prelude.seq` Prelude.rnf nluIntentConfidence+      `Prelude.seq` Prelude.rnf slots
+ gen/Amazonka/LexRuntime/Types/ResponseCard.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.ResponseCard+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.ResponseCard where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Types.ContentType+import Amazonka.LexRuntime.Types.GenericAttachment+import qualified Amazonka.Prelude as Prelude++-- | If you configure a response card when creating your bots, Amazon Lex+-- substitutes the session attributes and slot values that are available,+-- and then returns it. The response card can also come from a Lambda+-- function ( @dialogCodeHook@ and @fulfillmentActivity@ on an intent).+--+-- /See:/ 'newResponseCard' smart constructor.+data ResponseCard = ResponseCard'+  { -- | The content type of the response.+    contentType :: Prelude.Maybe ContentType,+    -- | An array of attachment objects representing options.+    genericAttachments :: Prelude.Maybe [GenericAttachment],+    -- | The version of the response card format.+    version :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResponseCard' 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:+--+-- 'contentType', 'responseCard_contentType' - The content type of the response.+--+-- 'genericAttachments', 'responseCard_genericAttachments' - An array of attachment objects representing options.+--+-- 'version', 'responseCard_version' - The version of the response card format.+newResponseCard ::+  ResponseCard+newResponseCard =+  ResponseCard'+    { contentType = Prelude.Nothing,+      genericAttachments = Prelude.Nothing,+      version = Prelude.Nothing+    }++-- | The content type of the response.+responseCard_contentType :: Lens.Lens' ResponseCard (Prelude.Maybe ContentType)+responseCard_contentType = Lens.lens (\ResponseCard' {contentType} -> contentType) (\s@ResponseCard' {} a -> s {contentType = a} :: ResponseCard)++-- | An array of attachment objects representing options.+responseCard_genericAttachments :: Lens.Lens' ResponseCard (Prelude.Maybe [GenericAttachment])+responseCard_genericAttachments = Lens.lens (\ResponseCard' {genericAttachments} -> genericAttachments) (\s@ResponseCard' {} a -> s {genericAttachments = a} :: ResponseCard) Prelude.. Lens.mapping Lens.coerced++-- | The version of the response card format.+responseCard_version :: Lens.Lens' ResponseCard (Prelude.Maybe Prelude.Text)+responseCard_version = Lens.lens (\ResponseCard' {version} -> version) (\s@ResponseCard' {} a -> s {version = a} :: ResponseCard)++instance Data.FromJSON ResponseCard where+  parseJSON =+    Data.withObject+      "ResponseCard"+      ( \x ->+          ResponseCard'+            Prelude.<$> (x Data..:? "contentType")+            Prelude.<*> ( x+                            Data..:? "genericAttachments"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "version")+      )++instance Prelude.Hashable ResponseCard where+  hashWithSalt _salt ResponseCard' {..} =+    _salt+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` genericAttachments+      `Prelude.hashWithSalt` version++instance Prelude.NFData ResponseCard where+  rnf ResponseCard' {..} =+    Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf genericAttachments+      `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/LexRuntime/Types/SentimentResponse.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Types.SentimentResponse+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Types.SentimentResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The sentiment expressed in an utterance.+--+-- When the bot is configured to send utterances to Amazon Comprehend for+-- sentiment analysis, this field structure contains the result of the+-- analysis.+--+-- /See:/ 'newSentimentResponse' smart constructor.+data SentimentResponse = SentimentResponse'+  { -- | The inferred sentiment that Amazon Comprehend has the highest confidence+    -- in.+    sentimentLabel :: Prelude.Maybe Prelude.Text,+    -- | The likelihood that the sentiment was correctly inferred.+    sentimentScore :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SentimentResponse' 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:+--+-- 'sentimentLabel', 'sentimentResponse_sentimentLabel' - The inferred sentiment that Amazon Comprehend has the highest confidence+-- in.+--+-- 'sentimentScore', 'sentimentResponse_sentimentScore' - The likelihood that the sentiment was correctly inferred.+newSentimentResponse ::+  SentimentResponse+newSentimentResponse =+  SentimentResponse'+    { sentimentLabel =+        Prelude.Nothing,+      sentimentScore = Prelude.Nothing+    }++-- | The inferred sentiment that Amazon Comprehend has the highest confidence+-- in.+sentimentResponse_sentimentLabel :: Lens.Lens' SentimentResponse (Prelude.Maybe Prelude.Text)+sentimentResponse_sentimentLabel = Lens.lens (\SentimentResponse' {sentimentLabel} -> sentimentLabel) (\s@SentimentResponse' {} a -> s {sentimentLabel = a} :: SentimentResponse)++-- | The likelihood that the sentiment was correctly inferred.+sentimentResponse_sentimentScore :: Lens.Lens' SentimentResponse (Prelude.Maybe Prelude.Text)+sentimentResponse_sentimentScore = Lens.lens (\SentimentResponse' {sentimentScore} -> sentimentScore) (\s@SentimentResponse' {} a -> s {sentimentScore = a} :: SentimentResponse)++instance Data.FromJSON SentimentResponse where+  parseJSON =+    Data.withObject+      "SentimentResponse"+      ( \x ->+          SentimentResponse'+            Prelude.<$> (x Data..:? "sentimentLabel")+            Prelude.<*> (x Data..:? "sentimentScore")+      )++instance Prelude.Hashable SentimentResponse where+  hashWithSalt _salt SentimentResponse' {..} =+    _salt+      `Prelude.hashWithSalt` sentimentLabel+      `Prelude.hashWithSalt` sentimentScore++instance Prelude.NFData SentimentResponse where+  rnf SentimentResponse' {..} =+    Prelude.rnf sentimentLabel+      `Prelude.seq` Prelude.rnf sentimentScore
+ gen/Amazonka/LexRuntime/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.LexRuntime.Waiters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LexRuntime.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LexRuntime.Lens+import Amazonka.LexRuntime.Types+import qualified Amazonka.Prelude as Prelude
− gen/Network/AWS/LexRuntime.hs
@@ -1,137 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.LexRuntime--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Amazon Lex provides both build and runtime endpoints. Each endpoint provides a set of operations (API). Your conversational bot uses the runtime API to understand user utterances (user input text or voice). For example, suppose a user says "I want pizza", your bot sends this input to Amazon Lex using the runtime API. Amazon Lex recognizes that the user request is for the OrderPizza intent (one of the intents defined in the bot). Then Amazon Lex engages in user conversation on behalf of the bot to elicit required information (slot values, such as pizza size and crust type), and then performs fulfillment activity (that you configured when you created the bot). You use the build-time API to create and manage your Amazon Lex bot. For a list of build-time operations, see the build-time API, .-------module Network.AWS.LexRuntime-    (-    -- * Service Configuration-      lexRuntime--    -- * Errors-    -- $errors--    -- ** NotAcceptableException-    , _NotAcceptableException--    -- ** DependencyFailedException-    , _DependencyFailedException--    -- ** UnsupportedMediaTypeException-    , _UnsupportedMediaTypeException--    -- ** ConflictException-    , _ConflictException--    -- ** NotFoundException-    , _NotFoundException--    -- ** RequestTimeoutException-    , _RequestTimeoutException--    -- ** LoopDetectedException-    , _LoopDetectedException--    -- ** InternalFailureException-    , _InternalFailureException--    -- ** BadGatewayException-    , _BadGatewayException--    -- ** BadRequestException-    , _BadRequestException--    -- ** LimitExceededException-    , _LimitExceededException--    -- * Waiters-    -- $waiters--    -- * Operations-    -- $operations--    -- ** PostText-    , module Network.AWS.LexRuntime.PostText--    -- ** PostContent-    , module Network.AWS.LexRuntime.PostContent--    -- * Types--    -- ** ContentType-    , ContentType (..)--    -- ** DialogState-    , DialogState (..)--    -- ** MessageFormatType-    , MessageFormatType (..)--    -- ** Button-    , Button-    , button-    , bText-    , bValue--    -- ** GenericAttachment-    , GenericAttachment-    , genericAttachment-    , gaButtons-    , gaSubTitle-    , gaImageURL-    , gaAttachmentLinkURL-    , gaTitle--    -- ** ResponseCard-    , ResponseCard-    , responseCard-    , rcGenericAttachments-    , rcVersion-    , rcContentType-    ) where--import Network.AWS.LexRuntime.PostContent-import Network.AWS.LexRuntime.PostText-import Network.AWS.LexRuntime.Types-import Network.AWS.LexRuntime.Waiters--{- $errors-Error matchers are designed for use with the functions provided by-<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.-This allows catching (and rethrowing) service specific errors returned-by 'LexRuntime'.--}--{- $operations-Some AWS operations return results that are incomplete and require subsequent-requests in order to obtain the entire result set. The process of sending-subsequent requests to continue where a previous request left off is called-pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to-1000 objects at a time, and you must send subsequent requests with the-appropriate Marker in order to retrieve the next page of results.--Operations that have an 'AWSPager' instance can transparently perform subsequent-requests, correctly setting Markers and other request facets to iterate through-the entire result set of a truncated API operation. Operations which support-this have an additional note in the documentation.--Many operations have the ability to filter results on the server side. See the-individual operation parameters for details.--}--{- $waiters-Waiters poll by repeatedly sending a request until some remote success condition-configured by the 'Wait' specification is fulfilled. The 'Wait' specification-determines how many attempts should be made, in addition to delay and retry strategies.--}
− gen/Network/AWS/LexRuntime/PostContent.hs
@@ -1,326 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.LexRuntime.PostContent--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sends user input (text or speech) to Amazon Lex. Clients use this API to send text and audio requests to Amazon Lex at runtime. Amazon Lex interprets the user input using the machine learning model that it built for the bot.--------- The @PostContent@ operation supports audio input at 8kHz and 16kHz. You can use 8kHz audio to achieve higher speech recognition accuracy in telephone audio applications.------ In response, Amazon Lex returns the next message to convey to the user. Consider the following example messages:------     * For a user input "I would like a pizza," Amazon Lex might return a response with a message eliciting slot data (for example, @PizzaSize@ ): "What size pizza would you like?".------     * After the user provides all of the pizza order information, Amazon Lex might return a response with a message to get user confirmation: "Order the pizza?".------     * After the user replies "Yes" to the confirmation prompt, Amazon Lex might return a conclusion statement: "Thank you, your cheese pizza has been ordered.".------------ Not all Amazon Lex messages require a response from the user. For example, conclusion statements do not require a response. Some messages require only a yes or no response. In addition to the @message@ , Amazon Lex provides additional context about the message in the response that you can use to enhance client behavior, such as displaying the appropriate client user interface. Consider the following examples:------     * If the message is to elicit slot data, Amazon Lex returns the following context information:------     * @x-amz-lex-dialog-state@ header set to @ElicitSlot@------     * @x-amz-lex-intent-name@ header set to the intent name in the current context------     * @x-amz-lex-slot-to-elicit@ header set to the slot name for which the @message@ is eliciting information------     * @x-amz-lex-slots@ header set to a map of slots configured for the intent with their current values------------     * If the message is a confirmation prompt, the @x-amz-lex-dialog-state@ header is set to @Confirmation@ and the @x-amz-lex-slot-to-elicit@ header is omitted.------     * If the message is a clarification prompt configured for the intent, indicating that the user intent is not understood, the @x-amz-dialog-state@ header is set to @ElicitIntent@ and the @x-amz-slot-to-elicit@ header is omitted.------------ In addition, Amazon Lex also returns your application-specific @sessionAttributes@ . For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html Managing Conversation Context> .----module Network.AWS.LexRuntime.PostContent-    (-    -- * Creating a Request-      postContent-    , PostContent-    -- * Request Lenses-    , pcAccept-    , pcRequestAttributes-    , pcSessionAttributes-    , pcBotName-    , pcBotAlias-    , pcUserId-    , pcContentType-    , pcInputStream--    -- * Destructuring the Response-    , postContentResponse-    , PostContentResponse-    -- * Response Lenses-    , pcrsSlots-    , pcrsIntentName-    , pcrsDialogState-    , pcrsInputTranscript-    , pcrsMessageFormat-    , pcrsMessage-    , pcrsSlotToElicit-    , pcrsContentType-    , pcrsSessionAttributes-    , pcrsResponseStatus-    , pcrsAudioStream-    ) where--import Network.AWS.Lens-import Network.AWS.LexRuntime.Types-import Network.AWS.LexRuntime.Types.Product-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'postContent' smart constructor.-data PostContent = PostContent'-  { _pcAccept            :: !(Maybe Text)-  , _pcRequestAttributes :: !(Maybe (Sensitive Text))-  , _pcSessionAttributes :: !(Maybe (Sensitive Text))-  , _pcBotName           :: !Text-  , _pcBotAlias          :: !Text-  , _pcUserId            :: !Text-  , _pcContentType       :: !Text-  , _pcInputStream       :: !HashedBody-  } deriving (Show, Generic)----- | Creates a value of 'PostContent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcAccept' - You pass this value as the @Accept@ HTTP header.  The message Amazon Lex returns in the response can be either text or speech based on the @Accept@ HTTP header value in the request.      * If the value is @text/plain; charset=utf-8@ , Amazon Lex returns text in the response.      * If the value begins with @audio/@ , Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the @Accept@ header). For example, if you specify @audio/mpeg@ as the value, Amazon Lex returns speech in the MPEG format. The following are the accepted values:     * audio/mpeg     * audio/ogg     * audio/pcm     * text/plain; charset=utf-8     * audio/* (defaults to mpeg)------ * 'pcRequestAttributes' - You pass this value as the @x-amz-lex-request-attributes@ HTTP header. Request-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the @requestAttributes@ and @sessionAttributes@ headers is limited to 12 KB. The namespace @x-amz-lex:@ is reserved for special attributes. Don't create any request attributes with the prefix @x-amz-lex:@ . For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes> .------ * 'pcSessionAttributes' - You pass this value as the @x-amz-lex-session-attributes@ HTTP header. Application-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the @sessionAttributes@ and @requestAttributes@ headers is limited to 12 KB. For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes> .------ * 'pcBotName' - Name of the Amazon Lex bot.------ * 'pcBotAlias' - Alias of the Amazon Lex bot.------ * 'pcUserId' - The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the @userID@ field. To decide the user ID to use for your application, consider the following factors.     * The @userID@ field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.     * If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.     * If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.     * A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.------ * 'pcContentType' - You pass this value as the @Content-Type@ HTTP header.  Indicates the audio format or text. The header value must start with one of the following prefixes:      * PCM format, audio data must be in little-endian byte order.     * audio/l16; rate=16000; channels=1     * audio/x-l16; sample-rate=16000; channel-count=1     * audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false      * Opus format     * audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; frame-size-milliseconds=4     * Text format     * text/plain; charset=utf-8------ * 'pcInputStream' - User input in PCM or Opus audio format or text format as described in the @Content-Type@ HTTP header.  You can stream audio data to Amazon Lex or you can create a local buffer that captures all of the audio data before sending. In general, you get better performance if you stream audio data rather than buffering the data locally.-postContent-    :: Text -- ^ 'pcBotName'-    -> Text -- ^ 'pcBotAlias'-    -> Text -- ^ 'pcUserId'-    -> Text -- ^ 'pcContentType'-    -> HashedBody -- ^ 'pcInputStream'-    -> PostContent-postContent pBotName_ pBotAlias_ pUserId_ pContentType_ pInputStream_ =-  PostContent'-    { _pcAccept = Nothing-    , _pcRequestAttributes = Nothing-    , _pcSessionAttributes = Nothing-    , _pcBotName = pBotName_-    , _pcBotAlias = pBotAlias_-    , _pcUserId = pUserId_-    , _pcContentType = pContentType_-    , _pcInputStream = pInputStream_-    }----- | You pass this value as the @Accept@ HTTP header.  The message Amazon Lex returns in the response can be either text or speech based on the @Accept@ HTTP header value in the request.      * If the value is @text/plain; charset=utf-8@ , Amazon Lex returns text in the response.      * If the value begins with @audio/@ , Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the @Accept@ header). For example, if you specify @audio/mpeg@ as the value, Amazon Lex returns speech in the MPEG format. The following are the accepted values:     * audio/mpeg     * audio/ogg     * audio/pcm     * text/plain; charset=utf-8     * audio/* (defaults to mpeg)-pcAccept :: Lens' PostContent (Maybe Text)-pcAccept = lens _pcAccept (\ s a -> s{_pcAccept = a})---- | You pass this value as the @x-amz-lex-request-attributes@ HTTP header. Request-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the @requestAttributes@ and @sessionAttributes@ headers is limited to 12 KB. The namespace @x-amz-lex:@ is reserved for special attributes. Don't create any request attributes with the prefix @x-amz-lex:@ . For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes> .-pcRequestAttributes :: Lens' PostContent (Maybe Text)-pcRequestAttributes = lens _pcRequestAttributes (\ s a -> s{_pcRequestAttributes = a}) . mapping _Sensitive---- | You pass this value as the @x-amz-lex-session-attributes@ HTTP header. Application-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the @sessionAttributes@ and @requestAttributes@ headers is limited to 12 KB. For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes> .-pcSessionAttributes :: Lens' PostContent (Maybe Text)-pcSessionAttributes = lens _pcSessionAttributes (\ s a -> s{_pcSessionAttributes = a}) . mapping _Sensitive---- | Name of the Amazon Lex bot.-pcBotName :: Lens' PostContent Text-pcBotName = lens _pcBotName (\ s a -> s{_pcBotName = a})---- | Alias of the Amazon Lex bot.-pcBotAlias :: Lens' PostContent Text-pcBotAlias = lens _pcBotAlias (\ s a -> s{_pcBotAlias = a})---- | The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the @userID@ field. To decide the user ID to use for your application, consider the following factors.     * The @userID@ field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.     * If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.     * If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.     * A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.-pcUserId :: Lens' PostContent Text-pcUserId = lens _pcUserId (\ s a -> s{_pcUserId = a})---- | You pass this value as the @Content-Type@ HTTP header.  Indicates the audio format or text. The header value must start with one of the following prefixes:      * PCM format, audio data must be in little-endian byte order.     * audio/l16; rate=16000; channels=1     * audio/x-l16; sample-rate=16000; channel-count=1     * audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false      * Opus format     * audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; frame-size-milliseconds=4     * Text format     * text/plain; charset=utf-8-pcContentType :: Lens' PostContent Text-pcContentType = lens _pcContentType (\ s a -> s{_pcContentType = a})---- | User input in PCM or Opus audio format or text format as described in the @Content-Type@ HTTP header.  You can stream audio data to Amazon Lex or you can create a local buffer that captures all of the audio data before sending. In general, you get better performance if you stream audio data rather than buffering the data locally.-pcInputStream :: Lens' PostContent HashedBody-pcInputStream = lens _pcInputStream (\ s a -> s{_pcInputStream = a})--instance AWSRequest PostContent where-        type Rs PostContent = PostContentResponse-        request = postBody lexRuntime-        response-          = receiveBody-              (\ s h x ->-                 PostContentResponse' <$>-                   (h .#? "x-amz-lex-slots") <*>-                     (h .#? "x-amz-lex-intent-name")-                     <*> (h .#? "x-amz-lex-dialog-state")-                     <*> (h .#? "x-amz-lex-input-transcript")-                     <*> (h .#? "x-amz-lex-message-format")-                     <*> (h .#? "x-amz-lex-message")-                     <*> (h .#? "x-amz-lex-slot-to-elicit")-                     <*> (h .#? "Content-Type")-                     <*> (h .#? "x-amz-lex-session-attributes")-                     <*> (pure (fromEnum s))-                     <*> (pure x))--instance ToBody PostContent where-        toBody = toBody . _pcInputStream--instance ToHeaders PostContent where-        toHeaders PostContent'{..}-          = mconcat-              ["Accept" =# _pcAccept,-               "x-amz-lex-request-attributes" =#-                 _pcRequestAttributes,-               "x-amz-lex-session-attributes" =#-                 _pcSessionAttributes,-               "Content-Type" =# _pcContentType]--instance ToPath PostContent where-        toPath PostContent'{..}-          = mconcat-              ["/bot/", toBS _pcBotName, "/alias/",-               toBS _pcBotAlias, "/user/", toBS _pcUserId,-               "/content"]--instance ToQuery PostContent where-        toQuery = const mempty---- | /See:/ 'postContentResponse' smart constructor.-data PostContentResponse = PostContentResponse'-  { _pcrsSlots             :: !(Maybe Text)-  , _pcrsIntentName        :: !(Maybe Text)-  , _pcrsDialogState       :: !(Maybe DialogState)-  , _pcrsInputTranscript   :: !(Maybe Text)-  , _pcrsMessageFormat     :: !(Maybe MessageFormatType)-  , _pcrsMessage           :: !(Maybe (Sensitive Text))-  , _pcrsSlotToElicit      :: !(Maybe Text)-  , _pcrsContentType       :: !(Maybe Text)-  , _pcrsSessionAttributes :: !(Maybe Text)-  , _pcrsResponseStatus    :: !Int-  , _pcrsAudioStream       :: !RsBody-  } deriving (Show, Generic)----- | Creates a value of 'PostContentResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcrsSlots' - Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input during the conversation. Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the @valueSelectionStrategy@ selected when the slot type was created or updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@ , the value provided by the user is returned, if the user value is similar to the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@ Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a @valueSelectionStrategy@ , the default is @ORIGINAL_VALUE@ .------ * 'pcrsIntentName' - Current user intent that Amazon Lex is aware of.------ * 'pcrsDialogState' - Identifies the current state of the user interaction. Amazon Lex returns one of the following values as @dialogState@ . The client can optionally use this information to customize the user interface.      * @ElicitIntent@ - Amazon Lex wants to elicit the user's intent. Consider the following examples:  For example, a user might utter an intent ("I want to order a pizza"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialog state.      * @ConfirmIntent@ - Amazon Lex is expecting a "yes" or "no" response.  For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a simple "yes" or "no" response, a user might respond with additional information. For example, "yes, but make it a thick crust pizza" or "no, I want to order a drink." Amazon Lex can process such additional information (in these examples, update the crust type slot or change the intent from OrderPizza to OrderDrink).      * @ElicitSlot@ - Amazon Lex is expecting the value of a slot for the current intent.  For example, suppose that in the response Amazon Lex sends this message: "What size pizza would you like?". A user might reply with the slot value (e.g., "medium"). The user might also provide additional information in the response (e.g., "medium thick crust pizza"). Amazon Lex can process such additional information appropriately.      * @Fulfilled@ - Conveys that the Lambda function has successfully fulfilled the intent.      * @ReadyForFulfillment@ - Conveys that the client has to fulfill the request.      * @Failed@ - Conveys that the conversation with the user failed.  This can happen for various reasons, including that the user does not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or if the Lambda function fails to fulfill the intent.------ * 'pcrsInputTranscript' - The text used to process the request. If the input was an audio stream, the @inputTranscript@ field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.------ * 'pcrsMessageFormat' - The format of the response message. One of the following values:     * @PlainText@ - The message contains plain UTF-8 text.     * @CustomPayload@ - The message is a custom format for the client.     * @SSML@ - The message contains text formatted for voice output.     * @Composite@ - The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.------ * 'pcrsMessage' - The message to convey to the user. The message can come from the bot's configuration or from a Lambda function. If the intent is not configured with a Lambda function, or if the Lambda function returned @Delegate@ as the @dialogAction.type@ its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message. When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see 'msg-prompts-formats' . If the Lambda function returns a message, Amazon Lex passes it to the client in its response.------ * 'pcrsSlotToElicit' - If the @dialogState@ value is @ElicitSlot@ , returns the name of the slot for which Amazon Lex is eliciting a value.------ * 'pcrsContentType' - Content type as specified in the @Accept@ HTTP header in the request.------ * 'pcrsSessionAttributes' - Map of key/value pairs representing the session-specific context information.------ * 'pcrsResponseStatus' - -- | The response status code.------ * 'pcrsAudioStream' - The prompt (or statement) to convey to the user. This is based on the bot configuration and context. For example, if Amazon Lex did not understand the user intent, it sends the @clarificationPrompt@ configured for the bot. If the intent requires confirmation before taking the fulfillment action, it sends the @confirmationPrompt@ . Another example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message to convey to the user. Then Amazon Lex sends that message in the response.-postContentResponse-    :: Int -- ^ 'pcrsResponseStatus'-    -> RsBody -- ^ 'pcrsAudioStream'-    -> PostContentResponse-postContentResponse pResponseStatus_ pAudioStream_ =-  PostContentResponse'-    { _pcrsSlots = Nothing-    , _pcrsIntentName = Nothing-    , _pcrsDialogState = Nothing-    , _pcrsInputTranscript = Nothing-    , _pcrsMessageFormat = Nothing-    , _pcrsMessage = Nothing-    , _pcrsSlotToElicit = Nothing-    , _pcrsContentType = Nothing-    , _pcrsSessionAttributes = Nothing-    , _pcrsResponseStatus = pResponseStatus_-    , _pcrsAudioStream = pAudioStream_-    }----- | Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input during the conversation. Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the @valueSelectionStrategy@ selected when the slot type was created or updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@ , the value provided by the user is returned, if the user value is similar to the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@ Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a @valueSelectionStrategy@ , the default is @ORIGINAL_VALUE@ .-pcrsSlots :: Lens' PostContentResponse (Maybe Text)-pcrsSlots = lens _pcrsSlots (\ s a -> s{_pcrsSlots = a})---- | Current user intent that Amazon Lex is aware of.-pcrsIntentName :: Lens' PostContentResponse (Maybe Text)-pcrsIntentName = lens _pcrsIntentName (\ s a -> s{_pcrsIntentName = a})---- | Identifies the current state of the user interaction. Amazon Lex returns one of the following values as @dialogState@ . The client can optionally use this information to customize the user interface.      * @ElicitIntent@ - Amazon Lex wants to elicit the user's intent. Consider the following examples:  For example, a user might utter an intent ("I want to order a pizza"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialog state.      * @ConfirmIntent@ - Amazon Lex is expecting a "yes" or "no" response.  For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a simple "yes" or "no" response, a user might respond with additional information. For example, "yes, but make it a thick crust pizza" or "no, I want to order a drink." Amazon Lex can process such additional information (in these examples, update the crust type slot or change the intent from OrderPizza to OrderDrink).      * @ElicitSlot@ - Amazon Lex is expecting the value of a slot for the current intent.  For example, suppose that in the response Amazon Lex sends this message: "What size pizza would you like?". A user might reply with the slot value (e.g., "medium"). The user might also provide additional information in the response (e.g., "medium thick crust pizza"). Amazon Lex can process such additional information appropriately.      * @Fulfilled@ - Conveys that the Lambda function has successfully fulfilled the intent.      * @ReadyForFulfillment@ - Conveys that the client has to fulfill the request.      * @Failed@ - Conveys that the conversation with the user failed.  This can happen for various reasons, including that the user does not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or if the Lambda function fails to fulfill the intent.-pcrsDialogState :: Lens' PostContentResponse (Maybe DialogState)-pcrsDialogState = lens _pcrsDialogState (\ s a -> s{_pcrsDialogState = a})---- | The text used to process the request. If the input was an audio stream, the @inputTranscript@ field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.-pcrsInputTranscript :: Lens' PostContentResponse (Maybe Text)-pcrsInputTranscript = lens _pcrsInputTranscript (\ s a -> s{_pcrsInputTranscript = a})---- | The format of the response message. One of the following values:     * @PlainText@ - The message contains plain UTF-8 text.     * @CustomPayload@ - The message is a custom format for the client.     * @SSML@ - The message contains text formatted for voice output.     * @Composite@ - The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.-pcrsMessageFormat :: Lens' PostContentResponse (Maybe MessageFormatType)-pcrsMessageFormat = lens _pcrsMessageFormat (\ s a -> s{_pcrsMessageFormat = a})---- | The message to convey to the user. The message can come from the bot's configuration or from a Lambda function. If the intent is not configured with a Lambda function, or if the Lambda function returned @Delegate@ as the @dialogAction.type@ its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message. When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see 'msg-prompts-formats' . If the Lambda function returns a message, Amazon Lex passes it to the client in its response.-pcrsMessage :: Lens' PostContentResponse (Maybe Text)-pcrsMessage = lens _pcrsMessage (\ s a -> s{_pcrsMessage = a}) . mapping _Sensitive---- | If the @dialogState@ value is @ElicitSlot@ , returns the name of the slot for which Amazon Lex is eliciting a value.-pcrsSlotToElicit :: Lens' PostContentResponse (Maybe Text)-pcrsSlotToElicit = lens _pcrsSlotToElicit (\ s a -> s{_pcrsSlotToElicit = a})---- | Content type as specified in the @Accept@ HTTP header in the request.-pcrsContentType :: Lens' PostContentResponse (Maybe Text)-pcrsContentType = lens _pcrsContentType (\ s a -> s{_pcrsContentType = a})---- | Map of key/value pairs representing the session-specific context information.-pcrsSessionAttributes :: Lens' PostContentResponse (Maybe Text)-pcrsSessionAttributes = lens _pcrsSessionAttributes (\ s a -> s{_pcrsSessionAttributes = a})---- | -- | The response status code.-pcrsResponseStatus :: Lens' PostContentResponse Int-pcrsResponseStatus = lens _pcrsResponseStatus (\ s a -> s{_pcrsResponseStatus = a})---- | The prompt (or statement) to convey to the user. This is based on the bot configuration and context. For example, if Amazon Lex did not understand the user intent, it sends the @clarificationPrompt@ configured for the bot. If the intent requires confirmation before taking the fulfillment action, it sends the @confirmationPrompt@ . Another example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message to convey to the user. Then Amazon Lex sends that message in the response.-pcrsAudioStream :: Lens' PostContentResponse RsBody-pcrsAudioStream = lens _pcrsAudioStream (\ s a -> s{_pcrsAudioStream = a})
− gen/Network/AWS/LexRuntime/PostText.hs
@@ -1,290 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.LexRuntime.PostText--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sends user input (text-only) to Amazon Lex. Client applications can use this API to send requests to Amazon Lex at runtime. Amazon Lex then interprets the user input using the machine learning model it built for the bot.--------- In response, Amazon Lex returns the next @message@ to convey to the user an optional @responseCard@ to display. Consider the following example messages:------     * For a user input "I would like a pizza", Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): "What size pizza would you like?"------     * After the user provides all of the pizza order information, Amazon Lex might return a response with a message to obtain user confirmation "Proceed with the pizza order?".------     * After the user replies to a confirmation prompt with a "yes", Amazon Lex might return a conclusion statement: "Thank you, your cheese pizza has been ordered.".------------ Not all Amazon Lex messages require a user response. For example, a conclusion statement does not require a response. Some messages require only a "yes" or "no" user response. In addition to the @message@ , Amazon Lex provides additional context about the message in the response that you might use to enhance client behavior, for example, to display the appropriate client user interface. These are the @slotToElicit@ , @dialogState@ , @intentName@ , and @slots@ fields in the response. Consider the following examples:------     * If the message is to elicit slot data, Amazon Lex returns the following context information:------     * @dialogState@ set to ElicitSlot------     * @intentName@ set to the intent name in the current context------     * @slotToElicit@ set to the slot name for which the @message@ is eliciting information------     * @slots@ set to a map of slots, configured for the intent, with currently known values------------     * If the message is a confirmation prompt, the @dialogState@ is set to ConfirmIntent and @SlotToElicit@ is set to null.------     * If the message is a clarification prompt (configured for the intent) that indicates that user intent is not understood, the @dialogState@ is set to ElicitIntent and @slotToElicit@ is set to null.------------ In addition, Amazon Lex also returns your application-specific @sessionAttributes@ . For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html Managing Conversation Context> .----module Network.AWS.LexRuntime.PostText-    (-    -- * Creating a Request-      postText-    , PostText-    -- * Request Lenses-    , ptRequestAttributes-    , ptSessionAttributes-    , ptBotName-    , ptBotAlias-    , ptUserId-    , ptInputText--    -- * Destructuring the Response-    , postTextResponse-    , PostTextResponse-    -- * Response Lenses-    , ptrsSlots-    , ptrsResponseCard-    , ptrsIntentName-    , ptrsDialogState-    , ptrsMessageFormat-    , ptrsMessage-    , ptrsSlotToElicit-    , ptrsSessionAttributes-    , ptrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.LexRuntime.Types-import Network.AWS.LexRuntime.Types.Product-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | /See:/ 'postText' smart constructor.-data PostText = PostText'-  { _ptRequestAttributes :: !(Maybe (Sensitive (Map Text Text)))-  , _ptSessionAttributes :: !(Maybe (Sensitive (Map Text Text)))-  , _ptBotName           :: !Text-  , _ptBotAlias          :: !Text-  , _ptUserId            :: !Text-  , _ptInputText         :: !(Sensitive Text)-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PostText' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ptRequestAttributes' - Request-specific information passed between Amazon Lex and a client application. The namespace @x-amz-lex:@ is reserved for special attributes. Don't create any request attributes with the prefix @x-amz-lex:@ . For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes> .------ * 'ptSessionAttributes' - Application-specific information passed between Amazon Lex and a client application. For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes> .------ * 'ptBotName' - The name of the Amazon Lex bot.------ * 'ptBotAlias' - The alias of the Amazon Lex bot.------ * 'ptUserId' - The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the @userID@ field. To decide the user ID to use for your application, consider the following factors.     * The @userID@ field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.     * If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.     * If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.     * A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.------ * 'ptInputText' - The text that the user entered (Amazon Lex interprets this text).-postText-    :: Text -- ^ 'ptBotName'-    -> Text -- ^ 'ptBotAlias'-    -> Text -- ^ 'ptUserId'-    -> Text -- ^ 'ptInputText'-    -> PostText-postText pBotName_ pBotAlias_ pUserId_ pInputText_ =-  PostText'-    { _ptRequestAttributes = Nothing-    , _ptSessionAttributes = Nothing-    , _ptBotName = pBotName_-    , _ptBotAlias = pBotAlias_-    , _ptUserId = pUserId_-    , _ptInputText = _Sensitive # pInputText_-    }----- | Request-specific information passed between Amazon Lex and a client application. The namespace @x-amz-lex:@ is reserved for special attributes. Don't create any request attributes with the prefix @x-amz-lex:@ . For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs Setting Request Attributes> .-ptRequestAttributes :: Lens' PostText (Maybe (HashMap Text Text))-ptRequestAttributes = lens _ptRequestAttributes (\ s a -> s{_ptRequestAttributes = a}) . mapping (_Sensitive . _Map)---- | Application-specific information passed between Amazon Lex and a client application. For more information, see <http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs Setting Session Attributes> .-ptSessionAttributes :: Lens' PostText (Maybe (HashMap Text Text))-ptSessionAttributes = lens _ptSessionAttributes (\ s a -> s{_ptSessionAttributes = a}) . mapping (_Sensitive . _Map)---- | The name of the Amazon Lex bot.-ptBotName :: Lens' PostText Text-ptBotName = lens _ptBotName (\ s a -> s{_ptBotName = a})---- | The alias of the Amazon Lex bot.-ptBotAlias :: Lens' PostText Text-ptBotAlias = lens _ptBotAlias (\ s a -> s{_ptBotAlias = a})---- | The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the @userID@ field. To decide the user ID to use for your application, consider the following factors.     * The @userID@ field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.     * If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.     * If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.     * A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.-ptUserId :: Lens' PostText Text-ptUserId = lens _ptUserId (\ s a -> s{_ptUserId = a})---- | The text that the user entered (Amazon Lex interprets this text).-ptInputText :: Lens' PostText Text-ptInputText = lens _ptInputText (\ s a -> s{_ptInputText = a}) . _Sensitive--instance AWSRequest PostText where-        type Rs PostText = PostTextResponse-        request = postJSON lexRuntime-        response-          = receiveJSON-              (\ s h x ->-                 PostTextResponse' <$>-                   (x .?> "slots" .!@ mempty) <*> (x .?> "responseCard")-                     <*> (x .?> "intentName")-                     <*> (x .?> "dialogState")-                     <*> (x .?> "messageFormat")-                     <*> (x .?> "message")-                     <*> (x .?> "slotToElicit")-                     <*> (x .?> "sessionAttributes" .!@ mempty)-                     <*> (pure (fromEnum s)))--instance Hashable PostText where--instance NFData PostText where--instance ToHeaders PostText where-        toHeaders-          = const-              (mconcat-                 ["Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON PostText where-        toJSON PostText'{..}-          = object-              (catMaybes-                 [("requestAttributes" .=) <$> _ptRequestAttributes,-                  ("sessionAttributes" .=) <$> _ptSessionAttributes,-                  Just ("inputText" .= _ptInputText)])--instance ToPath PostText where-        toPath PostText'{..}-          = mconcat-              ["/bot/", toBS _ptBotName, "/alias/",-               toBS _ptBotAlias, "/user/", toBS _ptUserId, "/text"]--instance ToQuery PostText where-        toQuery = const mempty---- | /See:/ 'postTextResponse' smart constructor.-data PostTextResponse = PostTextResponse'-  { _ptrsSlots             :: !(Maybe (Sensitive (Map Text Text)))-  , _ptrsResponseCard      :: !(Maybe ResponseCard)-  , _ptrsIntentName        :: !(Maybe Text)-  , _ptrsDialogState       :: !(Maybe DialogState)-  , _ptrsMessageFormat     :: !(Maybe MessageFormatType)-  , _ptrsMessage           :: !(Maybe (Sensitive Text))-  , _ptrsSlotToElicit      :: !(Maybe Text)-  , _ptrsSessionAttributes :: !(Maybe (Sensitive (Map Text Text)))-  , _ptrsResponseStatus    :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PostTextResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ptrsSlots' - The intent slots that Amazon Lex detected from the user input in the conversation.  Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the @valueSelectionStrategy@ selected when the slot type was created or updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@ , the value provided by the user is returned, if the user value is similar to the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@ Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a @valueSelectionStrategy@ , the default is @ORIGINAL_VALUE@ .------ * 'ptrsResponseCard' - Represents the options that the user has to respond to the current prompt. Response Card can come from the bot configuration (in the Amazon Lex console, choose the settings button next to a slot) or from a code hook (Lambda function).------ * 'ptrsIntentName' - The current user intent that Amazon Lex is aware of.------ * 'ptrsDialogState' - Identifies the current state of the user interaction. Amazon Lex returns one of the following values as @dialogState@ . The client can optionally use this information to customize the user interface.      * @ElicitIntent@ - Amazon Lex wants to elicit user intent.  For example, a user might utter an intent ("I want to order a pizza"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialogState.     * @ConfirmIntent@ - Amazon Lex is expecting a "yes" or "no" response.  For example, Amazon Lex wants user confirmation before fulfilling an intent.  Instead of a simple "yes" or "no," a user might respond with additional information. For example, "yes, but make it thick crust pizza" or "no, I want to order a drink". Amazon Lex can process such additional information (in these examples, update the crust type slot value, or change intent from OrderPizza to OrderDrink).     * @ElicitSlot@ - Amazon Lex is expecting a slot value for the current intent.  For example, suppose that in the response Amazon Lex sends this message: "What size pizza would you like?". A user might reply with the slot value (e.g., "medium"). The user might also provide additional information in the response (e.g., "medium thick crust pizza"). Amazon Lex can process such additional information appropriately.      * @Fulfilled@ - Conveys that the Lambda function configured for the intent has successfully fulfilled the intent.      * @ReadyForFulfillment@ - Conveys that the client has to fulfill the intent.      * @Failed@ - Conveys that the conversation with the user failed.  This can happen for various reasons including that the user did not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or the Lambda function failed to fulfill the intent.------ * 'ptrsMessageFormat' - The format of the response message. One of the following values:     * @PlainText@ - The message contains plain UTF-8 text.     * @CustomPayload@ - The message is a custom format defined by the Lambda function.     * @SSML@ - The message contains text formatted for voice output.     * @Composite@ - The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.------ * 'ptrsMessage' - The message to convey to the user. The message can come from the bot's configuration or from a Lambda function. If the intent is not configured with a Lambda function, or if the Lambda function returned @Delegate@ as the @dialogAction.type@ its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message. When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see 'msg-prompts-formats' . If the Lambda function returns a message, Amazon Lex passes it to the client in its response.------ * 'ptrsSlotToElicit' - If the @dialogState@ value is @ElicitSlot@ , returns the name of the slot for which Amazon Lex is eliciting a value.------ * 'ptrsSessionAttributes' - A map of key-value pairs representing the session-specific context information.------ * 'ptrsResponseStatus' - -- | The response status code.-postTextResponse-    :: Int -- ^ 'ptrsResponseStatus'-    -> PostTextResponse-postTextResponse pResponseStatus_ =-  PostTextResponse'-    { _ptrsSlots = Nothing-    , _ptrsResponseCard = Nothing-    , _ptrsIntentName = Nothing-    , _ptrsDialogState = Nothing-    , _ptrsMessageFormat = Nothing-    , _ptrsMessage = Nothing-    , _ptrsSlotToElicit = Nothing-    , _ptrsSessionAttributes = Nothing-    , _ptrsResponseStatus = pResponseStatus_-    }----- | The intent slots that Amazon Lex detected from the user input in the conversation.  Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the @valueSelectionStrategy@ selected when the slot type was created or updated. If @valueSelectionStrategy@ is set to @ORIGINAL_VALUE@ , the value provided by the user is returned, if the user value is similar to the slot values. If @valueSelectionStrategy@ is set to @TOP_RESOLUTION@ Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a @valueSelectionStrategy@ , the default is @ORIGINAL_VALUE@ .-ptrsSlots :: Lens' PostTextResponse (Maybe (HashMap Text Text))-ptrsSlots = lens _ptrsSlots (\ s a -> s{_ptrsSlots = a}) . mapping (_Sensitive . _Map)---- | Represents the options that the user has to respond to the current prompt. Response Card can come from the bot configuration (in the Amazon Lex console, choose the settings button next to a slot) or from a code hook (Lambda function).-ptrsResponseCard :: Lens' PostTextResponse (Maybe ResponseCard)-ptrsResponseCard = lens _ptrsResponseCard (\ s a -> s{_ptrsResponseCard = a})---- | The current user intent that Amazon Lex is aware of.-ptrsIntentName :: Lens' PostTextResponse (Maybe Text)-ptrsIntentName = lens _ptrsIntentName (\ s a -> s{_ptrsIntentName = a})---- | Identifies the current state of the user interaction. Amazon Lex returns one of the following values as @dialogState@ . The client can optionally use this information to customize the user interface.      * @ElicitIntent@ - Amazon Lex wants to elicit user intent.  For example, a user might utter an intent ("I want to order a pizza"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialogState.     * @ConfirmIntent@ - Amazon Lex is expecting a "yes" or "no" response.  For example, Amazon Lex wants user confirmation before fulfilling an intent.  Instead of a simple "yes" or "no," a user might respond with additional information. For example, "yes, but make it thick crust pizza" or "no, I want to order a drink". Amazon Lex can process such additional information (in these examples, update the crust type slot value, or change intent from OrderPizza to OrderDrink).     * @ElicitSlot@ - Amazon Lex is expecting a slot value for the current intent.  For example, suppose that in the response Amazon Lex sends this message: "What size pizza would you like?". A user might reply with the slot value (e.g., "medium"). The user might also provide additional information in the response (e.g., "medium thick crust pizza"). Amazon Lex can process such additional information appropriately.      * @Fulfilled@ - Conveys that the Lambda function configured for the intent has successfully fulfilled the intent.      * @ReadyForFulfillment@ - Conveys that the client has to fulfill the intent.      * @Failed@ - Conveys that the conversation with the user failed.  This can happen for various reasons including that the user did not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or the Lambda function failed to fulfill the intent.-ptrsDialogState :: Lens' PostTextResponse (Maybe DialogState)-ptrsDialogState = lens _ptrsDialogState (\ s a -> s{_ptrsDialogState = a})---- | The format of the response message. One of the following values:     * @PlainText@ - The message contains plain UTF-8 text.     * @CustomPayload@ - The message is a custom format defined by the Lambda function.     * @SSML@ - The message contains text formatted for voice output.     * @Composite@ - The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.-ptrsMessageFormat :: Lens' PostTextResponse (Maybe MessageFormatType)-ptrsMessageFormat = lens _ptrsMessageFormat (\ s a -> s{_ptrsMessageFormat = a})---- | The message to convey to the user. The message can come from the bot's configuration or from a Lambda function. If the intent is not configured with a Lambda function, or if the Lambda function returned @Delegate@ as the @dialogAction.type@ its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message. When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see 'msg-prompts-formats' . If the Lambda function returns a message, Amazon Lex passes it to the client in its response.-ptrsMessage :: Lens' PostTextResponse (Maybe Text)-ptrsMessage = lens _ptrsMessage (\ s a -> s{_ptrsMessage = a}) . mapping _Sensitive---- | If the @dialogState@ value is @ElicitSlot@ , returns the name of the slot for which Amazon Lex is eliciting a value.-ptrsSlotToElicit :: Lens' PostTextResponse (Maybe Text)-ptrsSlotToElicit = lens _ptrsSlotToElicit (\ s a -> s{_ptrsSlotToElicit = a})---- | A map of key-value pairs representing the session-specific context information.-ptrsSessionAttributes :: Lens' PostTextResponse (Maybe (HashMap Text Text))-ptrsSessionAttributes = lens _ptrsSessionAttributes (\ s a -> s{_ptrsSessionAttributes = a}) . mapping (_Sensitive . _Map)---- | -- | The response status code.-ptrsResponseStatus :: Lens' PostTextResponse Int-ptrsResponseStatus = lens _ptrsResponseStatus (\ s a -> s{_ptrsResponseStatus = a})--instance NFData PostTextResponse where
− gen/Network/AWS/LexRuntime/Types.hs
@@ -1,202 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.LexRuntime.Types--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.LexRuntime.Types-    (-    -- * Service Configuration-      lexRuntime--    -- * Errors-    , _NotAcceptableException-    , _DependencyFailedException-    , _UnsupportedMediaTypeException-    , _ConflictException-    , _NotFoundException-    , _RequestTimeoutException-    , _LoopDetectedException-    , _InternalFailureException-    , _BadGatewayException-    , _BadRequestException-    , _LimitExceededException--    -- * ContentType-    , ContentType (..)--    -- * DialogState-    , DialogState (..)--    -- * MessageFormatType-    , MessageFormatType (..)--    -- * Button-    , Button-    , button-    , bText-    , bValue--    -- * GenericAttachment-    , GenericAttachment-    , genericAttachment-    , gaButtons-    , gaSubTitle-    , gaImageURL-    , gaAttachmentLinkURL-    , gaTitle--    -- * ResponseCard-    , ResponseCard-    , responseCard-    , rcGenericAttachments-    , rcVersion-    , rcContentType-    ) where--import Network.AWS.Lens-import Network.AWS.LexRuntime.Types.Product-import Network.AWS.LexRuntime.Types.Sum-import Network.AWS.Prelude-import Network.AWS.Sign.V4---- | API version @2016-11-28@ of the Amazon Lex Runtime Service SDK configuration.-lexRuntime :: Service-lexRuntime =-  Service-    { _svcAbbrev = "LexRuntime"-    , _svcSigner = v4-    , _svcPrefix = "runtime.lex"-    , _svcVersion = "2016-11-28"-    , _svcEndpoint = defaultEndpoint lexRuntime-    , _svcTimeout = Just 70-    , _svcCheck = statusSuccess-    , _svcError = parseJSONError "LexRuntime"-    , _svcRetry = retry-    }-  where-    retry =-      Exponential-        { _retryBase = 5.0e-2-        , _retryGrowth = 2-        , _retryAttempts = 5-        , _retryCheck = check-        }-    check e-      | has (hasCode "ThrottledException" . hasStatus 400) e =-        Just "throttled_exception"-      | has (hasStatus 429) e = Just "too_many_requests"-      | has (hasCode "ThrottlingException" . hasStatus 400) e =-        Just "throttling_exception"-      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"-      | has (hasStatus 504) e = Just "gateway_timeout"-      | has (hasCode "RequestThrottledException" . hasStatus 400) e =-        Just "request_throttled_exception"-      | has (hasStatus 502) e = Just "bad_gateway"-      | has (hasStatus 503) e = Just "service_unavailable"-      | has (hasStatus 500) e = Just "general_server_error"-      | has (hasStatus 509) e = Just "limit_exceeded"-      | otherwise = Nothing----- | The accept header in the request does not have a valid value.-------_NotAcceptableException :: AsError a => Getting (First ServiceError) a ServiceError-_NotAcceptableException =-  _MatchServiceError lexRuntime "NotAcceptableException" . hasStatus 406----- | One of the dependencies, such as AWS Lambda or Amazon Polly, threw an exception. For example,---------     * If Amazon Lex does not have sufficient permissions to call a Lambda function.------     * If a Lambda function takes longer than 30 seconds to execute.------     * If a fulfillment Lambda function returns a @Delegate@ dialog action without removing any slot values.----------_DependencyFailedException :: AsError a => Getting (First ServiceError) a ServiceError-_DependencyFailedException =-  _MatchServiceError lexRuntime "DependencyFailedException" . hasStatus 424----- | The Content-Type header (@PostContent@ API) has an invalid value.-------_UnsupportedMediaTypeException :: AsError a => Getting (First ServiceError) a ServiceError-_UnsupportedMediaTypeException =-  _MatchServiceError lexRuntime "UnsupportedMediaTypeException" . hasStatus 415----- | Two clients are using the same AWS account, Amazon Lex bot, and user ID.-------_ConflictException :: AsError a => Getting (First ServiceError) a ServiceError-_ConflictException =-  _MatchServiceError lexRuntime "ConflictException" . hasStatus 409----- | The resource (such as the Amazon Lex bot or an alias) that is referred to is not found.-------_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError-_NotFoundException =-  _MatchServiceError lexRuntime "NotFoundException" . hasStatus 404----- | The input speech is too long.-------_RequestTimeoutException :: AsError a => Getting (First ServiceError) a ServiceError-_RequestTimeoutException =-  _MatchServiceError lexRuntime "RequestTimeoutException" . hasStatus 408----- | This exception is not used.-------_LoopDetectedException :: AsError a => Getting (First ServiceError) a ServiceError-_LoopDetectedException =-  _MatchServiceError lexRuntime "LoopDetectedException" . hasStatus 508----- | Internal service error. Retry the call.-------_InternalFailureException :: AsError a => Getting (First ServiceError) a ServiceError-_InternalFailureException =-  _MatchServiceError lexRuntime "InternalFailureException" . hasStatus 500----- | Either the Amazon Lex bot is still building, or one of the dependent services (Amazon Polly, AWS Lambda) failed with an internal service error.-------_BadGatewayException :: AsError a => Getting (First ServiceError) a ServiceError-_BadGatewayException =-  _MatchServiceError lexRuntime "BadGatewayException" . hasStatus 502----- | Request validation failed, there is no usable message in the context, or the bot build failed, is still in progress, or contains unbuilt changes.-------_BadRequestException :: AsError a => Getting (First ServiceError) a ServiceError-_BadRequestException =-  _MatchServiceError lexRuntime "BadRequestException" . hasStatus 400----- | Exceeded a limit.-------_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError-_LimitExceededException =-  _MatchServiceError lexRuntime "LimitExceededException" . hasStatus 429-
− gen/Network/AWS/LexRuntime/Types/Product.hs
@@ -1,193 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.LexRuntime.Types.Product--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.LexRuntime.Types.Product where--import Network.AWS.Lens-import Network.AWS.LexRuntime.Types.Sum-import Network.AWS.Prelude---- | Represents an option to be shown on the client platform (Facebook, Slack, etc.)------------ /See:/ 'button' smart constructor.-data Button = Button'-  { _bText  :: !Text-  , _bValue :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Button' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bText' - Text that is visible to the user on the button.------ * 'bValue' - The value sent to Amazon Lex when a user chooses the button. For example, consider button text "NYC." When the user chooses the button, the value sent can be "New York City."-button-    :: Text -- ^ 'bText'-    -> Text -- ^ 'bValue'-    -> Button-button pText_ pValue_ = Button' {_bText = pText_, _bValue = pValue_}----- | Text that is visible to the user on the button.-bText :: Lens' Button Text-bText = lens _bText (\ s a -> s{_bText = a})---- | The value sent to Amazon Lex when a user chooses the button. For example, consider button text "NYC." When the user chooses the button, the value sent can be "New York City."-bValue :: Lens' Button Text-bValue = lens _bValue (\ s a -> s{_bValue = a})--instance FromJSON Button where-        parseJSON-          = withObject "Button"-              (\ x -> Button' <$> (x .: "text") <*> (x .: "value"))--instance Hashable Button where--instance NFData Button where---- | Represents an option rendered to the user when a prompt is shown. It could be an image, a button, a link, or text.------------ /See:/ 'genericAttachment' smart constructor.-data GenericAttachment = GenericAttachment'-  { _gaButtons           :: !(Maybe [Button])-  , _gaSubTitle          :: !(Maybe Text)-  , _gaImageURL          :: !(Maybe Text)-  , _gaAttachmentLinkURL :: !(Maybe Text)-  , _gaTitle             :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GenericAttachment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gaButtons' - The list of options to show to the user.------ * 'gaSubTitle' - The subtitle shown below the title.------ * 'gaImageURL' - The URL of an image that is displayed to the user.------ * 'gaAttachmentLinkURL' - The URL of an attachment to the response card.------ * 'gaTitle' - The title of the option.-genericAttachment-    :: GenericAttachment-genericAttachment =-  GenericAttachment'-    { _gaButtons = Nothing-    , _gaSubTitle = Nothing-    , _gaImageURL = Nothing-    , _gaAttachmentLinkURL = Nothing-    , _gaTitle = Nothing-    }----- | The list of options to show to the user.-gaButtons :: Lens' GenericAttachment [Button]-gaButtons = lens _gaButtons (\ s a -> s{_gaButtons = a}) . _Default . _Coerce---- | The subtitle shown below the title.-gaSubTitle :: Lens' GenericAttachment (Maybe Text)-gaSubTitle = lens _gaSubTitle (\ s a -> s{_gaSubTitle = a})---- | The URL of an image that is displayed to the user.-gaImageURL :: Lens' GenericAttachment (Maybe Text)-gaImageURL = lens _gaImageURL (\ s a -> s{_gaImageURL = a})---- | The URL of an attachment to the response card.-gaAttachmentLinkURL :: Lens' GenericAttachment (Maybe Text)-gaAttachmentLinkURL = lens _gaAttachmentLinkURL (\ s a -> s{_gaAttachmentLinkURL = a})---- | The title of the option.-gaTitle :: Lens' GenericAttachment (Maybe Text)-gaTitle = lens _gaTitle (\ s a -> s{_gaTitle = a})--instance FromJSON GenericAttachment where-        parseJSON-          = withObject "GenericAttachment"-              (\ x ->-                 GenericAttachment' <$>-                   (x .:? "buttons" .!= mempty) <*> (x .:? "subTitle")-                     <*> (x .:? "imageUrl")-                     <*> (x .:? "attachmentLinkUrl")-                     <*> (x .:? "title"))--instance Hashable GenericAttachment where--instance NFData GenericAttachment where---- | If you configure a response card when creating your bots, Amazon Lex substitutes the session attributes and slot values that are available, and then returns it. The response card can also come from a Lambda function ( @dialogCodeHook@ and @fulfillmentActivity@ on an intent).------------ /See:/ 'responseCard' smart constructor.-data ResponseCard = ResponseCard'-  { _rcGenericAttachments :: !(Maybe [GenericAttachment])-  , _rcVersion            :: !(Maybe Text)-  , _rcContentType        :: !(Maybe ContentType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ResponseCard' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcGenericAttachments' - An array of attachment objects representing options.------ * 'rcVersion' - The version of the response card format.------ * 'rcContentType' - The content type of the response.-responseCard-    :: ResponseCard-responseCard =-  ResponseCard'-    { _rcGenericAttachments = Nothing-    , _rcVersion = Nothing-    , _rcContentType = Nothing-    }----- | An array of attachment objects representing options.-rcGenericAttachments :: Lens' ResponseCard [GenericAttachment]-rcGenericAttachments = lens _rcGenericAttachments (\ s a -> s{_rcGenericAttachments = a}) . _Default . _Coerce---- | The version of the response card format.-rcVersion :: Lens' ResponseCard (Maybe Text)-rcVersion = lens _rcVersion (\ s a -> s{_rcVersion = a})---- | The content type of the response.-rcContentType :: Lens' ResponseCard (Maybe ContentType)-rcContentType = lens _rcContentType (\ s a -> s{_rcContentType = a})--instance FromJSON ResponseCard where-        parseJSON-          = withObject "ResponseCard"-              (\ x ->-                 ResponseCard' <$>-                   (x .:? "genericAttachments" .!= mempty) <*>-                     (x .:? "version")-                     <*> (x .:? "contentType"))--instance Hashable ResponseCard where--instance NFData ResponseCard where
− gen/Network/AWS/LexRuntime/Types/Sum.hs
@@ -1,116 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.LexRuntime.Types.Sum--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.LexRuntime.Types.Sum where--import Network.AWS.Prelude--data ContentType =-  ApplicationVnd_Amazonaws_Card_Generic-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ContentType where-    parser = takeLowerText >>= \case-        "application/vnd.amazonaws.card.generic" -> pure ApplicationVnd_Amazonaws_Card_Generic-        e -> fromTextError $ "Failure parsing ContentType from value: '" <> e-           <> "'. Accepted values: application/vnd.amazonaws.card.generic"--instance ToText ContentType where-    toText = \case-        ApplicationVnd_Amazonaws_Card_Generic -> "application/vnd.amazonaws.card.generic"--instance Hashable     ContentType-instance NFData       ContentType-instance ToByteString ContentType-instance ToQuery      ContentType-instance ToHeader     ContentType--instance FromJSON ContentType where-    parseJSON = parseJSONText "ContentType"--data DialogState-  = ConfirmIntent-  | ElicitIntent-  | ElicitSlot-  | Failed-  | Fulfilled-  | ReadyForFulfillment-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText DialogState where-    parser = takeLowerText >>= \case-        "confirmintent" -> pure ConfirmIntent-        "elicitintent" -> pure ElicitIntent-        "elicitslot" -> pure ElicitSlot-        "failed" -> pure Failed-        "fulfilled" -> pure Fulfilled-        "readyforfulfillment" -> pure ReadyForFulfillment-        e -> fromTextError $ "Failure parsing DialogState from value: '" <> e-           <> "'. Accepted values: confirmintent, elicitintent, elicitslot, failed, fulfilled, readyforfulfillment"--instance ToText DialogState where-    toText = \case-        ConfirmIntent -> "ConfirmIntent"-        ElicitIntent -> "ElicitIntent"-        ElicitSlot -> "ElicitSlot"-        Failed -> "Failed"-        Fulfilled -> "Fulfilled"-        ReadyForFulfillment -> "ReadyForFulfillment"--instance Hashable     DialogState-instance NFData       DialogState-instance ToByteString DialogState-instance ToQuery      DialogState-instance ToHeader     DialogState--instance FromJSON DialogState where-    parseJSON = parseJSONText "DialogState"--data MessageFormatType-  = Composite-  | CustomPayload-  | PlainText-  | Ssml-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText MessageFormatType where-    parser = takeLowerText >>= \case-        "composite" -> pure Composite-        "custompayload" -> pure CustomPayload-        "plaintext" -> pure PlainText-        "ssml" -> pure Ssml-        e -> fromTextError $ "Failure parsing MessageFormatType from value: '" <> e-           <> "'. Accepted values: composite, custompayload, plaintext, ssml"--instance ToText MessageFormatType where-    toText = \case-        Composite -> "Composite"-        CustomPayload -> "CustomPayload"-        PlainText -> "PlainText"-        Ssml -> "SSML"--instance Hashable     MessageFormatType-instance NFData       MessageFormatType-instance ToByteString MessageFormatType-instance ToQuery      MessageFormatType-instance ToHeader     MessageFormatType--instance FromJSON MessageFormatType where-    parseJSON = parseJSONText "MessageFormatType"
− gen/Network/AWS/LexRuntime/Waiters.hs
@@ -1,21 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TypeFamilies      #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.LexRuntime.Waiters--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.LexRuntime.Waiters where--import Network.AWS.Lens-import Network.AWS.LexRuntime.Types-import Network.AWS.Prelude-import Network.AWS.Waiter
test/Main.hs view
@@ -2,20 +2,22 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2018 Brendan Hay+-- Copyright   : (c) 2013-2023 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Maintainer  : Brendan Hay -- Stability   : auto-generated -- Portability : non-portable (GHC extensions)--- module Main (main) where +import Test.Amazonka.LexRuntime+import Test.Amazonka.LexRuntime.Internal import Test.Tasty-import Test.AWS.LexRuntime-import Test.AWS.LexRuntime.Internal  main :: IO ()-main = defaultMain $ testGroup "LexRuntime"-    [ testGroup "tests"    tests-    , testGroup "fixtures" fixtures-    ]+main =+  defaultMain $+    testGroup+      "LexRuntime"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
− test/Test/AWS/Gen/LexRuntime.hs
@@ -1,63 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-orphans        #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Test.AWS.Gen.LexRuntime--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.Gen.LexRuntime where--import Data.Proxy-import Network.AWS.LexRuntime-import Test.AWS.Fixture-import Test.AWS.LexRuntime.Internal-import Test.AWS.Prelude-import Test.Tasty---- Auto-generated: the actual test selection needs to be manually placed into--- the top-level so that real test data can be incrementally added.------ This commented snippet is what the entire set should look like:---- fixtures :: TestTree--- fixtures =---     [ testGroup "request"---         [ requestPostText $---             postText------         , requestPostContent $---             postContent------           ]----     , testGroup "response"---         [ responsePostText $---             postTextResponse------         , responsePostContent $---             postContentResponse------           ]---     ]---- Requests--requestPostText :: PostText -> TestTree-requestPostText = req-    "PostText"-    "fixture/PostText.yaml"---- Responses--responsePostText :: PostTextResponse -> TestTree-responsePostText = res-    "PostTextResponse"-    "fixture/PostTextResponse.proto"-    lexRuntime-    (Proxy :: Proxy PostText)
− test/Test/AWS/LexRuntime.hs
@@ -1,20 +0,0 @@--- |--- Module      : Test.AWS.LexRuntime--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.LexRuntime-    ( tests-    , fixtures-    ) where--import Test.Tasty (TestTree)--tests :: [TestTree]-tests = []--fixtures :: [TestTree]-fixtures = []
− test/Test/AWS/LexRuntime/Internal.hs
@@ -1,9 +0,0 @@--- |--- Module      : Test.AWS.LexRuntime.Internal--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.LexRuntime.Internal where
+ test/Test/Amazonka/Gen/LexRuntime.hs view
@@ -0,0 +1,116 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.Amazonka.Gen.LexRuntime+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.LexRuntime where++import Amazonka.LexRuntime+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.LexRuntime.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestDeleteSession $+--             newDeleteSession+--+--         , requestGetSession $+--             newGetSession+--+--         , requestPostContent $+--             newPostContent+--+--         , requestPostText $+--             newPostText+--+--         , requestPutSession $+--             newPutSession+--+--           ]++--     , testGroup "response"+--         [ responseDeleteSession $+--             newDeleteSessionResponse+--+--         , responseGetSession $+--             newGetSessionResponse+--+--         , responsePostContent $+--             newPostContentResponse+--+--         , responsePostText $+--             newPostTextResponse+--+--         , responsePutSession $+--             newPutSessionResponse+--+--           ]+--     ]++-- Requests++requestDeleteSession :: DeleteSession -> TestTree+requestDeleteSession =+  req+    "DeleteSession"+    "fixture/DeleteSession.yaml"++requestGetSession :: GetSession -> TestTree+requestGetSession =+  req+    "GetSession"+    "fixture/GetSession.yaml"++requestPostText :: PostText -> TestTree+requestPostText =+  req+    "PostText"+    "fixture/PostText.yaml"++requestPutSession :: PutSession -> TestTree+requestPutSession =+  req+    "PutSession"+    "fixture/PutSession.yaml"++-- Responses++responseDeleteSession :: DeleteSessionResponse -> TestTree+responseDeleteSession =+  res+    "DeleteSessionResponse"+    "fixture/DeleteSessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteSession)++responseGetSession :: GetSessionResponse -> TestTree+responseGetSession =+  res+    "GetSessionResponse"+    "fixture/GetSessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSession)++responsePostText :: PostTextResponse -> TestTree+responsePostText =+  res+    "PostTextResponse"+    "fixture/PostTextResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PostText)
+ test/Test/Amazonka/LexRuntime.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.LexRuntime+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.LexRuntime+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/LexRuntime/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.LexRuntime.Internal+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.LexRuntime.Internal where