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

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

-- |
-- Module      : Amazonka.LexV2Models.DeleteCustomVocabulary
-- 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 a custom vocabulary from the specified locale in the specified
-- bot.
module Amazonka.LexV2Models.DeleteCustomVocabulary
  ( -- * Creating a Request
    DeleteCustomVocabulary (..),
    newDeleteCustomVocabulary,

    -- * Request Lenses
    deleteCustomVocabulary_botId,
    deleteCustomVocabulary_botVersion,
    deleteCustomVocabulary_localeId,

    -- * Destructuring the Response
    DeleteCustomVocabularyResponse (..),
    newDeleteCustomVocabularyResponse,

    -- * Response Lenses
    deleteCustomVocabularyResponse_botId,
    deleteCustomVocabularyResponse_botVersion,
    deleteCustomVocabularyResponse_customVocabularyStatus,
    deleteCustomVocabularyResponse_localeId,
    deleteCustomVocabularyResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDeleteCustomVocabulary' smart constructor.
data DeleteCustomVocabulary = DeleteCustomVocabulary'
  { -- | The unique identifier of the bot to remove the custom vocabulary from.
    DeleteCustomVocabulary -> Text
botId :: Prelude.Text,
    -- | The version of the bot to remove the custom vocabulary from.
    DeleteCustomVocabulary -> Text
botVersion :: Prelude.Text,
    -- | The locale identifier for the locale that contains the custom vocabulary
    -- to remove.
    DeleteCustomVocabulary -> Text
localeId :: Prelude.Text
  }
  deriving (DeleteCustomVocabulary -> DeleteCustomVocabulary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomVocabulary -> DeleteCustomVocabulary -> Bool
$c/= :: DeleteCustomVocabulary -> DeleteCustomVocabulary -> Bool
== :: DeleteCustomVocabulary -> DeleteCustomVocabulary -> Bool
$c== :: DeleteCustomVocabulary -> DeleteCustomVocabulary -> Bool
Prelude.Eq, ReadPrec [DeleteCustomVocabulary]
ReadPrec DeleteCustomVocabulary
Int -> ReadS DeleteCustomVocabulary
ReadS [DeleteCustomVocabulary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteCustomVocabulary]
$creadListPrec :: ReadPrec [DeleteCustomVocabulary]
readPrec :: ReadPrec DeleteCustomVocabulary
$creadPrec :: ReadPrec DeleteCustomVocabulary
readList :: ReadS [DeleteCustomVocabulary]
$creadList :: ReadS [DeleteCustomVocabulary]
readsPrec :: Int -> ReadS DeleteCustomVocabulary
$creadsPrec :: Int -> ReadS DeleteCustomVocabulary
Prelude.Read, Int -> DeleteCustomVocabulary -> ShowS
[DeleteCustomVocabulary] -> ShowS
DeleteCustomVocabulary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteCustomVocabulary] -> ShowS
$cshowList :: [DeleteCustomVocabulary] -> ShowS
show :: DeleteCustomVocabulary -> String
$cshow :: DeleteCustomVocabulary -> String
showsPrec :: Int -> DeleteCustomVocabulary -> ShowS
$cshowsPrec :: Int -> DeleteCustomVocabulary -> ShowS
Prelude.Show, forall x. Rep DeleteCustomVocabulary x -> DeleteCustomVocabulary
forall x. DeleteCustomVocabulary -> Rep DeleteCustomVocabulary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteCustomVocabulary x -> DeleteCustomVocabulary
$cfrom :: forall x. DeleteCustomVocabulary -> Rep DeleteCustomVocabulary x
Prelude.Generic)

-- |
-- Create a value of 'DeleteCustomVocabulary' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'botId', 'deleteCustomVocabulary_botId' - The unique identifier of the bot to remove the custom vocabulary from.
--
-- 'botVersion', 'deleteCustomVocabulary_botVersion' - The version of the bot to remove the custom vocabulary from.
--
-- 'localeId', 'deleteCustomVocabulary_localeId' - The locale identifier for the locale that contains the custom vocabulary
-- to remove.
newDeleteCustomVocabulary ::
  -- | 'botId'
  Prelude.Text ->
  -- | 'botVersion'
  Prelude.Text ->
  -- | 'localeId'
  Prelude.Text ->
  DeleteCustomVocabulary
newDeleteCustomVocabulary :: Text -> Text -> Text -> DeleteCustomVocabulary
newDeleteCustomVocabulary
  Text
pBotId_
  Text
pBotVersion_
  Text
pLocaleId_ =
    DeleteCustomVocabulary'
      { $sel:botId:DeleteCustomVocabulary' :: Text
botId = Text
pBotId_,
        $sel:botVersion:DeleteCustomVocabulary' :: Text
botVersion = Text
pBotVersion_,
        $sel:localeId:DeleteCustomVocabulary' :: Text
localeId = Text
pLocaleId_
      }

-- | The unique identifier of the bot to remove the custom vocabulary from.
deleteCustomVocabulary_botId :: Lens.Lens' DeleteCustomVocabulary Prelude.Text
deleteCustomVocabulary_botId :: Lens' DeleteCustomVocabulary Text
deleteCustomVocabulary_botId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteCustomVocabulary' {Text
botId :: Text
$sel:botId:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
botId} -> Text
botId) (\s :: DeleteCustomVocabulary
s@DeleteCustomVocabulary' {} Text
a -> DeleteCustomVocabulary
s {$sel:botId:DeleteCustomVocabulary' :: Text
botId = Text
a} :: DeleteCustomVocabulary)

-- | The version of the bot to remove the custom vocabulary from.
deleteCustomVocabulary_botVersion :: Lens.Lens' DeleteCustomVocabulary Prelude.Text
deleteCustomVocabulary_botVersion :: Lens' DeleteCustomVocabulary Text
deleteCustomVocabulary_botVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteCustomVocabulary' {Text
botVersion :: Text
$sel:botVersion:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
botVersion} -> Text
botVersion) (\s :: DeleteCustomVocabulary
s@DeleteCustomVocabulary' {} Text
a -> DeleteCustomVocabulary
s {$sel:botVersion:DeleteCustomVocabulary' :: Text
botVersion = Text
a} :: DeleteCustomVocabulary)

-- | The locale identifier for the locale that contains the custom vocabulary
-- to remove.
deleteCustomVocabulary_localeId :: Lens.Lens' DeleteCustomVocabulary Prelude.Text
deleteCustomVocabulary_localeId :: Lens' DeleteCustomVocabulary Text
deleteCustomVocabulary_localeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteCustomVocabulary' {Text
localeId :: Text
$sel:localeId:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
localeId} -> Text
localeId) (\s :: DeleteCustomVocabulary
s@DeleteCustomVocabulary' {} Text
a -> DeleteCustomVocabulary
s {$sel:localeId:DeleteCustomVocabulary' :: Text
localeId = Text
a} :: DeleteCustomVocabulary)

instance Core.AWSRequest DeleteCustomVocabulary where
  type
    AWSResponse DeleteCustomVocabulary =
      DeleteCustomVocabularyResponse
  request :: (Service -> Service)
-> DeleteCustomVocabulary -> Request DeleteCustomVocabulary
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteCustomVocabulary
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DeleteCustomVocabulary)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe CustomVocabularyStatus
-> Maybe Text
-> Int
-> DeleteCustomVocabularyResponse
DeleteCustomVocabularyResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"botId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"botVersion")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"customVocabularyStatus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"localeId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DeleteCustomVocabulary where
  hashWithSalt :: Int -> DeleteCustomVocabulary -> Int
hashWithSalt Int
_salt DeleteCustomVocabulary' {Text
localeId :: Text
botVersion :: Text
botId :: Text
$sel:localeId:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
$sel:botVersion:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
$sel:botId:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
botId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
botVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
localeId

instance Prelude.NFData DeleteCustomVocabulary where
  rnf :: DeleteCustomVocabulary -> ()
rnf DeleteCustomVocabulary' {Text
localeId :: Text
botVersion :: Text
botId :: Text
$sel:localeId:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
$sel:botVersion:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
$sel:botId:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
botId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
botVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
localeId

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

instance Data.ToPath DeleteCustomVocabulary where
  toPath :: DeleteCustomVocabulary -> ByteString
toPath DeleteCustomVocabulary' {Text
localeId :: Text
botVersion :: Text
botId :: Text
$sel:localeId:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
$sel:botVersion:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
$sel:botId:DeleteCustomVocabulary' :: DeleteCustomVocabulary -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/bots/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
botId,
        ByteString
"/botversions/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
botVersion,
        ByteString
"/botlocales/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
localeId,
        ByteString
"/customvocabulary"
      ]

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

-- | /See:/ 'newDeleteCustomVocabularyResponse' smart constructor.
data DeleteCustomVocabularyResponse = DeleteCustomVocabularyResponse'
  { -- | The identifier of the bot that the custom vocabulary was removed from.
    DeleteCustomVocabularyResponse -> Maybe Text
botId :: Prelude.Maybe Prelude.Text,
    -- | The version of the bot that the custom vocabulary was removed from.
    DeleteCustomVocabularyResponse -> Maybe Text
botVersion :: Prelude.Maybe Prelude.Text,
    -- | The status of removing the custom vocabulary.
    DeleteCustomVocabularyResponse -> Maybe CustomVocabularyStatus
customVocabularyStatus :: Prelude.Maybe CustomVocabularyStatus,
    -- | The locale identifier for the locale that the custom vocabulary was
    -- removed from.
    DeleteCustomVocabularyResponse -> Maybe Text
localeId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DeleteCustomVocabularyResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DeleteCustomVocabularyResponse
-> DeleteCustomVocabularyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomVocabularyResponse
-> DeleteCustomVocabularyResponse -> Bool
$c/= :: DeleteCustomVocabularyResponse
-> DeleteCustomVocabularyResponse -> Bool
== :: DeleteCustomVocabularyResponse
-> DeleteCustomVocabularyResponse -> Bool
$c== :: DeleteCustomVocabularyResponse
-> DeleteCustomVocabularyResponse -> Bool
Prelude.Eq, ReadPrec [DeleteCustomVocabularyResponse]
ReadPrec DeleteCustomVocabularyResponse
Int -> ReadS DeleteCustomVocabularyResponse
ReadS [DeleteCustomVocabularyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteCustomVocabularyResponse]
$creadListPrec :: ReadPrec [DeleteCustomVocabularyResponse]
readPrec :: ReadPrec DeleteCustomVocabularyResponse
$creadPrec :: ReadPrec DeleteCustomVocabularyResponse
readList :: ReadS [DeleteCustomVocabularyResponse]
$creadList :: ReadS [DeleteCustomVocabularyResponse]
readsPrec :: Int -> ReadS DeleteCustomVocabularyResponse
$creadsPrec :: Int -> ReadS DeleteCustomVocabularyResponse
Prelude.Read, Int -> DeleteCustomVocabularyResponse -> ShowS
[DeleteCustomVocabularyResponse] -> ShowS
DeleteCustomVocabularyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteCustomVocabularyResponse] -> ShowS
$cshowList :: [DeleteCustomVocabularyResponse] -> ShowS
show :: DeleteCustomVocabularyResponse -> String
$cshow :: DeleteCustomVocabularyResponse -> String
showsPrec :: Int -> DeleteCustomVocabularyResponse -> ShowS
$cshowsPrec :: Int -> DeleteCustomVocabularyResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteCustomVocabularyResponse x
-> DeleteCustomVocabularyResponse
forall x.
DeleteCustomVocabularyResponse
-> Rep DeleteCustomVocabularyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteCustomVocabularyResponse x
-> DeleteCustomVocabularyResponse
$cfrom :: forall x.
DeleteCustomVocabularyResponse
-> Rep DeleteCustomVocabularyResponse x
Prelude.Generic)

-- |
-- Create a value of 'DeleteCustomVocabularyResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'botId', 'deleteCustomVocabularyResponse_botId' - The identifier of the bot that the custom vocabulary was removed from.
--
-- 'botVersion', 'deleteCustomVocabularyResponse_botVersion' - The version of the bot that the custom vocabulary was removed from.
--
-- 'customVocabularyStatus', 'deleteCustomVocabularyResponse_customVocabularyStatus' - The status of removing the custom vocabulary.
--
-- 'localeId', 'deleteCustomVocabularyResponse_localeId' - The locale identifier for the locale that the custom vocabulary was
-- removed from.
--
-- 'httpStatus', 'deleteCustomVocabularyResponse_httpStatus' - The response's http status code.
newDeleteCustomVocabularyResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DeleteCustomVocabularyResponse
newDeleteCustomVocabularyResponse :: Int -> DeleteCustomVocabularyResponse
newDeleteCustomVocabularyResponse Int
pHttpStatus_ =
  DeleteCustomVocabularyResponse'
    { $sel:botId:DeleteCustomVocabularyResponse' :: Maybe Text
botId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:botVersion:DeleteCustomVocabularyResponse' :: Maybe Text
botVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:customVocabularyStatus:DeleteCustomVocabularyResponse' :: Maybe CustomVocabularyStatus
customVocabularyStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:localeId:DeleteCustomVocabularyResponse' :: Maybe Text
localeId = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DeleteCustomVocabularyResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The identifier of the bot that the custom vocabulary was removed from.
deleteCustomVocabularyResponse_botId :: Lens.Lens' DeleteCustomVocabularyResponse (Prelude.Maybe Prelude.Text)
deleteCustomVocabularyResponse_botId :: Lens' DeleteCustomVocabularyResponse (Maybe Text)
deleteCustomVocabularyResponse_botId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteCustomVocabularyResponse' {Maybe Text
botId :: Maybe Text
$sel:botId:DeleteCustomVocabularyResponse' :: DeleteCustomVocabularyResponse -> Maybe Text
botId} -> Maybe Text
botId) (\s :: DeleteCustomVocabularyResponse
s@DeleteCustomVocabularyResponse' {} Maybe Text
a -> DeleteCustomVocabularyResponse
s {$sel:botId:DeleteCustomVocabularyResponse' :: Maybe Text
botId = Maybe Text
a} :: DeleteCustomVocabularyResponse)

-- | The version of the bot that the custom vocabulary was removed from.
deleteCustomVocabularyResponse_botVersion :: Lens.Lens' DeleteCustomVocabularyResponse (Prelude.Maybe Prelude.Text)
deleteCustomVocabularyResponse_botVersion :: Lens' DeleteCustomVocabularyResponse (Maybe Text)
deleteCustomVocabularyResponse_botVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteCustomVocabularyResponse' {Maybe Text
botVersion :: Maybe Text
$sel:botVersion:DeleteCustomVocabularyResponse' :: DeleteCustomVocabularyResponse -> Maybe Text
botVersion} -> Maybe Text
botVersion) (\s :: DeleteCustomVocabularyResponse
s@DeleteCustomVocabularyResponse' {} Maybe Text
a -> DeleteCustomVocabularyResponse
s {$sel:botVersion:DeleteCustomVocabularyResponse' :: Maybe Text
botVersion = Maybe Text
a} :: DeleteCustomVocabularyResponse)

-- | The status of removing the custom vocabulary.
deleteCustomVocabularyResponse_customVocabularyStatus :: Lens.Lens' DeleteCustomVocabularyResponse (Prelude.Maybe CustomVocabularyStatus)
deleteCustomVocabularyResponse_customVocabularyStatus :: Lens' DeleteCustomVocabularyResponse (Maybe CustomVocabularyStatus)
deleteCustomVocabularyResponse_customVocabularyStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteCustomVocabularyResponse' {Maybe CustomVocabularyStatus
customVocabularyStatus :: Maybe CustomVocabularyStatus
$sel:customVocabularyStatus:DeleteCustomVocabularyResponse' :: DeleteCustomVocabularyResponse -> Maybe CustomVocabularyStatus
customVocabularyStatus} -> Maybe CustomVocabularyStatus
customVocabularyStatus) (\s :: DeleteCustomVocabularyResponse
s@DeleteCustomVocabularyResponse' {} Maybe CustomVocabularyStatus
a -> DeleteCustomVocabularyResponse
s {$sel:customVocabularyStatus:DeleteCustomVocabularyResponse' :: Maybe CustomVocabularyStatus
customVocabularyStatus = Maybe CustomVocabularyStatus
a} :: DeleteCustomVocabularyResponse)

-- | The locale identifier for the locale that the custom vocabulary was
-- removed from.
deleteCustomVocabularyResponse_localeId :: Lens.Lens' DeleteCustomVocabularyResponse (Prelude.Maybe Prelude.Text)
deleteCustomVocabularyResponse_localeId :: Lens' DeleteCustomVocabularyResponse (Maybe Text)
deleteCustomVocabularyResponse_localeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteCustomVocabularyResponse' {Maybe Text
localeId :: Maybe Text
$sel:localeId:DeleteCustomVocabularyResponse' :: DeleteCustomVocabularyResponse -> Maybe Text
localeId} -> Maybe Text
localeId) (\s :: DeleteCustomVocabularyResponse
s@DeleteCustomVocabularyResponse' {} Maybe Text
a -> DeleteCustomVocabularyResponse
s {$sel:localeId:DeleteCustomVocabularyResponse' :: Maybe Text
localeId = Maybe Text
a} :: DeleteCustomVocabularyResponse)

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

instance
  Prelude.NFData
    DeleteCustomVocabularyResponse
  where
  rnf :: DeleteCustomVocabularyResponse -> ()
rnf DeleteCustomVocabularyResponse' {Int
Maybe Text
Maybe CustomVocabularyStatus
httpStatus :: Int
localeId :: Maybe Text
customVocabularyStatus :: Maybe CustomVocabularyStatus
botVersion :: Maybe Text
botId :: Maybe Text
$sel:httpStatus:DeleteCustomVocabularyResponse' :: DeleteCustomVocabularyResponse -> Int
$sel:localeId:DeleteCustomVocabularyResponse' :: DeleteCustomVocabularyResponse -> Maybe Text
$sel:customVocabularyStatus:DeleteCustomVocabularyResponse' :: DeleteCustomVocabularyResponse -> Maybe CustomVocabularyStatus
$sel:botVersion:DeleteCustomVocabularyResponse' :: DeleteCustomVocabularyResponse -> Maybe Text
$sel:botId:DeleteCustomVocabularyResponse' :: DeleteCustomVocabularyResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
botId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
botVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CustomVocabularyStatus
customVocabularyStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
localeId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus