{-# 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.AppStream.StartImageBuilder
(
StartImageBuilder (..),
newStartImageBuilder,
startImageBuilder_appstreamAgentVersion,
startImageBuilder_name,
StartImageBuilderResponse (..),
newStartImageBuilderResponse,
startImageBuilderResponse_imageBuilder,
startImageBuilderResponse_httpStatus,
)
where
import Amazonka.AppStream.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data StartImageBuilder = StartImageBuilder'
{
StartImageBuilder -> Maybe Text
appstreamAgentVersion :: Prelude.Maybe Prelude.Text,
StartImageBuilder -> Text
name :: Prelude.Text
}
deriving (StartImageBuilder -> StartImageBuilder -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartImageBuilder -> StartImageBuilder -> Bool
$c/= :: StartImageBuilder -> StartImageBuilder -> Bool
== :: StartImageBuilder -> StartImageBuilder -> Bool
$c== :: StartImageBuilder -> StartImageBuilder -> Bool
Prelude.Eq, ReadPrec [StartImageBuilder]
ReadPrec StartImageBuilder
Int -> ReadS StartImageBuilder
ReadS [StartImageBuilder]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartImageBuilder]
$creadListPrec :: ReadPrec [StartImageBuilder]
readPrec :: ReadPrec StartImageBuilder
$creadPrec :: ReadPrec StartImageBuilder
readList :: ReadS [StartImageBuilder]
$creadList :: ReadS [StartImageBuilder]
readsPrec :: Int -> ReadS StartImageBuilder
$creadsPrec :: Int -> ReadS StartImageBuilder
Prelude.Read, Int -> StartImageBuilder -> ShowS
[StartImageBuilder] -> ShowS
StartImageBuilder -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartImageBuilder] -> ShowS
$cshowList :: [StartImageBuilder] -> ShowS
show :: StartImageBuilder -> String
$cshow :: StartImageBuilder -> String
showsPrec :: Int -> StartImageBuilder -> ShowS
$cshowsPrec :: Int -> StartImageBuilder -> ShowS
Prelude.Show, forall x. Rep StartImageBuilder x -> StartImageBuilder
forall x. StartImageBuilder -> Rep StartImageBuilder x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartImageBuilder x -> StartImageBuilder
$cfrom :: forall x. StartImageBuilder -> Rep StartImageBuilder x
Prelude.Generic)
newStartImageBuilder ::
Prelude.Text ->
StartImageBuilder
newStartImageBuilder :: Text -> StartImageBuilder
newStartImageBuilder Text
pName_ =
StartImageBuilder'
{ $sel:appstreamAgentVersion:StartImageBuilder' :: Maybe Text
appstreamAgentVersion =
forall a. Maybe a
Prelude.Nothing,
$sel:name:StartImageBuilder' :: Text
name = Text
pName_
}
startImageBuilder_appstreamAgentVersion :: Lens.Lens' StartImageBuilder (Prelude.Maybe Prelude.Text)
startImageBuilder_appstreamAgentVersion :: Lens' StartImageBuilder (Maybe Text)
startImageBuilder_appstreamAgentVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartImageBuilder' {Maybe Text
appstreamAgentVersion :: Maybe Text
$sel:appstreamAgentVersion:StartImageBuilder' :: StartImageBuilder -> Maybe Text
appstreamAgentVersion} -> Maybe Text
appstreamAgentVersion) (\s :: StartImageBuilder
s@StartImageBuilder' {} Maybe Text
a -> StartImageBuilder
s {$sel:appstreamAgentVersion:StartImageBuilder' :: Maybe Text
appstreamAgentVersion = Maybe Text
a} :: StartImageBuilder)
startImageBuilder_name :: Lens.Lens' StartImageBuilder Prelude.Text
startImageBuilder_name :: Lens' StartImageBuilder Text
startImageBuilder_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartImageBuilder' {Text
name :: Text
$sel:name:StartImageBuilder' :: StartImageBuilder -> Text
name} -> Text
name) (\s :: StartImageBuilder
s@StartImageBuilder' {} Text
a -> StartImageBuilder
s {$sel:name:StartImageBuilder' :: Text
name = Text
a} :: StartImageBuilder)
instance Core.AWSRequest StartImageBuilder where
type
AWSResponse StartImageBuilder =
StartImageBuilderResponse
request :: (Service -> Service)
-> StartImageBuilder -> Request StartImageBuilder
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 StartImageBuilder
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse StartImageBuilder)))
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 ImageBuilder -> Int -> StartImageBuilderResponse
StartImageBuilderResponse'
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
"ImageBuilder")
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 StartImageBuilder where
hashWithSalt :: Int -> StartImageBuilder -> Int
hashWithSalt Int
_salt StartImageBuilder' {Maybe Text
Text
name :: Text
appstreamAgentVersion :: Maybe Text
$sel:name:StartImageBuilder' :: StartImageBuilder -> Text
$sel:appstreamAgentVersion:StartImageBuilder' :: StartImageBuilder -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
appstreamAgentVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
instance Prelude.NFData StartImageBuilder where
rnf :: StartImageBuilder -> ()
rnf StartImageBuilder' {Maybe Text
Text
name :: Text
appstreamAgentVersion :: Maybe Text
$sel:name:StartImageBuilder' :: StartImageBuilder -> Text
$sel:appstreamAgentVersion:StartImageBuilder' :: StartImageBuilder -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
appstreamAgentVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
instance Data.ToHeaders StartImageBuilder where
toHeaders :: StartImageBuilder -> 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
"PhotonAdminProxyService.StartImageBuilder" ::
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 StartImageBuilder where
toJSON :: StartImageBuilder -> Value
toJSON StartImageBuilder' {Maybe Text
Text
name :: Text
appstreamAgentVersion :: Maybe Text
$sel:name:StartImageBuilder' :: StartImageBuilder -> Text
$sel:appstreamAgentVersion:StartImageBuilder' :: StartImageBuilder -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AppstreamAgentVersion" 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 Text
appstreamAgentVersion,
forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name)
]
)
instance Data.ToPath StartImageBuilder where
toPath :: StartImageBuilder -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery StartImageBuilder where
toQuery :: StartImageBuilder -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data StartImageBuilderResponse = StartImageBuilderResponse'
{
StartImageBuilderResponse -> Maybe ImageBuilder
imageBuilder :: Prelude.Maybe ImageBuilder,
StartImageBuilderResponse -> Int
httpStatus :: Prelude.Int
}
deriving (StartImageBuilderResponse -> StartImageBuilderResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartImageBuilderResponse -> StartImageBuilderResponse -> Bool
$c/= :: StartImageBuilderResponse -> StartImageBuilderResponse -> Bool
== :: StartImageBuilderResponse -> StartImageBuilderResponse -> Bool
$c== :: StartImageBuilderResponse -> StartImageBuilderResponse -> Bool
Prelude.Eq, ReadPrec [StartImageBuilderResponse]
ReadPrec StartImageBuilderResponse
Int -> ReadS StartImageBuilderResponse
ReadS [StartImageBuilderResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartImageBuilderResponse]
$creadListPrec :: ReadPrec [StartImageBuilderResponse]
readPrec :: ReadPrec StartImageBuilderResponse
$creadPrec :: ReadPrec StartImageBuilderResponse
readList :: ReadS [StartImageBuilderResponse]
$creadList :: ReadS [StartImageBuilderResponse]
readsPrec :: Int -> ReadS StartImageBuilderResponse
$creadsPrec :: Int -> ReadS StartImageBuilderResponse
Prelude.Read, Int -> StartImageBuilderResponse -> ShowS
[StartImageBuilderResponse] -> ShowS
StartImageBuilderResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartImageBuilderResponse] -> ShowS
$cshowList :: [StartImageBuilderResponse] -> ShowS
show :: StartImageBuilderResponse -> String
$cshow :: StartImageBuilderResponse -> String
showsPrec :: Int -> StartImageBuilderResponse -> ShowS
$cshowsPrec :: Int -> StartImageBuilderResponse -> ShowS
Prelude.Show, forall x.
Rep StartImageBuilderResponse x -> StartImageBuilderResponse
forall x.
StartImageBuilderResponse -> Rep StartImageBuilderResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartImageBuilderResponse x -> StartImageBuilderResponse
$cfrom :: forall x.
StartImageBuilderResponse -> Rep StartImageBuilderResponse x
Prelude.Generic)
newStartImageBuilderResponse ::
Prelude.Int ->
StartImageBuilderResponse
newStartImageBuilderResponse :: Int -> StartImageBuilderResponse
newStartImageBuilderResponse Int
pHttpStatus_ =
StartImageBuilderResponse'
{ $sel:imageBuilder:StartImageBuilderResponse' :: Maybe ImageBuilder
imageBuilder =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:StartImageBuilderResponse' :: Int
httpStatus = Int
pHttpStatus_
}
startImageBuilderResponse_imageBuilder :: Lens.Lens' StartImageBuilderResponse (Prelude.Maybe ImageBuilder)
startImageBuilderResponse_imageBuilder :: Lens' StartImageBuilderResponse (Maybe ImageBuilder)
startImageBuilderResponse_imageBuilder = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartImageBuilderResponse' {Maybe ImageBuilder
imageBuilder :: Maybe ImageBuilder
$sel:imageBuilder:StartImageBuilderResponse' :: StartImageBuilderResponse -> Maybe ImageBuilder
imageBuilder} -> Maybe ImageBuilder
imageBuilder) (\s :: StartImageBuilderResponse
s@StartImageBuilderResponse' {} Maybe ImageBuilder
a -> StartImageBuilderResponse
s {$sel:imageBuilder:StartImageBuilderResponse' :: Maybe ImageBuilder
imageBuilder = Maybe ImageBuilder
a} :: StartImageBuilderResponse)
startImageBuilderResponse_httpStatus :: Lens.Lens' StartImageBuilderResponse Prelude.Int
startImageBuilderResponse_httpStatus :: Lens' StartImageBuilderResponse Int
startImageBuilderResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartImageBuilderResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartImageBuilderResponse' :: StartImageBuilderResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartImageBuilderResponse
s@StartImageBuilderResponse' {} Int
a -> StartImageBuilderResponse
s {$sel:httpStatus:StartImageBuilderResponse' :: Int
httpStatus = Int
a} :: StartImageBuilderResponse)
instance Prelude.NFData StartImageBuilderResponse where
rnf :: StartImageBuilderResponse -> ()
rnf StartImageBuilderResponse' {Int
Maybe ImageBuilder
httpStatus :: Int
imageBuilder :: Maybe ImageBuilder
$sel:httpStatus:StartImageBuilderResponse' :: StartImageBuilderResponse -> Int
$sel:imageBuilder:StartImageBuilderResponse' :: StartImageBuilderResponse -> Maybe ImageBuilder
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ImageBuilder
imageBuilder
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus