{-# 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 #-}
module Amazonka.Comprehend.DescribeDocumentClassifier
(
DescribeDocumentClassifier (..),
newDescribeDocumentClassifier,
describeDocumentClassifier_documentClassifierArn,
DescribeDocumentClassifierResponse (..),
newDescribeDocumentClassifierResponse,
describeDocumentClassifierResponse_documentClassifierProperties,
describeDocumentClassifierResponse_httpStatus,
)
where
import Amazonka.Comprehend.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeDocumentClassifier = DescribeDocumentClassifier'
{
DescribeDocumentClassifier -> Text
documentClassifierArn :: Prelude.Text
}
deriving (DescribeDocumentClassifier -> DescribeDocumentClassifier -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDocumentClassifier -> DescribeDocumentClassifier -> Bool
$c/= :: DescribeDocumentClassifier -> DescribeDocumentClassifier -> Bool
== :: DescribeDocumentClassifier -> DescribeDocumentClassifier -> Bool
$c== :: DescribeDocumentClassifier -> DescribeDocumentClassifier -> Bool
Prelude.Eq, ReadPrec [DescribeDocumentClassifier]
ReadPrec DescribeDocumentClassifier
Int -> ReadS DescribeDocumentClassifier
ReadS [DescribeDocumentClassifier]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDocumentClassifier]
$creadListPrec :: ReadPrec [DescribeDocumentClassifier]
readPrec :: ReadPrec DescribeDocumentClassifier
$creadPrec :: ReadPrec DescribeDocumentClassifier
readList :: ReadS [DescribeDocumentClassifier]
$creadList :: ReadS [DescribeDocumentClassifier]
readsPrec :: Int -> ReadS DescribeDocumentClassifier
$creadsPrec :: Int -> ReadS DescribeDocumentClassifier
Prelude.Read, Int -> DescribeDocumentClassifier -> ShowS
[DescribeDocumentClassifier] -> ShowS
DescribeDocumentClassifier -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDocumentClassifier] -> ShowS
$cshowList :: [DescribeDocumentClassifier] -> ShowS
show :: DescribeDocumentClassifier -> String
$cshow :: DescribeDocumentClassifier -> String
showsPrec :: Int -> DescribeDocumentClassifier -> ShowS
$cshowsPrec :: Int -> DescribeDocumentClassifier -> ShowS
Prelude.Show, forall x.
Rep DescribeDocumentClassifier x -> DescribeDocumentClassifier
forall x.
DescribeDocumentClassifier -> Rep DescribeDocumentClassifier x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDocumentClassifier x -> DescribeDocumentClassifier
$cfrom :: forall x.
DescribeDocumentClassifier -> Rep DescribeDocumentClassifier x
Prelude.Generic)
newDescribeDocumentClassifier ::
Prelude.Text ->
DescribeDocumentClassifier
newDescribeDocumentClassifier :: Text -> DescribeDocumentClassifier
newDescribeDocumentClassifier Text
pDocumentClassifierArn_ =
DescribeDocumentClassifier'
{ $sel:documentClassifierArn:DescribeDocumentClassifier' :: Text
documentClassifierArn =
Text
pDocumentClassifierArn_
}
describeDocumentClassifier_documentClassifierArn :: Lens.Lens' DescribeDocumentClassifier Prelude.Text
describeDocumentClassifier_documentClassifierArn :: Lens' DescribeDocumentClassifier Text
describeDocumentClassifier_documentClassifierArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDocumentClassifier' {Text
documentClassifierArn :: Text
$sel:documentClassifierArn:DescribeDocumentClassifier' :: DescribeDocumentClassifier -> Text
documentClassifierArn} -> Text
documentClassifierArn) (\s :: DescribeDocumentClassifier
s@DescribeDocumentClassifier' {} Text
a -> DescribeDocumentClassifier
s {$sel:documentClassifierArn:DescribeDocumentClassifier' :: Text
documentClassifierArn = Text
a} :: DescribeDocumentClassifier)
instance Core.AWSRequest DescribeDocumentClassifier where
type
AWSResponse DescribeDocumentClassifier =
DescribeDocumentClassifierResponse
request :: (Service -> Service)
-> DescribeDocumentClassifier -> Request DescribeDocumentClassifier
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeDocumentClassifier
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeDocumentClassifier)))
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 DocumentClassifierProperties
-> Int -> DescribeDocumentClassifierResponse
DescribeDocumentClassifierResponse'
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
"DocumentClassifierProperties")
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 DescribeDocumentClassifier where
hashWithSalt :: Int -> DescribeDocumentClassifier -> Int
hashWithSalt Int
_salt DescribeDocumentClassifier' {Text
documentClassifierArn :: Text
$sel:documentClassifierArn:DescribeDocumentClassifier' :: DescribeDocumentClassifier -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
documentClassifierArn
instance Prelude.NFData DescribeDocumentClassifier where
rnf :: DescribeDocumentClassifier -> ()
rnf DescribeDocumentClassifier' {Text
documentClassifierArn :: Text
$sel:documentClassifierArn:DescribeDocumentClassifier' :: DescribeDocumentClassifier -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
documentClassifierArn
instance Data.ToHeaders DescribeDocumentClassifier where
toHeaders :: DescribeDocumentClassifier -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"Comprehend_20171127.DescribeDocumentClassifier" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeDocumentClassifier where
toJSON :: DescribeDocumentClassifier -> Value
toJSON DescribeDocumentClassifier' {Text
documentClassifierArn :: Text
$sel:documentClassifierArn:DescribeDocumentClassifier' :: DescribeDocumentClassifier -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"DocumentClassifierArn"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
documentClassifierArn
)
]
)
instance Data.ToPath DescribeDocumentClassifier where
toPath :: DescribeDocumentClassifier -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeDocumentClassifier where
toQuery :: DescribeDocumentClassifier -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeDocumentClassifierResponse = DescribeDocumentClassifierResponse'
{
DescribeDocumentClassifierResponse
-> Maybe DocumentClassifierProperties
documentClassifierProperties :: Prelude.Maybe DocumentClassifierProperties,
DescribeDocumentClassifierResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeDocumentClassifierResponse
-> DescribeDocumentClassifierResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDocumentClassifierResponse
-> DescribeDocumentClassifierResponse -> Bool
$c/= :: DescribeDocumentClassifierResponse
-> DescribeDocumentClassifierResponse -> Bool
== :: DescribeDocumentClassifierResponse
-> DescribeDocumentClassifierResponse -> Bool
$c== :: DescribeDocumentClassifierResponse
-> DescribeDocumentClassifierResponse -> Bool
Prelude.Eq, Int -> DescribeDocumentClassifierResponse -> ShowS
[DescribeDocumentClassifierResponse] -> ShowS
DescribeDocumentClassifierResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDocumentClassifierResponse] -> ShowS
$cshowList :: [DescribeDocumentClassifierResponse] -> ShowS
show :: DescribeDocumentClassifierResponse -> String
$cshow :: DescribeDocumentClassifierResponse -> String
showsPrec :: Int -> DescribeDocumentClassifierResponse -> ShowS
$cshowsPrec :: Int -> DescribeDocumentClassifierResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeDocumentClassifierResponse x
-> DescribeDocumentClassifierResponse
forall x.
DescribeDocumentClassifierResponse
-> Rep DescribeDocumentClassifierResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDocumentClassifierResponse x
-> DescribeDocumentClassifierResponse
$cfrom :: forall x.
DescribeDocumentClassifierResponse
-> Rep DescribeDocumentClassifierResponse x
Prelude.Generic)
newDescribeDocumentClassifierResponse ::
Prelude.Int ->
DescribeDocumentClassifierResponse
newDescribeDocumentClassifierResponse :: Int -> DescribeDocumentClassifierResponse
newDescribeDocumentClassifierResponse Int
pHttpStatus_ =
DescribeDocumentClassifierResponse'
{ $sel:documentClassifierProperties:DescribeDocumentClassifierResponse' :: Maybe DocumentClassifierProperties
documentClassifierProperties =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeDocumentClassifierResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeDocumentClassifierResponse_documentClassifierProperties :: Lens.Lens' DescribeDocumentClassifierResponse (Prelude.Maybe DocumentClassifierProperties)
describeDocumentClassifierResponse_documentClassifierProperties :: Lens'
DescribeDocumentClassifierResponse
(Maybe DocumentClassifierProperties)
describeDocumentClassifierResponse_documentClassifierProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDocumentClassifierResponse' {Maybe DocumentClassifierProperties
documentClassifierProperties :: Maybe DocumentClassifierProperties
$sel:documentClassifierProperties:DescribeDocumentClassifierResponse' :: DescribeDocumentClassifierResponse
-> Maybe DocumentClassifierProperties
documentClassifierProperties} -> Maybe DocumentClassifierProperties
documentClassifierProperties) (\s :: DescribeDocumentClassifierResponse
s@DescribeDocumentClassifierResponse' {} Maybe DocumentClassifierProperties
a -> DescribeDocumentClassifierResponse
s {$sel:documentClassifierProperties:DescribeDocumentClassifierResponse' :: Maybe DocumentClassifierProperties
documentClassifierProperties = Maybe DocumentClassifierProperties
a} :: DescribeDocumentClassifierResponse)
describeDocumentClassifierResponse_httpStatus :: Lens.Lens' DescribeDocumentClassifierResponse Prelude.Int
describeDocumentClassifierResponse_httpStatus :: Lens' DescribeDocumentClassifierResponse Int
describeDocumentClassifierResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDocumentClassifierResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeDocumentClassifierResponse' :: DescribeDocumentClassifierResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeDocumentClassifierResponse
s@DescribeDocumentClassifierResponse' {} Int
a -> DescribeDocumentClassifierResponse
s {$sel:httpStatus:DescribeDocumentClassifierResponse' :: Int
httpStatus = Int
a} :: DescribeDocumentClassifierResponse)
instance
Prelude.NFData
DescribeDocumentClassifierResponse
where
rnf :: DescribeDocumentClassifierResponse -> ()
rnf DescribeDocumentClassifierResponse' {Int
Maybe DocumentClassifierProperties
httpStatus :: Int
documentClassifierProperties :: Maybe DocumentClassifierProperties
$sel:httpStatus:DescribeDocumentClassifierResponse' :: DescribeDocumentClassifierResponse -> Int
$sel:documentClassifierProperties:DescribeDocumentClassifierResponse' :: DescribeDocumentClassifierResponse
-> Maybe DocumentClassifierProperties
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DocumentClassifierProperties
documentClassifierProperties
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus