{-# 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.LexModels.CreateBotVersion
-- Copyright   : (c) 2013-2021 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)
--
-- Creates a new version of the bot based on the @$LATEST@ version. If the
-- @$LATEST@ version of this resource hasn\'t changed since you created the
-- last version, Amazon Lex doesn\'t create a new version. It returns the
-- last created version.
--
-- You can update only the @$LATEST@ version of the bot. You can\'t update
-- the numbered versions that you create with the @CreateBotVersion@
-- operation.
--
-- When you create the first version of a bot, Amazon Lex sets the version
-- to 1. Subsequent versions increment by 1. For more information, see
-- versioning-intro.
--
-- This operation requires permission for the @lex:CreateBotVersion@
-- action.
module Amazonka.LexModels.CreateBotVersion
  ( -- * Creating a Request
    CreateBotVersion (..),
    newCreateBotVersion,

    -- * Request Lenses
    createBotVersion_checksum,
    createBotVersion_name,

    -- * Destructuring the Response
    CreateBotVersionResponse (..),
    newCreateBotVersionResponse,

    -- * Response Lenses
    createBotVersionResponse_failureReason,
    createBotVersionResponse_status,
    createBotVersionResponse_abortStatement,
    createBotVersionResponse_intents,
    createBotVersionResponse_checksum,
    createBotVersionResponse_enableModelImprovements,
    createBotVersionResponse_detectSentiment,
    createBotVersionResponse_locale,
    createBotVersionResponse_createdDate,
    createBotVersionResponse_name,
    createBotVersionResponse_version,
    createBotVersionResponse_idleSessionTTLInSeconds,
    createBotVersionResponse_clarificationPrompt,
    createBotVersionResponse_voiceId,
    createBotVersionResponse_lastUpdatedDate,
    createBotVersionResponse_childDirected,
    createBotVersionResponse_description,
    createBotVersionResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.LexModels.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newCreateBotVersion' smart constructor.
data CreateBotVersion = CreateBotVersion'
  { -- | Identifies a specific revision of the @$LATEST@ version of the bot. If
    -- you specify a checksum and the @$LATEST@ version of the bot has a
    -- different checksum, a @PreconditionFailedException@ exception is
    -- returned and Amazon Lex doesn\'t publish a new version. If you don\'t
    -- specify a checksum, Amazon Lex publishes the @$LATEST@ version.
    CreateBotVersion -> Maybe Text
checksum :: Prelude.Maybe Prelude.Text,
    -- | The name of the bot that you want to create a new version of. The name
    -- is case sensitive.
    CreateBotVersion -> Text
name :: Prelude.Text
  }
  deriving (CreateBotVersion -> CreateBotVersion -> Bool
(CreateBotVersion -> CreateBotVersion -> Bool)
-> (CreateBotVersion -> CreateBotVersion -> Bool)
-> Eq CreateBotVersion
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateBotVersion -> CreateBotVersion -> Bool
$c/= :: CreateBotVersion -> CreateBotVersion -> Bool
== :: CreateBotVersion -> CreateBotVersion -> Bool
$c== :: CreateBotVersion -> CreateBotVersion -> Bool
Prelude.Eq, ReadPrec [CreateBotVersion]
ReadPrec CreateBotVersion
Int -> ReadS CreateBotVersion
ReadS [CreateBotVersion]
(Int -> ReadS CreateBotVersion)
-> ReadS [CreateBotVersion]
-> ReadPrec CreateBotVersion
-> ReadPrec [CreateBotVersion]
-> Read CreateBotVersion
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateBotVersion]
$creadListPrec :: ReadPrec [CreateBotVersion]
readPrec :: ReadPrec CreateBotVersion
$creadPrec :: ReadPrec CreateBotVersion
readList :: ReadS [CreateBotVersion]
$creadList :: ReadS [CreateBotVersion]
readsPrec :: Int -> ReadS CreateBotVersion
$creadsPrec :: Int -> ReadS CreateBotVersion
Prelude.Read, Int -> CreateBotVersion -> ShowS
[CreateBotVersion] -> ShowS
CreateBotVersion -> String
(Int -> CreateBotVersion -> ShowS)
-> (CreateBotVersion -> String)
-> ([CreateBotVersion] -> ShowS)
-> Show CreateBotVersion
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateBotVersion] -> ShowS
$cshowList :: [CreateBotVersion] -> ShowS
show :: CreateBotVersion -> String
$cshow :: CreateBotVersion -> String
showsPrec :: Int -> CreateBotVersion -> ShowS
$cshowsPrec :: Int -> CreateBotVersion -> ShowS
Prelude.Show, (forall x. CreateBotVersion -> Rep CreateBotVersion x)
-> (forall x. Rep CreateBotVersion x -> CreateBotVersion)
-> Generic CreateBotVersion
forall x. Rep CreateBotVersion x -> CreateBotVersion
forall x. CreateBotVersion -> Rep CreateBotVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateBotVersion x -> CreateBotVersion
$cfrom :: forall x. CreateBotVersion -> Rep CreateBotVersion x
Prelude.Generic)

-- |
-- Create a value of 'CreateBotVersion' 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:
--
-- 'checksum', 'createBotVersion_checksum' - Identifies a specific revision of the @$LATEST@ version of the bot. If
-- you specify a checksum and the @$LATEST@ version of the bot has a
-- different checksum, a @PreconditionFailedException@ exception is
-- returned and Amazon Lex doesn\'t publish a new version. If you don\'t
-- specify a checksum, Amazon Lex publishes the @$LATEST@ version.
--
-- 'name', 'createBotVersion_name' - The name of the bot that you want to create a new version of. The name
-- is case sensitive.
newCreateBotVersion ::
  -- | 'name'
  Prelude.Text ->
  CreateBotVersion
newCreateBotVersion :: Text -> CreateBotVersion
newCreateBotVersion Text
pName_ =
  CreateBotVersion' :: Maybe Text -> Text -> CreateBotVersion
CreateBotVersion'
    { $sel:checksum:CreateBotVersion' :: Maybe Text
checksum = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:name:CreateBotVersion' :: Text
name = Text
pName_
    }

-- | Identifies a specific revision of the @$LATEST@ version of the bot. If
-- you specify a checksum and the @$LATEST@ version of the bot has a
-- different checksum, a @PreconditionFailedException@ exception is
-- returned and Amazon Lex doesn\'t publish a new version. If you don\'t
-- specify a checksum, Amazon Lex publishes the @$LATEST@ version.
createBotVersion_checksum :: Lens.Lens' CreateBotVersion (Prelude.Maybe Prelude.Text)
createBotVersion_checksum :: (Maybe Text -> f (Maybe Text))
-> CreateBotVersion -> f CreateBotVersion
createBotVersion_checksum = (CreateBotVersion -> Maybe Text)
-> (CreateBotVersion -> Maybe Text -> CreateBotVersion)
-> Lens CreateBotVersion CreateBotVersion (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersion' {Maybe Text
checksum :: Maybe Text
$sel:checksum:CreateBotVersion' :: CreateBotVersion -> Maybe Text
checksum} -> Maybe Text
checksum) (\s :: CreateBotVersion
s@CreateBotVersion' {} Maybe Text
a -> CreateBotVersion
s {$sel:checksum:CreateBotVersion' :: Maybe Text
checksum = Maybe Text
a} :: CreateBotVersion)

-- | The name of the bot that you want to create a new version of. The name
-- is case sensitive.
createBotVersion_name :: Lens.Lens' CreateBotVersion Prelude.Text
createBotVersion_name :: (Text -> f Text) -> CreateBotVersion -> f CreateBotVersion
createBotVersion_name = (CreateBotVersion -> Text)
-> (CreateBotVersion -> Text -> CreateBotVersion)
-> Lens CreateBotVersion CreateBotVersion Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersion' {Text
name :: Text
$sel:name:CreateBotVersion' :: CreateBotVersion -> Text
name} -> Text
name) (\s :: CreateBotVersion
s@CreateBotVersion' {} Text
a -> CreateBotVersion
s {$sel:name:CreateBotVersion' :: Text
name = Text
a} :: CreateBotVersion)

instance Core.AWSRequest CreateBotVersion where
  type
    AWSResponse CreateBotVersion =
      CreateBotVersionResponse
  request :: CreateBotVersion -> Request CreateBotVersion
request = Service -> CreateBotVersion -> Request CreateBotVersion
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy CreateBotVersion
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateBotVersion)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse CreateBotVersion))
-> Logger
-> Service
-> Proxy CreateBotVersion
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateBotVersion)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe LexStatus
-> Maybe Statement
-> Maybe [Intent]
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Locale
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> Maybe Prompt
-> Maybe Text
-> Maybe POSIX
-> Maybe Bool
-> Maybe Text
-> Int
-> CreateBotVersionResponse
CreateBotVersionResponse'
            (Maybe Text
 -> Maybe LexStatus
 -> Maybe Statement
 -> Maybe [Intent]
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Locale
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe Natural
 -> Maybe Prompt
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Bool
 -> Maybe Text
 -> Int
 -> CreateBotVersionResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe LexStatus
      -> Maybe Statement
      -> Maybe [Intent]
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Locale
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"failureReason")
            Either
  String
  (Maybe LexStatus
   -> Maybe Statement
   -> Maybe [Intent]
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Locale
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe LexStatus)
-> Either
     String
     (Maybe Statement
      -> Maybe [Intent]
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Locale
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe LexStatus)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"status")
            Either
  String
  (Maybe Statement
   -> Maybe [Intent]
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Locale
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Statement)
-> Either
     String
     (Maybe [Intent]
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Locale
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Statement)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"abortStatement")
            Either
  String
  (Maybe [Intent]
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Locale
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe [Intent])
-> Either
     String
     (Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Locale
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe [Intent]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"intents" Either String (Maybe (Maybe [Intent]))
-> Maybe [Intent] -> Either String (Maybe [Intent])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [Intent]
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Locale
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Locale
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"checksum")
            Either
  String
  (Maybe Bool
   -> Maybe Bool
   -> Maybe Locale
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Bool)
-> Either
     String
     (Maybe Bool
      -> Maybe Locale
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"enableModelImprovements")
            Either
  String
  (Maybe Bool
   -> Maybe Locale
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Bool)
-> Either
     String
     (Maybe Locale
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"detectSentiment")
            Either
  String
  (Maybe Locale
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Locale)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Locale)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"locale")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"createdDate")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"name")
            Either
  String
  (Maybe Text
   -> Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Natural
      -> Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"version")
            Either
  String
  (Maybe Natural
   -> Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Natural)
-> Either
     String
     (Maybe Prompt
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"idleSessionTTLInSeconds")
            Either
  String
  (Maybe Prompt
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Prompt)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Bool
      -> Maybe Text
      -> Int
      -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Prompt)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"clarificationPrompt")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Bool
   -> Maybe Text
   -> Int
   -> CreateBotVersionResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe Bool -> Maybe Text -> Int -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"voiceId")
            Either
  String
  (Maybe POSIX
   -> Maybe Bool -> Maybe Text -> Int -> CreateBotVersionResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Bool -> Maybe Text -> Int -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"lastUpdatedDate")
            Either
  String
  (Maybe Bool -> Maybe Text -> Int -> CreateBotVersionResponse)
-> Either String (Maybe Bool)
-> Either String (Maybe Text -> Int -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"childDirected")
            Either String (Maybe Text -> Int -> CreateBotVersionResponse)
-> Either String (Maybe Text)
-> Either String (Int -> CreateBotVersionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"description")
            Either String (Int -> CreateBotVersionResponse)
-> Either String Int -> Either String CreateBotVersionResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable CreateBotVersion

instance Prelude.NFData CreateBotVersion

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

instance Core.ToJSON CreateBotVersion where
  toJSON :: CreateBotVersion -> Value
toJSON CreateBotVersion' {Maybe Text
Text
name :: Text
checksum :: Maybe Text
$sel:name:CreateBotVersion' :: CreateBotVersion -> Text
$sel:checksum:CreateBotVersion' :: CreateBotVersion -> Maybe Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [(Text
"checksum" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
checksum]
      )

instance Core.ToPath CreateBotVersion where
  toPath :: CreateBotVersion -> ByteString
toPath CreateBotVersion' {Maybe Text
Text
name :: Text
checksum :: Maybe Text
$sel:name:CreateBotVersion' :: CreateBotVersion -> Text
$sel:checksum:CreateBotVersion' :: CreateBotVersion -> Maybe Text
..} =
    [ByteString] -> ByteString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/bots/", Text -> ByteString
forall a. ToByteString a => a -> ByteString
Core.toBS Text
name, ByteString
"/versions"]

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

-- | /See:/ 'newCreateBotVersionResponse' smart constructor.
data CreateBotVersionResponse = CreateBotVersionResponse'
  { -- | If @status@ is @FAILED@, Amazon Lex provides the reason that it failed
    -- to build the bot.
    CreateBotVersionResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | When you send a request to create or update a bot, Amazon Lex sets the
    -- @status@ response element to @BUILDING@. After Amazon Lex builds the
    -- bot, it sets @status@ to @READY@. If Amazon Lex can\'t build the bot, it
    -- sets @status@ to @FAILED@. Amazon Lex returns the reason for the failure
    -- in the @failureReason@ response element.
    CreateBotVersionResponse -> Maybe LexStatus
status :: Prelude.Maybe LexStatus,
    -- | The message that Amazon Lex uses to cancel a conversation. For more
    -- information, see PutBot.
    CreateBotVersionResponse -> Maybe Statement
abortStatement :: Prelude.Maybe Statement,
    -- | An array of @Intent@ objects. For more information, see PutBot.
    CreateBotVersionResponse -> Maybe [Intent]
intents :: Prelude.Maybe [Intent],
    -- | Checksum identifying the version of the bot that was created.
    CreateBotVersionResponse -> Maybe Text
checksum :: Prelude.Maybe Prelude.Text,
    -- | Indicates whether the bot uses accuracy improvements. @true@ indicates
    -- that the bot is using the improvements, otherwise, @false@.
    CreateBotVersionResponse -> Maybe Bool
enableModelImprovements :: Prelude.Maybe Prelude.Bool,
    -- | Indicates whether utterances entered by the user should be sent to
    -- Amazon Comprehend for sentiment analysis.
    CreateBotVersionResponse -> Maybe Bool
detectSentiment :: Prelude.Maybe Prelude.Bool,
    -- | Specifies the target locale for the bot.
    CreateBotVersionResponse -> Maybe Locale
locale :: Prelude.Maybe Locale,
    -- | The date when the bot version was created.
    CreateBotVersionResponse -> Maybe POSIX
createdDate :: Prelude.Maybe Core.POSIX,
    -- | The name of the bot.
    CreateBotVersionResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The version of the bot.
    CreateBotVersionResponse -> Maybe Text
version :: Prelude.Maybe Prelude.Text,
    -- | The maximum time in seconds that Amazon Lex retains the data gathered in
    -- a conversation. For more information, see PutBot.
    CreateBotVersionResponse -> Maybe Natural
idleSessionTTLInSeconds :: Prelude.Maybe Prelude.Natural,
    -- | The message that Amazon Lex uses when it doesn\'t understand the user\'s
    -- request. For more information, see PutBot.
    CreateBotVersionResponse -> Maybe Prompt
clarificationPrompt :: Prelude.Maybe Prompt,
    -- | The Amazon Polly voice ID that Amazon Lex uses for voice interactions
    -- with the user.
    CreateBotVersionResponse -> Maybe Text
voiceId :: Prelude.Maybe Prelude.Text,
    -- | The date when the @$LATEST@ version of this bot was updated.
    CreateBotVersionResponse -> Maybe POSIX
lastUpdatedDate :: Prelude.Maybe Core.POSIX,
    -- | For each Amazon Lex bot created with the Amazon Lex Model Building
    -- Service, you must specify whether your use of Amazon Lex is related to a
    -- website, program, or other application that is directed or targeted, in
    -- whole or in part, to children under age 13 and subject to the
    -- Children\'s Online Privacy Protection Act (COPPA) by specifying @true@
    -- or @false@ in the @childDirected@ field. By specifying @true@ in the
    -- @childDirected@ field, you confirm that your use of Amazon Lex __is__
    -- related to a website, program, or other application that is directed or
    -- targeted, in whole or in part, to children under age 13 and subject to
    -- COPPA. By specifying @false@ in the @childDirected@ field, you confirm
    -- that your use of Amazon Lex __is not__ related to a website, program, or
    -- other application that is directed or targeted, in whole or in part, to
    -- children under age 13 and subject to COPPA. You may not specify a
    -- default value for the @childDirected@ field that does not accurately
    -- reflect whether your use of Amazon Lex is related to a website, program,
    -- or other application that is directed or targeted, in whole or in part,
    -- to children under age 13 and subject to COPPA.
    --
    -- If your use of Amazon Lex relates to a website, program, or other
    -- application that is directed in whole or in part, to children under age
    -- 13, you must obtain any required verifiable parental consent under
    -- COPPA. For information regarding the use of Amazon Lex in connection
    -- with websites, programs, or other applications that are directed or
    -- targeted, in whole or in part, to children under age 13, see the
    -- <https://aws.amazon.com/lex/faqs#data-security Amazon Lex FAQ.>
    CreateBotVersionResponse -> Maybe Bool
childDirected :: Prelude.Maybe Prelude.Bool,
    -- | A description of the bot.
    CreateBotVersionResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    CreateBotVersionResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (CreateBotVersionResponse -> CreateBotVersionResponse -> Bool
(CreateBotVersionResponse -> CreateBotVersionResponse -> Bool)
-> (CreateBotVersionResponse -> CreateBotVersionResponse -> Bool)
-> Eq CreateBotVersionResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateBotVersionResponse -> CreateBotVersionResponse -> Bool
$c/= :: CreateBotVersionResponse -> CreateBotVersionResponse -> Bool
== :: CreateBotVersionResponse -> CreateBotVersionResponse -> Bool
$c== :: CreateBotVersionResponse -> CreateBotVersionResponse -> Bool
Prelude.Eq, ReadPrec [CreateBotVersionResponse]
ReadPrec CreateBotVersionResponse
Int -> ReadS CreateBotVersionResponse
ReadS [CreateBotVersionResponse]
(Int -> ReadS CreateBotVersionResponse)
-> ReadS [CreateBotVersionResponse]
-> ReadPrec CreateBotVersionResponse
-> ReadPrec [CreateBotVersionResponse]
-> Read CreateBotVersionResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateBotVersionResponse]
$creadListPrec :: ReadPrec [CreateBotVersionResponse]
readPrec :: ReadPrec CreateBotVersionResponse
$creadPrec :: ReadPrec CreateBotVersionResponse
readList :: ReadS [CreateBotVersionResponse]
$creadList :: ReadS [CreateBotVersionResponse]
readsPrec :: Int -> ReadS CreateBotVersionResponse
$creadsPrec :: Int -> ReadS CreateBotVersionResponse
Prelude.Read, Int -> CreateBotVersionResponse -> ShowS
[CreateBotVersionResponse] -> ShowS
CreateBotVersionResponse -> String
(Int -> CreateBotVersionResponse -> ShowS)
-> (CreateBotVersionResponse -> String)
-> ([CreateBotVersionResponse] -> ShowS)
-> Show CreateBotVersionResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateBotVersionResponse] -> ShowS
$cshowList :: [CreateBotVersionResponse] -> ShowS
show :: CreateBotVersionResponse -> String
$cshow :: CreateBotVersionResponse -> String
showsPrec :: Int -> CreateBotVersionResponse -> ShowS
$cshowsPrec :: Int -> CreateBotVersionResponse -> ShowS
Prelude.Show, (forall x.
 CreateBotVersionResponse -> Rep CreateBotVersionResponse x)
-> (forall x.
    Rep CreateBotVersionResponse x -> CreateBotVersionResponse)
-> Generic CreateBotVersionResponse
forall x.
Rep CreateBotVersionResponse x -> CreateBotVersionResponse
forall x.
CreateBotVersionResponse -> Rep CreateBotVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateBotVersionResponse x -> CreateBotVersionResponse
$cfrom :: forall x.
CreateBotVersionResponse -> Rep CreateBotVersionResponse x
Prelude.Generic)

-- |
-- Create a value of 'CreateBotVersionResponse' 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:
--
-- 'failureReason', 'createBotVersionResponse_failureReason' - If @status@ is @FAILED@, Amazon Lex provides the reason that it failed
-- to build the bot.
--
-- 'status', 'createBotVersionResponse_status' - When you send a request to create or update a bot, Amazon Lex sets the
-- @status@ response element to @BUILDING@. After Amazon Lex builds the
-- bot, it sets @status@ to @READY@. If Amazon Lex can\'t build the bot, it
-- sets @status@ to @FAILED@. Amazon Lex returns the reason for the failure
-- in the @failureReason@ response element.
--
-- 'abortStatement', 'createBotVersionResponse_abortStatement' - The message that Amazon Lex uses to cancel a conversation. For more
-- information, see PutBot.
--
-- 'intents', 'createBotVersionResponse_intents' - An array of @Intent@ objects. For more information, see PutBot.
--
-- 'checksum', 'createBotVersionResponse_checksum' - Checksum identifying the version of the bot that was created.
--
-- 'enableModelImprovements', 'createBotVersionResponse_enableModelImprovements' - Indicates whether the bot uses accuracy improvements. @true@ indicates
-- that the bot is using the improvements, otherwise, @false@.
--
-- 'detectSentiment', 'createBotVersionResponse_detectSentiment' - Indicates whether utterances entered by the user should be sent to
-- Amazon Comprehend for sentiment analysis.
--
-- 'locale', 'createBotVersionResponse_locale' - Specifies the target locale for the bot.
--
-- 'createdDate', 'createBotVersionResponse_createdDate' - The date when the bot version was created.
--
-- 'name', 'createBotVersionResponse_name' - The name of the bot.
--
-- 'version', 'createBotVersionResponse_version' - The version of the bot.
--
-- 'idleSessionTTLInSeconds', 'createBotVersionResponse_idleSessionTTLInSeconds' - The maximum time in seconds that Amazon Lex retains the data gathered in
-- a conversation. For more information, see PutBot.
--
-- 'clarificationPrompt', 'createBotVersionResponse_clarificationPrompt' - The message that Amazon Lex uses when it doesn\'t understand the user\'s
-- request. For more information, see PutBot.
--
-- 'voiceId', 'createBotVersionResponse_voiceId' - The Amazon Polly voice ID that Amazon Lex uses for voice interactions
-- with the user.
--
-- 'lastUpdatedDate', 'createBotVersionResponse_lastUpdatedDate' - The date when the @$LATEST@ version of this bot was updated.
--
-- 'childDirected', 'createBotVersionResponse_childDirected' - For each Amazon Lex bot created with the Amazon Lex Model Building
-- Service, you must specify whether your use of Amazon Lex is related to a
-- website, program, or other application that is directed or targeted, in
-- whole or in part, to children under age 13 and subject to the
-- Children\'s Online Privacy Protection Act (COPPA) by specifying @true@
-- or @false@ in the @childDirected@ field. By specifying @true@ in the
-- @childDirected@ field, you confirm that your use of Amazon Lex __is__
-- related to a website, program, or other application that is directed or
-- targeted, in whole or in part, to children under age 13 and subject to
-- COPPA. By specifying @false@ in the @childDirected@ field, you confirm
-- that your use of Amazon Lex __is not__ related to a website, program, or
-- other application that is directed or targeted, in whole or in part, to
-- children under age 13 and subject to COPPA. You may not specify a
-- default value for the @childDirected@ field that does not accurately
-- reflect whether your use of Amazon Lex is related to a website, program,
-- or other application that is directed or targeted, in whole or in part,
-- to children under age 13 and subject to COPPA.
--
-- If your use of Amazon Lex relates to a website, program, or other
-- application that is directed in whole or in part, to children under age
-- 13, you must obtain any required verifiable parental consent under
-- COPPA. For information regarding the use of Amazon Lex in connection
-- with websites, programs, or other applications that are directed or
-- targeted, in whole or in part, to children under age 13, see the
-- <https://aws.amazon.com/lex/faqs#data-security Amazon Lex FAQ.>
--
-- 'description', 'createBotVersionResponse_description' - A description of the bot.
--
-- 'httpStatus', 'createBotVersionResponse_httpStatus' - The response's http status code.
newCreateBotVersionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  CreateBotVersionResponse
newCreateBotVersionResponse :: Int -> CreateBotVersionResponse
newCreateBotVersionResponse Int
pHttpStatus_ =
  CreateBotVersionResponse' :: Maybe Text
-> Maybe LexStatus
-> Maybe Statement
-> Maybe [Intent]
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Locale
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> Maybe Prompt
-> Maybe Text
-> Maybe POSIX
-> Maybe Bool
-> Maybe Text
-> Int
-> CreateBotVersionResponse
CreateBotVersionResponse'
    { $sel:failureReason:CreateBotVersionResponse' :: Maybe Text
failureReason =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:status:CreateBotVersionResponse' :: Maybe LexStatus
status = Maybe LexStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:abortStatement:CreateBotVersionResponse' :: Maybe Statement
abortStatement = Maybe Statement
forall a. Maybe a
Prelude.Nothing,
      $sel:intents:CreateBotVersionResponse' :: Maybe [Intent]
intents = Maybe [Intent]
forall a. Maybe a
Prelude.Nothing,
      $sel:checksum:CreateBotVersionResponse' :: Maybe Text
checksum = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:enableModelImprovements:CreateBotVersionResponse' :: Maybe Bool
enableModelImprovements = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:detectSentiment:CreateBotVersionResponse' :: Maybe Bool
detectSentiment = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:locale:CreateBotVersionResponse' :: Maybe Locale
locale = Maybe Locale
forall a. Maybe a
Prelude.Nothing,
      $sel:createdDate:CreateBotVersionResponse' :: Maybe POSIX
createdDate = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:name:CreateBotVersionResponse' :: Maybe Text
name = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:version:CreateBotVersionResponse' :: Maybe Text
version = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:idleSessionTTLInSeconds:CreateBotVersionResponse' :: Maybe Natural
idleSessionTTLInSeconds = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:clarificationPrompt:CreateBotVersionResponse' :: Maybe Prompt
clarificationPrompt = Maybe Prompt
forall a. Maybe a
Prelude.Nothing,
      $sel:voiceId:CreateBotVersionResponse' :: Maybe Text
voiceId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedDate:CreateBotVersionResponse' :: Maybe POSIX
lastUpdatedDate = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:childDirected:CreateBotVersionResponse' :: Maybe Bool
childDirected = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:description:CreateBotVersionResponse' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:CreateBotVersionResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | If @status@ is @FAILED@, Amazon Lex provides the reason that it failed
-- to build the bot.
createBotVersionResponse_failureReason :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Text)
createBotVersionResponse_failureReason :: (Maybe Text -> f (Maybe Text))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_failureReason = (CreateBotVersionResponse -> Maybe Text)
-> (CreateBotVersionResponse
    -> Maybe Text -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Text
a -> CreateBotVersionResponse
s {$sel:failureReason:CreateBotVersionResponse' :: Maybe Text
failureReason = Maybe Text
a} :: CreateBotVersionResponse)

-- | When you send a request to create or update a bot, Amazon Lex sets the
-- @status@ response element to @BUILDING@. After Amazon Lex builds the
-- bot, it sets @status@ to @READY@. If Amazon Lex can\'t build the bot, it
-- sets @status@ to @FAILED@. Amazon Lex returns the reason for the failure
-- in the @failureReason@ response element.
createBotVersionResponse_status :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe LexStatus)
createBotVersionResponse_status :: (Maybe LexStatus -> f (Maybe LexStatus))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_status = (CreateBotVersionResponse -> Maybe LexStatus)
-> (CreateBotVersionResponse
    -> Maybe LexStatus -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe LexStatus)
     (Maybe LexStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe LexStatus
status :: Maybe LexStatus
$sel:status:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe LexStatus
status} -> Maybe LexStatus
status) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe LexStatus
a -> CreateBotVersionResponse
s {$sel:status:CreateBotVersionResponse' :: Maybe LexStatus
status = Maybe LexStatus
a} :: CreateBotVersionResponse)

-- | The message that Amazon Lex uses to cancel a conversation. For more
-- information, see PutBot.
createBotVersionResponse_abortStatement :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Statement)
createBotVersionResponse_abortStatement :: (Maybe Statement -> f (Maybe Statement))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_abortStatement = (CreateBotVersionResponse -> Maybe Statement)
-> (CreateBotVersionResponse
    -> Maybe Statement -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Statement)
     (Maybe Statement)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Statement
abortStatement :: Maybe Statement
$sel:abortStatement:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Statement
abortStatement} -> Maybe Statement
abortStatement) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Statement
a -> CreateBotVersionResponse
s {$sel:abortStatement:CreateBotVersionResponse' :: Maybe Statement
abortStatement = Maybe Statement
a} :: CreateBotVersionResponse)

-- | An array of @Intent@ objects. For more information, see PutBot.
createBotVersionResponse_intents :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe [Intent])
createBotVersionResponse_intents :: (Maybe [Intent] -> f (Maybe [Intent]))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_intents = (CreateBotVersionResponse -> Maybe [Intent])
-> (CreateBotVersionResponse
    -> Maybe [Intent] -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe [Intent])
     (Maybe [Intent])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe [Intent]
intents :: Maybe [Intent]
$sel:intents:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe [Intent]
intents} -> Maybe [Intent]
intents) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe [Intent]
a -> CreateBotVersionResponse
s {$sel:intents:CreateBotVersionResponse' :: Maybe [Intent]
intents = Maybe [Intent]
a} :: CreateBotVersionResponse) ((Maybe [Intent] -> f (Maybe [Intent]))
 -> CreateBotVersionResponse -> f CreateBotVersionResponse)
-> ((Maybe [Intent] -> f (Maybe [Intent]))
    -> Maybe [Intent] -> f (Maybe [Intent]))
-> (Maybe [Intent] -> f (Maybe [Intent]))
-> CreateBotVersionResponse
-> f CreateBotVersionResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Intent] [Intent] [Intent] [Intent]
-> Iso
     (Maybe [Intent]) (Maybe [Intent]) (Maybe [Intent]) (Maybe [Intent])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Intent] [Intent] [Intent] [Intent]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Checksum identifying the version of the bot that was created.
createBotVersionResponse_checksum :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Text)
createBotVersionResponse_checksum :: (Maybe Text -> f (Maybe Text))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_checksum = (CreateBotVersionResponse -> Maybe Text)
-> (CreateBotVersionResponse
    -> Maybe Text -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Text
checksum :: Maybe Text
$sel:checksum:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Text
checksum} -> Maybe Text
checksum) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Text
a -> CreateBotVersionResponse
s {$sel:checksum:CreateBotVersionResponse' :: Maybe Text
checksum = Maybe Text
a} :: CreateBotVersionResponse)

-- | Indicates whether the bot uses accuracy improvements. @true@ indicates
-- that the bot is using the improvements, otherwise, @false@.
createBotVersionResponse_enableModelImprovements :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Bool)
createBotVersionResponse_enableModelImprovements :: (Maybe Bool -> f (Maybe Bool))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_enableModelImprovements = (CreateBotVersionResponse -> Maybe Bool)
-> (CreateBotVersionResponse
    -> Maybe Bool -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Bool
enableModelImprovements :: Maybe Bool
$sel:enableModelImprovements:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Bool
enableModelImprovements} -> Maybe Bool
enableModelImprovements) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Bool
a -> CreateBotVersionResponse
s {$sel:enableModelImprovements:CreateBotVersionResponse' :: Maybe Bool
enableModelImprovements = Maybe Bool
a} :: CreateBotVersionResponse)

-- | Indicates whether utterances entered by the user should be sent to
-- Amazon Comprehend for sentiment analysis.
createBotVersionResponse_detectSentiment :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Bool)
createBotVersionResponse_detectSentiment :: (Maybe Bool -> f (Maybe Bool))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_detectSentiment = (CreateBotVersionResponse -> Maybe Bool)
-> (CreateBotVersionResponse
    -> Maybe Bool -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Bool
detectSentiment :: Maybe Bool
$sel:detectSentiment:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Bool
detectSentiment} -> Maybe Bool
detectSentiment) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Bool
a -> CreateBotVersionResponse
s {$sel:detectSentiment:CreateBotVersionResponse' :: Maybe Bool
detectSentiment = Maybe Bool
a} :: CreateBotVersionResponse)

-- | Specifies the target locale for the bot.
createBotVersionResponse_locale :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Locale)
createBotVersionResponse_locale :: (Maybe Locale -> f (Maybe Locale))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_locale = (CreateBotVersionResponse -> Maybe Locale)
-> (CreateBotVersionResponse
    -> Maybe Locale -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Locale)
     (Maybe Locale)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Locale
locale :: Maybe Locale
$sel:locale:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Locale
locale} -> Maybe Locale
locale) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Locale
a -> CreateBotVersionResponse
s {$sel:locale:CreateBotVersionResponse' :: Maybe Locale
locale = Maybe Locale
a} :: CreateBotVersionResponse)

-- | The date when the bot version was created.
createBotVersionResponse_createdDate :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.UTCTime)
createBotVersionResponse_createdDate :: (Maybe UTCTime -> f (Maybe UTCTime))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_createdDate = (CreateBotVersionResponse -> Maybe POSIX)
-> (CreateBotVersionResponse
    -> Maybe POSIX -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe POSIX
createdDate :: Maybe POSIX
$sel:createdDate:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe POSIX
createdDate} -> Maybe POSIX
createdDate) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe POSIX
a -> CreateBotVersionResponse
s {$sel:createdDate:CreateBotVersionResponse' :: Maybe POSIX
createdDate = Maybe POSIX
a} :: CreateBotVersionResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> CreateBotVersionResponse -> f CreateBotVersionResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> CreateBotVersionResponse
-> f CreateBotVersionResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The name of the bot.
createBotVersionResponse_name :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Text)
createBotVersionResponse_name :: (Maybe Text -> f (Maybe Text))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_name = (CreateBotVersionResponse -> Maybe Text)
-> (CreateBotVersionResponse
    -> Maybe Text -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Text
name :: Maybe Text
$sel:name:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Text
a -> CreateBotVersionResponse
s {$sel:name:CreateBotVersionResponse' :: Maybe Text
name = Maybe Text
a} :: CreateBotVersionResponse)

-- | The version of the bot.
createBotVersionResponse_version :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Text)
createBotVersionResponse_version :: (Maybe Text -> f (Maybe Text))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_version = (CreateBotVersionResponse -> Maybe Text)
-> (CreateBotVersionResponse
    -> Maybe Text -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Text
version :: Maybe Text
$sel:version:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Text
version} -> Maybe Text
version) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Text
a -> CreateBotVersionResponse
s {$sel:version:CreateBotVersionResponse' :: Maybe Text
version = Maybe Text
a} :: CreateBotVersionResponse)

-- | The maximum time in seconds that Amazon Lex retains the data gathered in
-- a conversation. For more information, see PutBot.
createBotVersionResponse_idleSessionTTLInSeconds :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Natural)
createBotVersionResponse_idleSessionTTLInSeconds :: (Maybe Natural -> f (Maybe Natural))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_idleSessionTTLInSeconds = (CreateBotVersionResponse -> Maybe Natural)
-> (CreateBotVersionResponse
    -> Maybe Natural -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Natural
idleSessionTTLInSeconds :: Maybe Natural
$sel:idleSessionTTLInSeconds:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Natural
idleSessionTTLInSeconds} -> Maybe Natural
idleSessionTTLInSeconds) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Natural
a -> CreateBotVersionResponse
s {$sel:idleSessionTTLInSeconds:CreateBotVersionResponse' :: Maybe Natural
idleSessionTTLInSeconds = Maybe Natural
a} :: CreateBotVersionResponse)

-- | The message that Amazon Lex uses when it doesn\'t understand the user\'s
-- request. For more information, see PutBot.
createBotVersionResponse_clarificationPrompt :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prompt)
createBotVersionResponse_clarificationPrompt :: (Maybe Prompt -> f (Maybe Prompt))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_clarificationPrompt = (CreateBotVersionResponse -> Maybe Prompt)
-> (CreateBotVersionResponse
    -> Maybe Prompt -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Prompt)
     (Maybe Prompt)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Prompt
clarificationPrompt :: Maybe Prompt
$sel:clarificationPrompt:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Prompt
clarificationPrompt} -> Maybe Prompt
clarificationPrompt) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Prompt
a -> CreateBotVersionResponse
s {$sel:clarificationPrompt:CreateBotVersionResponse' :: Maybe Prompt
clarificationPrompt = Maybe Prompt
a} :: CreateBotVersionResponse)

-- | The Amazon Polly voice ID that Amazon Lex uses for voice interactions
-- with the user.
createBotVersionResponse_voiceId :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Text)
createBotVersionResponse_voiceId :: (Maybe Text -> f (Maybe Text))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_voiceId = (CreateBotVersionResponse -> Maybe Text)
-> (CreateBotVersionResponse
    -> Maybe Text -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Text
voiceId :: Maybe Text
$sel:voiceId:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Text
voiceId} -> Maybe Text
voiceId) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Text
a -> CreateBotVersionResponse
s {$sel:voiceId:CreateBotVersionResponse' :: Maybe Text
voiceId = Maybe Text
a} :: CreateBotVersionResponse)

-- | The date when the @$LATEST@ version of this bot was updated.
createBotVersionResponse_lastUpdatedDate :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.UTCTime)
createBotVersionResponse_lastUpdatedDate :: (Maybe UTCTime -> f (Maybe UTCTime))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_lastUpdatedDate = (CreateBotVersionResponse -> Maybe POSIX)
-> (CreateBotVersionResponse
    -> Maybe POSIX -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe POSIX
lastUpdatedDate :: Maybe POSIX
$sel:lastUpdatedDate:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe POSIX
lastUpdatedDate} -> Maybe POSIX
lastUpdatedDate) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe POSIX
a -> CreateBotVersionResponse
s {$sel:lastUpdatedDate:CreateBotVersionResponse' :: Maybe POSIX
lastUpdatedDate = Maybe POSIX
a} :: CreateBotVersionResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> CreateBotVersionResponse -> f CreateBotVersionResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> CreateBotVersionResponse
-> f CreateBotVersionResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | For each Amazon Lex bot created with the Amazon Lex Model Building
-- Service, you must specify whether your use of Amazon Lex is related to a
-- website, program, or other application that is directed or targeted, in
-- whole or in part, to children under age 13 and subject to the
-- Children\'s Online Privacy Protection Act (COPPA) by specifying @true@
-- or @false@ in the @childDirected@ field. By specifying @true@ in the
-- @childDirected@ field, you confirm that your use of Amazon Lex __is__
-- related to a website, program, or other application that is directed or
-- targeted, in whole or in part, to children under age 13 and subject to
-- COPPA. By specifying @false@ in the @childDirected@ field, you confirm
-- that your use of Amazon Lex __is not__ related to a website, program, or
-- other application that is directed or targeted, in whole or in part, to
-- children under age 13 and subject to COPPA. You may not specify a
-- default value for the @childDirected@ field that does not accurately
-- reflect whether your use of Amazon Lex is related to a website, program,
-- or other application that is directed or targeted, in whole or in part,
-- to children under age 13 and subject to COPPA.
--
-- If your use of Amazon Lex relates to a website, program, or other
-- application that is directed in whole or in part, to children under age
-- 13, you must obtain any required verifiable parental consent under
-- COPPA. For information regarding the use of Amazon Lex in connection
-- with websites, programs, or other applications that are directed or
-- targeted, in whole or in part, to children under age 13, see the
-- <https://aws.amazon.com/lex/faqs#data-security Amazon Lex FAQ.>
createBotVersionResponse_childDirected :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Bool)
createBotVersionResponse_childDirected :: (Maybe Bool -> f (Maybe Bool))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_childDirected = (CreateBotVersionResponse -> Maybe Bool)
-> (CreateBotVersionResponse
    -> Maybe Bool -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Bool
childDirected :: Maybe Bool
$sel:childDirected:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Bool
childDirected} -> Maybe Bool
childDirected) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Bool
a -> CreateBotVersionResponse
s {$sel:childDirected:CreateBotVersionResponse' :: Maybe Bool
childDirected = Maybe Bool
a} :: CreateBotVersionResponse)

-- | A description of the bot.
createBotVersionResponse_description :: Lens.Lens' CreateBotVersionResponse (Prelude.Maybe Prelude.Text)
createBotVersionResponse_description :: (Maybe Text -> f (Maybe Text))
-> CreateBotVersionResponse -> f CreateBotVersionResponse
createBotVersionResponse_description = (CreateBotVersionResponse -> Maybe Text)
-> (CreateBotVersionResponse
    -> Maybe Text -> CreateBotVersionResponse)
-> Lens
     CreateBotVersionResponse
     CreateBotVersionResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBotVersionResponse' {Maybe Text
description :: Maybe Text
$sel:description:CreateBotVersionResponse' :: CreateBotVersionResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateBotVersionResponse
s@CreateBotVersionResponse' {} Maybe Text
a -> CreateBotVersionResponse
s {$sel:description:CreateBotVersionResponse' :: Maybe Text
description = Maybe Text
a} :: CreateBotVersionResponse)

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

instance Prelude.NFData CreateBotVersionResponse