{-# 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.MechanicalTurk.GetQualificationType
(
GetQualificationType (..),
newGetQualificationType,
getQualificationType_qualificationTypeId,
GetQualificationTypeResponse (..),
newGetQualificationTypeResponse,
getQualificationTypeResponse_qualificationType,
getQualificationTypeResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MechanicalTurk.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetQualificationType = GetQualificationType'
{
GetQualificationType -> Text
qualificationTypeId :: Prelude.Text
}
deriving (GetQualificationType -> GetQualificationType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetQualificationType -> GetQualificationType -> Bool
$c/= :: GetQualificationType -> GetQualificationType -> Bool
== :: GetQualificationType -> GetQualificationType -> Bool
$c== :: GetQualificationType -> GetQualificationType -> Bool
Prelude.Eq, ReadPrec [GetQualificationType]
ReadPrec GetQualificationType
Int -> ReadS GetQualificationType
ReadS [GetQualificationType]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetQualificationType]
$creadListPrec :: ReadPrec [GetQualificationType]
readPrec :: ReadPrec GetQualificationType
$creadPrec :: ReadPrec GetQualificationType
readList :: ReadS [GetQualificationType]
$creadList :: ReadS [GetQualificationType]
readsPrec :: Int -> ReadS GetQualificationType
$creadsPrec :: Int -> ReadS GetQualificationType
Prelude.Read, Int -> GetQualificationType -> ShowS
[GetQualificationType] -> ShowS
GetQualificationType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetQualificationType] -> ShowS
$cshowList :: [GetQualificationType] -> ShowS
show :: GetQualificationType -> String
$cshow :: GetQualificationType -> String
showsPrec :: Int -> GetQualificationType -> ShowS
$cshowsPrec :: Int -> GetQualificationType -> ShowS
Prelude.Show, forall x. Rep GetQualificationType x -> GetQualificationType
forall x. GetQualificationType -> Rep GetQualificationType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetQualificationType x -> GetQualificationType
$cfrom :: forall x. GetQualificationType -> Rep GetQualificationType x
Prelude.Generic)
newGetQualificationType ::
Prelude.Text ->
GetQualificationType
newGetQualificationType :: Text -> GetQualificationType
newGetQualificationType Text
pQualificationTypeId_ =
GetQualificationType'
{ $sel:qualificationTypeId:GetQualificationType' :: Text
qualificationTypeId =
Text
pQualificationTypeId_
}
getQualificationType_qualificationTypeId :: Lens.Lens' GetQualificationType Prelude.Text
getQualificationType_qualificationTypeId :: Lens' GetQualificationType Text
getQualificationType_qualificationTypeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQualificationType' {Text
qualificationTypeId :: Text
$sel:qualificationTypeId:GetQualificationType' :: GetQualificationType -> Text
qualificationTypeId} -> Text
qualificationTypeId) (\s :: GetQualificationType
s@GetQualificationType' {} Text
a -> GetQualificationType
s {$sel:qualificationTypeId:GetQualificationType' :: Text
qualificationTypeId = Text
a} :: GetQualificationType)
instance Core.AWSRequest GetQualificationType where
type
AWSResponse GetQualificationType =
GetQualificationTypeResponse
request :: (Service -> Service)
-> GetQualificationType -> Request GetQualificationType
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 GetQualificationType
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetQualificationType)))
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 QualificationType -> Int -> GetQualificationTypeResponse
GetQualificationTypeResponse'
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
"QualificationType")
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 GetQualificationType where
hashWithSalt :: Int -> GetQualificationType -> Int
hashWithSalt Int
_salt GetQualificationType' {Text
qualificationTypeId :: Text
$sel:qualificationTypeId:GetQualificationType' :: GetQualificationType -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
qualificationTypeId
instance Prelude.NFData GetQualificationType where
rnf :: GetQualificationType -> ()
rnf GetQualificationType' {Text
qualificationTypeId :: Text
$sel:qualificationTypeId:GetQualificationType' :: GetQualificationType -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
qualificationTypeId
instance Data.ToHeaders GetQualificationType where
toHeaders :: GetQualificationType -> 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
"MTurkRequesterServiceV20170117.GetQualificationType" ::
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 GetQualificationType where
toJSON :: GetQualificationType -> Value
toJSON GetQualificationType' {Text
qualificationTypeId :: Text
$sel:qualificationTypeId:GetQualificationType' :: GetQualificationType -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"QualificationTypeId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
qualificationTypeId)
]
)
instance Data.ToPath GetQualificationType where
toPath :: GetQualificationType -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetQualificationType where
toQuery :: GetQualificationType -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetQualificationTypeResponse = GetQualificationTypeResponse'
{
GetQualificationTypeResponse -> Maybe QualificationType
qualificationType :: Prelude.Maybe QualificationType,
GetQualificationTypeResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetQualificationTypeResponse
-> GetQualificationTypeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetQualificationTypeResponse
-> GetQualificationTypeResponse -> Bool
$c/= :: GetQualificationTypeResponse
-> GetQualificationTypeResponse -> Bool
== :: GetQualificationTypeResponse
-> GetQualificationTypeResponse -> Bool
$c== :: GetQualificationTypeResponse
-> GetQualificationTypeResponse -> Bool
Prelude.Eq, ReadPrec [GetQualificationTypeResponse]
ReadPrec GetQualificationTypeResponse
Int -> ReadS GetQualificationTypeResponse
ReadS [GetQualificationTypeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetQualificationTypeResponse]
$creadListPrec :: ReadPrec [GetQualificationTypeResponse]
readPrec :: ReadPrec GetQualificationTypeResponse
$creadPrec :: ReadPrec GetQualificationTypeResponse
readList :: ReadS [GetQualificationTypeResponse]
$creadList :: ReadS [GetQualificationTypeResponse]
readsPrec :: Int -> ReadS GetQualificationTypeResponse
$creadsPrec :: Int -> ReadS GetQualificationTypeResponse
Prelude.Read, Int -> GetQualificationTypeResponse -> ShowS
[GetQualificationTypeResponse] -> ShowS
GetQualificationTypeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetQualificationTypeResponse] -> ShowS
$cshowList :: [GetQualificationTypeResponse] -> ShowS
show :: GetQualificationTypeResponse -> String
$cshow :: GetQualificationTypeResponse -> String
showsPrec :: Int -> GetQualificationTypeResponse -> ShowS
$cshowsPrec :: Int -> GetQualificationTypeResponse -> ShowS
Prelude.Show, forall x.
Rep GetQualificationTypeResponse x -> GetQualificationTypeResponse
forall x.
GetQualificationTypeResponse -> Rep GetQualificationTypeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetQualificationTypeResponse x -> GetQualificationTypeResponse
$cfrom :: forall x.
GetQualificationTypeResponse -> Rep GetQualificationTypeResponse x
Prelude.Generic)
newGetQualificationTypeResponse ::
Prelude.Int ->
GetQualificationTypeResponse
newGetQualificationTypeResponse :: Int -> GetQualificationTypeResponse
newGetQualificationTypeResponse Int
pHttpStatus_ =
GetQualificationTypeResponse'
{ $sel:qualificationType:GetQualificationTypeResponse' :: Maybe QualificationType
qualificationType =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetQualificationTypeResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getQualificationTypeResponse_qualificationType :: Lens.Lens' GetQualificationTypeResponse (Prelude.Maybe QualificationType)
getQualificationTypeResponse_qualificationType :: Lens' GetQualificationTypeResponse (Maybe QualificationType)
getQualificationTypeResponse_qualificationType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQualificationTypeResponse' {Maybe QualificationType
qualificationType :: Maybe QualificationType
$sel:qualificationType:GetQualificationTypeResponse' :: GetQualificationTypeResponse -> Maybe QualificationType
qualificationType} -> Maybe QualificationType
qualificationType) (\s :: GetQualificationTypeResponse
s@GetQualificationTypeResponse' {} Maybe QualificationType
a -> GetQualificationTypeResponse
s {$sel:qualificationType:GetQualificationTypeResponse' :: Maybe QualificationType
qualificationType = Maybe QualificationType
a} :: GetQualificationTypeResponse)
getQualificationTypeResponse_httpStatus :: Lens.Lens' GetQualificationTypeResponse Prelude.Int
getQualificationTypeResponse_httpStatus :: Lens' GetQualificationTypeResponse Int
getQualificationTypeResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQualificationTypeResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetQualificationTypeResponse' :: GetQualificationTypeResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetQualificationTypeResponse
s@GetQualificationTypeResponse' {} Int
a -> GetQualificationTypeResponse
s {$sel:httpStatus:GetQualificationTypeResponse' :: Int
httpStatus = Int
a} :: GetQualificationTypeResponse)
instance Prelude.NFData GetQualificationTypeResponse where
rnf :: GetQualificationTypeResponse -> ()
rnf GetQualificationTypeResponse' {Int
Maybe QualificationType
httpStatus :: Int
qualificationType :: Maybe QualificationType
$sel:httpStatus:GetQualificationTypeResponse' :: GetQualificationTypeResponse -> Int
$sel:qualificationType:GetQualificationTypeResponse' :: GetQualificationTypeResponse -> Maybe QualificationType
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe QualificationType
qualificationType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus