{-# 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.DescribeBuild
(
DescribeBuild (..),
newDescribeBuild,
describeBuild_buildId,
DescribeBuildResponse (..),
newDescribeBuildResponse,
describeBuildResponse_build,
describeBuildResponse_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 DescribeBuild = DescribeBuild'
{
DescribeBuild -> Text
buildId :: Prelude.Text
}
deriving (DescribeBuild -> DescribeBuild -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeBuild -> DescribeBuild -> Bool
$c/= :: DescribeBuild -> DescribeBuild -> Bool
== :: DescribeBuild -> DescribeBuild -> Bool
$c== :: DescribeBuild -> DescribeBuild -> Bool
Prelude.Eq, ReadPrec [DescribeBuild]
ReadPrec DescribeBuild
Int -> ReadS DescribeBuild
ReadS [DescribeBuild]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeBuild]
$creadListPrec :: ReadPrec [DescribeBuild]
readPrec :: ReadPrec DescribeBuild
$creadPrec :: ReadPrec DescribeBuild
readList :: ReadS [DescribeBuild]
$creadList :: ReadS [DescribeBuild]
readsPrec :: Int -> ReadS DescribeBuild
$creadsPrec :: Int -> ReadS DescribeBuild
Prelude.Read, Int -> DescribeBuild -> ShowS
[DescribeBuild] -> ShowS
DescribeBuild -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeBuild] -> ShowS
$cshowList :: [DescribeBuild] -> ShowS
show :: DescribeBuild -> String
$cshow :: DescribeBuild -> String
showsPrec :: Int -> DescribeBuild -> ShowS
$cshowsPrec :: Int -> DescribeBuild -> ShowS
Prelude.Show, forall x. Rep DescribeBuild x -> DescribeBuild
forall x. DescribeBuild -> Rep DescribeBuild x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeBuild x -> DescribeBuild
$cfrom :: forall x. DescribeBuild -> Rep DescribeBuild x
Prelude.Generic)
newDescribeBuild ::
Prelude.Text ->
DescribeBuild
newDescribeBuild :: Text -> DescribeBuild
newDescribeBuild Text
pBuildId_ =
DescribeBuild' {$sel:buildId:DescribeBuild' :: Text
buildId = Text
pBuildId_}
describeBuild_buildId :: Lens.Lens' DescribeBuild Prelude.Text
describeBuild_buildId :: Lens' DescribeBuild Text
describeBuild_buildId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBuild' {Text
buildId :: Text
$sel:buildId:DescribeBuild' :: DescribeBuild -> Text
buildId} -> Text
buildId) (\s :: DescribeBuild
s@DescribeBuild' {} Text
a -> DescribeBuild
s {$sel:buildId:DescribeBuild' :: Text
buildId = Text
a} :: DescribeBuild)
instance Core.AWSRequest DescribeBuild where
type
AWSResponse DescribeBuild =
DescribeBuildResponse
request :: (Service -> Service) -> DescribeBuild -> Request DescribeBuild
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 DescribeBuild
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeBuild)))
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 Build -> Int -> DescribeBuildResponse
DescribeBuildResponse'
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
"Build")
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 DescribeBuild where
hashWithSalt :: Int -> DescribeBuild -> Int
hashWithSalt Int
_salt DescribeBuild' {Text
buildId :: Text
$sel:buildId:DescribeBuild' :: DescribeBuild -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
buildId
instance Prelude.NFData DescribeBuild where
rnf :: DescribeBuild -> ()
rnf DescribeBuild' {Text
buildId :: Text
$sel:buildId:DescribeBuild' :: DescribeBuild -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
buildId
instance Data.ToHeaders DescribeBuild where
toHeaders :: DescribeBuild -> 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.DescribeBuild" :: 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 DescribeBuild where
toJSON :: DescribeBuild -> Value
toJSON DescribeBuild' {Text
buildId :: Text
$sel:buildId:DescribeBuild' :: DescribeBuild -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"BuildId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
buildId)]
)
instance Data.ToPath DescribeBuild where
toPath :: DescribeBuild -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeBuild where
toQuery :: DescribeBuild -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeBuildResponse = DescribeBuildResponse'
{
DescribeBuildResponse -> Maybe Build
build :: Prelude.Maybe Build,
DescribeBuildResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeBuildResponse -> DescribeBuildResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeBuildResponse -> DescribeBuildResponse -> Bool
$c/= :: DescribeBuildResponse -> DescribeBuildResponse -> Bool
== :: DescribeBuildResponse -> DescribeBuildResponse -> Bool
$c== :: DescribeBuildResponse -> DescribeBuildResponse -> Bool
Prelude.Eq, ReadPrec [DescribeBuildResponse]
ReadPrec DescribeBuildResponse
Int -> ReadS DescribeBuildResponse
ReadS [DescribeBuildResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeBuildResponse]
$creadListPrec :: ReadPrec [DescribeBuildResponse]
readPrec :: ReadPrec DescribeBuildResponse
$creadPrec :: ReadPrec DescribeBuildResponse
readList :: ReadS [DescribeBuildResponse]
$creadList :: ReadS [DescribeBuildResponse]
readsPrec :: Int -> ReadS DescribeBuildResponse
$creadsPrec :: Int -> ReadS DescribeBuildResponse
Prelude.Read, Int -> DescribeBuildResponse -> ShowS
[DescribeBuildResponse] -> ShowS
DescribeBuildResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeBuildResponse] -> ShowS
$cshowList :: [DescribeBuildResponse] -> ShowS
show :: DescribeBuildResponse -> String
$cshow :: DescribeBuildResponse -> String
showsPrec :: Int -> DescribeBuildResponse -> ShowS
$cshowsPrec :: Int -> DescribeBuildResponse -> ShowS
Prelude.Show, forall x. Rep DescribeBuildResponse x -> DescribeBuildResponse
forall x. DescribeBuildResponse -> Rep DescribeBuildResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeBuildResponse x -> DescribeBuildResponse
$cfrom :: forall x. DescribeBuildResponse -> Rep DescribeBuildResponse x
Prelude.Generic)
newDescribeBuildResponse ::
Prelude.Int ->
DescribeBuildResponse
newDescribeBuildResponse :: Int -> DescribeBuildResponse
newDescribeBuildResponse Int
pHttpStatus_ =
DescribeBuildResponse'
{ $sel:build:DescribeBuildResponse' :: Maybe Build
build = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeBuildResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeBuildResponse_build :: Lens.Lens' DescribeBuildResponse (Prelude.Maybe Build)
describeBuildResponse_build :: Lens' DescribeBuildResponse (Maybe Build)
describeBuildResponse_build = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBuildResponse' {Maybe Build
build :: Maybe Build
$sel:build:DescribeBuildResponse' :: DescribeBuildResponse -> Maybe Build
build} -> Maybe Build
build) (\s :: DescribeBuildResponse
s@DescribeBuildResponse' {} Maybe Build
a -> DescribeBuildResponse
s {$sel:build:DescribeBuildResponse' :: Maybe Build
build = Maybe Build
a} :: DescribeBuildResponse)
describeBuildResponse_httpStatus :: Lens.Lens' DescribeBuildResponse Prelude.Int
describeBuildResponse_httpStatus :: Lens' DescribeBuildResponse Int
describeBuildResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBuildResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeBuildResponse' :: DescribeBuildResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeBuildResponse
s@DescribeBuildResponse' {} Int
a -> DescribeBuildResponse
s {$sel:httpStatus:DescribeBuildResponse' :: Int
httpStatus = Int
a} :: DescribeBuildResponse)
instance Prelude.NFData DescribeBuildResponse where
rnf :: DescribeBuildResponse -> ()
rnf DescribeBuildResponse' {Int
Maybe Build
httpStatus :: Int
build :: Maybe Build
$sel:httpStatus:DescribeBuildResponse' :: DescribeBuildResponse -> Int
$sel:build:DescribeBuildResponse' :: DescribeBuildResponse -> Maybe Build
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Build
build
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus