{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.GameLift.Types.GameServer where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.GameLift.Types.GameServerClaimStatus
import Amazonka.GameLift.Types.GameServerUtilizationStatus
import qualified Amazonka.Prelude as Prelude
data GameServer = GameServer'
{
GameServer -> Maybe GameServerClaimStatus
claimStatus :: Prelude.Maybe GameServerClaimStatus,
GameServer -> Maybe Text
connectionInfo :: Prelude.Maybe Prelude.Text,
GameServer -> Maybe Text
gameServerData :: Prelude.Maybe Prelude.Text,
GameServer -> Maybe Text
gameServerGroupArn :: Prelude.Maybe Prelude.Text,
GameServer -> Maybe Text
gameServerGroupName :: Prelude.Maybe Prelude.Text,
GameServer -> Maybe Text
gameServerId :: Prelude.Maybe Prelude.Text,
GameServer -> Maybe Text
instanceId :: Prelude.Maybe Prelude.Text,
GameServer -> Maybe POSIX
lastClaimTime :: Prelude.Maybe Data.POSIX,
GameServer -> Maybe POSIX
lastHealthCheckTime :: Prelude.Maybe Data.POSIX,
GameServer -> Maybe POSIX
registrationTime :: Prelude.Maybe Data.POSIX,
GameServer -> Maybe GameServerUtilizationStatus
utilizationStatus :: Prelude.Maybe GameServerUtilizationStatus
}
deriving (GameServer -> GameServer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GameServer -> GameServer -> Bool
$c/= :: GameServer -> GameServer -> Bool
== :: GameServer -> GameServer -> Bool
$c== :: GameServer -> GameServer -> Bool
Prelude.Eq, ReadPrec [GameServer]
ReadPrec GameServer
Int -> ReadS GameServer
ReadS [GameServer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GameServer]
$creadListPrec :: ReadPrec [GameServer]
readPrec :: ReadPrec GameServer
$creadPrec :: ReadPrec GameServer
readList :: ReadS [GameServer]
$creadList :: ReadS [GameServer]
readsPrec :: Int -> ReadS GameServer
$creadsPrec :: Int -> ReadS GameServer
Prelude.Read, Int -> GameServer -> ShowS
[GameServer] -> ShowS
GameServer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GameServer] -> ShowS
$cshowList :: [GameServer] -> ShowS
show :: GameServer -> String
$cshow :: GameServer -> String
showsPrec :: Int -> GameServer -> ShowS
$cshowsPrec :: Int -> GameServer -> ShowS
Prelude.Show, forall x. Rep GameServer x -> GameServer
forall x. GameServer -> Rep GameServer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GameServer x -> GameServer
$cfrom :: forall x. GameServer -> Rep GameServer x
Prelude.Generic)
newGameServer ::
GameServer
newGameServer :: GameServer
newGameServer =
GameServer'
{ $sel:claimStatus:GameServer' :: Maybe GameServerClaimStatus
claimStatus = forall a. Maybe a
Prelude.Nothing,
$sel:connectionInfo:GameServer' :: Maybe Text
connectionInfo = forall a. Maybe a
Prelude.Nothing,
$sel:gameServerData:GameServer' :: Maybe Text
gameServerData = forall a. Maybe a
Prelude.Nothing,
$sel:gameServerGroupArn:GameServer' :: Maybe Text
gameServerGroupArn = forall a. Maybe a
Prelude.Nothing,
$sel:gameServerGroupName:GameServer' :: Maybe Text
gameServerGroupName = forall a. Maybe a
Prelude.Nothing,
$sel:gameServerId:GameServer' :: Maybe Text
gameServerId = forall a. Maybe a
Prelude.Nothing,
$sel:instanceId:GameServer' :: Maybe Text
instanceId = forall a. Maybe a
Prelude.Nothing,
$sel:lastClaimTime:GameServer' :: Maybe POSIX
lastClaimTime = forall a. Maybe a
Prelude.Nothing,
$sel:lastHealthCheckTime:GameServer' :: Maybe POSIX
lastHealthCheckTime = forall a. Maybe a
Prelude.Nothing,
$sel:registrationTime:GameServer' :: Maybe POSIX
registrationTime = forall a. Maybe a
Prelude.Nothing,
$sel:utilizationStatus:GameServer' :: Maybe GameServerUtilizationStatus
utilizationStatus = forall a. Maybe a
Prelude.Nothing
}
gameServer_claimStatus :: Lens.Lens' GameServer (Prelude.Maybe GameServerClaimStatus)
gameServer_claimStatus :: Lens' GameServer (Maybe GameServerClaimStatus)
gameServer_claimStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe GameServerClaimStatus
claimStatus :: Maybe GameServerClaimStatus
$sel:claimStatus:GameServer' :: GameServer -> Maybe GameServerClaimStatus
claimStatus} -> Maybe GameServerClaimStatus
claimStatus) (\s :: GameServer
s@GameServer' {} Maybe GameServerClaimStatus
a -> GameServer
s {$sel:claimStatus:GameServer' :: Maybe GameServerClaimStatus
claimStatus = Maybe GameServerClaimStatus
a} :: GameServer)
gameServer_connectionInfo :: Lens.Lens' GameServer (Prelude.Maybe Prelude.Text)
gameServer_connectionInfo :: Lens' GameServer (Maybe Text)
gameServer_connectionInfo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe Text
connectionInfo :: Maybe Text
$sel:connectionInfo:GameServer' :: GameServer -> Maybe Text
connectionInfo} -> Maybe Text
connectionInfo) (\s :: GameServer
s@GameServer' {} Maybe Text
a -> GameServer
s {$sel:connectionInfo:GameServer' :: Maybe Text
connectionInfo = Maybe Text
a} :: GameServer)
gameServer_gameServerData :: Lens.Lens' GameServer (Prelude.Maybe Prelude.Text)
gameServer_gameServerData :: Lens' GameServer (Maybe Text)
gameServer_gameServerData = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe Text
gameServerData :: Maybe Text
$sel:gameServerData:GameServer' :: GameServer -> Maybe Text
gameServerData} -> Maybe Text
gameServerData) (\s :: GameServer
s@GameServer' {} Maybe Text
a -> GameServer
s {$sel:gameServerData:GameServer' :: Maybe Text
gameServerData = Maybe Text
a} :: GameServer)
gameServer_gameServerGroupArn :: Lens.Lens' GameServer (Prelude.Maybe Prelude.Text)
gameServer_gameServerGroupArn :: Lens' GameServer (Maybe Text)
gameServer_gameServerGroupArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe Text
gameServerGroupArn :: Maybe Text
$sel:gameServerGroupArn:GameServer' :: GameServer -> Maybe Text
gameServerGroupArn} -> Maybe Text
gameServerGroupArn) (\s :: GameServer
s@GameServer' {} Maybe Text
a -> GameServer
s {$sel:gameServerGroupArn:GameServer' :: Maybe Text
gameServerGroupArn = Maybe Text
a} :: GameServer)
gameServer_gameServerGroupName :: Lens.Lens' GameServer (Prelude.Maybe Prelude.Text)
gameServer_gameServerGroupName :: Lens' GameServer (Maybe Text)
gameServer_gameServerGroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe Text
gameServerGroupName :: Maybe Text
$sel:gameServerGroupName:GameServer' :: GameServer -> Maybe Text
gameServerGroupName} -> Maybe Text
gameServerGroupName) (\s :: GameServer
s@GameServer' {} Maybe Text
a -> GameServer
s {$sel:gameServerGroupName:GameServer' :: Maybe Text
gameServerGroupName = Maybe Text
a} :: GameServer)
gameServer_gameServerId :: Lens.Lens' GameServer (Prelude.Maybe Prelude.Text)
gameServer_gameServerId :: Lens' GameServer (Maybe Text)
gameServer_gameServerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe Text
gameServerId :: Maybe Text
$sel:gameServerId:GameServer' :: GameServer -> Maybe Text
gameServerId} -> Maybe Text
gameServerId) (\s :: GameServer
s@GameServer' {} Maybe Text
a -> GameServer
s {$sel:gameServerId:GameServer' :: Maybe Text
gameServerId = Maybe Text
a} :: GameServer)
gameServer_instanceId :: Lens.Lens' GameServer (Prelude.Maybe Prelude.Text)
gameServer_instanceId :: Lens' GameServer (Maybe Text)
gameServer_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe Text
instanceId :: Maybe Text
$sel:instanceId:GameServer' :: GameServer -> Maybe Text
instanceId} -> Maybe Text
instanceId) (\s :: GameServer
s@GameServer' {} Maybe Text
a -> GameServer
s {$sel:instanceId:GameServer' :: Maybe Text
instanceId = Maybe Text
a} :: GameServer)
gameServer_lastClaimTime :: Lens.Lens' GameServer (Prelude.Maybe Prelude.UTCTime)
gameServer_lastClaimTime :: Lens' GameServer (Maybe UTCTime)
gameServer_lastClaimTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe POSIX
lastClaimTime :: Maybe POSIX
$sel:lastClaimTime:GameServer' :: GameServer -> Maybe POSIX
lastClaimTime} -> Maybe POSIX
lastClaimTime) (\s :: GameServer
s@GameServer' {} Maybe POSIX
a -> GameServer
s {$sel:lastClaimTime:GameServer' :: Maybe POSIX
lastClaimTime = Maybe POSIX
a} :: GameServer) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
gameServer_lastHealthCheckTime :: Lens.Lens' GameServer (Prelude.Maybe Prelude.UTCTime)
gameServer_lastHealthCheckTime :: Lens' GameServer (Maybe UTCTime)
gameServer_lastHealthCheckTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe POSIX
lastHealthCheckTime :: Maybe POSIX
$sel:lastHealthCheckTime:GameServer' :: GameServer -> Maybe POSIX
lastHealthCheckTime} -> Maybe POSIX
lastHealthCheckTime) (\s :: GameServer
s@GameServer' {} Maybe POSIX
a -> GameServer
s {$sel:lastHealthCheckTime:GameServer' :: Maybe POSIX
lastHealthCheckTime = Maybe POSIX
a} :: GameServer) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
gameServer_registrationTime :: Lens.Lens' GameServer (Prelude.Maybe Prelude.UTCTime)
gameServer_registrationTime :: Lens' GameServer (Maybe UTCTime)
gameServer_registrationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe POSIX
registrationTime :: Maybe POSIX
$sel:registrationTime:GameServer' :: GameServer -> Maybe POSIX
registrationTime} -> Maybe POSIX
registrationTime) (\s :: GameServer
s@GameServer' {} Maybe POSIX
a -> GameServer
s {$sel:registrationTime:GameServer' :: Maybe POSIX
registrationTime = Maybe POSIX
a} :: GameServer) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
gameServer_utilizationStatus :: Lens.Lens' GameServer (Prelude.Maybe GameServerUtilizationStatus)
gameServer_utilizationStatus :: Lens' GameServer (Maybe GameServerUtilizationStatus)
gameServer_utilizationStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GameServer' {Maybe GameServerUtilizationStatus
utilizationStatus :: Maybe GameServerUtilizationStatus
$sel:utilizationStatus:GameServer' :: GameServer -> Maybe GameServerUtilizationStatus
utilizationStatus} -> Maybe GameServerUtilizationStatus
utilizationStatus) (\s :: GameServer
s@GameServer' {} Maybe GameServerUtilizationStatus
a -> GameServer
s {$sel:utilizationStatus:GameServer' :: Maybe GameServerUtilizationStatus
utilizationStatus = Maybe GameServerUtilizationStatus
a} :: GameServer)
instance Data.FromJSON GameServer where
parseJSON :: Value -> Parser GameServer
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"GameServer"
( \Object
x ->
Maybe GameServerClaimStatus
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe POSIX
-> Maybe GameServerUtilizationStatus
-> GameServer
GameServer'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ClaimStatus")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ConnectionInfo")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"GameServerData")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"GameServerGroupArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"GameServerGroupName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"GameServerId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"InstanceId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"LastClaimTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"LastHealthCheckTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"RegistrationTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"UtilizationStatus")
)
instance Prelude.Hashable GameServer where
hashWithSalt :: Int -> GameServer -> Int
hashWithSalt Int
_salt GameServer' {Maybe Text
Maybe POSIX
Maybe GameServerClaimStatus
Maybe GameServerUtilizationStatus
utilizationStatus :: Maybe GameServerUtilizationStatus
registrationTime :: Maybe POSIX
lastHealthCheckTime :: Maybe POSIX
lastClaimTime :: Maybe POSIX
instanceId :: Maybe Text
gameServerId :: Maybe Text
gameServerGroupName :: Maybe Text
gameServerGroupArn :: Maybe Text
gameServerData :: Maybe Text
connectionInfo :: Maybe Text
claimStatus :: Maybe GameServerClaimStatus
$sel:utilizationStatus:GameServer' :: GameServer -> Maybe GameServerUtilizationStatus
$sel:registrationTime:GameServer' :: GameServer -> Maybe POSIX
$sel:lastHealthCheckTime:GameServer' :: GameServer -> Maybe POSIX
$sel:lastClaimTime:GameServer' :: GameServer -> Maybe POSIX
$sel:instanceId:GameServer' :: GameServer -> Maybe Text
$sel:gameServerId:GameServer' :: GameServer -> Maybe Text
$sel:gameServerGroupName:GameServer' :: GameServer -> Maybe Text
$sel:gameServerGroupArn:GameServer' :: GameServer -> Maybe Text
$sel:gameServerData:GameServer' :: GameServer -> Maybe Text
$sel:connectionInfo:GameServer' :: GameServer -> Maybe Text
$sel:claimStatus:GameServer' :: GameServer -> Maybe GameServerClaimStatus
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe GameServerClaimStatus
claimStatus
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
connectionInfo
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
gameServerData
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
gameServerGroupArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
gameServerGroupName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
gameServerId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastClaimTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastHealthCheckTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
registrationTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe GameServerUtilizationStatus
utilizationStatus
instance Prelude.NFData GameServer where
rnf :: GameServer -> ()
rnf GameServer' {Maybe Text
Maybe POSIX
Maybe GameServerClaimStatus
Maybe GameServerUtilizationStatus
utilizationStatus :: Maybe GameServerUtilizationStatus
registrationTime :: Maybe POSIX
lastHealthCheckTime :: Maybe POSIX
lastClaimTime :: Maybe POSIX
instanceId :: Maybe Text
gameServerId :: Maybe Text
gameServerGroupName :: Maybe Text
gameServerGroupArn :: Maybe Text
gameServerData :: Maybe Text
connectionInfo :: Maybe Text
claimStatus :: Maybe GameServerClaimStatus
$sel:utilizationStatus:GameServer' :: GameServer -> Maybe GameServerUtilizationStatus
$sel:registrationTime:GameServer' :: GameServer -> Maybe POSIX
$sel:lastHealthCheckTime:GameServer' :: GameServer -> Maybe POSIX
$sel:lastClaimTime:GameServer' :: GameServer -> Maybe POSIX
$sel:instanceId:GameServer' :: GameServer -> Maybe Text
$sel:gameServerId:GameServer' :: GameServer -> Maybe Text
$sel:gameServerGroupName:GameServer' :: GameServer -> Maybe Text
$sel:gameServerGroupArn:GameServer' :: GameServer -> Maybe Text
$sel:gameServerData:GameServer' :: GameServer -> Maybe Text
$sel:connectionInfo:GameServer' :: GameServer -> Maybe Text
$sel:claimStatus:GameServer' :: GameServer -> Maybe GameServerClaimStatus
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe GameServerClaimStatus
claimStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
connectionInfo
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
gameServerData
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
gameServerGroupArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
gameServerGroupName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
gameServerId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
instanceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastClaimTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastHealthCheckTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
registrationTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe GameServerUtilizationStatus
utilizationStatus