{-# 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.DeregisterCompute
(
DeregisterCompute (..),
newDeregisterCompute,
deregisterCompute_fleetId,
deregisterCompute_computeName,
DeregisterComputeResponse (..),
newDeregisterComputeResponse,
deregisterComputeResponse_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 DeregisterCompute = DeregisterCompute'
{
DeregisterCompute -> Text
fleetId :: Prelude.Text,
DeregisterCompute -> Text
computeName :: Prelude.Text
}
deriving (DeregisterCompute -> DeregisterCompute -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeregisterCompute -> DeregisterCompute -> Bool
$c/= :: DeregisterCompute -> DeregisterCompute -> Bool
== :: DeregisterCompute -> DeregisterCompute -> Bool
$c== :: DeregisterCompute -> DeregisterCompute -> Bool
Prelude.Eq, ReadPrec [DeregisterCompute]
ReadPrec DeregisterCompute
Int -> ReadS DeregisterCompute
ReadS [DeregisterCompute]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeregisterCompute]
$creadListPrec :: ReadPrec [DeregisterCompute]
readPrec :: ReadPrec DeregisterCompute
$creadPrec :: ReadPrec DeregisterCompute
readList :: ReadS [DeregisterCompute]
$creadList :: ReadS [DeregisterCompute]
readsPrec :: Int -> ReadS DeregisterCompute
$creadsPrec :: Int -> ReadS DeregisterCompute
Prelude.Read, Int -> DeregisterCompute -> ShowS
[DeregisterCompute] -> ShowS
DeregisterCompute -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeregisterCompute] -> ShowS
$cshowList :: [DeregisterCompute] -> ShowS
show :: DeregisterCompute -> String
$cshow :: DeregisterCompute -> String
showsPrec :: Int -> DeregisterCompute -> ShowS
$cshowsPrec :: Int -> DeregisterCompute -> ShowS
Prelude.Show, forall x. Rep DeregisterCompute x -> DeregisterCompute
forall x. DeregisterCompute -> Rep DeregisterCompute x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeregisterCompute x -> DeregisterCompute
$cfrom :: forall x. DeregisterCompute -> Rep DeregisterCompute x
Prelude.Generic)
newDeregisterCompute ::
Prelude.Text ->
Prelude.Text ->
DeregisterCompute
newDeregisterCompute :: Text -> Text -> DeregisterCompute
newDeregisterCompute Text
pFleetId_ Text
pComputeName_ =
DeregisterCompute'
{ $sel:fleetId:DeregisterCompute' :: Text
fleetId = Text
pFleetId_,
$sel:computeName:DeregisterCompute' :: Text
computeName = Text
pComputeName_
}
deregisterCompute_fleetId :: Lens.Lens' DeregisterCompute Prelude.Text
deregisterCompute_fleetId :: Lens' DeregisterCompute Text
deregisterCompute_fleetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeregisterCompute' {Text
fleetId :: Text
$sel:fleetId:DeregisterCompute' :: DeregisterCompute -> Text
fleetId} -> Text
fleetId) (\s :: DeregisterCompute
s@DeregisterCompute' {} Text
a -> DeregisterCompute
s {$sel:fleetId:DeregisterCompute' :: Text
fleetId = Text
a} :: DeregisterCompute)
deregisterCompute_computeName :: Lens.Lens' DeregisterCompute Prelude.Text
deregisterCompute_computeName :: Lens' DeregisterCompute Text
deregisterCompute_computeName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeregisterCompute' {Text
computeName :: Text
$sel:computeName:DeregisterCompute' :: DeregisterCompute -> Text
computeName} -> Text
computeName) (\s :: DeregisterCompute
s@DeregisterCompute' {} Text
a -> DeregisterCompute
s {$sel:computeName:DeregisterCompute' :: Text
computeName = Text
a} :: DeregisterCompute)
instance Core.AWSRequest DeregisterCompute where
type
AWSResponse DeregisterCompute =
DeregisterComputeResponse
request :: (Service -> Service)
-> DeregisterCompute -> Request DeregisterCompute
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 DeregisterCompute
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeregisterCompute)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> DeregisterComputeResponse
DeregisterComputeResponse'
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))
)
instance Prelude.Hashable DeregisterCompute where
hashWithSalt :: Int -> DeregisterCompute -> Int
hashWithSalt Int
_salt DeregisterCompute' {Text
computeName :: Text
fleetId :: Text
$sel:computeName:DeregisterCompute' :: DeregisterCompute -> Text
$sel:fleetId:DeregisterCompute' :: DeregisterCompute -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
fleetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
computeName
instance Prelude.NFData DeregisterCompute where
rnf :: DeregisterCompute -> ()
rnf DeregisterCompute' {Text
computeName :: Text
fleetId :: Text
$sel:computeName:DeregisterCompute' :: DeregisterCompute -> Text
$sel:fleetId:DeregisterCompute' :: DeregisterCompute -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
fleetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
computeName
instance Data.ToHeaders DeregisterCompute where
toHeaders :: DeregisterCompute -> 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.DeregisterCompute" :: 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 DeregisterCompute where
toJSON :: DeregisterCompute -> Value
toJSON DeregisterCompute' {Text
computeName :: Text
fleetId :: Text
$sel:computeName:DeregisterCompute' :: DeregisterCompute -> Text
$sel:fleetId:DeregisterCompute' :: DeregisterCompute -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"FleetId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
fleetId),
forall a. a -> Maybe a
Prelude.Just (Key
"ComputeName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
computeName)
]
)
instance Data.ToPath DeregisterCompute where
toPath :: DeregisterCompute -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeregisterCompute where
toQuery :: DeregisterCompute -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeregisterComputeResponse = DeregisterComputeResponse'
{
DeregisterComputeResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeregisterComputeResponse -> DeregisterComputeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeregisterComputeResponse -> DeregisterComputeResponse -> Bool
$c/= :: DeregisterComputeResponse -> DeregisterComputeResponse -> Bool
== :: DeregisterComputeResponse -> DeregisterComputeResponse -> Bool
$c== :: DeregisterComputeResponse -> DeregisterComputeResponse -> Bool
Prelude.Eq, ReadPrec [DeregisterComputeResponse]
ReadPrec DeregisterComputeResponse
Int -> ReadS DeregisterComputeResponse
ReadS [DeregisterComputeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeregisterComputeResponse]
$creadListPrec :: ReadPrec [DeregisterComputeResponse]
readPrec :: ReadPrec DeregisterComputeResponse
$creadPrec :: ReadPrec DeregisterComputeResponse
readList :: ReadS [DeregisterComputeResponse]
$creadList :: ReadS [DeregisterComputeResponse]
readsPrec :: Int -> ReadS DeregisterComputeResponse
$creadsPrec :: Int -> ReadS DeregisterComputeResponse
Prelude.Read, Int -> DeregisterComputeResponse -> ShowS
[DeregisterComputeResponse] -> ShowS
DeregisterComputeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeregisterComputeResponse] -> ShowS
$cshowList :: [DeregisterComputeResponse] -> ShowS
show :: DeregisterComputeResponse -> String
$cshow :: DeregisterComputeResponse -> String
showsPrec :: Int -> DeregisterComputeResponse -> ShowS
$cshowsPrec :: Int -> DeregisterComputeResponse -> ShowS
Prelude.Show, forall x.
Rep DeregisterComputeResponse x -> DeregisterComputeResponse
forall x.
DeregisterComputeResponse -> Rep DeregisterComputeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeregisterComputeResponse x -> DeregisterComputeResponse
$cfrom :: forall x.
DeregisterComputeResponse -> Rep DeregisterComputeResponse x
Prelude.Generic)
newDeregisterComputeResponse ::
Prelude.Int ->
DeregisterComputeResponse
newDeregisterComputeResponse :: Int -> DeregisterComputeResponse
newDeregisterComputeResponse Int
pHttpStatus_ =
DeregisterComputeResponse'
{ $sel:httpStatus:DeregisterComputeResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
deregisterComputeResponse_httpStatus :: Lens.Lens' DeregisterComputeResponse Prelude.Int
deregisterComputeResponse_httpStatus :: Lens' DeregisterComputeResponse Int
deregisterComputeResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeregisterComputeResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeregisterComputeResponse' :: DeregisterComputeResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeregisterComputeResponse
s@DeregisterComputeResponse' {} Int
a -> DeregisterComputeResponse
s {$sel:httpStatus:DeregisterComputeResponse' :: Int
httpStatus = Int
a} :: DeregisterComputeResponse)
instance Prelude.NFData DeregisterComputeResponse where
rnf :: DeregisterComputeResponse -> ()
rnf DeregisterComputeResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeregisterComputeResponse' :: DeregisterComputeResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus