{-# 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.GameLift.DeleteGameServerGroup
(
DeleteGameServerGroup (..),
newDeleteGameServerGroup,
deleteGameServerGroup_deleteOption,
deleteGameServerGroup_gameServerGroupName,
DeleteGameServerGroupResponse (..),
newDeleteGameServerGroupResponse,
deleteGameServerGroupResponse_gameServerGroup,
deleteGameServerGroupResponse_httpStatus,
)
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
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteGameServerGroup = DeleteGameServerGroup'
{
DeleteGameServerGroup -> Maybe GameServerGroupDeleteOption
deleteOption :: Prelude.Maybe GameServerGroupDeleteOption,
DeleteGameServerGroup -> Text
gameServerGroupName :: Prelude.Text
}
deriving (DeleteGameServerGroup -> DeleteGameServerGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteGameServerGroup -> DeleteGameServerGroup -> Bool
$c/= :: DeleteGameServerGroup -> DeleteGameServerGroup -> Bool
== :: DeleteGameServerGroup -> DeleteGameServerGroup -> Bool
$c== :: DeleteGameServerGroup -> DeleteGameServerGroup -> Bool
Prelude.Eq, ReadPrec [DeleteGameServerGroup]
ReadPrec DeleteGameServerGroup
Int -> ReadS DeleteGameServerGroup
ReadS [DeleteGameServerGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteGameServerGroup]
$creadListPrec :: ReadPrec [DeleteGameServerGroup]
readPrec :: ReadPrec DeleteGameServerGroup
$creadPrec :: ReadPrec DeleteGameServerGroup
readList :: ReadS [DeleteGameServerGroup]
$creadList :: ReadS [DeleteGameServerGroup]
readsPrec :: Int -> ReadS DeleteGameServerGroup
$creadsPrec :: Int -> ReadS DeleteGameServerGroup
Prelude.Read, Int -> DeleteGameServerGroup -> ShowS
[DeleteGameServerGroup] -> ShowS
DeleteGameServerGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteGameServerGroup] -> ShowS
$cshowList :: [DeleteGameServerGroup] -> ShowS
show :: DeleteGameServerGroup -> String
$cshow :: DeleteGameServerGroup -> String
showsPrec :: Int -> DeleteGameServerGroup -> ShowS
$cshowsPrec :: Int -> DeleteGameServerGroup -> ShowS
Prelude.Show, forall x. Rep DeleteGameServerGroup x -> DeleteGameServerGroup
forall x. DeleteGameServerGroup -> Rep DeleteGameServerGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteGameServerGroup x -> DeleteGameServerGroup
$cfrom :: forall x. DeleteGameServerGroup -> Rep DeleteGameServerGroup x
Prelude.Generic)
newDeleteGameServerGroup ::
Prelude.Text ->
DeleteGameServerGroup
newDeleteGameServerGroup :: Text -> DeleteGameServerGroup
newDeleteGameServerGroup Text
pGameServerGroupName_ =
DeleteGameServerGroup'
{ $sel:deleteOption:DeleteGameServerGroup' :: Maybe GameServerGroupDeleteOption
deleteOption =
forall a. Maybe a
Prelude.Nothing,
$sel:gameServerGroupName:DeleteGameServerGroup' :: Text
gameServerGroupName = Text
pGameServerGroupName_
}
deleteGameServerGroup_deleteOption :: Lens.Lens' DeleteGameServerGroup (Prelude.Maybe GameServerGroupDeleteOption)
deleteGameServerGroup_deleteOption :: Lens' DeleteGameServerGroup (Maybe GameServerGroupDeleteOption)
deleteGameServerGroup_deleteOption = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteGameServerGroup' {Maybe GameServerGroupDeleteOption
deleteOption :: Maybe GameServerGroupDeleteOption
$sel:deleteOption:DeleteGameServerGroup' :: DeleteGameServerGroup -> Maybe GameServerGroupDeleteOption
deleteOption} -> Maybe GameServerGroupDeleteOption
deleteOption) (\s :: DeleteGameServerGroup
s@DeleteGameServerGroup' {} Maybe GameServerGroupDeleteOption
a -> DeleteGameServerGroup
s {$sel:deleteOption:DeleteGameServerGroup' :: Maybe GameServerGroupDeleteOption
deleteOption = Maybe GameServerGroupDeleteOption
a} :: DeleteGameServerGroup)
deleteGameServerGroup_gameServerGroupName :: Lens.Lens' DeleteGameServerGroup Prelude.Text
deleteGameServerGroup_gameServerGroupName :: Lens' DeleteGameServerGroup Text
deleteGameServerGroup_gameServerGroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteGameServerGroup' {Text
gameServerGroupName :: Text
$sel:gameServerGroupName:DeleteGameServerGroup' :: DeleteGameServerGroup -> Text
gameServerGroupName} -> Text
gameServerGroupName) (\s :: DeleteGameServerGroup
s@DeleteGameServerGroup' {} Text
a -> DeleteGameServerGroup
s {$sel:gameServerGroupName:DeleteGameServerGroup' :: Text
gameServerGroupName = Text
a} :: DeleteGameServerGroup)
instance Core.AWSRequest DeleteGameServerGroup where
type
AWSResponse DeleteGameServerGroup =
DeleteGameServerGroupResponse
request :: (Service -> Service)
-> DeleteGameServerGroup -> Request DeleteGameServerGroup
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 DeleteGameServerGroup
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteGameServerGroup)))
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 GameServerGroup -> Int -> DeleteGameServerGroupResponse
DeleteGameServerGroupResponse'
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
"GameServerGroup")
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 DeleteGameServerGroup where
hashWithSalt :: Int -> DeleteGameServerGroup -> Int
hashWithSalt Int
_salt DeleteGameServerGroup' {Maybe GameServerGroupDeleteOption
Text
gameServerGroupName :: Text
deleteOption :: Maybe GameServerGroupDeleteOption
$sel:gameServerGroupName:DeleteGameServerGroup' :: DeleteGameServerGroup -> Text
$sel:deleteOption:DeleteGameServerGroup' :: DeleteGameServerGroup -> Maybe GameServerGroupDeleteOption
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe GameServerGroupDeleteOption
deleteOption
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
gameServerGroupName
instance Prelude.NFData DeleteGameServerGroup where
rnf :: DeleteGameServerGroup -> ()
rnf DeleteGameServerGroup' {Maybe GameServerGroupDeleteOption
Text
gameServerGroupName :: Text
deleteOption :: Maybe GameServerGroupDeleteOption
$sel:gameServerGroupName:DeleteGameServerGroup' :: DeleteGameServerGroup -> Text
$sel:deleteOption:DeleteGameServerGroup' :: DeleteGameServerGroup -> Maybe GameServerGroupDeleteOption
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe GameServerGroupDeleteOption
deleteOption
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
gameServerGroupName
instance Data.ToHeaders DeleteGameServerGroup where
toHeaders :: DeleteGameServerGroup -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"GameLift.DeleteGameServerGroup" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DeleteGameServerGroup where
toJSON :: DeleteGameServerGroup -> Value
toJSON DeleteGameServerGroup' {Maybe GameServerGroupDeleteOption
Text
gameServerGroupName :: Text
deleteOption :: Maybe GameServerGroupDeleteOption
$sel:gameServerGroupName:DeleteGameServerGroup' :: DeleteGameServerGroup -> Text
$sel:deleteOption:DeleteGameServerGroup' :: DeleteGameServerGroup -> Maybe GameServerGroupDeleteOption
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"DeleteOption" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GameServerGroupDeleteOption
deleteOption,
forall a. a -> Maybe a
Prelude.Just
(Key
"GameServerGroupName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
gameServerGroupName)
]
)
instance Data.ToPath DeleteGameServerGroup where
toPath :: DeleteGameServerGroup -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteGameServerGroup where
toQuery :: DeleteGameServerGroup -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteGameServerGroupResponse = DeleteGameServerGroupResponse'
{
DeleteGameServerGroupResponse -> Maybe GameServerGroup
gameServerGroup :: Prelude.Maybe GameServerGroup,
DeleteGameServerGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteGameServerGroupResponse
-> DeleteGameServerGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteGameServerGroupResponse
-> DeleteGameServerGroupResponse -> Bool
$c/= :: DeleteGameServerGroupResponse
-> DeleteGameServerGroupResponse -> Bool
== :: DeleteGameServerGroupResponse
-> DeleteGameServerGroupResponse -> Bool
$c== :: DeleteGameServerGroupResponse
-> DeleteGameServerGroupResponse -> Bool
Prelude.Eq, ReadPrec [DeleteGameServerGroupResponse]
ReadPrec DeleteGameServerGroupResponse
Int -> ReadS DeleteGameServerGroupResponse
ReadS [DeleteGameServerGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteGameServerGroupResponse]
$creadListPrec :: ReadPrec [DeleteGameServerGroupResponse]
readPrec :: ReadPrec DeleteGameServerGroupResponse
$creadPrec :: ReadPrec DeleteGameServerGroupResponse
readList :: ReadS [DeleteGameServerGroupResponse]
$creadList :: ReadS [DeleteGameServerGroupResponse]
readsPrec :: Int -> ReadS DeleteGameServerGroupResponse
$creadsPrec :: Int -> ReadS DeleteGameServerGroupResponse
Prelude.Read, Int -> DeleteGameServerGroupResponse -> ShowS
[DeleteGameServerGroupResponse] -> ShowS
DeleteGameServerGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteGameServerGroupResponse] -> ShowS
$cshowList :: [DeleteGameServerGroupResponse] -> ShowS
show :: DeleteGameServerGroupResponse -> String
$cshow :: DeleteGameServerGroupResponse -> String
showsPrec :: Int -> DeleteGameServerGroupResponse -> ShowS
$cshowsPrec :: Int -> DeleteGameServerGroupResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteGameServerGroupResponse x
-> DeleteGameServerGroupResponse
forall x.
DeleteGameServerGroupResponse
-> Rep DeleteGameServerGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteGameServerGroupResponse x
-> DeleteGameServerGroupResponse
$cfrom :: forall x.
DeleteGameServerGroupResponse
-> Rep DeleteGameServerGroupResponse x
Prelude.Generic)
newDeleteGameServerGroupResponse ::
Prelude.Int ->
DeleteGameServerGroupResponse
newDeleteGameServerGroupResponse :: Int -> DeleteGameServerGroupResponse
newDeleteGameServerGroupResponse Int
pHttpStatus_ =
DeleteGameServerGroupResponse'
{ $sel:gameServerGroup:DeleteGameServerGroupResponse' :: Maybe GameServerGroup
gameServerGroup =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteGameServerGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteGameServerGroupResponse_gameServerGroup :: Lens.Lens' DeleteGameServerGroupResponse (Prelude.Maybe GameServerGroup)
deleteGameServerGroupResponse_gameServerGroup :: Lens' DeleteGameServerGroupResponse (Maybe GameServerGroup)
deleteGameServerGroupResponse_gameServerGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteGameServerGroupResponse' {Maybe GameServerGroup
gameServerGroup :: Maybe GameServerGroup
$sel:gameServerGroup:DeleteGameServerGroupResponse' :: DeleteGameServerGroupResponse -> Maybe GameServerGroup
gameServerGroup} -> Maybe GameServerGroup
gameServerGroup) (\s :: DeleteGameServerGroupResponse
s@DeleteGameServerGroupResponse' {} Maybe GameServerGroup
a -> DeleteGameServerGroupResponse
s {$sel:gameServerGroup:DeleteGameServerGroupResponse' :: Maybe GameServerGroup
gameServerGroup = Maybe GameServerGroup
a} :: DeleteGameServerGroupResponse)
deleteGameServerGroupResponse_httpStatus :: Lens.Lens' DeleteGameServerGroupResponse Prelude.Int
deleteGameServerGroupResponse_httpStatus :: Lens' DeleteGameServerGroupResponse Int
deleteGameServerGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteGameServerGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteGameServerGroupResponse' :: DeleteGameServerGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteGameServerGroupResponse
s@DeleteGameServerGroupResponse' {} Int
a -> DeleteGameServerGroupResponse
s {$sel:httpStatus:DeleteGameServerGroupResponse' :: Int
httpStatus = Int
a} :: DeleteGameServerGroupResponse)
instance Prelude.NFData DeleteGameServerGroupResponse where
rnf :: DeleteGameServerGroupResponse -> ()
rnf DeleteGameServerGroupResponse' {Int
Maybe GameServerGroup
httpStatus :: Int
gameServerGroup :: Maybe GameServerGroup
$sel:httpStatus:DeleteGameServerGroupResponse' :: DeleteGameServerGroupResponse -> Int
$sel:gameServerGroup:DeleteGameServerGroupResponse' :: DeleteGameServerGroupResponse -> Maybe GameServerGroup
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe GameServerGroup
gameServerGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus