{-# 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.Transcribe.GetVocabularyFilter
-- 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)
--
-- Returns information about a vocabulary filter.
module Amazonka.Transcribe.GetVocabularyFilter
  ( -- * Creating a Request
    GetVocabularyFilter (..),
    newGetVocabularyFilter,

    -- * Request Lenses
    getVocabularyFilter_vocabularyFilterName,

    -- * Destructuring the Response
    GetVocabularyFilterResponse (..),
    newGetVocabularyFilterResponse,

    -- * Response Lenses
    getVocabularyFilterResponse_languageCode,
    getVocabularyFilterResponse_downloadUri,
    getVocabularyFilterResponse_lastModifiedTime,
    getVocabularyFilterResponse_vocabularyFilterName,
    getVocabularyFilterResponse_httpStatus,
  )
where

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

-- | /See:/ 'newGetVocabularyFilter' smart constructor.
data GetVocabularyFilter = GetVocabularyFilter'
  { -- | The name of the vocabulary filter for which to return information.
    GetVocabularyFilter -> Text
vocabularyFilterName :: Prelude.Text
  }
  deriving (GetVocabularyFilter -> GetVocabularyFilter -> Bool
(GetVocabularyFilter -> GetVocabularyFilter -> Bool)
-> (GetVocabularyFilter -> GetVocabularyFilter -> Bool)
-> Eq GetVocabularyFilter
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetVocabularyFilter -> GetVocabularyFilter -> Bool
$c/= :: GetVocabularyFilter -> GetVocabularyFilter -> Bool
== :: GetVocabularyFilter -> GetVocabularyFilter -> Bool
$c== :: GetVocabularyFilter -> GetVocabularyFilter -> Bool
Prelude.Eq, ReadPrec [GetVocabularyFilter]
ReadPrec GetVocabularyFilter
Int -> ReadS GetVocabularyFilter
ReadS [GetVocabularyFilter]
(Int -> ReadS GetVocabularyFilter)
-> ReadS [GetVocabularyFilter]
-> ReadPrec GetVocabularyFilter
-> ReadPrec [GetVocabularyFilter]
-> Read GetVocabularyFilter
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetVocabularyFilter]
$creadListPrec :: ReadPrec [GetVocabularyFilter]
readPrec :: ReadPrec GetVocabularyFilter
$creadPrec :: ReadPrec GetVocabularyFilter
readList :: ReadS [GetVocabularyFilter]
$creadList :: ReadS [GetVocabularyFilter]
readsPrec :: Int -> ReadS GetVocabularyFilter
$creadsPrec :: Int -> ReadS GetVocabularyFilter
Prelude.Read, Int -> GetVocabularyFilter -> ShowS
[GetVocabularyFilter] -> ShowS
GetVocabularyFilter -> String
(Int -> GetVocabularyFilter -> ShowS)
-> (GetVocabularyFilter -> String)
-> ([GetVocabularyFilter] -> ShowS)
-> Show GetVocabularyFilter
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetVocabularyFilter] -> ShowS
$cshowList :: [GetVocabularyFilter] -> ShowS
show :: GetVocabularyFilter -> String
$cshow :: GetVocabularyFilter -> String
showsPrec :: Int -> GetVocabularyFilter -> ShowS
$cshowsPrec :: Int -> GetVocabularyFilter -> ShowS
Prelude.Show, (forall x. GetVocabularyFilter -> Rep GetVocabularyFilter x)
-> (forall x. Rep GetVocabularyFilter x -> GetVocabularyFilter)
-> Generic GetVocabularyFilter
forall x. Rep GetVocabularyFilter x -> GetVocabularyFilter
forall x. GetVocabularyFilter -> Rep GetVocabularyFilter x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetVocabularyFilter x -> GetVocabularyFilter
$cfrom :: forall x. GetVocabularyFilter -> Rep GetVocabularyFilter x
Prelude.Generic)

-- |
-- Create a value of 'GetVocabularyFilter' 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:
--
-- 'vocabularyFilterName', 'getVocabularyFilter_vocabularyFilterName' - The name of the vocabulary filter for which to return information.
newGetVocabularyFilter ::
  -- | 'vocabularyFilterName'
  Prelude.Text ->
  GetVocabularyFilter
newGetVocabularyFilter :: Text -> GetVocabularyFilter
newGetVocabularyFilter Text
pVocabularyFilterName_ =
  GetVocabularyFilter' :: Text -> GetVocabularyFilter
GetVocabularyFilter'
    { $sel:vocabularyFilterName:GetVocabularyFilter' :: Text
vocabularyFilterName =
        Text
pVocabularyFilterName_
    }

-- | The name of the vocabulary filter for which to return information.
getVocabularyFilter_vocabularyFilterName :: Lens.Lens' GetVocabularyFilter Prelude.Text
getVocabularyFilter_vocabularyFilterName :: (Text -> f Text) -> GetVocabularyFilter -> f GetVocabularyFilter
getVocabularyFilter_vocabularyFilterName = (GetVocabularyFilter -> Text)
-> (GetVocabularyFilter -> Text -> GetVocabularyFilter)
-> Lens GetVocabularyFilter GetVocabularyFilter Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetVocabularyFilter' {Text
vocabularyFilterName :: Text
$sel:vocabularyFilterName:GetVocabularyFilter' :: GetVocabularyFilter -> Text
vocabularyFilterName} -> Text
vocabularyFilterName) (\s :: GetVocabularyFilter
s@GetVocabularyFilter' {} Text
a -> GetVocabularyFilter
s {$sel:vocabularyFilterName:GetVocabularyFilter' :: Text
vocabularyFilterName = Text
a} :: GetVocabularyFilter)

instance Core.AWSRequest GetVocabularyFilter where
  type
    AWSResponse GetVocabularyFilter =
      GetVocabularyFilterResponse
  request :: GetVocabularyFilter -> Request GetVocabularyFilter
request = Service -> GetVocabularyFilter -> Request GetVocabularyFilter
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy GetVocabularyFilter
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetVocabularyFilter)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse GetVocabularyFilter))
-> Logger
-> Service
-> Proxy GetVocabularyFilter
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetVocabularyFilter)))
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 LanguageCode
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Int
-> GetVocabularyFilterResponse
GetVocabularyFilterResponse'
            (Maybe LanguageCode
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Int
 -> GetVocabularyFilterResponse)
-> Either String (Maybe LanguageCode)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX -> Maybe Text -> Int -> GetVocabularyFilterResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe LanguageCode)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"LanguageCode")
            Either
  String
  (Maybe Text
   -> Maybe POSIX -> Maybe Text -> Int -> GetVocabularyFilterResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX -> Maybe Text -> Int -> GetVocabularyFilterResponse)
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
"DownloadUri")
            Either
  String
  (Maybe POSIX -> Maybe Text -> Int -> GetVocabularyFilterResponse)
-> Either String (Maybe POSIX)
-> Either String (Maybe Text -> Int -> GetVocabularyFilterResponse)
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
"LastModifiedTime")
            Either String (Maybe Text -> Int -> GetVocabularyFilterResponse)
-> Either String (Maybe Text)
-> Either String (Int -> GetVocabularyFilterResponse)
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
"VocabularyFilterName")
            Either String (Int -> GetVocabularyFilterResponse)
-> Either String Int -> Either String GetVocabularyFilterResponse
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 GetVocabularyFilter

instance Prelude.NFData GetVocabularyFilter

instance Core.ToHeaders GetVocabularyFilter where
  toHeaders :: GetVocabularyFilter -> ResponseHeaders
toHeaders =
    ResponseHeaders -> GetVocabularyFilter -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"Transcribe.GetVocabularyFilter" ::
                          Prelude.ByteString
                      ),
            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 GetVocabularyFilter where
  toJSON :: GetVocabularyFilter -> Value
toJSON GetVocabularyFilter' {Text
vocabularyFilterName :: Text
$sel:vocabularyFilterName:GetVocabularyFilter' :: GetVocabularyFilter -> Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              ( Text
"VocabularyFilterName"
                  Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
vocabularyFilterName
              )
          ]
      )

instance Core.ToPath GetVocabularyFilter where
  toPath :: GetVocabularyFilter -> ByteString
toPath = ByteString -> GetVocabularyFilter -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"

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

-- | /See:/ 'newGetVocabularyFilterResponse' smart constructor.
data GetVocabularyFilterResponse = GetVocabularyFilterResponse'
  { -- | The language code of the words in the vocabulary filter.
    GetVocabularyFilterResponse -> Maybe LanguageCode
languageCode :: Prelude.Maybe LanguageCode,
    -- | The URI of the list of words in the vocabulary filter. You can use this
    -- URI to get the list of words.
    GetVocabularyFilterResponse -> Maybe Text
downloadUri :: Prelude.Maybe Prelude.Text,
    -- | The date and time that the contents of the vocabulary filter were
    -- updated.
    GetVocabularyFilterResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Core.POSIX,
    -- | The name of the vocabulary filter.
    GetVocabularyFilterResponse -> Maybe Text
vocabularyFilterName :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetVocabularyFilterResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetVocabularyFilterResponse -> GetVocabularyFilterResponse -> Bool
(GetVocabularyFilterResponse
 -> GetVocabularyFilterResponse -> Bool)
-> (GetVocabularyFilterResponse
    -> GetVocabularyFilterResponse -> Bool)
-> Eq GetVocabularyFilterResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetVocabularyFilterResponse -> GetVocabularyFilterResponse -> Bool
$c/= :: GetVocabularyFilterResponse -> GetVocabularyFilterResponse -> Bool
== :: GetVocabularyFilterResponse -> GetVocabularyFilterResponse -> Bool
$c== :: GetVocabularyFilterResponse -> GetVocabularyFilterResponse -> Bool
Prelude.Eq, ReadPrec [GetVocabularyFilterResponse]
ReadPrec GetVocabularyFilterResponse
Int -> ReadS GetVocabularyFilterResponse
ReadS [GetVocabularyFilterResponse]
(Int -> ReadS GetVocabularyFilterResponse)
-> ReadS [GetVocabularyFilterResponse]
-> ReadPrec GetVocabularyFilterResponse
-> ReadPrec [GetVocabularyFilterResponse]
-> Read GetVocabularyFilterResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetVocabularyFilterResponse]
$creadListPrec :: ReadPrec [GetVocabularyFilterResponse]
readPrec :: ReadPrec GetVocabularyFilterResponse
$creadPrec :: ReadPrec GetVocabularyFilterResponse
readList :: ReadS [GetVocabularyFilterResponse]
$creadList :: ReadS [GetVocabularyFilterResponse]
readsPrec :: Int -> ReadS GetVocabularyFilterResponse
$creadsPrec :: Int -> ReadS GetVocabularyFilterResponse
Prelude.Read, Int -> GetVocabularyFilterResponse -> ShowS
[GetVocabularyFilterResponse] -> ShowS
GetVocabularyFilterResponse -> String
(Int -> GetVocabularyFilterResponse -> ShowS)
-> (GetVocabularyFilterResponse -> String)
-> ([GetVocabularyFilterResponse] -> ShowS)
-> Show GetVocabularyFilterResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetVocabularyFilterResponse] -> ShowS
$cshowList :: [GetVocabularyFilterResponse] -> ShowS
show :: GetVocabularyFilterResponse -> String
$cshow :: GetVocabularyFilterResponse -> String
showsPrec :: Int -> GetVocabularyFilterResponse -> ShowS
$cshowsPrec :: Int -> GetVocabularyFilterResponse -> ShowS
Prelude.Show, (forall x.
 GetVocabularyFilterResponse -> Rep GetVocabularyFilterResponse x)
-> (forall x.
    Rep GetVocabularyFilterResponse x -> GetVocabularyFilterResponse)
-> Generic GetVocabularyFilterResponse
forall x.
Rep GetVocabularyFilterResponse x -> GetVocabularyFilterResponse
forall x.
GetVocabularyFilterResponse -> Rep GetVocabularyFilterResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetVocabularyFilterResponse x -> GetVocabularyFilterResponse
$cfrom :: forall x.
GetVocabularyFilterResponse -> Rep GetVocabularyFilterResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetVocabularyFilterResponse' 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:
--
-- 'languageCode', 'getVocabularyFilterResponse_languageCode' - The language code of the words in the vocabulary filter.
--
-- 'downloadUri', 'getVocabularyFilterResponse_downloadUri' - The URI of the list of words in the vocabulary filter. You can use this
-- URI to get the list of words.
--
-- 'lastModifiedTime', 'getVocabularyFilterResponse_lastModifiedTime' - The date and time that the contents of the vocabulary filter were
-- updated.
--
-- 'vocabularyFilterName', 'getVocabularyFilterResponse_vocabularyFilterName' - The name of the vocabulary filter.
--
-- 'httpStatus', 'getVocabularyFilterResponse_httpStatus' - The response's http status code.
newGetVocabularyFilterResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetVocabularyFilterResponse
newGetVocabularyFilterResponse :: Int -> GetVocabularyFilterResponse
newGetVocabularyFilterResponse Int
pHttpStatus_ =
  GetVocabularyFilterResponse' :: Maybe LanguageCode
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Int
-> GetVocabularyFilterResponse
GetVocabularyFilterResponse'
    { $sel:languageCode:GetVocabularyFilterResponse' :: Maybe LanguageCode
languageCode =
        Maybe LanguageCode
forall a. Maybe a
Prelude.Nothing,
      $sel:downloadUri:GetVocabularyFilterResponse' :: Maybe Text
downloadUri = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:GetVocabularyFilterResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:vocabularyFilterName:GetVocabularyFilterResponse' :: Maybe Text
vocabularyFilterName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetVocabularyFilterResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The language code of the words in the vocabulary filter.
getVocabularyFilterResponse_languageCode :: Lens.Lens' GetVocabularyFilterResponse (Prelude.Maybe LanguageCode)
getVocabularyFilterResponse_languageCode :: (Maybe LanguageCode -> f (Maybe LanguageCode))
-> GetVocabularyFilterResponse -> f GetVocabularyFilterResponse
getVocabularyFilterResponse_languageCode = (GetVocabularyFilterResponse -> Maybe LanguageCode)
-> (GetVocabularyFilterResponse
    -> Maybe LanguageCode -> GetVocabularyFilterResponse)
-> Lens
     GetVocabularyFilterResponse
     GetVocabularyFilterResponse
     (Maybe LanguageCode)
     (Maybe LanguageCode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetVocabularyFilterResponse' {Maybe LanguageCode
languageCode :: Maybe LanguageCode
$sel:languageCode:GetVocabularyFilterResponse' :: GetVocabularyFilterResponse -> Maybe LanguageCode
languageCode} -> Maybe LanguageCode
languageCode) (\s :: GetVocabularyFilterResponse
s@GetVocabularyFilterResponse' {} Maybe LanguageCode
a -> GetVocabularyFilterResponse
s {$sel:languageCode:GetVocabularyFilterResponse' :: Maybe LanguageCode
languageCode = Maybe LanguageCode
a} :: GetVocabularyFilterResponse)

-- | The URI of the list of words in the vocabulary filter. You can use this
-- URI to get the list of words.
getVocabularyFilterResponse_downloadUri :: Lens.Lens' GetVocabularyFilterResponse (Prelude.Maybe Prelude.Text)
getVocabularyFilterResponse_downloadUri :: (Maybe Text -> f (Maybe Text))
-> GetVocabularyFilterResponse -> f GetVocabularyFilterResponse
getVocabularyFilterResponse_downloadUri = (GetVocabularyFilterResponse -> Maybe Text)
-> (GetVocabularyFilterResponse
    -> Maybe Text -> GetVocabularyFilterResponse)
-> Lens
     GetVocabularyFilterResponse
     GetVocabularyFilterResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetVocabularyFilterResponse' {Maybe Text
downloadUri :: Maybe Text
$sel:downloadUri:GetVocabularyFilterResponse' :: GetVocabularyFilterResponse -> Maybe Text
downloadUri} -> Maybe Text
downloadUri) (\s :: GetVocabularyFilterResponse
s@GetVocabularyFilterResponse' {} Maybe Text
a -> GetVocabularyFilterResponse
s {$sel:downloadUri:GetVocabularyFilterResponse' :: Maybe Text
downloadUri = Maybe Text
a} :: GetVocabularyFilterResponse)

-- | The date and time that the contents of the vocabulary filter were
-- updated.
getVocabularyFilterResponse_lastModifiedTime :: Lens.Lens' GetVocabularyFilterResponse (Prelude.Maybe Prelude.UTCTime)
getVocabularyFilterResponse_lastModifiedTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> GetVocabularyFilterResponse -> f GetVocabularyFilterResponse
getVocabularyFilterResponse_lastModifiedTime = (GetVocabularyFilterResponse -> Maybe POSIX)
-> (GetVocabularyFilterResponse
    -> Maybe POSIX -> GetVocabularyFilterResponse)
-> Lens
     GetVocabularyFilterResponse
     GetVocabularyFilterResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetVocabularyFilterResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:GetVocabularyFilterResponse' :: GetVocabularyFilterResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: GetVocabularyFilterResponse
s@GetVocabularyFilterResponse' {} Maybe POSIX
a -> GetVocabularyFilterResponse
s {$sel:lastModifiedTime:GetVocabularyFilterResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: GetVocabularyFilterResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> GetVocabularyFilterResponse -> f GetVocabularyFilterResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> GetVocabularyFilterResponse
-> f GetVocabularyFilterResponse
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 vocabulary filter.
getVocabularyFilterResponse_vocabularyFilterName :: Lens.Lens' GetVocabularyFilterResponse (Prelude.Maybe Prelude.Text)
getVocabularyFilterResponse_vocabularyFilterName :: (Maybe Text -> f (Maybe Text))
-> GetVocabularyFilterResponse -> f GetVocabularyFilterResponse
getVocabularyFilterResponse_vocabularyFilterName = (GetVocabularyFilterResponse -> Maybe Text)
-> (GetVocabularyFilterResponse
    -> Maybe Text -> GetVocabularyFilterResponse)
-> Lens
     GetVocabularyFilterResponse
     GetVocabularyFilterResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetVocabularyFilterResponse' {Maybe Text
vocabularyFilterName :: Maybe Text
$sel:vocabularyFilterName:GetVocabularyFilterResponse' :: GetVocabularyFilterResponse -> Maybe Text
vocabularyFilterName} -> Maybe Text
vocabularyFilterName) (\s :: GetVocabularyFilterResponse
s@GetVocabularyFilterResponse' {} Maybe Text
a -> GetVocabularyFilterResponse
s {$sel:vocabularyFilterName:GetVocabularyFilterResponse' :: Maybe Text
vocabularyFilterName = Maybe Text
a} :: GetVocabularyFilterResponse)

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

instance Prelude.NFData GetVocabularyFilterResponse