{-# 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.EMRContainers.DescribeJobTemplate
(
DescribeJobTemplate (..),
newDescribeJobTemplate,
describeJobTemplate_id,
DescribeJobTemplateResponse (..),
newDescribeJobTemplateResponse,
describeJobTemplateResponse_jobTemplate,
describeJobTemplateResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EMRContainers.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeJobTemplate = DescribeJobTemplate'
{
DescribeJobTemplate -> Text
id :: Prelude.Text
}
deriving (DescribeJobTemplate -> DescribeJobTemplate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeJobTemplate -> DescribeJobTemplate -> Bool
$c/= :: DescribeJobTemplate -> DescribeJobTemplate -> Bool
== :: DescribeJobTemplate -> DescribeJobTemplate -> Bool
$c== :: DescribeJobTemplate -> DescribeJobTemplate -> Bool
Prelude.Eq, ReadPrec [DescribeJobTemplate]
ReadPrec DescribeJobTemplate
Int -> ReadS DescribeJobTemplate
ReadS [DescribeJobTemplate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeJobTemplate]
$creadListPrec :: ReadPrec [DescribeJobTemplate]
readPrec :: ReadPrec DescribeJobTemplate
$creadPrec :: ReadPrec DescribeJobTemplate
readList :: ReadS [DescribeJobTemplate]
$creadList :: ReadS [DescribeJobTemplate]
readsPrec :: Int -> ReadS DescribeJobTemplate
$creadsPrec :: Int -> ReadS DescribeJobTemplate
Prelude.Read, Int -> DescribeJobTemplate -> ShowS
[DescribeJobTemplate] -> ShowS
DescribeJobTemplate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeJobTemplate] -> ShowS
$cshowList :: [DescribeJobTemplate] -> ShowS
show :: DescribeJobTemplate -> String
$cshow :: DescribeJobTemplate -> String
showsPrec :: Int -> DescribeJobTemplate -> ShowS
$cshowsPrec :: Int -> DescribeJobTemplate -> ShowS
Prelude.Show, forall x. Rep DescribeJobTemplate x -> DescribeJobTemplate
forall x. DescribeJobTemplate -> Rep DescribeJobTemplate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeJobTemplate x -> DescribeJobTemplate
$cfrom :: forall x. DescribeJobTemplate -> Rep DescribeJobTemplate x
Prelude.Generic)
newDescribeJobTemplate ::
Prelude.Text ->
DescribeJobTemplate
newDescribeJobTemplate :: Text -> DescribeJobTemplate
newDescribeJobTemplate Text
pId_ =
DescribeJobTemplate' {$sel:id:DescribeJobTemplate' :: Text
id = Text
pId_}
describeJobTemplate_id :: Lens.Lens' DescribeJobTemplate Prelude.Text
describeJobTemplate_id :: Lens' DescribeJobTemplate Text
describeJobTemplate_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJobTemplate' {Text
id :: Text
$sel:id:DescribeJobTemplate' :: DescribeJobTemplate -> Text
id} -> Text
id) (\s :: DescribeJobTemplate
s@DescribeJobTemplate' {} Text
a -> DescribeJobTemplate
s {$sel:id:DescribeJobTemplate' :: Text
id = Text
a} :: DescribeJobTemplate)
instance Core.AWSRequest DescribeJobTemplate where
type
AWSResponse DescribeJobTemplate =
DescribeJobTemplateResponse
request :: (Service -> Service)
-> DescribeJobTemplate -> Request DescribeJobTemplate
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeJobTemplate
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeJobTemplate)))
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 JobTemplate -> Int -> DescribeJobTemplateResponse
DescribeJobTemplateResponse'
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
"jobTemplate")
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 DescribeJobTemplate where
hashWithSalt :: Int -> DescribeJobTemplate -> Int
hashWithSalt Int
_salt DescribeJobTemplate' {Text
id :: Text
$sel:id:DescribeJobTemplate' :: DescribeJobTemplate -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
instance Prelude.NFData DescribeJobTemplate where
rnf :: DescribeJobTemplate -> ()
rnf DescribeJobTemplate' {Text
id :: Text
$sel:id:DescribeJobTemplate' :: DescribeJobTemplate -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
id
instance Data.ToHeaders DescribeJobTemplate where
toHeaders :: DescribeJobTemplate -> 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 DescribeJobTemplate where
toPath :: DescribeJobTemplate -> ByteString
toPath DescribeJobTemplate' {Text
id :: Text
$sel:id:DescribeJobTemplate' :: DescribeJobTemplate -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/jobtemplates/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
id]
instance Data.ToQuery DescribeJobTemplate where
toQuery :: DescribeJobTemplate -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeJobTemplateResponse = DescribeJobTemplateResponse'
{
DescribeJobTemplateResponse -> Maybe JobTemplate
jobTemplate :: Prelude.Maybe JobTemplate,
DescribeJobTemplateResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeJobTemplateResponse -> DescribeJobTemplateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeJobTemplateResponse -> DescribeJobTemplateResponse -> Bool
$c/= :: DescribeJobTemplateResponse -> DescribeJobTemplateResponse -> Bool
== :: DescribeJobTemplateResponse -> DescribeJobTemplateResponse -> Bool
$c== :: DescribeJobTemplateResponse -> DescribeJobTemplateResponse -> Bool
Prelude.Eq, Int -> DescribeJobTemplateResponse -> ShowS
[DescribeJobTemplateResponse] -> ShowS
DescribeJobTemplateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeJobTemplateResponse] -> ShowS
$cshowList :: [DescribeJobTemplateResponse] -> ShowS
show :: DescribeJobTemplateResponse -> String
$cshow :: DescribeJobTemplateResponse -> String
showsPrec :: Int -> DescribeJobTemplateResponse -> ShowS
$cshowsPrec :: Int -> DescribeJobTemplateResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeJobTemplateResponse x -> DescribeJobTemplateResponse
forall x.
DescribeJobTemplateResponse -> Rep DescribeJobTemplateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeJobTemplateResponse x -> DescribeJobTemplateResponse
$cfrom :: forall x.
DescribeJobTemplateResponse -> Rep DescribeJobTemplateResponse x
Prelude.Generic)
newDescribeJobTemplateResponse ::
Prelude.Int ->
DescribeJobTemplateResponse
newDescribeJobTemplateResponse :: Int -> DescribeJobTemplateResponse
newDescribeJobTemplateResponse Int
pHttpStatus_ =
DescribeJobTemplateResponse'
{ $sel:jobTemplate:DescribeJobTemplateResponse' :: Maybe JobTemplate
jobTemplate =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeJobTemplateResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeJobTemplateResponse_jobTemplate :: Lens.Lens' DescribeJobTemplateResponse (Prelude.Maybe JobTemplate)
describeJobTemplateResponse_jobTemplate :: Lens' DescribeJobTemplateResponse (Maybe JobTemplate)
describeJobTemplateResponse_jobTemplate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJobTemplateResponse' {Maybe JobTemplate
jobTemplate :: Maybe JobTemplate
$sel:jobTemplate:DescribeJobTemplateResponse' :: DescribeJobTemplateResponse -> Maybe JobTemplate
jobTemplate} -> Maybe JobTemplate
jobTemplate) (\s :: DescribeJobTemplateResponse
s@DescribeJobTemplateResponse' {} Maybe JobTemplate
a -> DescribeJobTemplateResponse
s {$sel:jobTemplate:DescribeJobTemplateResponse' :: Maybe JobTemplate
jobTemplate = Maybe JobTemplate
a} :: DescribeJobTemplateResponse)
describeJobTemplateResponse_httpStatus :: Lens.Lens' DescribeJobTemplateResponse Prelude.Int
describeJobTemplateResponse_httpStatus :: Lens' DescribeJobTemplateResponse Int
describeJobTemplateResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJobTemplateResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeJobTemplateResponse' :: DescribeJobTemplateResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeJobTemplateResponse
s@DescribeJobTemplateResponse' {} Int
a -> DescribeJobTemplateResponse
s {$sel:httpStatus:DescribeJobTemplateResponse' :: Int
httpStatus = Int
a} :: DescribeJobTemplateResponse)
instance Prelude.NFData DescribeJobTemplateResponse where
rnf :: DescribeJobTemplateResponse -> ()
rnf DescribeJobTemplateResponse' {Int
Maybe JobTemplate
httpStatus :: Int
jobTemplate :: Maybe JobTemplate
$sel:httpStatus:DescribeJobTemplateResponse' :: DescribeJobTemplateResponse -> Int
$sel:jobTemplate:DescribeJobTemplateResponse' :: DescribeJobTemplateResponse -> Maybe JobTemplate
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe JobTemplate
jobTemplate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus