{-# 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.DeleteWave
(
DeleteWave (..),
newDeleteWave,
deleteWave_waveID,
DeleteWaveResponse (..),
newDeleteWaveResponse,
deleteWaveResponse_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 DeleteWave = DeleteWave'
{
DeleteWave -> Text
waveID :: Prelude.Text
}
deriving (DeleteWave -> DeleteWave -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteWave -> DeleteWave -> Bool
$c/= :: DeleteWave -> DeleteWave -> Bool
== :: DeleteWave -> DeleteWave -> Bool
$c== :: DeleteWave -> DeleteWave -> Bool
Prelude.Eq, ReadPrec [DeleteWave]
ReadPrec DeleteWave
Int -> ReadS DeleteWave
ReadS [DeleteWave]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteWave]
$creadListPrec :: ReadPrec [DeleteWave]
readPrec :: ReadPrec DeleteWave
$creadPrec :: ReadPrec DeleteWave
readList :: ReadS [DeleteWave]
$creadList :: ReadS [DeleteWave]
readsPrec :: Int -> ReadS DeleteWave
$creadsPrec :: Int -> ReadS DeleteWave
Prelude.Read, Int -> DeleteWave -> ShowS
[DeleteWave] -> ShowS
DeleteWave -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteWave] -> ShowS
$cshowList :: [DeleteWave] -> ShowS
show :: DeleteWave -> String
$cshow :: DeleteWave -> String
showsPrec :: Int -> DeleteWave -> ShowS
$cshowsPrec :: Int -> DeleteWave -> ShowS
Prelude.Show, forall x. Rep DeleteWave x -> DeleteWave
forall x. DeleteWave -> Rep DeleteWave x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteWave x -> DeleteWave
$cfrom :: forall x. DeleteWave -> Rep DeleteWave x
Prelude.Generic)
newDeleteWave ::
Prelude.Text ->
DeleteWave
newDeleteWave :: Text -> DeleteWave
newDeleteWave Text
pWaveID_ =
DeleteWave' {$sel:waveID:DeleteWave' :: Text
waveID = Text
pWaveID_}
deleteWave_waveID :: Lens.Lens' DeleteWave Prelude.Text
deleteWave_waveID :: Lens' DeleteWave Text
deleteWave_waveID = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteWave' {Text
waveID :: Text
$sel:waveID:DeleteWave' :: DeleteWave -> Text
waveID} -> Text
waveID) (\s :: DeleteWave
s@DeleteWave' {} Text
a -> DeleteWave
s {$sel:waveID:DeleteWave' :: Text
waveID = Text
a} :: DeleteWave)
instance Core.AWSRequest DeleteWave where
type AWSResponse DeleteWave = DeleteWaveResponse
request :: (Service -> Service) -> DeleteWave -> Request DeleteWave
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 DeleteWave
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteWave)))
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 -> DeleteWaveResponse
DeleteWaveResponse'
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 DeleteWave where
hashWithSalt :: Int -> DeleteWave -> Int
hashWithSalt Int
_salt DeleteWave' {Text
waveID :: Text
$sel:waveID:DeleteWave' :: DeleteWave -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
waveID
instance Prelude.NFData DeleteWave where
rnf :: DeleteWave -> ()
rnf DeleteWave' {Text
waveID :: Text
$sel:waveID:DeleteWave' :: DeleteWave -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
waveID
instance Data.ToHeaders DeleteWave where
toHeaders :: DeleteWave -> 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 DeleteWave where
toJSON :: DeleteWave -> Value
toJSON DeleteWave' {Text
waveID :: Text
$sel:waveID:DeleteWave' :: DeleteWave -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"waveID" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
waveID)]
)
instance Data.ToPath DeleteWave where
toPath :: DeleteWave -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/DeleteWave"
instance Data.ToQuery DeleteWave where
toQuery :: DeleteWave -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteWaveResponse = DeleteWaveResponse'
{
DeleteWaveResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteWaveResponse -> DeleteWaveResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteWaveResponse -> DeleteWaveResponse -> Bool
$c/= :: DeleteWaveResponse -> DeleteWaveResponse -> Bool
== :: DeleteWaveResponse -> DeleteWaveResponse -> Bool
$c== :: DeleteWaveResponse -> DeleteWaveResponse -> Bool
Prelude.Eq, ReadPrec [DeleteWaveResponse]
ReadPrec DeleteWaveResponse
Int -> ReadS DeleteWaveResponse
ReadS [DeleteWaveResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteWaveResponse]
$creadListPrec :: ReadPrec [DeleteWaveResponse]
readPrec :: ReadPrec DeleteWaveResponse
$creadPrec :: ReadPrec DeleteWaveResponse
readList :: ReadS [DeleteWaveResponse]
$creadList :: ReadS [DeleteWaveResponse]
readsPrec :: Int -> ReadS DeleteWaveResponse
$creadsPrec :: Int -> ReadS DeleteWaveResponse
Prelude.Read, Int -> DeleteWaveResponse -> ShowS
[DeleteWaveResponse] -> ShowS
DeleteWaveResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteWaveResponse] -> ShowS
$cshowList :: [DeleteWaveResponse] -> ShowS
show :: DeleteWaveResponse -> String
$cshow :: DeleteWaveResponse -> String
showsPrec :: Int -> DeleteWaveResponse -> ShowS
$cshowsPrec :: Int -> DeleteWaveResponse -> ShowS
Prelude.Show, forall x. Rep DeleteWaveResponse x -> DeleteWaveResponse
forall x. DeleteWaveResponse -> Rep DeleteWaveResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteWaveResponse x -> DeleteWaveResponse
$cfrom :: forall x. DeleteWaveResponse -> Rep DeleteWaveResponse x
Prelude.Generic)
newDeleteWaveResponse ::
Prelude.Int ->
DeleteWaveResponse
newDeleteWaveResponse :: Int -> DeleteWaveResponse
newDeleteWaveResponse Int
pHttpStatus_ =
DeleteWaveResponse' {$sel:httpStatus:DeleteWaveResponse' :: Int
httpStatus = Int
pHttpStatus_}
deleteWaveResponse_httpStatus :: Lens.Lens' DeleteWaveResponse Prelude.Int
deleteWaveResponse_httpStatus :: Lens' DeleteWaveResponse Int
deleteWaveResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteWaveResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteWaveResponse' :: DeleteWaveResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteWaveResponse
s@DeleteWaveResponse' {} Int
a -> DeleteWaveResponse
s {$sel:httpStatus:DeleteWaveResponse' :: Int
httpStatus = Int
a} :: DeleteWaveResponse)
instance Prelude.NFData DeleteWaveResponse where
rnf :: DeleteWaveResponse -> ()
rnf DeleteWaveResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteWaveResponse' :: DeleteWaveResponse -> Int
..} = forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus