{-# 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.IoT.DescribeJobExecution
(
DescribeJobExecution (..),
newDescribeJobExecution,
describeJobExecution_executionNumber,
describeJobExecution_jobId,
describeJobExecution_thingName,
DescribeJobExecutionResponse (..),
newDescribeJobExecutionResponse,
describeJobExecutionResponse_execution,
describeJobExecutionResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoT.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeJobExecution = DescribeJobExecution'
{
DescribeJobExecution -> Maybe Integer
executionNumber :: Prelude.Maybe Prelude.Integer,
DescribeJobExecution -> Text
jobId :: Prelude.Text,
DescribeJobExecution -> Text
thingName :: Prelude.Text
}
deriving (DescribeJobExecution -> DescribeJobExecution -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeJobExecution -> DescribeJobExecution -> Bool
$c/= :: DescribeJobExecution -> DescribeJobExecution -> Bool
== :: DescribeJobExecution -> DescribeJobExecution -> Bool
$c== :: DescribeJobExecution -> DescribeJobExecution -> Bool
Prelude.Eq, ReadPrec [DescribeJobExecution]
ReadPrec DescribeJobExecution
Int -> ReadS DescribeJobExecution
ReadS [DescribeJobExecution]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeJobExecution]
$creadListPrec :: ReadPrec [DescribeJobExecution]
readPrec :: ReadPrec DescribeJobExecution
$creadPrec :: ReadPrec DescribeJobExecution
readList :: ReadS [DescribeJobExecution]
$creadList :: ReadS [DescribeJobExecution]
readsPrec :: Int -> ReadS DescribeJobExecution
$creadsPrec :: Int -> ReadS DescribeJobExecution
Prelude.Read, Int -> DescribeJobExecution -> ShowS
[DescribeJobExecution] -> ShowS
DescribeJobExecution -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeJobExecution] -> ShowS
$cshowList :: [DescribeJobExecution] -> ShowS
show :: DescribeJobExecution -> String
$cshow :: DescribeJobExecution -> String
showsPrec :: Int -> DescribeJobExecution -> ShowS
$cshowsPrec :: Int -> DescribeJobExecution -> ShowS
Prelude.Show, forall x. Rep DescribeJobExecution x -> DescribeJobExecution
forall x. DescribeJobExecution -> Rep DescribeJobExecution x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeJobExecution x -> DescribeJobExecution
$cfrom :: forall x. DescribeJobExecution -> Rep DescribeJobExecution x
Prelude.Generic)
newDescribeJobExecution ::
Prelude.Text ->
Prelude.Text ->
DescribeJobExecution
newDescribeJobExecution :: Text -> Text -> DescribeJobExecution
newDescribeJobExecution Text
pJobId_ Text
pThingName_ =
DescribeJobExecution'
{ $sel:executionNumber:DescribeJobExecution' :: Maybe Integer
executionNumber =
forall a. Maybe a
Prelude.Nothing,
$sel:jobId:DescribeJobExecution' :: Text
jobId = Text
pJobId_,
$sel:thingName:DescribeJobExecution' :: Text
thingName = Text
pThingName_
}
describeJobExecution_executionNumber :: Lens.Lens' DescribeJobExecution (Prelude.Maybe Prelude.Integer)
describeJobExecution_executionNumber :: Lens' DescribeJobExecution (Maybe Integer)
describeJobExecution_executionNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJobExecution' {Maybe Integer
executionNumber :: Maybe Integer
$sel:executionNumber:DescribeJobExecution' :: DescribeJobExecution -> Maybe Integer
executionNumber} -> Maybe Integer
executionNumber) (\s :: DescribeJobExecution
s@DescribeJobExecution' {} Maybe Integer
a -> DescribeJobExecution
s {$sel:executionNumber:DescribeJobExecution' :: Maybe Integer
executionNumber = Maybe Integer
a} :: DescribeJobExecution)
describeJobExecution_jobId :: Lens.Lens' DescribeJobExecution Prelude.Text
describeJobExecution_jobId :: Lens' DescribeJobExecution Text
describeJobExecution_jobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJobExecution' {Text
jobId :: Text
$sel:jobId:DescribeJobExecution' :: DescribeJobExecution -> Text
jobId} -> Text
jobId) (\s :: DescribeJobExecution
s@DescribeJobExecution' {} Text
a -> DescribeJobExecution
s {$sel:jobId:DescribeJobExecution' :: Text
jobId = Text
a} :: DescribeJobExecution)
describeJobExecution_thingName :: Lens.Lens' DescribeJobExecution Prelude.Text
describeJobExecution_thingName :: Lens' DescribeJobExecution Text
describeJobExecution_thingName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJobExecution' {Text
thingName :: Text
$sel:thingName:DescribeJobExecution' :: DescribeJobExecution -> Text
thingName} -> Text
thingName) (\s :: DescribeJobExecution
s@DescribeJobExecution' {} Text
a -> DescribeJobExecution
s {$sel:thingName:DescribeJobExecution' :: Text
thingName = Text
a} :: DescribeJobExecution)
instance Core.AWSRequest DescribeJobExecution where
type
AWSResponse DescribeJobExecution =
DescribeJobExecutionResponse
request :: (Service -> Service)
-> DescribeJobExecution -> Request DescribeJobExecution
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 DescribeJobExecution
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeJobExecution)))
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 JobExecution -> Int -> DescribeJobExecutionResponse
DescribeJobExecutionResponse'
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
"execution")
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 DescribeJobExecution where
hashWithSalt :: Int -> DescribeJobExecution -> Int
hashWithSalt Int
_salt DescribeJobExecution' {Maybe Integer
Text
thingName :: Text
jobId :: Text
executionNumber :: Maybe Integer
$sel:thingName:DescribeJobExecution' :: DescribeJobExecution -> Text
$sel:jobId:DescribeJobExecution' :: DescribeJobExecution -> Text
$sel:executionNumber:DescribeJobExecution' :: DescribeJobExecution -> Maybe Integer
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
executionNumber
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
thingName
instance Prelude.NFData DescribeJobExecution where
rnf :: DescribeJobExecution -> ()
rnf DescribeJobExecution' {Maybe Integer
Text
thingName :: Text
jobId :: Text
executionNumber :: Maybe Integer
$sel:thingName:DescribeJobExecution' :: DescribeJobExecution -> Text
$sel:jobId:DescribeJobExecution' :: DescribeJobExecution -> Text
$sel:executionNumber:DescribeJobExecution' :: DescribeJobExecution -> Maybe Integer
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
executionNumber
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
thingName
instance Data.ToHeaders DescribeJobExecution where
toHeaders :: DescribeJobExecution -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeJobExecution where
toPath :: DescribeJobExecution -> ByteString
toPath DescribeJobExecution' {Maybe Integer
Text
thingName :: Text
jobId :: Text
executionNumber :: Maybe Integer
$sel:thingName:DescribeJobExecution' :: DescribeJobExecution -> Text
$sel:jobId:DescribeJobExecution' :: DescribeJobExecution -> Text
$sel:executionNumber:DescribeJobExecution' :: DescribeJobExecution -> Maybe Integer
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/things/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
thingName,
ByteString
"/jobs/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
jobId
]
instance Data.ToQuery DescribeJobExecution where
toQuery :: DescribeJobExecution -> QueryString
toQuery DescribeJobExecution' {Maybe Integer
Text
thingName :: Text
jobId :: Text
executionNumber :: Maybe Integer
$sel:thingName:DescribeJobExecution' :: DescribeJobExecution -> Text
$sel:jobId:DescribeJobExecution' :: DescribeJobExecution -> Text
$sel:executionNumber:DescribeJobExecution' :: DescribeJobExecution -> Maybe Integer
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"executionNumber" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Integer
executionNumber]
data DescribeJobExecutionResponse = DescribeJobExecutionResponse'
{
DescribeJobExecutionResponse -> Maybe JobExecution
execution :: Prelude.Maybe JobExecution,
DescribeJobExecutionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeJobExecutionResponse
-> DescribeJobExecutionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeJobExecutionResponse
-> DescribeJobExecutionResponse -> Bool
$c/= :: DescribeJobExecutionResponse
-> DescribeJobExecutionResponse -> Bool
== :: DescribeJobExecutionResponse
-> DescribeJobExecutionResponse -> Bool
$c== :: DescribeJobExecutionResponse
-> DescribeJobExecutionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeJobExecutionResponse]
ReadPrec DescribeJobExecutionResponse
Int -> ReadS DescribeJobExecutionResponse
ReadS [DescribeJobExecutionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeJobExecutionResponse]
$creadListPrec :: ReadPrec [DescribeJobExecutionResponse]
readPrec :: ReadPrec DescribeJobExecutionResponse
$creadPrec :: ReadPrec DescribeJobExecutionResponse
readList :: ReadS [DescribeJobExecutionResponse]
$creadList :: ReadS [DescribeJobExecutionResponse]
readsPrec :: Int -> ReadS DescribeJobExecutionResponse
$creadsPrec :: Int -> ReadS DescribeJobExecutionResponse
Prelude.Read, Int -> DescribeJobExecutionResponse -> ShowS
[DescribeJobExecutionResponse] -> ShowS
DescribeJobExecutionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeJobExecutionResponse] -> ShowS
$cshowList :: [DescribeJobExecutionResponse] -> ShowS
show :: DescribeJobExecutionResponse -> String
$cshow :: DescribeJobExecutionResponse -> String
showsPrec :: Int -> DescribeJobExecutionResponse -> ShowS
$cshowsPrec :: Int -> DescribeJobExecutionResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeJobExecutionResponse x -> DescribeJobExecutionResponse
forall x.
DescribeJobExecutionResponse -> Rep DescribeJobExecutionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeJobExecutionResponse x -> DescribeJobExecutionResponse
$cfrom :: forall x.
DescribeJobExecutionResponse -> Rep DescribeJobExecutionResponse x
Prelude.Generic)
newDescribeJobExecutionResponse ::
Prelude.Int ->
DescribeJobExecutionResponse
newDescribeJobExecutionResponse :: Int -> DescribeJobExecutionResponse
newDescribeJobExecutionResponse Int
pHttpStatus_ =
DescribeJobExecutionResponse'
{ $sel:execution:DescribeJobExecutionResponse' :: Maybe JobExecution
execution =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeJobExecutionResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeJobExecutionResponse_execution :: Lens.Lens' DescribeJobExecutionResponse (Prelude.Maybe JobExecution)
describeJobExecutionResponse_execution :: Lens' DescribeJobExecutionResponse (Maybe JobExecution)
describeJobExecutionResponse_execution = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJobExecutionResponse' {Maybe JobExecution
execution :: Maybe JobExecution
$sel:execution:DescribeJobExecutionResponse' :: DescribeJobExecutionResponse -> Maybe JobExecution
execution} -> Maybe JobExecution
execution) (\s :: DescribeJobExecutionResponse
s@DescribeJobExecutionResponse' {} Maybe JobExecution
a -> DescribeJobExecutionResponse
s {$sel:execution:DescribeJobExecutionResponse' :: Maybe JobExecution
execution = Maybe JobExecution
a} :: DescribeJobExecutionResponse)
describeJobExecutionResponse_httpStatus :: Lens.Lens' DescribeJobExecutionResponse Prelude.Int
describeJobExecutionResponse_httpStatus :: Lens' DescribeJobExecutionResponse Int
describeJobExecutionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJobExecutionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeJobExecutionResponse' :: DescribeJobExecutionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeJobExecutionResponse
s@DescribeJobExecutionResponse' {} Int
a -> DescribeJobExecutionResponse
s {$sel:httpStatus:DescribeJobExecutionResponse' :: Int
httpStatus = Int
a} :: DescribeJobExecutionResponse)
instance Prelude.NFData DescribeJobExecutionResponse where
rnf :: DescribeJobExecutionResponse -> ()
rnf DescribeJobExecutionResponse' {Int
Maybe JobExecution
httpStatus :: Int
execution :: Maybe JobExecution
$sel:httpStatus:DescribeJobExecutionResponse' :: DescribeJobExecutionResponse -> Int
$sel:execution:DescribeJobExecutionResponse' :: DescribeJobExecutionResponse -> Maybe JobExecution
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe JobExecution
execution
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus