{-# 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.GamesParks.DisconnectPlayer
(
DisconnectPlayer (..),
newDisconnectPlayer,
disconnectPlayer_gameName,
disconnectPlayer_playerId,
disconnectPlayer_stageName,
DisconnectPlayerResponse (..),
newDisconnectPlayerResponse,
disconnectPlayerResponse_disconnectFailures,
disconnectPlayerResponse_disconnectSuccesses,
disconnectPlayerResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.GamesParks.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DisconnectPlayer = DisconnectPlayer'
{
DisconnectPlayer -> Text
gameName :: Prelude.Text,
DisconnectPlayer -> Text
playerId :: Prelude.Text,
DisconnectPlayer -> Text
stageName :: Prelude.Text
}
deriving (DisconnectPlayer -> DisconnectPlayer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisconnectPlayer -> DisconnectPlayer -> Bool
$c/= :: DisconnectPlayer -> DisconnectPlayer -> Bool
== :: DisconnectPlayer -> DisconnectPlayer -> Bool
$c== :: DisconnectPlayer -> DisconnectPlayer -> Bool
Prelude.Eq, ReadPrec [DisconnectPlayer]
ReadPrec DisconnectPlayer
Int -> ReadS DisconnectPlayer
ReadS [DisconnectPlayer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisconnectPlayer]
$creadListPrec :: ReadPrec [DisconnectPlayer]
readPrec :: ReadPrec DisconnectPlayer
$creadPrec :: ReadPrec DisconnectPlayer
readList :: ReadS [DisconnectPlayer]
$creadList :: ReadS [DisconnectPlayer]
readsPrec :: Int -> ReadS DisconnectPlayer
$creadsPrec :: Int -> ReadS DisconnectPlayer
Prelude.Read, Int -> DisconnectPlayer -> ShowS
[DisconnectPlayer] -> ShowS
DisconnectPlayer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisconnectPlayer] -> ShowS
$cshowList :: [DisconnectPlayer] -> ShowS
show :: DisconnectPlayer -> String
$cshow :: DisconnectPlayer -> String
showsPrec :: Int -> DisconnectPlayer -> ShowS
$cshowsPrec :: Int -> DisconnectPlayer -> ShowS
Prelude.Show, forall x. Rep DisconnectPlayer x -> DisconnectPlayer
forall x. DisconnectPlayer -> Rep DisconnectPlayer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DisconnectPlayer x -> DisconnectPlayer
$cfrom :: forall x. DisconnectPlayer -> Rep DisconnectPlayer x
Prelude.Generic)
newDisconnectPlayer ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
DisconnectPlayer
newDisconnectPlayer :: Text -> Text -> Text -> DisconnectPlayer
newDisconnectPlayer Text
pGameName_ Text
pPlayerId_ Text
pStageName_ =
DisconnectPlayer'
{ $sel:gameName:DisconnectPlayer' :: Text
gameName = Text
pGameName_,
$sel:playerId:DisconnectPlayer' :: Text
playerId = Text
pPlayerId_,
$sel:stageName:DisconnectPlayer' :: Text
stageName = Text
pStageName_
}
disconnectPlayer_gameName :: Lens.Lens' DisconnectPlayer Prelude.Text
disconnectPlayer_gameName :: Lens' DisconnectPlayer Text
disconnectPlayer_gameName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisconnectPlayer' {Text
gameName :: Text
$sel:gameName:DisconnectPlayer' :: DisconnectPlayer -> Text
gameName} -> Text
gameName) (\s :: DisconnectPlayer
s@DisconnectPlayer' {} Text
a -> DisconnectPlayer
s {$sel:gameName:DisconnectPlayer' :: Text
gameName = Text
a} :: DisconnectPlayer)
disconnectPlayer_playerId :: Lens.Lens' DisconnectPlayer Prelude.Text
disconnectPlayer_playerId :: Lens' DisconnectPlayer Text
disconnectPlayer_playerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisconnectPlayer' {Text
playerId :: Text
$sel:playerId:DisconnectPlayer' :: DisconnectPlayer -> Text
playerId} -> Text
playerId) (\s :: DisconnectPlayer
s@DisconnectPlayer' {} Text
a -> DisconnectPlayer
s {$sel:playerId:DisconnectPlayer' :: Text
playerId = Text
a} :: DisconnectPlayer)
disconnectPlayer_stageName :: Lens.Lens' DisconnectPlayer Prelude.Text
disconnectPlayer_stageName :: Lens' DisconnectPlayer Text
disconnectPlayer_stageName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisconnectPlayer' {Text
stageName :: Text
$sel:stageName:DisconnectPlayer' :: DisconnectPlayer -> Text
stageName} -> Text
stageName) (\s :: DisconnectPlayer
s@DisconnectPlayer' {} Text
a -> DisconnectPlayer
s {$sel:stageName:DisconnectPlayer' :: Text
stageName = Text
a} :: DisconnectPlayer)
instance Core.AWSRequest DisconnectPlayer where
type
AWSResponse DisconnectPlayer =
DisconnectPlayerResponse
request :: (Service -> Service)
-> DisconnectPlayer -> Request DisconnectPlayer
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 DisconnectPlayer
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DisconnectPlayer)))
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 ->
Maybe [Text] -> Maybe [Text] -> Int -> DisconnectPlayerResponse
DisconnectPlayerResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DisconnectFailures"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DisconnectSuccesses"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
forall (f :: * -> *) a b. Applicative f => 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 DisconnectPlayer where
hashWithSalt :: Int -> DisconnectPlayer -> Int
hashWithSalt Int
_salt DisconnectPlayer' {Text
stageName :: Text
playerId :: Text
gameName :: Text
$sel:stageName:DisconnectPlayer' :: DisconnectPlayer -> Text
$sel:playerId:DisconnectPlayer' :: DisconnectPlayer -> Text
$sel:gameName:DisconnectPlayer' :: DisconnectPlayer -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
gameName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
playerId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
stageName
instance Prelude.NFData DisconnectPlayer where
rnf :: DisconnectPlayer -> ()
rnf DisconnectPlayer' {Text
stageName :: Text
playerId :: Text
gameName :: Text
$sel:stageName:DisconnectPlayer' :: DisconnectPlayer -> Text
$sel:playerId:DisconnectPlayer' :: DisconnectPlayer -> Text
$sel:gameName:DisconnectPlayer' :: DisconnectPlayer -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
gameName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
playerId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
stageName
instance Data.ToHeaders DisconnectPlayer where
toHeaders :: DisconnectPlayer -> 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 DisconnectPlayer where
toJSON :: DisconnectPlayer -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath DisconnectPlayer where
toPath :: DisconnectPlayer -> ByteString
toPath DisconnectPlayer' {Text
stageName :: Text
playerId :: Text
gameName :: Text
$sel:stageName:DisconnectPlayer' :: DisconnectPlayer -> Text
$sel:playerId:DisconnectPlayer' :: DisconnectPlayer -> Text
$sel:gameName:DisconnectPlayer' :: DisconnectPlayer -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/runtime/game/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
gameName,
ByteString
"/stage/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
stageName,
ByteString
"/player/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
playerId,
ByteString
"/disconnect"
]
instance Data.ToQuery DisconnectPlayer where
toQuery :: DisconnectPlayer -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DisconnectPlayerResponse = DisconnectPlayerResponse'
{
DisconnectPlayerResponse -> Maybe [Text]
disconnectFailures :: Prelude.Maybe [Prelude.Text],
DisconnectPlayerResponse -> Maybe [Text]
disconnectSuccesses :: Prelude.Maybe [Prelude.Text],
DisconnectPlayerResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisconnectPlayerResponse -> DisconnectPlayerResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisconnectPlayerResponse -> DisconnectPlayerResponse -> Bool
$c/= :: DisconnectPlayerResponse -> DisconnectPlayerResponse -> Bool
== :: DisconnectPlayerResponse -> DisconnectPlayerResponse -> Bool
$c== :: DisconnectPlayerResponse -> DisconnectPlayerResponse -> Bool
Prelude.Eq, ReadPrec [DisconnectPlayerResponse]
ReadPrec DisconnectPlayerResponse
Int -> ReadS DisconnectPlayerResponse
ReadS [DisconnectPlayerResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisconnectPlayerResponse]
$creadListPrec :: ReadPrec [DisconnectPlayerResponse]
readPrec :: ReadPrec DisconnectPlayerResponse
$creadPrec :: ReadPrec DisconnectPlayerResponse
readList :: ReadS [DisconnectPlayerResponse]
$creadList :: ReadS [DisconnectPlayerResponse]
readsPrec :: Int -> ReadS DisconnectPlayerResponse
$creadsPrec :: Int -> ReadS DisconnectPlayerResponse
Prelude.Read, Int -> DisconnectPlayerResponse -> ShowS
[DisconnectPlayerResponse] -> ShowS
DisconnectPlayerResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisconnectPlayerResponse] -> ShowS
$cshowList :: [DisconnectPlayerResponse] -> ShowS
show :: DisconnectPlayerResponse -> String
$cshow :: DisconnectPlayerResponse -> String
showsPrec :: Int -> DisconnectPlayerResponse -> ShowS
$cshowsPrec :: Int -> DisconnectPlayerResponse -> ShowS
Prelude.Show, forall x.
Rep DisconnectPlayerResponse x -> DisconnectPlayerResponse
forall x.
DisconnectPlayerResponse -> Rep DisconnectPlayerResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisconnectPlayerResponse x -> DisconnectPlayerResponse
$cfrom :: forall x.
DisconnectPlayerResponse -> Rep DisconnectPlayerResponse x
Prelude.Generic)
newDisconnectPlayerResponse ::
Prelude.Int ->
DisconnectPlayerResponse
newDisconnectPlayerResponse :: Int -> DisconnectPlayerResponse
newDisconnectPlayerResponse Int
pHttpStatus_ =
DisconnectPlayerResponse'
{ $sel:disconnectFailures:DisconnectPlayerResponse' :: Maybe [Text]
disconnectFailures =
forall a. Maybe a
Prelude.Nothing,
$sel:disconnectSuccesses:DisconnectPlayerResponse' :: Maybe [Text]
disconnectSuccesses = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DisconnectPlayerResponse' :: Int
httpStatus = Int
pHttpStatus_
}
disconnectPlayerResponse_disconnectFailures :: Lens.Lens' DisconnectPlayerResponse (Prelude.Maybe [Prelude.Text])
disconnectPlayerResponse_disconnectFailures :: Lens' DisconnectPlayerResponse (Maybe [Text])
disconnectPlayerResponse_disconnectFailures = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisconnectPlayerResponse' {Maybe [Text]
disconnectFailures :: Maybe [Text]
$sel:disconnectFailures:DisconnectPlayerResponse' :: DisconnectPlayerResponse -> Maybe [Text]
disconnectFailures} -> Maybe [Text]
disconnectFailures) (\s :: DisconnectPlayerResponse
s@DisconnectPlayerResponse' {} Maybe [Text]
a -> DisconnectPlayerResponse
s {$sel:disconnectFailures:DisconnectPlayerResponse' :: Maybe [Text]
disconnectFailures = Maybe [Text]
a} :: DisconnectPlayerResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
disconnectPlayerResponse_disconnectSuccesses :: Lens.Lens' DisconnectPlayerResponse (Prelude.Maybe [Prelude.Text])
disconnectPlayerResponse_disconnectSuccesses :: Lens' DisconnectPlayerResponse (Maybe [Text])
disconnectPlayerResponse_disconnectSuccesses = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisconnectPlayerResponse' {Maybe [Text]
disconnectSuccesses :: Maybe [Text]
$sel:disconnectSuccesses:DisconnectPlayerResponse' :: DisconnectPlayerResponse -> Maybe [Text]
disconnectSuccesses} -> Maybe [Text]
disconnectSuccesses) (\s :: DisconnectPlayerResponse
s@DisconnectPlayerResponse' {} Maybe [Text]
a -> DisconnectPlayerResponse
s {$sel:disconnectSuccesses:DisconnectPlayerResponse' :: Maybe [Text]
disconnectSuccesses = Maybe [Text]
a} :: DisconnectPlayerResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
disconnectPlayerResponse_httpStatus :: Lens.Lens' DisconnectPlayerResponse Prelude.Int
disconnectPlayerResponse_httpStatus :: Lens' DisconnectPlayerResponse Int
disconnectPlayerResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisconnectPlayerResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisconnectPlayerResponse' :: DisconnectPlayerResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisconnectPlayerResponse
s@DisconnectPlayerResponse' {} Int
a -> DisconnectPlayerResponse
s {$sel:httpStatus:DisconnectPlayerResponse' :: Int
httpStatus = Int
a} :: DisconnectPlayerResponse)
instance Prelude.NFData DisconnectPlayerResponse where
rnf :: DisconnectPlayerResponse -> ()
rnf DisconnectPlayerResponse' {Int
Maybe [Text]
httpStatus :: Int
disconnectSuccesses :: Maybe [Text]
disconnectFailures :: Maybe [Text]
$sel:httpStatus:DisconnectPlayerResponse' :: DisconnectPlayerResponse -> Int
$sel:disconnectSuccesses:DisconnectPlayerResponse' :: DisconnectPlayerResponse -> Maybe [Text]
$sel:disconnectFailures:DisconnectPlayerResponse' :: DisconnectPlayerResponse -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
disconnectFailures
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
disconnectSuccesses
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus