{-# 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.DeleteGcmChannel
(
DeleteGcmChannel (..),
newDeleteGcmChannel,
deleteGcmChannel_applicationId,
DeleteGcmChannelResponse (..),
newDeleteGcmChannelResponse,
deleteGcmChannelResponse_httpStatus,
deleteGcmChannelResponse_gCMChannelResponse,
)
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 DeleteGcmChannel = DeleteGcmChannel'
{
DeleteGcmChannel -> Text
applicationId :: Prelude.Text
}
deriving (DeleteGcmChannel -> DeleteGcmChannel -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteGcmChannel -> DeleteGcmChannel -> Bool
$c/= :: DeleteGcmChannel -> DeleteGcmChannel -> Bool
== :: DeleteGcmChannel -> DeleteGcmChannel -> Bool
$c== :: DeleteGcmChannel -> DeleteGcmChannel -> Bool
Prelude.Eq, ReadPrec [DeleteGcmChannel]
ReadPrec DeleteGcmChannel
Int -> ReadS DeleteGcmChannel
ReadS [DeleteGcmChannel]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteGcmChannel]
$creadListPrec :: ReadPrec [DeleteGcmChannel]
readPrec :: ReadPrec DeleteGcmChannel
$creadPrec :: ReadPrec DeleteGcmChannel
readList :: ReadS [DeleteGcmChannel]
$creadList :: ReadS [DeleteGcmChannel]
readsPrec :: Int -> ReadS DeleteGcmChannel
$creadsPrec :: Int -> ReadS DeleteGcmChannel
Prelude.Read, Int -> DeleteGcmChannel -> ShowS
[DeleteGcmChannel] -> ShowS
DeleteGcmChannel -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteGcmChannel] -> ShowS
$cshowList :: [DeleteGcmChannel] -> ShowS
show :: DeleteGcmChannel -> String
$cshow :: DeleteGcmChannel -> String
showsPrec :: Int -> DeleteGcmChannel -> ShowS
$cshowsPrec :: Int -> DeleteGcmChannel -> ShowS
Prelude.Show, forall x. Rep DeleteGcmChannel x -> DeleteGcmChannel
forall x. DeleteGcmChannel -> Rep DeleteGcmChannel x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteGcmChannel x -> DeleteGcmChannel
$cfrom :: forall x. DeleteGcmChannel -> Rep DeleteGcmChannel x
Prelude.Generic)
newDeleteGcmChannel ::
Prelude.Text ->
DeleteGcmChannel
newDeleteGcmChannel :: Text -> DeleteGcmChannel
newDeleteGcmChannel Text
pApplicationId_ =
DeleteGcmChannel' {$sel:applicationId:DeleteGcmChannel' :: Text
applicationId = Text
pApplicationId_}
deleteGcmChannel_applicationId :: Lens.Lens' DeleteGcmChannel Prelude.Text
deleteGcmChannel_applicationId :: Lens' DeleteGcmChannel Text
deleteGcmChannel_applicationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteGcmChannel' {Text
applicationId :: Text
$sel:applicationId:DeleteGcmChannel' :: DeleteGcmChannel -> Text
applicationId} -> Text
applicationId) (\s :: DeleteGcmChannel
s@DeleteGcmChannel' {} Text
a -> DeleteGcmChannel
s {$sel:applicationId:DeleteGcmChannel' :: Text
applicationId = Text
a} :: DeleteGcmChannel)
instance Core.AWSRequest DeleteGcmChannel where
type
AWSResponse DeleteGcmChannel =
DeleteGcmChannelResponse
request :: (Service -> Service)
-> DeleteGcmChannel -> Request DeleteGcmChannel
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 DeleteGcmChannel
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteGcmChannel)))
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 -> GCMChannelResponse -> DeleteGcmChannelResponse
DeleteGcmChannelResponse'
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 DeleteGcmChannel where
hashWithSalt :: Int -> DeleteGcmChannel -> Int
hashWithSalt Int
_salt DeleteGcmChannel' {Text
applicationId :: Text
$sel:applicationId:DeleteGcmChannel' :: DeleteGcmChannel -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationId
instance Prelude.NFData DeleteGcmChannel where
rnf :: DeleteGcmChannel -> ()
rnf DeleteGcmChannel' {Text
applicationId :: Text
$sel:applicationId:DeleteGcmChannel' :: DeleteGcmChannel -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
applicationId
instance Data.ToHeaders DeleteGcmChannel where
toHeaders :: DeleteGcmChannel -> 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 DeleteGcmChannel where
toPath :: DeleteGcmChannel -> ByteString
toPath DeleteGcmChannel' {Text
applicationId :: Text
$sel:applicationId:DeleteGcmChannel' :: DeleteGcmChannel -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v1/apps/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
applicationId,
ByteString
"/channels/gcm"
]
instance Data.ToQuery DeleteGcmChannel where
toQuery :: DeleteGcmChannel -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteGcmChannelResponse = DeleteGcmChannelResponse'
{
DeleteGcmChannelResponse -> Int
httpStatus :: Prelude.Int,
DeleteGcmChannelResponse -> GCMChannelResponse
gCMChannelResponse :: GCMChannelResponse
}
deriving (DeleteGcmChannelResponse -> DeleteGcmChannelResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteGcmChannelResponse -> DeleteGcmChannelResponse -> Bool
$c/= :: DeleteGcmChannelResponse -> DeleteGcmChannelResponse -> Bool
== :: DeleteGcmChannelResponse -> DeleteGcmChannelResponse -> Bool
$c== :: DeleteGcmChannelResponse -> DeleteGcmChannelResponse -> Bool
Prelude.Eq, ReadPrec [DeleteGcmChannelResponse]
ReadPrec DeleteGcmChannelResponse
Int -> ReadS DeleteGcmChannelResponse
ReadS [DeleteGcmChannelResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteGcmChannelResponse]
$creadListPrec :: ReadPrec [DeleteGcmChannelResponse]
readPrec :: ReadPrec DeleteGcmChannelResponse
$creadPrec :: ReadPrec DeleteGcmChannelResponse
readList :: ReadS [DeleteGcmChannelResponse]
$creadList :: ReadS [DeleteGcmChannelResponse]
readsPrec :: Int -> ReadS DeleteGcmChannelResponse
$creadsPrec :: Int -> ReadS DeleteGcmChannelResponse
Prelude.Read, Int -> DeleteGcmChannelResponse -> ShowS
[DeleteGcmChannelResponse] -> ShowS
DeleteGcmChannelResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteGcmChannelResponse] -> ShowS
$cshowList :: [DeleteGcmChannelResponse] -> ShowS
show :: DeleteGcmChannelResponse -> String
$cshow :: DeleteGcmChannelResponse -> String
showsPrec :: Int -> DeleteGcmChannelResponse -> ShowS
$cshowsPrec :: Int -> DeleteGcmChannelResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteGcmChannelResponse x -> DeleteGcmChannelResponse
forall x.
DeleteGcmChannelResponse -> Rep DeleteGcmChannelResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteGcmChannelResponse x -> DeleteGcmChannelResponse
$cfrom :: forall x.
DeleteGcmChannelResponse -> Rep DeleteGcmChannelResponse x
Prelude.Generic)
newDeleteGcmChannelResponse ::
Prelude.Int ->
GCMChannelResponse ->
DeleteGcmChannelResponse
newDeleteGcmChannelResponse :: Int -> GCMChannelResponse -> DeleteGcmChannelResponse
newDeleteGcmChannelResponse
Int
pHttpStatus_
GCMChannelResponse
pGCMChannelResponse_ =
DeleteGcmChannelResponse'
{ $sel:httpStatus:DeleteGcmChannelResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:gCMChannelResponse:DeleteGcmChannelResponse' :: GCMChannelResponse
gCMChannelResponse = GCMChannelResponse
pGCMChannelResponse_
}
deleteGcmChannelResponse_httpStatus :: Lens.Lens' DeleteGcmChannelResponse Prelude.Int
deleteGcmChannelResponse_httpStatus :: Lens' DeleteGcmChannelResponse Int
deleteGcmChannelResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteGcmChannelResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteGcmChannelResponse' :: DeleteGcmChannelResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteGcmChannelResponse
s@DeleteGcmChannelResponse' {} Int
a -> DeleteGcmChannelResponse
s {$sel:httpStatus:DeleteGcmChannelResponse' :: Int
httpStatus = Int
a} :: DeleteGcmChannelResponse)
deleteGcmChannelResponse_gCMChannelResponse :: Lens.Lens' DeleteGcmChannelResponse GCMChannelResponse
deleteGcmChannelResponse_gCMChannelResponse :: Lens' DeleteGcmChannelResponse GCMChannelResponse
deleteGcmChannelResponse_gCMChannelResponse = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteGcmChannelResponse' {GCMChannelResponse
gCMChannelResponse :: GCMChannelResponse
$sel:gCMChannelResponse:DeleteGcmChannelResponse' :: DeleteGcmChannelResponse -> GCMChannelResponse
gCMChannelResponse} -> GCMChannelResponse
gCMChannelResponse) (\s :: DeleteGcmChannelResponse
s@DeleteGcmChannelResponse' {} GCMChannelResponse
a -> DeleteGcmChannelResponse
s {$sel:gCMChannelResponse:DeleteGcmChannelResponse' :: GCMChannelResponse
gCMChannelResponse = GCMChannelResponse
a} :: DeleteGcmChannelResponse)
instance Prelude.NFData DeleteGcmChannelResponse where
rnf :: DeleteGcmChannelResponse -> ()
rnf DeleteGcmChannelResponse' {Int
GCMChannelResponse
gCMChannelResponse :: GCMChannelResponse
httpStatus :: Int
$sel:gCMChannelResponse:DeleteGcmChannelResponse' :: DeleteGcmChannelResponse -> GCMChannelResponse
$sel:httpStatus:DeleteGcmChannelResponse' :: DeleteGcmChannelResponse -> 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 GCMChannelResponse
gCMChannelResponse