{-# 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.UpdateApnsVoipChannel
(
UpdateApnsVoipChannel (..),
newUpdateApnsVoipChannel,
updateApnsVoipChannel_applicationId,
updateApnsVoipChannel_aPNSVoipChannelRequest,
UpdateApnsVoipChannelResponse (..),
newUpdateApnsVoipChannelResponse,
updateApnsVoipChannelResponse_httpStatus,
updateApnsVoipChannelResponse_aPNSVoipChannelResponse,
)
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 UpdateApnsVoipChannel = UpdateApnsVoipChannel'
{
UpdateApnsVoipChannel -> Text
applicationId :: Prelude.Text,
UpdateApnsVoipChannel -> APNSVoipChannelRequest
aPNSVoipChannelRequest :: APNSVoipChannelRequest
}
deriving (UpdateApnsVoipChannel -> UpdateApnsVoipChannel -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateApnsVoipChannel -> UpdateApnsVoipChannel -> Bool
$c/= :: UpdateApnsVoipChannel -> UpdateApnsVoipChannel -> Bool
== :: UpdateApnsVoipChannel -> UpdateApnsVoipChannel -> Bool
$c== :: UpdateApnsVoipChannel -> UpdateApnsVoipChannel -> Bool
Prelude.Eq, ReadPrec [UpdateApnsVoipChannel]
ReadPrec UpdateApnsVoipChannel
Int -> ReadS UpdateApnsVoipChannel
ReadS [UpdateApnsVoipChannel]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateApnsVoipChannel]
$creadListPrec :: ReadPrec [UpdateApnsVoipChannel]
readPrec :: ReadPrec UpdateApnsVoipChannel
$creadPrec :: ReadPrec UpdateApnsVoipChannel
readList :: ReadS [UpdateApnsVoipChannel]
$creadList :: ReadS [UpdateApnsVoipChannel]
readsPrec :: Int -> ReadS UpdateApnsVoipChannel
$creadsPrec :: Int -> ReadS UpdateApnsVoipChannel
Prelude.Read, Int -> UpdateApnsVoipChannel -> ShowS
[UpdateApnsVoipChannel] -> ShowS
UpdateApnsVoipChannel -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateApnsVoipChannel] -> ShowS
$cshowList :: [UpdateApnsVoipChannel] -> ShowS
show :: UpdateApnsVoipChannel -> String
$cshow :: UpdateApnsVoipChannel -> String
showsPrec :: Int -> UpdateApnsVoipChannel -> ShowS
$cshowsPrec :: Int -> UpdateApnsVoipChannel -> ShowS
Prelude.Show, forall x. Rep UpdateApnsVoipChannel x -> UpdateApnsVoipChannel
forall x. UpdateApnsVoipChannel -> Rep UpdateApnsVoipChannel x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateApnsVoipChannel x -> UpdateApnsVoipChannel
$cfrom :: forall x. UpdateApnsVoipChannel -> Rep UpdateApnsVoipChannel x
Prelude.Generic)
newUpdateApnsVoipChannel ::
Prelude.Text ->
APNSVoipChannelRequest ->
UpdateApnsVoipChannel
newUpdateApnsVoipChannel :: Text -> APNSVoipChannelRequest -> UpdateApnsVoipChannel
newUpdateApnsVoipChannel
Text
pApplicationId_
APNSVoipChannelRequest
pAPNSVoipChannelRequest_ =
UpdateApnsVoipChannel'
{ $sel:applicationId:UpdateApnsVoipChannel' :: Text
applicationId =
Text
pApplicationId_,
$sel:aPNSVoipChannelRequest:UpdateApnsVoipChannel' :: APNSVoipChannelRequest
aPNSVoipChannelRequest = APNSVoipChannelRequest
pAPNSVoipChannelRequest_
}
updateApnsVoipChannel_applicationId :: Lens.Lens' UpdateApnsVoipChannel Prelude.Text
updateApnsVoipChannel_applicationId :: Lens' UpdateApnsVoipChannel Text
updateApnsVoipChannel_applicationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApnsVoipChannel' {Text
applicationId :: Text
$sel:applicationId:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> Text
applicationId} -> Text
applicationId) (\s :: UpdateApnsVoipChannel
s@UpdateApnsVoipChannel' {} Text
a -> UpdateApnsVoipChannel
s {$sel:applicationId:UpdateApnsVoipChannel' :: Text
applicationId = Text
a} :: UpdateApnsVoipChannel)
updateApnsVoipChannel_aPNSVoipChannelRequest :: Lens.Lens' UpdateApnsVoipChannel APNSVoipChannelRequest
updateApnsVoipChannel_aPNSVoipChannelRequest :: Lens' UpdateApnsVoipChannel APNSVoipChannelRequest
updateApnsVoipChannel_aPNSVoipChannelRequest = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApnsVoipChannel' {APNSVoipChannelRequest
aPNSVoipChannelRequest :: APNSVoipChannelRequest
$sel:aPNSVoipChannelRequest:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> APNSVoipChannelRequest
aPNSVoipChannelRequest} -> APNSVoipChannelRequest
aPNSVoipChannelRequest) (\s :: UpdateApnsVoipChannel
s@UpdateApnsVoipChannel' {} APNSVoipChannelRequest
a -> UpdateApnsVoipChannel
s {$sel:aPNSVoipChannelRequest:UpdateApnsVoipChannel' :: APNSVoipChannelRequest
aPNSVoipChannelRequest = APNSVoipChannelRequest
a} :: UpdateApnsVoipChannel)
instance Core.AWSRequest UpdateApnsVoipChannel where
type
AWSResponse UpdateApnsVoipChannel =
UpdateApnsVoipChannelResponse
request :: (Service -> Service)
-> UpdateApnsVoipChannel -> Request UpdateApnsVoipChannel
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateApnsVoipChannel
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateApnsVoipChannel)))
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 -> APNSVoipChannelResponse -> UpdateApnsVoipChannelResponse
UpdateApnsVoipChannelResponse'
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 UpdateApnsVoipChannel where
hashWithSalt :: Int -> UpdateApnsVoipChannel -> Int
hashWithSalt Int
_salt UpdateApnsVoipChannel' {Text
APNSVoipChannelRequest
aPNSVoipChannelRequest :: APNSVoipChannelRequest
applicationId :: Text
$sel:aPNSVoipChannelRequest:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> APNSVoipChannelRequest
$sel:applicationId:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` APNSVoipChannelRequest
aPNSVoipChannelRequest
instance Prelude.NFData UpdateApnsVoipChannel where
rnf :: UpdateApnsVoipChannel -> ()
rnf UpdateApnsVoipChannel' {Text
APNSVoipChannelRequest
aPNSVoipChannelRequest :: APNSVoipChannelRequest
applicationId :: Text
$sel:aPNSVoipChannelRequest:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> APNSVoipChannelRequest
$sel:applicationId:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
applicationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf APNSVoipChannelRequest
aPNSVoipChannelRequest
instance Data.ToHeaders UpdateApnsVoipChannel where
toHeaders :: UpdateApnsVoipChannel -> 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 UpdateApnsVoipChannel where
toJSON :: UpdateApnsVoipChannel -> Value
toJSON UpdateApnsVoipChannel' {Text
APNSVoipChannelRequest
aPNSVoipChannelRequest :: APNSVoipChannelRequest
applicationId :: Text
$sel:aPNSVoipChannelRequest:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> APNSVoipChannelRequest
$sel:applicationId:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> Text
..} =
forall a. ToJSON a => a -> Value
Data.toJSON APNSVoipChannelRequest
aPNSVoipChannelRequest
instance Data.ToPath UpdateApnsVoipChannel where
toPath :: UpdateApnsVoipChannel -> ByteString
toPath UpdateApnsVoipChannel' {Text
APNSVoipChannelRequest
aPNSVoipChannelRequest :: APNSVoipChannelRequest
applicationId :: Text
$sel:aPNSVoipChannelRequest:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> APNSVoipChannelRequest
$sel:applicationId:UpdateApnsVoipChannel' :: UpdateApnsVoipChannel -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v1/apps/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
applicationId,
ByteString
"/channels/apns_voip"
]
instance Data.ToQuery UpdateApnsVoipChannel where
toQuery :: UpdateApnsVoipChannel -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateApnsVoipChannelResponse = UpdateApnsVoipChannelResponse'
{
UpdateApnsVoipChannelResponse -> Int
httpStatus :: Prelude.Int,
UpdateApnsVoipChannelResponse -> APNSVoipChannelResponse
aPNSVoipChannelResponse :: APNSVoipChannelResponse
}
deriving (UpdateApnsVoipChannelResponse
-> UpdateApnsVoipChannelResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateApnsVoipChannelResponse
-> UpdateApnsVoipChannelResponse -> Bool
$c/= :: UpdateApnsVoipChannelResponse
-> UpdateApnsVoipChannelResponse -> Bool
== :: UpdateApnsVoipChannelResponse
-> UpdateApnsVoipChannelResponse -> Bool
$c== :: UpdateApnsVoipChannelResponse
-> UpdateApnsVoipChannelResponse -> Bool
Prelude.Eq, ReadPrec [UpdateApnsVoipChannelResponse]
ReadPrec UpdateApnsVoipChannelResponse
Int -> ReadS UpdateApnsVoipChannelResponse
ReadS [UpdateApnsVoipChannelResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateApnsVoipChannelResponse]
$creadListPrec :: ReadPrec [UpdateApnsVoipChannelResponse]
readPrec :: ReadPrec UpdateApnsVoipChannelResponse
$creadPrec :: ReadPrec UpdateApnsVoipChannelResponse
readList :: ReadS [UpdateApnsVoipChannelResponse]
$creadList :: ReadS [UpdateApnsVoipChannelResponse]
readsPrec :: Int -> ReadS UpdateApnsVoipChannelResponse
$creadsPrec :: Int -> ReadS UpdateApnsVoipChannelResponse
Prelude.Read, Int -> UpdateApnsVoipChannelResponse -> ShowS
[UpdateApnsVoipChannelResponse] -> ShowS
UpdateApnsVoipChannelResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateApnsVoipChannelResponse] -> ShowS
$cshowList :: [UpdateApnsVoipChannelResponse] -> ShowS
show :: UpdateApnsVoipChannelResponse -> String
$cshow :: UpdateApnsVoipChannelResponse -> String
showsPrec :: Int -> UpdateApnsVoipChannelResponse -> ShowS
$cshowsPrec :: Int -> UpdateApnsVoipChannelResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateApnsVoipChannelResponse x
-> UpdateApnsVoipChannelResponse
forall x.
UpdateApnsVoipChannelResponse
-> Rep UpdateApnsVoipChannelResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateApnsVoipChannelResponse x
-> UpdateApnsVoipChannelResponse
$cfrom :: forall x.
UpdateApnsVoipChannelResponse
-> Rep UpdateApnsVoipChannelResponse x
Prelude.Generic)
newUpdateApnsVoipChannelResponse ::
Prelude.Int ->
APNSVoipChannelResponse ->
UpdateApnsVoipChannelResponse
newUpdateApnsVoipChannelResponse :: Int -> APNSVoipChannelResponse -> UpdateApnsVoipChannelResponse
newUpdateApnsVoipChannelResponse
Int
pHttpStatus_
APNSVoipChannelResponse
pAPNSVoipChannelResponse_ =
UpdateApnsVoipChannelResponse'
{ $sel:httpStatus:UpdateApnsVoipChannelResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:aPNSVoipChannelResponse:UpdateApnsVoipChannelResponse' :: APNSVoipChannelResponse
aPNSVoipChannelResponse =
APNSVoipChannelResponse
pAPNSVoipChannelResponse_
}
updateApnsVoipChannelResponse_httpStatus :: Lens.Lens' UpdateApnsVoipChannelResponse Prelude.Int
updateApnsVoipChannelResponse_httpStatus :: Lens' UpdateApnsVoipChannelResponse Int
updateApnsVoipChannelResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApnsVoipChannelResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateApnsVoipChannelResponse' :: UpdateApnsVoipChannelResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateApnsVoipChannelResponse
s@UpdateApnsVoipChannelResponse' {} Int
a -> UpdateApnsVoipChannelResponse
s {$sel:httpStatus:UpdateApnsVoipChannelResponse' :: Int
httpStatus = Int
a} :: UpdateApnsVoipChannelResponse)
updateApnsVoipChannelResponse_aPNSVoipChannelResponse :: Lens.Lens' UpdateApnsVoipChannelResponse APNSVoipChannelResponse
updateApnsVoipChannelResponse_aPNSVoipChannelResponse :: Lens' UpdateApnsVoipChannelResponse APNSVoipChannelResponse
updateApnsVoipChannelResponse_aPNSVoipChannelResponse = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApnsVoipChannelResponse' {APNSVoipChannelResponse
aPNSVoipChannelResponse :: APNSVoipChannelResponse
$sel:aPNSVoipChannelResponse:UpdateApnsVoipChannelResponse' :: UpdateApnsVoipChannelResponse -> APNSVoipChannelResponse
aPNSVoipChannelResponse} -> APNSVoipChannelResponse
aPNSVoipChannelResponse) (\s :: UpdateApnsVoipChannelResponse
s@UpdateApnsVoipChannelResponse' {} APNSVoipChannelResponse
a -> UpdateApnsVoipChannelResponse
s {$sel:aPNSVoipChannelResponse:UpdateApnsVoipChannelResponse' :: APNSVoipChannelResponse
aPNSVoipChannelResponse = APNSVoipChannelResponse
a} :: UpdateApnsVoipChannelResponse)
instance Prelude.NFData UpdateApnsVoipChannelResponse where
rnf :: UpdateApnsVoipChannelResponse -> ()
rnf UpdateApnsVoipChannelResponse' {Int
APNSVoipChannelResponse
aPNSVoipChannelResponse :: APNSVoipChannelResponse
httpStatus :: Int
$sel:aPNSVoipChannelResponse:UpdateApnsVoipChannelResponse' :: UpdateApnsVoipChannelResponse -> APNSVoipChannelResponse
$sel:httpStatus:UpdateApnsVoipChannelResponse' :: UpdateApnsVoipChannelResponse -> 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 APNSVoipChannelResponse
aPNSVoipChannelResponse