{-# 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.Pinpoint.DeleteEventStream
(
DeleteEventStream (..),
newDeleteEventStream,
deleteEventStream_applicationId,
DeleteEventStreamResponse (..),
newDeleteEventStreamResponse,
deleteEventStreamResponse_httpStatus,
deleteEventStreamResponse_eventStream,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Pinpoint.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteEventStream = DeleteEventStream'
{
DeleteEventStream -> Text
applicationId :: Prelude.Text
}
deriving (DeleteEventStream -> DeleteEventStream -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteEventStream -> DeleteEventStream -> Bool
$c/= :: DeleteEventStream -> DeleteEventStream -> Bool
== :: DeleteEventStream -> DeleteEventStream -> Bool
$c== :: DeleteEventStream -> DeleteEventStream -> Bool
Prelude.Eq, ReadPrec [DeleteEventStream]
ReadPrec DeleteEventStream
Int -> ReadS DeleteEventStream
ReadS [DeleteEventStream]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteEventStream]
$creadListPrec :: ReadPrec [DeleteEventStream]
readPrec :: ReadPrec DeleteEventStream
$creadPrec :: ReadPrec DeleteEventStream
readList :: ReadS [DeleteEventStream]
$creadList :: ReadS [DeleteEventStream]
readsPrec :: Int -> ReadS DeleteEventStream
$creadsPrec :: Int -> ReadS DeleteEventStream
Prelude.Read, Int -> DeleteEventStream -> ShowS
[DeleteEventStream] -> ShowS
DeleteEventStream -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteEventStream] -> ShowS
$cshowList :: [DeleteEventStream] -> ShowS
show :: DeleteEventStream -> String
$cshow :: DeleteEventStream -> String
showsPrec :: Int -> DeleteEventStream -> ShowS
$cshowsPrec :: Int -> DeleteEventStream -> ShowS
Prelude.Show, forall x. Rep DeleteEventStream x -> DeleteEventStream
forall x. DeleteEventStream -> Rep DeleteEventStream x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteEventStream x -> DeleteEventStream
$cfrom :: forall x. DeleteEventStream -> Rep DeleteEventStream x
Prelude.Generic)
newDeleteEventStream ::
Prelude.Text ->
DeleteEventStream
newDeleteEventStream :: Text -> DeleteEventStream
newDeleteEventStream Text
pApplicationId_ =
DeleteEventStream' {$sel:applicationId:DeleteEventStream' :: Text
applicationId = Text
pApplicationId_}
deleteEventStream_applicationId :: Lens.Lens' DeleteEventStream Prelude.Text
deleteEventStream_applicationId :: Lens' DeleteEventStream Text
deleteEventStream_applicationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEventStream' {Text
applicationId :: Text
$sel:applicationId:DeleteEventStream' :: DeleteEventStream -> Text
applicationId} -> Text
applicationId) (\s :: DeleteEventStream
s@DeleteEventStream' {} Text
a -> DeleteEventStream
s {$sel:applicationId:DeleteEventStream' :: Text
applicationId = Text
a} :: DeleteEventStream)
instance Core.AWSRequest DeleteEventStream where
type
AWSResponse DeleteEventStream =
DeleteEventStreamResponse
request :: (Service -> Service)
-> DeleteEventStream -> Request DeleteEventStream
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteEventStream
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteEventStream)))
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 ->
Int -> EventStream -> DeleteEventStreamResponse
DeleteEventStreamResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
)
instance Prelude.Hashable DeleteEventStream where
hashWithSalt :: Int -> DeleteEventStream -> Int
hashWithSalt Int
_salt DeleteEventStream' {Text
applicationId :: Text
$sel:applicationId:DeleteEventStream' :: DeleteEventStream -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationId
instance Prelude.NFData DeleteEventStream where
rnf :: DeleteEventStream -> ()
rnf DeleteEventStream' {Text
applicationId :: Text
$sel:applicationId:DeleteEventStream' :: DeleteEventStream -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
applicationId
instance Data.ToHeaders DeleteEventStream where
toHeaders :: DeleteEventStream -> 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 DeleteEventStream where
toPath :: DeleteEventStream -> ByteString
toPath DeleteEventStream' {Text
applicationId :: Text
$sel:applicationId:DeleteEventStream' :: DeleteEventStream -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v1/apps/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
applicationId,
ByteString
"/eventstream"
]
instance Data.ToQuery DeleteEventStream where
toQuery :: DeleteEventStream -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteEventStreamResponse = DeleteEventStreamResponse'
{
DeleteEventStreamResponse -> Int
httpStatus :: Prelude.Int,
DeleteEventStreamResponse -> EventStream
eventStream :: EventStream
}
deriving (DeleteEventStreamResponse -> DeleteEventStreamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteEventStreamResponse -> DeleteEventStreamResponse -> Bool
$c/= :: DeleteEventStreamResponse -> DeleteEventStreamResponse -> Bool
== :: DeleteEventStreamResponse -> DeleteEventStreamResponse -> Bool
$c== :: DeleteEventStreamResponse -> DeleteEventStreamResponse -> Bool
Prelude.Eq, ReadPrec [DeleteEventStreamResponse]
ReadPrec DeleteEventStreamResponse
Int -> ReadS DeleteEventStreamResponse
ReadS [DeleteEventStreamResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteEventStreamResponse]
$creadListPrec :: ReadPrec [DeleteEventStreamResponse]
readPrec :: ReadPrec DeleteEventStreamResponse
$creadPrec :: ReadPrec DeleteEventStreamResponse
readList :: ReadS [DeleteEventStreamResponse]
$creadList :: ReadS [DeleteEventStreamResponse]
readsPrec :: Int -> ReadS DeleteEventStreamResponse
$creadsPrec :: Int -> ReadS DeleteEventStreamResponse
Prelude.Read, Int -> DeleteEventStreamResponse -> ShowS
[DeleteEventStreamResponse] -> ShowS
DeleteEventStreamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteEventStreamResponse] -> ShowS
$cshowList :: [DeleteEventStreamResponse] -> ShowS
show :: DeleteEventStreamResponse -> String
$cshow :: DeleteEventStreamResponse -> String
showsPrec :: Int -> DeleteEventStreamResponse -> ShowS
$cshowsPrec :: Int -> DeleteEventStreamResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteEventStreamResponse x -> DeleteEventStreamResponse
forall x.
DeleteEventStreamResponse -> Rep DeleteEventStreamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteEventStreamResponse x -> DeleteEventStreamResponse
$cfrom :: forall x.
DeleteEventStreamResponse -> Rep DeleteEventStreamResponse x
Prelude.Generic)
newDeleteEventStreamResponse ::
Prelude.Int ->
EventStream ->
DeleteEventStreamResponse
newDeleteEventStreamResponse :: Int -> EventStream -> DeleteEventStreamResponse
newDeleteEventStreamResponse
Int
pHttpStatus_
EventStream
pEventStream_ =
DeleteEventStreamResponse'
{ $sel:httpStatus:DeleteEventStreamResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:eventStream:DeleteEventStreamResponse' :: EventStream
eventStream = EventStream
pEventStream_
}
deleteEventStreamResponse_httpStatus :: Lens.Lens' DeleteEventStreamResponse Prelude.Int
deleteEventStreamResponse_httpStatus :: Lens' DeleteEventStreamResponse Int
deleteEventStreamResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEventStreamResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteEventStreamResponse' :: DeleteEventStreamResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteEventStreamResponse
s@DeleteEventStreamResponse' {} Int
a -> DeleteEventStreamResponse
s {$sel:httpStatus:DeleteEventStreamResponse' :: Int
httpStatus = Int
a} :: DeleteEventStreamResponse)
deleteEventStreamResponse_eventStream :: Lens.Lens' DeleteEventStreamResponse EventStream
deleteEventStreamResponse_eventStream :: Lens' DeleteEventStreamResponse EventStream
deleteEventStreamResponse_eventStream = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEventStreamResponse' {EventStream
eventStream :: EventStream
$sel:eventStream:DeleteEventStreamResponse' :: DeleteEventStreamResponse -> EventStream
eventStream} -> EventStream
eventStream) (\s :: DeleteEventStreamResponse
s@DeleteEventStreamResponse' {} EventStream
a -> DeleteEventStreamResponse
s {$sel:eventStream:DeleteEventStreamResponse' :: EventStream
eventStream = EventStream
a} :: DeleteEventStreamResponse)
instance Prelude.NFData DeleteEventStreamResponse where
rnf :: DeleteEventStreamResponse -> ()
rnf DeleteEventStreamResponse' {Int
EventStream
eventStream :: EventStream
httpStatus :: Int
$sel:eventStream:DeleteEventStreamResponse' :: DeleteEventStreamResponse -> EventStream
$sel:httpStatus:DeleteEventStreamResponse' :: DeleteEventStreamResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf EventStream
eventStream