{-# 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.MGN.DeleteJob
(
DeleteJob (..),
newDeleteJob,
deleteJob_jobID,
DeleteJobResponse (..),
newDeleteJobResponse,
deleteJobResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MGN.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteJob = DeleteJob'
{
DeleteJob -> Text
jobID :: Prelude.Text
}
deriving (DeleteJob -> DeleteJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteJob -> DeleteJob -> Bool
$c/= :: DeleteJob -> DeleteJob -> Bool
== :: DeleteJob -> DeleteJob -> Bool
$c== :: DeleteJob -> DeleteJob -> Bool
Prelude.Eq, ReadPrec [DeleteJob]
ReadPrec DeleteJob
Int -> ReadS DeleteJob
ReadS [DeleteJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteJob]
$creadListPrec :: ReadPrec [DeleteJob]
readPrec :: ReadPrec DeleteJob
$creadPrec :: ReadPrec DeleteJob
readList :: ReadS [DeleteJob]
$creadList :: ReadS [DeleteJob]
readsPrec :: Int -> ReadS DeleteJob
$creadsPrec :: Int -> ReadS DeleteJob
Prelude.Read, Int -> DeleteJob -> ShowS
[DeleteJob] -> ShowS
DeleteJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteJob] -> ShowS
$cshowList :: [DeleteJob] -> ShowS
show :: DeleteJob -> String
$cshow :: DeleteJob -> String
showsPrec :: Int -> DeleteJob -> ShowS
$cshowsPrec :: Int -> DeleteJob -> ShowS
Prelude.Show, forall x. Rep DeleteJob x -> DeleteJob
forall x. DeleteJob -> Rep DeleteJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteJob x -> DeleteJob
$cfrom :: forall x. DeleteJob -> Rep DeleteJob x
Prelude.Generic)
newDeleteJob ::
Prelude.Text ->
DeleteJob
newDeleteJob :: Text -> DeleteJob
newDeleteJob Text
pJobID_ = DeleteJob' {$sel:jobID:DeleteJob' :: Text
jobID = Text
pJobID_}
deleteJob_jobID :: Lens.Lens' DeleteJob Prelude.Text
deleteJob_jobID :: Lens' DeleteJob Text
deleteJob_jobID = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteJob' {Text
jobID :: Text
$sel:jobID:DeleteJob' :: DeleteJob -> Text
jobID} -> Text
jobID) (\s :: DeleteJob
s@DeleteJob' {} Text
a -> DeleteJob
s {$sel:jobID:DeleteJob' :: Text
jobID = Text
a} :: DeleteJob)
instance Core.AWSRequest DeleteJob where
type AWSResponse DeleteJob = DeleteJobResponse
request :: (Service -> Service) -> DeleteJob -> Request DeleteJob
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 DeleteJob
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteJob)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> DeleteJobResponse
DeleteJobResponse'
forall (f :: * -> *) a b. Functor 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 DeleteJob where
hashWithSalt :: Int -> DeleteJob -> Int
hashWithSalt Int
_salt DeleteJob' {Text
jobID :: Text
$sel:jobID:DeleteJob' :: DeleteJob -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobID
instance Prelude.NFData DeleteJob where
rnf :: DeleteJob -> ()
rnf DeleteJob' {Text
jobID :: Text
$sel:jobID:DeleteJob' :: DeleteJob -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
jobID
instance Data.ToHeaders DeleteJob where
toHeaders :: DeleteJob -> 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.ToJSON DeleteJob where
toJSON :: DeleteJob -> Value
toJSON DeleteJob' {Text
jobID :: Text
$sel:jobID:DeleteJob' :: DeleteJob -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"jobID" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
jobID)]
)
instance Data.ToPath DeleteJob where
toPath :: DeleteJob -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/DeleteJob"
instance Data.ToQuery DeleteJob where
toQuery :: DeleteJob -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteJobResponse = DeleteJobResponse'
{
DeleteJobResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteJobResponse -> DeleteJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteJobResponse -> DeleteJobResponse -> Bool
$c/= :: DeleteJobResponse -> DeleteJobResponse -> Bool
== :: DeleteJobResponse -> DeleteJobResponse -> Bool
$c== :: DeleteJobResponse -> DeleteJobResponse -> Bool
Prelude.Eq, ReadPrec [DeleteJobResponse]
ReadPrec DeleteJobResponse
Int -> ReadS DeleteJobResponse
ReadS [DeleteJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteJobResponse]
$creadListPrec :: ReadPrec [DeleteJobResponse]
readPrec :: ReadPrec DeleteJobResponse
$creadPrec :: ReadPrec DeleteJobResponse
readList :: ReadS [DeleteJobResponse]
$creadList :: ReadS [DeleteJobResponse]
readsPrec :: Int -> ReadS DeleteJobResponse
$creadsPrec :: Int -> ReadS DeleteJobResponse
Prelude.Read, Int -> DeleteJobResponse -> ShowS
[DeleteJobResponse] -> ShowS
DeleteJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteJobResponse] -> ShowS
$cshowList :: [DeleteJobResponse] -> ShowS
show :: DeleteJobResponse -> String
$cshow :: DeleteJobResponse -> String
showsPrec :: Int -> DeleteJobResponse -> ShowS
$cshowsPrec :: Int -> DeleteJobResponse -> ShowS
Prelude.Show, forall x. Rep DeleteJobResponse x -> DeleteJobResponse
forall x. DeleteJobResponse -> Rep DeleteJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteJobResponse x -> DeleteJobResponse
$cfrom :: forall x. DeleteJobResponse -> Rep DeleteJobResponse x
Prelude.Generic)
newDeleteJobResponse ::
Prelude.Int ->
DeleteJobResponse
newDeleteJobResponse :: Int -> DeleteJobResponse
newDeleteJobResponse Int
pHttpStatus_ =
DeleteJobResponse' {$sel:httpStatus:DeleteJobResponse' :: Int
httpStatus = Int
pHttpStatus_}
deleteJobResponse_httpStatus :: Lens.Lens' DeleteJobResponse Prelude.Int
deleteJobResponse_httpStatus :: Lens' DeleteJobResponse Int
deleteJobResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteJobResponse' :: DeleteJobResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteJobResponse
s@DeleteJobResponse' {} Int
a -> DeleteJobResponse
s {$sel:httpStatus:DeleteJobResponse' :: Int
httpStatus = Int
a} :: DeleteJobResponse)
instance Prelude.NFData DeleteJobResponse where
rnf :: DeleteJobResponse -> ()
rnf DeleteJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteJobResponse' :: DeleteJobResponse -> Int
..} = forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus